有一个谷歌脚本与一个带有 webhook 的电报机器人相连。我想要一个输入转发的代码和两个后续回复的代码来填充谷歌电子表格中的一行,但我遇到了脚本对机器人中的每条消息做出反应并分别处理它们的问题。
var contents = JSON.parse(e.postData.contents);
var text = contents.message.text
var txtar = text.split(" ");
var sheetName = "Тест";
var sheet = SpreadsheetApp.openById(ssId);
sheet.getSheetByName(sheetName).appendRow([maintext[3], "-", maintext[2], maintext[1], "-", maintext[0]]);
因此,脚本会填充表格,但它会在新行上显示每条已处理的消息。可以比如通过key补一个已经填好的行吗(可以用第一条消息的转发时间作为key)。如果可以编辑已经受影响的行,那么通过什么方法可以,在SpreadsheetApp类的手册中,我发现只有方法setCurrentCell(cell)
,但是使用起来不是很方便。
setCurrentCell
不仅不方便,而且不可能,因为Active
执行此类脚本时,该表没有任何特征。在这种情况下,您需要逐行输入,稍后进行转换,以免 Telegram 等待响应。
例如,
并且,根据这些数据,构建一个向右延伸的表格。