🌅 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 с профессиональной системой техподдержки и управления заявками.