Как остановить Телеграм бота aiogram

Когда я нажимаю start_loop, в окне сообщения tg на моей странице начинает отображаться обратный отсчет. Когда я нажимаю стоп, как я могу остановить предыдущий обратный отсчет?
Я использую идентификатор (запрос), чтобы подтвердить, что экземпляр запроса, отправленный дважды, не совпадает. После того, как я выполню функцию stop_loop, start_loop все равно будет выполняться и изменять содержимое сообщения.
Может кто-нибудь сказать мне, как это остановить?

Ответ №1:

Я использовал redis для его решения, но я не знаю, является ли это наиболее подходящим способом. Если есть более подходящий способ, пожалуйста, дайте мне знать

Ответ №2:

Чтобы управлять своим циклом, вы должны вывести его за пределы обработчиков и просто войти из любого хранилища (например, используется dict).

Базовый пример цикла

Источник: programbox.ru

как сделать своего aiogram бота #программирование #aiogram #python #telegrambot

Как останавить telegram бота (aiogram) при любой ошибке?

Telegram бот написан на python при помощи библиотеки aiogram. Есть необходимость останавливать самого бота и закрывать программу при возникновении ошибок, которые касаются непосредственно библиотеки aiogram. В качестве примера ошибки можно рассмотреть ( или любую другую которая возникает внутри библиотеки aiogram):
aiogram.utils.exceptions.TerminatedByOtherGetUpdates: Terminated by other getupdates request; make sure that only one bot instance is running Если вкратце вот код:

from aiogram import Bot, types from aiogram.dispatcher import Dispatcher from aiogram.utils import executor from config import TOKEN if __name__ == ‘__main__’: bot = Bot(token=TOKEN) dp = Dispatcher(bot) executor.start_polling(dp)

Пробовал оборачивать executor.start_polling(dp) в конструкцию try, except . Однако это не помогло ибо ошибка возникала внутри executor.start_polling(dp) и тем самым не имела никакого влияния на try, except главной функции. Что необходимо сделать для остановки бота в случаем ошибки и закрытием самой программы?

Еще по теме:  Какой канал в Телеграмме впр

Источник: ru.stackoverflow.com

Привет Вопрос: как правильно остановить бота? по нажатию Ctrl+C или в

случае когда я собираюсь остановить докер контейнер, и посылается соответствующий сигнал? Я логику понимаю че использовать, но может у кого то есть пример graceful shutdown? плюс как корретнее остановить asyncio.run(main())

06:50 26.04.2022

3 ответов

А проблема-то в чём? Что тебя заставило задуматься над этим вопросом?

Как ИДЕАЛЬНО писать БОТОВ на PYTHON | Aiogram & Nextcord

06:51 26.04.2022
Groosha
А проблема-то в чём? Что тебя заставило задуматься.

Стало жалко бота через sigkill мочить, это ж его детище))

06:52 26.04.2022
Artem Автор вопроса
Groosha
А проблема-то в чём? Что тебя заставило задуматься.

1. Не нравится сообщение об ошибке из кишок aiogram (от aiohtttp) 2. Хотел бы корректно утилизировать коннект к редису (aioredis хотел из реализовали _ _ del _ _ тем не менее я хочу вызывать это сам) + какие то ещё действия выполнить после остановки бота

Источник: telq.org

Рейтинг
( Пока оценок нет )
Загрузка ...