Cek Kuota Voucher Hotspot dengan Bot Telegram

Kemarin ada pertanyaan dari Bang nata adi di kolom komentar dari blog ini, untuk menjawab pertanyaan tersebut saya buatkan saja postinganya, isi pertanyaanya seprti ini:
BANG KALAU MAU PRINT SALAH SATU USER SAJA DENGAN CARA PANGGIL USERNAME ATAU ADDRESSNYA GIMANA CARANYA YAA ?
DAN SAAT DI PRINT OUT JUGA BISA KELIATAN KUOTA YANG SUDAH DI PAKAI SMA USER TERSEBUT GIMNA CARANYA BANG ? “
Untuk menjawab pertanyaan tersebut caranya cukup mudah kita terlebih dahulu membuat sebuah Bot Telegram Mikrotik yang terdapat pada postingan berikut: Monitoring Mikrotik dengan Bot Telegram Interaktif tanpa Pemograman PHP sebelum membuat script ini pastikan Bot Tersebut telah berjalan dengan baik dengan menampilkan menu sederhana dari perintah /hi.
Dengan script ini kita bisa mengecek statistic (kuota terpakai, uptime, disable, enable, dan limit-bytes-total) dari Voucher hotspot atau User Hotspot di Mikrotik dengan cara mengirimkan pesan ke Bot Telegram.

Langkah-langkah

Buat sebuah Script dengan nama tg_cmd_cekvoucher

Setelah kita membuat sebuah Bot Telegram dari postingan sebelumnya dan berhasil menampilkan perintah /hi, langkah selanjutnya buat script dengan nama tg_cmd_cekvoucher, script ini bisa dipanggil oleh Bot Telegram dengan perintah /cekvoucher.
:local send [:parse [/system script get tg_sendMessage source]]
:local param1 [:pick $params 0 [:find $params " "]]
:local param2 [:pick $params ([:find $params " "]+1) [:len $params]]
:local param3 [:pick [:pick $params ([:find $params " "]+1) [:len $params]] ([:find [:pick $params ([:find $params " "]+1) [:len $params]] " "]+1) [:len [:pick $params ([:find $params " "]+1) [:len $params]]]]
:if ([:len [:find $param2 " "]]>0) do={
 :set param2 [:pick [:pick $params ([:find $params " "]+1) [:len $params]] 0 [:find [:pick $params ([:find $params " "]+1) [:len $params]] " "]]
} else={
 :set param3 ""
}

:put $params
:put $param1
:put $param2
:put $param3
:put $chatid
:put $from

:if ($param1="user") do={
:local output
:foreach activeIndex in=[/ip hotspot user find name=$param2] do={
:local byteout [/ip hotspot user get value-name="bytes-out" $activeIndex];
:local bytein [/ip hotspot user get value-name="bytes-in" $activeIndex];
:local limittotal [/ip hotspot user get value-name="limit-bytes-total" $activeIndex];
:local kuotaterpakai ("*Kuota Terpakai: * ".(($byteout+$bytein) / 1024 / 1024)." Mb %0A")
:local kuota ("*Kuota:* ".($limittotal / 1024 / 1024)." Mb%0A")
:local user ("*Username:* ".[/ip hotspot user get value-name="name" $activeIndex]."%0A")
:local password ("*Password:* ".[/ip hotspot user get value-name="password" $activeIndex]."%0A")
:local uptime ("*Uptime:* ".[/ip hotspot user get value-name="uptime" $activeIndex]."%0A")
:local disable ("*Disable:* ".[/ip hotspot user get value-name="disable" $activeIndex]."%0A")
:set output ($output.$user.$password.$uptime.$disable.$kuota.$kuotaterpakai."%0A")
}
$send chat=$chatid text=("$output") mode="Markdown"
}

Perintah pada bot:

/cekvoucher <spasi> nama voucher/user hotspot

Hasilnya

Hasilnya kita bisa mengetahui Kuota/Limit-bytes-total dan kuota yang telah terpakai, seperti pada gambar dibawah ini:

Komentar

Postingan populer dari blog ini

Setting MikroTik Userman (User Manager) Sebagai Radius Server

Simple – Template Voucher Hotspot MikroTik User Manager

Monitoring Client PPTP/PPPoE/l2tp/sstp/ovpn Ketika Login dan Logout