Задать вопрос
@Artemkaa_2001

Обработка ошибки в telebot, как сделать обработку на ошибку 409?

Хочу сделать обработку ошибки 409.
Это ошибка возникает когда, запущено несколько ботов одновременно с одним API

Сколько пробую, ничего не получается, вот код:
(Это лишь маленькая часть кода)
import telebot 
bot = telebot.TeleBot(Bot_API, parse_mode=None) 


@bot.message_handler(func=lambda message: re.match(r'^/start$', message.text, re.IGNORECASE)) 
def command_start(message): 
    locale = message.from_user.language_code 
    bot.send_message(message.chat.id, WELCOME_MESSAGE_RUSSIAN, reply_markup=keyboard) 
    contact_button = types.KeyboardButton(CONFIRM_PHONE_ENGLISH, request_contact=True) 
    keyboard.add(contact_button) 
    bot.send_message(message.chat.id, WELCOME_MESSAGE_ENGLISH, reply_markup=keyboard) 

while True: 
    try: 
        bot.polling(non_stop=True) 
    except Exception as e: 
        print(e) 
        if "Conflict" in str(e) or "409" in str(e): 
            print("Конфликт API, это происходит, когда вы пытаетесь запустить несколько экземпляров")


Некоторый код сместился, прошу не обращать на это внимание
  • Вопрос задан
  • 107 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@dim5x
ЗИ, ИБ. Помогли? Поблагодарите. Отметьте ответом.
Так?
Написать класс, где будете обрабатывать ошибку и передать его в exception_handler при инициализации бота.
import telebot


class ExceptionHandler(telebot.ExceptionHandler):
    def handle(self, exception):
        print('Ооооошибка 409!:', exception)
        return True

bot = telebot.TeleBot('YOUR_API_TOKEN', exception_handler=ExceptionHandler())
bot.polling(none_stop=True)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы