Karena beberapa waktu belakangan ini mas Dirman sedang menyukai dan mempelajari tentang telegram dan fitur serta fasilitas di dalamnya. Maka postingan kali ini juga masih ada hubungannya dengan telegram bot :)
Jika di konten sebelumnya, mas dirman pernah menuliskan tentang pengalaman membuat bot untuk kebutuhan update konten dari blog ke grup telegram, maka kali ini akan mencoba menyampaikan tentang cara periksa hasil kecepatan website menggunakan bot telegram yang bisa dicek melalui grup telegram.
Fungsi Utama Bot Periksa Hasil Kecepatan
Telegram bot kali ini akan memiliki kemampuan untuk memeriksa kecepatan loading sebuah website maupun blog dengan perintah yang telah disesuaikan (misal: !speed <alamat-url>) yang dijalankan di grup dengan mengambil data menggunakan API resmi milik PageSpeed Insights.
Singkatnya adalah seperti ini:
- Pengguna di grup mengetik perintah yang telah disesuaikan sebelumnya (misal:!speed <alamat-url>
- Bot akan memeriksa langsung ke situs PageSpeed Insights
- Kemudian menyampaikan hasilnya di grup
Demo Hasil Periksa di Grup Telegram
Kelebihan Fitur Bot
Dengan menggunakan panduan tutorial ini untuk membuat bot dengan kemampuan memeriksa kecepatan loading website/blog, maka akan mendapat beberapa kelebihan utama sebagai berikut:
- Menggunakan metode webhook untuk menerima perintah, sehingga bot dapat bekerja lebih cepat dan efisien.
- Membatasi akses hanya ke grup tertentu, sehingga lebih aman dan hemat untuk penggunaan API.
- Memeriksa kecepatan website menggunakan API Google PageSpeed Insights, sehingga diharapkan hasilnya akan lebih akurat.
- Dilengkapi dengan kemampuan mengirim tombol menuju laporan hasil tanpa menampilkan preview halaman, sehingga hasilnya bisa lebih ringan, rapih dan bersih.
Cara Membuat Bot
1. Membuat Bot Telegram Baru
Untuk membuat bot telegram baru secara gratis, silakan ikuti petunjuk ini:
- Buka aplikasi telegram melalui smartphone maupun laptop,
- Cari dan lakukan chat dengan akun pembuat bot ofisial di @BotFather (https://t.me/botfather),
- ketik: /newbot,
- Dapatkan Token API Telegram bot dan simpan API tersebut,
- Selesai.
2. Dapatkan API Key dari Google PageSpeed Insights
Untuk mendapatkannya, silakan lakukan tahapan berikut ini:
- Login ke akun Google Mail (Gmail),
- Buka Google Cloud Console di alamat: https://console.cloud.google.com,
- Buat proyek baru atau gunakan yang sudah ada,
- Aktifkan PageSpeed Insights API,
- Buat API Key dari menu “Credentials”,
- Selesai.
3. Jalankan Program Telegram Bot Gratis Menggunakan Fasilitas dari Google Apps Script
- Silakan login ke akun Gmail, kemudian buka situs resmi Google Apps Script yang dapat diakses melalui: https://script.google.com,
- Pilih menu Buat Proyek Baru (New Project),
- Berikan nama untuk proyek baru tersebut,
- Salin dan tempelkan seluruh kode skrip bot telegram di bawah ini:
const TOKEN = "TOKEN-BOT-DISINI"; // Token Bot dari @Botfather const WEBHOOK_URL = "URL_WEBHOOK-DISINI"; // Webhook URL const ALLOWED_GROUP_IDS = ["-10012345678901"]; // Ganti dengan ID grup Anda const PAGESPEED_API_KEY = ""; // API KEY dari Google PageSpeed Insights function doPost(e) { const update = JSON.parse(e.postData.contents); if (!update.message || !update.message.text) return; const chatId = update.message.chat.id.toString(); if (!ALLOWED_GROUP_IDS.includes(chatId)) return; const text = update.message.text.trim(); if (text.startsWith("!speed")) { const args = text.split(" "); if (args.length < 2) { sendMessage(chatId, "Gunakan perintah: !speed <url>"); return; } const url = args[1]; checkPageSpeed(chatId, url); } } function checkPageSpeed(chatId, url) { const apiUrl = `https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=${encodeURIComponent(url)}&key=${PAGESPEED_API_KEY}`; const response = UrlFetchApp.fetch(apiUrl); const data = JSON.parse(response.getContentText()); if (data.error) { sendMessage(chatId, "Terjadi kesalahan saat memeriksa kecepatan website."); return; } const score = data.lighthouseResult.categories.performance.score * 100; const reportUrl = `https://pagespeed.web.dev/report?url=${encodeURIComponent(url)}`; const message = `🌟 Hasil PageSpeed untuk: ${url}\n\n🚀 Skor Kecepatan: ${score}/100`; const inlineKeyboard = { inline_keyboard: [[{ text: "👨💻 Lihat Selengkapnya di Website", url: reportUrl }]] }; sendMessage(chatId, message, inlineKeyboard); } function sendMessage(chatId, text, replyMarkup = null) { const url = `https://api.telegram.org/bot${TOKEN}/sendMessage`; const payload = { chat_id: chatId, text: text, parse_mode: "Markdown", disable_web_page_preview: true }; if (replyMarkup) { payload.reply_markup = JSON.stringify(replyMarkup); } const options = { method: "post", contentType: "application/json", payload: JSON.stringify(payload) }; UrlFetchApp.fetch(url, options); } function setWebhook() { const url = `https://api.telegram.org/bot${TOKEN}/setWebhook?url=${WEBHOOK_URL}`; const response = UrlFetchApp.fetch(url); Logger.log(response.getContentText()); }
- Jangan lupa untuk mengubah: TOKEN-BOT-DISINI dengan Token bot telegram milik Anda sendiri - URL_WEBHOOK-DISINI dengan URL Webhook yang akan didapatkan nanti setelah deploy di Google Apps Script - PAGESPEED_API_KEY dengan kode API dari Google PageSpeed Insights
- Jalankan Webhook dengan cara:
6.1. Klik Deploy → Deploy as Web App
6.2. Pilih Anyone sebagai aksesnya.
6.3. Salin URL Web App yang muncul kemudian masukkan ke const WEBHOOK_URL,
6.4. Jalankan fungsi setWebhook() dari menu Run di Google Apps Script - Selesai.
4. Coba Jalankan Bot
Masukkan bot ke grup telegram, kemudian coba tes dengan perintah !speed. Jika cara yang diterapkan sukses maka saat ini bot akan mulai bekerja mengirimkan informasi kecepatan loading alamat website/blog yang akan diperiksa.
Jika Belum Berhasil: pastikan periksa ulang tahapan dari awal, siapa tahu ada yang terlewatkan.
Penutup
Jika menemukan kesulitan atau ada hal yang ingin disampaikan, silakan tulis di kolom komentar blog atau diskusikan di ➤ Grup Telegram. Semoga bermanfaat.
Posting Komentar
✔ Centang kolom Beri Tahu Saya/Notify Me untuk mendapatkan notifikasi respon komentar.