想做一些自动化工具,调研一下聊天机器人
step 1. 魔改 IM, 以便能通过 API 调 IM 收发消息
魔改 qq
go-cqhttp
https://github.com/Mrs4s/go-cqhttp
go-cqhttp + NoneBot 2 教程:
https://yzyyz.top/archives/nb2b1.html
酷q
好像已经凉了
https://www.bilibili.com/video/BV1sx41127nw?spm_id_from=333.337.search-card.all.click
酷q+ 图灵机器人教程
https://www.bilibili.com/video/BV15b411J7eF?spm_id_from=333.337.search-card.all.click
魔改钉钉?
钉钉自带机器人,但是有各种乱七八糟限制,如果能魔改钉钉、把普通账号当机器人用,就可以绕过限制,会方便很多,比如可以做“防撤回”之类的功能。
待调研。暂时没搜到。
只查到一篇技术分享 https://678234.xyz/2021/01/21/DingTalk-mod/
微信
企业微信的群机器人
企业微信的群机器人也有很多限制。
https://markdowner.net/article/227905711496462337
魔改微信
通过 hook 客户端实现;
或者抓包分析、然后开发一个伪装成正常客户端的客户端,调接口和微信服务器通信
微信群机器人是怎么实现的? - 创业路上的回答 - 知乎
https://www.zhihu.com/question/46891356/answer/1768554855
微信群机器人是怎么实现的? - 红枣源码的回答 - 知乎
https://www.zhihu.com/question/46891356/answer/1215189029
wechaty
https://github.com/wechaty/wechaty
https://www.xilou.site/wechaty/
https://zhuanlan.zhihu.com/p/32203349
https://wechaty.github.io/chatbot-1-to-2/docs/basic/basic-wechaty
本来只是用来魔改微信、方便通过 API 操作微信的工具,后来越做越大,功能越来越多,现在有对接各种对话服务的插件, 也能对接各种 IM 。
架构
值得一提的是,通过把各种 IM 封装成 puppet(傀儡)、暴露出统一的 gRPC service , 实现了可移植性、多语言支持。
而 Puppet,翻译是叫作傀儡,我们可以理解为一层中间件。
前文说到的 Hook,就是在这一层。开发人员把 Hook 之后的成果,进行封装,便成了 Puppet。
整个系统通信交互过程是这样的,平时我们在 Wechaty 本体中,可以用多语言写相应的交互逻辑代码,Wechaty 本体负责和 Puppet 通信,而 Puppet 负责和 IMs 通信。
Puppet 起到了中间件的作用,屏蔽了 Wechaty 和 IMs 具体的通信过程,普通使用者只需要写相应的交互逻辑代码即可。并且在使用多语言版本 Wechaty 时,不需要用各自的语言去再 Hook 一遍。
目前 Puppet 也支持多版本,比如网页版,iPad,Windows 等等。大家在使用时,可以随意切换通信协议。但是目前除了网页版外,其他版本的 Puppet 都要钱。
而 IMs,前文说到,如今的 Wechaty 已将目光放在所有即时通信工具上。现在打开 Wechaty 的官方仓库,可以看到 Wechaty 已经实现了 Whatapps,飞书,Gitter,钉钉的聊天机器人。
视频教程
https://www.bilibili.com/video/BV1LV411r756?spm_id_from=333.337.search-card.all.click
wechaty+ 微信对话开放平台 开发一个微信助理,能:
- 回复准备好的文案;
- 能帮群友答疑(需要手动在微信对话开放平台录入问答)
微信对话开放平台能帮你把录入的问答进行泛化。
不过感觉录入还是比较麻烦,要是能机器人帮忙搜索问答、QA记录就更好了。 - 解答不了的会帮忙艾特boss;
- 能识别群友情绪、拉小群沟通
一些有趣的案例
- 开源社的微信机器人项目
-
智能微秘书-插件版
koa与wechaty实现的微信小助手,可定时提醒与发消息设定定时任务 - Wechaty Pay - 让线上没有难做的生意
- 自动拉人入群,突破群人数限制
要花钱
从2018年开始,web api 无法创建群聊和自动拉人入群。
解决方案: 第三方提供了非web协议的 Puppet 解决方案,点击购买token , 更多技术细节查看 wechaty-puppet-padchat
https://github.com/wechaty/wechaty/issues/1697
https://wechaty.gitbook.io/wechaty/v/zh/#web-limit-1
- 科幻小游戏,搭配 lbs,ar 等技术
https://www.bilibili.com/video/BV1hL411E79M?spm_id_from=333.337.search-card.all.click
https://github.com/kevinfu1717/SuperInterstellarTerminal
https://www.bilibili.com/video/BV1bK4y1d7mK?spm_id_from=333.337.search-card.all.click
step 2. 搭建对话系统
开源项目
NoneBot 2
可以对接各种IM,比如对接 qq 就是开一个 魔改版qq (go-cqhttp)、并登陆,让 NoneBot 2 和这个魔改版qq通信就能作为机器人收发消息。
https://yzyyz.top/archives/nb2b1.html
简单粗暴来说,gocq就是一个QQ,即你需要用它来登录,接收消息,发送消息;而nb则用来实现机器人的各种功能。
如下是他们的项目地址,记得去点个star哦~
nb:https://github.com/nonebot/nonebot2
gocq:https://github.com/Mrs4s/go-cqhttp
资料
https://github.com/nonebot/awesome-nonebot
video
https://www.bilibili.com/video/BV1aZ4y1f7e2?p=1
云服务
各种云厂商有提供
image.png白嫖别人的闲聊机器人
比如:
image.png
比如:
image.png
https://www.zhihu.com/question/28283196/answer/42177014
再比如"帮群友搜索"
https://www.bilibili.com/video/BV1jr4y1679o/?spm_id_from=autoNext
图灵机器人
懒得做集成?找一些开箱即用项目
有一些项目是做好了集成,开箱即用
需要自己部署的开源项目
比如:
-
Omega Miya
基于 Nonebot2 的 qq 机器人
https://github.com/Ailitonia/omega-miya -
原神机器人: 小派蒙|LittlePaimon
https://github.com/CMHopeSunshine/LittlePaimon
https://www.bilibili.com/video/BV1ib4y1p7QE/?spm_id_from=333.788.recommend_more_video.0 -
找一些实用的 wechaty 机器人,用上
无代码,通过配置创建一个 h5/pc web机器人
之前工作做过这种,但没开源。
- 微信对话开放平台
创建出来的机器人前端不能在微信私聊/群聊沟通;但是能暴露 api ,因此可以结合 wechaty 做微信机器人。
https://developers.weixin.qq.com/doc/aispeech/platform/INTRODUCTION.html
开发者及非开发者可简单、快速地搭建智能对话机器人(智能客服),并接入公众号、小程序等,为业务赋能,降本增效。
-
图灵机器人 :
网友评论