skip to Main Content

Does anyone get errors like this? How can I fix them?

2021-11-07 08:29:38,643 - telegram.ext.updater - ERROR - Error while getting Updates: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2021-11-07 08:29:38,644 - telegram.ext.dispatcher - ERROR - No error handlers are registered, logging exception.
    Traceback (most recent call last):
      File "/usr/local/lib/python3.8/dist-packages/telegram/ext/updater.py", line 646, in _network_loop_retry
        if not action_cb():
      File "/usr/local/lib/python3.8/dist-packages/telegram/ext/updater.py", line 597, in polling_action_cb
        updates = self.bot.get_updates(
      File "/usr/local/lib/python3.8/dist-packages/telegram/ext/extbot.py", line 222, in get_updates
        updates = super().get_updates(
      File "/usr/local/lib/python3.8/dist-packages/telegram/bot.py", line 130, in decorator
        result = func(*args, **kwargs)
      File "/usr/local/lib/python3.8/dist-packages/telegram/bot.py", line 2861, in get_updates
        self._post(
      File "/usr/local/lib/python3.8/dist-packages/telegram/bot.py", line 295, in _post
        return self.request.post(
      File "/usr/local/lib/python3.8/dist-packages/telegram/utils/request.py", line 356, in post
        result = self._request_wrapper(
      File "/usr/local/lib/python3.8/dist-packages/telegram/utils/request.py", line 283, in _request_wrapper
        raise Conflict(message)
    telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running

I get these answers from API

api.telegram.org/bot<token>/getWebhookInfo --> {"ok":true,"result":"url":"","has_custom_certificate":false,"pending_update_count":0}}
api.telegram.org/bot<token>/getUpdates --> {"ok":false,"error_code":409,"description":"Conflict: terminated by other getUpdates request; make sure that only one bot instance is running"}

4

Answers


  1. This happens when 2 different clients send getUpdates method to Telegram servers for one bot token.

    You should make sure you’re not running your script more than once at the same time, or your bot token is not used somewhere else.

    If you’re certain that your script is executing alone and there are no other instances, then revoke your bot token from https://t.me/botfather and get a new token.

    Login or Signup to reply.
  2. I fix this issue arranging code like this :

    from telegram.ext import CommandHandler, Updater
    from logging import basicConfig, getLogger, INFO
    
    basicConfig(level=INFO)
    log = getLogger()
    
    def start(update, context):
        update.message.reply_text(
            "start this bot",
            parse_mode="markdown")
    
    def help(update, context):
        update.message.reply_text(
            "help for this bot",
            parse_mode="markdown")
    
    def main():
        updater = Updater(token=BOT_TOKEN, use_context=True)
        dispatcher = updater.dispatcher
    
        start_handler = CommandHandler("start", start)
        help_handler = CommandHandler("help", help)
    
        dispatcher.add_handler(start_handler)
        dispatcher.add_handler(help_handler)
        updater.start_polling()
    
    if __name__ == '__main__':
        main()
    

    If you are using flask, do not set debug mode to true also on your development server, first call main function then call flask server like this:-

    app = Flask(__name__)
    
    if __name__ == '__main__':
        main()
        app.run()
    
    Login or Signup to reply.
  3. Stop the bot, close your IDE, make sure that all python processes were ended in the task manager, and try again.
    That has helped me.

    Login or Signup to reply.
  4. killall Python fixed my issue. (In case if you accidentally have more than 1 instance running)

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search