You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Telegram Bot Error Code 409:单实例运行仍触发冲突报错求助

Telegram Bot 409错误排查求助

运行以下代码时,尽管已确认只有一个本地进程调用infinity_polling(),仍触发Error Code 409报错。查阅相关帖子后,未找到匹配场景或有效解决方案。

环境信息

  • MacOS Ventura 13.5
  • VSCode 1.81.1 (Universal)
  • 项目使用pyenv 2.3.24管理Python 3.9.12
  • pip3已安装pyTelegramBotAPI 4.13.0和telebot 0.0.5,同事仅安装pyTelegramBot 4.9.0即可正常运行
  • pip版本23.2.1
  • 团队其他成员在不同机器运行同款代码无问题

已尝试的解决方法

  • 重启电脑
  • 在活动监视器中终止所有Python和VSCode进程
  • 删除本地仓库并重新克隆
  • 卸载并重装pyTelegramBotAPI和telebot
  • 注释循环导入语句(TelegramBot.py→helper.py→fileNo2.py→TelegramBot.py),无改善
  • 改用同事的pyTelegramBotAPI 4.9.0版本并卸载telebot,无效
  • 在bot.infinity_polling()前添加bot.remove_webhook()调用,无效

希望避免的操作

  • 不想创建新的token或Telegram Bot,这会给团队协作带来困扰

疑问

  1. 多实例运行问题仅存在于本地吗?即不同机器同时调用getUpdates是否允许,同一机器多个进程则不行?
  2. 重启电脑后为何仍有其他进程调用bot.infinity_polling()?重启不是会终止所有进程吗?

代码

import telebot
import emoji
import sys
import Helpers.helper as helper

TOKEN = '*************************************'

bot = telebot.TeleBot(TOKEN, parse_mode=None)

@bot.message_handler(commands=['help'])
def send_welcome(message):
    bot.reply_to(message, "// List of commands for the bot")

if __name__ == '__main__':
    try:
        print("before call to IP")
        bot.infinity_polling()
        print("after call to IP")
    except (KeyboardInterrupt, SystemExit):
        pass

终端输出(按Ctrl-C终止)

before call to IP
2023-08-26 14:40:01,906 (__init__.py:1083 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"
2023-08-26 14:40:01,906 (__init__.py:1085 MainThread) ERROR - TeleBot: "Exception traceback:
Traceback (most recent call last):
  File "/Users/anonymous/.pyenv/versions/3.9.12/lib/python3.9/site-packages/telebot/__init__.py", line 1073, in __threaded_polling
    polling_thread.raise_exceptions()
  File "/Users/anonymous/.pyenv/versions/3.9.12/lib/python3.9/site-packages/telebot/util.py", line 108, in raise_exceptions
    raise self.exception_info
  File "/Users/anonymous/.pyenv/versions/3.9.12/lib/python3.9/site-packages/telebot/util.py", line 90, in run
    task(*args, **kwargs)
  File "/Users/anonymous/.pyenv/versions/3.9.12/lib/python3.9/site-packages/telebot/__init__.py", line 649, in __retrieve_updates
    updates = self.get_updates(offset=(self.last_update_id + 1),
  File "/Users/anonymous/.pyenv/versions/3.9.12/lib/python3.9/site-packages/telebot/__init__.py", line 623, in get_updates
    json_updates = apihelper.get_updates(self.token, offset, limit, timeout, allowed_updates, long_polling_timeout)
  File "/Users/anonymous/.pyenv/versions/3.9.12/lib/python3.9/site-packages/telebot/apihelper.py", line 321, in get_updates
    return _make_request(token, method_url, params=payload)
  File "/Users/anonymous/.pyenv/versions/3.9.12/lib/python3.9/site-packages/telebot/apihelper.py", line 162, in _make_request
    json_result = _check_result(method_name, result)
  File "/Users/anonymous/.pyenv/versions/3.9.12/lib/python3.9/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
"
^C2023-08-26 14:40:03,895 (__init__.py:966 MainThread) ERROR - TeleBot: "Infinity polling: polling exited"
2023-08-26 14:40:03,895 (__init__.py:968 MainThread) ERROR - TeleBot: "Break infinity polling"
after call to IP

内容的提问来源于stack exchange,提问作者anonimo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 14:34:52