koishi-plugin-roulettes
v1.0.3
Published
轮盘抽奖系统插件,支持创建轮盘、轮盘组,进行抽奖操作,查看和管理轮盘数据
Readme
koishi-plugin-roulettes
轮盘抽奖系统插件,支持创建轮盘、轮盘组,进行抽奖操作,查看和管理轮盘数据。
功能特性
- ✅ 创建轮盘(支持多个选项,用逗号分隔)
- ✅ 创建轮盘组(包含多个轮盘)
- ✅ 查看轮盘列表和轮盘组列表
- ✅ 进行抽奖(支持指定次数,1-10次)
- ✅ 删除轮盘和轮盘组
- ✅ 查看单个轮盘或轮盘组的详情
- ✅ 轮盘组抽奖(从组内每个轮盘各抽取一个结果)
安装
npm install koishi-plugin-roulettes配置
该插件无需特殊配置,只需确保你的 Koishi 应用已配置好数据库。
// koishi.config.js
module.exports = {
plugins: [
'roulettes'
]
}使用方法
1. 创建轮盘
使用 roulette/创建轮盘 指令创建一个新的轮盘,用逗号分隔选项。
示例:
roulette/创建轮盘 选项1,选项2,选项3权限要求: 权限等级 3
2. 创建轮盘组
使用 roulette/创建轮盘组 指令创建一个新的轮盘组,指定名称和轮盘ID(用逗号分隔)。
示例:
roulette/创建轮盘组 幸运抽奖 1,2,3权限要求: 权限等级 3
3. 查看轮盘列表
使用 roulette/轮盘列表 指令查看所有轮盘的列表。
示例:
roulette/轮盘列表
roulette/轮盘列表 2 // 查看第2页4. 查看轮盘组列表
使用 roulette/轮盘组列表 指令查看所有轮盘组的列表。
示例:
roulette/轮盘组列表
roulette/轮盘组列表 2 // 查看第2页5. 进行抽奖
使用 roulette/轮盘抽奖 指令进行抽奖,可以指定轮盘ID或轮盘组名称。
示例:
roulette/轮盘抽奖 1 // 使用轮盘ID 1 抽奖
roulette/轮盘抽奖 幸运抽奖 // 使用轮盘组 幸运抽奖 抽奖
roulette/轮盘抽奖 1 -c 3 // 使用轮盘ID 1 抽奖3次注意: 轮盘组抽奖不支持指定次数,会从组内每个轮盘中各抽取一个结果。
6. 删除轮盘
使用 roulette/删除轮盘 指令删除指定ID的轮盘。
示例:
roulette/删除轮盘 1权限要求: 权限等级 3
7. 删除轮盘组
使用 roulette/删除轮盘组 指令删除指定ID的轮盘组。
示例:
roulette/删除轮盘组 1权限要求: 权限等级 3
8. 查看轮盘详情
使用 roulette/轮盘详情 指令查看指定轮盘ID的详细信息。
示例:
roulette/轮盘详情 19. 查看轮盘组详情
使用 roulette/轮盘组详情 指令查看指定轮盘组ID的详细信息。
示例:
roulette/轮盘组详情 1指令列表
| 指令 | 描述 | 权限要求 |
|------|------|----------|
| roulette/创建轮盘 <items:text> | 创建轮盘(用逗号分隔选项) | 3 |
| roulette/创建轮盘组 <name> <rouletteIds:text> | 创建轮盘组(轮盘ID用逗号分隔) | 3 |
| roulette/轮盘列表 [page:number] | 查看轮盘列表 | 无 |
| roulette/轮盘组列表 [page:number] | 查看轮盘组列表 | 无 |
| roulette/轮盘抽奖 <target> | 抽奖(输入轮盘ID或轮盘组名称) | 无 |
| roulette/轮盘抽奖 <target> -c <count:number> | 抽奖(指定次数,1-10次) | 无 |
| roulette/删除轮盘 <id:number> | 删除轮盘 | 3 |
| roulette/删除轮盘组 <id:number> | 删除轮盘组 | 3 |
| roulette/轮盘详情 <id:number> | 查看轮盘详情 | 无 |
| roulette/轮盘组详情 <name> | 查看轮盘组详情 | 无 |
示例场景
场景1:创建一个简单的轮盘并抽奖
创建轮盘:
roulette/创建轮盘 一等奖,二等奖,三等奖,谢谢参与查看轮盘列表:
roulette/轮盘列表进行抽奖:
roulette/轮盘抽奖 1 -c 3
场景2:创建轮盘组并进行组抽奖
创建多个轮盘:
roulette/创建轮盘 苹果,香蕉,橙子 roulette/创建轮盘 红色,蓝色,绿色创建轮盘组:
roulette/创建轮盘组 水果颜色组合 1,2进行轮盘组抽奖:
roulette/轮盘抽奖 水果颜色组合
数据库结构
该插件会在数据库中创建两个表:
roulettes 表
| 字段 | 类型 | 描述 | |------|------|------| | id | unsigned | 轮盘ID(自增主键) | | items | list | 轮盘选项列表 |
roulette_groups 表
| 字段 | 类型 | 描述 | |------|------|------| | id | unsigned | 轮盘组ID(自增主键) | | name | string | 轮盘组名称 | | items | json | 包含的轮盘ID数组 |
注意事项
- 轮盘抽奖次数限制为1-10次,超过限制会被自动调整到范围内。
- 轮盘组抽奖不支持指定次数,会从组内每个轮盘各抽取一个结果。
- 创建轮盘时,选项会自动过滤空值和空白字符。
- 创建轮盘组时,会验证所有指定的轮盘ID是否存在。
- 删除轮盘时,不会自动从轮盘组中移除该轮盘的引用,请手动管理轮盘组中的轮盘ID。
贡献
欢迎提交 Issue 和 Pull Request 来帮助改进这个插件!
许可证
MIT License
