telegram-cli-bot/TODO.md

98 lines
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# TODO — Telegram CLI Bot
## ✅ Реализовано в версии 0.8.0
### Команда /restart_bot
- [x] Запрос пароля sudo у пользователя
- [x] Отключение ИИ на время ввода пароля
- [x] Выполнение `sudo systemctl restart telegram-bot`
- [x] Отправка уведомления с меню после перезапуска
### Исправление SSH
- [x] Исправлено чтение вывода SSH команд (wait_and_read_ssh)
- [x] Параллельное чтение stdout/stderr с ожиданием завершения
- [x] Корректная передача 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 подключение — выполнение команд
- [x] **Подключение к серверу**
- [x] Выбор сервера из меню
- [x] Проверка смены `current_server` в состоянии
- [x] Проверка сброса `working_directory` при смене сервера
- [x] **Выполнение команд по SSH**
- [x] Предустановленные команды (`ls -la`, `pwd`, `df -h`, etc.)
- [x] Команды из сообщения (текстовые)
- [x] Проверка выполнения в правильной директории
- [ ] Проверка обработки `sudo` запросов пароля
- [ ] Проверка обработки `confirm` запросов (y/n)
- [ ] **Обработка ошибок SSH**
- [ ] Недоступный сервер (timeout)
- [ ] Неверный пароль
- [ ] Отсутствующий SSH ключ
- [ ] Ошибки выполнения команд
- [ ] **Длинный вывод**
- [ ] Разбивка на сообщения с кнопками "Продолжить/Отменить"
- [ ] Корректное экранирование Markdown
- [ ] Работа кнопок продолжения
- [ ] Отмена вывода
---
## 💡 Идеи для будущих версий
### v0.9.0
- [ ] Синхронизация `.env` между несколькими экземплярами бота
- [ ] Экспорт/импорт конфигурации серверов
- [ ] Группировка серверов по тегам в меню
- [ ] Веб-интерфейс для управления ботом
- [ ] REST API для внешнего управления
- [ ] Плагины для расширения функциональности
---
## 📝 Заметки
- Версия 0.8.0 — стабильная, исправление SSH и команда /restart_bot
- Критические баги исправляются в hotfix ветках
- Новые функции — только в minor версиях