Pendahuluan

Bot Telegram adalah alat yang sangat berguna untuk berbagai keperluan, mulai dari layanan pelanggan hingga otomatisasi tugas tertentu. Dalam artikel ini, kita akan membuat bot Telegram sederhana menggunakan PHP yang memiliki perintah /start, /bantuan, dan /kontak, serta inline keyboard sederhana dengan tombol “Bantuan” dan “Kontak Kami”.

Persiapan Awal

Sebelum memulai, pastikan Anda sudah memiliki:

  1. Bot Telegram – Jika belum memiliki bot, buat bot baru menggunakan @BotFather di Telegram.
  2. Token Bot – Setelah bot dibuat, Anda akan mendapatkan token akses API dari BotFather.
  3. Server atau Hosting – Anda memerlukan server atau hosting dengan PHP yang bisa menerima webhook dari Telegram.

Instalasi dan Konfigurasi

1. Buat file PHP untuk menangani permintaan dari Telegram, misalnya bot.php

2. Simpan kode berikut dalam file bot.php tersebut:

<?php
$TOKEN = "TOKEN_BOT_ANDA";    
$apiURL = "https://api.telegram.org/bot$TOKEN";
$update = json_decode(file_get_contents("php://input"), TRUE);

$chatID = $update["message"]["chat"]["id"] ?? $update["callback_query"]["message"]["chat"]["id"];
$message = strtolower($update["message"]["text"] ?? '');
$callbackData = $update["callback_query"]["data"] ?? '';

function sendMessage($chatID, $message, $keyboard = NULL) {
    global $apiURL;
    $payload = [
        'chat_id' => $chatID,
        'text' => $message,
        'parse_mode' => 'HTML'
    ];
    if ($keyboard) {
        $payload['reply_markup'] = json_encode($keyboard);
    }
    file_get_contents($apiURL . "/sendMessage?" . http_build_query($payload));
}

$main_menu = [
    'inline_keyboard' => [
        [
            ['text' => 'Kontak', 'callback_data' => 'kontak'],
            ['text' => 'Bantuan', 'callback_data' => 'bantuan']
        ]
    ]
];

switch ($message) {
    case '/start':
        sendMessage($chatID, "Halo, ini adalah bot Anda! Pilih opsi dari menu berikut:", $main_menu);
        break;
    case '/bantuan':
        sendMessage($chatID, "Perintah yang tersedia:\n/start - Memulai bot\n/bantuan - Bantuan\n/kontak - Kontak kami", $main_menu);
        break;
    case '/kontak':
        sendMessage($chatID, "Anda dapat menghubungi kami di email: support@example.com.", $main_menu);
        break;
    default:
        if ($callbackData) {
            $message_id = $update["callback_query"]["message"]["message_id"];
            switch ($callbackData) {
                case 'kontak':
                    sendMessage($chatID, "Anda dapat menghubungi kami di email: support@example.com.", $main_menu);
                    break;
                case 'bantuan':
                    sendMessage($chatID, "Perintah yang tersedia:\n/start - Memulai bot\n/bantuan - Bantuan\n/kontak - Kontak kami", $main_menu);
                    break;
                default:
                    sendMessage($chatID, "Perintah tidak dikenal.", $main_menu);
                    break;
            }
        }
        break;
}
?>

Menjalankan Bot

1. Unggah file bot.php ke server atau hosting Anda

2. Gunakan perintah berikut di browser Anda untuk mengatur webhook bot Anda:

https://api.telegram.org/botTOKEN_BOT_ANDA/setWebhook?url=https://domainanda.com/bot.php"

(Ganti TOKEN_BOT_ANDA dengan token yang Anda dapatkan dari @BotFather, dan ganti juga url=https://domainanda.com dengan url yang akan Anda gunakan)

Menggunakan Bot

  • Setelah webhook dikonfigurasi, buka Telegram dan mulai chat dengan bot Anda. Ketik /start untuk melihat inline keyboard dengan tombol “Bantuan” dan “Kontak Kami”
  • Setiap Anda melakukan perubahan pada bot.php, jalankan di browser perintah:
https://api.telegram.org/botTOKEN_BOT_ANDA/setWebhook?url=https://domainanda.com/bot.php"

(Ganti TOKEN_BOT_ANDA dengan token yang Anda dapatkan dari @BotFather, dan ganti juga url=https://domainanda.com dengan url yang akan Anda gunakan)

Kesimpulan

Dengan menggunakan PHP dan API Telegram, kita dapat dengan mudah membuat bot sederhana dengan perintah /start, /bantuan, dan /kontak, serta tombol inline keyboard. Anda dapat mengembangkan bot ini lebih lanjut dengan fitur tambahan sesuai kebutuhan Anda.