Найти - Пользователи
Полная версия: aiogram + pyrogram
Начало » Центр помощи » aiogram + pyrogram
1
ZloyKotya
Ребят вопросик есть, не пинайте только я только учусь, пытаюсь запустить двух ботов в одном коде, один на aiogram обычный бот, второй на pyrogram юзер бот, с запуском проблем вроде нет через asyncio.gather. А вот с закрытием есть проблема, по ctrl+c пирограмовский закрывается, а вот aiogram не хочет прекращать работу. Сделал костыль через sys.exit и то он заработал когда я его в хэндлеры запихал, из main файла не хотел работать, работает оп команде aiogram боту, не нравиться. Кто может помочь?
ZerG
Для примера
 import asyncio
from aiogram import Bot, Dispatcher, types
from aiogram.utils import executor
API_TOKEN = 'your_api_token'
bot = Bot(token=API_TOKEN)
dp = Dispatcher(bot)
@dp.message_handler(commands=['start'])
async def start(message: types.Message):
    await message.reply("Hello! I'm a bot!")
@dp.message_handler(commands=['stop'])
async def stop(message: types.Message):
    await message.reply("Stopping the bot...")
    await dp.bot.close()  # Close the bot
async def shutdown(dispatcher: Dispatcher):
    await dispatcher.bot.close()
    await dispatcher.storage.close()
    await dispatcher.storage.wait_closed()
if __name__ == '__main__':
    loop = asyncio.get_event_loop()
    try:
        loop.create_task(executor.start_polling(dp, skip_updates=True))
        loop.run_forever()
    except KeyboardInterrupt:
        loop.run_until_complete(shutdown(dp))
        print("Bot stopped gracefully.")
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB