npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

koishi-plugin-roulettes

v1.0.3

Published

轮盘抽奖系统插件,支持创建轮盘、轮盘组,进行抽奖操作,查看和管理轮盘数据

Readme

koishi-plugin-roulettes

npm

轮盘抽奖系统插件,支持创建轮盘、轮盘组,进行抽奖操作,查看和管理轮盘数据。

功能特性

  • ✅ 创建轮盘(支持多个选项,用逗号分隔)
  • ✅ 创建轮盘组(包含多个轮盘)
  • ✅ 查看轮盘列表和轮盘组列表
  • ✅ 进行抽奖(支持指定次数,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/轮盘详情 1

9. 查看轮盘组详情

使用 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:创建一个简单的轮盘并抽奖

  1. 创建轮盘:

    roulette/创建轮盘 一等奖,二等奖,三等奖,谢谢参与
  2. 查看轮盘列表:

    roulette/轮盘列表
  3. 进行抽奖:

    roulette/轮盘抽奖 1 -c 3

场景2:创建轮盘组并进行组抽奖

  1. 创建多个轮盘:

    roulette/创建轮盘 苹果,香蕉,橙子
    roulette/创建轮盘 红色,蓝色,绿色
  2. 创建轮盘组:

    roulette/创建轮盘组 水果颜色组合 1,2
  3. 进行轮盘组抽奖:

    roulette/轮盘抽奖 水果颜色组合

数据库结构

该插件会在数据库中创建两个表:

roulettes 表

| 字段 | 类型 | 描述 | |------|------|------| | id | unsigned | 轮盘ID(自增主键) | | items | list | 轮盘选项列表 |

roulette_groups 表

| 字段 | 类型 | 描述 | |------|------|------| | id | unsigned | 轮盘组ID(自增主键) | | name | string | 轮盘组名称 | | items | json | 包含的轮盘ID数组 |

注意事项

  1. 轮盘抽奖次数限制为1-10次,超过限制会被自动调整到范围内。
  2. 轮盘组抽奖不支持指定次数,会从组内每个轮盘各抽取一个结果。
  3. 创建轮盘时,选项会自动过滤空值和空白字符。
  4. 创建轮盘组时,会验证所有指定的轮盘ID是否存在。
  5. 删除轮盘时,不会自动从轮盘组中移除该轮盘的引用,请手动管理轮盘组中的轮盘ID。

贡献

欢迎提交 Issue 和 Pull Request 来帮助改进这个插件!

许可证

MIT License