Mari kita lihat contoh sederhana penggunaan API Telegram Bot dalam PHP. Dalam contoh ini, kita akan membuat skrip PHP yang dapat mengirim pesan ke pengguna melalui bot Telegram.

<?php

// Ganti 'your_bot_token' dengan token sebenarnya yang Anda dapatkan dari BotFather
$token = 'your_bot_token';
$apiUrl = "https://api.telegram.org/bot$token";

// Fungsi untuk mengirim pesan
function sendMessage($chatId, $text) {
    global $apiUrl;
    $text = urlencode($text);
    file_get_contents("$apiUrl/sendMessage?chat_id=$chatId&text=$text");
}

// Chat ID pengguna (Anda dapat memperolehnya melalui metode lain, misalnya dari logs)
$userId = '123456789';

// Pesan yang akan dikirim
$message = 'Halo! Ini adalah pesan dari bot Telegram.';

// Mengirim pesan
sendMessage($userId, $message);

?>

Dalam contoh ini:

  1. sendMessage adalah fungsi untuk mengirim pesan ke pengguna dengan menggunakan metode sendMessage dari API Telegram Bot.

  2. $chatId adalah ID obrolan atau pengguna yang akan menerima pesan. Anda biasanya akan mendapatkan ini melalui pemrosesan pesan yang diterima dari pengguna atau melalui metode lain seperti getUpdates.

  3. $text adalah teks pesan yang akan dikirim.

  4. file_get_contents digunakan untuk membuat permintaan HTTP ke API Telegram Bot dan mengirim pesan.

Pastikan Anda mengganti 'your_bot_token' dengan token yang sebenarnya yang Anda dapatkan dari BotFather.

Anda dapat memperluas skrip ini untuk menanggapi pesan yang diterima, menangani gambar, dokumen, atau perintah lain yang didukung oleh API Telegram Bot. Ingatlah untuk menangani masukan pengguna dengan aman dan sesuai kebutuhan bot Anda.

Pustaka PHP Bot Telegram

Berikut beberapa pustaka PHP yang dapat membantu Anda berinteraksi dengan API Telegram Bot:

  1. Telegram Bot API Library:

  2. Telegram-Bot-PHP:

  3. Longman/Telegram-Bot:

  4. BotMan:

    • GitHub: https://github.com/botman/botman
    • BotMan adalah pustaka PHP yang agnostik platform untuk mengembangkan bot tidak hanya untuk Telegram, tetapi juga untuk berbagai platform pesan lainnya.
       
  5. PHP Telegram Bot:

Pastikan untuk membaca dokumentasi dan panduan penggunaan pustaka tersebut agar dapat memahami cara mengintegrasikannya ke dalam proyek bot Telegram PHP Anda. Selalu periksa pembaruan dan kontribusi komunitas di repositori GitHub masing-masing pustaka.

Fungsi Umum

Berikut beberapa fungsi umum yang dapat Anda gunakan dengan API bot Telegram dalam PHP menggunakan pustaka-pustaka yang telah disebutkan sebelumnya:

  1. Mengirim Pesan:

    • Fungsi untuk mengirim pesan teks kepada pengguna:
    // Telegram-Bot-PHP
    $telegram->sendMessage([
        'chat_id' => $chatId,
        'text' => 'Hello, World!',
    ]);
    
    // BotMan
    $botman->say('Hello, World!', $chatId);
    
  2. Menggunakan Keyboard Inline:

    • Menambahkan keyboard inline ke pesan:
    // Telegram-Bot-PHP
    $telegram->sendMessage([
        'chat_id' => $chatId,
        'text' => 'Choose an option:',
        'reply_markup' => json_encode([
            'inline_keyboard' => [
                [['text' => 'Option 1', 'callback_data' => 'option_1']],
                [['text' => 'Option 2', 'callback_data' => 'option_2']],
            ],
        ]),
    ]);
    
    // BotMan
    $keyboard = Keyboard::create()->type(Keyboard::TYPE_INLINE)->addRow(
        Keyboard::inlineButton(['text' => 'Option 1', 'callback_data' => 'option_1']),
        Keyboard::inlineButton(['text' => 'Option 2', 'callback_data' => 'option_2'])
    );
    $botman->reply('Choose an option:')->with($keyboard);
    
  3. Menerima Pesan dan Menanggapi Perintah:

    • Menanggapi perintah yang diterima dari pengguna:
    // Telegram-Bot-PHP
    $telegram->onCommand('start', function ($update) {
        // Handle /start command
    });
    
    // BotMan
    $botman->hears('/start', function ($bot) {
        // Handle /start command
    });
    
  4. Menggunakan Webhook:

    • Menyiapkan webhook untuk menerima pembaruan secara real-time:
    // Telegram-Bot-PHP
    $telegram->setWebhook(['url' => 'https://yourdomain.com/your-webhook-endpoint']);
    
    // Longman/Telegram-Bot
    $telegram->enableLimiter();
    $telegram->addCommandsPaths(['your/commands/path']);
    $telegram->runCommands();
    
  5. Menggunakan Metode Google Cloud Translation API:

    • Terjemahkan teks ke bahasa lain menggunakan Google Cloud Translation API:
    // Google Cloud Translation API
    $result = $translate->translate($text, [
        'target' => $targetLanguage,
    ]);
    
    // BotMan
    $translatedText = translateText($textToTranslate, $targetLanguage);
    $botman->reply("Translated Text: $translatedText");
    

Pastikan untuk membaca dokumentasi resmi dari pustaka yang Anda pilih untuk memahami detail dan opsi yang tersedia. Fungsi-fungsi ini dapat disesuaikan sesuai dengan kebutuhan spesifik bot Telegram PHP Anda.