基于wechaty的机器人快速搭建
读前提醒:本文部分内容已不具备时效性,新方案可参考V-ger 2.0
1 背景:
随着微信的封闭性加强和对广告、营销机器人的打压,微信机器人的市场逐渐萎靡,经过一段时间的网络调研,发现之前的微信开源机器人大多基于微信Web开发,这种协议如今功能限制多多,基本不再适用。诸如ItChat 截至2020/09/08 已有20.8k个Satr)之类的项目可用性都已经比较低了。
当然除了Web协议外,其实还有很多基于其他协议的微信机器人,只不过大部分是收费的。其中WechatPCAPI是基于微信PC版做的API接口,分为免费版和收费版,具体情况不太了解,感兴趣的可以试试。除此之外还有主要基于ipad协议的微控管家,只有收费版本,如果有公司存在需求的也可以考虑。
基于Ipad协议的机器人据说稳定性和安全性都比较高,具体原因本人没有深入了解,如果有人比较了解可以解疑答惑一下~不过本人倒是也顺便搜到了相关的ipad协议文档,感谢DOCWAY的无私分享(内容时效性待确定)。
2 Wechaty模块简介:
基本背景调研后,本人还是选择了wechaty,wechaty支持多语言+多协议+多平台,缺点是底层主要基于Node开发,因此其他语言的相关文档还需要逐步完善,此外需要申请一个token才能用,试用期15天,如果希望长期试用需要进一步为生态做贡献~
官方介绍:Wechaty is a Conversational SDK for Chatbot Makers which can help you create a bot in 6 lines ofJavaScript,Python,Go, andJava, with cross-platform support including Linux, Windows, MacOS, and Docker.
3 Wechaty Puppet Hostie部署
文章后记
第一代的聊天机器人开发,大概是在2020年9月初 之后的一个月又开发了很多有趣的小功能 但好景不长,后来因为一次服务器事故,导致了代码的全部丢失。。。
值此一年之际(笔者回顾时间为2019-09-01)
再根据记忆和聊天记录大致整理了一番
1 wechaty社区
目前的官方生态社区相比于一年前活跃了很多 也涌现了很多优秀的交流实战的文章 这对于进一步探索wechaty的潜力提供了很大的帮助
2 功能总结
本人开发的机器人主要包含三个功能:
- 自动添加好友功能
- 自由聊天功能:私聊时自动触发,群里需要关键词-机器人名称触发)
- 特定基础功能:需要相关功能的关键词触发
关键词触发:
- 主要通过正则表达式触发规则
- 触发后将路由到特定函数进行处理,并返回文本或图片
自由聊天
- 以gpt2模型为基础,本地训练xxx天后具备一定聊天能力
- 理论上具备在线学习的能力,但是当时好像还没实现
- 会考虑聊天记录前n条的信息,确保前后逻辑的一致性
- 实际效果很智障,容易因为自身的前n条回复陷入恶性循环
基本功能包括:自我介绍//功能介绍
文本类功能包括:彩虹屁//土味情话//每日一语//舔狗日记//轻松一刻
媒体类功能包括:吸猫//吸狗//吸狐狸//表情包
查询类功能包括:垃圾分类//空气质量//星座运势//查询天气
进阶类功能包括:性别推测//对联
需要特别说明的是,以上的功能当时都是基于开源的代码或者API实现的
3 聊天截图
正常聊天:
文本类功能:
媒体类功能:
垃圾分类:
自我介绍和功能介绍
对联
2022年12月6日,趁着近日ChatGPT比较火,再加上itchat凭借着uos的复活。尝试围绕itchat和ChatGPT的接口打造一个V-ger 2.0:基于ChatGPT的微信聊天机器人:V-ger 2.0