使用 go-cqhttp 在龙芯和其他平台搭建qq机器人

写在前面

企鹅干的所有事情大家都非常清楚,也没必要多说了。

当无产阶级不再思考资产阶级本身的合理性,而将反对的目标局限于某几个资本家的时候,说明资本主义已经成功了。

CoolQ已经停止服务,所有疫情期间做出的努力在资本家的无情打击下显得渺小而不值一提,不得已而迁移。得益于AGPL协议的授权,Mirai成为唯一的救命稻草。考虑到仓库随时可以删除,我提前fork了和Mirai相关的所有仓库。(现在Mirai又恢复开发了)

最初关注Mirai是希望能在龙芯的机器上搭建QQ机器人,但是显然Mirai太复杂,文档匮乏,自动部署的工具又用了太多平台依赖性比较强的东西。最后发现了MiraiGo,这是qq-android协议的golang实现,移植于mirai,关于龙芯和golang的前世和今生,可以看大佬的文章。于是我选择了go-cqhttp,这是在MiraiGo基础上实现的,兼容并扩展了cqhttp的很棒的项目。

从CoolQ迁移

完全不能叫迁移,之前是用的coolq的c++ sdk开发原生插件,如今改用http,最终我学着用python重构,顺便学了个tcp手动实现http的post和get。虽然代码很难看,也算是为龙芯贡献了个又不是不能用的东西。

我给它取名叫小白hakuBot,用AGPL发布。小白永远也不会考虑在Windows下的兼容性。

使用go-cqhttp

几乎没啥技术含量,从release下载最新的适合自己平台的版本, chmod +x go-cqhttp ,直接运行即可。龙芯平台上需要自己编译,由于需要最新版的golang,建议在别的机子上交叉编译之:

git clone https://github.com/Mrs4s/go-cqhttp.git
cd go-cqhttp
export GOPROXY="https://goproxy.io"
CGO_ENABLED=0 GOOS=linux GOARCH=mips64le go build

也可以下载我编译好的mips64le二进制 于此

它会自动生成配置文件,主要编辑 config.jsonuid 是登陆的QQ号, password 是密码。我们用http协议所以只要enable http_config 即可。

配置hakuBot

hakuBot则只要配置 hakuCore/config.py 即可。 HOST 对应go-cqhttp "host"RECEIVEPORT 对应go-cqhttp "post_urls" 的端口; SENDPORT 对应go-cqhttp "port"TIKEN 对应go-cqhttp的 "access_token"

python3 main.py 运行,也可以通过脚本 ./haku.sh 运行。

其他

若在远程服务器上运行需要用 screen 等工具把两个程序挂在后台。

hakuBot依然非常不成熟,只有简单的多线程,你能想到的能提升性能的东西它都没有,只能在流量极小的环境将就玩玩。如果想在这个基础上改进和增加更多的功能,可以来仓库瞅瞅。

版权声明:本文文字内容使用 CC BY-SA 4.0 协议发布

by SDUST weilinfox

本文地址 https://www.cnblogs.com/weilinfox/p/13466407.html

偷偷放上一个学长的文章

posted @ 2020-08-09 21:14  八衛門狸  阅读(2840)  评论(0编辑  收藏