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/

    版权声明:
    作者:Leapteam
    链接:https://blog.xwyue.com/856.html
    来源:星跃博客
    文章版权归作者所有,未经允许请勿转载。

    THE END
    分享
    二维码
    打赏
    < <上一篇
    下一篇>>