Основная задача
Разработать Telegram-бота (на Python с библиотекой aiogram, как предпочтительный вариант) для обработки обращений пользователей через механизм тикетов. Также требуется создать административную панель для управления этими обращениями.
Функционал бота (со стороны пользователя)
- Создание тикета: Пользователь должен иметь возможность оставить заявку (тикет), указав суть проблемы или вопроса.
- Просмотр своих тикетов: Пользователь может посмотреть список своих прошлых тикетов с указанием статуса (открыт/закрыт) и полученных ответов.
Функционал админ-панели
- Просмотр списка всех поступивших тикетов.
- Возможность выбора конкретного тикета и отправки на него ответа.
- Управление статусом тикета (в работе / закрыт).
Требования к сохранению данных (База данных)
Все данные должны храниться в базе данных. Для каждого обращения необходимо фиксировать как минимум следующую информацию:
- Время создания тикета
- Текст вопроса (от пользователя)
- Текст ответа (от администратора)
- Telegram ID пользователя, создавшего тикет
Технические детали
- Рекомендуетсся использовать чистый Python без тяжелых фреймворков, но с использованием подходящих библиотек (aiogram для бота, SQLAlchemy или asyncpg для работы с БД, веб-фреймворк типа FastAPI или Flask для админ-панели).
- Бот должен работать асинхронно.
- Внешний вид сообщений бота и админ-панели должен быть простым и интуитивным (админка может быть в виде Telegram-чата с кнопками или минимального веб-интерфейса).