Buat Bot Telegram PHP Metode Webhook dengan Koneksi Database

211 Tampilan
1
telegram bot webhook

Setelah membaca artikel sebelumnya yang membahas Tutorial Membuat Bot Telegram dengan Botfather. Sekarang akan dilanjutkan pada artikel yang membahas pemrograman PHP dengan koneksi ke database untuk membuat telegram bot metode webhook. Beberapa tahapan yang harus dapat dilakukan untuk membuat koneksi bot telegram webhook ini,  diantaranya : 

  • Membuat database sebagai respon dari pesan yang kita masukkan nantinya. Database tersebut akan dilakukan koneksi ke telegram menggunakan akses token yang telah kita dapat sebelumnya, untuk struktur databasenya anda bisa karya sendiri sesuai kebutuhan. Disini saya kasih gambaran hasil database yang telah dibuat.
telegram bot webhook
contoh tampilan database
  • Membuat source code PHP, untuk mengkoneksikan database dengan bot telegram yang kita buat. Disini saya contohkan koneksi.php berikut source codenya.
koneksi.php
<?php
$servername = "localhost"; //ganti sesuai server anda
$username = "antsite_ammar"; //ganti sesuai username anda
$password = "01Juni1995"; //ganti sesuai password anda
$databaseName = "antsite_bot_telegram"; // ganti sesuai nama database anda
$conn = mysqli_connect($server, $username, $password, $db_name);
//check conncetion 
if (msyqli_connect_errno()){
echo "Failed to conncet to database : " . mysqli_connect_error();
}
echo "Koneksi anda sukses";
?>
  • Membuat source code yang akses ke telegram bot dengan menggunakan akses token yang sudah kita dapatkan, serta akan melakukan akses ke database sebagai media respon data chat yang di inputkan. Disini saya kasin nama webhook_callback.php
webhook_callback.php
<?php

require_once 'koneksi.php';
// Setting token bot API
// Token didapatkan dari melakukan pembuatan bot pada BotFather ditelegram
$botToken = "783181254:AAG0PZUC34DpkePsINNKgdnL99qYFe382BE";
// 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"];
$jawab;
$getcontents;
if (isset($message["text"])) {
    $query = mysqli_query($conn, "SELECT answer FROM belajar where ask = '".$message['text']."'");
    if (mysqli_num_rows($query)>0) {
        while ($has = mysqli_fetch_row($query)) {
            $jawab = $has['0'];
        if (strpos($jawab, '%nama%')) {           
 $jawab = str_replace('%nama%', $message['form']['username'], $jawab);
}
}
}else{
        $jawab = "Maaf, kata kunci yang anda masukkan tidak cocok 🙁 /help untuk mengetahui keyword yang bisa dipakai";
    }
}
    $getcontents = $website."/sendmessage?chat_id=".$chatId."&amp;text=".urlencode($jawab);
    file_get_contents($getcontents);
}
?>

Sebelum kita menjalankan bot telegram yang sudah kita buat ini, masih ada tahapan selanjutnya yaitu proses mengaktifkan metode webhooknya karena disini saya terapkan dengan metode webhook. Caranya adalah dengan mengisikan url api dan token yang kita punya seperti contoh
https://api.telegram.org/bot736439636:AAEFWKcFy9SzoZ2-S2zR1W9Q1Lw9drRSNvk/setWebhook?url=ant-site.com/Telegram_bot/webhook_callback.php . Tulisan yang di bold adalah token yang harus di isi dengan token anda yang sudah di dapat sebelumnya, dan untuk yang bold dan italic itu adalah method api untuk mengaktifkan metode webhooknya. Setelah method terisi url tempat file php yang akan di aktifkan. Jika ingin mempelajari lebih luas lagi, bisa akses link berikut : https://core.telegram.org/bots/api .

Demikian artikel yang kami buat semoga bermanfaat…. 🙂

One Comment

Leave a Reply

Your email address will not be published. Required fields are marked *