电报机器人:编码加号/加号

Bön*_*öne 6 character-encoding telegram-bot

我正在开发一个电报机器人,它将电话号码发送到我的电报帐户。问题是,“+”被转换为“”空白。所以每个电话号码都是错误的。
例如,“+4915733000000”变成“4915733000000”。我尝试使用 HTML 代码 + unicode 版本 \u002B 和 url 编码字符 %2B,但它们都不起作用。

https://api.telegram.org/botTOKEN/sendMessage?chat_id=MYID&text=Test:\u2031 Unicode:\u002B HTML:+ URL:%2B 
Run Code Online (Sandbox Code Playgroud)

结果:测试:?Unicode: HTML:

您知道发送加号的任何可能性吗?

谢谢!

Cod*_*eam 0

可以使用 POST 方法发送加号。

这是示例 Google App Script 代码(可以轻松适应 JavaScript)。

var options = {
  method : "post",
  payload: {
    method: "sendMessage",
    chat_id: "<chat_id_here>",
    text: "+something",
    parse_mode: "HTML"
  }
};

var response = UrlFetchApp.fetch("https://api.telegram.org/bot<YOUR_TOKEN>/", options);
Run Code Online (Sandbox Code Playgroud)

加号也可以使用 parse_mode="Markdown" 轻松发送。
刚刚检查(这次在 Python 上使用 telebot 库)这两个选项都有效:

bot.send_message(CHAT_ID, "Phone number: +1234567890", parse_mode='Markdown')
bot.send_message(CHAT_ID, "Phone number: +1234567890", parse_mode='HTML')
Run Code Online (Sandbox Code Playgroud)