截止2021/5/8 :
目前可以看到的是,有一个 OneBot 聊天机器人的标准协议,以及在该协议或者其他三方协议下实现的一些机器人框架,具体情况可以从github搜关键词了解到。
今天捣鼓了一下,给出两种搭建策略,本人均测试通过。个人推荐第二种。建议你要有点 基本知识。
第一种:
我才采用的协议是:mirai 家的,mirai 是一个在全平台下运行,提供 QQ Android 协议支持的高效率机器人库
声明:一切开发旨在学习,请勿用于非法用途
介绍我自己在CentOS下的安装:
- 首先去下一个 对应版本的文件。我是amd64 的机器,下载地址
- 然后给运行权限
sudo chmod +x 运行文件
。 - 然后 ./运行文件 ,一路安装就行,这里可能遇到 glibc 的版本问题,百度一下就好了,都比较简单。

到绿色信息这就安装完成了。再安装一下官方提供的两个插件:
./mcl --update-package net.mamoe:mirai-api-http --type plugin --channel stable
- chat-command: 允许在聊天环境通过以 "/" 起始的消息执行指令
- mirai-api-http:提供 HTTP 支持,允许使用其他编程语言的插件
接下来你就可以使用 ./mcl 命令了,一些命令说明看官方。或者 ./mcl -h
,主要用于外部设置比如装插件啥的
./mcl 的话可以进入机器人的控制台,可以输入 ? 来查看使用,常用命令看 文档。
login qq号 密码
就可以登录了。
一些推荐的插件:
比如:https://github.com/Yiwen-Chan/ZeroBot-Plugin
ZeroBot-Plugin 的编译安装:
(这个插件建议手动编译,不然很容易遇到 glibc 的问题,
ZeroBot-Plugin 编译:
先下载适配 mirai 的http插件:https://github.com/yyuueexxiinngg/onebot-kotlin ,在release 找到 mirai 插件版 下载,按说明放合适的位置。运行一次./mcl ,会生成对应配置文件,修改配置文件之后,在运行 ./mcl
linux build.bat 最后改为 go build -ldflags="-s -w" -o ZeroBot-Plugin-linux
修改main.go 的SuperUsers qq号
在运行 build 脚本
编译好后发现 ws 连不上,因为mirai 接口不标准,作者给出了解决办法:https://github.com/Yiwen-Chan/ZeroBot-Plugin/issues/18#issuecomment-835278461
常见问题:
- 当前上网环境异常,请更换网络环境或在常用设备上登录或稍后再试
我是在 linux 上遇到这个问题的,来说一下解决方案。
首先用一台 windows 的同样安装命令行版本。下载。
需要验证码,滑动什么的看这个,地址。
在 MiraiConsole 中使用
使用 Mirai Console Loader 安装
Mirai login solver selenium
MCL
支持自动更新插件,支持设置插件更新频道等功能
./mcl --update-package net.mamoe:mirai-login-solver-selenium --channel nightly --type plugin
我是在winddows 上扫码登录,过的新设备登录验证。
那么登录成功之后就能在目录 /bots/登录qq/ 目录下生成 device.json 文件,这个就是模拟安卓协议的登录手机信息。把这个文件替换 linux 对应目录下的就行了。linux也能正常登录了。
2. linux 下如何后台运行
查看:https://www.cnblogs.com/Steven0805/p/7521719.html
比较简单的一种是你正在运行 ./mcl ,这个时候不想退出,又想放到后台。
那么可以i先按 Ctrl +Z
把程序暂停,然后 输入 jobs 查看后台暂停的程序,第一个是编号,比如让编号1 的程序继续运行,可以输入 bg 1,要进去的话 输入 fg 1

第二种:
采用 go-cqhttp ,好家伙一开始不知道这玩意,由于go语言的好处,都是一个文件,干就完事了~
好用多了,首先去github release 下载 windows 版本,先在本地登录成功,然后下载linux 版本放服务器,再把 windows 下的 device.json , 拷贝到 linux 上就能登录不需要验证了。
然后再去下载 https://github.com/Yiwen-Chan/ZeroBot-Plugin ,编译一次成功,简直不要太快乐。编译可以看上面第一种。