ТЗ

ТЗ

Forch

Forch:

1. Разработать бота поддержки с использованием языка программирования Python, библиотеки aiogram и БД SQLite (файлами в памяти!)

2. Реализовать в команду /start обязательную подписку на канал.


Функционал ЮЗЕРОВ


1) Reply "Задать вопрос" - вывод сообщения "Введите тему вопроса", затем "Задайте свой вопрос. Постарайтесь максимально детально его описать". Создаётся уникальный тикет, который регистрируется в БД как открытый. После открытия тикета уведомление отправляется менеджерам для дальнейших операций.

2) Reply "Управление тикетами" - вывод сообщения с Inline-кнопками-тикетами, при нажатии на которые будет выводиться история переписки тикета в многостраничном сообщении (перелистывание кнопками) (с файлами: текст Скачать/Выгрузить) и их статусами (Открыт/Закрыт).

3) Reply "FAQ - Частые вопросы" - вывод сообщения с картинкой с Inline-кнопками разных вопросов (можно редактировать тексты и добавлять/удалять кнопки через админ-панель), при нажатии на которых будет выводиться текстовое сообщение без картинки с информацией С InlineKeyboardButton "НАЗАД"(вернуться в FAQ и удалить/подменить сообщение).

4) В тикете кнопка "Закрыть тикет" со стороны юзера, так как его вопрос может быть решён. По логике НЕЛЬЗЯ открывать сразу другой тикет, пока открыт один. Будет высвечиваться уведомление о том, что нужно закрыть тикет.


Функционал МЕНЕДЖЕРОВ


1) Reply "Просмотр тикетов" - выводит все активные тикеты и управлять ими: ответ, блокировка юзера, закрытие тикета и т.д. в Inline-кнопках и отдельную кнопку "История тикетов", при этом СТАРЫЕ ТИКЕТЫ НЕ УДАЛЯЮТСЯ, но их может чистить АДМИН.

2) Reply "Поиск" - поиск юзеров по id/user или поиск тикетов по номеру (два типа поиска на выбор в Inline-кнопках), где можно управлять юзерами: бан, разбан, просмотр тикетов юзера и т.д.

3) пока не придумал, по логике дострой


Функционал АДМИНА


1) ВСЁ ТО, ЧТО У МЕНЕДЖЕРОВ

2) Reply "Управление менедерами" - управление менеджерами

3) В Reply "Просмотр тикетов" и "История тикетов" добавить функционал очистки закрытых тикетов (можно за определённый период времени)

4) Reply "Настройка бота" - в InlineKeyboardButton внедрить функционал редактирования FAQ, канала для обязательной подписки, текстов (приветвие и тд) и картинок, тикетов и так далее по логике.

5) Возможность сделать рассылку.



Функционал ТИКЕТОВ


1) За каждым тикетом может работать только один менеджер, соответственно нужна функция "передачи другому менеджеру" или "освобождения тикета", чтобы за него мог взяться другой менеджер или один и тот же менеджер мог быстро перейти у другому тикету. Нужно, чтобы в информации о тикетах для МЕНЕДЖЕРОВ и АДМИНА выводился ID/USER оперирующего менеджера, чтобы можно было следить за этим. Админ вправе выкинуть менеджера с тикета (освободить тикет).

2) Тикеты хранятся до тех пор, пока их не очистит админ. Хранится история переписки, какой менеджер переписывался и в какое время и так далее. Повторно тикеты открывать НЕЛЬЗЯ.

3) В тикетах (хотя бы в истории сообщений) должно быть время и дата, так же в ответах в скобочках рядом с ролью отвечавшего (Менеджер/Юзер) должен быть id/username и в квадратных скобках время с датой.

4) Тикеты могут закрываться сами по себе, если они в течение 24-48 часов были неактивными (время можно настроить в админ-панели). И если менеджер долго неактивит (30-60 минут), то тикет освобождается автоматически

5) Возможность прикрепления файлов и медиа между юзером и менеджером (в истории нужно придумать, как смотреть картинки и вложения того или иного тикета).



Добавь уведомления о тех или иных действиях с тикетом/юзерами: Для админа логи взаимодействия вообще со всем ботом нужно (или в отдельный канал бот пусть шлёт), для менеджеров о новых тикетах и действиях в тикетах, для юзеров тоже (что ответил менеджер и тд). Так же какие-то ограничения, кнопки отмены действий (к примеру при создании тикета) или "назад".


Reply кнопки от юзера не считаются сообщением для тикета


Дополнительные требования:

- Разработать удобный и логичный интерфейс для взаимодействия с ботом для юзеров, менеджеров и админов

- Обеспечить возможность настройки и редактирования текстовых сообщений, кнопок и FAQ через админ-панель для удобного управления контентом бота.

- Реализовать функцию автоматической ИЛИ РУЧНОЙ очистки закрытых тикетов по истечении определенного времени, чтобы поддерживать порядок в базе данных.

- Внедрить систему уведомлений о новых тикетах, действиях в тикетах и взаимодействии с ботом для всех уровней пользователей (админ, менеджер, юзер).

- Обеспечить возможность прикрепления файлов и медиа к сообщениям в тикетах для улучшения коммуникации между менеджерами и пользователями и добавить возможность скачивания/выгрузки этих файлов из истории тикетов.

- Разработать логику ограничений и кнопок отмены действий для удобства пользователей при взаимодействии с ботом.

- Реализовать уведомления о действиях с тикетами и пользователями для администраторов, менеджеров и пользователей.

- Создать удобный и интуитивно понятный интерфейс для всех уровней пользователей для повышения удобства использования бота.

Report Page