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

Telegram Bot使用MARKDOWN_V2格式时遭遇两类错误求助

问题解决方法

第一个错误:NameError: name 'telegram' is not defined

你导入的是from telegram.constants import ParseMode,已经将ParseMode类直接导入当前命名空间,无需加telegram.constants.前缀,直接使用ParseMode.MARKDOWN_V2即可,修正后的代码:

await update.message.reply_text(await main_menu_message(), reply_markup=await main_menu_keyboard(), parse_mode=ParseMode.MARKDOWN_V2)

第二个错误:telegram.error.BadRequest: Can't parse entities: character '(' is reserved and must be escaped with the preceding '\'

Telegram的MarkdownV2格式要求所有保留字符(包括(、)、[、]、*、~等)必须用反斜杠\转义。你的消息里(for trial purposes only)中的括号需要转义,修改后的消息函数:

async def main_menu_message(): 
    return """Bot Demo *bold* 
\(for trial purposes only\)
~~---------------~~

[Link Text](http://example.com)"""

如果后续消息中出现其他保留字符,也需要按此规则转义。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 12:53:11