🏷️ 改群名 · Group Rename
面向 PJSK、BanG Dream! 等使用五位房间号的固车、冲榜群的 NoneBot 插件
本项目参考了 luban652 的 AstrBot 群名前缀插件的功能需求
🎯 适用范围
适合 PJSK、BanG Dream! 等使用五位数字房间号的固车、冲榜群。
群管理员开启后,在群内发送房间号,Bot 会移除群名中的旧号码,并把新号码放在群名开头;
发送 清空 可移除号码。插件依据群消息中的数字工作,不区分具体游戏。
✨ 主要功能
| 功能 | 行为 |
|---|---|
| 车牌改名 | 群内发送独立的连续五位 ASCII 数字 0–9(车牌),将其放在群名开头 |
| 清空车牌 | 发送 清空,移除群名中的连续五位及以上数字 |
| 按群开关 | 默认关闭,由群管理员及以上在目标群内开启或关闭 |
| 混合消息 | 数字或“清空”可与 @、图片、回复同条发送;数字不能被非文本消息段隔开 |
| 防止覆盖 | 同一群的改名串行处理,并有默认 1 秒操作冷却;同群每个冷却周期最多提示一次 |
🚀 快速开始
环境要求:
- Python
>= 3.10 - NoneBot
>= 2.4.4 - OneBot V11 适配器
- Pydantic
>= 1.10.0, < 3.0.0(兼容 v1、v2) - 机器人账号具备修改目标群名称的权限
将仓库放到 Bot 设备上,在该 Bot 的 Python 环境中运行:
pip install -e /path/to/nonebot-plugin-group-rename
上架 NoneBot 商店后,可在 Bot 项目中使用 NB-CLI 安装:
nb plugin install nonebot-plugin-group-rename
如果手动管理插件加载,请在 NoneBot 初始化后加载:
nonebot.load_plugin("nonebot_plugin_group_rename")
确认 Bot 已加载 OneBot V11 适配器,并在 COMMAND_START 中包含 /。随后由群管理员、群主或 SUPERUSER 在目标群发送 /group_rename on 或 /改群名 on。首次安装时所有群均关闭。
⌨️ 指令与效果
群开关
| 指令 | 权限 | 作用 |
|---|---|---|
/group_rename on 或 /改群名 on |
群管理员、群主或 SUPERUSER | 开启当前群 |
/group_rename off 或 /改群名 off |
群管理员、群主或 SUPERUSER | 关闭当前群 |
/group_rename status 或 /改群名 status |
群管理员、群主或 SUPERUSER | 查看当前群状态 |
12345 |
默认群成员;开启管理员限制后仅上述管理员 | 将 12345 设置为群名车牌 |
清空 |
默认群成员;开启管理员限制后仅上述管理员 | 从群名移除旧车牌 |
SUPERUSER 权限依据 NoneBot 的 SUPERUSERS 配置判定,支持纯 ID 和 onebot:ID 两种写法;群开关命令仍只在群内生效。
改名前后举例
| 原群名 | 群消息 | 修改后 | 原因 |
|---|---|---|---|
冲榜群 |
12345 |
12345 冲榜群 |
新增车牌 |
12345 冲榜群 |
67890 |
67890 冲榜群 |
替换旧车牌 |
1234567冲榜群 |
67890 |
67890 冲榜群 |
连续五位及以上数字整体移除 |
12345 冲榜群 |
清空 |
冲榜群 |
清除车牌 |
12345 |
67890 |
67890 |
原群名只剩车牌时仅替换 |
12345 |
清空 |
12345 |
清空会得到空群名,因此保留原名并提示先手动设置群名 |
发送 @某人 12345、[回复]12345 或 12345[图片] 仍可触发。12[图片]345、123456、文字 12345、全角等非 ASCII 数字和同一条消息里的两段非空文本不会触发。被 group_rename_ignore_patterns 忽略的数字也不会触发。旧群名中的全角等连续五位及以上数字仍会被清理。
⚙️ 配置
不填写参数即可使用默认值,群开关仍默认关闭。
可继续使用 nonebot-plugin-localstore 管理的 config.json,也可通过 NoneBot 标准配置入口提供同名参数。
只使用 JSON 时无需填写 .env。
配置优先级:NoneBot 显式配置 > JSON 配置文件 > 插件默认值。 参数在启动时读取,修改后需重启 Bot;JSON 格式错误、未知字段或非法参数会阻止插件加载,并记录具体错误。
| 参数 | 默认值 | 说明 |
|---|---|---|
group_rename_max_length |
30 |
目标群名的最长字符数,最小为 5 |
group_rename_enable_notify |
true |
冷却、读取或修改群名失败、仅剩车牌无法清空时发送提示 |
group_rename_admin_only |
false |
开启后仅允许群管理员、群主或 SUPERUSER 通过车牌消息触发改名 |
group_rename_ignore_patterns |
[] |
忽略的五位数字,使用 JSON 数组 |
group_rename_cooldown_seconds |
1 |
每群改名尝试的冷却秒数 |
group_rename_priority |
1 |
群开关命令与自动改名的响应优先级,非负整数;数值越小越先处理 |
例如,在 config.json 中只填写需要覆盖的参数:
{
"group_rename_admin_only": true,
"group_rename_ignore_patterns": ["12345", "99999"],
"group_rename_priority": 1
}
例如 JSON 将冷却设为 10 秒,同时 NoneBot 显式配置设为 30 秒,最终使用 30 秒。
插件不主动阻断后续消息处理;若前面的其他插件阻断消息,本插件可能无法收到该消息,可按宿主需求调整优先级。
群开关状态另存在 nonebot-plugin-localstore 管理的数据目录下的 groups.json,不与参数配置混用;换设备时复制该状态文件,或在目标群重新执行 /group_rename on。
配置与数据路径遵守 localstore 的 localstore_plugin_config_dir、localstore_plugin_data_dir 插件专属目录设置。
如果启动时群开关文件无法读取,插件会关闭所有群并禁止修改开关,保留原文件;修复文件后重启 Bot 恢复使用。
📋 版本记录
0.1.3
- 使用 localstore 插件专属路径接口,遵守宿主为本插件指定的配置与数据目录。
0.1.2
- 兼容 Pydantic v1、v2,并为两版环境增加 CI 测试。
- 通过 NoneBot 标准配置入口合并参数,保留独立 JSON;宿主显式配置优先。
- 群开关命令与自动改名支持配置响应优先级,默认处理顺序不变。
0.1.1
- SUPERUSER 权限兼容纯 ID 和
onebot:ID,群开关和管理员模式使用同一套官方权限判定。 - 新车牌仅接受五位 ASCII 数字;保留旧群名的数字清理规则。
- 群开关文件读取失败时保留原文件并禁止写入,避免后续操作覆盖群记录。
- 同群每个冷却周期最多提示一次,减少连续车牌消息产生的重复回复。
- 测试使用无服务器驱动,增加 CI 与发布前测试门禁,构建依赖下限修正为 setuptools 77。
0.1.0
- 支持 OneBot V11 群内发送连续五位数字更新群名,发送“清空”移除旧号码;@、图片和回复可与号码同条发送。
- 群开关默认关闭,由群管理员及以上在目标群管理;开关状态单独保存。
- 同群改名串行处理,默认冷却 1 秒;号码与原群名之间保留空格,清空后群名为空时保留原名。
- 使用独立 JSON 文件配置插件参数。
本项目代码采用 MIT License。
Metadata
Release files for nonebot-plugin-group-rename 0.1.3
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_group_rename-0.1.3.tar.gz | 23.2 kB | Without provenance | Details for nonebot_plugin_group_rename-0.1.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| nonebot_plugin_group_rename-0.1.3-py3-none-any.whl | Python 3 | none | any | Details for nonebot_plugin_group_rename-0.1.3-py3-none-any.whl |
Total release size: 37.8 kB
Release files / nonebot_plugin_group_rename-0.1.3.tar.gz
| Download URL | nonebot_plugin_group_rename-0.1.3.tar.gz |
|---|---|
| Size | 23.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
88fa52fe501e8c6d715dd598ee0c13ceeda37573393c6e05943f1bdbb6c8b5eb
|
|
BLAKE2b-256 checksum How to use checksums |
2d28bd998d7c86edb2c9869661496d1a7fe636da48b01a30b28d937d218a22c7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / nonebot_plugin_group_rename-0.1.3-py3-none-any.whl
| Download URL | nonebot_plugin_group_rename-0.1.3-py3-none-any.whl |
|---|---|
| Size | 14.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5fc7176f985fb583e7d116ce9ba3ebf4ecd2d2e3f625645ac2bc367f2b7d3e91
|
|
BLAKE2b-256 checksum How to use checksums |
d7a43861c3ab4deed716a9133bc48d9d366751615c39c4fb79077dcad94b36b1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Security for nonebot-plugin-group-rename 0.1.3
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.