📖 介绍
本插件基于 MsgRankCard 项目改写,是一个 NoneBot2 插件,用于记录群聊消息并生成精美的每日水群排行榜图片。
功能特点:
- 📝 自动记录群聊消息数量和在线时长
- 🎨 生成精美的排行榜图片,支持自定义背景、边框和字体
- 🥇 自动使用排行榜第一名的 QQ 头像作为背景
- 🕐 排行榜图片显示当前北京时间,发图前会播报日报/周报/月报类型;周报/月报还会显示统计起止日期
- ⏳ 在线时长超过 24 小时时按「X天X时X分」显示
- 🔔 发送周报/月报时会 @上榜成员(日报不 @)
- 🖼️ 自动获取用户 QQ 头像
- 🏆 支持查看今日、本周和本月水群排行榜
- 🔔 支持 Superuser 开启排名变动提醒,名次变化后自动重发榜单
- ⏰ 支持按小时定时发送日榜,以及每天定时发送周榜和月榜
- 🧹 支持自动清理过期数据,默认保留35天
💿 安装
使用 nb-cli 安装
在 nonebot2 项目的根目录下打开命令行,输入以下指令即可安装
nb plugin install nonebot-plugin-msg-rank-card
使用包管理器安装
在 nonebot2 项目的插件目录下,打开命令行,根据你使用的包管理器,输入相应的安装命令
pip
pip install nonebot-plugin-msg-rank-card
poetry
poetry add nonebot-plugin-msg-rank-card
打开 nonebot2 项目根目录下的 pyproject.toml 文件,在 [tool.nonebot] 部分追加写入
plugins = ["nonebot_plugin_msg_rank_card"]
⚙️ 配置
在 nonebot2 项目的 .env 文件中添加下表中的配置
| 配置项 | 必填 | 默认值 | 说明 |
|---|---|---|---|
| msg_rank_data_path | 否 | data/msg_rank | 数据存储路径 |
| msg_rank_resource_path | 否 | 插件目录/resources | 资源文件路径(背景图、边框、字体) |
| msg_rank_max_count | 否 | 10 | 排行榜最大显示人数 |
| msg_rank_auto_clean | 否 | true | 是否每天自动清理过期数据 |
| msg_rank_data_retention_days | 否 | 35 | 每日统计数据保留天数(最低31天) |
| msg_rank_title | 否 | 今日水群排行榜 | 排行榜标题 |
🎉 使用
指令表
| 指令 | 权限 | 需要@ | 范围 | 说明 |
|---|---|---|---|---|
| 水群榜 / msgrank | 群员 | 否 | 群聊 | 查看今日水群排行榜 |
| 周水群榜 / 周榜 | 群员 | 否 | 群聊 | 查看本周一至今日的汇总排行榜 |
| 月水群榜 / 月榜 | 群员 | 否 | 群聊 | 查看本月1日至今日的汇总排行榜 |
| 排名变动提醒 开启|关闭|状态 | Superuser | 否 | 群聊 | 管理本群排名变动提醒 |
| 日榜定时 1-168|关闭|状态 | Superuser | 否 | 群聊 | 按指定小时间隔自动发送今日榜 |
| 周榜定时 HH:MM|关闭|状态 | Superuser | 否 | 群聊 | 每天指定时间自动发送本周榜 |
| 月榜定时 HH:MM|关闭|状态 | Superuser | 否 | 群聊 | 每天指定时间自动发送本月榜 |
| 清理水群数据 / clean_msgrank | 群主/管理员 | 否 | 群聊 | 清理过期数据 |
排名变动提醒默认关闭,开关按群保存。开启后,只有榜单成员或名次顺序发生变化时才会提醒;消息数增加但名次不变时不会重复发送。
定时任务默认关闭,按群保存,机器人重启后会自动恢复。HH:MM 使用 NoneBot APScheduler 配置的时区(默认 Asia/Shanghai)。
效果图
插件会自动记录群聊消息,发送 /水群榜 即可生成精美排行榜图片。
馒头好感度联动(可选)
同时加载 nonebot-plugin-mantou-affection 后,日榜、周榜、月榜和定时榜单都会在每位成员旁显示
“馒头好感 + 当前关系称号 + 一句随好感阶段变化的馒头短评”。好感数据按群读取;
未加载好感度插件、好感度读取失败或该阶段没有文案时卡片保持原样,只是不显示短评。
短评取自好感度插件的 msg_rank_card.rank 场景(按 neutral/warm/close/flirty/intimate 五个阶段),
文案过长时会自动截断,不会盖住排名图案。
自定义资源
当第一名头像下载失败时,插件才会回退到 resources 文件夹中的背景图。你可以替换这些资源文件:
bg/- 背景图片(随机选择)frame/- 排名边框装饰ttf/- 自定义字体(第一个 ttf 文件会被使用)
📄 许可证
本项目基于 MsgRankCard 改写,采用 MIT 许可证。
Metadata
Release files for nonebot-plugin-msg-rank-card 0.1.13
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| nonebot_plugin_msg_rank_card-0.1.13.tar.gz | 9.0 MB | Without provenance | Details for nonebot_plugin_msg_rank_card-0.1.13.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| nonebot_plugin_msg_rank_card-0.1.13-py3-none-any.whl | Python 3 | none | any | Details for nonebot_plugin_msg_rank_card-0.1.13-py3-none-any.whl |
Total release size: 18.0 MB
Release files / nonebot_plugin_msg_rank_card-0.1.13.tar.gz
| Download URL | nonebot_plugin_msg_rank_card-0.1.13.tar.gz |
|---|---|
| Size | 9.0 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5b119f18757158dd0985494f4c88e2ada54cfe0b5e917f9cb53cab0fd6532a93
|
|
BLAKE2b-256 checksum How to use checksums |
85cfc4953f238070da151d2b817de3175b6c47d0f62684e3594980c0e3fbe481
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.9
|
Release files / nonebot_plugin_msg_rank_card-0.1.13-py3-none-any.whl
| Download URL | nonebot_plugin_msg_rank_card-0.1.13-py3-none-any.whl |
|---|---|
| Size | 9.0 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cc728e24d170056ffa163fda50559944bd3c9a87108ba34269ece1ff7d5ce193
|
|
BLAKE2b-256 checksum How to use checksums |
f3d2816268771b9757158edbf4441409797ab2e62d6cd95fd86b23cf94cd0b1d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.9
|
Security for nonebot-plugin-msg-rank-card 0.1.13
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.