QQ Bot 设置
概述
QQ Bot 把 Anyy 连接到 QQ bot 私信和群组。Adapter 支持 DM、groups、lifecycle startup、markdown-capable replies 和 live-smoke 检查。
前提条件
- 一个 QQ bot app。
app_id。client_secret。- 可选
bot_user_id,用于过滤自己消息。 - Bot 在目标私信或群中的权限。
配置
创建凭据
在平台控制台创建 QQ bot,并把 client secret 保存到 Anyy。
配置 Anyy
anyy setup channels qqbot \
--set app_id=qq-app-id \
--secret client_secret='qq-client-secret' \
--write-config
可选:
channels:
qqbot:
bot_user_id: "bot-user-id"
setup 默认值:
| 字段 | 默认值 |
|---|---|
account_id | bot |
markdown_support | true |
dm_policy | open |
group_policy | open |
send_chunk_chars | 4000 |
启动 Gateway
anyy gateway start
anyy channels reload
运行 Doctor 检查
anyy channels doctor qqbot
访问策略
私信
setup 默认 dm_policy: open。私有 bot 建议使用 allowlist 和 allow_from。
群组
setup 默认 group_policy: open。生产环境建议使用 group_policy: allowlist 配合 allow_groups,或用 mention 要求群里显式唤起。
管理员
QQ Bot channel policy 控制访问。共享 command permissions 控制命令授权。
Sessions
每个被接受的 QQ 私聊或群映射到一个 Anyy session。
媒体支持
入站媒体
当前 QQ Bot adapter 没有声明 inbound media 能力。
出站媒体
QQ Bot 没有声明原生 outbound media。
命令
使用共享 messaging commands。如果设置 group_policy: mention,群里需要 mention bot。
Cron 投递
anyy cron create \
--name "QQ reminder" \
--schedule "30m" \
--prompt "Send the reminder" \
--delivery-target current_user_default \
--delivery-channel qqbot
故障排查
- Auth 失败:检查
app_id和client_secret_ref。 - Bot 自己回复自己:设置
bot_user_id。 - 太多群可以访问 bot:使用
group_policy: allowlist。 - Markdown 渲染不正确:如果你的 QQ surface 不支持 markdown,设置
markdown_support: false。