使用go-cqhttp搭建QQ机器人

本文档详细介绍了如何使用Go-cqhttp搭建QQ机器人,包括环境配置、配置文件设置、消息监听与回复,以及代码整合。通过Python的Flask库创建监听程序,实现对QQ消息的响应和处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用go-cqhttp搭建QQ机器人

序言

go-cqhttp是基于 Mirai 以及 MiraiGo 的 OneBot Golang 原生实现(此句照搬文档)
个人使用(不知道是不是只能使用)Python语言进行编写,仅供教程,不做完全分享
官方文档地址
github项目地址

安装环境

Python语言环境配置下载Python
勾选Add python.exe to PATH
要勾选Add python.exe to PATH
点击Next

勾选Add Python to environment variables
Install
安装完毕后Win + R打开运行输入cmd
键入Python

如上图所示即为安装成功

配置项目

下载go-cqhttp.exe后,双击运行,无视弹窗内容直接确定(因为要用运行完exe生成的bat来启动exe才是正确启动),三次确定后出现go-cqhttp.bat,双击运行。

配置config.yml(客户端信息)

选择HTTP通信,提示退出,打开config.yml
账号密码可不配置,拉到最下面

修改为以下内容

//可将从server部分完全替换
servers:
  # 添加方式,同一连接方式可添加多个,具体配置说明请查看文档
  #- http: # http 通信
  #- ws:   # 正向 Websocket
  #- ws-reverse: # 反向 Websocket
  #- pprof: #性能分析服务器

  - http: # HTTP 通信设置
      address: 0.0.0.0:5700 # HTTP监听地址
      timeout: 5      # 反向 HTTP 超时时间, 单位秒,<5 时将被忽略
      long-polling:   # 长轮询拓展
        enabled: false       # 是否开启
        max-queue-size: 2000 # 消息队列大小,0 表示不限制队列大小,谨慎使用
      middlewares:
        <<: *default # 引用默认中间件
      post:           # 反向HTTP POST地址列表
      #- url: ''                # 地址
      #  secret: ''             # 密钥
      #  max-retries: 3         # 最大重试,0 时禁用
      #  retries-interval: 1500 # 重试时间,单位毫秒,0 时立即
      url: http://127.0.0.1:5701/ # 地址
      secret: ''                  # 密钥
      max-retries: 10             # 最大重试,0 时禁用
      retries-interval: 1000      # 重试时间,单位毫秒,0 时立即

这里要特别注意的是,http配置的address与下方post的url端口不能相同(可以修改)
保存后运行bat,尝试登录

[2023-01-07 00:23:26] [INFO]: 当前版本:v1.0.0-rc4
[2023-01-07 00:23:26] [INFO]: 将使用 device.json 内的设备信息运行Bot.
[2023-01-07 00:23:26] [INFO]: Bot将在5秒后登录并开始信息处理, 按 Ctrl+C 取消.
[2023-01-07 00:23:31] [INFO]: 开始尝试登录并同步消息...
[2023-01-07 00:23:31] [INFO]: 使用协议: Android Phone
[2023-01-07 00:23:32] [INFO]: Protocol -> connect to server: 36.155.206.145:8080
[2023-01-07 00:23:32] [WARNING]: Protocol -> device lock is disable. http api may fail.
[2023-01-07 00:23:35] [INFO]: 收到服务器地址更新通知, 将在下一次重连时应用.
[2023-01-07 00:23:35] [INFO]: 登录成功 欢迎使用: acao
[2023-01-07 00:23:35] [INFO]: 开始加载好友列表...
[2023-01-07 00:23:35] [INFO]: 共加载 23 个好友.
[2023-01-07 00:23:35] [INFO]: 开始加载群列表...
[2023-01-07 00:23:36] [INFO]: 共加载 7 个群.
[2023-01-07 00:23:36] [INFO]: 资源初始化完成, 开始处理信息.
[2023-01-07 00:23:36] [INFO]: アトリは、高性能ですから!
[2023-01-07 00:23:36] [INFO]: HTTP POST上报器已启动: http://127.0.0.1:5701/
[2023-01-07 00:23:36] [INFO]: 正在检查更新.
[2023-01-07 00:23:36] [INFO]: CQ HTTP 服务器已启动: [::]:5700
[2023-01-07 00:23:48] [INFO]: 检查更新完成. 当前已运行最新版本.
[2023-01-07 00:23:48] [INFO]: 开始诊断网络情况
[2023-01-07 00:23:51] [INFO]: 网络诊断完成. 未发现问题
[2023-01-07 00:23:58] [WARNING]: 上报 Event 数据到 http://127.0.0.1:5701/ 失败: Post "http://127.0.0.1:5701/": dial tcp 127.0.0.1:5701: connectex: No connection could be made because the target machine actively refused it. 将进行第 1 次重试
[2023-01-07 00:24:02] [WARNING]: 上报 Event 数据到 http://127.0.0.1:5701/ 失败: Post "http://127.0.0.1:5701/": dial tcp 127.0.0.1:5701: connectex: No connection could be made because the target machine actively refused it. 将进行第 2 次重试

这里上报出现了许多错误,是正常现象,因为我们没有监听程序,没地方上报
等我们接下来写完监听程序就不会这样了
注:第七行的[WARNING]: Protocol -> device lock is disable. http api may fail.属于正常现象,不需要找问题(不影响)

config.yml 中,还可以设置在线状态,参考在线状态

<

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

饭a

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值