✨ Yunzai-Bot 每日运势插件,支持运势生成、等级系统、随机一言、搞怪黄历等丰富功能!
插件 by QingYing & AI
Daily-Attendance-plugin 是一个为 Yunzai-Bot 开发的每日运势插件,提供运势生成、等级系统、随机一言、搞怪黄历等功能。通过本插件,用户可以每日签到获取运势,累积经验值提升等级,享受丰富的互动体验。
- 每日运势生成 - 基于用户ID和日期的伪随机运势,确保每日不同
- 等级系统 - 经验值累积,50个等级等你挑战
- 随机一言 - 来自一言API的精选语录
- 搞怪黄历 - 每日宜忌事项,趣味十足
- 时间问候 - 根据当前时间智能问候
- 动态背景 - 来自API的随机背景图片
- 美观渲染 - 基于HTML模板的精美展示
- JSON配置 - 所有数据配置化,便于修改和维护
- Base64 图片发送 - 图片直接以 base64 格式发送,无需存储到磁盘,提升性能
- 自动清理 - 快照数据自动清理,节省磁盘空间
git clone https://gitee.com/qingyingxbot/Daily-Attendance-plugin.git ./plugins/Daily-Attendance-plugin/git clone https://github.com/QingYingX-Bot/Daily-Attendance-plugin.git ./plugins/Daily-Attendance-plugin/pnpm install --filter=Daily-Attendance-plugin#今日运势或#jrys或#孑然一身—— 获取今日运势#运势统计或#ystj—— 查看个人统计信息#运势帮助或#ysbz—— 查看本帮助#运势数据或#yssj—— 查询当前群聊今日签到情况#运势总数据或#yszsj—— 查询总的今日签到情况(仅当日数据)#运势排行榜或#ysphb—— 查看全局运势排行榜#一言统计或#yytj—— 查看备用一言库统计信息
插件采用 JSON 文件配置方式,所有配置数据存储在 config/ 目录下:
config/levelData.json- 等级数据配置config/fortuneData.json- 运势描述配置config/timeGreetings.json- 时间问候语配置config/Things.json- 黄历事件配置(包含宜忌事项)config/apis.json- API 地址配置config/specialDates.json- 特殊日期配置(可选,用于设置特定日期的运势、一言等)config/hitokotoBackup.json- 备用一言库(自动生成,无需手动配置)
[
{ "level": 0, "exp": 0, "name": "不知名杂鱼" },
{ "level": 1, "exp": 500, "name": "荒野漫步者" },
{ "level": 2, "exp": 1000, "name": "拓荒者" }
][
{ "range": [0, 4], "description": "走平坦的路但会摔倒的程度" },
{ "range": [5, 14], "description": "吃泡面会没有调味包的程度" }
]{
"HITOKOTO_API": "https://v1.hitokoto.cn/",
"BG_API": "https://t.alcy.cc/fj"
}Daily-Attendance-plugin/
├── config/ # 配置文件目录
│ ├── levelData.json # 等级数据配置
│ ├── fortuneData.json # 运势描述配置
│ ├── timeGreetings.json # 时间问候语配置
│ ├── Things.json # 黄历事件配置
│ ├── apis.json # API 地址配置
│ ├── specialDates.json # 特殊日期配置(可选)
│ └── hitokotoBackup.json # 备用一言库(自动生成)
├── controllers/ # 控制器模块
│ └── fortuneController.js # 运势控制器
├── services/ # 服务层模块
│ ├── dataManager.js # 数据管理服务
│ └── snapshotCleanup.js # 快照清理服务
├── core/ # 核心功能模块
│ ├── utils.js # 工具函数
│ ├── logger.js # 日志工具
│ └── path.js # 路径管理
├── resources/ # 资源文件目录
│ └── templates/ # HTML 模板目录
│ └── attendance.html # 运势展示模板
├── data/ # 数据存储目录
│ ├── user_signs/ # 用户签到数据
│ ├── snapshot/ # 快照数据(每日自动清理)
│ └── expired/ # 过期用户数据(2个月未签到)
├── index.js # 插件入口文件
├── package.json # 项目配置文件
└── README.md # 说明文档
- 位置:
data/user_signs/{user_id}.json - 结构:
{
"exp": 1500,
"signDays": 10,
"lastSign": "2024-01-01",
"consecutiveDays": 0
}- 位置:
data/snapshot/ - 命名:
{userId}_{date}.json - 清理:每天00:00 定时清空
fortuneController.js- 插件主控制器,负责指令注册与主流程调度dataManager.js- 用户数据管理,负责读写用户签到数据snapshotCleanup.js- 每日快照清理服务- 运势图片通过 Yunzai 标准渲染器生成
utils.js- 等级、运势、问候语等业务纯函数logger.js- 统一日志工具path.js- 路径管理工具attendance.html- 运势展示模板
所有配置数据都存储在 config/ 目录下的 JSON 文件中,修改后重启插件即可生效。
如有任何问题,欢迎提交 Issue | GitHub Issues 反馈。
本项目采用 MIT 许可证
免责声明:本插件仅供娱乐使用,运势内容为随机生成,请勿迷信。