{"id":34114334,"url":"https://github.com/yzyyz1387/nonebot_plugin_admin","last_synced_at":"2026-04-01T19:18:57.321Z","repository":{"id":38387149,"uuid":"440976028","full_name":"yzyyz1387/nonebot_plugin_admin","owner":"yzyyz1387","description":"Nonebot2 群管插件，不仅仅是踢禁改","archived":false,"fork":false,"pushed_at":"2025-01-02T12:43:05.000Z","size":786,"stargazers_count":158,"open_issues_count":25,"forks_count":19,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-03-28T00:57:55.903Z","etag":null,"topics":["admin","nonebot2","plugin"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yzyyz1387.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-12-22T20:25:42.000Z","updated_at":"2026-02-28T19:38:23.000Z","dependencies_parsed_at":"2024-05-10T13:41:16.879Z","dependency_job_id":null,"html_url":"https://github.com/yzyyz1387/nonebot_plugin_admin","commit_stats":{"total_commits":229,"total_committers":9,"mean_commits":"25.444444444444443","dds":0.222707423580786,"last_synced_commit":"7f0fdb68040fb8885776c7fda7627e39cc409302"},"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"purl":"pkg:github/yzyyz1387/nonebot_plugin_admin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yzyyz1387%2Fnonebot_plugin_admin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yzyyz1387%2Fnonebot_plugin_admin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yzyyz1387%2Fnonebot_plugin_admin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yzyyz1387%2Fnonebot_plugin_admin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yzyyz1387","download_url":"https://codeload.github.com/yzyyz1387/nonebot_plugin_admin/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yzyyz1387%2Fnonebot_plugin_admin/sbom","scorecard":{"id":1245298,"data":{"date":"2026-03-16","repo":{"name":"github.com/yzyyz1387/nonebot_plugin_admin","commit":"e6f4f22b658da0172280852288d9874f5c27305d"},"scorecard":{"version":"v5.4.1-0.20260302234127-4dbf14294ff1","commit":"4dbf14294ff1c660e93a2c6b70159f8f9b7e1051"},"score":3.2,"checks":[{"name":"Code-Review","score":0,"reason":"Found 1/13 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/4dbf14294ff1c660e93a2c6b70159f8f9b7e1051/docs/checks.md#code-review"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/4dbf14294ff1c660e93a2c6b70159f8f9b7e1051/docs/checks.md#binary-artifacts"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/4dbf14294ff1c660e93a2c6b70159f8f9b7e1051/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/4dbf14294ff1c660e93a2c6b70159f8f9b7e1051/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/4dbf14294ff1c660e93a2c6b70159f8f9b7e1051/docs/checks.md#cii-best-practices"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/auto-assign.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/publish-to-test-pypi.yml:8","Warn: no topLevel permission defined: .github/workflows/update-contributor.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/4dbf14294ff1c660e93a2c6b70159f8f9b7e1051/docs/checks.md#token-permissions"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/4dbf14294ff1c660e93a2c6b70159f8f9b7e1051/docs/checks.md#security-policy"}},{"name":"Pinned-Dependencies","score":1,"reason":"dependency not pinned by hash detected -- score normalized to 1","details":["Warn: third-party GitHubAction not pinned by hash: .github/workflows/auto-assign.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/yzyyz1387/nonebot_plugin_admin/auto-assign.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-to-test-pypi.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/yzyyz1387/nonebot_plugin_admin/publish-to-test-pypi.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-to-test-pypi.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/yzyyz1387/nonebot_plugin_admin/publish-to-test-pypi.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/update-contributor.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/yzyyz1387/nonebot_plugin_admin/update-contributor.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/publish-to-test-pypi.yml:23","Warn: pipCommand not pinned by hash: .github/workflows/publish-to-test-pypi.yml:24","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   1 out of   3 third-party GitHubAction dependencies pinned","Info:   0 out of   2 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/4dbf14294ff1c660e93a2c6b70159f8f9b7e1051/docs/checks.md#pinned-dependencies"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/4dbf14294ff1c660e93a2c6b70159f8f9b7e1051/docs/checks.md#packaging"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/4dbf14294ff1c660e93a2c6b70159f8f9b7e1051/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: GNU Affero General Public License v3.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/4dbf14294ff1c660e93a2c6b70159f8f9b7e1051/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/4dbf14294ff1c660e93a2c6b70159f8f9b7e1051/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/4dbf14294ff1c660e93a2c6b70159f8f9b7e1051/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 22 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/4dbf14294ff1c660e93a2c6b70159f8f9b7e1051/docs/checks.md#sast"}}]},"last_synced_at":"2026-03-27T15:38:36.813Z","repository_id":38387149,"created_at":"2026-03-27T15:38:36.813Z","updated_at":"2026-03-27T15:38:36.813Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31291118,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T13:12:26.723Z","status":"ssl_error","status_checked_at":"2026-04-01T13:12:25.102Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["admin","nonebot2","plugin"],"created_at":"2025-12-14T19:32:32.539Z","updated_at":"2026-04-01T19:18:57.305Z","avatar_url":"https://github.com/yzyyz1387.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://v2.nonebot.dev/\"\u003e\u003cimg src=\"https://v2.nonebot.dev/logo.png\" width=\"200\" height=\"200\" alt=\"nonebot\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\n\n\u003cdiv align=\"center\"\u003e  \n  \n**你的star是我的动力**  \n**↓**  \n\u003cimg src=\"https://img.shields.io/github/stars/yzyyz1387/nonebot_plugin_admin.svg?style=social\"\u003e  \n# 简易群管 （上岸缓更）  \n   ~~[dev分支](https://github.com/yzyyz1387/nonebot_plugin_admin/tree/dev)~~\n  _✨ NoneBot2 (有点不)简易群管✨ _    \n\n \n[//]: # ([![wakatime]\u0026#40;https://wakatime.com/badge/user/e4795d94-d154-4c3d-a94b-b655c82e57f4/project/d4a8cb5e-ee86-4ad9-99e5-48873f38c3bd.svg\u0026#41;]\u0026#40;https://wakatime.com/badge/user/e4795d94-d154-4c3d-a94b-b655c82e57f4/project/d4a8cb5e-ee86-4ad9-99e5-48873f38c3bd\u0026#41;)\n\n\n踢 改 禁.......  \n**欢迎 ISSUES PR**\n\u003c/div\u003e  \n\n \n**权限说明：见下方指令↓**\n\n## 安装💿(pip)\n`pip install nonebot-plugin-admin`\n\n### 导入📲\n在**bot.py** 导入，语句：\n`nonebot.load_plugin(\"nonebot_plugin_admin\")`\n\n请注意与nonebot版本适配，匹配请查看：[更新](#%E6%9B%B4%E6%96%B0-1)\n**Python 3.9+**\n\n## 安装💿(nb plugin)\n`nb plugin install nonebot-plugin-admin`\n\n\n## 更新\n\n`pip install --upgrade nonebot-plugin-admin `\n\n## 配置\n**鉴黄配置**：  \n腾讯云图片安全，开通地址：[https://console.cloud.tencent.com/cms](https://console.cloud.tencent.com/cms)  \n文档：[https://cloud.tencent.com/document/product/1125](https://cloud.tencent.com/document/product/1125)\n\n需要使用此功能时在 `.env.*` 文件中加入以下内容，并且设置你自己的 `api id` 与 `api key`【不需要此功能可以不配置】：\n```\n# 腾讯云图片安全api\ntenid=\"xxxxxx\"\ntenkeys=\"xxxxxx\"\n# 是否开启禁言等操作的成功提示【不开启的话踢人/禁言等成功没有QQ消息提示】\ncallback_notice=true # 如果不想开启设置成 false 或者不添加此配置项【默认关闭】\n```\n✨Pay tribute to A60 [https://github.com/djkcyl/ABot-Graia](https://github.com/djkcyl/ABot-Graia)\n\n**早晚安配置**\n\n额外依赖pip install nonebot_plugin_apscheduler\n定时推送群消息需要在.evn中配置:\n```yaml\nsend_group_id = [\"xxx\",\"xxx\"]    # 必填 群号\nsend_switch_morning = False                      # 选填 True/False 默认开启 早上消息推送是否开启\nsend_switch_night = False                        # 选填 True/False 默认开启 晚上消息推送是否开启\nsend_mode = 1                 # 选填 默认模式2 模式1发送自定义句子，模式2随机调用一句\nsend_sentence_morning = [\"句子1\",\"句子2\",\"...\"]    # 如果是模式1 此项必填，早上随机发送该字段中的一句\nsend_sentence_night = [\"句子1\",\"句子2\",\"...\"]     # 如果是模式1 此项必填，晚上随机发送该字段中的一句\nsend_time_moring = \"8 0\"    # 选填 早上发送时间默认为7:00\nsend_time_night = \"23 0\"    # 选填 晚上发送时间默认为22:00              \n```\n\n更多配置项请查看 [config.py](./nonebot_plugin_admin/config.py)\n\n\n\n## 注意\n**[dev分支](https://github.com/yzyyz1387/nonebot_plugin_admin/tree/dev)由于API的加入，首次使用本插件时，会终止机器人程序，需要再启动一次**  \n**控制台会有对应提示** \n\n## 指令💻\n\n**Tips:** \n\n- 关于命令，对/sp这类`斜杠+英文`的命令做了保留，汉字命令去除了`/`若使用者担心错误触发，可下载源码自行修改`__init__.py`\n- 群词云功能所用库 wordcloud 未写入依赖，请自行安装：`pip install wordcloud` 安装失败参考：[WordCloud 第三方库安装失败原因及解决方法](https://www.freesion.com/article/4756295761/)\n- 一般情况下可正常使用，可能由于权重出现问题，matcher权重请自行查看代码\n- 使用`开关状态`指令查看各功能状态，首次使用可能会下载100Mb+的`Chromium`，请耐心等待\n```\n【初始化】：\n  群管初始化 ：初始化插件\n\n【群管】：\n权限：permission=SUPERUSER | GROUP_ADMIN | GROUP_OWNER\n  禁言:\n    禁 @某人 时间（s）[1,2591999]\n    禁 时间（s）@某人 [1,2591999]\n    禁 @某人 缺省时间则随机\n    禁 @某人 0 可解禁\n    解 @某人\n    禁言时，该条消息中所有数字都会组合作为禁言时间，如：‘禁@某人 1哈2哈0哈’，则禁言120s\n    \n  全群禁言 若命令前缀不为空，请使用//all,若为空，需用 /all 来触发\n    /all \n    /all 解\n    \n  改名片\n    改 @某人 名片\n    \n  踢出：\n    踢 @某人\n  踢出并拉黑：\n   黑 @某人\n   \n  撤回:\n   撤回 (回复某条消息即可撤回对应消息)\n   撤回 @user [(可选，默认n=5)历史消息倍数n] (实际检查的历史数为 n*19)\n   \n  设置精华\n    回复某条消息 + 加精\n  取消精华\n    回复某条消息 + 取消精华\n    \n【头衔】\n  改头衔\n    自助领取：头衔 xxx \n    自助删头衔：删头衔\n    超级用户更改他人头衔：头衔 @某人 头衔\n    超级用户删他人头衔：删头衔 @某人\n\n【管理员】permission=SUPERUSER | GROUP_OWNER\n  gl+ @xxx 设置某人为管理员  \n  管理员+ @xxx 设置某人为管理员\n  管理员加 @xxx 设置某人为管理员\n  加管理 @xxx 设置某人为管理员\n  \n  gl- @xxx 取消某人管理员\n  管理员- @xxx 取消某人管理员\n  管理员减 @xxx 取消某人管理员\n  减管理 @xxx 取消某人管理员\n\n  \n【加群自动审批】：\n群内发送 permission=GROUP_ADMIN | GROUP_OWNER | SUPERUSER\n  查看词条 ： 查看本群审批词条   或/审批\n  ct+ [词条] ：增加审批词条 或/审批+  \n  词条+ [词条] ：增加审批词条 或/审批+\n  ct- [词条] ：删除审批词条 或/审批-\n  词条- [词条] ：删除审批词条 或/审批-\n  按照黑名单自动拒绝：（当验证消息与黑名单内容匹配时，自动拒绝）\n    添加示例：\n      jj+管理员你好，请通过一下\n      ctjj+管理员你好，请通过一下\n      词条拒绝+管理员你好，请通过一下\n      拒绝词条+管理员你好，请通过一下\n      /spx+管理员你好，请通过一下\n    删除示例：\n      jj-管理员你好，请通过一下\n      ctjj-管理员你好，请通过一下\n      词条拒绝-管理员你好，请通过一下\n      拒绝词条-管理员你好，请通过一下\n      /spx-管理员你好，请通过一下\n\n【superuser】：\n  所有词条 ：  查看所有审批词条   或/su审批\n  zdct+ [词条] ：增加审批词条 \n  指定词条+ [群号] [词条] ：增加指定群审批词条\n  指定词条加 [群号] [词条] ：增加指定群审批词条 或/su审批+\n    zdct- [词条] ：删除审批词条\n  指定词条- [群号] [词条] ：删除指定群审批词条 \n  指定词条减 [群号] [词条] ：删除指定群审批词条 或/su审批- \n  自动审批处理结果将发送给superuser\n\n【分群管理员设置】*分管：可以接受加群处理结果消息的用户\n群内发送 permission=GROUP_ADMIN | GROUP_OWNER | SUPERUSER\n  fg+ [user] ：user可用@或qq 添加分群管理员\n  分管+ [user] ：user可用@或qq 添加分群管理员\n  分管加 [user] ：user可用@或qq 添加分群管理员\n  fg- [user] ：删除分群管理员\n  分管- [user] ：删除分群管理员\n  分管减 [user] ：删除分群管理员\n  查看分管 ：查看本群分群管理员\n\n群内或私聊 permission=SUPERUSER\n  所有分管 ：查看所有分群管理员\n  群管接收 ：打开或关闭超管消息接收（关闭则审批结果不会发送给superusers）\n  \n【群词云统计】\n该功能所用库 wordcloud 未写入依赖，请自行安装\n群内发送：\n  记录本群 ： 开始统计聊天记录 permission=GROUP_ADMIN | GROUP_OWNER | SUPERUSER\n  停止记录本群 ：停止统计聊天记录\n  群词云 ： 发送词云图片\n  更新mask : 更新mask图片\n  增加停用词 停用词1 停用词2 ...\n  删除停用词 停用词1 停用词2 ...\n  停用词列表 ： 查看停用词列表\n\n群发言排行\n - 日:\n  - 日榜首：今日榜首, aliases={'今天谁话多', '今儿谁话多', '今天谁屁话最多'}\n  - 日排行：今日发言排行, aliases={'今日排行榜', '今日发言排行榜', '今日排行'}\n  - 昨日排行\n - 总\n  - 总排行：排行, aliases={'谁话多', '谁屁话最多', '排行', '排行榜'}\n - 某人发言数\n  - 日：今日发言数@xxx, aliases={'今日发言数', '今日发言', '今日发言量'}\n  - 总：发言数@xxx, aliases={'发言数', '发言', '发言量'}\n    \n  \n【被动识别】\n涩图检测：\n - 图片检测偏向于涩图检测，90分以上色图禁言，其他基本不处理\n - 用户违禁一次等级+1 最高7级\n - 禁言时间（s）：\n  - time_scop_map = {\n        0: [0, 5*60],\n        1: [5*60, 10*60],\n        2: [10*60, 30*60],\n        3: [30*60, 10*60*60],\n        4: [10*60*60, 24*60*60],\n        5: [24*60*60, 7*24*60*60],\n        6: [7*24*60*60, 14*24*60*60],\n        7: [14*24*60*60, 2591999]\n    }\n\n违禁词检测：\n（如果要使用正则匹配，暂时需要用户自定编辑【机器人项目/config/违禁词.txt】，后续会优化，有需要请提issue催更）\n - 支持正则表达式(使用用制表符分隔)\n - 可定义触发违禁词操作(默认为禁言+撤回)\n - 可定义生效范围(排除某些群 or 仅限某些群生效)\n - 示例：\n  - 加(群|君\\S?羊|羣)\\S*\\d{6,}\t\t$撤回$禁言$仅限123456789,987654321\n  - 狗群主\t\t\t\t$禁言$排除987654321\n\n【功能开关】\n群内发送：\n  开关xx : 对某功能进行开/关  permission=SUPERUSER | GROUP_ADMIN | GROUP_OWNER\n  开关状态 ： 查看各功能的状态\n  xx in ：\n    ['管理', '踢', '禁', '改', '基础群管']  #基础功能 踢、禁、改、管理员+-\n    ['加群', '审批', '加群审批', '自动审批'] #加群审批\n    ['词云', '群词云', 'wordcloud'] #群词云\n    ['违禁词', '违禁词检测'] #违禁词检测\n    ['图片检测', '图片鉴黄', '涩图检测', '色图检测'] #图片检测\n    ['消息记录', '群消息记录', '发言记录'],\n    ['早安晚安', '早安', '晚安'],\n    ['广播消息', '群广播', '广播'],\n    ['事件通知', '变动通知', '事件提醒'],\n     ['防撤回', '防止撤回']\n图片检测和违禁词检测默认关,其他默认开\n\n【广播】permission = SUPERUSER\n本功能默认关闭\n   \"发送【广播】/【广播+[消息]】可广播消息\" \n   \"发送【群列表】可查看能广播到的所有群\" \n   \"发送【排除列表】可查看已排除的群\" \n   \"发送【广播排除+】可添加群到广播排除列表\" \n   \"发送【广播排除-】可从广播排除列表删除群\"\n   \"发送【广播帮助】可查看广播帮助\"\n   发送【开关广播】来开启/关闭（意义不大）\n   \n【特殊事件提醒】\n包括管理员变动，加群退群等...\n待完善\n  发送【开关事件通知】来开启/关闭功能 permission=SUPERUSER | GROUP_ADMIN | GROUP_OWNER\n\n\n【防撤回】\n默认关闭\n 发送【开关防撤回】开启或关闭功能 permission=SUPERUSER | GROUP_ADMIN | GROUP_OWNER\n\n【群员清理】\n群内发送 permission=SUPERUSER | GROUP_OWNER\n该功能暂不被开关控制\n发送【群员清理】可根据[等级] 或 [发言时间] 清理群员\n在执行此命令时，当前群会对此操作加锁，防止其他人同时操作，如果出现问题，可执行【清理解锁】来手动解锁\n```\n\n\n\u003cdetails\u003e\n  \u003csummary\u003e \u003ch2\u003e截图🖼\u003c/h2\u003e\u003c/summary\u003e   \n  \n**禁 改 踢**   \n![](https://cdn.jsdelivr.net/gh/yzyyz1387/blogimages/nonebot/ad_kick.gif)\n\n**管理员+ -**  \n![](https://cdn.jsdelivr.net/gh/yzyyz1387/blogimages/nonebot/ad_admin.gif)\n\n**群词云**\n![](https://cdn.jsdelivr.net/gh/yzyyz1387/blogimages/nonebot/ad_cloud.gif)\n\n**违禁词检测**\n![](https://cdn.jsdelivr.net/gh/yzyyz1387/blogimages/nonebot/ad_autoban.gif)\n\n**图片检测**\n![](https://cdn.jsdelivr.net/gh/yzyyz1387/blogimages/nonebot/ad_r18ban.gif)\n\n**功能开关**\n![](https://cdn.jsdelivr.net/gh/yzyyz1387/blogimages/nonebot/ad_switcher.gif)  \n  \n\u003c/details\u003e\n\n## TODO\n- [x] 加群自动审批[#issues1](https://github.com/yzyyz1387/nonebot_plugin_admin/issues/1)\n- [x] /sp在未配置群聊中的提示  \n- [x] /删头衔bug修复  \n- [x] 加群处理状态分群分用户发送[#issues2](https://github.com/yzyyz1387/nonebot_plugin_admin/issues/2)\n- [x] 关键词禁言，图片鉴黄（简单实现），[#issues3](https://github.com/yzyyz1387/nonebot_plugin_admin/issues/3)\n- [ ] 恶意检测， [#issues3](https://github.com/yzyyz1387/nonebot_plugin_admin/issues/3)\n- [ ]  ~~鉴黄置信度呈现~~\n- [x]  头衔命令所有人可用，删头衔命令加权限\n- [x]  修复加群审批默认处理规则\n- [x] 词云停用词优化\n- [x] 分群群词云自定义停用词\n- [x] 违禁词优化\n- [ ] 全局开关\n- [ ] 潜水查询\n- [ ] 群聊内容分析\n- [ ] 写一个文档\n- [ ] 一些大事\n\n## 感谢贡献者们\n\n\u003c!-- readme: BalconyJH,collaborators,contributors -start --\u003e\n\u003ctable\u003e\n\t\u003ctbody\u003e\n\t\t\u003ctr\u003e\n            \u003ctd align=\"center\"\u003e\n                \u003ca href=\"https://github.com/balconyjh\"\u003e\n                    \u003cimg src=\"https://avatars.githubusercontent.com/u/73932916?v=4\" width=\"100;\" alt=\"balconyjh\"/\u003e\n                    \u003cbr /\u003e\n                    \u003csub\u003e\u003cb\u003eBalconyJH\u003c/b\u003e\u003c/sub\u003e\n                \u003c/a\u003e\n            \u003c/td\u003e\n            \u003ctd align=\"center\"\u003e\n                \u003ca href=\"https://github.com/lakwsh\"\u003e\n                    \u003cimg src=\"https://avatars.githubusercontent.com/u/13025769?v=4\" width=\"100;\" alt=\"lakwsh\"/\u003e\n                    \u003cbr /\u003e\n                    \u003csub\u003e\u003cb\u003eLakwsh\u003c/b\u003e\u003c/sub\u003e\n                \u003c/a\u003e\n            \u003c/td\u003e\n            \u003ctd align=\"center\"\u003e\n                \u003ca href=\"https://github.com/yzyyz1387\"\u003e\n                    \u003cimg src=\"https://avatars.githubusercontent.com/u/51691024?v=4\" width=\"100;\" alt=\"yzyyz1387\"/\u003e\n                    \u003cbr /\u003e\n                    \u003csub\u003e\u003cb\u003e幼稚园园长\u003c/b\u003e\u003c/sub\u003e\n                \u003c/a\u003e\n            \u003c/td\u003e\n            \u003ctd align=\"center\"\u003e\n                \u003ca href=\"https://github.com/tom-snow\"\u003e\n                    \u003cimg src=\"https://avatars.githubusercontent.com/u/79245287?v=4\" width=\"100;\" alt=\"tom-snow\"/\u003e\n                    \u003cbr /\u003e\n                    \u003csub\u003e\u003cb\u003eA Lucky Guy\u003c/b\u003e\u003c/sub\u003e\n                \u003c/a\u003e\n            \u003c/td\u003e\n            \u003ctd align=\"center\"\u003e\n                \u003ca href=\"https://github.com/DarkDRG\"\u003e\n                    \u003cimg src=\"https://avatars.githubusercontent.com/u/41229611?v=4\" width=\"100;\" alt=\"DarkDRG\"/\u003e\n                    \u003cbr /\u003e\n                    \u003csub\u003e\u003cb\u003eNekoPunch!\u003c/b\u003e\u003c/sub\u003e\n                \u003c/a\u003e\n            \u003c/td\u003e\n            \u003ctd align=\"center\"\u003e\n                \u003ca href=\"https://github.com/Redmomn\"\u003e\n                    \u003cimg src=\"https://avatars.githubusercontent.com/u/109732988?v=4\" width=\"100;\" alt=\"Redmomn\"/\u003e\n                    \u003cbr /\u003e\n                    \u003csub\u003e\u003cb\u003e脑袋里进花生了\u003c/b\u003e\u003c/sub\u003e\n                \u003c/a\u003e\n            \u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\t\u003ctr\u003e\n            \u003ctd align=\"center\"\u003e\n                \u003ca href=\"https://github.com/deepsourcebot\"\u003e\n                    \u003cimg src=\"https://avatars.githubusercontent.com/u/60907429?v=4\" width=\"100;\" alt=\"deepsourcebot\"/\u003e\n                    \u003cbr /\u003e\n                    \u003csub\u003e\u003cb\u003eDeepSource Bot\u003c/b\u003e\u003c/sub\u003e\n                \u003c/a\u003e\n            \u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\u003ctbody\u003e\n\u003c/table\u003e\n\u003c!-- readme: BalconyJH,collaborators,contributors -end --\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e \u003ch2\u003e 更新日志\u003c/h2\u003e\u003c/summary\u003e  \n  \n- 0.3.21\n  - 优化默认配置；同时增加一个配置项：设置禁言等基础操作是否在 qq 返回操作结果 [#18](https://github.com/yzyyz1387/nonebot_plugin_admin/pull/18)\n  - 修复`禁@xxx`的buggi\n- 0.3.19\n  - 修复`__init__.py`中的bug🐛 [PULL#17](https://github.com/yzyyz1387/nonebot_plugin_admin/pull/17) [@tom-snow](https://github.com/tom-snow)\n  - 优化`禁@xxx`,改善灵活性 [#15](https://github.com/yzyyz1387/nonebot_plugin_admin/issues/15)\n  - `switcher.py`网页截图错误捕捉\n  - 修改cdn地址\n  - 修聊天记录编码问题\n  - 改善违禁词检测功能的灵活性[@lakwsh](https://github.com/yzyyz1387/nonebot_plugin_admin/commits?author=lakwsh)\n    - 违禁词检测：已支持正则表达式，可定义触发违禁词操作(默认为禁言+撤回)  \n    - 定义操作方法：用制表符分隔，左边为触发条件，右边为操作定义($禁言、$撤回)\n- 修复触发违禁词不会阻止事件传播的问题[@lakwsh](https://github.com/yzyyz1387/nonebot_plugin_admin/commits?author=lakwsh)\n- 修复可能会导致其他插件无法捕获消息的问题[@lakwsh](https://github.com/yzyyz1387/nonebot_plugin_admin/commits?author=lakwsh)\n- 修复部分文件编码错误，开关状态图片乱码及SIGINT信号被劫持的问题[@lakwsh](https://github.com/yzyyz1387/nonebot_plugin_admin/commits?author=lakwsh)\n\n\n- 0.3.18（beta）\n  - update LICENSE to AGPL-3.0\n  - 🐛修复`管理员-`无效的bug\n  - 🐛修复`简单违禁词`、`严格违禁词`无效的bug\n  - 🐛修复`禁 解 改`等指令有无空格的问题\n  - 禁言命令新增不禁言superuser\n  - 鉴黄api改为腾讯云，请自行开通配置\n  - 违禁词词库每周一自动更新,手动更新：`更新违禁词库`\n  - 分群功能开关\n  - 使用`开关状态`指令查看各功能状态，首次使用可能会下载109Mb的`Chromium`\n- 0.3.16（b1）\n  - 修复启动时`word_analyze`报错\n  - 修复词云路径错误\n  - 分词优化\n  - 图片鉴黄\n  - 违禁词检测 违禁词词库整理上传于：[f_words](https://github.com/yzyyz1387/nwafu/tree/main/f_words) \n  - 词库有赘余，欢迎大神pr精简\n- 0.3.15（a16）\n  - 同 0.3.16   \n- 0.3.6（b1)\n  - 修复适配错误\n  - 补充依赖\n- 0.3.5（a16）\n  - 补充依赖（谁教教我项目管理..\n- 0.3.4 （b1)\n- 0.3.3（a16)\n  - 修复导入错误\n  - 修复路径错误\n- 0.2.8  (nonebot b1适配)\n  - b1适配，功能同0.2.7\n- 0.2.7  (nonebot a16适配)\n  - 对应adapter加入依赖\n  - 优化代码结构\n  - 增加群词云功能\n    - 更新后请执行`群管初始化`（不影响已保存的配置）\n    - 机器人提示`成功`后开始记录本群所有文本内容\n    - 发送`群词云`使用此功能\n  - 修复`禁@xxx 60 `这类命令失效的bug\n- 0.2.6  (nonebot a16适配)\n- 0.2.5  (nonebot b1适配)\n  - 代码优化\n  - 踢禁改等命令增加权限:机器人主人，群主，群管理员 `permission=SUPERUSER|GROUP_ADMIN | GROUP_OWNER`\n  - 增加添加/删除管理员操作,命令：`管理员+@xxx` `管理员-@xxx`\n  - 修复 `禁言多人而不带具体时间时只禁言第一位`的bug🐛\n- 0.2.4 (nonebot b1适配)\n  - 同0.2.3\n- 0.2.3  (nonebot a16适配)\n  - 代码优化\n  - 命令去除 `/`\n  - 摒弃英文命令，改为汉字命令\n- 0.2.2\t（适配 nonebot b1) [issue#2](https://github.com/yzyyz1387/nonebot_plugin_admin/issues/2)\n\n  - **更新后请初始化**:`/spinit`\n\n  - 修复未配置时`/sp`，命令出现错误\n  - 修复`/删头衔`的bug\n  - 增加分群管理，加群请求处理结果将发送给分群管理 \n  - 加群处理结果消息对 superuser 可开启或关闭: `/sumsg`\n- **0.2.1**\n  - 修复requiers\n- **0.1.9**\n  - 修复初始化功能\n- **0.1.0** [issue#1](https://github.com/yzyyz1387/nonebot_plugin_admin/issues/1)\n- 支持入群自动审批\n- 支持在线对不同群的关键词进行增减操作\n- **0.0.1-4**\n  - 支持 踢 、禁 、改 、头衔\n\u003c/details\u003e\n\n## 其他插件\n[简易群管](https://github.com/yzyyz1387/nonebot_plugin_admin)  \n[在线运行代码](https://github.com/yzyyz1387/nonebot_plugin_code)  \n[it咨讯（垃圾插件）](https://github.com/yzyyz1387/nonebot_plugin_itnews \"it资讯\")  \n[工作性价比（还没更新beta不能用）](https://github.com/yzyyz1387/nonebot_plugin_workscore)  \n[黑丝插件（jsdelivr问题国内服务器不能用）](https://github.com/yzyyz1387/nonebot_plugin_heisi)  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyzyyz1387%2Fnonebot_plugin_admin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyzyyz1387%2Fnonebot_plugin_admin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyzyyz1387%2Fnonebot_plugin_admin/lists"}