@Studentka1996

Как исправить ошибку 409 Conflict в боте Telegram?

Почему я не могу использовать переменную bot в другом файле? Ошибка, якобы бот уже запущен (запущен один экземпляр бота). Прошу помощи.

main.py

@bot.callback_query_handler(func=lambda msg: True) 
def callback_Func(callback_query):
    message = callback_query.message
    text = callback_query.data

    user.send_mess(f'Оплатите заказ в течении 30 минут, иначе заказ аннулируется', 
             buttons.ls_keybs_orders(message.chat.id)[0], message.chat.id, message.message_id)


user.py

def send_mess(mess, st_order, chat_id, mess_id, bot):
    print(st_order)
    bot.edit_message_text(chat_id = chat_id, message_id = mess_id, text = f'*Ваш заказ № {conn_DB.id_Zakaz()}'\
          f' СФОРМИРОВАН!* {mess}.\n Спасибо за заказ, *ожидайте звонка* \U0001f4de.',
             parse_mode = "Markdown", reply_markup = buttons.send_keyb_order(st_order))


Текст ошибки:
telebot.apihelper.ApiException: A request to the Telegram API was unsuccessful. The server returned HTTP 409 Conflict. Response body:
[b'{"ok":false,"error_code":409,"description":"Conflict: terminated by other getUpdates request; make sure that only one bot instance is running"}']
  • Вопрос задан
  • 55 просмотров
Решения вопроса 1
@Studentka1996 Автор вопроса
Помог запуск бота с помощью __main__

if __name__ == '__main__': # чтобы код выполнялся только при запуске в виде сценария, а не при импорте модуля
    try:
       bot.polling(none_stop=True) # запуск бота
    except Exception as e:
       print(e) # или import traceback; traceback.print_exc() для печати полной инфы
       time.sleep(15)
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
JohnJameson
@JohnJameson
Попробуй создать нового бота и подключить токен к нему
Ответ написан
vabka
@vabka
Токсичный шарпист
Возможно, у вас настроен вебхук, а вы пытаетесь при этом делать getUpdates
https://stackoverflow.com/questions/36120529/teleg...
Либо getUpdates происходит из нескольких потоков/процессов
Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы