🌅 SunRise Support Bot

Telegram бот для техподдержки на базе Aiogram 3.x с системой тикетов, тредов и шаблонных ответов.

📖 Суть

Профессиональный бот техподдержки, который позволяет пользователям создавать заявки, отправлять сообщения администраторам и оставлять отзывы. Администраторы работают через систему тредов в группе с возможностью одобрения/отклонения заявок.

✨ Функционал

  • 🎫 Система тикетов - создание заявок через форму
  • 💬 Сообщения администраторам - прямая связь с поддержкой
  • Система отзывов - возможность оставить отзыв
  • 🧵 Работа через треды - каждый тикет в отдельном треде группы
  • 👮 Административные команды - управление заявками и пользователями
  • 📝 Шаблонные ответы - быстрые ответы на частые вопросы
  • 🔄 Пересылка сообщений - двусторонняя связь пользователь ↔ админ
  • 🗄️ База данных - SQLite для хранения тикетов и пользователей

📃 Команды для пользователей

  • /start - Показать доступные команды
  • /wish - Создать заявку (форма с полями: никнейм, что хочет, зачем, особые пожелания)
  • /massage - Отправить сообщение администратору
  • /review - Оставить отзыв

📃 Команды для администраторов

Управление заявками

  • /accept <комментарий> - Одобрить заявку
  • /deny <комментарий> - Отклонить заявку
  • /close - Закрыть обращение

Шаблонные ответы

  • /voprosi - Отправить шаблонный ответ “Ответили шаблоном ✏️”
  • /hello - Отправить приветственный шаблон
  • /faq - Отправить FAQ

Управление администраторами

  • /op <user_id> - Добавить администратора

🛠️ Технические особенности

  • Aiogram 3.x - современная асинхронная библиотека
  • SQLite - база данных для хранения тикетов
  • FSM (Finite State Machine) - управление состояниями форм
  • Middleware - внедрение зависимостей (database)
  • Треды в группах - работа через Topics в Telegram группах
  • Фильтрация сообщений - внутренние сообщения админов (начинающиеся с @ или /)

📊 Статусы заявок

  • open - новая заявка
  • pending - заявка в обработке (ответили шаблоном)
  • accepted - заявка одобрена
  • denied - заявка отклонена
  • closed - заявка закрыта

🔄 Правила пересылки сообщений

Админы → Пользователи:

  • ✅ Пересылаются: обычный текст, фото, видео, документы
  • ❌ НЕ пересылаются: сообщения начинающиеся с @ или /, сообщения от ботов

Пользователи → Админы:

  • Все сообщения пересылаются в активный тред

💼 Особенности реализации

  • Пользователь может иметь только одну активную заявку типа wish (статусы open или pending)
  • Для /massage и /review ограничений нет
  • Все сообщения админов пересылаются пользователю от имени бота (анонимность)
  • Сообщения админов, начинающиеся с @, используются для внутренних заметок

🏗️ Структура проекта

SunRiseSupportBot/
├── main.py                 # Точка входа
├── config.py              # Конфигурация
├── database.py            # Работа с БД
├── utils.py               # Вспомогательная хуйня
├── handlers/
│   ├── user_handlers.py   # Обработчики команд пользователей
│   └── admin_handlers.py  # Обработчики команд админов
└── sqlite.db             # База данных

💼 Коммерческий проект

Проект разработан для игроков сервера SunRise с профессиональной системой техподдержки и управления заявками.