首页 > 解决方案 > 在谷歌表格脚本编辑器中构建我的电报机器人时无法插入换行符

问题描述

我一直在尝试使用谷歌表格脚本编辑器构建一个简单的电报机器人。我使用本教程构建了它:https ://phpvideotutor.com/telegram-bot-tutorial-how-to-connect-your-telegram-bot-to-a-google-spreadsheet-apps-script/

现在我正在尝试使用 sendText 函数向用户发送带有换行符的文本,但每次我尝试使用 \n 这样做时,它似乎都会破坏代码。

我也试过用反引号而不是双引号来包装我的文本,但它不起作用。

我相信这是一个很容易解决的问题,希望这里有人可以提供帮助!

标签: javascriptgoogle-sheetseditortelegram-bot

解决方案


我相信原因可能是你没有正确编码你的字符。

Telegram Bot API中,有几种方法可以实际发送您的请求。从文档中:

我们支持GETPOST HTTP 方法。我们支持四种方式在 Bot API 请求中传递参数:

  • 网址查询字符串
  • 应用程序/x-www-form-urlencoded
  • application/json(上传文件除外)
  • multipart/form-data(用于上传文件)

从您的代码中,您正在使用 URL 查询字符串发送GET请求,但您尚未对换行符进行编码。事实上,在 stack 中有更多关于这个的问题

所以基本上你需要编码你的特殊字符以一种兼容的方式出现(\n在这种情况下恰好是%0A)。


或者使用\n将请求作为POST在有效负载内传递消息,请参阅fetch文档来自 Telegram 的 sendMessage()


推荐阅读