快速部署QQbot
前言
在阅读本文章前,请先查看相关论坛,以便对目前的QQbot架构有个初步的了解:
https://github.com/Mrs4s/go-cqhttp/issues/2471
https://github.com/Hanb1ng/chronocat
简单介绍
目前的QQbot分为官方和和非官方的方案。
官方方案优点:稳定不会封号,缺点:支持功能少,需要审核申请麻烦。部分功能需要注册企业号才能使用(需要营业执照和对公账户)
非官方账号:灵活,功能多,社区丰富。缺点:可能被腾讯风控,封号警告
特别声明:请不要在哔哩哔哩等主流平台宣传非官方机器人、不要滥用机器人。
项目推荐
非官方机器人的架构:无头QQ客户端收发QQ消息 + 机器人后端进行消息处理
QQNT协议库
推荐一下项目,用法看项目文档,不过多介绍。(请低调使用非官方机器人,不要滥用!!!)
LLOneBot(建议使用)
https://github.com/LLOneBot/LLOneBot
Linux平台没有GUI 可以用:
https://github.com/NapNeko/NapCatQQ
Shamork +安卓客户端(已归档)
https://whitechi73.github.io/OpenShamrock/
部署机器人后端
机器人后端的项目,百花齐放。最有名的应该是Yunzai之类的。Python的比较多
推荐一下 :Gensokyo框架,开发者有代部署服务
下面主要介绍ZBP项目:
https://github.com/FloatTech/ZeroBot-Plugin
部署方式:
releases 页面有打包好的二进制。
开发环境的话之间 git clone就能用了,稳定里有一些步骤,这里就不过多介绍了。
配置文件编写:
为了和QQ客户端进行通信,需要修改WS的地址/端口,下面介绍开发环境和生产环境的修改方式。
开发环境
开发环境直接写死到代码里:
adana:机器人名字,监测到俩天消息里有机器人名字,会进行主动回应。椛椛是默认的名字。
url:与QQ客户端通信的正向WS地址,需要和QQ客户端设置的端口一致
sus:sup user 一些控制命令只有管理员能用
// 直接写死 AccessToken 时,请更改下面第二个参数
token := flag.String("t", "", "Set AccessToken of WSClient.")
// 直接写死 URL 时,请更改下面第二个参数
url := flag.String("u", "ws://127.0.0.1:8081", "Set Url of WSClient.")
// 默认昵称
adana := flag.String("n", "椛椛", "Set default nickname.")
prefix := flag.String("p", "/", "Set command prefix.")
// 通过代码写死的方式添加主人账号
// sus = append(sus, 12345678)
// sus = append(sus, 87654321)
生产环境
和开发环境同理,启动时使用 -c
参数指定配置文件位置。
{
"zero":{
"nickname":[
"椛椛",
],
"command_prefix":"/",
"super_users":[
123456789,
98765431
]
},
"ws":[
{
"Url":"ws://127.0.0.1:8081",
"AccessToken":""
}
]
}