Tutorial PHPTelebot - Panduan Lengkap untuk Pemula
Panduan lengkap ini akan membantumu membuat bot Telegram menggunakan framework PHPTelebot. Tutorial ini dirancang khusus untuk pemula yang baru belajar membuat bot Telegram dengan PHP.
Daftar Isi
- Apa itu PHPTelebot?
- Mengapa Menggunakan Framework?
- Prasyarat
- Instalasi
- Membuat Bot Sederhana
- Menggunakan Inline Keyboard
- Metode Long Polling
- Metode Webhook
- Webhook dengan Ngrok
- Tips dan Troubleshooting
- Referensi
Apa itu PHPTelebot?
PHPTelebot adalah framework PHP yang mempermudah pembuatan bot Telegram. Framework ini menyediakan fungsi-fungsi siap pakai untuk berinteraksi dengan Telegram Bot API, sehingga kamu tidak perlu menulis kode dari nol.
Sejarah
Sejarah-nya euy.. PHPTelebot ini awalnya dibuat pertama kali oleh admin grup Bot PHP Indonesia Sdr. @Radyakaze1
Namun, karena lain satu hal.. repository-nya tidak pernah diupdate, dan dilanjutkan oleh pengembang luar GrayHoax dan sampai tulisan ini dibuat, masih uptodate untuk dipakai di tahun 2025 dan masih aktif.
Sehingga pada tutorial ini, akan menggunakan repository dari GrayHoax yang merupakan forknya. Lantaran ini juga, kita akan menggunakan metode langsung (tidak pakai composer).
Fitur Utama
- Mudah digunakan, cocok untuk pemula
- Mendukung long polling dan webhook
- Penanganan command yang simpel
- Dukungan untuk inline keyboard, callback query, dan fitur Telegram lainnya
Mengapa Menggunakan Framework?
๐ Mengapa Menggunakan Framework daripada Coding Biasa?
Menggunakan framework adalah praktik standar dalam pengembangan perangkat lunak modern karena menawarkan berbagai keuntungan signifikan dibandingkan menulis kode dari nol (vanilla coding). Alasan-alasan ini berpusat pada efisiensi, kualitas, dan pemeliharaan.
1. Peningkatan Produktivitas dan Kecepatan Pengembangan
- Fungsi Siap Pakai: Frameworks menyediakan komponen dan library yang sudah teruji untuk tugas-tugas umum (misalnya, routing, koneksi database, autentikasi, manajemen session). Ini berarti pengembang tidak perlu โmenciptakan kembali rodaโ dan bisa fokus langsung pada fitur unik aplikasi.
- Pengembangan Cepat (Rapid Development): Dengan adanya alat bantu bawaan, waktu yang dibutuhkan untuk membuat aplikasi fungsional pertama jauh lebih singkat, memungkinkan Time-to-Market yang lebih cepat.
2. Struktur, Konsistensi, dan Pemeliharaan
- Struktur Proyek Terstandardisasi: Frameworks memaksakan pola desain tertentu (seperti MVC - Model-View-Controller). Struktur ini membuat proyek terorganisir, konsisten, dan mudah dipahami oleh pengembang mana pun yang familiar dengan framework tersebut.
- Kemudahan Pemeliharaan (Maintainability): Karena kode mengikuti konvensi framework, menemukan, memperbaiki bug, atau menambahkan fitur baru menjadi lebih mudah. Ini sangat penting untuk proyek jangka panjang.
- Skalabilitas: Framework sering dirancang dengan mempertimbangkan skalabilitas, menyediakan mekanisme yang lebih baik untuk menangani pertumbuhan aplikasi dan peningkatan beban pengguna.
3. Keamanan dan Keandalan
- Perlindungan Keamanan Bawaan: Frameworks yang populer terus diperbarui dan menyediakan mitigasi terhadap kerentanan keamanan web yang umum, seperti:
- SQL Injection
- Cross-Site Scripting (XSS)
- Cross-Site Request Forgery (CSRF)
- Mengimplementasikan perlindungan ini sendiri secara manual sangat kompleks dan rawan kesalahan.
- Kode yang Teruji: Kode inti framework telah diuji secara ekstensif dan diperbaiki bug-nya oleh komunitas pengembang global, membuatnya jauh lebih andal daripada kode yang ditulis pengembang tunggal dari awal.
4. Dukungan Komunitas dan Ekosistem
- Dokumentasi dan Bantuan: Frameworks besar (seperti Laravel, React, Django) memiliki dokumentasi yang lengkap dan komunitas pengguna yang besar. Jika Anda menemui masalah, solusinya kemungkinan besar sudah dibahas di forum atau Stack Overflow.
- Ekosistem yang Kaya: Ada banyak library, plugin, dan tool pihak ketiga yang secara khusus dibuat untuk memperluas fungsionalitas framework, sehingga memudahkan integrasi fitur tambahan.
| Aspek | Framework | Coding Biasa (Vanilla) |
|---|---|---|
| Kecepatan | Cepat, menggunakan fungsionalitas siap pakai | Lambat, harus membangun dasar dari nol |
| Keamanan | **Bawaan |
Tanpa Framework (PHP + cURL Murni)
Jika kamu menulis bot tanpa framework, kamu harus menulis kode seperti ini setiap kali ingin mengirim pesan:
<?php
$token = "YOUR_BOT_TOKEN";
$chatId = "USER_CHAT_ID";
$message = "Halo dari bot!";
$url = "https://api.telegram.org/bot{$token}/sendMessage";
$data = [
'chat_id' => $chatId,
'text' => $message
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
Masalah dengan pendekatan ini:
- โ Kode berulang-ulang (repetitif)
- โ Sulit dibaca dan dipelihara
- โ Rawan error (typo URL, parameter salah, dll)
- โ Harus menulis ulang untuk setiap fitur (keyboard, foto, dokumen, dll)
- โ Tidak ada struktur yang jelas untuk menangani command
Dengan Framework PHPTelebot
Dengan framework, kode yang sama menjadi jauh lebih sederhana:
<?php
require_once 'phptelebot/src/PHPTelebot.php';
$bot = new PHPTelebot('YOUR_BOT_TOKEN');
$bot->cmd('/start', function() {
return Bot::sendMessage('Halo dari bot!');
});
$bot->run();
Keuntungan menggunakan framework:
- โ Kode lebih ringkas dan mudah dibaca
- โ Fokus pada logika bisnis, bukan detail teknis
- โ Penanganan error sudah diatur oleh framework
- โ Struktur kode lebih terorganisir
- โ Lebih cepat dalam pengembangan
- โ Mudah ditambahkan fitur baru
Prasyarat
Sebelum memulai, pastikan sudah memiliki:
-
PHP 7.4 atau lebih baru (disarankan PHP 8.0+)
php -v # Cek versi PHP -
Ekstensi cURL aktif
php -m | grep curl # Cek apakah cURL sudah aktif -
Git (untuk mengambil kode dari GitHub)
git --version # Cek apakah Git sudah terinstal -
Token Bot dari BotFather
- Buka Telegram dan cari @BotFather
- Kirim perintah
/newbot - Ikuti instruksi untuk membuat bot baru
- Simpan token yang diberikan (format:
123456789:ABCdefGHIjklMNOpqrsTUVwxyz)
Instalasi
Langkah 1: Clone Repository
Buka terminal dan jalankan perintah berikut:
# Clone repository PHPTelebot
git clone https://github.com/GrayHoax/phptelebot.git
# Masuk ke folder phptelebot
cd phptelebot
Langkah 2: Struktur Folder
Setelah clone, struktur folder akan seperti ini:
phptelebot/
โโโ src/
โ โโโ PHPTelebot.php # File utama framework
โโโ examples/ # Contoh-contoh penggunaan
โโโ README.md
โโโ ...
File utama yang kita butuhkan ada di src/PHPTelebot.php.
Membuat Bot Sederhana
Langkah 1: Buat File Bot
Buat file baru bernama bot.php di folder yang sama dengan folder phptelebot:
project/
โโโ phptelebot/ # Folder hasil clone
โโโ bot.php # File bot kamu (buat file ini)
Langkah 2: Tulis Kode Bot
Buka bot.php dan tulis kode berikut:
<?php
// Sertakan library PHPTelebot
require_once __DIR__ . '/phptelebot/src/PHPTelebot.php';
// Ganti dengan token bot kamu
$token = 'ISI_TOKEN_BOT_KAMU_DISINI';
$username = 'NamaBotKamu'; // Opsional
// Inisialisasi bot
$bot = new PHPTelebot($token, $username);
// Command /start - Pesan sambutan
$bot->cmd('/start', function () {
$nama = Bot::$user['first_name'];
$pesan = "Halo {$nama}! ๐\n\n";
$pesan .= "Selamat datang di bot saya.\n";
$pesan .= "Gunakan /help untuk melihat daftar perintah.";
return Bot::sendMessage($pesan);
});
// Command /help - Daftar perintah
$bot->cmd('/help', function () {
$pesan = "๐ *Daftar Perintah:*\n\n";
$pesan .= "/start - Mulai bot\n";
$pesan .= "/help - Tampilkan bantuan\n";
$pesan .= "/echo [teks] - Ulangi teks yang kamu kirim\n";
$pesan .= "/info - Informasi tentang kamu";
return Bot::sendMessage($pesan, ['parse' => 'markdown']);
});
// Command /echo - Mengulangi teks
$bot->cmd('/echo|/say', function ($text = '') {
if (empty($text)) {
return Bot::sendMessage('โ Gunakan: /echo [teks yang ingin diulangi]');
}
return Bot::sendMessage("๐ Kamu berkata: {$text}");
});
// Command /info - Informasi user
$bot->cmd('/info', function () {
$user = Bot::$user;
$pesan = "๐ค *Informasi Kamu:*\n\n";
$pesan .= "Nama: {$user['first_name']}\n";
$pesan .= "ID: {$user['id']}\n";
$pesan .= "Username: @{$user['username']}\n";
return Bot::sendMessage($pesan, ['parse' => 'markdown']);
});
// Handler untuk semua pesan yang tidak cocok dengan command
$bot->cmd('*', function () {
return Bot::sendMessage("Maaf, saya tidak mengerti perintah itu. Gunakan /help untuk bantuan.");
});
// Jalankan bot
$bot->run();
Langkah 3: Penjelasan Kode
Mari kita pahami setiap bagian kode:
require_once: Memasukkan file library PHPTelebotnew PHPTelebot($token, $username): Membuat instance bot dengan tokenmu$bot->cmd('/start', function() {...}): Mendefinisikan apa yang terjadi ketika user mengirim/startBot::sendMessage($pesan): Mengirim pesan ke userBot::$user: Array yang berisi informasi user yang mengirim pesan$bot->run(): Menjalankan bot (long polling)
Menggunakan Inline Keyboard
Inline keyboard adalah tombol-tombol yang muncul di bawah pesan. Sangat berguna untuk membuat menu interaktif.
Contoh 1: Keyboard Sederhana
<?php
require_once __DIR__ . '/phptelebot/src/PHPTelebot.php';
$token = 'ISI_TOKEN_BOT_KAMU';
$bot = new PHPTelebot($token);
// Command dengan inline keyboard
$bot->cmd('/menu', function () {
$pesan = "Pilih menu yang kamu inginkan:";
// Membuat inline keyboard
$keyboard = [
[
['text' => '๐ฐ Berita', 'callback_data' => 'menu_berita'],
['text' => '๐ต Musik', 'callback_data' => 'menu_musik']
],
[
['text' => '๐ฎ Game', 'callback_data' => 'menu_game'],
['text' => 'โ๏ธ Pengaturan', 'callback_data' => 'menu_setting']
]
];
return Bot::sendMessage($pesan, [
'reply_markup' => [
'inline_keyboard' => $keyboard
]
]);
});
// Menangani callback dari inline keyboard
$bot->on('callback', function ($data) {
// $data berisi callback_data yang dikirim
switch ($data) {
case 'menu_berita':
$response = "๐ฐ Kamu memilih menu Berita";
break;
case 'menu_musik':
$response = "๐ต Kamu memilih menu Musik";
break;
case 'menu_game':
$response = "๐ฎ Kamu memilih menu Game";
break;
case 'menu_setting':
$response = "โ๏ธ Kamu memilih menu Pengaturan";
break;
default:
$response = "Menu tidak dikenal";
}
// Kirim notifikasi ke user
Bot::answerCallback($response, true);
// Update pesan dengan pilihan user
return Bot::editText($response);
});
$bot->run();
Contoh 2: Keyboard dengan URL
$bot->cmd('/sosmed', function () {
$pesan = "Kunjungi media sosial kami:";
$keyboard = [
[
['text' => '๐ Website', 'url' => 'https://example.com']
],
[
['text' => '๐ฑ Telegram Channel', 'url' => 'https://t.me/channel']
],
[
['text' => '๐ฆ Twitter', 'url' => 'https://twitter.com/username'],
['text' => '๐ Facebook', 'url' => 'https://facebook.com/page']
]
];
return Bot::sendMessage($pesan, [
'reply_markup' => [
'inline_keyboard' => $keyboard
]
]);
});
Contoh 3: Keyboard Dinamis dengan Pagination
$bot->cmd('/list', function () {
$items = ['Item 1', 'Item 2', 'Item 3', 'Item 4', 'Item 5'];
$page = 1;
$perPage = 2;
$keyboard = [];
$start = ($page - 1) * $perPage;
$end = min($start + $perPage, count($items));
// Tambahkan item ke keyboard
for ($i = $start; $i < $end; $i++) {
$keyboard[] = [
['text' => $items[$i], 'callback_data' => "item_{$i}"]
];
}
// Tambahkan tombol navigasi
$navButtons = [];
if ($page > 1) {
$navButtons[] = ['text' => 'โฌ
๏ธ Prev', 'callback_data' => 'page_' . ($page - 1)];
}
if ($end < count($items)) {
$navButtons[] = ['text' => 'Next โก๏ธ', 'callback_data' => 'page_' . ($page + 1)];
}
if (!empty($navButtons)) {
$keyboard[] = $navButtons;
}
return Bot::sendMessage("Daftar Item (Halaman {$page}):", [
'reply_markup' => [
'inline_keyboard' => $keyboard
]
]);
});
Penjelasan Inline Keyboard
text: Teks yang ditampilkan pada tombolcallback_data: Data yang dikirim ketika tombol ditekan (maksimal 64 byte)url: Link yang akan dibuka ketika tombol ditekan$bot->on('callback', function($data) {...}): Menangani event ketika tombol ditekanBot::answerCallback(): Mengirim notifikasi popup ke userBot::editText(): Mengubah teks pesan yang sudah dikirim
Metode Long Polling
Long polling adalah metode di mana bot kamu terus-menerus โbertanyaโ ke server Telegram apakah ada pesan baru.
Cara Kerja Long Polling
Bot Kamu โ "Ada pesan baru?" โ Telegram Server
โ "Tidak ada" โ
โ "Ada pesan baru?" โ
โ "Ya, ada!" โ
โ Proses pesan โ
โ "Ada pesan baru?" โ
Menjalankan Long Polling
# Jalankan bot dengan long polling
php bot.php
Bot akan terus berjalan dan menunggu pesan. Untuk menghentikan, tekan Ctrl+C.
Menjalankan di Background (Linux)
Jika kamu ingin bot tetap berjalan meskipun terminal ditutup:
# Menggunakan nohup
nohup php bot.php > bot.log 2>&1 &
# Atau menggunakan screen
screen -S mybot
php bot.php
# Tekan Ctrl+A lalu D untuk detach
# Kembali ke screen
screen -r mybot
Tutorial penggunaan Screen ada di Setup VPS
Kelebihan dan Kekurangan Long Polling
Kelebihan:
- โ Mudah digunakan, tidak perlu server web
- โ Cocok untuk development dan testing
- โ Tidak perlu SSL certificate
Kekurangan:
- โ Harus selalu running (konsumsi resource)
- โ Tidak cocok untuk production dengan traffic tinggi
- โ Jika script crash, bot akan mati
Metode Webhook
Webhook adalah metode di mana Telegram mengirim pesan langsung ke server Anda setiap kali ada update.
Cara Kerja Webhook
User mengirim pesan โ Telegram Server โ Kirim ke URL webhook Anda
โ Bot Anda memproses
โ Kirim response
Persyaratan Webhook
- Server web (Apache/Nginx)
- SSL Certificate (HTTPS wajib)
- URL publik yang bisa diakses Telegram
- PHP dengan cURL
Contoh Kode Webhook
Buat file webhook.php:
<?php
require_once __DIR__ . '/phptelebot/src/PHPTelebot.php';
$token = 'ISI_TOKEN_BOT_ANDA';
$bot = new PHPTelebot($token);
// Definisikan command seperti biasa
$bot->cmd('/start', function () {
return Bot::sendMessage('Halo! Bot berjalan dengan webhook.');
});
$bot->cmd('/help', function () {
return Bot::sendMessage('Ini adalah bot dengan webhook.');
});
// Untuk webhook, gunakan method webhook() bukan run()
$bot->webhook();
Set Webhook
Buat file set_webhook.php:
<?php
$token = 'ISI_TOKEN_BOT_ANDA';
$webhookUrl = 'https://domain-anda.com/webhook.php';
$url = "https://api.telegram.org/bot{$token}/setWebhook?url={$webhookUrl}";
$response = file_get_contents($url);
echo $response;
Jalankan sekali:
php set_webhook.php
Cek Status Webhook
<?php
$token = 'ISI_TOKEN_BOT_ANDA';
$url = "https://api.telegram.org/bot{$token}/getWebhookInfo";
$response = file_get_contents($url);
echo $response;
Hapus Webhook
<?php
$token = 'ISI_TOKEN_BOT_ANDA';
$url = "https://api.telegram.org/bot{$token}/deleteWebhook";
$response = file_get_contents($url);
echo $response;
Webhook dengan Ngrok
Ngrok adalah tool yang membuat tunnel dari internet ke localhost Anda. Sangat berguna untuk testing webhook tanpa perlu deploy ke server.
Langkah 1: Install Ngrok
Linux/Mac:
# Download ngrok
wget https://bin.equinox.io/c/bNyj1mQVY4c/ngrok-v3-stable-linux-amd64.tgz
# Extract
tar -xvzf ngrok-v3-stable-linux-amd64.tgz
# Pindahkan ke /usr/local/bin agar bisa diakses global
sudo mv ngrok /usr/local/bin/
Windows:
- Download dari https://ngrok.com/download
- Extract file ZIP
- Jalankan
ngrok.exe
Langkah 2: Daftar Akun Ngrok (Gratis)
- Buka https://dashboard.ngrok.com/signup
- Daftar akun gratis
- Dapatkan authtoken dari dashboard
- Jalankan:
ngrok config add-authtoken YOUR_AUTHTOKEN
Langkah 3: Setup Server Lokal
Buat file webhook.php di folder web server lokal Anda (misalnya di
/var/www/html/ atau htdocs/):
<?php
require_once __DIR__ . '/phptelebot/src/PHPTelebot.php';
$token = 'ISI_TOKEN_BOT_ANDA';
$bot = new PHPTelebot($token);
$bot->cmd('/start', function () {
return Bot::sendMessage('Halo! Bot berjalan dengan Ngrok webhook.');
});
$bot->cmd('/test', function () {
$pesan = "โ
Webhook berfungsi dengan baik!\n";
$pesan .= "Server: " . $_SERVER['HTTP_HOST'];
return Bot::sendMessage($pesan);
});
// Gunakan webhook() untuk mode webhook
$bot->webhook();
Langkah 4: Jalankan Web Server Lokal
Menggunakan PHP Built-in Server:
# Masuk ke folder project
cd /path/to/project
# Jalankan server di port 8000
php -S localhost:8000
Atau menggunakan Apache/Nginx:
Pastikan web server Anda sudah running dan file webhook.php bisa diakses.
Langkah 5: Jalankan Ngrok
Buka terminal baru dan jalankan:
# Untuk PHP built-in server (port 8000)
ngrok http 8000
# Untuk Apache/Nginx (biasanya port 80)
ngrok http 80
Anda akan melihat output seperti ini:
ngrok
Session Status online
Account your@email.com
Version 3.x.x
Region Asia Pacific (ap)
Latency -
Web Interface http://127.0.0.1:4040
Forwarding https://abc123.ngrok.io -> http://localhost:8000
Connections ttl opn rt1 rt5 p50 p90
0 0 0.00 0.00 0.00 0.00
Penting: Salin URL HTTPS (misalnya https://abc123.ngrok.io)
Langkah 6: Set Webhook ke Telegram
Buat file set_webhook_ngrok.php:
<?php
$token = 'ISI_TOKEN_BOT_ANDA';
// Ganti dengan URL ngrok Anda (HARUS HTTPS)
$ngrokUrl = 'https://abc123.ngrok.io';
$webhookUrl = $ngrokUrl . '/webhook.php';
$url = "https://api.telegram.org/bot{$token}/setWebhook?url=" . urlencode($webhookUrl);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response, true);
if ($result['ok']) {
echo "โ
Webhook berhasil diset!\n";
echo "URL: {$webhookUrl}\n";
} else {
echo "โ Gagal set webhook:\n";
echo $response . "\n";
}
Jalankan:
php set_webhook_ngrok.php
Langkah 7: Test Bot
- Buka Telegram dan cari bot Anda
- Kirim
/startatau/test - Bot akan merespons melalui webhook
Langkah 8: Monitor Request (Opsional)
Ngrok menyediakan web interface untuk melihat semua request:
- Buka browser
- Akses
http://127.0.0.1:4040 - Anda bisa melihat semua request yang masuk dari Telegram
Troubleshooting Ngrok
Bot tidak merespons:
- Cek apakah ngrok masih running
- Cek apakah PHP server masih running
- Cek webhook info:
curl https://api.telegram.org/botYOUR_TOKEN/getWebhookInfo
- Lihat error di ngrok web interface (
http://127.0.0.1:4040)
URL ngrok berubah:
- URL ngrok gratis akan berubah setiap kali Anda restart
- Anda harus set webhook ulang dengan URL baru
- Untuk URL tetap, upgrade ke ngrok berbayar
Webhook tidak menerima update:
# Hapus webhook
curl https://api.telegram.org/botYOUR_TOKEN/deleteWebhook
# Set ulang
php set_webhook_ngrok.php
Tips Ngrok
- Jangan tutup terminal ngrok - Jika ditutup, tunnel akan mati
- URL berubah setiap restart - Catat URL baru dan set webhook ulang
- Gunakan HTTPS - Telegram hanya menerima webhook HTTPS
- Monitor di web interface - Sangat membantu untuk debugging
Tips dan Troubleshooting
Tips Umum
-
Simpan token dengan aman
- Jangan commit token ke Git
- Gunakan file
.envatau config terpisah
// config.php <?php return [ 'token' => 'YOUR_BOT_TOKEN' ]; // bot.php $config = require 'config.php'; $bot = new PHPTelebot($config['token']); -
Logging untuk debugging
// Tambahkan logging file_put_contents('bot.log', date('Y-m-d H:i:s') . " - " . json_encode(Bot::$update) . "\n", FILE_APPEND); -
Gunakan try-catch
$bot->cmd('/start', function () { try { // Kode Anda return Bot::sendMessage('Halo!'); } catch (Exception $e) { error_log($e->getMessage()); return Bot::sendMessage('Terjadi kesalahan.'); } });
Troubleshooting
Bot tidak merespons:
- Cek token sudah benar
- Cek koneksi internet
- Cek apakah script berjalan tanpa error
- Untuk webhook: cek apakah URL bisa diakses dari luar
Error โCall to undefined function curl_initโ:
# Ubuntu/Debian
sudo apt install php-curl
# CentOS/RHEL
sudo yum install php-curl
# Restart web server
sudo service apache2 restart
Webhook tidak berfungsi:
# Cek status webhook
curl https://api.telegram.org/botYOUR_TOKEN/getWebhookInfo
# Hapus webhook jika ada masalah
curl https://api.telegram.org/botYOUR_TOKEN/deleteWebhook
# Set ulang
curl -X POST https://api.telegram.org/botYOUR_TOKEN/setWebhook?url=YOUR_WEBHOOK_URL
Long polling error โConflict: terminated by other getUpdatesโ:
- Ada instance lain yang running
- Atau webhook masih aktif
- Solusi: Hapus webhook dengan
deleteWebhook
Referensi
Dokumentasi Telegram
-
Telegram Bot API Official
- https://core.telegram.org/bots/api
- Dokumentasi lengkap semua method dan object Telegram Bot API
-
Telegram Bot Features
- https://core.telegram.org/bots/features
- Penjelasan fitur-fitur bot Telegram
-
Telegram Bot Tutorial
- https://core.telegram.org/bots/tutorial
- Tutorial resmi dari Telegram
-
Inline Keyboards
- https://core.telegram.org/bots/features#inline-keyboards
- Dokumentasi lengkap inline keyboard
-
Webhooks Guide
- https://core.telegram.org/bots/webhooks
- Panduan lengkap webhook dari Telegram
Dokumentasi PHP
-
PHP cURL
- https://www.php.net/manual/en/book.curl.php
- Dokumentasi cURL di PHP
-
PHP JSON
- https://www.php.net/manual/en/book.json.php
- Fungsi-fungsi JSON di PHP
-
PHP File Handling
- https://www.php.net/manual/en/ref.filesystem.php
- Manipulasi file di PHP
Framework PHPTelebot
-
PHPTelebot GitHub
- https://github.com/GrayHoax/phptelebot
- Repository resmi PHPTelebot
-
PHPTelebot Examples
- https://github.com/GrayHoax/phptelebot/tree/master/examples
- Contoh-contoh penggunaan
Tools Pendukung
-
Ngrok
- https://ngrok.com/
- Website resmi Ngrok
- https://ngrok.com/docs - Dokumentasi Ngrok
-
BotFather
- @BotFather
- Bot untuk membuat dan manage bot Telegram
-
Telegram API Testing
- https://api.telegram.org/bot<YOUR_TOKEN>/getMe
- Test apakah token Anda valid
Komunitas dan Bantuan
-
Telegram Bot Indonesia
- @botindonesia
- Grup diskusi developer bot Telegram Indonesia
-
Stack Overflow
- https://stackoverflow.com/questions/tagged/telegram-bot
- Forum tanya jawab
-
PHP Indonesia
- @phpid
- Komunitas PHP Indonesia
Penutup
Selamat! Kita telah mempelajari cara membuat bot Telegram menggunakan PHPTelebot. Mulai dari instalasi, membuat bot sederhana, menggunakan inline keyboard, hingga setup webhook dengan Ngrok.
Langkah selanjutnya:
- Eksplorasi fitur-fitur lain di dokumentasi Telegram Bot API
- Pelajari cara mengirim foto, video, dan dokumen
- Implementasikan database untuk menyimpan data user
- Buat bot yang lebih kompleks dengan state management
Jika ada pertanyaan atau menemui masalah, jangan ragu untuk bertanya di komunitas atau membuka issue di repository PHPTelebot.
Selamat coding! ๐
-
https://github.com/radyakaze/ yakni Sdr. Pringgo Radianto alias Radyakaze, merupakan developer PHP untuk PHPTelebot pertama. โฉ