Общая задача: Разработка Telegram-бота на Node.js (Telegraf/Grammy) для сегментации входящего трафика и автоматизированного прогрева пользователей через систему «дожимов» (ретент-маркетинг). 1. Стек технологий • Backend: Node.js. • Database: PostgreSQL или MongoDB (необходима для хранения состояний пользователей и логов активности). • Task Scheduler: node-cron или аналог для обработки отложенных событий. 2. Функциональные модули Модуль А: Роутинг и сегментация • Обработка команды /start с сохранением пользователя в БД (ID, username, время входа). • Главное меню (Inline-кнопки): 4 направления (Проп-трейдинг, Закрытый клуб, Бесплатный канал, Ветка для новичков). • При клике на направление пользователю присваивается тег и статус в БД. Блок Б: Контентные воронки (3 ветки) • Каждая ветка — это последовательная выдача медиа-контента (Video Note/Кружки, Видео, Текст). • Реализация через State Machine: бот должен фиксировать текущий шаг пользователя (step_id), чтобы при перезапуске или паузе продолжать с нужного места. • Весь медиа-контент должен отправляться через file_id (без повторной загрузки на сервера Telegram). Блок В: Система автоматических «Дожимов» (Критически важно) • Реализация фоновой задачи (Cron Job), которая раз в 30-60 минут сканирует БД. • Логика: Если пользователь зашел в воронку, но не совершил целевое действие (клик по кнопке «Менеджер» или «Оплата»): • Через 24 часа — отправить сообщение №1 (напоминание). • Через 48 часов — отправить сообщение №2 (финальный оффер). • Условие отмены: Если флаг is_converted в БД меняется на true (после нажатия на целевую кнопку), все запланированные дожимы для этого user_id должны аннулироваться. 3. Технические требования • Архитектура: Код должен быть модульным, чтобы можно было легко добавлять новые воронки (массивы контента). • Администрирование: Настройка автоматического перезапуска процесса через PM2. • Логирование: Базовое логирование ошибок взаимодействия с API Telegram и БД