Skip to content

QQ 与 Discord 机器人

GOKZ.TOP 的 QQ 与 Discord 机器人共用一个 NoneBot 应用及同一套 GOKZ 功能。QQ 使用中文 Markdown 和键盘,Discord 使用英文嵌入消息和按钮。Discord 不发送自动语音夸奖。

绑定 Steam

在绑定码页面登录 Steam 并生成绑定码,然后向 QQ 发送 /bind <绑定码>,或在 Discord 使用 /bind code:<绑定码>。绑定码区分大小写,请在网站显示的到期时间前使用。Discord 的绑定回复仅自己可见。此流程在机器人内保存绑定,不会创建或修改网站上的 Discord 社交链接。

默认模式及每日地图按平台账号独立保存。使用 /mode 选择 OVR、KZT、SKZ 或 VNL。/help 列出记录、资料、玩家卡片、排名、对比、每日地图、服务器状态、地图评价及评分等指令。Discord 使用命名的斜杠指令选项;QQ 保留现有别名及 -m、-s、-q、-u 参数。按钮仅供发起查询的用户操作,十分钟后或机器人重启后失效。

运维

两个适配器使用现有 QQ_BOT_SECRET 验证绑定码,无需部署网站。配置 QQ_BOTS、DISCORD_BOTS 及 BOT_PLATFORMS=qq,discord。Discord 使用斜杠指令,无需 Message Content intent;指令频道需要查看频道、发送消息、嵌入链接及附加文件权限。

仅根管理员可设置默认服务器组,QQ 使用群组 ID,Discord 使用服务器 ID。在 SUPERUSERS 中配置带平台前缀的根管理员身份;现有无前缀的 QQ ID 继续有效。/set_server 修改当前会话的 /server 默认值。

机器人保留现有 SQLite 文件并部署于 E。CI 在替换容器前备份 SQLite 并记录旧镜像,随后检查两个适配器的连接状态。备份位于 /opt/qqbot-saki-chan/backups/<sha>/。回滚时先停止机器人,恢复对应的数据库备份,再使用同一 Compose 项目启动记录的旧镜像。切勿删除持久化数据或卷。

Discord 回复

指令会直接更新原始斜杠指令回复,仅保留实际结果。绑定及账号连接错误仅自己可见。GlobalAPI 可用时显示绿色,不可用时显示红色。记录指令(/pr、/wr、/pb)展示地图图片、醒目的用时、紧凑的详情字段,以及按 Discord 本地时区显示的日期。封禁历史会展示易读的封禁类型、状态、备注、服务器详情及到期时间,不再只显示原始标识符。

确认全局指令同步成功后,机器人会清理自身已知的过时服务器专属指令,避免旧机器人遗留同名重复项;其他指令及其他 Discord 应用不受影响。