# 通过 QQ官方机器人 接入 QQ (Websockets) ## 支持的基本消息类型 > 版本 v4.19.6。 | 消息类型 | 是否支持接收 | 是否支持发送 | 备注 | | --- | --- | --- | --- | | 文本 | 是 | 是 | | | 图片 | 是 | 是 | | | 语音 | 是 | 是 | | | 视频 | 是 | 是 | | | 文件 | 是 | 是 | | 主动消息推送:支持。 ## 在 AstrBot 中扫码一键创建 QQ 机器人(推荐) ### 配置流程 1. 进入 AstrBot 的 WebUI,点击左边栏 `机器人`,然后点击 `+ 创建机器人`。 2. 选择 `QQ 官方机器人(WebSocket)`。 3. 在 `选择创建方式` 中选择 `扫码一键创建`,点击开始创建后,用手机 QQ 扫描页面中的二维码。 4. 扫码确认后,AstrBot 会自动写入 `AppID` 和 `AppSecret`。确认 `启用` 已勾选,然后点击 `保存`。 5. 回到 QQ 开放平台页面,点击机器人右边的 `扫码聊天`。用手机 QQ 扫码即可聊天。 ### 在群聊中使用 #### 添加到群聊 进入创建的 QQ 机器人的资料页(手机QQ -> 联系人 -> 机器人页签),在下方可以找到 “添加到群聊”。目前只能添加到自己为群主的群聊。 #### 设置机器人可获取的群聊消息范围和主动发言 在手机 QQ 的群聊设置中打开机器人设置,推荐将 `机器人可获取的群聊消息范围` 设置为 `获取群内全部消息`,并开启 `机器人主动在群聊内发言`。 这样机器人可以接收群聊全量消息,也可以在群聊中主动推送消息,例如定时任务推送、插件主动通知等。 ![QQ 官方机器人推荐群聊配置](/qqofficial-group-recommended-config.png) ## 手动申请 QQ 机器人(不推荐) ### 申请一个机器人 > [!WARNING] > > 1. 截至目前,QQ 官方机器人需要设置 IP 白名单。 > 2. 支持群聊、私聊、频道聊天、频道私聊。 首先,打开 [QQ官方机器人](https://q.qq.com) 并登录。 然后,点击创建机器人,填写名称、简介、头像等信息。然后点击下一步、提交审核。等待安全校验通过后,创建成功。 点击创建好的机器人,然后你将会被导航到机器人的管理页面。如下图所示: ![image](https://files.astrbot.app/docs/source/images/qqofficial/image.png) ### 允许机器人加入频道/群/私聊 点击`沙箱配置`,这允许你立即设置一个沙箱频道/QQ群/QQ私聊,用于拉入机器人(需要小于等于20个人)。 然后你将会看到 QQ 群配置、消息列表配置和 QQ 频道配置。根据你的需求来选择QQ群、允许私聊的QQ号、QQ频道。 ![image](https://files.astrbot.app/docs/source/images/qqofficial/image-1.png) ### 获取 appid、secret 添加机器人到你想用的地方后。 点击 `开发->开发设置`,找到 appid、secret。复制并保存它们。 如果你使用 AstrBot WebUI 的 `扫码一键创建`,这一步可以跳过。扫码绑定成功后,AstrBot 会自动填入 `appid` 和 `secret`。 ### 添加 IP 白名单(可选) 点击 `开发->开发设置`,找到 IP 白名单。添加你的服务器 IP 地址。 ![image](https://files.astrbot.app/docs/source/images/qqofficial/image-3.png) > [!TIP] > 如果你不知道你的服务器 IP 地址,可以在终端中输入 `curl ifconfig.me` 来获取。或者登录 [ip138.com](https://ip138.com/) 查看。 > > 如果你在没有公网 IP 的环境下,你看到的 IP 是运营商 NAT 的 IP,这个 IP 根据你的运营商的情况可能会随时变化。如有必要,可以配置代理。 ### 在 AstrBot 配置 1. 进入 AstrBot 的管理面板 2. 点击左边栏 `机器人` 3. 然后在右边的界面中,点击 `+ 创建机器人` 4. 选择 `QQ 官方机器人(WebSocket)` 推荐使用 `扫码一键创建`: 1. 在 `选择创建方式` 中选择 `扫码一键创建`。 2. 点击开始创建,用手机 QQ 扫描二维码并确认。 3. 等待页面显示绑定成功。AstrBot 会自动填入 `appid` 和 `secret`。 4. 根据需要调整 `ID`、`启用消息列表单聊`、`启用频道私聊` 等配置,然后点击 `保存`。 如果扫码不可用,也可以选择 `手动创建`。弹出的配置项填写: - ID(id):随意填写,用于区分不同的消息平台实例。 - 启用(enable): 勾选。 - appid: QQ 官方机器人中获取的 appid。 - secret: QQ 官方机器人中获取的 secret。 - 启用消息列表单聊(enable_group_c2c): 如果需要通过 QQ 消息列表私聊机器人,保持开启。 - 启用频道私聊(enable_guild_direct_message): 如果需要频道私聊,保持开启。 点击 `保存`。