Skip to content

使用 QQ 官方机器人 API(使用webhook方式)

本文章只提供测试版机器人的发布,具体机器人上线请按照 发布流程 进行部署。

注册 QQ 机器人(测试机器人)

配置机器人基本信息

前往 QQ开放平台 ,找到下方的 应用管理 ,点击创建机器人,填写基本信息之后,进入机器人页面,如图:

机器人主页面

首页 选项中的 发布流程 即为上线机器人的步骤。由于部署的是测试版机器人,所以只需要进行其中的 资料沙箱配置

先进行资料填写,然后点击沙箱配置。

配置沙箱配置项

点击 沙箱配置 。 如果要部署在QQ群中,那么按照 QQ群ID 下方的要求进行选择群聊,在消息列表配置中添加有私聊权限的用户。
如果要部署在QQ频道中,那么按照 频道ID 下方的要求选择频道ID,机器人类型为0。

配置开发管理项

点击 开发管理

开发管理页面

记录其中的 AppID , Token , AppSecret ,并将 LangBot 所在服务器的IP地址填写到IP白名单中。

填写适配器

将上文获取的 AppID , Token , AppSecret 填写入 配置信息 中的 qqofficial适配器(使用webhook方式)中。

配置回调地址

由于QQ官方机器人必须要求回调地址是 https 请求,但 LangBot 仅提供 http 方式,所以需要自行配置反向代理。
本文建议使用 Caddy 反向代理,操作流程如下文。

操作caddy流程

安装caddy

进入Caddy安装文档。选择对应自己操作系统的安装步骤,进行安装。

填写Caddyfile

本文假设使用 ubuntu 系统部署 LangBot ,那么在系统中,Caddyfile 的默认位置为 /etc/caddy/Caddyfile。 使用 vim 或 nano 编辑 Caddyfile ,Caddyfile文件填写为:

json
your_domain_name {
        reverse_proxy 127.0.0.1:2284
}

例如,如果你有域名 testlb.com,并且解析地址为本机,同时开启443端口,那么填写为:

json
testlb.com {
        reverse_proxy 127.0.0.1:2284
}

保存并且退出文件。

注,Caddyfile文件的填写要求非常严苛,请按照正确的格式填写,如果遇到问题请自行查询Caddy文档或者询问AI。

启动caddy

输入命令

bash
sudo systemctl start caddy

成功启动后,检查 Caddy 状态命令:

bash
sudo systemctl status caddy

后续配置

若 Caddy 启动不成功,请自行阅读 Caddy文档,或者加入 LangBot 社区群请求帮助。

以下是一些可能出现的问题:

  • 没有开启443端口
  • 没有将域名解析到本机
  • 没有成功保存 Caddyfile

设置管理端回调地址

首先 启动 LangBot

点击 机器人管理端网页中的 回调配置,勾选下面 添加事件 中的所有事件。 在请求地址中填写 Caddyfile 中设置的域名,后缀为/callback/command。
比如域名为 testlb.com,那么请求地址中填写 testlb.com/callback/command ,点击确定配置。如果回调地址保存成功,那么意味着部署成功。若出现 校验失败 字样,请认真检查上述配置项是否填写正确。

发布方式

进入 首页 的发布流程 ,按照流程进行机器人发布,上线。