Как запускать функцию при запуске Телеграм бота Python
Делаю Телеграм бота на Python (Aiogram). Нужно при запуске бота запускать функцию, расположенную в другом файле. Вариант с on_startup функцией не подходит ибо при импорте данной функции получается circular import. Есть какие-либо способы реализовать эту задачу? Сейчас функция запускается с помощью команды /start
bot.py
import asyncio
import logging
import os
from aiogram import Bot, Dispatcher, executor
from dotenv import load_dotenv
from environs import Env
load_dotenv()
BOT_TOKEN = str(os.getenv("BOT_TOKEN"))
ip = os.getenv("IP")
asyncio.set_event_loop(asyncio.new_event_loop())
loop = asyncio.get_event_loop()
bot = Bot(BOT_TOKEN, parse_mode="HTML")
dp = Dispatcher(bot, loop=loop)
env = Env()
env.read_env()
ADMIN_ID = env.int("ADMIN_ID")
if __name__ == '__main__':
from handlers import dp
executor.start_polling(dispatcher=dp)
handlers.py
...
@dp.message_handler(Command('start'))
@auth
async def main(message: Message, as_html=True):
await bot.send_message(ADMIN_ID, "? Бот запущен")
...
...