файл main.py со следующим кодом:
import asyncio
from aiogram import Bot, Dispatcher, executor, types
from config import BOT_TOKEN
bot = Bot(token=BOT_TOKEN) # Запуск бота
dp = Dispatcher(bot) # Создание диспетчера обновлений
if __name__ == '__main__':
# Импортирование Dispatcher'а с привязанными слушателями событиый
from handlers import dp
# Перевод бота в режим ожидания обновлений
executor.start_polling(dp, skip_updates=True)
Есть также файл handlers.py, в котором я создал обработчик, реагирующий на команду /die. Код:
import sys
from aiogram import types
from main import bot, dp
from config import BOT_TOKEN, ADMINS
# Завершение работы бота администратором
@dp.message_handler(commands=['die'])
async def die (message: types.Message):
# Если команда /die была послана администратором
if(message['from'].id in ADMINS):
dp.stop_polling()
# Остановка процесса
sys.exit()
Суть проблемы: когда я пишу боту /die, он завершает свою работу, все проходит как ожидалось, однако если запустить бота заново, то он запустится, но потом сразу завершит работу. повторно отреагировав на /die, на который он уже реагировал до этого. И skip_updates никак не помогает. Что можно сделать в этой ситуации?
nekobin.com pastebin.com hastebin.com
Зачем тебе останавливать процесс бота?
Обсуждают сегодня