nonebot-plugin-admin


Namenonebot-plugin-admin JSON
Version 0.4.5.4 PyPI version JSON
download
home_pagehttps://github.com/yzyyz1387/nonebot_plugin_admin
Summarynonebot2 plugin for group administration
upload_time2024-02-29 03:41:21
maintainer
docs_urlNone
authoryzyyz1387
requires_python
license
keywords pip nonebot2 nonebot admin nonebot_plugin
VCS
bugtrack_url
requirements fuzzyfinder httpx jieba nonebot-adapter-onebot nonebot2 tencentcloud-sdk-python setuptools jinja2 pyppeteer imageio numpy nonebot_plugin_apscheduler nb-cli
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <p align="center">
  <a href="https://v2.nonebot.dev/"><img src="https://v2.nonebot.dev/logo.png" width="200" height="200" alt="nonebot"></a>
</p>



<div align="center">  
  
**你的star是我的动力**  
**↓**  
<img src="https://img.shields.io/github/stars/yzyyz1387/nonebot_plugin_admin.svg?style=social">  
# 简易群管 (上岸缓更)  
   ~~[dev分支](https://github.com/yzyyz1387/nonebot_plugin_admin/tree/dev)~~
  _✨ NoneBot2 (有点不)简易群管✨ _    

 
[//]: # ([![wakatime]&#40;https://wakatime.com/badge/user/e4795d94-d154-4c3d-a94b-b655c82e57f4/project/d4a8cb5e-ee86-4ad9-99e5-48873f38c3bd.svg&#41;]&#40;https://wakatime.com/badge/user/e4795d94-d154-4c3d-a94b-b655c82e57f4/project/d4a8cb5e-ee86-4ad9-99e5-48873f38c3bd&#41;)


踢 改 禁.......  
**欢迎 ISSUES PR**
</div>  

 
**权限说明:见下方指令↓**

## 安装💿(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
  管理员+ @xxx 设置某人为管理员
  管理员- @xxx 取消某人管理员
  
【加群自动审批】:
群内发送 permission=GROUP_ADMIN | GROUP_OWNER | SUPERUSER
  查看词条 : 查看本群审批词条   或/审批
  词条+ [词条] :增加审批词条 或/审批+
  词条- [词条] :删除审批词条 或/审批-

【superuser】:
  所有词条 :  查看所有审批词条   或/su审批
  指定词条+ [群号] [词条] :增加指定群审批词条 或/su审批+
  指定词条- [群号] [词条] :删除指定群审批词条 或/su审批-
  自动审批处理结果将发送给superuser

【分群管理员设置】*分管:可以接受加群处理结果消息的用户
群内发送 permission=GROUP_ADMIN | GROUP_OWNER | SUPERUSER
  分管+ [user] :user可用@或qq 添加分群管理员
  分管- [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]
    }

违禁词检测:
 - 支持正则表达式(使用用制表符分隔)
 - 可定义触发违禁词操作(默认为禁言+撤回)
 - 可定义生效范围(排除某些群 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
该功能暂不被开关控制
发送【群员清理】可根据[等级] 或 [发言时间] 清理群员
在执行此命令时,当前群会对此操作加锁,防止其他人同时操作,如果出现问题,可执行【清理解锁】来手动解锁
```


<details>
  <summary> <h2>截图🖼</h2></summary>   
  
**禁 改 踢**   
![](https://cdn.jsdelivr.net/gh/yzyyz1387/blogimages/nonebot/ad_kick.gif)

**管理员+ -**  
![](https://cdn.jsdelivr.net/gh/yzyyz1387/blogimages/nonebot/ad_admin.gif)

**群词云**
![](https://cdn.jsdelivr.net/gh/yzyyz1387/blogimages/nonebot/ad_cloud.gif)

**违禁词检测**
![](https://cdn.jsdelivr.net/gh/yzyyz1387/blogimages/nonebot/ad_autoban.gif)

**图片检测**
![](https://cdn.jsdelivr.net/gh/yzyyz1387/blogimages/nonebot/ad_r18ban.gif)

**功能开关**
![](https://cdn.jsdelivr.net/gh/yzyyz1387/blogimages/nonebot/ad_switcher.gif)  
  
</details>

## 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] 违禁词优化
- [ ] 全局开关
- [ ] 潜水查询
- [ ] 群聊内容分析
- [ ] 写一个文档
- [ ] 一些大事

## 感谢贡献者们

<!-- readme: BalconyJH,collaborators,contributors -start -->
<table>
<tr>
    <td align="center">
        <a href="https://github.com/balconyjh">
            <img src="https://avatars.githubusercontent.com/u/73932916?v=4" width="100;" alt="balconyjh"/>
            <br />
            <sub><b>BalconyJH</b></sub>
        </a>
    </td>
    <td align="center">
        <a href="https://github.com/lakwsh">
            <img src="https://avatars.githubusercontent.com/u/13025769?v=4" width="100;" alt="lakwsh"/>
            <br />
            <sub><b>Lakwsh</b></sub>
        </a>
    </td>
    <td align="center">
        <a href="https://github.com/yzyyz1387">
            <img src="https://avatars.githubusercontent.com/u/51691024?v=4" width="100;" alt="yzyyz1387"/>
            <br />
            <sub><b>幼稚园园长</b></sub>
        </a>
    </td>
    <td align="center">
        <a href="https://github.com/tom-snow">
            <img src="https://avatars.githubusercontent.com/u/79245287?v=4" width="100;" alt="tom-snow"/>
            <br />
            <sub><b>A Lucky Guy</b></sub>
        </a>
    </td>
    <td align="center">
        <a href="https://github.com/GC-ZF">
            <img src="https://avatars.githubusercontent.com/u/94956933?v=4" width="100;" alt="GC-ZF"/>
            <br />
            <sub><b>GC_XiaoZhang</b></sub>
        </a>
    </td>
    <td align="center">
        <a href="https://github.com/deepsourcebot">
            <img src="https://avatars.githubusercontent.com/u/60907429?v=4" width="100;" alt="deepsourcebot"/>
            <br />
            <sub><b>DeepSource Bot</b></sub>
        </a>
    </td></tr>
</table>
<!-- readme: BalconyJH,collaborators,contributors -end -->

<details>
  <summary> <h2> 更新日志</h2></summary>  
  
- 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**
  - 支持 踢 、禁 、改 、头衔
</details>

## 其他插件
[简易群管](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)  

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/yzyyz1387/nonebot_plugin_admin",
    "name": "nonebot-plugin-admin",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "pip,nonebot2,nonebot,admin,nonebot_plugin",
    "author": "yzyyz1387",
    "author_email": "youzyyz1384@qq.com",
    "download_url": "https://files.pythonhosted.org/packages/8b/0e/a9111212df0b9506c48137286a37a868ae10f866a04d95169314eb1e950d/nonebot-plugin-admin-0.4.5.4.tar.gz",
    "platform": "any",
    "description": "<p align=\"center\">\n  <a href=\"https://v2.nonebot.dev/\"><img src=\"https://v2.nonebot.dev/logo.png\" width=\"200\" height=\"200\" alt=\"nonebot\"></a>\n</p>\n\n\n\n<div align=\"center\">  \n  \n**\u4f60\u7684star\u662f\u6211\u7684\u52a8\u529b**  \n**\u2193**  \n<img src=\"https://img.shields.io/github/stars/yzyyz1387/nonebot_plugin_admin.svg?style=social\">  \n# \u7b80\u6613\u7fa4\u7ba1 \uff08\u4e0a\u5cb8\u7f13\u66f4\uff09  \n   ~~[dev\u5206\u652f](https://github.com/yzyyz1387/nonebot_plugin_admin/tree/dev)~~\n  _\u2728 NoneBot2 (\u6709\u70b9\u4e0d)\u7b80\u6613\u7fa4\u7ba1\u2728 _    \n\n \n[//]: # ([![wakatime]&#40;https://wakatime.com/badge/user/e4795d94-d154-4c3d-a94b-b655c82e57f4/project/d4a8cb5e-ee86-4ad9-99e5-48873f38c3bd.svg&#41;]&#40;https://wakatime.com/badge/user/e4795d94-d154-4c3d-a94b-b655c82e57f4/project/d4a8cb5e-ee86-4ad9-99e5-48873f38c3bd&#41;)\n\n\n\u8e22 \u6539 \u7981.......  \n**\u6b22\u8fce ISSUES PR**\n</div>  \n\n \n**\u6743\u9650\u8bf4\u660e\uff1a\u89c1\u4e0b\u65b9\u6307\u4ee4\u2193**\n\n## \u5b89\u88c5\ud83d\udcbf(pip)\n`pip install nonebot-plugin-admin`\n\n### \u5bfc\u5165\ud83d\udcf2\n\u5728**bot.py** \u5bfc\u5165\uff0c\u8bed\u53e5\uff1a\n`nonebot.load_plugin(\"nonebot_plugin_admin\")`\n\n\u8bf7\u6ce8\u610f\u4e0enonebot\u7248\u672c\u9002\u914d\uff0c\u5339\u914d\u8bf7\u67e5\u770b\uff1a[\u66f4\u65b0](#%E6%9B%B4%E6%96%B0-1)\n**Python 3.9+**\n\n## \u5b89\u88c5\ud83d\udcbf(nb plugin)\n`nb plugin install nonebot-plugin-admin`\n\n\n## \u66f4\u65b0\n\n`pip install --upgrade nonebot-plugin-admin `\n\n## \u914d\u7f6e\n**\u9274\u9ec4\u914d\u7f6e**\uff1a  \n\u817e\u8baf\u4e91\u56fe\u7247\u5b89\u5168\uff0c\u5f00\u901a\u5730\u5740\uff1a[https://console.cloud.tencent.com/cms](https://console.cloud.tencent.com/cms)  \n\u6587\u6863\uff1a[https://cloud.tencent.com/document/product/1125](https://cloud.tencent.com/document/product/1125)\n\n\u9700\u8981\u4f7f\u7528\u6b64\u529f\u80fd\u65f6\u5728 `.env.*` \u6587\u4ef6\u4e2d\u52a0\u5165\u4ee5\u4e0b\u5185\u5bb9\uff0c\u5e76\u4e14\u8bbe\u7f6e\u4f60\u81ea\u5df1\u7684 `api id` \u4e0e `api key`\u3010\u4e0d\u9700\u8981\u6b64\u529f\u80fd\u53ef\u4ee5\u4e0d\u914d\u7f6e\u3011\uff1a\n```\n# \u817e\u8baf\u4e91\u56fe\u7247\u5b89\u5168api\ntenid=\"xxxxxx\"\ntenkeys=\"xxxxxx\"\n# \u662f\u5426\u5f00\u542f\u7981\u8a00\u7b49\u64cd\u4f5c\u7684\u6210\u529f\u63d0\u793a\u3010\u4e0d\u5f00\u542f\u7684\u8bdd\u8e22\u4eba/\u7981\u8a00\u7b49\u6210\u529f\u6ca1\u6709QQ\u6d88\u606f\u63d0\u793a\u3011\ncallback_notice=true # \u5982\u679c\u4e0d\u60f3\u5f00\u542f\u8bbe\u7f6e\u6210 false \u6216\u8005\u4e0d\u6dfb\u52a0\u6b64\u914d\u7f6e\u9879\u3010\u9ed8\u8ba4\u5173\u95ed\u3011\n```\n\u2728Pay tribute to A60 [https://github.com/djkcyl/ABot-Graia](https://github.com/djkcyl/ABot-Graia)\n\n**\u65e9\u665a\u5b89\u914d\u7f6e**\n\n\u989d\u5916\u4f9d\u8d56pip install nonebot_plugin_apscheduler\n\u5b9a\u65f6\u63a8\u9001\u7fa4\u6d88\u606f\u9700\u8981\u5728.evn\u4e2d\u914d\u7f6e:\n```yaml\nsend_group_id = [\"xxx\",\"xxx\"]    # \u5fc5\u586b \u7fa4\u53f7\nsend_switch_morning = False                      # \u9009\u586b True/False \u9ed8\u8ba4\u5f00\u542f \u65e9\u4e0a\u6d88\u606f\u63a8\u9001\u662f\u5426\u5f00\u542f\nsend_switch_night = False                        # \u9009\u586b True/False \u9ed8\u8ba4\u5f00\u542f \u665a\u4e0a\u6d88\u606f\u63a8\u9001\u662f\u5426\u5f00\u542f\nsend_mode = 1                 # \u9009\u586b \u9ed8\u8ba4\u6a21\u5f0f2 \u6a21\u5f0f1\u53d1\u9001\u81ea\u5b9a\u4e49\u53e5\u5b50\uff0c\u6a21\u5f0f2\u968f\u673a\u8c03\u7528\u4e00\u53e5\nsend_sentence_morning = [\"\u53e5\u5b501\",\"\u53e5\u5b502\",\"...\"]    # \u5982\u679c\u662f\u6a21\u5f0f1 \u6b64\u9879\u5fc5\u586b\uff0c\u65e9\u4e0a\u968f\u673a\u53d1\u9001\u8be5\u5b57\u6bb5\u4e2d\u7684\u4e00\u53e5\nsend_sentence_night = [\"\u53e5\u5b501\",\"\u53e5\u5b502\",\"...\"]     # \u5982\u679c\u662f\u6a21\u5f0f1 \u6b64\u9879\u5fc5\u586b\uff0c\u665a\u4e0a\u968f\u673a\u53d1\u9001\u8be5\u5b57\u6bb5\u4e2d\u7684\u4e00\u53e5\nsend_time_moring = \"8 0\"    # \u9009\u586b \u65e9\u4e0a\u53d1\u9001\u65f6\u95f4\u9ed8\u8ba4\u4e3a7:00\nsend_time_night = \"23 0\"    # \u9009\u586b \u665a\u4e0a\u53d1\u9001\u65f6\u95f4\u9ed8\u8ba4\u4e3a22:00              \n```\n\n\u66f4\u591a\u914d\u7f6e\u9879\u8bf7\u67e5\u770b [config.py](./nonebot_plugin_admin/config.py)\n\n\n\n## \u6ce8\u610f\n**[dev\u5206\u652f](https://github.com/yzyyz1387/nonebot_plugin_admin/tree/dev)\u7531\u4e8eAPI\u7684\u52a0\u5165\uff0c\u9996\u6b21\u4f7f\u7528\u672c\u63d2\u4ef6\u65f6\uff0c\u4f1a\u7ec8\u6b62\u673a\u5668\u4eba\u7a0b\u5e8f\uff0c\u9700\u8981\u518d\u542f\u52a8\u4e00\u6b21**  \n**\u63a7\u5236\u53f0\u4f1a\u6709\u5bf9\u5e94\u63d0\u793a** \n\n## \u6307\u4ee4\ud83d\udcbb\n\n**Tips:** \n\n- \u5173\u4e8e\u547d\u4ee4\uff0c\u5bf9/sp\u8fd9\u7c7b`\u659c\u6760+\u82f1\u6587`\u7684\u547d\u4ee4\u505a\u4e86\u4fdd\u7559\uff0c\u6c49\u5b57\u547d\u4ee4\u53bb\u9664\u4e86`/`\u82e5\u4f7f\u7528\u8005\u62c5\u5fc3\u9519\u8bef\u89e6\u53d1\uff0c\u53ef\u4e0b\u8f7d\u6e90\u7801\u81ea\u884c\u4fee\u6539`__init__.py`\n- \u7fa4\u8bcd\u4e91\u529f\u80fd\u6240\u7528\u5e93 wordcloud \u672a\u5199\u5165\u4f9d\u8d56\uff0c\u8bf7\u81ea\u884c\u5b89\u88c5\uff1a`pip install wordcloud` \u5b89\u88c5\u5931\u8d25\u53c2\u8003\uff1a[WordCloud \u7b2c\u4e09\u65b9\u5e93\u5b89\u88c5\u5931\u8d25\u539f\u56e0\u53ca\u89e3\u51b3\u65b9\u6cd5](https://www.freesion.com/article/4756295761/)\n- \u4e00\u822c\u60c5\u51b5\u4e0b\u53ef\u6b63\u5e38\u4f7f\u7528\uff0c\u53ef\u80fd\u7531\u4e8e\u6743\u91cd\u51fa\u73b0\u95ee\u9898\uff0cmatcher\u6743\u91cd\u8bf7\u81ea\u884c\u67e5\u770b\u4ee3\u7801\n- \u4f7f\u7528`\u5f00\u5173\u72b6\u6001`\u6307\u4ee4\u67e5\u770b\u5404\u529f\u80fd\u72b6\u6001\uff0c\u9996\u6b21\u4f7f\u7528\u53ef\u80fd\u4f1a\u4e0b\u8f7d100Mb+\u7684`Chromium`\uff0c\u8bf7\u8010\u5fc3\u7b49\u5f85\n```\n\u3010\u521d\u59cb\u5316\u3011\uff1a\n  \u7fa4\u7ba1\u521d\u59cb\u5316 \uff1a\u521d\u59cb\u5316\u63d2\u4ef6\n\n\u3010\u7fa4\u7ba1\u3011\uff1a\n\u6743\u9650\uff1apermission=SUPERUSER | GROUP_ADMIN | GROUP_OWNER\n  \u7981\u8a00:\n    \u7981 @\u67d0\u4eba \u65f6\u95f4\uff08s\uff09[1,2591999]\n    \u7981 \u65f6\u95f4\uff08s\uff09@\u67d0\u4eba [1,2591999]\n    \u7981 @\u67d0\u4eba \u7f3a\u7701\u65f6\u95f4\u5219\u968f\u673a\n    \u7981 @\u67d0\u4eba 0 \u53ef\u89e3\u7981\n    \u89e3 @\u67d0\u4eba\n    \u7981\u8a00\u65f6\uff0c\u8be5\u6761\u6d88\u606f\u4e2d\u6240\u6709\u6570\u5b57\u90fd\u4f1a\u7ec4\u5408\u4f5c\u4e3a\u7981\u8a00\u65f6\u95f4\uff0c\u5982\uff1a\u2018\u7981@\u67d0\u4eba 1\u54c82\u54c80\u54c8\u2019\uff0c\u5219\u7981\u8a00120s\n    \n  \u5168\u7fa4\u7981\u8a00 \u82e5\u547d\u4ee4\u524d\u7f00\u4e0d\u4e3a\u7a7a\uff0c\u8bf7\u4f7f\u7528//all,\u82e5\u4e3a\u7a7a\uff0c\u9700\u7528 /all \u6765\u89e6\u53d1\n    /all \n    /all \u89e3\n    \n  \u6539\u540d\u7247\n    \u6539 @\u67d0\u4eba \u540d\u7247\n    \n  \u8e22\u51fa\uff1a\n    \u8e22 @\u67d0\u4eba\n  \u8e22\u51fa\u5e76\u62c9\u9ed1\uff1a\n   \u9ed1 @\u67d0\u4eba\n   \n  \u64a4\u56de:\n   \u64a4\u56de (\u56de\u590d\u67d0\u6761\u6d88\u606f\u5373\u53ef\u64a4\u56de\u5bf9\u5e94\u6d88\u606f)\n   \u64a4\u56de @user [(\u53ef\u9009\uff0c\u9ed8\u8ba4n=5)\u5386\u53f2\u6d88\u606f\u500d\u6570n] (\u5b9e\u9645\u68c0\u67e5\u7684\u5386\u53f2\u6570\u4e3a n*19)\n   \n  \u8bbe\u7f6e\u7cbe\u534e\n    \u56de\u590d\u67d0\u6761\u6d88\u606f + \u52a0\u7cbe\n  \u53d6\u6d88\u7cbe\u534e\n    \u56de\u590d\u67d0\u6761\u6d88\u606f + \u53d6\u6d88\u7cbe\u534e\n    \n\u3010\u5934\u8854\u3011\n  \u6539\u5934\u8854\n    \u81ea\u52a9\u9886\u53d6\uff1a\u5934\u8854 xxx \n    \u81ea\u52a9\u5220\u5934\u8854\uff1a\u5220\u5934\u8854\n    \u8d85\u7ea7\u7528\u6237\u66f4\u6539\u4ed6\u4eba\u5934\u8854\uff1a\u5934\u8854 @\u67d0\u4eba \u5934\u8854\n    \u8d85\u7ea7\u7528\u6237\u5220\u4ed6\u4eba\u5934\u8854\uff1a\u5220\u5934\u8854 @\u67d0\u4eba\n\n\u3010\u7ba1\u7406\u5458\u3011permission=SUPERUSER | GROUP_OWNER\n  \u7ba1\u7406\u5458+ @xxx \u8bbe\u7f6e\u67d0\u4eba\u4e3a\u7ba1\u7406\u5458\n  \u7ba1\u7406\u5458- @xxx \u53d6\u6d88\u67d0\u4eba\u7ba1\u7406\u5458\n  \n\u3010\u52a0\u7fa4\u81ea\u52a8\u5ba1\u6279\u3011\uff1a\n\u7fa4\u5185\u53d1\u9001 permission=GROUP_ADMIN | GROUP_OWNER | SUPERUSER\n  \u67e5\u770b\u8bcd\u6761 \uff1a \u67e5\u770b\u672c\u7fa4\u5ba1\u6279\u8bcd\u6761   \u6216/\u5ba1\u6279\n  \u8bcd\u6761+ [\u8bcd\u6761] \uff1a\u589e\u52a0\u5ba1\u6279\u8bcd\u6761 \u6216/\u5ba1\u6279+\n  \u8bcd\u6761- [\u8bcd\u6761] \uff1a\u5220\u9664\u5ba1\u6279\u8bcd\u6761 \u6216/\u5ba1\u6279-\n\n\u3010superuser\u3011\uff1a\n  \u6240\u6709\u8bcd\u6761 \uff1a  \u67e5\u770b\u6240\u6709\u5ba1\u6279\u8bcd\u6761   \u6216/su\u5ba1\u6279\n  \u6307\u5b9a\u8bcd\u6761+ [\u7fa4\u53f7] [\u8bcd\u6761] \uff1a\u589e\u52a0\u6307\u5b9a\u7fa4\u5ba1\u6279\u8bcd\u6761 \u6216/su\u5ba1\u6279+\n  \u6307\u5b9a\u8bcd\u6761- [\u7fa4\u53f7] [\u8bcd\u6761] \uff1a\u5220\u9664\u6307\u5b9a\u7fa4\u5ba1\u6279\u8bcd\u6761 \u6216/su\u5ba1\u6279-\n  \u81ea\u52a8\u5ba1\u6279\u5904\u7406\u7ed3\u679c\u5c06\u53d1\u9001\u7ed9superuser\n\n\u3010\u5206\u7fa4\u7ba1\u7406\u5458\u8bbe\u7f6e\u3011*\u5206\u7ba1\uff1a\u53ef\u4ee5\u63a5\u53d7\u52a0\u7fa4\u5904\u7406\u7ed3\u679c\u6d88\u606f\u7684\u7528\u6237\n\u7fa4\u5185\u53d1\u9001 permission=GROUP_ADMIN | GROUP_OWNER | SUPERUSER\n  \u5206\u7ba1+ [user] \uff1auser\u53ef\u7528@\u6216qq \u6dfb\u52a0\u5206\u7fa4\u7ba1\u7406\u5458\n  \u5206\u7ba1- [user] \uff1a\u5220\u9664\u5206\u7fa4\u7ba1\u7406\u5458\n  \u67e5\u770b\u5206\u7ba1 \uff1a\u67e5\u770b\u672c\u7fa4\u5206\u7fa4\u7ba1\u7406\u5458\n\n\u7fa4\u5185\u6216\u79c1\u804a permission=SUPERUSER\n  \u6240\u6709\u5206\u7ba1 \uff1a\u67e5\u770b\u6240\u6709\u5206\u7fa4\u7ba1\u7406\u5458\n  \u7fa4\u7ba1\u63a5\u6536 \uff1a\u6253\u5f00\u6216\u5173\u95ed\u8d85\u7ba1\u6d88\u606f\u63a5\u6536\uff08\u5173\u95ed\u5219\u5ba1\u6279\u7ed3\u679c\u4e0d\u4f1a\u53d1\u9001\u7ed9superusers\uff09\n  \n\u3010\u7fa4\u8bcd\u4e91\u7edf\u8ba1\u3011\n\u8be5\u529f\u80fd\u6240\u7528\u5e93 wordcloud \u672a\u5199\u5165\u4f9d\u8d56\uff0c\u8bf7\u81ea\u884c\u5b89\u88c5\n\u7fa4\u5185\u53d1\u9001\uff1a\n  \u8bb0\u5f55\u672c\u7fa4 \uff1a \u5f00\u59cb\u7edf\u8ba1\u804a\u5929\u8bb0\u5f55 permission=GROUP_ADMIN | GROUP_OWNER | SUPERUSER\n  \u505c\u6b62\u8bb0\u5f55\u672c\u7fa4 \uff1a\u505c\u6b62\u7edf\u8ba1\u804a\u5929\u8bb0\u5f55\n  \u7fa4\u8bcd\u4e91 \uff1a \u53d1\u9001\u8bcd\u4e91\u56fe\u7247\n  \u66f4\u65b0mask : \u66f4\u65b0mask\u56fe\u7247\n  \u589e\u52a0\u505c\u7528\u8bcd \u505c\u7528\u8bcd1 \u505c\u7528\u8bcd2 ...\n  \u5220\u9664\u505c\u7528\u8bcd \u505c\u7528\u8bcd1 \u505c\u7528\u8bcd2 ...\n  \u505c\u7528\u8bcd\u5217\u8868 \uff1a \u67e5\u770b\u505c\u7528\u8bcd\u5217\u8868\n\n\u7fa4\u53d1\u8a00\u6392\u884c\n - \u65e5:\n  - \u65e5\u699c\u9996\uff1a\u4eca\u65e5\u699c\u9996, aliases={'\u4eca\u5929\u8c01\u8bdd\u591a', '\u4eca\u513f\u8c01\u8bdd\u591a', '\u4eca\u5929\u8c01\u5c41\u8bdd\u6700\u591a'}\n  - \u65e5\u6392\u884c\uff1a\u4eca\u65e5\u53d1\u8a00\u6392\u884c, aliases={'\u4eca\u65e5\u6392\u884c\u699c', '\u4eca\u65e5\u53d1\u8a00\u6392\u884c\u699c', '\u4eca\u65e5\u6392\u884c'}\n  - \u6628\u65e5\u6392\u884c\n - \u603b\n  - \u603b\u6392\u884c\uff1a\u6392\u884c, aliases={'\u8c01\u8bdd\u591a', '\u8c01\u5c41\u8bdd\u6700\u591a', '\u6392\u884c', '\u6392\u884c\u699c'}\n - \u67d0\u4eba\u53d1\u8a00\u6570\n  - \u65e5\uff1a\u4eca\u65e5\u53d1\u8a00\u6570@xxx, aliases={'\u4eca\u65e5\u53d1\u8a00\u6570', '\u4eca\u65e5\u53d1\u8a00', '\u4eca\u65e5\u53d1\u8a00\u91cf'}\n  - \u603b\uff1a\u53d1\u8a00\u6570@xxx, aliases={'\u53d1\u8a00\u6570', '\u53d1\u8a00', '\u53d1\u8a00\u91cf'}\n    \n  \n\u3010\u88ab\u52a8\u8bc6\u522b\u3011\n\u6da9\u56fe\u68c0\u6d4b\uff1a\n - \u56fe\u7247\u68c0\u6d4b\u504f\u5411\u4e8e\u6da9\u56fe\u68c0\u6d4b\uff0c90\u5206\u4ee5\u4e0a\u8272\u56fe\u7981\u8a00\uff0c\u5176\u4ed6\u57fa\u672c\u4e0d\u5904\u7406\n - \u7528\u6237\u8fdd\u7981\u4e00\u6b21\u7b49\u7ea7+1 \u6700\u9ad87\u7ea7\n - \u7981\u8a00\u65f6\u95f4\uff08s\uff09\uff1a\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\u8fdd\u7981\u8bcd\u68c0\u6d4b\uff1a\n - \u652f\u6301\u6b63\u5219\u8868\u8fbe\u5f0f(\u4f7f\u7528\u7528\u5236\u8868\u7b26\u5206\u9694)\n - \u53ef\u5b9a\u4e49\u89e6\u53d1\u8fdd\u7981\u8bcd\u64cd\u4f5c(\u9ed8\u8ba4\u4e3a\u7981\u8a00+\u64a4\u56de)\n - \u53ef\u5b9a\u4e49\u751f\u6548\u8303\u56f4(\u6392\u9664\u67d0\u4e9b\u7fa4 or \u4ec5\u9650\u67d0\u4e9b\u7fa4\u751f\u6548)\n - \u793a\u4f8b\uff1a\n  - \u52a0(\u7fa4|\u541b\\S?\u7f8a|\u7fa3)\\S*\\d{6,}\t\t$\u64a4\u56de$\u7981\u8a00$\u4ec5\u9650123456789,987654321\n  - \u72d7\u7fa4\u4e3b\t\t\t\t$\u7981\u8a00$\u6392\u9664987654321\n\n\u3010\u529f\u80fd\u5f00\u5173\u3011\n\u7fa4\u5185\u53d1\u9001\uff1a\n  \u5f00\u5173xx : \u5bf9\u67d0\u529f\u80fd\u8fdb\u884c\u5f00/\u5173  permission=SUPERUSER | GROUP_ADMIN | GROUP_OWNER\n  \u5f00\u5173\u72b6\u6001 \uff1a \u67e5\u770b\u5404\u529f\u80fd\u7684\u72b6\u6001\n  xx in \uff1a\n    ['\u7ba1\u7406', '\u8e22', '\u7981', '\u6539', '\u57fa\u7840\u7fa4\u7ba1']  #\u57fa\u7840\u529f\u80fd \u8e22\u3001\u7981\u3001\u6539\u3001\u7ba1\u7406\u5458+-\n    ['\u52a0\u7fa4', '\u5ba1\u6279', '\u52a0\u7fa4\u5ba1\u6279', '\u81ea\u52a8\u5ba1\u6279'] #\u52a0\u7fa4\u5ba1\u6279\n    ['\u8bcd\u4e91', '\u7fa4\u8bcd\u4e91', 'wordcloud'] #\u7fa4\u8bcd\u4e91\n    ['\u8fdd\u7981\u8bcd', '\u8fdd\u7981\u8bcd\u68c0\u6d4b'] #\u8fdd\u7981\u8bcd\u68c0\u6d4b\n    ['\u56fe\u7247\u68c0\u6d4b', '\u56fe\u7247\u9274\u9ec4', '\u6da9\u56fe\u68c0\u6d4b', '\u8272\u56fe\u68c0\u6d4b'] #\u56fe\u7247\u68c0\u6d4b\n    ['\u6d88\u606f\u8bb0\u5f55', '\u7fa4\u6d88\u606f\u8bb0\u5f55', '\u53d1\u8a00\u8bb0\u5f55'],\n    ['\u65e9\u5b89\u665a\u5b89', '\u65e9\u5b89', '\u665a\u5b89'],\n    ['\u5e7f\u64ad\u6d88\u606f', '\u7fa4\u5e7f\u64ad', '\u5e7f\u64ad'],\n    ['\u4e8b\u4ef6\u901a\u77e5', '\u53d8\u52a8\u901a\u77e5', '\u4e8b\u4ef6\u63d0\u9192'],\n     ['\u9632\u64a4\u56de', '\u9632\u6b62\u64a4\u56de']\n\u56fe\u7247\u68c0\u6d4b\u548c\u8fdd\u7981\u8bcd\u68c0\u6d4b\u9ed8\u8ba4\u5173,\u5176\u4ed6\u9ed8\u8ba4\u5f00\n\n\u3010\u5e7f\u64ad\u3011permission = SUPERUSER\n\u672c\u529f\u80fd\u9ed8\u8ba4\u5173\u95ed\n   \"\u53d1\u9001\u3010\u5e7f\u64ad\u3011/\u3010\u5e7f\u64ad+[\u6d88\u606f]\u3011\u53ef\u5e7f\u64ad\u6d88\u606f\" \n   \"\u53d1\u9001\u3010\u7fa4\u5217\u8868\u3011\u53ef\u67e5\u770b\u80fd\u5e7f\u64ad\u5230\u7684\u6240\u6709\u7fa4\" \n   \"\u53d1\u9001\u3010\u6392\u9664\u5217\u8868\u3011\u53ef\u67e5\u770b\u5df2\u6392\u9664\u7684\u7fa4\" \n   \"\u53d1\u9001\u3010\u5e7f\u64ad\u6392\u9664+\u3011\u53ef\u6dfb\u52a0\u7fa4\u5230\u5e7f\u64ad\u6392\u9664\u5217\u8868\" \n   \"\u53d1\u9001\u3010\u5e7f\u64ad\u6392\u9664-\u3011\u53ef\u4ece\u5e7f\u64ad\u6392\u9664\u5217\u8868\u5220\u9664\u7fa4\"\n   \"\u53d1\u9001\u3010\u5e7f\u64ad\u5e2e\u52a9\u3011\u53ef\u67e5\u770b\u5e7f\u64ad\u5e2e\u52a9\"\n   \u53d1\u9001\u3010\u5f00\u5173\u5e7f\u64ad\u3011\u6765\u5f00\u542f/\u5173\u95ed\uff08\u610f\u4e49\u4e0d\u5927\uff09\n   \n\u3010\u7279\u6b8a\u4e8b\u4ef6\u63d0\u9192\u3011\n\u5305\u62ec\u7ba1\u7406\u5458\u53d8\u52a8\uff0c\u52a0\u7fa4\u9000\u7fa4\u7b49...\n\u5f85\u5b8c\u5584\n  \u53d1\u9001\u3010\u5f00\u5173\u4e8b\u4ef6\u901a\u77e5\u3011\u6765\u5f00\u542f/\u5173\u95ed\u529f\u80fd permission=SUPERUSER | GROUP_ADMIN | GROUP_OWNER\n\n\n\u3010\u9632\u64a4\u56de\u3011\n\u9ed8\u8ba4\u5173\u95ed\n \u53d1\u9001\u3010\u5f00\u5173\u9632\u64a4\u56de\u3011\u5f00\u542f\u6216\u5173\u95ed\u529f\u80fd permission=SUPERUSER | GROUP_ADMIN | GROUP_OWNER\n\n\u3010\u7fa4\u5458\u6e05\u7406\u3011\n\u7fa4\u5185\u53d1\u9001 permission=SUPERUSER | GROUP_OWNER\n\u8be5\u529f\u80fd\u6682\u4e0d\u88ab\u5f00\u5173\u63a7\u5236\n\u53d1\u9001\u3010\u7fa4\u5458\u6e05\u7406\u3011\u53ef\u6839\u636e[\u7b49\u7ea7] \u6216 [\u53d1\u8a00\u65f6\u95f4] \u6e05\u7406\u7fa4\u5458\n\u5728\u6267\u884c\u6b64\u547d\u4ee4\u65f6\uff0c\u5f53\u524d\u7fa4\u4f1a\u5bf9\u6b64\u64cd\u4f5c\u52a0\u9501\uff0c\u9632\u6b62\u5176\u4ed6\u4eba\u540c\u65f6\u64cd\u4f5c\uff0c\u5982\u679c\u51fa\u73b0\u95ee\u9898\uff0c\u53ef\u6267\u884c\u3010\u6e05\u7406\u89e3\u9501\u3011\u6765\u624b\u52a8\u89e3\u9501\n```\n\n\n<details>\n  <summary> <h2>\u622a\u56fe\ud83d\uddbc</h2></summary>   \n  \n**\u7981 \u6539 \u8e22**   \n![](https://cdn.jsdelivr.net/gh/yzyyz1387/blogimages/nonebot/ad_kick.gif)\n\n**\u7ba1\u7406\u5458+ -**  \n![](https://cdn.jsdelivr.net/gh/yzyyz1387/blogimages/nonebot/ad_admin.gif)\n\n**\u7fa4\u8bcd\u4e91**\n![](https://cdn.jsdelivr.net/gh/yzyyz1387/blogimages/nonebot/ad_cloud.gif)\n\n**\u8fdd\u7981\u8bcd\u68c0\u6d4b**\n![](https://cdn.jsdelivr.net/gh/yzyyz1387/blogimages/nonebot/ad_autoban.gif)\n\n**\u56fe\u7247\u68c0\u6d4b**\n![](https://cdn.jsdelivr.net/gh/yzyyz1387/blogimages/nonebot/ad_r18ban.gif)\n\n**\u529f\u80fd\u5f00\u5173**\n![](https://cdn.jsdelivr.net/gh/yzyyz1387/blogimages/nonebot/ad_switcher.gif)  \n  \n</details>\n\n## TODO\n- [x] \u52a0\u7fa4\u81ea\u52a8\u5ba1\u6279[#issues1](https://github.com/yzyyz1387/nonebot_plugin_admin/issues/1)\n- [x] /sp\u5728\u672a\u914d\u7f6e\u7fa4\u804a\u4e2d\u7684\u63d0\u793a  \n- [x] /\u5220\u5934\u8854bug\u4fee\u590d  \n- [x] \u52a0\u7fa4\u5904\u7406\u72b6\u6001\u5206\u7fa4\u5206\u7528\u6237\u53d1\u9001[#issues2](https://github.com/yzyyz1387/nonebot_plugin_admin/issues/2)\n- [x] \u5173\u952e\u8bcd\u7981\u8a00\uff0c\u56fe\u7247\u9274\u9ec4\uff08\u7b80\u5355\u5b9e\u73b0\uff09\uff0c[#issues3](https://github.com/yzyyz1387/nonebot_plugin_admin/issues/3)\n- [ ] \u6076\u610f\u68c0\u6d4b\uff0c [#issues3](https://github.com/yzyyz1387/nonebot_plugin_admin/issues/3)\n- [ ]  ~~\u9274\u9ec4\u7f6e\u4fe1\u5ea6\u5448\u73b0~~\n- [x]  \u5934\u8854\u547d\u4ee4\u6240\u6709\u4eba\u53ef\u7528\uff0c\u5220\u5934\u8854\u547d\u4ee4\u52a0\u6743\u9650\n- [x]  \u4fee\u590d\u52a0\u7fa4\u5ba1\u6279\u9ed8\u8ba4\u5904\u7406\u89c4\u5219\n- [x] \u8bcd\u4e91\u505c\u7528\u8bcd\u4f18\u5316\n- [x] \u5206\u7fa4\u7fa4\u8bcd\u4e91\u81ea\u5b9a\u4e49\u505c\u7528\u8bcd\n- [x] \u8fdd\u7981\u8bcd\u4f18\u5316\n- [ ] \u5168\u5c40\u5f00\u5173\n- [ ] \u6f5c\u6c34\u67e5\u8be2\n- [ ] \u7fa4\u804a\u5185\u5bb9\u5206\u6790\n- [ ] \u5199\u4e00\u4e2a\u6587\u6863\n- [ ] \u4e00\u4e9b\u5927\u4e8b\n\n## \u611f\u8c22\u8d21\u732e\u8005\u4eec\n\n<!-- readme: BalconyJH,collaborators,contributors -start -->\n<table>\n<tr>\n    <td align=\"center\">\n        <a href=\"https://github.com/balconyjh\">\n            <img src=\"https://avatars.githubusercontent.com/u/73932916?v=4\" width=\"100;\" alt=\"balconyjh\"/>\n            <br />\n            <sub><b>BalconyJH</b></sub>\n        </a>\n    </td>\n    <td align=\"center\">\n        <a href=\"https://github.com/lakwsh\">\n            <img src=\"https://avatars.githubusercontent.com/u/13025769?v=4\" width=\"100;\" alt=\"lakwsh\"/>\n            <br />\n            <sub><b>Lakwsh</b></sub>\n        </a>\n    </td>\n    <td align=\"center\">\n        <a href=\"https://github.com/yzyyz1387\">\n            <img src=\"https://avatars.githubusercontent.com/u/51691024?v=4\" width=\"100;\" alt=\"yzyyz1387\"/>\n            <br />\n            <sub><b>\u5e7c\u7a1a\u56ed\u56ed\u957f</b></sub>\n        </a>\n    </td>\n    <td align=\"center\">\n        <a href=\"https://github.com/tom-snow\">\n            <img src=\"https://avatars.githubusercontent.com/u/79245287?v=4\" width=\"100;\" alt=\"tom-snow\"/>\n            <br />\n            <sub><b>A Lucky Guy</b></sub>\n        </a>\n    </td>\n    <td align=\"center\">\n        <a href=\"https://github.com/GC-ZF\">\n            <img src=\"https://avatars.githubusercontent.com/u/94956933?v=4\" width=\"100;\" alt=\"GC-ZF\"/>\n            <br />\n            <sub><b>GC_XiaoZhang</b></sub>\n        </a>\n    </td>\n    <td align=\"center\">\n        <a href=\"https://github.com/deepsourcebot\">\n            <img src=\"https://avatars.githubusercontent.com/u/60907429?v=4\" width=\"100;\" alt=\"deepsourcebot\"/>\n            <br />\n            <sub><b>DeepSource Bot</b></sub>\n        </a>\n    </td></tr>\n</table>\n<!-- readme: BalconyJH,collaborators,contributors -end -->\n\n<details>\n  <summary> <h2> \u66f4\u65b0\u65e5\u5fd7</h2></summary>  \n  \n- 0.3.21\n  - \u4f18\u5316\u9ed8\u8ba4\u914d\u7f6e\uff1b\u540c\u65f6\u589e\u52a0\u4e00\u4e2a\u914d\u7f6e\u9879\uff1a\u8bbe\u7f6e\u7981\u8a00\u7b49\u57fa\u7840\u64cd\u4f5c\u662f\u5426\u5728 qq \u8fd4\u56de\u64cd\u4f5c\u7ed3\u679c [#18](https://github.com/yzyyz1387/nonebot_plugin_admin/pull/18)\n  - \u4fee\u590d`\u7981@xxx`\u7684buggi\n- 0.3.19\n  - \u4fee\u590d`__init__.py`\u4e2d\u7684bug\ud83d\udc1b [PULL#17](https://github.com/yzyyz1387/nonebot_plugin_admin/pull/17) [@tom-snow](https://github.com/tom-snow)\n  - \u4f18\u5316`\u7981@xxx`,\u6539\u5584\u7075\u6d3b\u6027 [#15](https://github.com/yzyyz1387/nonebot_plugin_admin/issues/15)\n  - `switcher.py`\u7f51\u9875\u622a\u56fe\u9519\u8bef\u6355\u6349\n  - \u4fee\u6539cdn\u5730\u5740\n  - \u4fee\u804a\u5929\u8bb0\u5f55\u7f16\u7801\u95ee\u9898\n  - \u6539\u5584\u8fdd\u7981\u8bcd\u68c0\u6d4b\u529f\u80fd\u7684\u7075\u6d3b\u6027[@lakwsh](https://github.com/yzyyz1387/nonebot_plugin_admin/commits?author=lakwsh)\n    - \u8fdd\u7981\u8bcd\u68c0\u6d4b\uff1a\u5df2\u652f\u6301\u6b63\u5219\u8868\u8fbe\u5f0f\uff0c\u53ef\u5b9a\u4e49\u89e6\u53d1\u8fdd\u7981\u8bcd\u64cd\u4f5c(\u9ed8\u8ba4\u4e3a\u7981\u8a00+\u64a4\u56de)  \n    - \u5b9a\u4e49\u64cd\u4f5c\u65b9\u6cd5\uff1a\u7528\u5236\u8868\u7b26\u5206\u9694\uff0c\u5de6\u8fb9\u4e3a\u89e6\u53d1\u6761\u4ef6\uff0c\u53f3\u8fb9\u4e3a\u64cd\u4f5c\u5b9a\u4e49($\u7981\u8a00\u3001$\u64a4\u56de)\n- \u4fee\u590d\u89e6\u53d1\u8fdd\u7981\u8bcd\u4e0d\u4f1a\u963b\u6b62\u4e8b\u4ef6\u4f20\u64ad\u7684\u95ee\u9898[@lakwsh](https://github.com/yzyyz1387/nonebot_plugin_admin/commits?author=lakwsh)\n- \u4fee\u590d\u53ef\u80fd\u4f1a\u5bfc\u81f4\u5176\u4ed6\u63d2\u4ef6\u65e0\u6cd5\u6355\u83b7\u6d88\u606f\u7684\u95ee\u9898[@lakwsh](https://github.com/yzyyz1387/nonebot_plugin_admin/commits?author=lakwsh)\n- \u4fee\u590d\u90e8\u5206\u6587\u4ef6\u7f16\u7801\u9519\u8bef\uff0c\u5f00\u5173\u72b6\u6001\u56fe\u7247\u4e71\u7801\u53caSIGINT\u4fe1\u53f7\u88ab\u52ab\u6301\u7684\u95ee\u9898[@lakwsh](https://github.com/yzyyz1387/nonebot_plugin_admin/commits?author=lakwsh)\n\n\n- 0.3.18\uff08beta\uff09\n  - update LICENSE to AGPL-3.0\n  - \ud83d\udc1b\u4fee\u590d`\u7ba1\u7406\u5458-`\u65e0\u6548\u7684bug\n  - \ud83d\udc1b\u4fee\u590d`\u7b80\u5355\u8fdd\u7981\u8bcd`\u3001`\u4e25\u683c\u8fdd\u7981\u8bcd`\u65e0\u6548\u7684bug\n  - \ud83d\udc1b\u4fee\u590d`\u7981 \u89e3 \u6539`\u7b49\u6307\u4ee4\u6709\u65e0\u7a7a\u683c\u7684\u95ee\u9898\n  - \u7981\u8a00\u547d\u4ee4\u65b0\u589e\u4e0d\u7981\u8a00superuser\n  - \u9274\u9ec4api\u6539\u4e3a\u817e\u8baf\u4e91\uff0c\u8bf7\u81ea\u884c\u5f00\u901a\u914d\u7f6e\n  - \u8fdd\u7981\u8bcd\u8bcd\u5e93\u6bcf\u5468\u4e00\u81ea\u52a8\u66f4\u65b0,\u624b\u52a8\u66f4\u65b0\uff1a`\u66f4\u65b0\u8fdd\u7981\u8bcd\u5e93`\n  - \u5206\u7fa4\u529f\u80fd\u5f00\u5173\n  - \u4f7f\u7528`\u5f00\u5173\u72b6\u6001`\u6307\u4ee4\u67e5\u770b\u5404\u529f\u80fd\u72b6\u6001\uff0c\u9996\u6b21\u4f7f\u7528\u53ef\u80fd\u4f1a\u4e0b\u8f7d109Mb\u7684`Chromium`\n- 0.3.16\uff08b1\uff09\n  - \u4fee\u590d\u542f\u52a8\u65f6`word_analyze`\u62a5\u9519\n  - \u4fee\u590d\u8bcd\u4e91\u8def\u5f84\u9519\u8bef\n  - \u5206\u8bcd\u4f18\u5316\n  - \u56fe\u7247\u9274\u9ec4\n  - \u8fdd\u7981\u8bcd\u68c0\u6d4b \u8fdd\u7981\u8bcd\u8bcd\u5e93\u6574\u7406\u4e0a\u4f20\u4e8e\uff1a[f_words](https://github.com/yzyyz1387/nwafu/tree/main/f_words) \n  - \u8bcd\u5e93\u6709\u8d58\u4f59\uff0c\u6b22\u8fce\u5927\u795epr\u7cbe\u7b80\n- 0.3.15\uff08a16\uff09\n  - \u540c 0.3.16   \n- 0.3.6\uff08b1)\n  - \u4fee\u590d\u9002\u914d\u9519\u8bef\n  - \u8865\u5145\u4f9d\u8d56\n- 0.3.5\uff08a16\uff09\n  - \u8865\u5145\u4f9d\u8d56\uff08\u8c01\u6559\u6559\u6211\u9879\u76ee\u7ba1\u7406..\n- 0.3.4 \uff08b1)\n- 0.3.3\uff08a16)\n  - \u4fee\u590d\u5bfc\u5165\u9519\u8bef\n  - \u4fee\u590d\u8def\u5f84\u9519\u8bef\n- 0.2.8  (nonebot b1\u9002\u914d)\n  - b1\u9002\u914d\uff0c\u529f\u80fd\u540c0.2.7\n- 0.2.7  (nonebot a16\u9002\u914d)\n  - \u5bf9\u5e94adapter\u52a0\u5165\u4f9d\u8d56\n  - \u4f18\u5316\u4ee3\u7801\u7ed3\u6784\n  - \u589e\u52a0\u7fa4\u8bcd\u4e91\u529f\u80fd\n    - \u66f4\u65b0\u540e\u8bf7\u6267\u884c`\u7fa4\u7ba1\u521d\u59cb\u5316`\uff08\u4e0d\u5f71\u54cd\u5df2\u4fdd\u5b58\u7684\u914d\u7f6e\uff09\n    - \u673a\u5668\u4eba\u63d0\u793a`\u6210\u529f`\u540e\u5f00\u59cb\u8bb0\u5f55\u672c\u7fa4\u6240\u6709\u6587\u672c\u5185\u5bb9\n    - \u53d1\u9001`\u7fa4\u8bcd\u4e91`\u4f7f\u7528\u6b64\u529f\u80fd\n  - \u4fee\u590d`\u7981@xxx 60 `\u8fd9\u7c7b\u547d\u4ee4\u5931\u6548\u7684bug\n- 0.2.6  (nonebot a16\u9002\u914d)\n- 0.2.5  (nonebot b1\u9002\u914d)\n  - \u4ee3\u7801\u4f18\u5316\n  - \u8e22\u7981\u6539\u7b49\u547d\u4ee4\u589e\u52a0\u6743\u9650:\u673a\u5668\u4eba\u4e3b\u4eba\uff0c\u7fa4\u4e3b\uff0c\u7fa4\u7ba1\u7406\u5458 `permission=SUPERUSER|GROUP_ADMIN | GROUP_OWNER`\n  - \u589e\u52a0\u6dfb\u52a0/\u5220\u9664\u7ba1\u7406\u5458\u64cd\u4f5c,\u547d\u4ee4\uff1a`\u7ba1\u7406\u5458+@xxx` `\u7ba1\u7406\u5458-@xxx`\n  - \u4fee\u590d `\u7981\u8a00\u591a\u4eba\u800c\u4e0d\u5e26\u5177\u4f53\u65f6\u95f4\u65f6\u53ea\u7981\u8a00\u7b2c\u4e00\u4f4d`\u7684bug\ud83d\udc1b\n- 0.2.4 (nonebot b1\u9002\u914d)\n  - \u540c0.2.3\n- 0.2.3  (nonebot a16\u9002\u914d)\n  - \u4ee3\u7801\u4f18\u5316\n  - \u547d\u4ee4\u53bb\u9664 `/`\n  - \u6452\u5f03\u82f1\u6587\u547d\u4ee4\uff0c\u6539\u4e3a\u6c49\u5b57\u547d\u4ee4\n- 0.2.2\t\uff08\u9002\u914d nonebot b1) [issue#2](https://github.com/yzyyz1387/nonebot_plugin_admin/issues/2)\n\n  - **\u66f4\u65b0\u540e\u8bf7\u521d\u59cb\u5316**:`/spinit`\n\n  - \u4fee\u590d\u672a\u914d\u7f6e\u65f6`/sp`\uff0c\u547d\u4ee4\u51fa\u73b0\u9519\u8bef\n  - \u4fee\u590d`/\u5220\u5934\u8854`\u7684bug\n  - \u589e\u52a0\u5206\u7fa4\u7ba1\u7406\uff0c\u52a0\u7fa4\u8bf7\u6c42\u5904\u7406\u7ed3\u679c\u5c06\u53d1\u9001\u7ed9\u5206\u7fa4\u7ba1\u7406 \n  - \u52a0\u7fa4\u5904\u7406\u7ed3\u679c\u6d88\u606f\u5bf9 superuser \u53ef\u5f00\u542f\u6216\u5173\u95ed: `/sumsg`\n- **0.2.1**\n  - \u4fee\u590drequiers\n- **0.1.9**\n  - \u4fee\u590d\u521d\u59cb\u5316\u529f\u80fd\n- **0.1.0** [issue#1](https://github.com/yzyyz1387/nonebot_plugin_admin/issues/1)\n- \u652f\u6301\u5165\u7fa4\u81ea\u52a8\u5ba1\u6279\n- \u652f\u6301\u5728\u7ebf\u5bf9\u4e0d\u540c\u7fa4\u7684\u5173\u952e\u8bcd\u8fdb\u884c\u589e\u51cf\u64cd\u4f5c\n- **0.0.1-4**\n  - \u652f\u6301 \u8e22 \u3001\u7981 \u3001\u6539 \u3001\u5934\u8854\n</details>\n\n## \u5176\u4ed6\u63d2\u4ef6\n[\u7b80\u6613\u7fa4\u7ba1](https://github.com/yzyyz1387/nonebot_plugin_admin)  \n[\u5728\u7ebf\u8fd0\u884c\u4ee3\u7801](https://github.com/yzyyz1387/nonebot_plugin_code)  \n[it\u54a8\u8baf\uff08\u5783\u573e\u63d2\u4ef6\uff09](https://github.com/yzyyz1387/nonebot_plugin_itnews \"it\u8d44\u8baf\")  \n[\u5de5\u4f5c\u6027\u4ef7\u6bd4\uff08\u8fd8\u6ca1\u66f4\u65b0beta\u4e0d\u80fd\u7528\uff09](https://github.com/yzyyz1387/nonebot_plugin_workscore)  \n[\u9ed1\u4e1d\u63d2\u4ef6\uff08jsdelivr\u95ee\u9898\u56fd\u5185\u670d\u52a1\u5668\u4e0d\u80fd\u7528\uff09](https://github.com/yzyyz1387/nonebot_plugin_heisi)  \n",
    "bugtrack_url": null,
    "license": "",
    "summary": "nonebot2 plugin for group administration",
    "version": "0.4.5.4",
    "project_urls": {
        "Homepage": "https://github.com/yzyyz1387/nonebot_plugin_admin"
    },
    "split_keywords": [
        "pip",
        "nonebot2",
        "nonebot",
        "admin",
        "nonebot_plugin"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fe642885537d31cefcbdad63a0a5447c033248d45e2b4f3e857609110154c2d8",
                "md5": "c96573449806b8f6d195cfb340b81abf",
                "sha256": "30ebd4add93c6a48e7396620458bd625d409256072e0b1a115d209619eaf2aed"
            },
            "downloads": -1,
            "filename": "nonebot_plugin_admin-0.4.5.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "c96573449806b8f6d195cfb340b81abf",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 67623,
            "upload_time": "2024-02-29T03:41:19",
            "upload_time_iso_8601": "2024-02-29T03:41:19.424728Z",
            "url": "https://files.pythonhosted.org/packages/fe/64/2885537d31cefcbdad63a0a5447c033248d45e2b4f3e857609110154c2d8/nonebot_plugin_admin-0.4.5.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8b0ea9111212df0b9506c48137286a37a868ae10f866a04d95169314eb1e950d",
                "md5": "36ca6be5e44f1b518d220b308fe7a411",
                "sha256": "d38f1126b1e6adb69f9d61c321cfbe6cea18459ff5e0ff549d68e527a5a01697"
            },
            "downloads": -1,
            "filename": "nonebot-plugin-admin-0.4.5.4.tar.gz",
            "has_sig": false,
            "md5_digest": "36ca6be5e44f1b518d220b308fe7a411",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 59267,
            "upload_time": "2024-02-29T03:41:21",
            "upload_time_iso_8601": "2024-02-29T03:41:21.648125Z",
            "url": "https://files.pythonhosted.org/packages/8b/0e/a9111212df0b9506c48137286a37a868ae10f866a04d95169314eb1e950d/nonebot-plugin-admin-0.4.5.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-29 03:41:21",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "yzyyz1387",
    "github_project": "nonebot_plugin_admin",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "fuzzyfinder",
            "specs": []
        },
        {
            "name": "httpx",
            "specs": []
        },
        {
            "name": "jieba",
            "specs": []
        },
        {
            "name": "nonebot-adapter-onebot",
            "specs": [
                [
                    ">=",
                    "2.0.0-beta.1"
                ]
            ]
        },
        {
            "name": "nonebot2",
            "specs": [
                [
                    ">=",
                    "2.0.0-beta.4"
                ]
            ]
        },
        {
            "name": "tencentcloud-sdk-python",
            "specs": [
                [
                    ">=",
                    "3.0.580"
                ]
            ]
        },
        {
            "name": "setuptools",
            "specs": []
        },
        {
            "name": "jinja2",
            "specs": []
        },
        {
            "name": "pyppeteer",
            "specs": []
        },
        {
            "name": "imageio",
            "specs": []
        },
        {
            "name": "numpy",
            "specs": []
        },
        {
            "name": "nonebot_plugin_apscheduler",
            "specs": []
        },
        {
            "name": "nb-cli",
            "specs": []
        }
    ],
    "lcname": "nonebot-plugin-admin"
}
        
Elapsed time: 0.16948s