Skip to content

kuankqaq/astr_bot_jrrp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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 开源。

About

一个简单的astrbot插件,实现每日随机今日人品

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages