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 ? “

Baca juga: Membuat dan Mengatur User Hotspot Mikrotik dengan Bot Telegram Tanpa PHP

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.

Share to Unlock Contentimage/svg+xml

Silahkan share untuk membuka link download dan membuka scriptnya

Apabila tutorial ini bermanfaat support saya dengan cara share artikel ini.. Terimakasih 

: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

:local output
:foreach activeIndex in=[/ip hotspot user find name=$params] 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:

17 COMMENTS

Leave a Reply Cancel reply