Suite

概览

QQBot QQ机器人功能概览

QQBot QQ 群服互联

模块简介

QQBot 是 Suite 的 QQ 群服互联模块,通过 OneBot 11 WebSocket 协议 连接 QQ 机器人实现端(SnowLuma / NapCat / Lagrange 等),打通 QQ 群与 Minecraft 服务器之间的消息通道。模块提供双向消息同步、QQ-游戏账号绑定、群内指令查询、签到积分系统、服务器监控告警、群管理 moderation 等全方位功能,并可与其他模块通过 Capability 和 EventBus 深度联动。

属性值
模块 IDqqbot
版本1.5.0
配置文件config.yml
消息文件messages.yml
外部依赖PlaceholderAPI(必需,external-depends 硬依赖,未安装时模块不加载)
软依赖模块chat
配置版本4
数据存储SQLite 或 MySQL(共享/自建存储模式)
命令入口玩家 /qqbot;管理 /axs qqbot
对外能力QqBindCapable(QQ 绑定)、QQBotBroadcastable、QQBotNotifiable、PlayerDataPurgeable、DatabaseMigratable
PAPI 前缀%axsqqbot_*%

功能特性

特性说明
OneBot 11 WebSocket正向 WebSocket 连接,支持 SnowLuma / NapCat / Lagrange 等实现端,自动重连与端口探测
双向消息同步QQ 群 ↔ 游戏内消息双向同步,支持 both / game-to-qq / qq-to-game / none 四种模式
QQ-游戏账号绑定验证码绑定方式,群内发起 → 游戏内确认,支持多 QQ 绑定限制
白名单管理绑定后自动加白名单,解绑后自动移除,支持群内管理指令
自定义群指令内置指令(查在线/查服务器/积分榜)+ 服务器命令执行 + PAPI 占位符查询
管理员远程控制配置的 QQ 号可在群内执行控制台命令,支持命令白名单防 RCE
签到积分系统每日签到获得积分,连续签到加成,积分兑换奖品(通过邮件发放)
积分红包群内拼手气红包,支持发红包/抢红包/过期退款
积分转账群成员之间积分转账
群活跃度排行按发言次数统计本周/本月活跃度排行
服务器监控告警TPS 过低或内存过高时自动推送告警到群,带冷却防刷屏
定时消息固定间隔(interval)或每日定时(daily)推送消息到群
击杀/死亡播报游戏内击杀事件推送到 QQ 群,支持 Boss-only / PvP-only 过滤
大额交易播报订阅 Market 模块 EventBus 事件,拍卖成交价超阈值时推送
入群欢迎新成员加群自动 @ 并发送欢迎消息
关键词自动回复FAQ 关键词匹配自动回复,支持精确/包含匹配
群公告广播管理员群内发布公告同步到游戏内(聊天栏 + 标题)
群管理 moderation群内踢出/封禁玩家,QQ 禁言同步游戏封禁
@ 提示群内 @ 某 QQ 号,绑定玩家在线时游戏内收到 Title 提示
黑名单禁止指定 QQ 使用机器人所有功能,支持配置静态 + 数据库动态黑名单
SnowLuma 进程管理支持 native(本地子进程)和 docker 两种模式自动管理 SnowLuma
UI 面板绑定中心、消息通知 HUD、管理后台三个 UI 界面
周结算排行榜每周日 23:59 自动推送积分 Top10 到所有群

依赖

依赖类型名称说明
外部依赖PlaceholderAPIexternal-depends 硬依赖(未安装时模块不加载),提供 PAPI 占位符查询能力(群指令 papi-query 类型)
软依赖模块chat聊天模块,提供消息事件增强
Capability 依赖MailDispatchable签到积分兑换奖品时通过邮件系统发放奖励
Capability 依赖EssentialsQueryable查在线指令中显示 AFK / 隐身 / 无敌状态标签
Capability 依赖EventBusCapability订阅 Market 模块拍卖成交事件实现大额交易播报
Capability 依赖QqBindCapable向 loginview 等模块暴露 QQ 绑定状态查询

连接行为

  • 支持 SnowLuma 内置进程(auto-start: true 自动启动)或外部 OneBot 实现端(onebot.ws-url 指向其 WS 地址)
  • 断线后按 reconnect-interval-seconds 自动重连
  • 群消息按顺序处理:黑名单拦截 → notice 事件(入群欢迎/禁言同步)→ 关键词 moderation → 群指令 → 关键词自动回复 → @ 提示 → 活跃度记录 → 消息同步

账号绑定机制

QQBot 使用 验证码绑定 方式关联 QQ 号与游戏账号:

  1. 群内发送 #绑定 <游戏名>,机器人回复 6 位验证码
  2. 玩家在游戏内执行 /qqbot bind <验证码> 完成绑定
  3. 绑定成功后自动加白名单(若启用)

绑定规则

规则说明
验证码格式6 位随机数字
验证码有效期binding.code-expire-seconds(默认 300 秒)
每 QQ 绑定上限binding.max-bindings-per-qq(默认 1)
玩家名唯一同一玩家名只能被一个 QQ 绑定
自动白名单绑定成功后自动执行 whitelist add;解绑后自动 whitelist remove(若启用)

其他模块可查询玩家的 QQ 绑定状态(如 loginview 二级验证联动)。

UI 面板

QQBot 模块提供三个 UI 界面,通过 ArcartX UI 框架渲染:

UI文件UI ID说明
绑定中心ui/qqbot_bind.ymlAXS:qqbot_bind玩家查看绑定状态、申请验证码、解绑、查看群消息
消息通知 HUDui/qqbot_notify.ymlAXS:qqbot_notify屏幕右上角弹出新群消息通知
管理后台ui/qqbot_admin.ymlAXS:qqbot_admin管理员查看机器人状态、绑定列表、执行命令

UI 通讯通过 PacketBridge 实现,绑定中心使用 AXS_qqbot 包 ID,管理后台使用 AXS_qqbot_admin 包 ID。

快速上手

  1. 执行 /axs qqbot snowluma install 下载安装内置 SnowLuma 实现端(完整版自带 Node 运行时,含进度显示)
  2. 执行 /axs qqbot snowluma start 启动,浏览器打开 WebUI(默认 http://127.0.0.1:5099,账号 admin,临时密码见控制台或 /axs qqbot snowluma password)
  3. 在 WebUI 中登录 QQ 账号(Docker 模式请访问 noVNC 端口操作内嵌 QQ 客户端)
  4. 在 groups 列表中添加要监听的 QQ 群号,执行 /axs reload qqbot 重载模块
  5. 群内发送 #帮助 查看可用指令
  6. 群内发送 #绑定 <游戏名> 开始绑定流程

使用其他 OneBot 实现端(NapCat/Lagrange 等)时,跳过前两步,启动实现端并将 onebot.ws-url 指向其 WS 地址即可,模块会自动重连。

本页目录