Menjalankan PHP Script Telegram Bot pada Hook-io
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:
- Membuat Group pada Telegram
- Membuat akun Hook.io yang dapat dilakukan dengan mendaftar di halaman https://hook.io/login
- Telegram Bot & Token (silahkan baca pengalaman pertama membuat bot telegram untuk cara membuat bot)
Menjalankan PHP Script Telegram Bot pada Hook-io, mari kita coba mulai dengan sabar dan teliti ya.. 🙂
- Login pada hook.io dengan akun yang sudah terdaftar sebelumnya
- Pilih Menu : Service => Service > Env Vars
- Isi Key dengan token bot & Value dengan token yang kita dapatkan untuk bot
- Kemudian Save Account Environment Variable
- Klik menu My Service, lalu pilih tanda plus (+) untuk membuat hook baru
- Isikan nama hook (bisa username bot atau nama grup telegram)
- Klik menu Save and Continue
- Ubah bahasa program pada menu Source Code Language menjadi PHP
- Scroll down, lalu klik menu Save Microservice
- Scroll up, kembali pada menu Source Code, hapus semua kode yang ada disana
- Gantikan dengan kode dibawah ini kemudian tekan tombol Save Code
$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 :
- Pilih menu My Service
- Klik icon run ▶
- Jika script dapat berjalan, maka akan keluar hasil seperti : URL hook.io:
- Kemudian set webhook menggunakan telegram API dengan mengakses :
- Jika sudah benar, maka akan keluar hasil : {“ok”:true,”result”:true,”description”:”Webhook is already set”}
- Alhamdulillaah, Selesai 🙂
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:
- Siapkan Hosting yang sudah dilengkapi SSL (https)
- Upload script dibawah ini di public_html, beri nama selamatdatang.php, atau apa saja.
<?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.