Feature: 创建启动通知 #53

Merged
Passthem merged 1 commits from feature/startup-notification into master 2026-02-25 16:13:01 +08:00

View File

@ -0,0 +1,33 @@
import asyncio
from nonebot import get_driver
from nonebot_plugin_alconna import UniMessage
from konabot.plugins.poster.poster_info import register_poster_info, PosterInfo
from konabot.plugins.poster.service import broadcast
CHANNEL_STARTUP = "启动通知"
register_poster_info(CHANNEL_STARTUP, PosterInfo(
aliases=set(),
description="当 Bot 重启时告知",
))
driver = get_driver()
@driver.on_startup
async def _():
# 要尽量保证接受讯息的服务存在
# 所以在这里我们要等待一定时间后再发信
async def task():
while True:
if len(driver.bots) >= 1:
break
await asyncio.sleep(15)
# 在这个时候,需求的 bot 已经上线,再等待一小会
await asyncio.sleep(3)
await broadcast(CHANNEL_STARTUP, UniMessage.text("此方 BOT 重启好了"))
asyncio.create_task(task())