Хотите удалённо управлять сервером через телеграмм? С помощью простого bash-скрипта можно получать статусы, логи и даже перезагружать сервер прямо из чата.
🌟 Как это работает?
Бот принимает команды от владельца.
Сервер обрабатывает запросы и отправляет ответ.
Ответ возвращается в телеграмм.
Для этого потребуется:
TG-бот + API-токен
curl или wget для отправки запросов
Скрипт на Bash
1️⃣ Создаём TG-бота
Открываем @BotFather.
Отправляем команду: /newbot.
Даем боту имя и получаем токен API.
Токен будет вида:
123456789:ABCdefGHIjklMNO123456xyz
Сохраняем его.
2️⃣ Получаем свой Chat ID. Запросим ID нашего чата:
curl "https://api.telegram.org/bot<ТОКЕН>/getUpdates"
Ищем "chat":{"id":...} - это и есть наш Chat ID.
3️⃣ Отправка сообщений в телеграмм. Bash-скрипт для отправки сообщения:
#!/bin/bash
TOKEN="123456789:ABCdefGHIjklMNO123456xyz"
CHAT_ID="123456789"
MESSAGE="Привет, сервер на связи!"
curl -s -X POST "https://api.telegram.org/bot$TOKEN/sendMessage" \
-d "chat_id=$CHAT_ID" \
-d "text=$MESSAGE"
Запускаем и получаем сообщение в TG.
4️⃣ Обработка команд. Теперь научим бота принимать команды.
Скрипт для проверки команд от пользователя:
#!/bin/bash
TOKEN="123456789:ABCdefGHIjklMNO123456xyz"
CHAT_ID="123456789"
URL="https://api.telegram.org/bot$TOKEN"
# Получаем последнее сообщение
UPDATE=$(curl -s "$URL/getUpdates")
LAST_MESSAGE=$(echo "$UPDATE" | grep -o '"text":"[^"]*' | cut -d':' -f2 | tr -d '"')
if [[ "$LAST_MESSAGE" == "/status" ]]; then
RESPONSE="Сервер работает!"
elif [[ "$LAST_MESSAGE" == "/uptime" ]]; then
RESPONSE=$(uptime)
elif [[ "$LAST_MESSAGE" == "/disk" ]]; then
RESPONSE=$(df -h | grep '/$')
else
RESPONSE="Неизвестная команда"
fi
# Отправляем ответ в TG
curl -s -X POST "$URL/sendMessage" -d "chat_id=$CHAT_ID" -d "text=$RESPONSE"
Теперь отправляем
/status, /uptime или /disk и получаем ответ!5️⃣ Автоматизация. Добавим этот скрипт в cron для регулярного выполнения:
*/1 * * * * /path/to/telegram_bot.sh
Теперь бот сам проверяет новые сообщения и реагирует на команды.
🌟 Это базовая конфигурация с помощью которой можно значительно расширить управление сервером через телеграмм под свои конкретные потребности.
BashTex 📱 #bash #utils