Skip to main content
改群名插件头图

🏷️ 改群名 · Group Rename

面向 PJSK、BanG Dream! 等使用五位房间号的固车、冲榜群的 NoneBot 插件

Python >= 3.10 NoneBot >= 2.4.4 OneBot V11 Version 0.1.2 MIT License

适用范围 · 主要功能 · 快速开始 · 指令与效果 · 配置

本项目参考了 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。

如果启动时群开关文件无法读取,插件会关闭所有群并禁止修改开关,保留原文件;修复文件后重启 Bot 恢复使用。


📋 版本记录

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.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nonebot-plugin-group-rename 0.1.2
File Size Uploaded Provenance Actions
nonebot_plugin_group_rename-0.1.2.tar.gz 22.1 kB Without provenance Details for nonebot_plugin_group_rename-0.1.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for nonebot-plugin-group-rename 0.1.2
File Interpreter ABI Platform Actions
nonebot_plugin_group_rename-0.1.2-py3-none-any.whl Python 3 none any Details for nonebot_plugin_group_rename-0.1.2-py3-none-any.whl

Total release size: 36.6 kB

Release files / nonebot_plugin_group_rename-0.1.2.tar.gz

Download URL nonebot_plugin_group_rename-0.1.2.tar.gz
Size 22.1 kB
Tags Source
SHA-256 checksum
How to use checksums
3fd22ea4968a06610f6b92f211fa4357b61c959812211e7de598599a24aa3aa9
BLAKE2b-256 checksum
How to use checksums
0adf91c5fafb7bb779654ef9e1256eda6899b219949e6450c8c75473353ec620
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.2-py3-none-any.whl

Download URL nonebot_plugin_group_rename-0.1.2-py3-none-any.whl
Size 14.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9bc2062bd1b834af4e93c2770d05051c156cdac5d5d6871d0c0534c89b567b01
BLAKE2b-256 checksum
How to use checksums
8190fcb22a8b77e7f3e0053af88aa88bacdc538de44d6e45509942acfc105575
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.2

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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page