Бот для Telegram, представляющий собой набор скриптов, написанных на Bash, для использования на устройствах с OpenWRT. В основе лежат скрипты из других похожих проектов, авторам которых выражаю благодарность:
- tg-bot1 (@ZigFisher)
- openwrt-telegram-bot (@ixiumu)
- telegramopenwrt (@alexwbaule)
1.0 (12.02.2023) - начальная версия
Функционал бота представлен набором скриптов для получения различной информации о работе устройства с OpenWRT на борту. Список скриптов (они же являются командами бота) следующий:
- /start - вывод списка доступных команд
- /uptime - время работы роутера
- /wan_uptime - время работы WAN-интерфейса
- /wan_ip - белый IP-адрес
- /free - использование оперативной памяти
- /loadavg - средняя загрузка (1 мин., 5 мин., 15 мин.)
- /last - текущие сессии пользователей, вошедших по SSH
- /dhcp_clients - список клиентов DHCP
- /wifi_clients - список клиентов сетей WiFi
- /summary - вывод информации команд выше в одном сообщении
Команд по управлению роутером (перезапустить службу, добавить правило в firewall, перезагрузить роутер и т.п.) не предусмотрено. Примеры таких команд можно найти в других похожих проектах.
curl
- для взаимодействия с Telegram API. Устанавливается с помощью Luci (System -> Software) либо командами:
opkg update
opkg install curl
Для создания собственного бота необходимо обратиться к другому боту, который называется BotFather. Этот бот позволяет создавать и управлять собственными ботами. Подробнее в FAQ. Когда бот будет создан, BotFather отправит специальный токен, который не следует кому-либо передавать, иначе посторонние получат доступ к управлению ботом. Помимо токена, необходимо узнать собственный chatID. Это можно сделать также с помощью других ботов.
Файлы бота необходимо расположить в соответствующих папках на устройстве.
/etc/config/tlgbot
- файл конфигурации.
В него необходимо перед копированием добавить полученные значения токена и chatID
/etc/init.d/tlgbot
- файл для управления запуском и остановкой бота с помощью procd/usr/bin/tlgbot/
- папка с набором скриптов, выполняемых ботом/usr/sbin/tlgbot
- основной скрипт бота
Запуск, остановка и добавление в автозагрузку бота можно произвести в Luci (System -> Startup). Для этого для Initscript tlgbot необходимо нажать соответствующие кнопки. Управление через терминал выполняется командами:
service tlgbot start
- запуск ботаservice tlgbot stop
- остановка ботаservice tlgbot enable
- добавление бота в автозагрузкуservice tlgbot disable
- отключение автозагрузки бота