Tutorial Bot Telegram : Pencarian Data Dari Database MySQL Menggunakan PHP

Tutorial Bot Telegram : Pencarian Data Dari Database MySQL Menggunakan PHP



 

Sebelumnya kita telah mempelajari bagaimana cara Menyimpan Data Ke Database MySQL Menggunakan PHP dengan menggunakan Bot Telegram Di Sini. Nah, pada pembahasan kali ini kita akan membuat sebuah chat respon pesan yang kita masukan ke Bot Telegram dengan jawaban yang telah tersedia dari Database.

Membuat Database

Tahap pertama yakni kita harus membuat database beserta isinya. Namun tenang, database dan token bot yang akan kita gunakan masih menggunakan dari tutorial sebelumnya, jadi kita tidak perlu repot-repot lagi membuatnya. untuk langkah ini mari kita abaikan.
 

Memulai Coding

Tahapan kedua yaitu membuat koneksi database dengan  php. sehingga database yang berada di dalam server mysql dapat terbaca oleh bot telegram. berikut merupakan source code koneksi :

index.php
 
<?php
$server = "localhost"; //ganti sesuai server Anda
$username = "root"; //ganti sesuai username Anda
$password = "alvapixel123"; //ganti sesuai password Anda
$db_name = "alvabot"; //ganti sesuatu nama database Anda
$conn=mysqli_connect($server,$username,$password,$db_name);
// Check connection
if (mysqli_connect_errno())
 {
 echo "Failed to connect to MySQL: " . mysqli_connect_error();
 }

Seperti yang diketauhi dalam source code diatas server database menggunanakan localhost dengan nama database, username dan password yang telah ditentukan. kemudian menggunakan perintah mysql connect untuk mengkoneksikan ke database yang ditentukan.

Pada source code diatas kemudian akan di include ke dalam file yang berisi source code untuk akses ke telegram bot. Berikut merupakan source code lengkapnya :

index.php
 
<?php
$server = "localhost"; //ganti sesuai server Anda
$username = "root"; //ganti sesuai username Anda
$password = "alvapixel123"; //ganti sesuai password Anda
$db_name = "alvabot"; //ganti sesuatu nama database Anda
$conn=mysqli_connect($server,$username,$password,$db_name);
// Check connection
if (mysqli_connect_errno())
 {
 echo "Failed to connect to MySQL: " . mysqli_connect_error();
 }

// Setting token bot API
// Token didapatkan dari melakukan pembuatan bot pada BotFather ditelegram
$botToken = "6309899979:AAFv6StxCik_UxQagWOgMBU_nx4UUEkXsbU";
// Base Url untuk mengakses API dari telegram bot
$website = "https://api.telegram.org/bot".$botToken;
// Mengambil informasi dari webhook, informasi yang didapat akan diparse dan dimasukkan kedalam variable $message
$content = file_get_contents("php://input");
$update = json_decode($content, TRUE);
$message = $update["message"];
// Beberapa variable yang dibutuhkan dalam proses auto responder
// Mengambil unique chat id dari tiap user
$chatId = $message["chat"]["id"];
// Mengambil text message yang dikirmkan oleh user
$key= $message["text"];
// Melakukan pengecekan data pada tabel sesuai dengan id yang tersimpan pada variable $text
$query = mysqli_query($conn,"select CONCAT(
'Pesan = ',message,'%0A',
'Tanggal = ',date,'%0A',
'User = ',user)
as databot from input_data where input_id='".$key."'");

if (mysqli_num_rows($query)>0){
 while ($cari = mysqli_fetch_row($query)){
// Hasil dari pencarian apabila ditemukan id yang dicari maka akan memasukkan hasil pencarian pada $balasan
 $balasan = $cari['0'];
 }
// Jika tid yang dicari tidak ada maka akan memunculkan pesan sebagai berikut
} else {
 $balasan = "Data tidak ada";
}
// Mengirim pesan menggunakan api telegram menggunakan API sendMessage
// ex : https://api.telegram.org/bot[token]/sendmessage?text=[message]]&chat_id=[chatid]]
file_get_contents($website."/sendmessage?chat_id=".$chatId."&text=".$balasan);
?>

Menjalankan Command Bot

Lalu langkah berikutnya, kita jalankan bot Telegram.

Menjalankan ngrok :
jalankan cmd, ketikkan perintah
ngrok http 3060

Menjalankan local hosting :
jalankan cmd, masuk ke dalam folder project kita, ketikkan perintah
php -S localhost:3060

Menjalankan bot :
buka browser, kemudian ketikan url dengan format https://api.telegram.org/botXXXX/setWebhook?url=YYYY
- Ganti XXXX dengan bot telegram kamu
- Ganti YYYY dengan url https yang diberikan oleh ngrok

Menjalankan Bot Telegram

Setelah itu kita coba kirimkan command ke bot kita. Jika semuanya benar maka bot kita dapat merespon command, misalkan input angka 1 atau 2 dst.

  

Dengan sedikit modifikasi pada database, anda bisa membuat pesan chat yang lebih real