Menjalankan PHP Script Telegram Bot pada Hook-io. Satu lagi pengalaman berharga yang didapatkan setelah menggunakan aplikasi telegram. Untuk demo bot, sebaiknya melihat dulu di Indonesian Blogger Telegram Group, agar bisa melihat dulu hasil dari script php yang dipasang serta dijalankan melalui fitur gratis Hook.io.
Artikel ini disampaikan bukan karena disebabkan DIRMANTO.web.id adalah sebagai seorang programer (karena memang bukan), namun sekedar pengingat bagi pemiliki blog, yang mudah-mudahan dapat berguna juga bagi orang lain (pembaca blog).
#telegramBOT
Sesuai dengan scriptnya, fungsi bot telegram ini cukup sederhana namun sangat bermanfaat, yakni memberikan sambutan selamat datang (welcome), bagi para user telegram yang tergabung (join) ke grup kita di telegram. Sebelum kita mulai kepada cara menyimpan dan menjalankan script, berikut adalah yang perlu dipersiapkan:
Menjalankan PHP Script Telegram Bot pada Hook-io, mari kita coba mulai dengan sabar dan teliti ya.. 🙂
$tokenbot = $Hook['env']['tokenbot']; $endpoint = "https://api.telegram.org/bot$tokenbot/"; $messages = $Hook["params"]; if (isset($messages['message'])) { $messages = $messages['message']; } else { echo 'URL hook.io: https://'.$Hook['input']['host'].$Hook['input']['path']; } // ngucapin selamat datang member baru if (isset($messages['new_chat_member'])) { $pesan = "Hai ".$messages['new_chat_member']['first_name']."!\n"; $pesan.= "Selamat datang di Grup ".$messages['chat']['title']; kirimPesan($messages['chat']['id'], $pesan); } // ngucapin selamat tinggal buat user yang pergi // HANYA jika telegram mengirimkan signal left member if (isset($messages['left_chat_member'])) { $pesan = "Sampai jumpa lagi ".$messages['left_chat_member']['first_name'] ; kirimPesan($messages['chat']['id'], $pesan); } // fungsi Kirim Pesan function kirimPesan($chat_id, $text) { global $endpoint; $data = array( 'chat_id' => $chat_id, 'text' => $text ); // Buat parameter pengiriman $options = array( 'http' => array( 'header' => "Content-type: application/x-www-form-urlencoded\r\n", 'method' => 'POST', 'content' => http_build_query($data), ), ); $context = stream_context_create($options); $result = file_get_contents($endpoint.'sendMessage', false, $context); return $result; }
Selanjutnya, kita coba script yang tersimpan sudah dapat dipastikan berjalan dengan baik atau belum dengan cara :
Menjalankan PHP Script Telegram Bot pada Hook-io. Adapun keuntungan kita menggunakan hook.io adalah kita tidak perlu menyediakan hosting maupun vps berbayar untuk sekedar mencoba memiliki bot telegram yang berfungsi menyambut user join grup. Namun kedepan, jika kita mulai serius, maka tidak ada salahnya kita memiliki akun vps sendiri.
Jika anda ingin menjalankan script php sederhana untuk bot telegram selamat datang di grup, dengan menggunakan hosting sendiri, berikut adalah caranya:
<?php /** * Script Sederhana Telegram BOT * Menggunakan Bahasa Program PHP * @narablog */ // Pengaturan Waktu Indonesia date_default_timezone_set("ASIA/Jakarta"); // Token & API Telegram $akses_token = '1234567890:ABCDEFGHIJKLMNOPQRSTUvwXYZ'; $api = 'https://api.telegram.org/bot' . $akses_token; /** * Silahkan edit mulai dari sini * Sesuaikan dengan kebutuhan */ // Jika user bergabung $output = json_decode(file_get_contents('php://input'), TRUE); $chat_id = $output['message']['chat']['id']; $message = $output['message']['text']; // Jika user datang if ($output['message']['new_chat_member']){ $obj = $output['message']['new_chat_member']; $MemberBaru ="Halo.. ". $obj['first_name'] ." - @".$obj['username'] . " Selamat Bergabung di Grup!";; sendMessage($chat_id, $MemberBaru); } // Jika user pergi // Tidak berlaku ketika user pada grup sudah lebih dari 50 if ($output['message']['left_chat_member']){ $MemberPergi = "User @". $output['message']['left_chat_member']['username'] . " Meninggalkan Grup."; sendMessage($chat_id, $MemberPergi); } // Respon Start switch($message) { case '/start': sendMessage($chat_id, "Halo.. saya adalah BOT"); break; } // Cek Status BOT $output = json_decode(file_get_contents('php://input'), TRUE); $chat_id = $output['message']['chat']['id']; $message = $output['message']['text']; switch($message) { case '/status': sendMessage($chat_id, "BOT Sedang ONLINE."); break; } function sendMessage($chat_id, $message) { file_get_contents($GLOBALS['api'] . '/sendMessage?chat_id=' . $chat_id . '&text=' . urlencode($message) . '&parse_mode=html'); } ?>
Setelah script diatas diupload ke hosting, lakukan setting webhook dengan mengakses: https://api.telegram.org/bot1234567890:ABCDEFGHIJKLMNOPQRSTUvwXYZ/setWebhook?url=https://domain-anda.tld/selamatdatang.php
Selamat mencoba, semoga script dapat langsung bekerja dengan baik tanpa kendala. Jika ada pertanyaan, silahkan bergabung dengan Grup Telegram kami dengan nama user grup @personalblogID atau dapat diakses dengan alamat https://telegram.me/personalblogID
UPDATE: Menurut beberapa pengguna, menjalankan bot telegram di hook.io, saat ini sudah tidak bisa. Terima kasih kepada: Hasanudin H Syafaat untuk tutorial dan welcome script menggunakan hook.io.