Jrrp 插件
一个基于 AstrBot 的插件,每日为用户生成一次人品值,并提供对应的运势文案。数据使用 JSON 文件进行持久化保存,每天自动刷新。
功能特性
- 每个用户每天只能生成一次人品值。
- 自动保存并在日期变更时重置数据。
- 根据人品值(0~100)提供对应的运势提示。
- 使用 JSON 文件持久化数据,支持跨重启保存。
- 可选支持 特殊用户规则(例如某些用户固定满值或为 0)。
安装与使用
1. 将插件放置到 AstrBot 插件目录
把本项目文件夹复制到 AstrBot 的插件目录中,例如:
astrbot/plugins/jrrp
2. 运行 AstrBot
启动 AstrBot,插件会自动加载,日志中应能看到:
Jrrp 插件 (JSON持久化版) 加载成功。数据已从文件加载。
3. 使用指令
用户可以输入以下指令:
/jrrp
机器人会返回类似结果:
张三 今天的人品值是: 42
今日运势:平平 ☁️ 保持平常心,稳中求进
文件说明
main.py:插件主文件,包含指令逻辑与数据管理。data/jrrp_data.json:自动生成的数据文件,保存用户人品值与日期。example_special_rules.py: 含特殊用户规则的插件程序
自定义
你可以修改 jrrp_text 字典,定义自己的人品值运势提示文案。例如:
jrrp_text = {
0: "今日运势:极差 ⚠️ 适合在家睡觉",
100: "今日运势:满分 ✨ 幸运爆棚!",
}
添加特殊用户规则
如果想让某些用户始终生成固定的人品值,可以在代码中加入类似的配置:
SPECIAL_RULES = {
"123456789": lambda: 100, # 用户 ID 为 123456789 的用户固定 100
"114541": lambda: 0, # 用户 ID 为 114514 的用户固定 0
"1919810": lambda: random.choice([0, random.randint(0, 100)]) # 用户 ID 为 1919810 的用户有概率为 0
}
并在生成逻辑中引用:
new_jrrp: int = SPECIAL_RULES.get(user_id, lambda: random.randint(0, 100))()
- 这样可以灵活为特定用户设定规则,其余用户依然正常随机。
- 示例在仓库的中的example_special_rules.py 有展示
依赖
- Python 3.8+
- AstrBot 框架
License
本项目基于 MIT License 开源。