bot断连时的通知插件
Project description
📖 介绍
- 可以在bot断开与nonebot的连接时向主人发送微信公众号消息或邮件消息,用来通知主人bot可能被风控掉线
- 目前支持全部适配器协议,通知方式支持:
- pushplus微信公众号通知;
- server酱Turbo(方糖)微信公众号通知;
- server酱3安卓/ios app离线通知;
- pushover安卓/ios/ipad/pc多设备通知; emil邮件通知
- 如果有其他通知方式的需求,欢迎提issues或pr
💿 安装
使用 nb-cli 安装
在 nonebot2 项目的根目录下打开命令行, 输入以下指令即可安装nb plugin install nonebot-plugin-disconnect-notice
使用包管理器安装
在 nonebot2 项目的插件目录下, 打开命令行, 根据你使用的包管理器, 输入相应的安装命令pdm
pdm add nonebot-plugin-disconnect-notice
poetry
poetry add nonebot-plugin-disconnect-notice
⚙️ 配置
运行插件前,需要在 nonebot2 项目的.env.prod文件中按照不同推送方式添加下表中的相应配置项
server酱Turbo(方糖)公众号消息配置教程
server酱Turbo每天免费消息推送额度只有5条
server酱Turbo和server酱3的区别:Turbo是微信公众号推送,3是app推送
-
点击网页右上角 登录 按钮,微信扫码完成登录
-
回到网页端点击 扫码后点此继续 按钮
-
点击sendkey下方的 复制 按钮,或者你可以新建单独的appkey,然后进行复制
-
将token按照下方配置项名 disconnect_notice_server_key = "" 填入
.env.prod文件内
server酱3 消息配置教程
server酱3现在内测期间可以免费使用
server酱Turbo和server酱3的区别:Turbo是微信公众号推送,3是app推送
- 进入server酱3官网
- 点击网页右上角 登入 按钮,微信扫码完成登录
- 回到网页端点击 手机扫码后点此以登入 按钮
- 点击sendkey旁边的 复制 图标
- 将token按照下方配置项名 disconnect_notice_server3_key = "" 填入
.env.prod文件内 - 访问app下载页面从支持机型的应用商店下载,或直接下载apk
- 你也可以通过手机扫描下面二维码进入下载页面
- app端复制刚刚的sendkey,或扫码sendkey旁边二维码完成填写
- 后续app就能收到推送消息,下列品牌手机(iOS/FCM/小米/华为/荣耀/vivo/oppo/iQOO/Realme/OnePlus/魅族)
,即便应用不在后台,也能通过厂商通道收到推送消息
pushplus微信公众号消息配置教程
pushplus现在强制要求实名以及每次实名1元认证费用,推荐使用其他推送配置
-
点击网页右上角 登录 按钮,微信扫码完成登录
-
点击公众号提示的该卡片完成登录绑定,提示启用成功即可
-
回到网页端,顶部菜单栏选择发送消息 - 一对一消息,然后点击一键复制
-
将token按照下方配置项名 disconnect_notice_pushplus_token = "" 填入
.env.prod文件内
pushover消息配置教程
pushover可通过他的安卓/ios/ipad/pc客户端进行推送,个人用户可免费使用30天,后续需要付费5美元买断,不太推荐此方式
-
进入pushplus官网并通过邮箱注册账号,并点开邮件内链接验证账号
-
复制此处user_key
-
网页向下滑动,点击创建app
-
输入一个app名称,如nb2,勾选条款后点击创建
-
复制此处token
-
将user_key和token按照下方配置项名 disconnect_notice_pushover_user_key = "",disconnect_notice_pushover_token = "" 填入
.env.prod文件内 -
打开pushover客户端下载页下载至少一个设备端的应用并登录相同账号
注意:ios端及mac端可以不用开启app的情况下进行消息推送,安卓端则需要保持google在线或app后台运行状态,这点对于安卓端相当不友好注意:每个设备端至多有30天试用期,到期后需要花费5美元买断(各设备端单独收费)
邮件通知配置教程
- 以qq邮箱为例,其他邮箱的开启smtp方式是类似的
-
点击qq邮箱的设置
-
点击账户
-
点击管理服务,如果没有开启,这里可能显示的是
开启服务 -
点击
生成授权码 -
按照要求用密保手机号发送短信验证
-
复制得到的这个授权码
-
得到的这个
授权码就相当于邮箱密码,邮箱账号就是qq邮箱,其他的一些常见邮箱的smtp_server和smtp_port配置参数参考下表
| 邮箱名 | smtp_server | smtp_port |
|---|---|---|
| qq邮箱 | smtp.qq.com | 465 |
| 网易yeah邮箱 | smtp.yeah.net | 465 |
| 阿里云邮箱 | smtp.aliyun.com | 465 |
| 网易163邮箱 | smtp.163.com | 465 |
| 移动139邮箱 | smtp.139.com | 465 |
| 配置项 | 必填 | 值类型 | 默认值 | 说明 |
|---|---|---|---|---|
| disconnect_notice_mode_list | 是 | list[str] | ["server"] | 通知类型列表,枚举值: mail server server3 pushplus pushover,可填写多个通知源,如["server","mail"] |
| disconnect_notice_pushplus_token | 是 | str | "" | pushplus微信公众号token,具体获取方式见上方教程 |
| disconnect_notice_server_key | 是 | str | "" | server酱Turbo微信公众号key,具体获取方式见上方教程 |
| disconnect_notice_server3_key | 是 | str | "" | server酱3key,具体获取方式见上方教程 |
| disconnect_notice_pushover_user_key | 是 | str | "" | pushover user_key,具体获取方式见上方教程 |
| disconnect_notice_pushover_token | 是 | str | "" | pushover token,具体获取方式见上方教程 |
| disconnect_notice_smtp_user | 是 | str | "" | 邮箱账号,如 114514@yeah.net |
| disconnect_notice_smtp_password | 是 | str | "" | 邮箱密码或授权码,如 114514 |
| disconnect_notice_smtp_server | 是 | str | "" | 邮箱服务器地址,如 smtp.yeah.net |
| disconnect_notice_smtp_port | 是 | int | 465 | 邮箱端口号,ssl模式时为465 |
| disconnect_notice_notice_email | 是 | str | "" | 收件人邮箱,填写自己邮箱即可 |
| disconnect_notice_dev_mode | 否 | bool | False | 开发者模式,该模式下bot断开连接不会触发通知消息,避免本地测试插件时不断重载而导致的大量掉线通知 |
| disconnect_notice_max_grace_time | 否 | int | 10 | 断连后最大宽限时长,单位:秒,如果在此期间bot完成了重连,则不触发邮件通知 |
示例配置
## disconnect_notice掉线通知示例配置
# 通知方式list,可填写多种通知方式 枚举值:pushplus mail server
disconnect_notice_mode_list = ["pushplus"]
# pushplus微信公众号通知 https://www.pushplus.plus/
disconnect_notice_pushplus_token = ""
# server酱Turbo https://sct.ftqq.com/r/1483
disconnect_notice_server_key = ""
# server酱3 https://sc3.ft07.com/
disconnect_notice_server3_key = ""
# pushover
disconnect_notice_pushover_user_key = ""
disconnect_notice_pushover_token = ""
# 邮件通知
disconnect_notice_smtp_user = "114514@yeah.net" #邮箱账号
disconnect_notice_smtp_password = "114514" #邮箱密码
disconnect_notice_smtp_server = "smtp.yeah.net" #邮箱服务器地址
disconnect_notice_smtp_port = 465 #邮箱端口号
disconnect_notice_notice_email = "114514@qq.com" #收件人邮箱
# 其他设定
disconnect_notice_dev_mode = False #开发者模式,该模式下bot断连不会触发通知消息,避免本地测试插件时不断重载而导致的大量掉线通知
disconnect_notice_max_grace_time = 10 #断连后最大宽限时长,单位:秒,如果在此期间bot完成了重连,则不触发邮件通知
🎉 使用
指令表
| 指令 | 权限 | 需要@ | 范围 | 说明 |
|---|---|---|---|---|
| /掉线测试 | 主人 | 否 | 所有会话 | 主动触发掉线通知测试,用来测试通知是否正常可用 |
效果图
邮件通知
pushplus微信通知
server酱微信通知
pushover通知
✨喜欢的话就点个star✨吧,球球了QAQ
⏳ Star 趋势
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nonebot_plugin_disconnect_notice-0.4.3.tar.gz.
File metadata
- Download URL: nonebot_plugin_disconnect_notice-0.4.3.tar.gz
- Upload date:
- Size: 13.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d0529e8574127652ebf99ca24d122f5212a998c9c77bfc40a860e3c57f0ef49f
|
|
| MD5 |
1b540819a73eb3e877252f11a9901f62
|
|
| BLAKE2b-256 |
a2ec3b316d64bffca40131345116c4294fe6afb99862044c642e73870aaa63fe
|
File details
Details for the file nonebot_plugin_disconnect_notice-0.4.3-py3-none-any.whl.
File metadata
- Download URL: nonebot_plugin_disconnect_notice-0.4.3-py3-none-any.whl
- Upload date:
- Size: 13.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b26b222a283608bae1d423d507d6353129cb85b6f446b6f74e3ef03b14bac772
|
|
| MD5 |
222a463c998ee540ebdb9a4106b2cace
|
|
| BLAKE2b-256 |
5c65caa336ff5c68ee0d8e71dd90925f36cda6f7b007799d0a94cca0c7c0733a
|