Корректно пишем главный файл телеграмм бота на 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)
И затем корректно закрыть сессию с ботом.
Благодарю за внимание. Подписывайтесь и ставьте лайки, если инфорамция была для вас полезной.