Wechaty|NodeJS基于wechaty-puppet-hostie协议手撸一个企业级微信机器人助手

目前所在企业是一家创新型汽车后市场互联网科技有限公司,拓展汽车后市场B2C、B2B和O2O业务。

前期打造链接线家自营大型汽车专业维修中心,12家自营汽车配件、汽保设备销售中心,3000余家加盟汽修、汽配企业及10余万个人客户的服务平台;

由于客户维系和供应商咨询等都是基于微信群聊的。每天要在成百上千的群聊中提供服务。需要实时在群内产品报价,车架号识别,图片识别,关键字反馈。数据推送等等功能。这样的需求情况下,人力成本是巨大的。

而我作为一名前端开发工程师,平时也喜欢写技术博客和交朋友,为此我也创建了微信技术交流群和微信公众号,一般我都会在文章下面贴出公众号和我的个人二维码,给有兴趣的小伙伴们添加微信然后我再拉他们进群这些,但是不停的同意微信好友验证,再发送群邀请真的是太痛苦了,相信很多做公众号的小伙伴都和我一样,作为一名开发,这种重复劳动是绝对不能忍受的基于这种情况和公司业务情况,调研发现了并了解到了wechaty,发现其提供的功能能够覆盖到企业和个人微信,并且能够自己定制化开发符合自己需求的功能。

微信个人号功能非常强大和灵活,是一个非常适合用来做ChatBot的载体。它可以灵活不受限制的发送语音短信、视频、图片和文字,支持多人群聊。但是使用微信个人微信号作为ChatBot,需要通过非官方的第三方库接入微信。因为截至2018年底,微信尚无任何官方的ChatBot API发布。

在GitHub上可以找到很多支持微信个人号接入的第三方类库,其中大多都是基于Web Wechat的API来实现的,如基于Python的WeixinBot,基于Node.js的Wechaty等。少数支持非Web协议的库,大多是商业私有闭源的,Wechaty是少有的开源项目支持非Web协议的类库。

只需要6行代码,你就可以 通过个人号 搭建一个 微信机器人功能 ,用来自动管理微信消息。

消息处理:关键词回复群管理:自动入群,拉人,踢人自动处理好友请求智能对话:通过简单配置,即可加入智能对话系统,完成指定任务… 请自行开脑洞所有你能想到的交互模式。在微信上都有实现的可能。每日定时拉取天气预报。

200/月的费用,如果你是个人开发可能会斟酌一二。但是你可以通过社区申请一个长达15天的免费token来尝试使用和开发一个小型机器人,从而决定你是否需要购买使用。

关于申请的地址我放在了这里Wechaty Token 申请及使用文档和常见问题

因为say()方法会在多处调用,并且要根据不同的消息类型发送的内容做出不同的数据处理。大家以后也会遇到,因此这里将我封装的一个say方法展示给大家用于参考

— 根据关键词,输入车辆 VIN 对应反馈出车型配件信息,并且将公司所在群区域的店铺配件库存信息反馈出来

根据图片识别车辆 VIN,然后识别 VIN 对应反馈出车型配件信息,并且将公司所在群区域的店铺配件库存信息反馈出来,图片解释接口采用的百度的接口关键词指令绑定群信息。根据不同指令进行群配置。redis 存储机器人信息。将群信息存储并同步在 redis 和 mysql 中。后台配置对应群是否开启某些功能等等。每月月初定时发送每个群的采购信息。销量信息等等。机器人登录调用钉钉接口,在钉钉群内发布机器人登录或者退出的提醒信息群邀请自动通过,入群以后做出相应数据存储逻辑判断功能设置等好友申请自动通过,关键字申请自动邀请入不同的群,功能覆盖等等等等功能。以上功能支持还在不断开发和摸索中。但已经满足目前我们的业务需求。最后

你如果想用我这些东西,拉下代码config.js里换下token和一些配置信息就可以,当然我在不停更新,功能会越来越多,所以仓库中代码和文中会有些不一样,使用时简单看下代码,都写了详细注释,也很简单,但是因为代码中很多地方涉及到来企业敏感信息。我只好重新写来一份最小可执行的demo,大家仅供参考。

发表回复

您的电子邮箱地址不会被公开。