Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Google Script to bypass the blockage of Telegram Bot API from by webhost

WPTelegram Google Script

You can use this script to bypass the bans on Telegram API by different hosts. Simply send the request to this script instead of the Telegram Bot API after deploying it as a web app and allowing anonymous access.


It accepts bot GET and POST requests with the following params

name type Description
bot_token String The Telegram Bot Token
method String Telegram Bot API method name e.g. sendMessage
args JSON Object The arguments/params for the API method e.g. {"chat_id":"123","text":"HelloWorld"}

How to Deploy

  • Goto and sign in if required.
  • Create a new project and give it a name you love :)
  • It should open a file ( by default). Remove the contents of this file.
  • Copy the contents of below and paste into your project file (
  • Click File > Save or press Ctrl+S
  • Click "Publish" from the menu and select "Deploy as web app..."
  • If asked, Enter any name for the project and click "OK"
  • In "Execute the app as:", select "Me (<your email>)" [IMPORTANT]
  • In "Who has access to the app:", select "Anyone, even anonymous" [IMPORTANT]
  • Click "Deploy" to open the Authorization box.
  • Click "Review Permissions" to authorize the script.
  • In the popup window select your Google Account.
  • On the next screen, click "Allow".
  • After redirection, you should see "This project is now deployed as a web app."
  • Copy the "Current web app URL:" and paste it in your app or plugin

Watch the video

Watch the video here

function doGet(e) {
if(typeof e !== 'undefined'){
return requestHandler(e);
function doPost(e) {
if(typeof e !== 'undefined'){
return requestHandler(e);
function requestHandler(e){
var res = handleRequest(e);
return ContentService.createTextOutput(res);
function handleRequest(e) {
if(typeof e.parameter.bot_token === 'undefined'){
return 'Error! Bot token not provided';
} else if(typeof e.parameter.method === 'undefined') {
return 'Error! Method name not provided';
var bot_token = e.parameter.bot_token;
var tg_method = e.parameter.method;
var data = {
"method": "post",
"muteHttpExceptions": true
if(typeof e.parameter.args !== 'undefined'){
var args = e.parameter.args;
data.payload = JSON.parse(args);
var res = UrlFetchApp.fetch('' + bot_token + '/' + tg_method, data);
return res.getContentText();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.