Go语言go-cqhttp搭建QQ机器人教程
前言
使用 mirai QQ机器人框架以及 MiraiGo开发的 cqhttp golang 原生实现, 并在 cqhttp 原版的基础上做了部分修改和拓展。
他的好处是支持linux和Windows,而且在使用上很省内存
在关闭数据库的情况下, 加载 25 个好友 128 个群运行 24 小时后内存使用为 10MB 左右. 开启数据库后内存使用将根据消息量增加 10-20MB , 如果系统内存小于 128M 建议关闭数据库使用。
兼容性
接口
HTTP API
反向HTTP POST
正向WebSocket
反向WebSocket
拓展支持
HTTP POST多点上报
反向WS多点连接
修改群名
消息撤回事件
解析/发送 回复消息
解析/发送 合并转发
使用代理请求网络图片
下载安装使用
在github上下载最新的版本go-cqhttp,根据你的系统选择下载安装包
系统类型 | 可执行文件 | 压缩文件 |
---|---|---|
Intel 版 Macos | Not available | go-cqhttp_darwin_amd64.tar.gz |
M1 版 Macos | Not available | go-cqhttp_darwin_arm64.tar.gz |
32 位 Linux | Not available | go-cqhttp_linux_386.tar.gz |
64 位 Linux | Not available | go-cqhttp_linux_amd64.tar.gz |
arm64 Linux | Not available | go-cqhttp_linux_arm64.tar.gz |
armv7 Linux | Not available | go-cqhttp_linux_armv7.tar.gz |
32 位 Windows | go-cqhttp_windows_386.exe |
go-cqhttp_windows_386.zip |
64 位 Windows | go-cqhttp_windows_amd64.exe |
go-cqhttp_windows_amd64.zip |
arm64 Windows | go-cqhttp_windows_arm64.exe |
go-cqhttp_windows_arm64.zip |
armv7 Windows | go-cqhttp_windows_armv7.exe |
go-cqhttp_windows_armv7.zip |
解压安装设置并登录机器人QQ
Windows就不用多说了,要么解压zip,要么直接点击exe安装(这你都不会就直接狗带)
Linux下就是在你下载的目录,或者cd到你的安装包目录 tar -xzvf [安装包名]
解压后cd到解压的目录里执行ssh命令./go-cqhttp
1.Windows/Linux安装或者解压后第一次安装会生成几个文件其中
1.config.yml
–这个文件是重点初始设置对象设置QQ 和 QQ密码
# go-cqhttp 默认配置文件
account: # 账号相关
uin: # QQ账号
password: '' # 密码为空时使用扫码登录
encrypt: false # 是否开启密码加密
status: 0 # 在线状态 请参考 https://docs.go-cqhttp.org/guide/config.html#在线状态
relogin: # 重连设置
delay: 3 # 首次重连延迟, 单位秒
interval: 3 # 重连间隔
max-times: 0 # 最大重连次数, 0为无限制
设置好后可以重启go-cqhttp
2.第一次登录因为异地需要验证,可以选择手机验证码或者扫码登录
1.Windows是使用dos控制台的,默认会有个go-cqhttp.bat打开,输入go-cqhttp_windows_**.exe ,或者自己dos下cd到目录输入也可以
2.Linux依然是./go-cqhttp ssh命令,ssh启动后需要加上后台守护进程,不然关闭ssh机器人就下线了
2-1.使用PM2守护进程:
nohup ./go-cqhttp
pm2 start ./go-cqhttp --name="go-cqhttp"
pm2 save
pm2 startup
2-2.如果你有安装宝塔,那就可以面板上使用Supervisor管理器守护进程
名称:go-cqhttp
路径:你的解压路径
命令:./go-cqhttp
//然后保存设置启动就可以了
测试功能
http通信设置在
config.yml
中设置文档中有详细的说明
1.如果你是本地服务器测试,并且没有更改默认端口的话
//浏览器访问下面网址,测试使用机器人QQ发送消息给好友
http://127.0.0.1:5700/send_private_msg?user_id=接收消息的好友QQ号码&message=这里输入发送的信息内容
执行成功会返回一段响应数据{"data":{"message_id":xxxx},"retcode":0,"status":"ok"} 说明发送成功了
//给qq群发送消息测试,成功同样会返回上面一样的数据"status":"ok"
http://127.0.0.1:5700/send_group_msg?group_id=接收消息QQ群号&message=这里输入发送的信息内容
到这里,已经完成了go-cqhttp的基础设置和功能测试了,如果是你会python 或者php等等之类语言,你就可以通过api实现很多网页版功能
例如:
1.我们现在常用的WordPress有人评论的时候qq机器人给你qq发消息通知
2.健康网站的可用性,如果宕机/恢复,QQ机器人给你QQ发消息通知
3.订阅网站通过QQ机器人发到QQ或者QQ群里
… 等等好多都可以通过网站配合去实现完成可玩性很高的QQ机器人
go-cqhttp相关文档在此:
https://docs.go-cqhttp.org/
共有 2 条评论