这个插件为 NoneBot2 实现了优雅关机(Graceful Shutdown)(查看 nonebot/nonebot2#2479)
即等待事件处理完毕后再关机
同时它还允许你在关机前运行一些函数,类似于on_shutdown
但是优先级更高,可以保证在bot
断连之前执行
uv add nonebot-plugin-wait-a-minute
pdm add nonebot-plugin-wait-a-minute
poetry add nonebot-plugin-wait-a-minute
from nonebot import require, on_command
from nonebot.matcher import Matcher
require('nonebot_plugin_wait_a_minute') # require plugin
from nonebot_plugin_wait_a_minute import graceful, on_shutdown_before
# 优雅关机
@on_command('foo').handle()
@graceful() # 👈 添加 graceful 装饰器到 handle 装饰器下面
# 或者,你可以使用 @graceful(block=True) 来阻止进入关机等待时运行新的 handle
async def _(matcher: Matcher):
matcher.send('foo')
# 关机前 hook
@on_shutdown_before
def _():
# 整点啥()
...
# 或者使用 async
@on_shutdown_before
async def _():
# await 整点啥()
...
本项目使用 MIT 许可证开源