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

Telegram Bot send_message使用HTML格式时无响应问题求助

问题排查与解决办法

嘿,我来帮你搞定这个Telegram Bot的HTML格式问题~

核心原因

你现在的代码里用了HTML实体转义后的&lt;和&gt;,但当设置parse_mode='HTML'时,Telegram Bot API需要的是原始的HTML标签字符(<和>),而不是转义后的实体。这种写法会让Telegram无法识别HTML标签,甚至可能触发解析异常,导致消息发送失败;同时因为没有异常捕获,代码直接中断,所以print(res)也没机会执行。

解决步骤

  1. 修正HTML标签写法
    直接使用原始的HTML标签,不要转义:

    mtxt = "<ul><li>line 1</li></ul>"
    res = bot.send_message(chat_id=update.message.chat_id, text=mtxt, parse_mode='HTML')
    print(res)
    
  2. 添加异常捕获排查问题
    为了避免后续再遇到类似“没反应”的情况,建议加上异常捕获,能直接看到错误原因:

    try:
        mtxt = "<ul><li>line 1</li></ul>"
        res = bot.send_message(chat_id=update.message.chat_id, text=mtxt, parse_mode='HTML')
        print(res)
    except Exception as e:
        print(f"发送消息失败,错误信息:{e}")
    
  3. 特殊字符转义的正确用法
    如果你的消息内容里需要显示<、>、&这些特殊字符(不是作为HTML标签),才需要转义成实体。比如要显示文本“<这是一段测试>”,就得写成:

    mtxt = "&lt;这是一段测试&gt;"
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:25:07