Home » Tekno » Membuat Bot Telegram Webhook Sendiri dengan PHP

Membuat Bot Telegram Webhook Sendiri dengan PHP

Bot Telegram Webhook

Seri lanjutan dari tutorial bot Telegram: Membuat bot Telegram webhook sendiri dengan bahasa pemrograman PHP (tanpa layanan pihak ketiga).

Entah saya yang kurang dalam mencari atau memang belum banyak yang membahasnya dalam Bahasa Indonesia mengenai pembuatan bot telegram dengan metode webhook secara mandiri.

Maksudnya mandiri disini yaitu tanpa tergantung kepada layanan pihak ketiga, seperti hook.io maupun service-service lain semacamnya.

Baiklah, sebagai catatan untuk saya pribadi juga sekalian berbagi kali ini saya tertarik untuk menulisnya dengan menggunakan bahasa yang mudah seperti PHP.

Langsung saja ke intinya . . .


Persiapan Awal Bot Telegram Webhook

Hal-hal yang harus disiapkan untuk membuat bot telegram dengan metode webhook secara mandiri yaitu:

  • Domain & server yang sudah HTTPS, bisa VPS atau shared hosting. Saya juga masih menggunakan shared hosting.
  • Bot Telegram
  • Pemahaman basic pemrograman PHP

Jika anda belum punya bot Telegram silahkan baca panduan pertama disini:

Panduan Lengkap Membuat Bot Telegram dari Dasar

Jika persiapan di atas sudah ada, mari kita lanjutkan.


Persiapan Server Webhook

Agar mudah saya akan menggunakan framework Codeigniter seperti tutorial auto posting sebelumnya.

Pada tutorial ini saya menggunakan shared hosting dengan fasilitas cPanel dan domain: dicoffeean.com.

Buat file Controller dengan nama bebas sesuka anda, sebagai contoh disini saya akan menamainya Bot, jadi saya membuat file Controller Bot.php.

Sehingga alamat webhook saya disini menjadi: https://dicoffeean.com/bot/

Selanjutnya silahkan salin script PHP berikut ini.

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Bot extends CI_Controller {
    function __construct(){
        parent::__construct();
    }

    function index(){
        $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"];
        $message = $update["message"]["text"];
        
        if (strpos($message, "/start") === 0) {
        
        file_get_contents($apiURL."/sendmessage?chat_id=".$chatID."&text=Haloo, test webhooks dicoffeean.com.&parse_mode=HTML"); 
        } 
    } 
}

Sampai pada tahap ini persiapan server webhook telah selesai. Jika masih belum paham silahkan dibaca ulang dan diteliti kembali, baru kita lanjut ke tahap selanjutnya.


Setting Alamat Webhook pada Bot Telegram

Pada langkah sebelumnya kita sudah punya alamat webhook, sekarang tinggal menyettingnya pada si om Bot.

Waktunya buka browser dan siapkan TOKEN Bot anda masing-masing.

Salin alamat berikut ini, silahkan TOKEN dan URL nya disesuaikan:
https://api.telegram.org/botTokenBoTAnda/setWebhook?url=https://dicoffeean.com/bot/

Jika sudah benar maka hasilnya akan seperti gambar di bawah ini.

Output setWebhook pada Bot Telegram API

Uji Coba Bot Webhook

Selanjutnya . . .

Selesai! Sangat simple jika dibandingkan metode yang satunya yakni polling. Cuma bedanya kita harus punya domain sekaligus server sendiri.

Kalo tidak punya server dan domain, apakah bisa menggunakan localhost? Bisa saja, insha Allah akan saya bahas pada artikel selanjutnya.

Hasil dari uji coba pada kode di atas dapat dilihat pada gambar berikut ini.

Testing Bot Telegram Webhook

Bisa kita lihat pada script PHP di atas, saya hanya membuat satu command yaitu: /start, silahkan dikreasikan masing-masing sesuai kebutuhan anda.

Selamat mencoba! Belum jelas? Silahkan tonton videonya berikut ini.


Baca juga:

Membaca Google Spreadsheet dengan Bot Telegram

Mau test Bot Telegram Laporan secara Live? Klik disini : Admin Dashboard Bot Telegram. Web tersebut juga menerima Jasa Pembuatan Bot Telegram bagi yang ingin membuat Bot Telegram tanpa ribet.

3 Komentar

  1. Saya telah mengikuti dengan detail
    langkah dan codenya,

    tapi bot tidak membalas, bisa minta bantuanya

    HTTPS ok
    setWebhook ok

    Terima kasih

Tinggalkan Komentar

Field bertanda * wajib diisi

69 + = 76