telegram-cli-bot/TODO.md

4.4 KiB
Raw Permalink Blame History

TODO — Telegram CLI Bot

Реализовано в версии 0.8.0

Команда /restart_bot

  • Запрос пароля sudo у пользователя
  • Отключение ИИ на время ввода пароля
  • Выполнение sudo systemctl restart telegram-bot
  • Отправка уведомления с меню после перезапуска

Исправление SSH

  • Исправлено чтение вывода SSH команд (wait_and_read_ssh)
  • Параллельное чтение stdout/stderr с ожиданием завершения
  • Корректная передача stderr в результат

🧪 Тестирование

SSH серверы — CRUD операции

  • Create — Добавление нового сервера через меню

    • Ввод имени (латиница, без пробелов)
    • Ввод host (IP или домен)
    • Ввод port
    • Ввод user
    • Ввод password (опционально)
    • Ввод tags (опционально)
    • Проверка сохранения в .env
    • Проверка появления в меню серверов
  • Read — Просмотр списка серверов

    • Отображение всех серверов в меню
    • Корректное отображение display_name
    • Отображение кнопок управления (⚙️) для не-local серверов
  • Update — Редактирование сервера

    • Выбор сервера через кнопку ⚙️
    • Изменение host
    • Изменение port
    • Изменение user
    • Изменение tags
    • Изменение password
    • Проверка применения изменений
  • Delete — Удаление сервера

    • Выбор сервера через кнопку ⚙️
    • Подтверждение удаления
    • Проверка удаления из .env
    • Проверка исчезновения из меню
    • Проверка невозможности удаления local сервера

SSH подключение — выполнение команд

  • Подключение к серверу

    • Выбор сервера из меню
    • Проверка смены current_server в состоянии
    • Проверка сброса working_directory при смене сервера
  • Выполнение команд по SSH

    • Предустановленные команды (ls -la, pwd, df -h, etc.)
    • Команды из сообщения (текстовые)
    • Проверка выполнения в правильной директории
    • Проверка обработки sudo запросов пароля
    • Проверка обработки confirm запросов (y/n)
  • Обработка ошибок SSH

    • Недоступный сервер (timeout)
    • Неверный пароль
    • Отсутствующий SSH ключ
    • Ошибки выполнения команд
  • Длинный вывод

    • Разбивка на сообщения с кнопками "Продолжить/Отменить"
    • Корректное экранирование Markdown
    • Работа кнопок продолжения
    • Отмена вывода

💡 Идеи для будущих версий

v0.9.0

  • Синхронизация .env между несколькими экземплярами бота
  • Экспорт/импорт конфигурации серверов
  • Группировка серверов по тегам в меню
  • Веб-интерфейс для управления ботом
  • REST API для внешнего управления
  • Плагины для расширения функциональности

📝 Заметки

  • Версия 0.8.0 — стабильная, исправление SSH и команда /restart_bot
  • Критические баги исправляются в hotfix ветках
  • Новые функции — только в minor версиях