Telegram bot sendMessage parse_mode 生成 HTTP/1.1 400 错误请求

Telegram bot sendMessage parse_mode generates HTTP/1.1 400 Bad Request

使用电报的 HTTP API 在 PHP 中发送消息,如下所示:

$msg = "New Comment is **added** from:\n".$domain;
    file_get_contents('https://api.telegram.org/botTOKEN:CODE/sendMessage?chat_id=@MYCHANNEL&text='.$msg.'&parse_mode=markdown');

仅添加最后一个参数 &parse_mode=markdown 会导致 400 错误请求。删除它,一切正常。

但是,从 $msg 字符串中删除 \n 可以正常工作。

现在,我不知道为什么新行 \n 会导致 400 错误请求。另外,我不知道如何在邮件正文中添加新行!

urlencode() 消息;

$msg = urlencode("New Comment is **added** from:\n" . "mydomain");

发现换行后url结束,因此PHP无法发送请求,导致400。