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"} |
See the screenshots below 👇
- Goto script.google.com and sign in if required.
- Create a New project and give it a name you love :)
- It should open a file (Code.gs by default). Remove the contents of this file.
- Copy the contents of wptelegram-google-script.gs below and paste into your project file (Code.gs)
- Click on Save (💾) or press
Ctrl+S
- Click "Deploy" at the top and select "New deployment" and it will open a popup
- Inside the popup, click on "Select type" ⚙️ and choose "Web app"
- In "Web app" Execute as", select "Me (<your email>)" [IMPORTANT]
- In "Who has access", select "Anyone" [IMPORTANT]
- Click on "Deploy" to open the Authorization box.
- Click on "Authorize access" to authorize the script.
- In the popup window select your Google Account.
- If you see a warning "Google hasn't verified this app", it is fine to click "Advanced" and choose "Go to <app name> (unsafe)"
- On the next screen, click "Allow".
- After redirect, you should see "Deployment successfully updated"
- Copy the "Web app URL" and paste it in your app or plugin
function doGet(e){
var options = {
'method' : 'post',
'contentType': 'application/json',
// Convert the JavaScript object to a JSON string.
'payload' : e.postData.contents,
'muteHttpExceptions' : true
};
var response = UrlFetchApp.fetch('%webhook%', options);
Logger.log(response.getContentText());
}
function doPost(e){
var options = {
'method' : 'post',
'contentType': 'application/json',
'payload' : e.postData.contents,
'muteHttpExceptions' : true
};
var response = UrlFetchApp.fetch('%webhook%', options);
Logger.log(response.getContentText());
}