1. Membuat Bot Telegram dengan /newbot
Langkah pertama adalah membuat bot melalui Telegram.
Cara Membuat Bot
- Buka aplikasi Telegram.
- Cari akun resmi Telegram bernama
@BotFather. - Ketik perintah:
/newbot
- Masukkan nama bot.
- Masukkan username bot (harus diakhiri dengan
bot).
Contoh:
namabotku_bot
- Setelah selesai, BotFather akan memberikan token API seperti berikut:
123456789:AAxxxxxxxxxxxxxxxxxxxx
Simpan token tersebut karena akan digunakan pada script.
2. Membuat Project Google Apps Script
Selanjutnya kita membuat project Apps Script.
Langkah-Langkah
- Buka Google Drive.
- Klik:
Baru → Lainnya → Google Apps Script
- Beri nama project misalnya:
TelegramBotPosting
3. Membuat Spreadsheet (Opsional)
Jika postingan ingin disimpan ke Spreadsheet:
- Buat Google Spreadsheet baru.
- Salin Spreadsheet ID dari URL.
Contoh URL:
https://docs.google.com/spreadsheets/d/1AbCdEfGhIjKlMnOp/edit
Maka ID-nya:
1AbCdEfGhIjKlMnOp
4. Menulis Script Telegram Bot
Ganti isi Code.gs dengan script berikut:
const TOKEN = "TOKEN_BOT_KAMU";const TELEGRAM_URL = "https://api.telegram.org/bot" + TOKEN;function sendMessage(chatId, text) {const url = TELEGRAM_URL + "/sendMessage";const payload = {chat_id: chatId,text: text};const options = {method: "post",contentType: "application/json",payload: JSON.stringify(payload)};UrlFetchApp.fetch(url, options);}
5. Mendapatkan Chat ID Telegram
Sebelum mengirim pesan, kita perlu mengetahui chat_id.
Caranya
- Buka chat bot Telegram.
- Kirim pesan apa saja ke bot.
Contoh:
halo
- Tambahkan fungsi berikut:
function getUpdates() {const response = UrlFetchApp.fetch(TELEGRAM_URL + "/getUpdates");Logger.log(response.getContentText());}
- Jalankan fungsi
getUpdates. - Buka:
View → Logs
- Cari bagian:
"chat":{"id":123456789}
Itulah Chat ID Anda.
6. Mengirim Postingan ke Telegram
Tambahkan fungsi:
function kirimPostingan() {const chatId = "123456789";sendMessage(chatId,"Halo, ini postingan otomatis dari Google Apps Script!");}
Jalankan fungsi kirimPostingan().
Jika berhasil, pesan akan muncul di Telegram.
7. Membuat OAuth Consent Screen
Agar Apps Script dapat menggunakan layanan Google secara aman, kita perlu membuat OAuth Consent Screen.
Langkah-Langkah
APIs & Services → OAuth consent screen
- Pilih:
External
- Isi data aplikasi:
- App name
- User support email
- Developer email
- Klik:
Save and Continue
- Tambahkan scope jika diperlukan.
- Simpan hingga selesai.
8. Mengaktifkan API Google
Masih di Google Cloud Console:
- Masuk ke:
APIs & Services → Library
- Aktifkan API yang diperlukan, misalnya:
- Google Sheets API
- Google Drive API
9. Menggunakan OAuth Playground
OAuth Playground digunakan untuk mendapatkan Access Token.
Langkah-Langkah
Use your own OAuth credentials
- Masukkan:
- OAuth Client ID
- OAuth Client Secret
- Pilih scope, misalnya:
https://www.googleapis.com/auth/spreadsheets
- Klik:
Authorize APIs
- Login akun Google.
- Klik:
Exchange authorization code for tokens
- Akan muncul:
access_tokenrefresh_token
Simpan token tersebut.
10. Membuat Webhook Telegram
Webhook digunakan agar Telegram dapat mengirim data ke Apps Script.
Tambahkan script berikut:
function setWebhook() {const url = TELEGRAM_URL + "/setWebhook?url=" + WEB_APP_URL;const response = UrlFetchApp.fetch(url);Logger.log(response.getContentText());}
11. Membuat Fungsi doPost(e)
Tambahkan:
function doPost(e) {const data = JSON.parse(e.postData.contents);const chatId = data.message.chat.id;const text = data.message.text;sendMessage(chatId, "Pesan diterima: " + text);return ContentService.createTextOutput("OK");}
Fungsi ini akan menerima pesan dari Telegram secara otomatis.
12. Deploy Google Apps Script
Sekarang kita deploy project agar online.
Cara Deploy
- Klik:
Deploy → New deployment
- Pilih:
Web App
- Atur:
Execute as
Me
Who has access
Anyone
- Klik:
Deploy
- Copy URL Web App.
Contoh:
https://script.google.com/macros/s/AKfycbxxxx/exec
13. Menghubungkan Webhook
Masukkan URL deploy ke variabel:
const WEB_APP_URL ="https://script.google.com/macros/s/AKfycbxxxx/exec";
Lalu jalankan:
setWebhook();
Jika berhasil muncul:
{"ok":true,"result":true}
14. Testing Bot
Coba kirim pesan ke bot:
Tes
Bot akan membalas:
Pesan diterima: Tes
15. Struktur Project Akhir
Contoh struktur sederhana:
const TOKEN = "TOKEN_BOT";const WEB_APP_URL = "URL_DEPLOY";const TELEGRAM_URL ="https://api.telegram.org/bot" + TOKEN;function sendMessage(chatId, text) {const url = TELEGRAM_URL + "/sendMessage";const payload = {chat_id: chatId,text: text};const options = {method: "post",contentType: "application/json",payload: JSON.stringify(payload)};UrlFetchApp.fetch(url, options);}function doPost(e) {const data = JSON.parse(e.postData.contents);const chatId = data.message.chat.id;const text = data.message.text;sendMessage(chatId, "Pesan diterima: " + text);return ContentService.createTextOutput("OK");}function setWebhook() {UrlFetchApp.fetch(TELEGRAM_URL +"/setWebhook?url=" +WEB_APP_URL);}
16. Tips Penting
Jangan Membuat Deployment Baru Terus-Menerus
Gunakan:
Manage Deployments → Edit
Agar URL webhook tidak berubah.
Gunakan /exec, Bukan /dev
Webhook Telegram harus menggunakan URL:
/exec
bukan:
/dev
Set Access Menjadi “Anyone”
Jika tidak, Telegram tidak dapat mengakses Apps Script.
Beberapa masalah umum deployment dan webhook juga sering dibahas komunitas Google Apps Script di Reddit.
Iklan
sponsor
