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

使用python-telegram-bot遇InvalidToken错误,求排查与解决

解决python-telegram-bot的InvalidToken错误

以下是可能的问题根源和对应解决建议:

  • 检查.env文件的读取有效性
    在获取令牌后添加打印语句,确认变量是否正确读取:

    TELEGRAM_TOKEN = os.getenv("TELEGRAM_TOKEN")
    print(TELEGRAM_TOKEN)  # 查看输出是否为None或错误值
    

    如果输出为None,说明脚本没找到.env文件:

    • 确认.env文件和脚本在同一目录,或者在load_dotenv中指定绝对路径:load_dotenv(dotenv_path="/完整路径/to/.env")
  • 规范.env文件的格式
    确保.env内的令牌写法正确:

    • 不要加引号:正确写法是TELEGRAM_TOKEN=123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11
    • 不要在等号前后加空格:避免TELEGRAM_TOKEN = 123...这种格式
  • 排查环境变量冲突
    系统环境变量中如果存在同名的TELEGRAM_TOKEN,会覆盖.env文件里的值。检查系统环境变量列表,若有同名变量,暂时移除或改名。

  • 确认初始化代码的传参正确性
    检查Bot/Updater的初始化代码,确保传入的是正确的令牌变量:

    # 正确示例
    bot = Bot(token=TELEGRAM_TOKEN)
    updater = Updater(token=TELEGRAM_TOKEN)
    

    避免误传其他变量(比如OPENAI_API_KEY)。

  • 处理令牌的隐性格式问题
    复制令牌时可能带入首尾空格,可添加去空格处理:

    TELEGRAM_TOKEN = os.getenv("TELEGRAM_TOKEN").strip()
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 17:42:14