Telegram-бот (Python/Node.js) + астрологические API + реферальки + админка (редактирование промптов)
(удаленная работа)
(вакансия не опубликована)
5 сентября 2025
от 18 000 до 24 000 руб.
Не указан
Вакансия: Telegram-бот (Python/Node.js) + астрологические API + реферальки + админка (редактирование промптов)
Описание вакансии
!!!! Прочитайте что сообщить в сопроводительном письме
Цель:
Сделать Telegram-бота, который:
-
принимает дату/время/город рождения,
-
дергает внешний астрокалькулятор (точная математика),
-
передаёт результаты в LLM для интерпретации,
-
имеет growth-механики (реферальные ссылки, проверка подписки на канал),
-
управляется через простую веб-админку (редактирование промптов/текстов/кнопок без правки кода).
Основной пользовательский флоу
-
Старт приветствие (стиль задём в админке).
-
Выбор системы : Западная / Ведическая / БаЦзы (кнопки).
-
Ввод данных : дата (ДД.ММ.ГГГГ), время (чч:мм), место (строка, далее геокодим).
-
Под капотом :
-
Геокодим место (Maps API) координаты + таймзона.
-
Отправляем данные во внешний астрокалькулятор/API получаем JSON (планеты/дома/аспекты для западной/ведической; столпы/элементы для БаЦзы).
-
Передаём JSON и выбранный сценарий в LLM (OpenAI) получаем текст.
-
-
Выдаём блоками (кнопки-сценарии):
-
10 сильных сторон
-
10 слабых сторон
-
Миссия
-
Топ-5 стран для жизни
-
Топ-10 бизнесов
-
Личная жизнь (юмор/развлечение)
-
Тексты и промпты для каждого сценария редактируемы в админке.
Growth-механики
-
Реферальные ссылки: t.me/ ?start=
-
При первом запуске с start= сохраняем связь пригласивший приглашённый .
-
Счётчик рефералов, бонус-триггеры (например, 3 реферала открыть 3 доп. предсказания ).
-
-
Проверка подписки на канал:
-
Кнопка Подписаться на канал .
-
Чекаем через getChatMember. Если состоит открываем бонус.
-
-
Шаринг в Telegram: встроенная кнопка Поделиться (в чаты/группы/людям).
Порог/логика бонусов конфигурируются в админке.
Админка (минимальная CMS)
Веб-панель (логин/пароль) с полями:
-
Тексты :
-
Приветствие
-
Тексты кнопок меню
-
Промпты для сценариев: 10 сильных , 10 слабых , Миссия , Страны , Бизнесы , Личная жизнь
-
-
Настройки :
-
TELEGRAM CHANNEL ID для проверки подписки
-
Порог бонусов за рефералов (например, 3)
-
Вкл/выкл сценариев
-
-
Статистика (простая) :
-
Кол-во пользователей
-
Сценарии по частоте
-
Рефералы по источникам
-
Подписаны/не подписаны на канал
-
Все тексты/пороговые значения хранятся в БД и подхватываются ботом без перезапуска.
Архитектура (предпочтительный стек)
Вариант A (Python):
-
Бот: aiogram или python-telegram-bot
-
Веб-API/админка: FastAPI (+ Jinja2) или Flask
-
ORM: SQLAlchemy
-
БД: PostgreSQL
-
Контейнер: Docker
-
Внешнее: Google Maps Geocoding (или Nominatim), Swiss Ephemeris/Astrolog API (или обёртка), БаЦзы open-source API, OpenAI API
Вариант B (Node.js):
-
Бот: telegraf
-
Сервис/админка: NestJS или Express + простая SSR админка
-
ORM: Prisma
-
Остальное аналогично
Развёртывание: Docker Compose (Postgres + web + bot-worker).
Логи/метрики: stdout + минимальный access log, Sentry (опц.).
Внешние эндпоинты/интеграции
-
Geo: GET /geocode?q=... (внутренняя обёртка над внешним API)
-
AstroCalc: POST /astro/calc system, birthDate, birthTime, lat, lon, tz json
-
LLM: сервис-обёртка POST /llm/interpret scenario, astroJson, prompt text
(Могут быть внутри одного сервиса/репо, если так быстрее.)
Безопасность и анти-абуз
-
Храним только то, что нужно (PII минимум).
-
Rate-limit на LLM-запросы по пользователю/сценарию.
-
Реферальный бонус выдаём один раз за уникального юзера (по tg id + анти-повтор).
-
Проверка подписки: серверной стороной через Bot API.
-
Секреты в .env (TELEGRAM TOKEN, OPENAI API KEY, MAPS API KEY и т.п.).
Что предоставить по итогам
-
Репозиторий (Git) с кодом, README с инструкцией запуска.
-
Docker Compose (docker compose up и всё живёт).
-
Базовые миграции БД.
-
Демо-бот на тестовом токене (или наш).
-
Короткое видео (скринкаст) с прохождением основных сценариев + админка.
Сроки (реалистично для middle+ с реюзом наработок)
MVP (боевой, но без красоты ) 12 16 часов чистого времени:
-
Поднять каркас бота + команды/кнопки: 2 3 ч
-
Геокодер + таймзона: 1 2 ч
-
Интеграция с внешним астрокалькулятором (берём готовый API/обёртку): 3 4 ч
-
Интеграция с LLM (OpenAI) + базовые промпты: 1 2 ч
-
Рефералки (start=ref, учёт, бонус): 1.5 2.5 ч
-
Проверка подписки на канал (getChatMember): 0.5 1 ч
-
Мини-админка (логин, 6 10 полей, сохранение в БД, подтяжка в рантайме): 2.5 3.5 ч
-
Персистенс/модели/миграции: 1 1.5 ч
-
Быстрые тесты/полировка/деплой docker-compose: 1.5 2.5 ч
Итого: нижний край 12 ч , верхний для аккуратной сборки 16 ч .
Бюджет
18 000 24 000 за MVP (расчёт из 12 16 часов работы по ставке 1500 /час).
Оплата по факту сдачи рабочего прототипа. Возможна доп. работа почасово по той же ставке.
Материалы от нас
-
Тексты/тональность для приветствия и сценариев (стартовые промпты).
-
Токены/ключи (бот, OpenAI, карты, астрокалькулятор/API).
-
ID канала для проверки подписки.
Критерии приёмки
-
Бот стабильно запускается в Docker, проходит базовый флоу end-to-end.
-
Корректно работает реферальная логика (бонус после N уникальных приглашённых).
-
Проверка подписки на канал да/нет.
-
Админка позволяет менять тексты и пороги изменения сразу видны в боте.
-
Логи ошибок понятны; при фейле внешнего API бот отвечает внятным сообщением и не падает.
-
Что написать в сопроводительном письме:
Примеры ваших Telegram-ботов (желательно с ссылками на работающих).
С какими API интегрировались (OpenAI, карты, платёжки, внешние сервисы).
Сколько лет опыта в Python/Node.js и в продакшн-ботах.
Есть ли опыт разворачивания в Docker.
Срок, за который реально сделаете MVP (с админкой, рефералками и проверкой подписки).
