Техническое задание на разработку Telegram бота
Общее описание
Необходимо разработать многофункционального Telegram бота, который будет выполнять роль организатора задач, напоминаний и информационного сервера для рабочих групп. Бот должен повысить дисциплину сотрудников и автоматизировать рутинные процессы обмена данными.
Основной функционал
1. Автоматическая рассылка и планировщик
Бот должен отправлять запланированные сообщения в группы с учетом гибких атрибутов времени:
- Общие выражения: "Каждый первый понедельник квартала"
- Производственный календарь РФ: Первый или последний *рабочий* день недели.
- Период: Аналогичные сценарии для месяца, квартала.
2. Система исполнения задач
Администратор может создать одноразовую или повторяющуюся задачу. В сообщении к задаче бот добавляет action-кнопки:
- "Взято в работу"
- "Выполнено"
- "Не выполнено"
Логика ветвления
- При нажатии кнопки "Взято в работу" задача меняет статус.
- Если задача не взята в работу или не выполнена к контрольной дате, ответственный (админ) получает оповещение на почту (email) с указанием сути просрочки.
- При выборе "Не выполнено" появляется интерактивный запрос на ввод причины (текстовое сообщение). Полученный ответ логируется.
3. Быстрое сохранение контента по email (атачмент)
Сценарий: Пользователь отправляет в группу файл формата PDF или JPEG/PNG. Под официальным документом появляется кнопка "Отправить на почту". Нажатие кнопки пересылает файл на заранее назначенный узник-адрес (разный для каждой чат-группы).
4. Срок "Показать конфиденциальные данные" с самоуничтожением
Команда TEXT_COMMAND_HERE (сенситивные данные удалены из описания) активирует отправку ботом важной информации о клиентах. Хранимые поля могут включать, например:
- Код для удаленного доступа.
- Используемую ОС.
- Специфичные ссылки и пароли.
Security фича: Ответное сообщение с конфиденциальным содержимым должно уничтожиться (удалиться программно) ровно через 30 минут после отправки. Это корректное поведение снижает риск скомпрометировать пароли или авторизационные коды внутри истории группы.
Управление и бэк (технические требования)
- Язык разработки: чистый Python.
- Отдельная админ-консоль (борда ЛК на веб-базе) для всей вышеописанной конфигурации.
- Логирование всех действия групп & отчет перед админом в непрочитанном портфеле с сортировкой при указанных условиях KPI.