Skip to main content

bot断连时的通知插件

Project description

NoneBotPluginLogo

NoneBotPluginText

nonebot-plugin-disconnect-notice

✨ bot断连时的通知插件,支持多种通知方式 ✨

license pypi python

📖 介绍

  • 可以在bot断开与nonebot的连接时向主人发送微信公众号消息或邮件消息,用来通知主人bot可能被风控掉线
  • 目前支持全部适配器协议,通知方式支持: pushplus微信公众号通知; server酱(方糖)微信公众号通知;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酱(方糖)公众号消息配置教程 > server酱每天免费消息推送额度只有5条
  1. 进入server酱官网

  2. 点击网页右上角 登录 按钮,微信扫码完成登录

  3. 回到网页端点击 扫码后点此继续 按钮

  4. 点击sendkey下方的 复制 按钮,或者你可以新建单独的appkey,然后进行复制

    1.png

  5. 将token按照下方配置项名 disconnect_notice_server_key = "" 填入.env.prod 文件内

pushplus微信公众号消息配置教程

pushplus现在强制要求实名以及每次实名1元认证费用,推荐使用其他推送配置

  1. 进入pushplus官网

  2. 点击网页右上角 登录 按钮,微信扫码完成登录

  3. 点击公众号提示的该卡片完成登录绑定,提示启用成功即可

    1.png

  4. 回到网页端,顶部菜单栏选择发送消息 - 一对一消息,然后点击一键复制

    2.png

  5. 将token按照下方配置项名 disconnect_notice_pushplus_token = "" 填入.env.prod 文件内

pushover消息配置教程

pushover可通过他的安卓/ios/ipad/pc客户端进行推送,个人用户可免费使用30天,后续需要付费5美元买断,不太推荐此方式

  1. 进入pushplus官网并通过邮箱注册账号,并点开邮件内链接验证账号

  2. 复制此处user_key 1.png

  3. 网页向下滑动,点击创建app 2.png

  4. 输入一个app名称,如nb2,勾选条款后点击创建 3.png

  5. 复制此处token 4.png

  6. 将user_key和token按照下方配置项名 disconnect_notice_pushover_user_key = "",disconnect_notice_pushover_token = "" 填入.env.prod 文件内

  7. 打开pushover客户端下载页下载至少一个设备端的应用并登录相同账号

    • 注意:ios端及mac端可以不用开启app的情况下进行消息推送,安卓端则需要保持google在线或app后台运行状态,这点对于安卓端相当不友好
    • 注意:每个设备端至多有30天试用期,到期后需要花费5美元买断(各设备端单独收费)
邮件通知配置教程
  • 以qq邮箱为例,其他邮箱的开启smtp方式是类似的
  1. 点击qq邮箱的设置 img.png

  2. 点击账户 img_1.png

  3. 点击管理服务,如果没有开启,这里可能显示的是开启服务 img_2.png

  4. 点击生成授权码 img_3.png

  5. 按照要求用密保手机号发送短信验证 img_4.png

  6. 复制得到的这个授权码 img_5.png

  7. 得到的这个授权码就相当于邮箱密码,邮箱账号就是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 pushplus pushover,可填写多个通知源,如["server","mail"]
disconnect_notice_pushplus_token str "" pushplus微信公众号token,具体获取方式见上方教程
disconnect_notice_server_key str "" server酱微信公众号key,具体获取方式见上方教程
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酱 https://sct.ftqq.com/r/1483
disconnect_notice_server_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完成了重连,则不触发邮件通知

🎉 使用

指令表

指令 权限 需要@ 范围 说明
/掉线测试 主人 所有会话 主动触发掉线通知测试,用来测试通知是否正常可用

效果图

邮件通知

mail.png

pushplus微信通知

mail.png

server酱微信通知

server.png

pushover通知

pushover.png

✨喜欢的话就点个star✨吧,球球了QAQ

⏳ Star 趋势

Stargazers over time

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nonebot_plugin_disconnect_notice-0.4.0.tar.gz (12.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file nonebot_plugin_disconnect_notice-0.4.0.tar.gz.

File metadata

File hashes

Hashes for nonebot_plugin_disconnect_notice-0.4.0.tar.gz
Algorithm Hash digest
SHA256 50334d5a98e4361094e265dd55f9a1821ddde347bf0126469221a6dc3e6d67a0
MD5 32d94225ec43f11c1e16cbe782c58877
BLAKE2b-256 6633d73c05153b309ff18fc1976edc56b2f423621e8aef86c4b18176ee8efb3c

See more details on using hashes here.

File details

Details for the file nonebot_plugin_disconnect_notice-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for nonebot_plugin_disconnect_notice-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3a5d7361088cd890473969ea4bea442845a4c09dc7a6d9fe465fb6cf2eb08c6c
MD5 ad4541248f57d79bd7d79e58c78bebc8
BLAKE2b-256 71962f4c880918efcb5a4c586e75337e5bf7bc2f8211bc6a60108cdac3823457

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page