Berikut adalah contoh script Mikrotik untuk melihat data user hotspot Mikrotik dan mengirimkannya melalui bot Telegram:
Versi Mikrotik Script :
:local telegramBotToken "your_bot_token_here";:local telegramChatId "your_chat_id_here";:local message "Daftar user hotspot:\n\n";/ip hotspot user print detail where !disabled do={:local user $[/ip hotspot user get $id name];:local password $[/ip hotspot user get $id password];:local uptime $[/ip hotspot user get $id uptime];:local bytes-in $[/ip hotspot user get $id bytes-in];:local bytes-out $[/ip hotspot user get $id bytes-out];:set message ($message . "User " . $user . "\n");:set message ($message . "Password " . $password . "\n");:set message ($message . "Uptime " . $uptime . "\n");:set message ($message . "Bytes-in " . $bytes-in . "\n");:set message ($message . "Bytes-out " . $bytes-out . "\n\n");}/tool fetch url=("https://api.telegram.org/bot" . $telegramBotToken . "/sendMessage?chat_id=" . $telegramChatId . "&text=" . $message);
Pastikan untuk mengganti your_bot_token_here dan your_chat_id_here dengan token bot Telegram dan chat ID yang digunakan. Skrip ini akan mengambil daftar user hotspot Mikrotik dan mengirimkannya ke Telegram melalui bot menggunakan perintah tool fetch. Pesan yang dikirimkan berisi informasi nama user, password, uptime, bytes-in, dan bytes-out. Anda dapat menyesuaikan informasi yang ingin ditampilkan dengan mengedit skrip sesuai kebutuhan.
Versi PHP API
Berikut adalah contoh kode PHP API untuk melihat data user hotspot Mikrotik dan mengirimkannya melalui bot Telegram:
<?phprequire_once('routeros_api.class.php');// Konfigurasi koneksi ke Mikrotik$host = 'your_mikrotik_ip_address';$username = 'your_mikrotik_username';$password = 'your_mikrotik_password';// Konfigurasi bot Telegram$telegramBotToken = 'your_bot_token_here';$telegramChatId = 'your_chat_id_here';// Membuat objek RouterosAPI dan koneksi ke Mikrotik$API = new RouterosAPI();if ($API->connect($host, $username, $password)) {// Membuat pesan untuk dikirim ke Telegram$message = "Daftar user hotspot:\n\n";// Mendapatkan daftar user hotspot yang aktif$hotspotUsers = $API->comm('/ip/hotspot/user/print', array("?disabled" => "false"));// Mengiterasi setiap user dan menambahkan informasi ke pesanforeach ($hotspotUsers as $user) {$message .= "User " . $user['name'] . "\n";$message .= "Password " . $user['password'] . "\n";$message .= "Uptime " . $user['uptime'] . "\n";$message .= "Bytes-in " . $user['bytes-in'] . "\n";$message .= "Bytes-out " . $user['bytes-out'] . "\n\n";}// Kirim pesan ke Telegram menggunakan cURL$telegramUrl = "https://api.telegram.org/bot" . $telegramBotToken . "/sendMessage";$telegramData = array("chat_id" => $telegramChatId,"text" => $message);$curl = curl_init();curl_setopt($curl, CURLOPT_URL, $telegramUrl);curl_setopt($curl, CURLOPT_POST, 1);curl_setopt($curl, CURLOPT_POSTFIELDS, $telegramData);curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);$result = curl_exec($curl);curl_close($curl);// Menampilkan pesan berhasil terkirim ke layarecho "Pesan terkirim ke Telegram";}else {echo "Tidak dapat terhubung ke Mikrotik";}?>
Pastikan untuk mengganti your_mikrotik_ip_address, your_mikrotik_username, your_mikrotik_password, your_bot_token_here, dan your_chat_id_here dengan konfigurasi yang digunakan. Skrip ini akan mengambil daftar user hotspot Mikrotik yang aktif dan mengirimkannya ke Telegram melalui bot menggunakan fungsi curl_exec(). Pesan yang dikirimkan berisi informasi nama user, password, uptime, bytes-in, dan bytes-out. Anda dapat menyesuaikan informasi yang ingin ditampilkan dengan mengedit skrip sesuai kebutuhan.