Ini adalah artikel lanjutan dari tema "Laporan Aktifitas Mikrotik Ke Telegram",yang sebelumnya sudah kita bahas :
Laporan Aktifitas Mikrotik Ke Telegram - Bab 1 - Algoritma
Laporan Aktifitas Mikrotik Ke Telegram - Bab 1 - Semua Laporan dari Log
Berikut adalah contoh script untuk membuat laporan aktivitas pengguna hotspot Mikrotik dan mengirimkannya melalui bot Telegram:
Versi Mikrotik Script
# koneksi ke Telegram Bot API
:local botToken "your_bot_token_here"
:local chatId "your_chat_id_here"
# membuat laporan aktivitas
:local activity "Aktivitas terbaru di Mikrotik:\n\n"
# mengambil daftar koneksi yang terhubung
:foreach user in=[/ip/hotspot/active/print] do={
:set activity ("$activity User " . $user.user . " sedang terhubung dengan IP " . $user.address . " melalui interface " . $user.interface . "\n")
}
# mengirim laporan ke Telegram melalui bot
:local telegramUrl ("https://api.telegram.org/bot" . $botToken . "/sendMessage?chat_id=" . $chatId . "&text=" . $activity)
/tool fetch url=$telegramUrl keep-result=no
Pastikan untuk mengganti your_bot_token_here dan your_chat_id_here sesuai dengan konfigurasi Anda. Skrip ini akan membuat laporan aktivitas berdasarkan daftar koneksi yang terhubung ke hotspot Mikrotik dan mengirimkan laporan tersebut melalui bot Telegram. Skrip ini menggunakan perintah /tool fetch untuk mengirimkan laporan melalui URL Telegram API.
Versi PHP API
<?php//load API mikrotikrequire('routeros_api.class.php');//koneksi ke router$API = new RouterosAPI();$API->connect('192.168.1.1', 'username', 'password');//membuat laporan aktivitas$activity = "Aktivitas terbaru di Mikrotik:\n\n";//mengambil daftar koneksi yang terhubung$connected_users = $API->comm("/ip/hotspot/active/print");foreach ($connected_users as $user) {$activity .= "User " . $user['user'] . " sedang terhubung dengan IP " . $user['address'] . " melalui interface " . $user['interface'] . "\n";}//mengirim laporan ke Telegram melalui bot$bot_token = 'your_bot_token_here';$chat_id = 'your_chat_id_here';$message = $activity;$telegram_url = "https://api.telegram.org/bot" . $bot_token . "/sendMessage";$telegram_data = ['chat_id' => $chat_id,'text' => $message];$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $telegram_url);curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_POSTFIELDS, $telegram_data);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);$output = curl_exec($ch);curl_close($ch);echo "Laporan aktivitas Mikrotik berhasil dikirim ke Telegram";?>