https://github.com/yzyyz1387/nonebot_plugin_admin
Nonebot2 群管插件,不仅仅是踢禁改
https://github.com/yzyyz1387/nonebot_plugin_admin
admin nonebot2 plugin
Last synced: 3 months ago
JSON representation
Nonebot2 群管插件,不仅仅是踢禁改
- Host: GitHub
- URL: https://github.com/yzyyz1387/nonebot_plugin_admin
- Owner: yzyyz1387
- License: agpl-3.0
- Created: 2021-12-22T20:25:42.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-01-02T12:43:05.000Z (over 1 year ago)
- Last Synced: 2026-03-28T00:57:55.903Z (3 months ago)
- Topics: admin, nonebot2, plugin
- Language: Python
- Homepage:
- Size: 768 KB
- Stars: 158
- Watchers: 4
- Forks: 19
- Open Issues: 25
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
**你的star是我的动力**
**↓**
# 简易群管 (上岸缓更)
~~[dev分支](https://github.com/yzyyz1387/nonebot_plugin_admin/tree/dev)~~
_✨ NoneBot2 (有点不)简易群管✨ _
[//]: # ([](https://wakatime.com/badge/user/e4795d94-d154-4c3d-a94b-b655c82e57f4/project/d4a8cb5e-ee86-4ad9-99e5-48873f38c3bd))
踢 改 禁.......
**欢迎 ISSUES PR**
**权限说明:见下方指令↓**
## 安装💿(pip)
`pip install nonebot-plugin-admin`
### 导入📲
在**bot.py** 导入,语句:
`nonebot.load_plugin("nonebot_plugin_admin")`
请注意与nonebot版本适配,匹配请查看:[更新](#%E6%9B%B4%E6%96%B0-1)
**Python 3.9+**
## 安装💿(nb plugin)
`nb plugin install nonebot-plugin-admin`
## 更新
`pip install --upgrade nonebot-plugin-admin `
## 配置
**鉴黄配置**:
腾讯云图片安全,开通地址:[https://console.cloud.tencent.com/cms](https://console.cloud.tencent.com/cms)
文档:[https://cloud.tencent.com/document/product/1125](https://cloud.tencent.com/document/product/1125)
需要使用此功能时在 `.env.*` 文件中加入以下内容,并且设置你自己的 `api id` 与 `api key`【不需要此功能可以不配置】:
```
# 腾讯云图片安全api
tenid="xxxxxx"
tenkeys="xxxxxx"
# 是否开启禁言等操作的成功提示【不开启的话踢人/禁言等成功没有QQ消息提示】
callback_notice=true # 如果不想开启设置成 false 或者不添加此配置项【默认关闭】
```
✨Pay tribute to A60 [https://github.com/djkcyl/ABot-Graia](https://github.com/djkcyl/ABot-Graia)
**早晚安配置**
额外依赖pip install nonebot_plugin_apscheduler
定时推送群消息需要在.evn中配置:
```yaml
send_group_id = ["xxx","xxx"] # 必填 群号
send_switch_morning = False # 选填 True/False 默认开启 早上消息推送是否开启
send_switch_night = False # 选填 True/False 默认开启 晚上消息推送是否开启
send_mode = 1 # 选填 默认模式2 模式1发送自定义句子,模式2随机调用一句
send_sentence_morning = ["句子1","句子2","..."] # 如果是模式1 此项必填,早上随机发送该字段中的一句
send_sentence_night = ["句子1","句子2","..."] # 如果是模式1 此项必填,晚上随机发送该字段中的一句
send_time_moring = "8 0" # 选填 早上发送时间默认为7:00
send_time_night = "23 0" # 选填 晚上发送时间默认为22:00
```
更多配置项请查看 [config.py](./nonebot_plugin_admin/config.py)
## 注意
**[dev分支](https://github.com/yzyyz1387/nonebot_plugin_admin/tree/dev)由于API的加入,首次使用本插件时,会终止机器人程序,需要再启动一次**
**控制台会有对应提示**
## 指令💻
**Tips:**
- 关于命令,对/sp这类`斜杠+英文`的命令做了保留,汉字命令去除了`/`若使用者担心错误触发,可下载源码自行修改`__init__.py`
- 群词云功能所用库 wordcloud 未写入依赖,请自行安装:`pip install wordcloud` 安装失败参考:[WordCloud 第三方库安装失败原因及解决方法](https://www.freesion.com/article/4756295761/)
- 一般情况下可正常使用,可能由于权重出现问题,matcher权重请自行查看代码
- 使用`开关状态`指令查看各功能状态,首次使用可能会下载100Mb+的`Chromium`,请耐心等待
```
【初始化】:
群管初始化 :初始化插件
【群管】:
权限:permission=SUPERUSER | GROUP_ADMIN | GROUP_OWNER
禁言:
禁 @某人 时间(s)[1,2591999]
禁 时间(s)@某人 [1,2591999]
禁 @某人 缺省时间则随机
禁 @某人 0 可解禁
解 @某人
禁言时,该条消息中所有数字都会组合作为禁言时间,如:‘禁@某人 1哈2哈0哈’,则禁言120s
全群禁言 若命令前缀不为空,请使用//all,若为空,需用 /all 来触发
/all
/all 解
改名片
改 @某人 名片
踢出:
踢 @某人
踢出并拉黑:
黑 @某人
撤回:
撤回 (回复某条消息即可撤回对应消息)
撤回 @user [(可选,默认n=5)历史消息倍数n] (实际检查的历史数为 n*19)
设置精华
回复某条消息 + 加精
取消精华
回复某条消息 + 取消精华
【头衔】
改头衔
自助领取:头衔 xxx
自助删头衔:删头衔
超级用户更改他人头衔:头衔 @某人 头衔
超级用户删他人头衔:删头衔 @某人
【管理员】permission=SUPERUSER | GROUP_OWNER
gl+ @xxx 设置某人为管理员
管理员+ @xxx 设置某人为管理员
管理员加 @xxx 设置某人为管理员
加管理 @xxx 设置某人为管理员
gl- @xxx 取消某人管理员
管理员- @xxx 取消某人管理员
管理员减 @xxx 取消某人管理员
减管理 @xxx 取消某人管理员
【加群自动审批】:
群内发送 permission=GROUP_ADMIN | GROUP_OWNER | SUPERUSER
查看词条 : 查看本群审批词条 或/审批
ct+ [词条] :增加审批词条 或/审批+
词条+ [词条] :增加审批词条 或/审批+
ct- [词条] :删除审批词条 或/审批-
词条- [词条] :删除审批词条 或/审批-
按照黑名单自动拒绝:(当验证消息与黑名单内容匹配时,自动拒绝)
添加示例:
jj+管理员你好,请通过一下
ctjj+管理员你好,请通过一下
词条拒绝+管理员你好,请通过一下
拒绝词条+管理员你好,请通过一下
/spx+管理员你好,请通过一下
删除示例:
jj-管理员你好,请通过一下
ctjj-管理员你好,请通过一下
词条拒绝-管理员你好,请通过一下
拒绝词条-管理员你好,请通过一下
/spx-管理员你好,请通过一下
【superuser】:
所有词条 : 查看所有审批词条 或/su审批
zdct+ [词条] :增加审批词条
指定词条+ [群号] [词条] :增加指定群审批词条
指定词条加 [群号] [词条] :增加指定群审批词条 或/su审批+
zdct- [词条] :删除审批词条
指定词条- [群号] [词条] :删除指定群审批词条
指定词条减 [群号] [词条] :删除指定群审批词条 或/su审批-
自动审批处理结果将发送给superuser
【分群管理员设置】*分管:可以接受加群处理结果消息的用户
群内发送 permission=GROUP_ADMIN | GROUP_OWNER | SUPERUSER
fg+ [user] :user可用@或qq 添加分群管理员
分管+ [user] :user可用@或qq 添加分群管理员
分管加 [user] :user可用@或qq 添加分群管理员
fg- [user] :删除分群管理员
分管- [user] :删除分群管理员
分管减 [user] :删除分群管理员
查看分管 :查看本群分群管理员
群内或私聊 permission=SUPERUSER
所有分管 :查看所有分群管理员
群管接收 :打开或关闭超管消息接收(关闭则审批结果不会发送给superusers)
【群词云统计】
该功能所用库 wordcloud 未写入依赖,请自行安装
群内发送:
记录本群 : 开始统计聊天记录 permission=GROUP_ADMIN | GROUP_OWNER | SUPERUSER
停止记录本群 :停止统计聊天记录
群词云 : 发送词云图片
更新mask : 更新mask图片
增加停用词 停用词1 停用词2 ...
删除停用词 停用词1 停用词2 ...
停用词列表 : 查看停用词列表
群发言排行
- 日:
- 日榜首:今日榜首, aliases={'今天谁话多', '今儿谁话多', '今天谁屁话最多'}
- 日排行:今日发言排行, aliases={'今日排行榜', '今日发言排行榜', '今日排行'}
- 昨日排行
- 总
- 总排行:排行, aliases={'谁话多', '谁屁话最多', '排行', '排行榜'}
- 某人发言数
- 日:今日发言数@xxx, aliases={'今日发言数', '今日发言', '今日发言量'}
- 总:发言数@xxx, aliases={'发言数', '发言', '发言量'}
【被动识别】
涩图检测:
- 图片检测偏向于涩图检测,90分以上色图禁言,其他基本不处理
- 用户违禁一次等级+1 最高7级
- 禁言时间(s):
- time_scop_map = {
0: [0, 5*60],
1: [5*60, 10*60],
2: [10*60, 30*60],
3: [30*60, 10*60*60],
4: [10*60*60, 24*60*60],
5: [24*60*60, 7*24*60*60],
6: [7*24*60*60, 14*24*60*60],
7: [14*24*60*60, 2591999]
}
违禁词检测:
(如果要使用正则匹配,暂时需要用户自定编辑【机器人项目/config/违禁词.txt】,后续会优化,有需要请提issue催更)
- 支持正则表达式(使用用制表符分隔)
- 可定义触发违禁词操作(默认为禁言+撤回)
- 可定义生效范围(排除某些群 or 仅限某些群生效)
- 示例:
- 加(群|君\S?羊|羣)\S*\d{6,} $撤回$禁言$仅限123456789,987654321
- 狗群主 $禁言$排除987654321
【功能开关】
群内发送:
开关xx : 对某功能进行开/关 permission=SUPERUSER | GROUP_ADMIN | GROUP_OWNER
开关状态 : 查看各功能的状态
xx in :
['管理', '踢', '禁', '改', '基础群管'] #基础功能 踢、禁、改、管理员+-
['加群', '审批', '加群审批', '自动审批'] #加群审批
['词云', '群词云', 'wordcloud'] #群词云
['违禁词', '违禁词检测'] #违禁词检测
['图片检测', '图片鉴黄', '涩图检测', '色图检测'] #图片检测
['消息记录', '群消息记录', '发言记录'],
['早安晚安', '早安', '晚安'],
['广播消息', '群广播', '广播'],
['事件通知', '变动通知', '事件提醒'],
['防撤回', '防止撤回']
图片检测和违禁词检测默认关,其他默认开
【广播】permission = SUPERUSER
本功能默认关闭
"发送【广播】/【广播+[消息]】可广播消息"
"发送【群列表】可查看能广播到的所有群"
"发送【排除列表】可查看已排除的群"
"发送【广播排除+】可添加群到广播排除列表"
"发送【广播排除-】可从广播排除列表删除群"
"发送【广播帮助】可查看广播帮助"
发送【开关广播】来开启/关闭(意义不大)
【特殊事件提醒】
包括管理员变动,加群退群等...
待完善
发送【开关事件通知】来开启/关闭功能 permission=SUPERUSER | GROUP_ADMIN | GROUP_OWNER
【防撤回】
默认关闭
发送【开关防撤回】开启或关闭功能 permission=SUPERUSER | GROUP_ADMIN | GROUP_OWNER
【群员清理】
群内发送 permission=SUPERUSER | GROUP_OWNER
该功能暂不被开关控制
发送【群员清理】可根据[等级] 或 [发言时间] 清理群员
在执行此命令时,当前群会对此操作加锁,防止其他人同时操作,如果出现问题,可执行【清理解锁】来手动解锁
```
截图🖼
**禁 改 踢**

**管理员+ -**

**群词云**

**违禁词检测**

**图片检测**

**功能开关**

## TODO
- [x] 加群自动审批[#issues1](https://github.com/yzyyz1387/nonebot_plugin_admin/issues/1)
- [x] /sp在未配置群聊中的提示
- [x] /删头衔bug修复
- [x] 加群处理状态分群分用户发送[#issues2](https://github.com/yzyyz1387/nonebot_plugin_admin/issues/2)
- [x] 关键词禁言,图片鉴黄(简单实现),[#issues3](https://github.com/yzyyz1387/nonebot_plugin_admin/issues/3)
- [ ] 恶意检测, [#issues3](https://github.com/yzyyz1387/nonebot_plugin_admin/issues/3)
- [ ] ~~鉴黄置信度呈现~~
- [x] 头衔命令所有人可用,删头衔命令加权限
- [x] 修复加群审批默认处理规则
- [x] 词云停用词优化
- [x] 分群群词云自定义停用词
- [x] 违禁词优化
- [ ] 全局开关
- [ ] 潜水查询
- [ ] 群聊内容分析
- [ ] 写一个文档
- [ ] 一些大事
## 感谢贡献者们
BalconyJH
Lakwsh
幼稚园园长
A Lucky Guy
NekoPunch!
脑袋里进花生了
DeepSource Bot
更新日志
- 0.3.21
- 优化默认配置;同时增加一个配置项:设置禁言等基础操作是否在 qq 返回操作结果 [#18](https://github.com/yzyyz1387/nonebot_plugin_admin/pull/18)
- 修复`禁@xxx`的buggi
- 0.3.19
- 修复`__init__.py`中的bug🐛 [PULL#17](https://github.com/yzyyz1387/nonebot_plugin_admin/pull/17) [@tom-snow](https://github.com/tom-snow)
- 优化`禁@xxx`,改善灵活性 [#15](https://github.com/yzyyz1387/nonebot_plugin_admin/issues/15)
- `switcher.py`网页截图错误捕捉
- 修改cdn地址
- 修聊天记录编码问题
- 改善违禁词检测功能的灵活性[@lakwsh](https://github.com/yzyyz1387/nonebot_plugin_admin/commits?author=lakwsh)
- 违禁词检测:已支持正则表达式,可定义触发违禁词操作(默认为禁言+撤回)
- 定义操作方法:用制表符分隔,左边为触发条件,右边为操作定义($禁言、$撤回)
- 修复触发违禁词不会阻止事件传播的问题[@lakwsh](https://github.com/yzyyz1387/nonebot_plugin_admin/commits?author=lakwsh)
- 修复可能会导致其他插件无法捕获消息的问题[@lakwsh](https://github.com/yzyyz1387/nonebot_plugin_admin/commits?author=lakwsh)
- 修复部分文件编码错误,开关状态图片乱码及SIGINT信号被劫持的问题[@lakwsh](https://github.com/yzyyz1387/nonebot_plugin_admin/commits?author=lakwsh)
- 0.3.18(beta)
- update LICENSE to AGPL-3.0
- 🐛修复`管理员-`无效的bug
- 🐛修复`简单违禁词`、`严格违禁词`无效的bug
- 🐛修复`禁 解 改`等指令有无空格的问题
- 禁言命令新增不禁言superuser
- 鉴黄api改为腾讯云,请自行开通配置
- 违禁词词库每周一自动更新,手动更新:`更新违禁词库`
- 分群功能开关
- 使用`开关状态`指令查看各功能状态,首次使用可能会下载109Mb的`Chromium`
- 0.3.16(b1)
- 修复启动时`word_analyze`报错
- 修复词云路径错误
- 分词优化
- 图片鉴黄
- 违禁词检测 违禁词词库整理上传于:[f_words](https://github.com/yzyyz1387/nwafu/tree/main/f_words)
- 词库有赘余,欢迎大神pr精简
- 0.3.15(a16)
- 同 0.3.16
- 0.3.6(b1)
- 修复适配错误
- 补充依赖
- 0.3.5(a16)
- 补充依赖(谁教教我项目管理..
- 0.3.4 (b1)
- 0.3.3(a16)
- 修复导入错误
- 修复路径错误
- 0.2.8 (nonebot b1适配)
- b1适配,功能同0.2.7
- 0.2.7 (nonebot a16适配)
- 对应adapter加入依赖
- 优化代码结构
- 增加群词云功能
- 更新后请执行`群管初始化`(不影响已保存的配置)
- 机器人提示`成功`后开始记录本群所有文本内容
- 发送`群词云`使用此功能
- 修复`禁@xxx 60 `这类命令失效的bug
- 0.2.6 (nonebot a16适配)
- 0.2.5 (nonebot b1适配)
- 代码优化
- 踢禁改等命令增加权限:机器人主人,群主,群管理员 `permission=SUPERUSER|GROUP_ADMIN | GROUP_OWNER`
- 增加添加/删除管理员操作,命令:`管理员+@xxx` `管理员-@xxx`
- 修复 `禁言多人而不带具体时间时只禁言第一位`的bug🐛
- 0.2.4 (nonebot b1适配)
- 同0.2.3
- 0.2.3 (nonebot a16适配)
- 代码优化
- 命令去除 `/`
- 摒弃英文命令,改为汉字命令
- 0.2.2 (适配 nonebot b1) [issue#2](https://github.com/yzyyz1387/nonebot_plugin_admin/issues/2)
- **更新后请初始化**:`/spinit`
- 修复未配置时`/sp`,命令出现错误
- 修复`/删头衔`的bug
- 增加分群管理,加群请求处理结果将发送给分群管理
- 加群处理结果消息对 superuser 可开启或关闭: `/sumsg`
- **0.2.1**
- 修复requiers
- **0.1.9**
- 修复初始化功能
- **0.1.0** [issue#1](https://github.com/yzyyz1387/nonebot_plugin_admin/issues/1)
- 支持入群自动审批
- 支持在线对不同群的关键词进行增减操作
- **0.0.1-4**
- 支持 踢 、禁 、改 、头衔
## 其他插件
[简易群管](https://github.com/yzyyz1387/nonebot_plugin_admin)
[在线运行代码](https://github.com/yzyyz1387/nonebot_plugin_code)
[it咨讯(垃圾插件)](https://github.com/yzyyz1387/nonebot_plugin_itnews "it资讯")
[工作性价比(还没更新beta不能用)](https://github.com/yzyyz1387/nonebot_plugin_workscore)
[黑丝插件(jsdelivr问题国内服务器不能用)](https://github.com/yzyyz1387/nonebot_plugin_heisi)
