Всем привет! Сегодня я расскажу, как создал Telegram-бота, который помогает мне следить за сервером и выполнять команды прямо из чата. Начнем с задачи. Нужно сделать бота, который будет жить на сервере, мониторить состояние служб и выполнять команды через Telegram-интерфейс. Функционал бота: Начнем с того, что определим как бот будет принимать сообщения и как будут настраиваться команды, которые нужно выполнять на сервере. Формат сообщения, на первое время, выбрал следующий: {
"status": "alert",
"service": "network",
"message": "interface eth0 is down"
} Сообщения будут приходить в формате JSON, что позволяет легко передавать данные о состоянии сервера. Команды будут задаваться в конфигурационном файле, что делает бота гибким и легко настраиваемым. Пример конфига: {
"server_info":
{
"server_name":"hostname'",
"server_ip":"curl -s ifconfig.me",
"CPU":"cat /proc/loadavg | awk '{print $1}'",
"RAM":"