Artikel ini akan saya update sesuai dengan perkembangan dan ini adalah bagian pertama dan paling dasar,sekenarionya adalah kita akan gunakan bot telegram untuk mengirim data ke id telegram pribadi atau grup.
Artikel sebelumnya :
Laporan Aktifitas Mikrotik Ke Telegram - Bab 1 - AlgoritmaBerikut adalah contoh script mikrotik untuk membuat laporan aktivitas Mikrotik dan mengirimkannya melalui Telegram menggunakan bot:
Mikrotik Script
# Konfigurasi
:local botToken "TOKEN_BOT_ANDA"
:local chatId "ID_CHAT_ANDA"
:local logFile "aktivitas-mikrotik.log"
:local fromDate ([/system clock get date] - 7d)
:local toDate [/system clock get date]
# Buat file log dengan rentang tanggal tertentu
/tool fetch url=("file://$logFile") mode=http dst-path=$logFile \
http-method=post \
http-header-field="Content-Type: application/x-www-form-urlencoded" \
http-data=("name=admin&password=PASSWORD_ANDA&from=$fromDate&to=$toDate")
# Baca isi file log dan kirimkan ke Telegram
:local logContents [/file get $logFile contents]
/tool fetch url=("https://api.telegram.org/bot$botToken/sendMessage") \
mode=https \
http-method=post \
http-data=("chat_id=$chatId&text=$logContents")
Penjelasan singkat mengenai script tersebut:
- Pertama-tama, kita mengatur konfigurasi dengan menyediakan token bot, ID chat, nama file log, rentang tanggal yang ingin dicatat, dan kata sandi untuk mengakses Mikrotik (password harus disesuaikan dengan konfigurasi Anda).
- Kemudian, kita menggunakan perintah /tool fetch untuk membuat file log dengan rentang tanggal tertentu. Perintah ini akan mengambil data dari server Mikrotik dan menyimpannya ke dalam file lokal.
- Setelah itu, kita membaca isi file log menggunakan perintah /file get, dan mengirimkannya ke Telegram menggunakan perintah /tool fetch yang kedua. Perintah ini akan mengirimkan pesan teks yang berisi isi file log ke bot Telegram yang telah ditentukan.
Anda dapat menyesuaikan script ini dengan kebutuhan Anda, seperti mengubah format teks yang dikirimkan, menambahkan filter untuk hanya mencatat aktivitas tertentu, dan sebagainya. Pastikan juga untuk mengganti nilai TOKEN_BOT_ANDA, ID_CHAT_ANDA, dan PASSWORD_ANDA dengan nilai yang sesuai dengan konfigurasi Anda.
PHP Api
<?php// Konfigurasi$botToken = "TOKEN_BOT_ANDA";$chatId = "ID_CHAT_ANDA";$logFile = "aktivitas-mikrotik.log";$fromDate = date("m/d/Y", strtotime("-7 days"));$toDate = date("m/d/Y");// Buat file log dengan rentang tanggal tertentu$ch = curl_init();curl_setopt($ch, CURLOPT_URL, "http://USERNAME:PASSWORD_ANDA@IP_ADDRESS/routeros/call");curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_POSTFIELDS, "=tool/log print file=$logFile from=$fromDate to=$toDate");curl_exec($ch);curl_close($ch);// Baca isi file log dan kirimkan ke Telegram$logContents = file_get_contents($logFile);$ch = curl_init();curl_setopt($ch, CURLOPT_URL, "https://api.telegram.org/bot$botToken/sendMessage");curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_POSTFIELDS, "chat_id=$chatId&text=$logContents");curl_exec($ch);curl_close($ch);?>
- Pertama-tama, kita mengatur konfigurasi dengan menyediakan token bot, ID chat, nama file log, rentang tanggal yang ingin dicatat, dan nama pengguna dan kata sandi untuk mengakses Mikrotik. Anda perlu mengganti nilai TOKEN_BOT_ANDA, ID_CHAT_ANDA, USERNAME, PASSWORD_ANDA, dan IP_ADDRESS dengan nilai yang sesuai dengan konfigurasi Anda.
- Selanjutnya, kita menggunakan cURL untuk membuat file log dengan rentang tanggal tertentu. Perintah ini akan mengambil data dari server Mikrotik dan menyimpannya ke dalam file lokal.
- Setelah itu, kita membaca isi file log menggunakan fungsi file_get_contents, dan mengirimkannya ke Telegram menggunakan cURL. Perintah ini akan mengirimkan pesan teks yang berisi isi file log ke bot Telegram yang telah ditentukan.