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

如何使用Telegraf为Telegram机器人图片标题添加Markdown格式

解决Telegraf机器人图片标题Markdown格式化问题

嘿,这个问题我之前也碰到过!原因很简单——你没告诉Telegram要解析标题里的Markdown语法,默认情况下caption会被当成纯文本处理。

只需要在replyWithPhoto的第二个配置参数里加上parse_mode,指定用Markdown语法解析就行。Telegram支持两种Markdown模式:Markdown(旧版语法)和MarkdownV2(新版,推荐使用),针对你的例子,两种都能生效,不过更推荐用新版的。

修改后的代码如下:

const bot = new Telegraf(process.env.BOT_TOKEN);

bot.on('text', (ctx) => 
  ctx.replyWithPhoto(
    { url: 'https://i.picsum.photos/id/237/200/300.jpg' }, 
    { 
      caption: 'This is *Bobby*!',
      parse_mode: 'MarkdownV2'
    }
  )
);

bot.launch();

如果之后你的标题里包含特殊字符(比如_、[、]、(、)这些),在MarkdownV2模式下需要用反斜杠转义,比如如果要写This is *Bobby's dog*!,就得改成This is *Bobby\'s dog*!。要是觉得转义麻烦,也可以改用Markdown模式,它的转义规则更宽松,但功能相对少一点。

这样修改后,发送的图片标题里的Bobby就会显示成斜体啦!

内容的提问来源于stack exchange,提问作者Javier López

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 21:08:13