Skip to content

绑定系统

绑定系统允许 QQ 用户与 Minecraft 玩家名建立关联,实现:

  • 自动白名单同步(绑定时添加,解绑时移除)
  • 双向昵称显示(群聊发消息时显示游戏ID或QQ昵称)
  • 游戏内 /at 命令发送 QQ @提醒
  • 自定义命令中的 {name}{nickname} 占位符

绑定流程

直接绑定(默认)

binding.require-game-verificationfalse 时:

  1. 在 QQ 群发送 /绑定 <游戏ID>
  2. 系统自动验证游戏ID是否已被绑定
  3. 绑定成功后自动添加白名单
  4. QQ 群收到绑定成功通知
玩家:/绑定 Steve
HuHoBot:已成功绑定游戏账号:Steve

游戏验证绑定

binding.require-game-verificationtrue 时:

  1. 在 QQ 群发送 /绑定 <游戏ID>
  2. 系统生成 5 位验证码
  3. 玩家使用该角色进入服务器,执行 /qqbind <验证码>
  4. 验证通过后完成绑定,自动添加白名单
玩家:/绑定 Steve
HuHoBot:请使用角色 Steve 进入服务器执行 /qqbind 48132
HuHoBot:验证码 5 分钟内有效

游戏内:

/qqbind 48132
HuHoBot:绑定成功!已绑定 QQ 账号到 Steve

解除绑定

在 QQ 群发送 /解除绑定 即可:

  • 移除绑定关系
  • 自动从白名单中移除该玩家
玩家:/解除绑定
HuHoBot:已解除角色绑定:Steve

显示名称设置

绑定后,可以控制在不同方向发送消息时显示的名称。

QQ→游戏方向

使用 /MC显示名称 控制发送到游戏时的名称:

参数 效果
/MC显示名称 MC 显示游戏ID(如 Steve
/MC显示名称 QQ 显示QQ昵称

游戏→QQ方向

使用 /QQ显示名称 控制游戏消息在QQ群显示的名称:

参数 效果
/QQ显示名称 MC 显示游戏ID
/QQ显示名称 QQ 显示QQ昵称

游戏内命令

/qqbind

在游戏内完成 QQ 绑定的验证:

/qqbind <验证码>

验证码从 QQ 群 /绑定 命令获取,5 分钟内有效。

/at

从游戏内向 QQ 群发送 @提醒消息:

/at <群成员昵称> <消息内容>
  • 支持昵称自动补全(Tab 键)
  • 如果昵称对应有效的 OpenId,会发送真正的 @提醒
  • 消息格式:<@openid> 消息内容

配置

binding:
  require-game-verification: false
  • false(默认):直接绑定,无需游戏内验证
  • true:需要游戏内 /qqbind 验证码确认

白名单同步

绑定/解绑时自动执行白名单命令:

whitelist:
  add-command: "whitelist add {name}"
  del-command: "whitelist remove {name}"

{name} 会被替换为玩家名。如果留空则不同步白名单。

注意事项

  • 每个 QQ 用户在同一群内只能绑定一个游戏ID
  • 每个游戏ID在同一群内只能被一个QQ用户绑定
  • 解绑后该游戏ID可以被其他用户绑定
  • 绑定数据存储在本地数据库中,重启不会丢失