【问题标题】:Can't insert a line break when building my telegram bot in the google sheets script editor在谷歌表格脚本编辑器中构建我的电报机器人时无法插入换行符
【发布时间】:2020-01-21 07:02:58
【问题描述】:

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

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

我也尝试将我的文本用反引号而不是双引号括起来,但它不起作用。

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

【问题讨论】:

  • 你能在这里分享你的代码吗?至少 sendText 函数和 doPost 函数。这可能是您的代码中的拼写错误,因此我们很难在没有看到它的情况下进行调试。
  • 您好,请尝试提供minimal reproduce code。另请查看How To Ask 以尝试改进您的问题。您能否尝试调试您的代码,以便我们查看您尝试发送的消息资源如何?
  • 大家好,很抱歉我没有更清楚地问我的问题。这是我的 github 要点:gist.github.com/coolin02/439cfa617441983bac7b378d35460be1 例如,如果我尝试将第 45 行从 var answer = “Great work” + name + “!继续!你太棒了”; to var answer = "干得好" + name + "!\n继续加油!你太棒了";然后电报机器人根本不回复,我的谷歌表格也没有更新分数。我不确定如何调试它以找出问题所在,并认为这只是一个语法问题。

标签: javascript google-sheets editor telegram-bot


【解决方案1】:

我认为原因可能是您的字符编码不正确。

Telegram Bot API 中有几种方法实际上是send your requests。来自文档:

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

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

从您的代码中,您正在使用 URL 查询字符串发送 GET 请求,但您尚未对 换行 字符进行编码。其实有more questions about this in stack

所以基本上你need to encode你的特殊字符以合规的方式出现(\n在这种情况下恰好是%0A)。


也可以使用\n 将请求作为POST 在负载中传递消息,请参阅fetch documentationsendMessage() from Telegram

【讨论】:

  • 你救了我的命
猜你喜欢
  • 2015-11-01
  • 2023-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-16
  • 2018-09-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多