21 lines
407 B
Python
21 lines
407 B
Python
import asyncio
|
|
from typing import TYPE_CHECKING
|
|
|
|
if TYPE_CHECKING:
|
|
from aiogram import Bot
|
|
|
|
|
|
class BotHolder:
|
|
def __init__(self) -> None:
|
|
self.bot: Bot | None = None
|
|
self.ready = asyncio.Event()
|
|
|
|
def set_bot(self, bot: "Bot") -> None:
|
|
self.bot = bot
|
|
self.ready.set()
|
|
|
|
async def wait_bot(self) -> "Bot":
|
|
await self.ready.wait()
|
|
assert self.bot is not None
|
|
return self.bot
|