«Майя» — это интерактивный Telegram-бот на базе искусственного интеллекта, выступающий в роли эмпатичного персонального астролога-наставника. Архитектура объединяет расчетные астрологические API, генеративные языковые модели для персонализации ответов, голосовой ввод/вывод и систему удержания через планировщик рассылок.
⚙️ 1. Функциональные возможности бота
1.1. Онбординг и профилирование (Анкета)
- Сбор параметров рождения: имя, дата (ДД.ММ.ГГГГ), время рождения (ЧЧ:ММ), город рождения и текущий город проживания.
- AI-нормализация таймзоны: город валидируется через LLM с сопоставлением со справочником часовых поясов IANA.
- Свободное поле «О себе» (Bio): сбор контекста, хобби и целей пользователя для дальнейшей адаптации прогнозов.
- Звездный паспорт: стартовый расчет знака зодиака, тотемов, камней-талисманов и начисление стартовых кристаллов.
1.2. Астрологические модули и расчеты
- Гороскопы по периодам: генерация персональных прогнозов на день, неделю или месяц на основе точных планетарных аспектов и транзитов.
- Построение натальной карты:
- Точный расчет положений планет, домов (по системе Плацидуса) и аспектов.
- Генерация графического рендера натальной карты.
- Разборы по категориям: базовый профиль, любовь и отношения, финансы и карьера, кармический путь, душевная гармония.
- Карта дня (Таро): ежедневный расклад с проверкой повторного запроса (правило «одна карта в день»), выводом изображения аркана и адаптивной терапевтической трактовкой.
1.3. Свободный диалог и управление памятью
- Поддержка голосовых сообщений: автоматическое преобразование голоса в текст перед отправкой в LLM.
- Система долгосрочной памяти (Memory Management):
- Модель автоматически извлекает психологические паттерны, цели и ценности в JSON-ответе.
- Асинхронное фоновое сохранение памяти пользователя (
user_config.memory). - Семантическая компрессия: при превышении порога в 6000 символов запускается фоновый модуль сжатия и очистки шума через LLM.
- Интерактивные реакции Telegram: динамическая расстановка эффектов (огонь, сердце, лайк, конфетти) в зависимости от эмоционального контекста.
1.4. Автоматические рассылки и расписание
- Настройка индивидуального времени получения прогнозов (с учетом локальной таймзоны пользователя).
- Управление активными подписками на рассылки через меню команд (
/sends,/cancel_...).
1.5. Монетизация и биллинг
- Кредитная модель (Кристаллы 💎): списание баланса за сложные разборы и генерации.
- Периодические подписки: проверка активности тарифа (
pay_until). - Пакеты доступа: гибкие тарифные планы (1 неделя, 1 месяц, 3 месяца, 6 месяцев) и реферальная программа.
🔌 2. Необходимые сервисы и стек интеграций
| Сервис / Стек | Назначение |
|---|---|
OpenAI API (gpt-5.4-mini) |
• Определение таймзон и стран по городам<br>• Адаптация сырых расчетов в эмпатичный текст от лица Майи<br>• Ведение диалогов с контекстом<br>• Семантическое сжатие долгосрочной памяти |
OpenAI API (whisper-1) |
• Транскрибация голосовых сообщений пользователей (STT) |
Astrology API (astrology-api.io) |
• /api/v3/horoscope/personal/daily — транзиты и гороскопы<br>• /api/v3/charts/natal — расчет натальной карты<br>• /api/v3/render/natal — графический рендер карты<br>• /api/v3/tarot/cards/daily — суточные карты Таро |
| TTS / Озвучка (ElevenLabs / аналог) | • Озвучивание вводных инструкций и текстовых прогнозов |
| СУБД (База данных бота) | • Таблицы: users (профиль, баланс), user_config (память, настройки), user_schedule (расписания рассылок), files (медиатека Таро) |
| Планировщик задач (Cron/Worker) | • Выполнение триггерных и глобальных рассылок по расписанию |
