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

ASP.NET C#中如何通过Telegram Bot API的sendMessage实现消息换行

Telegram Bot sendMessage实现换行的可行方案

当然可行,你之前的方法没生效是因为没找对正确的换行姿势,以下是两种可靠的实现方式:

方法1:GET请求中使用URL编码换行符

在GET请求的text参数里,用%0A代替换行符(这是换行的URL编码形式)。

正确的请求示例:

https://api.telegram.org/bot<你的BotToken>/sendMessage?chat_id=-724558134&text=Hi%0AHow are you?

方法2:使用POST请求+解析模式

如果消息内容较长,推荐用POST请求,同时结合解析模式实现换行:

  • 若用HTML解析:设置parse_mode=HTML,在text里用<br>标签换行
  • 若用Markdown解析:设置parse_mode=MarkdownV2,用\n换行

POST请求示例(curl命令)

HTML模式:

curl -X POST https://api.telegram.org/bot<你的BotToken>/sendMessage \
-d chat_id=-724558134 \
-d parse_mode=HTML \
-d text="Hi<br>How are you?"

MarkdownV2模式:

curl -X POST https://api.telegram.org/bot<你的BotToken>/sendMessage \
-d chat_id=-724558134 \
-d parse_mode=MarkdownV2 \
-d text="Hi\nHow are you?"

为什么你之前的方法无效?

  • 直接在GET URL里换行:URL会自动忽略多余的换行和空格,Telegram接收的是连在一起的文本
  • 用<br/>但未设置parse_mode=HTML:Telegram默认将所有内容视为纯文本,不会解析HTML标签,所以<br/>会直接显示在消息里

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 07:48:44