Creé un bot de Telegram que funciona usando el script de Google Apps. Sin embargo, me encontré con un problema por el cual tengo que actualizar varias secuencias de comandos de aplicaciones diferentes cuando actualizo el código principal.
La razón por la que necesito tener más de 1 secuencia de comandos de aplicaciones de Google es que solo 1 bot puede ser webhook en una URL de aplicación web. Y necesito varios bots porque es para diferentes grupos de usuarios, pero las funciones son idénticas.
El código tiene una longitud de aproximadamente +700 líneas.
¿Hay alguna forma de que pueda actualizar el script principal de aplicaciones de Google sin necesidad de actualizar otros scripts de aplicaciones de Google?
Edición 1:
Para explicar mejor mi problema, lo ilustraré en términos del código que hice.
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); }así que esto es lo que intenté hacer, al tener 2 bots conectados a un solo script de aplicaciones de Google. Sin embargo, cuando envío un mensaje, se crea un evento que se conoce como 'e', que es el parámetro para la función doPost. De modo que si envío un mensaje a bot1, bot 1 y bot 2 me enviarán un mensaje. Lo que quiero es que si envío un mensaje al bot 1, solo el bot 1 me responda.
si ese problema se resuelve, entonces resuelve el problema original porque no tengo que editar varias secuencias de comandos de aplicaciones de Google, porque en este momento cada bot se ejecuta mediante una secuencia de comandos de aplicaciones de Google independiente y todas las secuencias de comandos de aplicaciones de Google tienen el mismo código, el único la diferencia son los tokens y webappURL
La aplicación web de secuencias de comandos de aplicaciones de Google no admite parámetros de ruta ( https://script.google.com/*/exec/{path/token/unique_bot_id} ) en la URL. Así que no creo que puedas usar el mismo proyecto de script para varios bots. Los datos recibidos de los bots tampoco parecen especificar el bot al que está dirigiendo los datos. Por lo tanto, no tiene ningún factor de identificación único en los datos recibidos.
Sin embargo, puede utilizar varios proyectos de secuencias de comandos con cada secuencia de comandos apuntando a una secuencia de comandos principal. De esta forma, cuando se actualiza el script principal, todos los scripts secundarios usan el script principal. La secuencia de comandos principal puede publicarse como una biblioteca o alojarse en otra aplicación web o en un servidor web y eval en las secuencias de comandos secundarias.