Setting Up Telegram Bot on Apps Script
Here is technical side of what I did on development on Apps Script. main article // Main webhook handler - receives all Telegram updates function doPost(e) { try { if (!e || !e.postData) { return ContentService.createTextOutput('Invalid request').setMimeType(ContentService.MimeType.TEXT).setStatusCode(400); } const update = JSON.parse(e.postData.contents); if (update.message) { handleMessage(update.message); } // IMPORTANT: Always return OK with proper content type and mainly proper status code (200<=status<300) to prevent retries return ContentService.createTextOutput('OK').setMimeType(ContentService.MimeType.TEXT).setStatusCode(200); } catch (error) { console.error('Error in doPost:', error); // Even on error, return OK to prevent Telegram retries return ContentService.createTextOutput('OK').setMimeType(ContentService.MimeType.TEXT).setStatusCode(500); } } By the nature of apps script, doPost is used when the app received POST request. Telegram sends data via POST to webhook url. So we set up POST listener. ...