今天加入了一组ctrl,用来控制bot用的,譬如加入group、channel等。
这样对原有结构需要有一点调整,需要有一个持续的ctrl侦听。
后期会考虑将chat并进来。
今天处理加入channel时,突然发现我查的api错了,我查的不是bot api,所以能找到joinchannel接口,其实telegram的bot来说,这些接口都没有,它设计上其实就简化了bot的操作,加入群组加入频道,都是由拥有者(群组owner或频道owner)决策的。
其实这个设计挺好的。
coolq分为 air 和 pro 2个版本,pro是付费的,按月付费。
pro多了图片的收发。
coolq发图片是要求图片放在data/image里面,然后通过CQ码用文件路径发图片。
官网说air就能收图片,但我不知道怎么能收到图片,data目录下也没找到,coolqhttp消息我也没找到文件名。
然后就是红包什么的也没支持。
感觉coolq比还是比官方功能少很多,coolq只能是一个缺少功能的版本,后面有时间,还是得自己写一个才行。
今天把coolq部署用的shell脚本放到coolq目录了。
docker方式部署的,可以直接在linux下部署。
如果部署在一台服务器,建议用link方式,这样可以避免暴露端口出去。
接下来开始v0.3
的开发了。
计划功能如下:
- 增加一组底层command接口。
- 增加多app账号链接。
CoolQ建议用websocket,不用配置post_url。
今天把CoolQBot和CoolQ对接的流程调通了,能收到消息了。
CoolQ走的是Android版,所以不能和手机同时登陆。
昨天提到登陆认证的问题,只要先用手机登录一次,绑定手机号,开启设备锁,第一次coolq登录输入短信验证码,后面应该就不用折腾安全检查了。
今天开始CoolQ的对接开发了。
CoolQ的部署其实还好,官方有个Docker,但因为我们会需要chatbot,后来发现coolqhttp官方也有个Docker,基本上就是用的那个。
然后选了官方推荐的一个golang库,接口和telegrambot一致。
QQ登录时好像会有安全检查,这个其实比较麻烦,好像每次登陆都会需要要不就发短信要不就手机QQ扫码这样的。
只有再多试试看了。
今天把telegrambot
发布到dockerhub
了。
这部分后面本来就不需要任何的编码,部署起来会简单一些。
最近花了点时间,基本上把ChatBot调通了。
相对前一个版本,这个版本结构更清晰。
- 将ChatBot内核剥离出来,用来搭配多个聊天App进程,这样一方面系统耦合度更低,一方面能跨聊天App。
- 结构优化,将Command和Plugin梳理得更清楚,Command率属于CmdPlugin的实现。
- 从plugin里剥离了文件处理,整合成一个独立的系统级文件处理plugin。
- 将以前的双向流改成单向流,这样业务逻辑层编码更简洁,上层业务逻辑可以不用考虑具体数据传递的细节。
- 增加了对多语言的支持。
- 增加了统一的chatbot调试插件。
接下来开始v0.2
的开发工作。
计划改进如下:
- 支持QQ
- 对接聊天工具的进程可以完全不需要编码
- 支持DockerHub
这一版的ChatBot,将AppServ和ChatBot内核分离,而且支持同一个App的多个账号。
后面ChatBot内核肯定也是能水平扩展的(多开)。
核心模块还是插件体系。
核心协议还是grpc
。