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 🙏

© 2025 – Pkg Stats / Ryan Hefner

koishi-plugin-best-jrrp

v3.1.1

Published

支持真随机的今日人品(运势),可任意自定义消息,支持随机图片,还带有排行、分析、货币等功能。

Readme

koishi-plugin-best-jrrp

npm

支持真随机的今日人品(运势),可任意自定义消息,支持随机图片,还带有排行、分析、货币等功能。

功能特性

  • 多种计算算法:支持线性同余、正态分布,以及基于大气噪声的 Random.org 真随机 API。
  • 丰富的显示格式:人品值可以显示为二进制、八进制、十六进制,甚至是动态生成的数学表达式。
  • 高度自定义消息:可配置不同分数范围、特定分数或特定日期的消息。消息模板支持多种占位符,包括 at 用户、一言、本地/网络图片等。
  • 灵活的货币系统:与 koishi-plugin-monetary 深度联动,可通过一个简单的规则输入框,实现固定值、随机范围、人品值倍率等多种复杂的奖惩逻辑。
  • 全面的数据查询:支持查询特定日期的人品值(支持自然语言,如“昨天”),或预测未来特定分数将在哪天出现。
  • 排行榜与数据分析:查看今日人气之星,并通过深度统计报告(如走势图、分布热图)分析个人运气走势。
  • 灵活的数据管理:管理员可以按用户或日期(支持自然语言)清除人品数据。

命令列表

  • jrrp - 获取今日人品值。首次使用可获得货币奖励。
  • jrrp.date [date:date] - 查询指定日期的人品值(支持 "MM-DD", "YYYY-MM-DD", "昨天" 等格式)。
  • jrrp.score [score] - 预测未来何时会出现指定的人品分数(真随机模式下禁用)。
  • jrrp.rank - 查看今日人品排行榜。
  • jrrp.analyse - 分析你的人品数据统计信息。
  • jrrp.clear - 清除人品数据(需要4级权限)。

配置说明

插件配置主要分为基础配置、样式配置、消息配置和强大的货币配置。

1. 基础配置

# 启用日期查询
enableDate: true
# 启用人品预测
enableScore: true
# 启用人品排行
enableRank: true
# 启用数据分析
enableAnalyse: true
# 计算方式: gaussian(正态分布)/linear(线性同余)/randomorg(真随机)
algorithm: linear
# 密钥 - Random.org (使用真随机时需填写)
apiKey: ''

2. 样式配置

# 是否启用数值格式化
enableScoreFormat: true
# 仅在指定日期启用格式化 (MM-DD格式, 留空则始终启用)
formatDate: '4-1'
# 格式化样式: binary(二进制)/octal(八进制)/hex(十六进制)/simple(简单表达式)/complex(复杂表达式)
scoreFormat: 'simple'

3. 消息配置

# 消息内容 (支持 {money} 等占位符)
template: '{at}你今天的人品值是:{score}{message}'
# 图源地址 (可以是网络JSON链接或本地文件夹路径)
imagesPath: 'https://raw.githubusercontent.com/YisRime/koishi-plugin-onebot-tool/main/resource/pixiv.json'
# 启用区间消息
enableRange: true
# ... 区间消息与特殊消息配置 ...```

### 4. 货币配置 (`koishi-plugin-monetary` 联动)

```yaml
# 启用货币支持
enableMonetary: false
# 签到奖励
rewardRule: '50-150'
# 启用累签惩罚
enableRepeatPenalty: false
# 累签惩罚
penaltyRule: '50'

货币系统详解

本插件可通过 rewardRulepenaltyRule 两个配置项,实现高度灵活的奖惩逻辑。

规则语法

您可以在规则输入框中使用以下任意一种格式:

| 格式 | 示例 | 说明 | | :--- | :--- | :--- | | 固定值 | 50 | 奖励或惩罚一个固定的数值。奖励规则中可使用负数,如 -50。 | | 随机整数范围 | 50-100 | 在指定的两个整数之间(包含边界)随机取一个值。 | | 固定倍率 | 1.5x | 基于当前获得的人品分数,乘以一个固定的倍率。 | | 随机倍率范围 | 0.5x-1.5x | 基于人品分数,乘以一个在指定范围内的随机倍率。 |

工作机制

  • rewardRule (奖励规则): 当用户当天第一次使用 jrrp 命令时触发。
    • 示例: 设置为 1.5x,用户人品值为 80,则奖励 80 * 1.5 = 120 货币。
  • penaltyRule (惩罚规则): 当用户在同一天重复使用 jrrp 命令时触发。
    • 规则计算出的值将自动转为负数进行扣除。
    • 示例: 设置为 50-100,用户重复签到,将被随机扣除 50 到 100 的货币。
    • 注意: 扣除操作会检查用户余额,若余额不足,则不会执行。

算法详解

线性同余算法 (linear)

默认算法。使用线性同余生成器,通过一个简单的哈希函数(基于用户ID和日期)生成伪随机数。计算速度快,分布均匀。

正态分布算法 (gaussian)

使用正态分布(高斯分布)进行计算。生成的分数会更倾向于聚集在中间值(50)附近,而两端(0和100)的极值出现的概率较低。

Random.org API (randomorg)

通过调用 Random.org 的 API 获取基于大气噪声的真随机数。

  • 需要提供有效的 API 密钥
  • 当 API 请求失败或超时时,会自动降级使用线性同余算法
  • 在此模式下,jrrp.dayjrrp.score 命令将被禁用,因为真随机数是无法预测的。

消息配置

消息模板 (template) 支持丰富的占位符:

  • {at}: @当前用户。
  • {username}: 当前用户的昵称。
  • {score}: 经过格式化后的人品分数值。
  • {message}: 根据分数和日期匹配到的区间或特殊消息。
  • {money}: 显示本次操作中获得的奖励(正数)或惩罚(负数)。若无货币变动,则此占位符被移除。
  • {hitokoto}: 从 v1.hitokoto.cn 获取一句话。
  • {image:URL}: 发送指定 URL 的图片。
  • {pixiv}: 发送一张来自 imagesPath 的随机图片。
  • {~}: 消息分隔符,可将一条消息分段发送。