Belajar membuat bot telegram dengan PHP

Cara membuat Bot Telegram dengan PHP RyanID

RYANID.MY.ID - Untuk membuat bot telegram dengan bahasa pemrograman PHP pastikan kamu sudah menguasai cara membuat fungsi dan cara membangun aplikasi dengan bahasa pemrograman PHP. Kebutuhan lain yang wajib kamu siapkan adalah hosting dan domain, kemarin saya sempat mengenal heroku yaitu hosting berbasis cloud computing. Tapi dalam artikel kali mimin hanya akan mencontohkan menggunakan hosting cpanel biasa saja.

Mimin tidak akan mengajarkan kamu membuat robot yang lengkap, untuk membuat bot lengkap silakan program sendiri aplikasinya. Atau kamu bisa menggunakan jasa mimin, yaitu jasa pembuatan bot telegram murah.

Pastikan kamu mempunyai webhosting. Sebagai bahan percobaan untuk kamu nih, yang pengen bikin robot mimin merekomendasikan layanan hosting ini. Ada harga murah yaitu paket mini hanya Rp 12.650 saja per bulan, kamu sudah mendapatkan bonus 300MB Penyimpanan, Unlimited Bandwidth, tanpa batasan akses trafik bulanan + Bonus 2 Penambahan domain, dan juga hosting sudah menggunakan SSD pastinya akan lebih cepat lagi dalam menangani kasus trafik.

Untuk domain yang murah meriah dan nggak ketinggalan jaman pake aja domain .MY.ID, ini adalah ekstensi domain pribadi indonesia yang dikelolah oleh pandi. Harga domain hanya Rp 13.000 per tahun, jadi total biaya yang kamu siapkan buat sewa hosting dan domain adalah 12.650 x 12 + 13.000 = Rp 184.800.

Denga paket hosting mini ini bot sudah bisa diandalkan untuk menghandel 2000 chat dalam sehari. Tapi kalau kamu sudah punya domain dan hosting sendiri tidak ada salahnya mencoba menggunakan apa yang sudah ada. Pada dasarnya bot telegram membutuhkan server dengan proses yang rendah, kecuali bila ada ribuan permintaan pesan pasti kamu membutuhkan VPS server yang bisa menghandle ribuan trafik dalam sehari.

Oke deh kita lanjut aja bikin bot nya.

Dalam praktek kali ini kita akan membuat bot auto repply pesan atau balas pesan otomatis. Sebelum kita masuk ke langkah pembuatan ada baiknya pahami terlebih dahulu bagaimana cara kerja robot kita.


Alur Sistem kerja Bot telegram yang akan dibuat
Bot di program menggunakan kata-kata tertentu untuk mendeteksi kemiripan kata dan memberikan balasan berupa pesan yang sudah disesuaikan/dipersonalisasi agar lebih relavan. Bot auto reply ini akan membalas otomatis pesan apabila ada pengguna yang mengirim pesan ke robot.

Sebagai contohnya bila pengguna mengetik "apa itu Nofap" maka robot akan membalas dengan pesan penjelasan mengenai nofap. Sekarang paham ya alur kerja robotnya?


Persiapkan Bahan Tempur

  • akses token Robot (buat dengan botfather)
  • Hosting dan domain yang udah siap pakai.
  • Notepad atau Teks editor lain buat nulis kode.
  • Web FTP Client atau bisa menggunakan X-Plore kalau Di HP.
  • Secangkir kopi panas buat menemani kita bekerja.
  • Dan cemilan Gorengan, tidak ada rokok mimin gak merekomendasikan rokok.

Nah buat kamu yang mau bikin bot telegram langkah pertama sebelum membuat program pastikan kamu membuat alur sistem kerjanya terlebih dahulu. Kalau di perfilm-an namanya skripsi, alur sistem kerja akan membantu kita dalam ber-imajinasi apa yang akan kita lakukan kedepanya. Siapkan selembar kertas dan tulis sistem alur kerja robot yang akan kamu buat.

Kedua yang wajib dipersiapkan adalah akun robot, mimin sudah berkali-kali memposting artikel pembahasan cara membuat akun robot telegram dengan @BotFather, akun bot ini bisa digunakan untuk ber-interaksi dengan telegram melalui protokol HTTP Rest API.


Cara membuat akun Robot.

  • Chat dengan @BotFather, klik start kalau kamu belum pernah chat.
  • Ketik command /newbot untuk membuat bot baru.
  • Masukan Nama Bot dan klik kirim
  • Masukan username yang ingin digunakan, mendukung A-Z dan karakter underscore ( _ ).
  • Username wajib diakhiri dengan kata bot.
  • Setelah itu salin kode akses token yang diberikan oleh BotFather.

Sekarang kamu sudah punya akun Robot, coba cek chat botnya dengan mengklik username dalam daftar chat BitFathet, pesan kamu sudah terkirim tapi tidak ada balasan sama sekali. Iya karena bot nya nggak ada yang memproses, agar bot nya bisa berjalan kita harus mengatur webhook.

Apa itu webhook? Webhook adalah suatu domain yang ditambahkan ke dalam daftar server dimana bila terjadi suatu event seperti chat masuk, kiriman masuk, dna lain-lain server telegram akan memanggil webhook dan meneruskan pesan permintaan ke server kamu.

Sebelumnya kita buat dulu deh script bot nya. Kamu lihat kode dibawah ini, pahami setiap komentar yang mimin tuliskan kalau nggak kamu baca nanti bakalan susah deh.

Buatlah file dengan nama botku.php

<?php


/* Masukan Kode Token Kamu ke dalam Variabel ini */
$TOKEN = "Paste Kode Akses Token kamu";
$apiURL = "https://api.telegram.org/bot".$TOKEN;




/* 
  * Mengambil data dari telegram POST
  * Kita bisa menggunakan "php://input"
  * Hasilnya adalah string dalam bentuk JSON
*/
$update = json_decode(file_get_contents("php://input"), TRUE);






/* Cek apakah Update punya String atau tidak */
/* Ini bisa mencegah Skrip Eror */
if (!empty($update)){




// Baris ini sudah kita lindungi dengan sebuah kondisi
// Dan hanya akan di eksekusk apabila variabel $update
// Mempunyai nilai string, yang artinya apabila
// Kita memanggil file botku.php dia nggak akan menghasilkan error.


// Mendeteksi pesan masuk dengan command /start
 if (strpos($update["message"]["text"], "/start") === 0){

// Kirim pesan ucapan selamat datang
// Telegram mendukung beberapa kode HTML
// dengan syarat menyertakan &parse_mode=HTML
RyanIDSend('<b>😍 Halo selamat datang '.$update["message"]["from"]["first_name"].'</b>

Aku adalah Bots otomatis yang dibuat oleh kak RyanID dan aku bisa membalas dan menjawab semua pesan yang kamu kirimkan. Ayoo mau tanya apa sama ku?');


// Menghentikan proses PHP
exit;

}



// Menjawab pertanyaan dengan kata Nofap
 if (strpos($update["message"]["text"], "Nofap") === 0){

// Kirim Jawaban ke server telegram
RyanIDSend('Nofap itu adalah komunitas dukungan bagi orang-orang yang mau berhenti dari kegiatan upsss nggak bisa sebutin hehehe. Tapi ya intinya nofap buat kesehatan kak');

// Hentikan Proses PHP
exit;
}




// Statemen dibawah ini akan berjalan bila
// Kedua kondisional di atas gagal terpenuhi
// atau disebu juga pesan yang dikirim tidak cocok
// dengan Algoritma teks command yang kita buat


RyanIDSend('<b>⚠ Ooops</b>

Maaf kak pertanyaan kakak terlalu sulit buat aku jawab, maaf banget yaa😦');

}


/* Membuat funsi untuk mengirim pesan ke server telegram */
function RyanIDSend($msg){
Global $apiURL; // Variabel global
Global $update; // Variabel global

$hasl = @file_get_contents($apiURL."/sendmessage?chat_id=".$update["message"]["chat"]["id"]."&text=".urlencode($msg)."&parse_mode=HTML"); 

// Cek hasil dari telegram
$ps = json_decode($hasl, TRUE);
if ($ps["ok"] == true){ return true; } else {
return false; }
}

?>


? COPYRIGHT DISCLAIMER : KODE DI ATAS ADALAH HASIL TULIS TANGAN SAYA, ANDA DIIZINKAN MENGGUNAKAN SECARA PRIBADI TAPI TIDAK DIPERKENANKAN MEMBAGIKANYA ULANG DI BLOG ANDA!!! BILA ANDA MEMPOSTING ULANG KODE SAYA, MAKA SAYA TAKE DOWN SAMPAI POSTINGAN ARTIKEL SAYA DIHAPUS DARI BLOG ANDA. MAU UANG? YA KERJA KERAS BUKAN MENGKOPAS PUNYA ORANG.


Proses Lanjutan adalah mengunggah file ke hosting

Silakan unggah file nya ke folder public_html dalam root server kamu, pastikan file tersebut bisa di akses lewat https://domainkamu.my.id/botku.php, cek dulu ada nggak error dalam PHP nya kalau ada error sebaiknya diperbaiki terlebih dahulu.

Tahap kelima ini adalah yang paling kita tunggu-tunggu, yaitu mengatur webhooknya. Silakan kamu cek URL dibwah ini ya. https://api.telegram.org/bot<Kode Token Kamu>/setWebhook?url=https://domainkamu.my.id/botku.php

Ganti kode berwana kuning dengan akses token bot yang sudah kamu siapkan sebelumnya. Ganti juga URL domain dengan nama domain dan file botku.php yang sudah kamu siapkan pada hosting. Paste ke browser, dan kunjungi cek jika berhasil kamu akan menukan tulisan webhook has been set dan ada juga tulisan True.

Sampai disini kamu sudah berhasil membuat bot telegram auto balas chat otomatis ( bot auto reply ). Coba deh chat robotnya dengan menggunakan command /start kamu akan menerima balasan berupa pesan selamat datang. Kemudian coba chat dengan teks Nofap kamu akan dibalas oleh bot dengan penjelasan yang sudah kamu masukan.

Oke terimakasi sudah membaca artikel tentang cara membuat bot telegram dengan menggunakan bahasa PHP, semoga artikel ini bisa membantu buat teman-teman semua yang punya tugas atau project sekolah yang butuh bot telegram. Kalau mau bikin bot yang lebih pinter lagi? Tambahin kondisi dan algoritmanya, lebih mudah lagi kalau kamu membuat sebuah basis data yang menampung pertanyaan dan jawaban agar lebih mudah dalam proses menambah data tidak perlu edit kode lagi.

Jurnalis
Jurnalis Hai cuy, kalo mau komen klik ikon logo komentar dibawah ya. Samping logo twitter tuch 😚