Google Script Library Telegram Bot API
Dokumentasi library untuk google script yang saya tulis untuk Bot API Telegram. Sebagai contoh pemakaiannya, kita akan buat bot Reminder (pengingat) Tahajud.
Pengantar
Beberapa kali saya membuat bot notifikasi ke Telegram dengan menggunakan Google Script.
Sebagai contoh yang saya pakai saat ini adalah:
- Notifikasi ketika ada email (gmail), bot telegram akan memberi tahu lengkap dengan potongan isinya. Sehingga, saya tidak akan melewatkan email penting.
- Notifikasi saat membuat google form masuk, ketika saya membuat event dan proses registrasinya lewat form. Notifikasi di kirim Bot Telegram ke saya, jadi langsung tau jika ada-ada yang perlu di follow up.
- Notifikasi remote sistem lewat bot Telegram akan diberitahu jika ada suatu sistem bermasalah, misalnya VPS down, networking ada kendala, dan lain sebagainya.
- Membuat quote atau ayat quran secara random untuk dikirim ke grup tertentu, saya implementasikan di grup @myQers setiap 4 jam sekali ada random quran
- Membuat scrapping web, kemudian diinformasikan ke grup. Di grup @botphp telegram, setiap hari akan mendapatkan informasi ebook gratis yang dibagikan oleh packt.
- Dan mungkin bisa dipakai untuk lain-lain seperti IoT (Internet of Think), reminder jadwal sholat, dan sebagainya.
Screenshot notifikasi email yang dikirim oleh Amazone:
Screenshot info ebook gratis setiap hari di grup @botphp telegram :
Pada akhirnya harus menulis atau mempaste berkali-kali codingnya. Kemudian terbersit untuk membuat sebuah library yang bisa dipake bersama, sehingga lebih mudah tidak perlu menulis ulang dan tentu menulis coding jadi tampak lebih sederhana.
Pengenal
Berikut Google Script Library -nya :
- ID :
MHczUHrzvBLV1HsUn5XkOIfvg_do21SJR
- Fungsi : Library Bot API Telegram
- Versi :
28
Saya share secara public, sehingga dapat dimanfaatkan siapa saja.
Selalu gunakan versi terbaru. Yakni yang angkanya paling besar.
Fungsi
1. Init Class
var token = 'TOKEN BOT TELEGRAM';
var tg = new telegram.daftar(token);
Dimana, tg
adalah variable untuk menampung class library telegram.
2. Send Request
var result = tg.request(method, data)
method
sesuai di panduan Bot Api Telegramdata
array sesuai method
Fungsi request
hanya untuk user yang sudah pengalaman. Jika masih baru belajar, langsung pake fungsi kirim Pesan
dibawah ini.
3. Fungsi Kirim Pesan
var tg.kirimPesan(chatid, pesan, parse_mode, disable_web_page_preview)
Fungsi ini khusus dibuat sendiri, untuk mengirim pesan. Sehingga tidak perlu build fungsi sendiri dari Send Request
.
Variasi Kirim Pesan:
- Kirim pesan langsung:
tg.kirimPesan('213567634', 'Halo, bang Hasan!');
- Kirim pesan dengan style format
- markdown:
tg.kirimPesan('213567634', '_Halo_, *bang Hasan*!', 'markdown');
- HTML:
tg.kirimPesan('213567634', '<i>Halo</i>, <b>bang Hasan</b>!', 'HTML');
- markdown:
4. Fungsi-fungsi Lib
- request (method, data)
- requestForm (method, data)
- requestBlob(method, data)
- kirimPesan(chatid, pesan, parse_mode, disable_web_page_preview)
- sendMessage(chatid, pesan, parse_mode, disable_web_page_preview)
- sendPhoto(chatid, photo, caption, disable_notification, reply_to_message_id, reply_markup)
- sendDocument(chatid, document, caption, disable_notification, reply_to_message_id, reply_markup)
- sendAudio(chatid, audio, caption, duration, performer, title, disable_notification, reply_to_message_id, reply_markup)
- sendVideo(chatid, video, caption, duration, width, height, disable_notification, reply_to_message_id, reply_markup)
- sendMsgKeyboard(chatid, text, keyboard) //parse_mode: HTML
- sendMessageKeyboard(chatid, text, keyboard) //parse_mode: HTML
- sendMsgKeyboardInline(chatid, text, keyboard) //parse_mode: HTML
- sendMessageKeyboardInline(chatid, text, keyboard) //parse_mode: HTML
- editMessageText(chat_id, message_id, pesan, keyboard) //parse_mode: HTML
- replyMessage(msg, pesan, keyboard)
- clearHTML(string)
- clearMarkdown(string)
- timeConverter(Unixtimestamp, ribuan_boolean)
- setWebhook(url)
- deleteWebhook()
5. Tools
- Utils clearHTML(string): string clearMarkdown(string): string
- Button text(text, callback_data): JSON inline(text, callback_data): JSON query(text, switch_inline_query): JSON url(text, url): JSON
Penggunaan:
var Utils = telegram.Utils;
var pesan = Utils.clearHTML('Hasanudin H Syafaat <[email protected]>');
versi 26: ditambahkan
tg.util
dantg.button
(aliastg.tombol
)
Contoh Lengkap
Untuk memulainya bisa langsung ke situs Google Script https://script.google.com
Tambahkan Library
Pilih menu Resource -> Library
Tambahkan ID library : MHczUHrzvBLV1HsUn5XkOIfvg_do21SJR
Pilih VERSI yang angkanya paling besar
Pastikan proyek sudah disimpan dan diberi nama proyek sebelum menambahkan library.
Tulis kode
Berikut contoh lengkap di google script :
function pesanku() {
var token = 'TOKEN BOT';
var tg = new telegram.daftar(token);
var chatid = 213567634 // ID Telegram untuk @hasanudinhs
var teks = '_Halo_, *bang Hasan*!';
var ret = tg.kirimPesan(chatid, teks, 'markdown');
Logger.log(ret); // simpan hasil return kirimPesan ke log
}
Jalankan Code
Jalankan kode diatas, pastikan pilihan fungsi yang dijalankan sesuai nama fungsinya. Yakni dalam contoh ini adalah pesanku
Ketika menjalankan pertama kali, akan meminta akses luar. Jawab IYA untuk melanjutkan.
Reminder Bot
Mari kita buat sesuatu yang lebih ‘terasa’. Misalnya kita buat sebuah reminder atau bot pengingat Sholat Tahajud. Katakanlah, tahajud nya antara jam 3:00 - 4:00 WIB.
Tahajud Reminder
Kita sesuaikan dulu script diatas menjadi:
function reminderTahajud() {
var token = 'TOKEN BOT'; // sesuaikan dengan TOKEN Bot mu
var tg = new telegram.daftar(token);
var chatid = 213567634; // ID Telegram tujuan remindernya, tidak tahu ID mu? coba start @strukturbot
var now = new Date();
var waktu = Utilities.formatDate(now, 'Asia/Jakarta', 'HH:mm:ss');
var teks = "_Hooiii_ orang berselimut, *banguuun*!"
teks = teks + "\n\nSekarang waktunya Tahajud!!";
teks = teks + "\nSudah jam `" + waktu + "` lhoooh!";
var hasil = tg.kirimPesan(chatid, teks, 'markdown');
Logger.log(hasil); // simpan hasil return kirimPesan ke log
}
Seperti ini screenshotnya :
Jalankan
Klik tombol run (▶️) atau Run -> namafungsi reminderTahajud
.
Jika sukses akan mendapatkan pesan seperti ini:
Setup Akhir
Agar script ini bisa berjalan sesuai jam yang ditentukan, yakni jam tahajud antara pukul 3-4 pagi. Maka perlu diseting timernya.
- Klik icon waktu (🕒) atau
Resources -> Current project trigger
- Klik
No triggers set up. Click here to add one now.
untuk menambahkan trigger baru. - Pastikan nama fungsi terpilih, kemudian sesuaikan waktunya.
Run
pilih nama fungsinyareminderTahajud
Events
pilihTime-driven
- kemudian pilih
Day timer
untuk trigger secara harian - lanjutkan dengan memilih waktunya yakni antara
3am to 4am
artinya rentan waktu antara jam 3 pagi sampai dengan jam 4 pagi, sesuai waktu trigger ini dibuat.
- terakhir,
save
untuk menyimpannya.
-
Selesai.
Jika menggunakan bahasa Indonesia dalam google environmentnya, kira-kira sendiri ya apa itu pilihannya.
Full Materi
Lihat di https://bit.ly/GooglescriptBotTelegram
Penutup
Google Script memang sangat powerfull, untuk kebutuhan personal sudah sangat lebih dari cukup. Sehingga sangat perlu dimanfaatkan buat kita semua.
Mungkin dapat diimplementasikan di segala bidang. Misalnya:
- di dunia sekolahan reminder waktu pendaftaran kurang berapa hari, reminder jadwal ujian, reminder jadwal guru atau siswa
- di event organizer, reminder acara, reminder peserta, dlsb
- di fokus diskusi grup, reminder berbagai hal kegiatan, moment, dan lain-lain
- keagamaan, membuat quote secara acak tampil secara acak, info random quran, dan lain-lain
- kalangan penggiat IoT, membuat trigger berbagai hal
- networking, pembuat notifikasi server, kondisi web, aplikasi, dan lain-lain
- programmer, membuat pengganti cronjob remote, berbagai kondisi, dan sebagai-bagai
- penggiat media sosial, membuat notifikasi jika ada sesuatu, misalnya namanya di mention, melike postingan, membuat resume, dan lain-lain.
- dan tentu saja bisa dibuat berbagai ide-ide liar dan keren lainnya yang dapat diciptakan, apalagi dengan mengintegrasikan dengan google form, google spreadsheet, google drive, media sosial, dll
Semoga dokumentasi library google script untuk Bot API Telegram ini dapat bermanfaat. Jangan lupa untuk bergabung ke diskusi pembuatan bot di grup telegram @botIndonesia bersama para developer bot lainnya, tidak harus bisa coding lho!
Semoga bermanfaat, jangan lupa komentarnya jika sudah membaca ini.. tinggalkan jejak agar saya mengenal kamu dan tahu pendapatmu 😘