Техническое задание: Telegram-бот для техподдержки

Цель проекта

Разработать Telegram-бота, который автоматизирует процесс обработки обращений в службу поддержки. Система должна распределять входящие заявки между менеджерами по принципу «кто первый откликнулся» и организовывать защищённый канал связи между клиентом и назначенным менеджером.

Основной функционал

Для клиента (пользователя):

  • При команде /start бот должен сохранить Telegram ID пользователя в базу данных.
  • Отправить пользователю приветственное сообщение с информацией о работе службы поддержки.
  • После назначения менеджера - пересылать все текстовые сообщения пользователя назначенному менеджеру.

Для менеджеров поддержки:

  • При поступлении нового обращения всем менеджерам должно приходить уведомление.
  • В уведомлении должна быть кнопка «Взять в работу».
  • Менеджер, первый нажавший на кнопку, закрепляется за данным пользователем.
  • Назначенный менеджер получает все последующие сообщения от пользователя в личный чат с ботом, а его ответы пересылаются обратно пользователю.

Технические требования

Стек технологий:

  • Backend: Python с использованием фреймворка aiogram ИЛИ Node.js с использованием фреймворка Telegraf (на выбор исполнителя).
  • База данных: PostgreSQL или SQLite для хранения данных о пользователях, менеджерах и их связях.

Что необходимо предоставить:

  • Полный исходный код проекта, готовый к развёртыванию.
  • Подробную инструкцию по запуску бота и настройке базы данных.
  • Документацию по структуре проекта и основным функциям.

Критерии приемки

  • Бот стабильно работает, обрабатывает команды и пересылает сообщения.
  • Реализована логика распределения заявок между менеджерами.
  • Данные корректно сохраняются в БД и извлекаются из неё.
  • Инструкция позволяет развернуть и запустить проект с нуля.

Оптимизация скорости загрузки сайта на MODX

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