javascript - 在谷歌表格脚本编辑器中构建我的电报机器人时无法插入换行符
问题描述
我一直在尝试使用谷歌表格脚本编辑器构建一个简单的电报机器人。我使用本教程构建了它:https ://phpvideotutor.com/telegram-bot-tutorial-how-to-connect-your-telegram-bot-to-a-google-spreadsheet-apps-script/
现在我正在尝试使用 sendText 函数向用户发送带有换行符的文本,但每次我尝试使用 \n 这样做时,它似乎都会破坏代码。
我也试过用反引号而不是双引号来包装我的文本,但它不起作用。
我相信这是一个很容易解决的问题,希望这里有人可以提供帮助!
解决方案
我相信原因可能是你没有正确编码你的字符。
在Telegram Bot API中,有几种方法可以实际发送您的请求。从文档中:
我们支持GET和POST HTTP 方法。我们支持四种方式在 Bot API 请求中传递参数:
- 网址查询字符串
- 应用程序/x-www-form-urlencoded
- application/json(上传文件除外)
- multipart/form-data(用于上传文件)
从您的代码中,您正在使用 URL 查询字符串发送GET请求,但您尚未对换行符进行编码。事实上,在 stack 中有更多关于这个的问题。
所以基本上你需要编码你的特殊字符以一种兼容的方式出现(\n
在这种情况下恰好是%0A
)。
或者使用\n
将请求作为POST在有效负载内传递消息,请参阅fetch
文档和来自 Telegram 的 sendMessage()。
推荐阅读
- mysql - 在 WHERE 条件下选择 MySQL 中的最后一条记录
- python-3.x - ImportError:没有名为函数的模块
- c# - 如何在 Web api c# 中将 List<> 返回为 Json
- ios - 如何使用 Codable 解码字典的 JSON 字典(使用不同的键)?
- sharepoint - 当 OR 中的变量超过 2 个时,CAML 查询错误
- python - 如何在python的类中调用子函数?
- python - python和mysql在表中插入值
- angular - Apache2 https:为实时流启用 websockets
- javascript - 如何通过按回车键关注同一列中的下一行输入
- phpmyadmin - Prestashop 数据库的奇怪行为