Исходный код raito.handlers.management.unload

from __future__ import annotations

from asyncio import sleep
from typing import TYPE_CHECKING

from aiogram import html

from raito import rt
from raito.plugins.commands import description, hidden, params
from raito.plugins.roles.roles import DEVELOPER
from raito.utils.filters import RaitoCommand

if TYPE_CHECKING:
    from aiogram.types import Message

    from raito.core.raito import Raito

router = rt.Router(name="raito.management.unload", priority=7)


[документация] @router.message(RaitoCommand("unload"), DEVELOPER) @description("Unloads a router by name") @params(name=str) @hidden async def unload_router(message: Message, raito: Raito, name: str) -> None: router_loader = raito.router_manager.loaders.get(name) if not router_loader: await message.answer(f"🔎 Router {html.bold(name)} not found", parse_mode="HTML") return msg = await message.answer( f"📦 Unloading router {html.bold(name)}...", parse_mode="HTML", ) router_loader.unload() await sleep(0.5) await msg.edit_text(f"✅ Router {html.bold(name)} unloaded", parse_mode="HTML")