使用 Telegram 机器人向短信添加换行符

Adding line break to text message using Telegram bot

我正在尝试使用 curl 从 Linux bash 发送电报消息。我目前的问题是无法在消息中发送换行符。

我的代码是这样的:

msg="<a href=\"${img}\">&#160;</a><b>${title}</b><a href=\"${lnk}\">MORE INFO</a>"

curl --data chat_id=$chatID --data-urlencode "text=${msg}" "https://api.telegram.org/bot${apik}/sendMessage?parse_mode=HTML"

我试过 </br> \n %0D%0A,none 工作。

也许可以尝试将 $msg 变量设置为 heredoc:

#!/bin/bash

img="one"
title="two"
lnk="three"

read -r -d '' msg <<EOT
<a href="${img}"></a>
<b>"${title}"</b>
<a href="${lnk}">MORE INFO</a>
EOT

curl --data chat_id="$chatID" --data-urlencode "text=${msg}" "https://api.telegram.org/bot${apik}/sendMessage?parse_mode=HTML"

Wikipedia : Here Documents