Telegram-бот (Python/Node.js) + астрологические API + реферальки + админка (редактирование промптов) (удаленная работа)
(вакансия не опубликована)

5 сентября 2025

Уровень зарплаты:
от 18 000 до 24 000 руб.
Требуемый опыт работы:
Не указан

Вакансия: Telegram-бот (Python/Node.js) + астрологические API + реферальки + админка (редактирование промптов)

Описание вакансии

!!!! Прочитайте что сообщить в сопроводительном письме

Цель:

Сделать Telegram-бота, который:

  1. принимает дату/время/город рождения,

  2. дергает внешний астрокалькулятор (точная математика),

  3. передаёт результаты в LLM для интерпретации,

  4. имеет growth-механики (реферальные ссылки, проверка подписки на канал),

  5. управляется через простую веб-админку (редактирование промптов/текстов/кнопок без правки кода).

Основной пользовательский флоу

  1. Старт приветствие (стиль задём в админке).

  2. Выбор системы : Западная / Ведическая / БаЦзы (кнопки).

  3. Ввод данных : дата (ДД.ММ.ГГГГ), время (чч:мм), место (строка, далее геокодим).

  4. Под капотом :

    • Геокодим место (Maps API) координаты + таймзона.

    • Отправляем данные во внешний астрокалькулятор/API получаем JSON (планеты/дома/аспекты для западной/ведической; столпы/элементы для БаЦзы).

    • Передаём JSON и выбранный сценарий в LLM (OpenAI) получаем текст.

  5. Выдаём блоками (кнопки-сценарии):

    • 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 (с админкой, рефералками и проверкой подписки).