Корректно пишем главный файл телеграмм бота на Aiogram 3.x
Друзья, если вы читали серию моих статей про разработку ботов через aiogram 3, то видели что я там делился структурой своего бота, в частности главным файлом. Внес в него некоторые корректировки:
async def set_commands(commands): await bot.set_my_commands(commands, BotCommandScopeDefault()) async def start_bot(): await set_commands() await bot.send_message(amin.id, 'я запущен и готов к работе') async def stop_bot(): await bot.send_message(amin.id, 'бот остановлен') async def main(): # регистрация роутера dp.include_router(start_router) # регистрация функций dp.startup.register(start_bot) dp.shutdown.register(stop_bot) try: await bot.delete_webhook(drop_pending_updates=True) await dp.start_polling(bot, allowed_updates=dp.resolve_used_update_types()) finally: await bot.session.close()
Функция, которая запускается при старте бота:
async def start_bot(): # регистрация командного меню await set_commands() await bot.send_message(amin.id, 'я запущен и готов к работе')
Функция, которая запускается при завершении сессии:
async def stop_bot(): await bot.send_message(amin.id, 'бот остановлен')
После функции нужно зарегистрировать:
dp.startup.register(start_bot) dp.shutdown.register(stop_bot)
И затем корректно закрыть сессию с ботом.
Благодарю за внимание. Подписывайтесь и ставьте лайки, если инфорамция была для вас полезной.
