astrbot-plugin-queue — 群聊排队管理插件
一款基于AstrBot(https://github.com/AstrBotDevs/AstrBot) 框架的 QQ 群聊排队系统插件。支持多队列管理、别名、路人占位、每日自动清空、管理员干预等功能,适用于游戏组队、活动报名、资源分配等场景。
功能特性
- ✅ 多队列 – 一个群可创建多个独立队列,互不干扰
- ✅ 别名系统 – 为队列设置简短别名,方便快速输入
- ✅ 路人占位 – 未报名的位置自动填充“路人”,支持后续报名替换
- ✅ 灵活增减 – 支持 "+N"、 "-N"、 "=N/直接接N" 三种方式修改队列人数,自动处理自身入队/离队
- ✅ 每日自动清空 – 可自定义清空时间(默认 00:00),到达时间后自动清空所有队列
- ✅ 报名机制 – 用户可自行报名替换路人位置
- ✅ 管理员工具 – 改卡、擦卡、踢卡,方便维护队列秩序
- ✅ 数据持久化 – 插件重启后自动恢复队列数据(基于 AstrBot KV 存储)
- ✅ 权限分离 – 普通成员只能操作自己,管理员拥有全部管理权限
安装方法
- 确保已部署 "AstrBot" (https://github.com/AstrBotDevs/AstrBot) 并正常运行。
- 将本插件文件夹放入 AstrBot 的 "plugins" 目录下。
- 重启 AstrBot 或使用热加载功能加载插件。
- 在群内发送 "/排队帮助" 验证插件是否生效。
指令列表
通用指令(所有群成员可用)
指令 说明
"/排队帮助" 显示帮助信息(管理员可见更多管理指令)
"查队列 <队列名/别名>" 查看队列详情(人数、成员列表、最后更新时间)
"<队列名>j" / "<队列名>几" / "<队列名>有几人" / "<队列名>有谁" / "<队列名>都谁" 快捷查询队列
"报名 <队列名/别名> <位置>" 将指定位置的路人替换为自己
"<队列名/别名>+N" 队列增加 N 人(不加 "-p" 时自动将自己加入队列末尾)
"<队列名/别名>-N" 队列减少 N 人(不加 "-p" 时自动将自己移出队列)
"<队列名/别名>=N" 将队列总人数设为 N(不加 "-p" 时自动调整自身位置)
"<队列名/别名>+N -p" 增加 N 人,但不将自己加入队列
"<队列名/别名>-N -p" 减少 N 人,但不将自己移出队列
"<队列名/别名>=N -p" 设定总人数为 N,但不影响自身
"退队" / "退勤" 退出所有队列
"退队 <队列名/别名>" / "退勤 <队列名/别名>" 退出指定队列
管理指令(仅群管理员可用)
指令 说明
"创建队列 <队列名>" 创建一个新队列
"删除队列 <队列名/别名>" 删除指定队列及其所有别名
"添加别名 <队列名> <别名>" 为已有队列添加别名
"修改清空队列时间 HH:mm" 设置每日自动清空队列的时间(24小时制)
"改卡 <队列名/别名> <位置> <目标>" 将指定位置的成员替换为目标(QQ号或昵称)
"擦卡 <队列名/别名> <位置>" 将指定位置清空为路人
"踢卡 <队列名/别名> <位置>" 将指定位置的成员彻底移除(位置消失)
使用示例
创建队列 副本一队
添加别名 副本一队 一队
查队列 一队
一队j 一队有几人
一队+5
一队-2
一队10 -p
报名 一队 3
退队 一队
改卡 一队 1 张三
擦卡 一队 2
踢卡 一队 4
配置说明
插件无需额外配置文件。唯一可配置项为每日清空时间,可通过管理指令 "修改清空队列时间 HH:mm" 动态修改,默认为 "00:00"。修改后立即生效,数据自动保存。
注意事项
- 路人机制:队列中的空位会自动填充为“路人”( "user_id="road"")。路人可以被任意成员通过 "报名" 指令替换为自己的身份。
"-p" 参数:当使用 "+N"、 "-N"、 "=N" 修改人数时,若不携带 "-p",系统会自动将指令发送者加入或移出队列;若携带 "-p",则仅调整人数,不影响发送者的队列状态。 3. 数据安全:所有队列数据存储在 AstrBot 的 KV 数据库中,插件卸载或升级前建议手动备份(可通过插件接口导出)。 4. 权限校验:管理指令(改卡、擦卡、踢卡)仅对群管理员开放,普通成员无法执行。 5. 时间格式:设置清空时间时,请使用英文冒号 ":" 分隔小时和分钟,例如 "08:30"。支持全角冒号 ":" 自动兼容。
欢迎提交 Issue 或 Pull Request 贡献代码!
常见问题
Q:为什么我发送指令后没有反应?
A:请确认插件已正确加载,并且指令格式与上述表格完全一致(注意空格)。部分指令需要在群聊中发送,私聊可能不被支持。
Q:如何查看当前有哪些队列?
A:目前没有提供列出所有队列的指令,你可以通过 "查队列" 已知名称来确认,或者让管理员使用管理后台查看。未来版本可能会增加此功能。
Q:数据会丢失吗?
A:正常情况下不会。插件在每次修改后自动保存,并在启动时加载。
更多问题请查阅 AstrBot 官方文档或联系插件作者。