可能更新一个谷歌appscript,影响其他谷歌appscript?



我已经创建了一个工作电报机器人使用谷歌应用程序脚本。然而,我遇到了一个问题,即当我更新主代码时,我必须更新多个不同的应用程序脚本。

我需要有超过1个谷歌应用程序脚本的原因是,只有一个机器人可以webhook到一个web应用程序的URL。我需要多个机器人,因为它适用于不同的用户群体,但功能是相同的。

代码长约700行。

是否有任何方法,我可以更新主要的谷歌应用程序脚本,而不需要更新其他谷歌应用程序脚本?

编辑1:

,以更好地解释我的问题,我将说明它的代码我。

var token = "1xxx"; // bot 1
var token2 = "yyy" // bot 2
var telegramUrl = "https://api.telegram.org/bot" + token; 
var telegramUrl2 = "https://api.telegram.org/bot" + token2;
function setWebhook() {
var url = telegramUrl + "/setWebhook?url=" + webAppUrl;
var response = UrlFetchApp.fetch(url);
}
function setWebhook2() {
var url = telegramUrl2 + "/setWebhook?url=" + webAppUrl;
var response = UrlFetchApp.fetch(url);
}
function doPost(e) {
var contents = JSON.parse(e.postData.contents);
}

所以这就是我试图做的,通过有两个机器人网络连接到一个单一的谷歌应用程序脚本。但是,当我发送消息时,将创建一个称为"e"的事件,这是doPost函数的参数。这样,如果我向bot1发送消息,bot1和bot 2也会向我发送消息。我想要的是,如果我发送消息给bot 1,只有bot 1会回复我。

如果这个问题是解决,那么它解决了原来的问题,因为我不需要编辑多个谷歌应用程序脚本,因为现在每个机器人都是由一个独立的谷歌应用程序脚本和所有的谷歌应用程序脚本有相同的代码运行,唯一的区别是令牌和webappURL

Google apps script web app不支持url中的路径参数(https://script.google.com/*/exec/{path/token/unique_bot_id})。所以我不认为你可以使用相同的脚本项目的多个机器人。从bot接收到的数据似乎也没有指定它将数据寻址给哪个bot。因此,在接收到的数据上,您没有任何唯一的识别因素。

但是,您可以使用多个脚本项目,每个脚本都指向父脚本。这样,当父脚本更新时,所有子脚本都使用父脚本。父脚本可以作为库发布,也可以托管在另一个web应用程序或web主机中,并且eval在子脚本中。

相关内容

  • 没有找到相关文章