Skip to content

REYIL/ServerManagementTelegramBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Linux Server Management Telegram Bot

Python Aiogram License

Этот бот позволяет управлять Linux-сервером через Telegram, используя библиотеку aiogram. Он предоставляет администраторам удобный интерфейс для выполнения команд, мониторинга системы и работы с файлами.

📌 Основные возможности

  • Мониторинг системы: проверка состояния сервера, дискового пространства, использования памяти
  • Выполнение команд: запуск любых shell-команд через бота
  • Управление файлами: загрузка и скачивание файлов с сервера
  • Перезагрузка: возможность перезагрузить сервер
  • Кастомизируемые команды: добавление собственных команд через JSON-конфиг

🛠 Установка

  1. Клонируйте репозиторий:
git clone https://github.com/Azamat2023i/ServerManagementTelegramBot.git
cd ServerManagementTelegramBot
  1. Создайте и активируйте виртуальное окружение (Linux):
python -m venv .venv
source .venv/bin/activate
  1. Установите зависимости:
pip install -r requirements.txt
  1. Создайте файл .env и заполните его:
TELEGRAM_BOT_TOKEN=your_bot_token_here
ADMIN_IDS=123456789,987654321  # ID администраторов через запятую

🔧 Конфигурация команд

Файл commands.json позволяет добавлять собственные команды. Пример структуры:

{
    "disk": {
        "title": "<b>💾 Информация о дисках:</b>",
        "description": "Информация о дисках",
        "Дисковое пространство": "df -h",
        "Крупные директории": "du -sh /* 2>/dev/null | sort -hr | head -n 10"
    }
}

📋 Доступные команды

Основные команды

  • /start или /data - информация о боте
  • /status - статус сервера (uptime, нагрузка, пользователи)
  • /execute <команда> - выполнить произвольную команду
  • /reboot - перезагрузить сервер (с подтверждением)

Работа с файлами

  • /upload - загрузить файл на сервер
  • /download <путь> - скачать файл с сервера

Команды из конфига

Команды, определенные в commands.json, будут доступны как /имя_команды

🔒 Безопасность

  • Доступ к боту имеют только пользователи, указанные в ADMIN_IDS
  • Все команды выполняются с правами пользователя, под которым запущен бот
  • Рекомендуется запускать бота под отдельным пользователем с ограниченными правами

📄 Логирование

Бот ведет логи в файл bot.log с информацией о всех действиях.

📌 Особенности

  • Автоматическое разделение длинных сообщений
  • Подтверждение опасных действий (например, перезагрузки)
  • Уведомления администраторов при запуске/остановке бота
  • Поддержка загрузки файлов до 20MB

📸 Скриншоты работы бота

Mеню

Стартовое меню
Команды /start и /data


Запуск бота

Статус сервера


Отключение бота

Выполнение команд


Примеры выполнения команд

Загрузка файлов


📄 Лицензия

Этот проект распространяется под лицензией MIT. См. файл LICENSE для получения дополнительной информации.


⚠️ Предупреждение

Используйте этот бот с осторожностью, так как он предоставляет полный доступ к вашему серверу для указанных администраторов.

About

Бот для управления Linux сервером через Telegram с использованием aiogram 3.x. Позволяет выполнять команды, мониторить состояние сервера и работать с файлами.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages