nonebot_plugin_rename
nonebot_plugin_rename copied to clipboard
通过定时任务更改bot所在群自己的群名片
trafficstars
- nonebot-plugin-rename
- 📖简介
- 🔐许可
- 💿 安装方法
- 🏷️插件命令
- ⚙️插件配置项
- 🎉目前已实现的群名片功能
- 🧐PR需知
- 🔥鸣谢
📖简介
通过定时任务更改bot(s)所在群自己的群名片
🔐许可
💿 安装方法
使用 nb-cli 安装
在 nonebot2 项目的根目录下打开命令行, 输入以下指令即可安装nb plugin install nonebot-plugin-rename
pip
pip install nonebot-plugin-rename
打开 nonebot2 项目根目录下的 pyproject.toml 文件, 在 [tool.nonebot] 部分追加写入
plugins = ["nonebot_plugin_rename"]
[tool.nonebot]
plugins = []
plugin_dirs = ["src/plugins"]
🏷️插件命令
| 使用方法 | 命令概述 |
|---|---|
| 设置群名片 序号 | 设置群名片 序号(需空格,可带多个序号) |
| 查看群名片列表 | 查看当前支持的所有群名片列表的图片 |
| 查看当前群名片 | 查看当前群名片的设置 |
| 立即更改群名片 序号 | 立即更改当前群组bot名片,后面仅可跟一个序号(bot无返回值) |
| 删除群名片 | 删除当前群组群名片 |
| 设置所有群名片 | 为当前机器人所在所有群设置群名片,仅限超管私聊 |
⚙️插件配置项
| 配置项 | 描述 | 类型 | 默认值 |
|---|---|---|---|
| set_group_card_hour | 间隔时间(小时) | int | 0 |
| set_group_card_minute | 间隔时间(分钟) | int | 30 |
| use_nickname_front | 是否在群名片前加上bot名称 | bool | True |
| self_name | 自定义前缀(需开启上一个配置) | str | None |
| is_one_bot_set_all_group_card | 是否允许与单个bot会话可以设置所有bot所在的群名片 | bool | False |
| is_show_aps_info_log | 是否显示定时任务的info级别日志 | bool | True |
| is_show_hot_search_from | 热搜是否显示来源 | bool | False |
| zk_time_start | 中考开始时间 | str | 06-12 09:00:00 |
| zk_time_end | 中考结束时间 | str | 06-14 11:00:00 |
| hot_search_url | 热搜获取API,1为作者提供,2为tenapi | int | 1 |
| rename_mhy_versions | 原神/星穹铁道特殊版本及其持续时间和版本列表, 配置方法见下文 | dict | 见代码 |
如果要使用中考剩余时间,由于每个地方中考时间并不统一,请务必填写zk_time系列配置项,否则获取的时间并不是你们当地的中考时间节点(开始和结束时间),参考配置如下
zk_time_start="06-12 09:00:00"
zk_time_end="06-14 11:00:00"
原神/星穹铁道的特殊版本及其持续时间和版本列表配置方法示例,建议直接复制后修改,sr代表星穹铁道,gi代表原神,"16": 35代表1.6版本持续35天,以此类推
注意base_time需要和version_list的第一个版本开始时间(按照我给的格式写)保持一致,否则无法正确识别版本,且每个键都需要存在
rename_mhy_versions='
{
"sr": {
"version_list": [16, 20, 21, 22, 23, 24, 25, 26],
"special_versions_dict": {
"16": 35,
"25": 25
},
"base_time": "2023-12-27 11:00:00",
"name": "崩铁"
},
"gi": {
"version_list": [43, 44, 45, 46, 47, 48, 50],
"special_versions_dict": {},
"base_time": "2024-1-31 11:00:00",
"name": "原神"
}
}
'
请注意不要将set_group_card_hour和set_group_card_minute都设为0
由于qq群名片特殊性,间隔太短可能意义并不大反而容易导致风控,建议在30分钟以上
🎉目前已实现的群名片功能
一图流
时间
-- 高考时间 -- 中考时间 -- 原神版本剩余时间 -- 星铁版本剩余时间 -- 北京时间 -- 古代计时制时间
热搜
-- B站热搜 -- 微博热搜 -- 腾讯新闻热搜 -- 百度热搜 -- 知乎热搜 -- 今日头条热搜
一言
-- 每日(次)一言
系统状态
-- 系统内存和cpu信息 -- Bot收发消息汇总
🧐PR需知
PS:由于本人代码比较烂,很多方法实现都比较复杂,所以对pr不是很友好,如果有更好的方法欢迎pr并指正
群名片的生成代码在/card/文件夹内,每种群名片(或者每类)对应一个文件
当新增一个新的群名片样式时,需要在以下几个地方进行修改相应代码使得其生效
- 在
/card/__init__.py内导入你的包 - 在
/utils/card_name.py内的card_list按照格式新增你的文件名和对应的描述以及导包
