高优先级关闭信号钩子插件
Project description
nonebot-plugin-shutdown-hook
该插件提供一个高优先级关闭信号钩子,用于在关闭时,Bot断开之前执行一些操作 例如对所有未关闭的Matcher进行回复,修改Bot昵称或签名为已关机等
在 nonebot.run() 之前调用此函数, 用 on_shutdown_before 装饰需要执行的函数即可
通过修改 Server.handle_exit,在 handle_exit 函数接收到中止信号后并不立刻中止,而是将信号存储在 SIGNALS_LIST,并立刻执行注册的钩子函数。钩子函数执行完毕后,依次从 SIGNALS_LIST 取出信号,重新传入原 handle_exit 函数处理。
此钩子优先级非常高,如果在钩子时发生错误,可能会导致程序无法正常关闭。
安装
pip install nonebot-plugin-shutdown-hook
使用
导入
from nonebot-plugin-shutdown-hook import override_uvicorn_shutdown_hooks, on_shutdown_before
创建
# bot.py 文件
...
override_uvicorn_shutdown_hooks()
...
if __name__ == "__main__":
nonebot.run()
...
@on_shutdown_before()
async def func():
# 执行一些操作
...
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
Close
Hashes for nonebot_plugin_shutdown_hook-0.1.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | f5181c07e972556bfd3de17e1ead7dcb7dacce4a47cdbed78ab9642838560f1a |
|
MD5 | de0341c9ddd3b773e4e9dece181c3062 |
|
BLAKE2b-256 | b1bb7b82075d8a1ce03c482e0fce742699ae920024bd2d5d9f62281730c8a4f3 |
Close
Hashes for nonebot_plugin_shutdown_hook-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ada6681d7587ef230d1c159edbb412d796031373344eb9cc1c7ebcd4022463ad |
|
MD5 | 77a968574f7122dd208c950297e179f5 |
|
BLAKE2b-256 | 777e01a5ab2b100c57b8c29c19ae34ee73c4f25c4b8783256d97480ad3c4ca73 |