Разработать Telegram-бота "Support Bot" по ТЗ

1 500 руб. за проект
09 декабря 2023, 23:51 • 12 откликов • 91 просмотр
1. Разработать бота поддержки с использованием языка программирования Python, библиотеки aiogram и БД SQLite (файлами в памяти!)
2. Реализовать в команду /start обязательную подписку на канал.

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

1) Reply "Задать вопрос" - вывод сообщения "Введите тему вопроса", затем "Задайте свой вопрос. Постарайтесь максимально детально его описать". Создаётся уникальный тикет, который регистрируется в БД как открытый. После открытия тикета уведомление отправляется менеджерам для дальнейших операций.
2) Reply "Мои тикеты" - вывод сообщения с Inline-кнопками-тикетами, при нажатии на которые будет выводиться история тикета в многостраничном сообщении (перелистывание кнопками) (с файлами: текст Скачать/Выгрузить) и их статусами (Открыт/Закрыт).
3) Reply "Открыть чат" - создаётся чат, который может взять любой менеджер/админ и вести переписку с файлами прямо в боте с клиентом. При нажатии выводится сообщение о том, что скоро подключится к чату менеджер и начнёт диалог. Так же будет кнопка отмены поиска. (Для админов можно смотреть историю переписок)

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

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 через админ-панель для удобного управления контентом бота.
- Реализовать функцию автоматической ИЛИ РУЧНОЙ очистки закрытых тикетов по истечении определенного времени, чтобы поддерживать порядок в базе данных.
- Внедрить систему уведомлений о новых тикетах, действиях в тикетах и взаимодействии с ботом для всех уровней пользователей (админ, менеджер, юзер).
- Обеспечить возможность прикрепления файлов и медиа к сообщениям в тикетах для улучшения коммуникации между менеджерами и пользователями и добавить возможность скачивания/выгрузки этих файлов из истории тикетов.
- Разработать логику ограничений и кнопок отмены действий для удобства пользователей при взаимодействии с ботом.
- Реализовать уведомления о действиях с тикетами и пользователями для администраторов, менеджеров и пользователей.
- Создать удобный и интуитивно понятный интерфейс для всех уровней пользователей для повышения удобства использования бота.