Laporan Aktifitas Mikrotik Ke Telegram - Bab 2 - Data User Hotspot

Orang Jaringan
0


Artikel ini terkait dengan artikel Laporan Aktifitas Mikrotik Ke Telegram - Bab 2 - Aktifitas User Hotspot yang sebelumnya juga di bahas mengenai algoritmanya.

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:


<?php
require_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 pesan
    foreach ($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 layar
    echo "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.

Posting Komentar

0Komentar
Posting Komentar (0)

#buttons=(Accept !) #days=(20)

Our website uses cookies to enhance your experience. Learn More
Accept !
To Top