Содержание
- Threaded polling exception 409 «make sure that only one bot instance is running» #1778
- Comments
- Footer
- Не получается установить бот Api telegram, ошибка 409
- Чистим от вируса или трояна, чтобы убрать ошибку 409
- Исправляем ошибку 409 в конкретном браузере
- Последнее слово про ошибку
- Another bot instance —> 409, unsuccessful request #297
- Comments
- TeleBot:A request to the Telegram API was unsuccessful #737
- Comments
Threaded polling exception 409 «make sure that only one bot instance is running» #1778
Please answer these questions before submitting your issue. Thanks!
- What version of pyTelegramBotAPI are you using?
docker images in Mac OS Ventura and Ubuntu 22.04 on Raspberry Pi 4. Same behaviour.
- What version of python are you using?
The bot runs fine but the following appears continuously in the logs. First every few seconds, some time later about 30+ seconds every exception.
2022-11-02 10:02:01,917 (init.py:1089 MainThread) ERROR — TeleBot: «Exception traceback:
Traceback (most recent call last):
File «/usr/local/lib/python3.8/site-packages/telebot/init.py», line 1077, in __threaded_polling
polling_thread.raise_exceptions()
File «/usr/local/lib/python3.8/site-packages/telebot/util.py», line 116, in raise_exceptions
raise self.exception_info
File «/usr/local/lib/python3.8/site-packages/telebot/util.py», line 98, in run
task(*args, **kwargs)
File «/usr/local/lib/python3.8/site-packages/telebot/init.py», line 653, in __retrieve_updates
updates = self.get_updates(offset=(self.last_update_id + 1),
File «/usr/local/lib/python3.8/site-packages/telebot/init.py», line 627, in get_updates
json_updates = apihelper.get_updates(self.token, offset, limit, timeout, allowed_updates, long_polling_timeout)
File «/usr/local/lib/python3.8/site-packages/telebot/apihelper.py», line 334, in get_updates
return _make_request(token, method_url, params=payload)
File «/usr/local/lib/python3.8/site-packages/telebot/apihelper.py», line 162, in _make_request
json_result = _check_result(method_name, result)
File «/usr/local/lib/python3.8/site-packages/telebot/apihelper.py», line 189, in _check_result
raise ApiTelegramException(method_name, result, result_json)
telebot.apihelper.ApiTelegramException: A request to the Telegram API was unsuccessful. Error code: 409. Description: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
Obviously no more than one instance running.
Thanks in advance
The text was updated successfully, but these errors were encountered:
Obviously no more than one instance running.
Not obviously without any details. If Telegram says it does — it definitely does.
Check your code, may be it runs in parallel.
But this is the code 😀 :
from config import *
import telebot
@bot.message_handler(commands=[«start», «help»])
def cmd_start(message):
bot.reply_to(message, «Hi!»)
if name == «main«:
print(«Starting bot»)
bot.infinity_polling()
print(«End»)
Maybe when one run is finished, the Telegram API does not know so the next bot execution triggers the message?
- Show the console output after program starts and before Telegram error.
- Show the config which you imports.
Nothing happens without reasons. The only thing is to find the problem in your code. 🙂
Starting bot
2022-11-03 13:45:22,690 (init.py:1087 MainThread) ERROR — TeleBot: «Threaded polling exception: A request to the Telegram API was unsuccessful. Error code: 409. Description: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running»
2022-11-03 13:45:22,691 (init.py:1089 MainThread) ERROR — TeleBot: «Exception traceback:
Traceback (most recent call last):
File «/home/user/.local/lib/python3.10/site-packages/telebot/init.py», line 1077, in __threaded_polling
polling_thread.raise_exceptions()
File «/home/user/.local/lib/python3.10/site-packages/telebot/util.py», line 116, in raise_exceptions
raise self.exception_info
File «/home/user/.local/lib/python3.10/site-packages/telebot/util.py», line 98, in run
task(*args, **kwargs)
File «/home/user/.local/lib/python3.10/site-packages/telebot/init.py», line 653, in __retrieve_updates
updates = self.get_updates(offset=(self.last_update_id + 1),
File «/home/user/.local/lib/python3.10/site-packages/telebot/init.py», line 627, in get_updates
json_updates = apihelper.get_updates(self.token, offset, limit, timeout, allowed_updates, long_polling_timeout)
File «/home/user/.local/lib/python3.10/site-packages/telebot/apihelper.py», line 334, in get_updates
return _make_request(token, method_url, params=payload)
File «/home/user/.local/lib/python3.10/site-packages/telebot/apihelper.py», line 162, in _make_request
json_result = _check_result(method_name, result)
File «/home/user/.local/lib/python3.10/site-packages/telebot/apihelper.py», line 189, in _check_result
raise ApiTelegramException(method_name, result, result_json)
telebot.apihelper.ApiTelegramException: A request to the Telegram API was unsuccessful. Error code: 409. Description: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
«
The config.py is just one line,
Can you try to simply remove this line?
if name == «main»:
Removed, same result
Everything is fine for me.
© 2023 GitHub, Inc.
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Источник
Не получается установить бот Api telegram, ошибка 409
18.11.2022 271 Просмотры
Природа происхождения ошибки 409 кроется в конфликте запросов. Не всегда эти запросы относятся к пользовательским. Например, такая ошибка может возникнуть при конфликте файлов сайта, если они обращаются к разным данным в одном файле. В результате этого, сервер возвращает ошибку, которая на самом деле не имеет отношения к запросам пользователей.
Основные причины возникновения ошибки 409:
- Пользователь обращается к данным, имеющим отличное значение или более новую версию. В итоге, сервер выдает ошибку 409, т.к. существует обновленная версия файла, страницы или скрипта.
- Ошибка 409 появилась в результате конфликтующих запросов внутри файлов на сервере. Решить проблему может программист.
- Использование прокси, которое конфликтует с определенными адресами или форматами запрашиваемых данных. Не путайте эту ошибку с ошибкой 407.
- Более распространенная причина – троян или вирус, который блокирует запросы к определенным сайтам или подгружает файл, который имеет конфликт с конфигурацией браузера.
- Ошибка 409 Conflicting Request в большинстве случае решается системным администратором или программистом, если это не касается заражения компьютера вирусом или трояном. Как проверить и какой программой расскажем ниже.
Чистим от вируса или трояна, чтобы убрать ошибку 409
Определить вирус/троян у вас или нет просто – установите программу Cureit от Dr.Web и просканируйте систему этой программой. Она бесплатная и не требует установки. Скачиваем только с официального сайта. В программе отмечаем все пункты для проверки и шагаем спать/на работу, т.к. сама проверка займет длительное время. На скриншоте ниже вы можете рассмотреть, как и что отмечать в программе. Свой антивирус лучше отключить перед проверкой.
Можно также использовать бесплатную утилиту от Касперского, но она довольно сложная и нужно понимать, какие скрипты вводить в консоль. Остальные программы – платные, поэтому не пишу о них. Кстати, не рекомендую скачивать бесплатные ключи, т.к. такие генераторы могут с собой принести тот самый вирус или троян. Не пожалейте 30$ в год за нормальную защиту.
Исправляем ошибку 409 в конкретном браузере
В случае, если ошибка 409 Conflicting Request появляется буквально на каждом сайте, чтобы вы ни нажимали – это точно троян или вирус. Причем это должно происходить в любом браузере. Если нет – можете сразу удалить и заново установить браузер. Возможно произошел сбой конфигурации браузера. Заранее нужно сохранить закладки, т.к. можно потерять все нажитое непосильным трудом. Делается это просто. На скриншоте выше вы видите пример сохранения настроек в браузере Mozilla. Аналогично делается и в остальных браузерах.
Последнее слово про ошибку
Если уж сильно хочется – установите программу CCleaner и пройдитесь по реестру с помощью этой программы. Во всяком случае это безопаснее, чем делать что-то лично ручками. Манипуляции с компьютером в случае с ошибкой 409 делать не стоит.
Источник
Another bot instance —> 409, unsuccessful request #297
Bot is working under zoo keeper on some amount of servers.
For testing I want to launch it locally without stopping the production version of the bot.
Getting the error:
`2017-02-23 19:38:49,513 (root) INFO: Start
2017-02-23 19:38:49,519 (requests.packages.urllib3.connectionpool) INFO: Starting new HTTPS connection (1): api.telegram.org
Traceback (most recent call last):
self.telegram_client.process_new_updates(self.telegram_client.get_updates(offset=self.telegram_client.last_update_id + 1))
File «contrib/python/pytelegrambotapi/telebot/init.py», line 106, in get_updates
json_updates = apihelper.get_updates(self.token, offset, limit, timeout, allowed_updates)
File «contrib/python/pytelegrambotapi/telebot/apihelper.py», line 162, in get_updates
return _make_request(token, method_url, params=payload)
File «contrib/python/pytelegrambotapi/telebot/apihelper.py», line 43, in _make_request
return _check_result(method_name, result)[‘result’]
File «contrib/python/pytelegrambotapi/telebot/apihelper.py», line 62, in _check_result
raise ApiException(msg, method_name, result)
ApiException: A request to the Telegram API was unsuccessful. The server returned HTTP 409 Conflict. Response body:
[<«ok»:false,»error_code»:409,»description»:»Conflict: terminated by other long poll or webhook»>]`
API ver. is downloaded two weeks ago (
10.02 feb)
macOS
2.7.13
The text was updated successfully, but these errors were encountered:
Источник
TeleBot:A request to the Telegram API was unsuccessful #737
Please answer these questions before submitting your issue. Thanks!
What version of pyTelegramBotAPI are you using?
pyTelegramBotAPI==3.6.7
What OS are you using?
Ubuntu 18.04.
What version of python are you using?
3.7
After some hours of running the Bot in .polling() mode, there is some issue with the Telegram API but then the Bot stops working with
Is there a way to catch this exception so the bot doesn’t stop polling?
The text was updated successfully, but these errors were encountered:
I use supervisor to monitor the bot process, when process exit, supervisor will restart it
I used try except loop but still it will raise many exceptions . and bot terminates
finally resorted to my own
I got this error:
telebot.apihelper.ApiException: A request to the Telegram API was unsuccessful. The Server returned HTTP 409 conflict.
I got this error:
telebot.apihelper.ApiException: A request to the Telegram API was unsuccessful. The Server returned HTTP 409 conflict.
the whole message is :
it because you run one more instance request to ‘getUpdates’
I got this error:
telebot.apihelper.ApiException: A request to the Telegram API was unsuccessful. The Server returned HTTP 409 conflict.
the whole message is :
it because you run one more instance request to ‘getUpdates’
Please tell me how to solve this issue.
Thanks in advance
I got this error:
telebot.apihelper.ApiException: A request to the Telegram API was unsuccessful. The Server returned HTTP 409 conflict.
the whole message is :
it because you run one more instance request to ‘getUpdates’
Please tell me how to solve this issue.
Thanks in advance
- you run one more program instance at the same time, check the process on the server, kill one of them.
- maybe someone stole the token of your bot, chat with botfather, revoke the token, then run another instance using the new token.
I got this error:
telebot.apihelper.ApiException: A request to the Telegram API was unsuccessful. The Server returned HTTP 409 conflict.
the whole message is :
it because you run one more instance request to ‘getUpdates’
Please tell me how to solve this issue.
Thanks in advance
- you run one more program instance at the same time, check the process on the server, kill one of them.
- maybe someone stole the token of your bot, chat with botfather, revoke the token, then run another instance using the new token.
I use this link to try to access to my bot: https://api.telegram.org/botToken/getUpdates:
then I got this one :
<«ok»:true,»result»:<«id»:1032572032,»is_bot»:true,»first_name»:»Rest_Bot»,»username»:»rest_chatbot»,»can_join_groups»:true,»can_read_all_group_messages»:false,»supports_inline_queries»:true>>
I got this error:
telebot.apihelper.ApiException: A request to the Telegram API was unsuccessful. The Server returned HTTP 409 conflict.
the whole message is :
it because you run one more instance request to ‘getUpdates’
Please tell me how to solve this issue.
Thanks in advance
- you run one more program instance at the same time, check the process on the server, kill one of them.
- maybe someone stole the token of your bot, chat with botfather, revoke the token, then run another instance using the new token.
I use this link to try to access to my bot: https://api.telegram.org/botToken/getUpdates:
then I got this one :
<«ok»:true,»result»:<«id»:1032572032,»is_bot»:true,»first_name»:»Rest_Bot»,»username»:»rest_chatbot»,»can_join_groups»:true,»can_read_all_group_messages»:false,»supports_inline_queries»:true>>
the message, looks like it works fine.
I got this error:
telebot.apihelper.ApiException: A request to the Telegram API was unsuccessful. The Server returned HTTP 409 conflict.
the whole message is :
it because you run one more instance request to ‘getUpdates’
Please tell me how to solve this issue.
Thanks in advance
- you run one more program instance at the same time, check the process on the server, kill one of them.
- maybe someone stole the token of your bot, chat with botfather, revoke the token, then run another instance using the new token.
I use this link to try to access to my bot: https://api.telegram.org/botToken/getUpdates:
then I got this one :
<«ok»:true,»result»:<«id»:1032572032,»is_bot»:true,»first_name»:»Rest_Bot»,»username»:»rest_chatbot»,»can_join_groups»:true,»can_read_all_group_messages»:false,»supports_inline_queries»:true>>
the message, looks like it works fine.
Yeah, but still getting same error..
I got this error:
telebot.apihelper.ApiException: A request to the Telegram API was unsuccessful. The Server returned HTTP 409 conflict.
the whole message is :
it because you run one more instance request to ‘getUpdates’
Please tell me how to solve this issue.
Thanks in advance
- you run one more program instance at the same time, check the process on the server, kill one of them.
- maybe someone stole the token of your bot, chat with botfather, revoke the token, then run another instance using the new token.
I use this link to try to access to my bot: https://api.telegram.org/botToken/getUpdates:
then I got this one :
<«ok»:true,»result»:<«id»:1032572032,»is_bot»:true,»first_name»:»Rest_Bot»,»username»:»rest_chatbot»,»can_join_groups»:true,»can_read_all_group_messages»:false,»supports_inline_queries»:true>>
the message, looks like it works fine.
Yeah, but still getting same error..
That’s weird.
Are you sure you are request to ‘getUpdates’ but not ‘getMe’, ‘getMe’ won’t result to ‘409 Conflict’.
I got this error:
telebot.apihelper.ApiException: A request to the Telegram API was unsuccessful. The Server returned HTTP 409 conflict.
the whole message is :
it because you run one more instance request to ‘getUpdates’
Please tell me how to solve this issue.
Thanks in advance
- you run one more program instance at the same time, check the process on the server, kill one of them.
- maybe someone stole the token of your bot, chat with botfather, revoke the token, then run another instance using the new token.
I use this link to try to access to my bot: https://api.telegram.org/botToken/getUpdates:
then I got this one :
<«ok»:true,»result»:<«id»:1032572032,»is_bot»:true,»first_name»:»Rest_Bot»,»username»:»rest_chatbot»,»can_join_groups»:true,»can_read_all_group_messages»:false,»supports_inline_queries»:true>>
the message, looks like it works fine.
Yeah, but still getting same error..
That’s weird.
Are you sure you are request to ‘getUpdates’ but not ‘getMe’, ‘getMe’ won’t result to ‘409 Conflict’.
Источник
В 2013-м году братья Дуровы создали инновационный мессенджер Telegram, который за девять лет был установлен на мобильные устройства свыше одного миллиарда раз (если верить статистике). Однако не только компании и обычные пользователи любят Телеграм. Платформу активно используют и разработчики для создания интерактивных чат-ботов. Однако иногда они сталкиваются с ошибкой 409, которая сопровождается сообщением «Не получается установить бот API Telegram».
Причины ошибки
Предполагаем, что этот материал будут читать не только опытные специалисты, но и начинающие разработчики, которые только недавно познакомились с возможностями API Telegram. Потому для начала расскажем, с чем могут быть связаны ошибки, возникающие во время работы с ботом. Весь процесс работы с API состоит из следующих этапов:
- Пользователь или программа отправляет запрос на сервер в виде функции.
- Сервер обрабатывает введенные параметры и сам запрос, а после выдает ответ.
- Пользователь считывает полученный ответ и оперирует с ним.
Если разработчик получил ошибку из заголовка, то значит, он столкнулся с невозможностью корректно обработать введенный запрос. Это ограничение может быть спровоцировано следующими факторами:
- Переданы некорректные аргументы или значения. В особенности проверьте правильность указанного токена.
- Бот запущен на нескольких серверах сразу. Нельзя указать один и тот же токен на двух хостингах.
- Проблема на стороне сервера Telegram. Глобальные сбои бывают редко, но не будем исключать их вероятность.
Отталкиваясь от возможных причин, автор составил список возможных решений. Ознакомиться с ним можете в разделе ниже.
Способы исправления
Примечательно, что автор и сам однажды столкнулся с этой проблемой, когда случайно загружал заброшенного на старом сервере бота на новый хостинг. По правилам разработчик должен сначала остановить чат-бота на старом устройстве, а после только запустить его на новом. Чтобы проверить, запущен ли уже бот, просто отправьте ему сообщение с командой /start. Обычно большинство приложений запрограммировано реагировать на эту команду.
В зависимости от результата ввода команды будут меняться и дальнейшие действия:
- Приложение ответило. Значит, оно запущено на старом сервере. Откройте его интерфейс и завершите работу процесса.
- Ответ не пришел. В таком случае, скорее всего, проблема кроется в самом токене. Проверьте, указан ли в конфигурациях выданный BotFather токен и укажите корректный идентификатор.
Вам помогло? Поделитесь с друзьями — помогите и нам!
18.11.2022
375 Просмотры
Природа происхождения ошибки 409 кроется в конфликте запросов. Не всегда эти запросы относятся к пользовательским. Например, такая ошибка может возникнуть при конфликте файлов сайта, если они обращаются к разным данным в одном файле. В результате этого, сервер возвращает ошибку, которая на самом деле не имеет отношения к запросам пользователей.
Основные причины возникновения ошибки 409:
- Пользователь обращается к данным, имеющим отличное значение или более новую версию. В итоге, сервер выдает ошибку 409, т.к. существует обновленная версия файла, страницы или скрипта.
- Ошибка 409 появилась в результате конфликтующих запросов внутри файлов на сервере. Решить проблему может программист.
- Использование прокси, которое конфликтует с определенными адресами или форматами запрашиваемых данных. Не путайте эту ошибку с ошибкой 407.
- Более распространенная причина – троян или вирус, который блокирует запросы к определенным сайтам или подгружает файл, который имеет конфликт с конфигурацией браузера.
- Ошибка 409 Conflicting Request в большинстве случае решается системным администратором или программистом, если это не касается заражения компьютера вирусом или трояном. Как проверить и какой программой расскажем ниже.
Чистим от вируса или трояна, чтобы убрать ошибку 409
Определить вирус/троян у вас или нет просто – установите программу Cureit от Dr.Web и просканируйте систему этой программой. Она бесплатная и не требует установки. Скачиваем только с официального сайта. В программе отмечаем все пункты для проверки и шагаем спать/на работу, т.к. сама проверка займет длительное время. На скриншоте ниже вы можете рассмотреть, как и что отмечать в программе. Свой антивирус лучше отключить перед проверкой.
Можно также использовать бесплатную утилиту от Касперского, но она довольно сложная и нужно понимать, какие скрипты вводить в консоль. Остальные программы – платные, поэтому не пишу о них. Кстати, не рекомендую скачивать бесплатные ключи, т.к. такие генераторы могут с собой принести тот самый вирус или троян. Не пожалейте 30$ в год за нормальную защиту.
Исправляем ошибку 409 в конкретном браузере
В случае, если ошибка 409 Conflicting Request появляется буквально на каждом сайте, чтобы вы ни нажимали – это точно троян или вирус. Причем это должно происходить в любом браузере. Если нет – можете сразу удалить и заново установить браузер. Возможно произошел сбой конфигурации браузера. Заранее нужно сохранить закладки, т.к. можно потерять все нажитое непосильным трудом. Делается это просто. На скриншоте выше вы видите пример сохранения настроек в браузере Mozilla. Аналогично делается и в остальных браузерах.
Последнее слово про ошибку
Если уж сильно хочется – установите программу CCleaner и пройдитесь по реестру с помощью этой программы. Во всяком случае это безопаснее, чем делать что-то лично ручками. Манипуляции с компьютером в случае с ошибкой 409 делать не стоит.
Загрузка…
|
Tiralion 0 / 0 / 0 Регистрация: 28.02.2021 Сообщений: 1 |
||||
|
1 |
||||
|
Telegram Bot 28.02.2021, 13:50. Показов 27184. Ответов 2 Метки нет (Все метки)
При написании простого бота
выползает ошибка ERROR — TeleBot: «A request to the Telegram API was unsuccessful. Error code: 409. Description: Conflict: can’t use getUpdates method while webhook is active; use deleteWebhook to delete the webhook first» что не так я делаю?
__________________
0 |
|
rooffall 1 / 1 / 0 Регистрация: 28.06.2020 Сообщений: 1 |
||||
|
25.03.2021, 23:52 |
2 |
|||
|
Видимо до этого пытались запустить бота не через polling, а webhook методом. Перед первом запуском кода вставьте строчку.
Позже эту строку можно будет удалить.
1 |
|
VetalM 1 / 1 / 0 Регистрация: 30.03.2020 Сообщений: 40 |
||||
|
28.03.2021, 10:33 |
3 |
|||
|
Попробуйте в самый конец файла добавить:
0 |




