• 【问卷调查奖励发放公告】

    感谢大家积极参与本次 MineBBS 社区问卷调查。200 金粒的参与奖励已完成发放。部分用户发放失败,请【点击此处】 查看详情。

BistroWhitelist —— 酒馆白名单 支持 BistroBot 的多功能QQ群白名单&账号绑定插件 | 酒馆系列插件 [全版本]

原创 开源 工具 BistroWhitelist —— 酒馆白名单 支持 BistroBot 的多功能QQ群白名单&账号绑定插件 | 酒馆系列插件 [全版本] v1.5.1

请登录后获取
版权类型
原创
插件中文名称
酒馆白名单
插件英文名称
BistroWhitelist
原帖地址
https://wiki.mcxjg.cn/wiki/BistroWhitelist/%E7%AE%80%E4%BB%8B/
支持的核心(服务端)
  1. Spigot
  2. Paper
  3. Folia
  4. Purpur
  5. 其他核心
语言支持
多语言
前置组件
可选前置 BistroBot
适配版本(Java)
  1. 1.21
  2. 1.20
  3. 1.19
  4. 1.18
  5. 1.17
  6. 1.16

BistroWhitelist

BistroBot 为可选前置,本插件的基础功能可脱离 BistroBot 单独使用
支持 BistroBot 的多功能QQ群白名单&账号绑定插件
将玩家的 用户名 与 QQ 进行绑定
插件提供管理员和普通两种添加模式
所有白名单数据均存储在数据库内进行统一管理
支持多机器人、多群聊、多管理

已在 1.21.1 服务器中使用,其他版本可自行测试反馈
可在 当前页面 或 Wiki文档 中下载




功能介绍
所有语言提示均可自定义
支持 MySQL 和 SQLite 数据库
支持 Geyser 并自动忽略玩家名称前缀
没有添加到白名单的 ID 无法进入游戏
可在游戏内查询 ID 绑定的QQ
可脱离 BistroBot 单独使用,但会默认关闭机器人功能
可使 QQ 与游戏 ID 进行绑定,并且可手动开启检测 QQ 重复绑定功能,防止小号注册
可检测绑定的 QQ 是否在群内,不在群内视为不在白名单
可使用管理员模式,管理员模式下,只有管理员可进行白名单操作
可添加多个群和机器人进行管理




酒馆系列插件 Wiki
酒馆插件 Wiki



管理员模式截图
1722574666096.png


普通模式截图

1722574653911.png



代码:
# 插件 指令 & 权限
/bwl reload             重载插件                             - bistro.whitelist.command.reload
/bwl bind ID QQ         绑定ID                               - bistro.whitelist.command.bind
/bwl unbind ID          解除绑定                             - bistro.whitelist.command.unbind
/bwl query ID           根据玩家名称查询QQ号                  - bistro.whitelist.command.query




YAML:
# 当前配置版本 请勿修改
version: 1.5
# 将会兼容的最低版本 请勿修改
min-version: 1.5

# 插件配置
general:
  # 语言配置
  language: 'zh_CN'

  # 是否启用 BistroBot
  # 如果没有安装 BistroBot 请将此选项设置为 false
  # 本插件会自动检测是否安装 BistroBot 如果没有安装将会自动强制禁用该配置
  # 此选项主要用于兼容群组服 多个服务器仅需在登录服或某一服务器中安装 BistroBot 来提供绑定
  # 子服关闭此选项后 仅会做校验白名单的功能
  # 以此达到群组服白名单功能
  enable-bot: true

  # 添加绑定消息前缀
  # 玩家需要发送“消息前缀 + 自己的ID”才会添加绑定
  # 例如:下方设置为“申请白名单”,玩家的ID是“123456”,则玩家需要在群内发送消息“申请白名单 123456”, 注意中间有一个空格
  # 如果是管理员,则管理员需要发送“消息前缀 + 玩家的ID + 玩家的QQ号”才会添加绑定
  # 例如:下方设置为“申请白名单”,玩家的ID是“123456”,玩家的QQ号是“123456789”,则管理员需要在群内发送消息“申请白名单 123456 123456789”, 注意中间有一个空格
  bind-command-prefix: "添加白名单"

  # 解除绑定消息前缀
  # 玩家需要发送“解除白名单”才会解除绑定, 注意:会删除所有该QQ绑定的ID
  # 如果是管理员,则管理员需要发送“消息前缀 + 玩家的ID”才会添加绑定
  # 例如:下方设置为“解除白名单”,玩家的ID是“123456”,则管理员需要在群内发送消息“解除白名单 123456”, 注意中间有一个空格
  unbind-command-prefix: "解除白名单"

  # Geyser 支持
  # 与 Geyser 中的设置对应
  # 如果不清楚的话请勿启用该功能
  geyser:
    # 是否启用 Geyser 支持
    enable: false
    # 设置的基岩版玩家名称前缀
    prefix: '.'

# 数据库配置 目前支持 sqlite 和 mysql
database:
  # 数据库类型 不区分大小写
  type: sqlite
  # 数据库表前缀
  prefix: bwl_

  # mysql 配置 仅数据库类型为 mysql 时生效
  mysql:
    # 数据库地址
    url: 127.0.0.1
    # 数据库端口
    port: 3306
    # 数据库参数
    parameters: '?useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true'
    # 数据库用户名
    username: root
    # 数据库密码
    password: root
    # 数据库名称
    database: bistro

  # sqlite 配置 仅数据库类型为 sqlite 时生效
  sqlite:
    # 数据库文件路径 插件目录:%plugin_folder%
    path: '%plugin_folder%/whitelist.db'

  # 数据库连接池设置 不清楚的话不要修改
  pool:
    # 连接池连接超时时间
    connection-timeout: 30000
    # 连接池最大生命周期
    max-lifetime: 1800000
    # 连接池空闲时间
    idle-timeout: 600000
    # 连接池空闲线程存活时间
    keep-alive-time: 0
    # 连接池最大连接数
    max-pool-size: 15
    # 连接池最小连接数
    min-pool-size: 5

# 指令配置
command:
  # 游戏中绑定时阻止已经绑定过 ID 的 QQ 重复绑定
  prevent-qq-rebind: true

# 群配置
# 不同 QQ 群可单独配置
group:
  # 群1配置
  # 是否启用该群配置
  - enable: false
    # 群号
    group-id: 12345678
    # 对应的机器人 QQ 号
    bot-id: 1234567
    # 对应的管理员列表 可配置多个管理员
    # 请至少填写一个
    admins:
      - 123456
    # 阻止已经绑定过 ID 的 QQ 重复绑定
    # 例如:QQ123456 已经绑定了 ID1234567 那么 QQ123456 无法再次绑定其他 ID
    prevent-qq-rebind: true
    # 是否开启管理员独占模式
    # 如果开启,只有管理员才能执行绑定和解绑操作
    # 如果关闭,管理员和玩家都可以执行绑定和解绑操作,但需要区分管理员和玩家的绑定格式
    admin-only: true
    # 检测玩家绑定的 QQ 是否在群内,如果不在群内视为没有白名单
    # 注意,通过游戏指令添加的玩家将跳过检测
    # 如果单个玩家在多个群绑定过ID或拥有白名单 那么会对玩家所在的所有群进行检查 将会跳过没有开启群 开启检测的群中只要在其中一个群内就视为在群内
    check-qq-in-group: true

  # 群2配置
  # 是否启用该群配置
  - enable: false
    # 群号
    group-id: 12345678
    # 对应的机器人 QQ 号
    bot-id: 1234567
    # 对应的管理员列表 可配置多个管理员
    # 请至少填写一个
    admins:
      - 123456
    # 阻止已经绑定过 ID 的 QQ 重复绑定
    # 例如:QQ123456 已经绑定了 ID1234567 那么 QQ123456 无法再次绑定其他 ID
    prevent-qq-rebind: true
    # 是否开启管理员独占模式
    # 如果开启,只有管理员才能执行绑定和解绑操作
    # 如果关闭,管理员和玩家都可以执行绑定和解绑操作,但需要区分管理员和玩家的绑定格式
    admin-only: true
    # 检测玩家绑定的 QQ 是否在群内,如果不在群内视为没有白名单
    # 注意,通过游戏指令添加的玩家将跳过检测
    # 如果单个玩家在多个群绑定过ID或拥有白名单 那么会对玩家所在的所有群进行检查 将会跳过没有开启群 开启检测的群中只要在其中一个群内就视为在群内
    check-qq-in-group: true



YAML:
# 当前配置版本 不要修改
# 用于版本兼容
version: 1.1

# 系统消息
# 支持hex颜色 格式为: &#RRGGBB
system:
  # 消息前缀
  prefix: "&7[ &#777777白名单 &7] >>> &f"

  # 你没有权限
  no-permission: "&c你没有足够的权限执行此命令"

  # 重载成功
  reload-success: "&a配置文件已经重新加载, 部分配置可能需要重新启动服务器才能生效"

  # 重载失败
  reload-failed: "&c重新配置文件时出现问题, 请查看控制台了解更多信息"

  # 踢出信息。在踢出不在数据库的玩家时显示的踢出消息
  # 默认提示消息使用的是 YAML 换行符,如果想使用单行消息可以设为 kick-message: "消息内容"
  # 可用变量:%player_name%
  kick-message: |-
    &f你不在小酒馆的名单中噢,可以加入QQ群进行申请
    &bQQ群 123456

# 游戏内消息
# 游戏中的消息都在这里配置
game:
  # 未找到玩家绑定信息
  # 可用变量:%player_name%
  player-not-found: "&f未找到 QQ 或者该玩家没有白名单"

  # 玩家绑定的信息
  # 可用变量:%player_name% %player_qq%
  player-bind-info: "&f玩家 &a%player_name% &f绑定的QQ是 &a%player_qq%"

  # 绑定成功消息
  # 可用变量:%player_name% %player_qq%
  bind-success: "&a绑定成功 绑定ID: &f%player_name% &a绑定QQ:&f %player_qq%"

  # 绑定失败消息 长度问题
  bind-length-error: "&c指令格式不对哦, 正确的格式是/bwl bind ID QQ"

  # 绑定失败消息 ID问题
  # 可用变量:%player_name% %player_qq%
  id-bind-failed: "&c添加失败, 当前ID已经在白名单中啦, 绑定的QQ为 &f%player_qq%"

  # 绑定失败消息 QQ问题
  # 需要开启阻止已经绑定过 ID 的 QQ 重复绑定功能
  # 可用变量:%player_name% %player_qq%
  qq-bind-failed: "&c添加失败, 当前QQ已经在白名单中啦, 绑定的ID为 &f%player_name%"

  # 解绑成功消息
  # 多个ID将会用逗号分割
  # 可用变量:%player_name% %player_qq%
  unbind-success: "&a白名单已移除 移除ID &f%player_name% &a移除QQ &f%player_qq%"

  # 解绑失败消息 长度问题
  unbind-length-error: "&c指令格式不对哦, 正确的格式是/bwl unbind ID"

  # 解绑失败消息
  # 可用变量:%player_name% %player_qq%
  unbind-failed: "&c解绑失败, 当前ID可能没有在白名单中"

# 群内消息
# 插件向群内发送的所有消息都在这里配置
group:
  # 未找到玩家绑定信息
  # 可用变量:%player_name%
  player-not-found: "未找到 QQ 或者该玩家没有白名单"

  # 绑定成功
  # 可用变量:%player_name% %player_qq%
  bind-success: |-
    白名单添加成功啦 ~
    绑定ID %player_name%
    绑定QQ %player_qq%

  # 管理员 绑定失败消息 长度问题
  # 需开启管理员模式
  admin-bind-length-error: "指令格式不对哦~ 正确的格式是:添加白名单 ID QQ"

  # 普通 绑定失败消息 长度问题
  # 需关闭管理员模式
  normal-bind-length-error: "指令格式不对哦~ 正确的格式是:申请白名单 ID"

  # 通用 绑定失败消息 ID问题
  # 可用变量:%player_name% %player_qq%
  id-bind-failed: |-
    添加失败, 当前ID已经在白名单中啦 ~
    绑定的QQ %player_qq%

  # 通用 绑定失败消息 QQ问题
  # 需要开启阻止已经绑定过 ID 的 QQ 重复绑定功能
  # 可用变量:%player_name% %player_qq%
  qq-bind-failed: |-
    添加失败, 当前QQ已经在白名单中啦 ~
    绑定的ID %player_name%

  # 解绑成功
  # 多个ID将会用逗号分割
  # 可用变量:%player_name% %player_qq%
  unbind-success: |-
    白名单已移除
    移除ID %player_name%
    移除QQ %player_qq%

  # 管理员 解绑失败消息 长度问题
  # 需开启管理员模式
  admin-unbind-length-error: "指令格式不对哦~ 正确的格式是:解除白名单 ID"

  # 普通 解绑失败消息 长度问题
  # 需关闭管理员模式
  normal-unbind-length-error: "指令格式不对哦~ 正确的格式是:解除白名单"

  # 解绑失败
  # 可用变量:%player_name% %player_qq%
  unbind-failed: |-
    解绑失败, 当前ID可能没有在白名单中
    解绑ID %player_name%
    解绑QQ %player_qq%

最新更新

  1. 1.5.1 版本

    修复 BistroBot 检测失败的问题
  2. 1.5 版本

    此版本需重新删除配置文件 支持多QQ群独立配置 完美支持 folia 重构代码,优化性能
  3. 1.4 版本

    此版本需重新删除配置文件 支持Geyser,允许基岩版玩家连接 调整玩家姓名的处理逻辑,以考虑Geyser前缀 添加Geyser配置支持
后退
顶部 底部