Telegram telah menjadi salah satu platform pesan instan paling populer dengan dukungan bot yang kuat. Dalam artikel ini, kita akan mempelajari cara membangun bot Telegram Al-Quran yang memungkinkan pengguna mengakses Al-Quran, mencari ayat, mendengarkan bacaan, dan banyak lagi—semua melalui antarmuka Telegram yang familiar.
Dalam era digital, akses ke kitab suci harus semudah mengirim pesan. Bot Telegram Al-Quran yang akan kita bangun ini bertujuan untuk memudahkan umat Muslim mengakses Al-Quran kapan saja dan di mana saja melalui aplikasi Telegram.
Bot ini akan memiliki fitur-fitur berikut:
- Membaca daftar surah dan ayat Al-Quran
- Mencari ayat berdasarkan kata kunci
- Mendengarkan bacaan ayat (audio)
- Membaca tafsir surah
- Mendapatkan ayat acak dan ayat pilihan hari ini
- Melihat jadwal sholat
## Persiapan
Sebelum mulai membangun bot, Anda memerlukan beberapa hal:
1. Akun Telegram - Jika belum memiliki, unduh aplikasi Telegram dan buat akun
2. Bot Telegram - Buat bot melalui BotFather (akan dijelaskan)
3. Server web dengan HTTPS - Telegram membutuhkan HTTPS untuk webhook
4. Dasar pemrograman PHP - Bot ini dibangun dengan PHP
## Langkah 1: Membuat Bot Telegram
1. Buka Telegram dan cari `@BotFather`
2. Mulai chat dan kirim perintah `/newbot`
3. Ikuti instruksi untuk menentukan nama dan username bot
4. Setelah bot dibuat, BotFather akan memberikan token API, yang akan terlihat seperti:
123456789:ABCDefGhIJKlmNoPQRsTUVwxyZ
5. Simpan token ini, karena akan digunakan dalam kode webhook
## Langkah 2: Memahami Struktur Kode
Bot Telegram Al-Quran ini terdiri dari beberapa komponen utama:
1. Webhook Handler - Menerima dan memproses pesan dari Telegram
2. Formatter Respons - Memformat pesan respons untuk Telegram
3. Penanganan Perintah - Logika untuk berbagai perintah bot
4. Integrasi API Al-Quran - Menghubungkan ke API data Al-Quran (Google Sheets)
Mari kita lihat kode inti dari bot ini:
php
// Konfigurasi dasar
date_default_timezone_set('Asia/Jakarta');
$botToken = 'YOUR_TELEGRAM_BOT_TOKEN';
$api_url = "https://script.google.com/macros/s/..."; // URL API Al-Quran
// Dapatkan data webhook dari Telegram
$update = json_decode(file_get_contents('php://input'), true);
// Parsing informasi pesan
$message = isset($update['message']['text']) ? strtolower($update['message']['text']) : '';
$chat_id = isset($update['message']['chat']['id']) ? $update['message']['chat']['id'] : '';
// Logika penanganan perintah
if ($message === '/start') {
// Penanganan perintah /start
$respon = $responFormatter->sendMessage($chat_id, "Selamat datang di Al-Quran Bot...");
}
// [Penanganan perintah lainnya]
Salah satu komponen penting adalah kelas ResponTelegramFormatter
yang menangani format respons ke API Telegram:
class ResponTelegramFormatter {
private $botToken;
public function __construct($botToken) {
$this->botToken = $botToken;
}
// Metode untuk mengirim pesan teks
public function sendMessage($chat_id, $text, $reply_to_message_id = null) {
$url = "https://api.telegram.org/bot" . $this->botToken . "/sendMessage";
$params = [
'chat_id' => $chat_id,
'text' => $text,
'parse_mode' => 'Markdown'
];
if ($reply_to_message_id) {
$params['reply_to_message_id'] = $reply_to_message_id;
}
return $this->sendRequest($url, $params);
}
// Metode lainnya: sendAudio, sendMessageWithKeyboard, dll.
}
Bot ini menggunakan API Google Sheets untuk mengakses data Al-Quran. Misalnya, untuk mendapatkan daftar surah:
// Menampilkan daftar surah
if ($message === '/surahlist') {
$url = $api_url . "?action=getAllSurah";
$response = file_get_contents($url);
$json = json_decode($response, true);
if ($json['status'] == 'success') {
$message_text = " *DAFTAR SURAH AL-QURAN* \n\n";
// Kelompokkan surah dalam beberapa bagian
$total_surah = count($json['data']);
$surah_per_section = 10;
$section_count = ceil($total_surah / $surah_per_section);
// Format dan kirim respons
// ...
}
}
Telegram mendukung tombol inline, yang membuat navigasi bot lebih intuitif:
// Handle perintah /menu
if ($message === '/menu') {
$keyboard = [
'inline_keyboard' => [
[
['text' => ' Daftar Surah', 'callback_data' => 'surahlist'],
['text' => ' Cari Ayat', 'callback_data' => 'search']
],
// Tombol lainnya
]
];
$respon = $responFormatter->sendMessageWithKeyboard($chat_id,
" *MENU AL-QURAN BOT* \n\n" .
"Silakan pilih menu di bawah ini:",
$keyboard
);
}
Setelah kode selesai, Anda perlu men-deploy bot:
Siapkan Server HTTPS:
Konfigurasi Webhook:
setwebhook
:
https://domain.com/path/telegram_webhook.php?setwebhook
https://api.telegram.org/bot{TOKEN}/setWebhook?url=https://domain.com/path/telegram_webhook.php
Verifikasi Webhook:
https://domain.com/path/telegram_webhook.php?webhookinfo
/start
Bot ini menyertakan beberapa fitur debugging yang berguna:
// Log data yang masuk
file_put_contents('telegram.txt', '[' . date('Y-m-d H:i:s') . "]\n" . json_encode($update) . "\n\n", FILE_APPEND);
// Log respons
if ($respon) {
file_put_contents('telegram_respon.txt', '[' . date('Y-m-d H:i:s') . "]\n" . $respon . "\n\n", FILE_APPEND);
}
Periksa file log ini jika bot tidak berfungsi seperti yang diharapkan.
Beberapa tips keamanan untuk bot Anda:
Membangun Bot Telegram Al-Quran adalah proyek yang memuaskan dan bermanfaat bagi komunitas Muslim. Dengan menggunakan teknologi modern untuk menyebarkan pengetahuan agama, kita dapat membantu orang mengakses Al-Quran dengan cara yang lebih mudah dan nyaman.
Bot seperti ini juga dapat diadaptasi untuk kitab suci lain atau konten edukatif, menunjukkan fleksibilitas platform Telegram untuk berbagi pengetahuan dan informasi.
Selamat mencoba, dan semoga bot Anda memberikan manfaat bagi banyak orang!