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

Рейтинг: 0Ответов: 3Опубликовано: 31.01.2023

Всем доброго времени суток! Прошу у Вас помощи в создании телеграм бота для личного использования. Я хочу чтобы мой телеграм бот мог останавливаться. Ниже привел пример

print('run')
bot.polling()
print('continue')

В консоль выводит "run", а вот continue уже не выводит. То есть это строчка выполняется пока я не крашну бота насильно. Как можно завернуть "bot.polling" так, чтобы при каком-либо условии можно было его остановить?

Хочу сделать по типу этого:

while a == 0:
    bot.polling()
    if a > 0:
        bot.stop_bot()
        break
        

Но это так не работает. Призываю на помощь ветеранов. Спасибо!

Ответы

▲ 1Принят

попробуй

@bot.message_handler(commands=['stop'])
def stop():
    sys.exit(0)
▲ 1

Да, Вам нужно в любом случае добавить хотя бы новый декоратор, так как после bot.polling() зацикливает код, пока программа не остановится вручную или аварийно:

@bot.message_handler(content_types=['stop']) def stop(message): bot.stop_bot()

▲ 1

Попробуй вызвать bot.stop_polling() Изменяй переменную 'a' на 1 или 2, отталкиваясь от того, какую команду ты хочешь чтобы программа выполняла.

a = 1
if a == 0:
    bot.stop_polling()
elif a == 1:
    bot.polling()