Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

astrbot-plugin-queue — 群聊排队管理插件

一款基于AstrBot(https://github.com/AstrBotDevs/AstrBot) 框架的 QQ 群聊排队系统插件。支持多队列管理、别名、路人占位、每日自动清空、管理员干预等功能,适用于游戏组队、活动报名、资源分配等场景。

功能特性

  • ✅ 多队列 – 一个群可创建多个独立队列,互不干扰
  • ✅ 别名系统 – 为队列设置简短别名,方便快速输入
  • ✅ 路人占位 – 未报名的位置自动填充“路人”,支持后续报名替换
  • ✅ 灵活增减 – 支持 "+N"、 "-N"、 "=N/直接接N" 三种方式修改队列人数,自动处理自身入队/离队
  • ✅ 每日自动清空 – 可自定义清空时间(默认 00:00),到达时间后自动清空所有队列
  • ✅ 报名机制 – 用户可自行报名替换路人位置
  • ✅ 管理员工具 – 改卡、擦卡、踢卡,方便维护队列秩序
  • ✅ 数据持久化 – 插件重启后自动恢复队列数据(基于 AstrBot KV 存储)
  • ✅ 权限分离 – 普通成员只能操作自己,管理员拥有全部管理权限

安装方法

  1. 确保已部署 "AstrBot" (https://github.com/AstrBotDevs/AstrBot) 并正常运行。
  2. 将本插件文件夹放入 AstrBot 的 "plugins" 目录下。
  3. 重启 AstrBot 或使用热加载功能加载插件。
  4. 在群内发送 "/排队帮助" 验证插件是否生效。

指令列表

通用指令(所有群成员可用)

指令 说明

"/排队帮助" 显示帮助信息(管理员可见更多管理指令)

"查队列 <队列名/别名>" 查看队列详情(人数、成员列表、最后更新时间)

"<队列名>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人(自己加入末尾)

一队+5

减少2人(自己退出队列)

一队-2

设定为10人(自己不参与调整)

一队10 -p

报名第3个位置

报名 一队 3

退出队列

退队 一队

管理员:将位置1改为张三

改卡 一队 1 张三

管理员:擦掉位置2

擦卡 一队 2

管理员:踢掉位置4

踢卡 一队 4

配置说明

插件无需额外配置文件。唯一可配置项为每日清空时间,可通过管理指令 "修改清空队列时间 HH:mm" 动态修改,默认为 "00:00"。修改后立即生效,数据自动保存。

注意事项

  1. 路人机制:队列中的空位会自动填充为“路人”( "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 官方文档或联系插件作者。

About

一个简单的队列管理的插件

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

Generated from Soulter/helloworld