Web3 / Telegram / Discord Апрель 2026

PRIME Alpha Bot

Корпоративная Web3-экосистема для автоматизации платных подписок, отслеживания транзакций в блокчейне BSC (USDT), синхронизации прав в Discord и геймификации активности с накопительной системой лояльности.

Платформа

Web3 / Telegram / Discord

Категория

Web3 / Эквайринг / Автоматизация / Геймификация

Дата релиза

Апрель 2026

Сайт проекта

Приватный проект

changelog.sh

Измененные и созданные файлы:

  • public_html/controllers/CommandController.php (Изменен) — Исправлена привязка реферала для новых пользователей: теперь, если при клике по реферальной ссылке запись подписчика отсутствует, она создается немедленно с указанием referrer_id и генерацией referral_code, предотвращая потерю связи.
  • public_html/core/SubscriptionManager.php (Изменен) — Интегрирована автоматическая отправка начислений в таблицу referrals при успешной активации подписки (как через прямые платежи, так и через наблюдатель транзакций).
  • public_html/controllers/JoinRequestAdminController.php (Изменен) — Добавлен вызов начисления реферальной комиссии при ручном одобрении заявки на вступление администратором.
  • public_html/controllers/ReferralController.php (Изменен) — Добавлен новый SQL-запрос для извлечения всех реферальных связей (Кто ➔ Кого привел) с поддержкой поиска.
  • public_html/views/referrals/index.php (Изменен) — Оформлен премиальный интерфейс вкладок (Рефереры и Все приглашенные) для удобного мониторинга связей рефералов.

[27.06.2026] - Задача: Исправление переопределения цен тарифов жесткой сеткой лояльности

Измененные и созданные файлы:

  • deploy.py (Изменен) — Добавлено принудительное переопределение кодировки вывода sys.stdout и sys.stderr на UTF-8 для устранения падений консоли Windows из-за некодируемых смайликов/символов.
  • public_html/controllers/CommandController.php (Изменен) — Массив $pricesGrid с жестко заданными суммами заменен на динамический хелпер getDiscountMultiplier(), возвращающий коэффициент скидки для каждого уровня лояльности (0-6 звезд). Все перерасчеты цен тарифов переведены на использование базовой цены из базы данных, умноженной на коэффициент скидки.
  • public_html/controllers/PaymentsController.php (Изменен) — Логика расчета стоимости прямого перевода переведена с жесткого $pricesGrid на использование динамического коэффициента скидки, получаемого через CommandController::getDiscountMultiplier().

[27.06.2026] - Задача: Создание скрипта автоматического деплоя (deploy.py) и настройка окружения

Измененные и созданные файлы:

  • deploy.py (Создан) — Скрипт автоматизации деплоя, поддерживающий загрузку файлов через SFTP (с исключением локальных служебных файлов), интерактивный SSH-терминал и удаленный запуск команд.
  • .env (Изменен) — Добавлены и раскомментированы переменные подключения к VPS (VPS_HOST, VPS_USER, VPS_PASS, VPS_PORT), а также добавлен список из двух Ankr API-ключей в переменную BSC_RPC_URL через запятую.
  • .env.example (Изменен) — Добавлены шаблоны переменных доступа к VPS и документирована поддержка нескольких RPC-нод через запятую в BSC_RPC_URL.
  • README.md (Изменен) — Документированы команды быстрого деплоя, одиночных команд и шелл-доступа с помощью deploy.py.
  • public_html/core/Blockchain.php (Изменен) — Реализована поддержка comma-separated списка кастомных RPC-нод в getRpcUrls(), а также улучшено автоопределение кастомных нод в getLogs() по исключению из массива публичных резервных нод.

[24.06.2026] - Задача: Исправление учета ручных продаж, контакты администраторов и рефакторинг платежного BSC-наблюдателя

Измененные и созданные файлы:

  • public_html/core/Blockchain.php (Изменен) — Переработана логика BSC RPC запросов: добавлен импорт Env для конфигурации BSC_RPC_URL, добавлена поддержка динамического списка резервных публичных узлов при сбоях, логирование подробных ошибок в blockchain.log, чанкирование запросов логов (по 50 блоков для публичных узлов и по 1000 блоков для персональных), а также оптимизирован обратный поиск транзакции (от новых блоков к старым) с ранним выходом.
  • public_html/cron/blockchain_observer.php (Изменен) — Переведен на использование новых методов Blockchain::getLatestBlock() и Blockchain::getLogs(). Реализована блокировка сдвига номера последнего обработанного блока при сбоях запросов RPC, чтобы избежать пропуска транзакций. Добавлено сохранение времени успешной проверки last_bsc_check_time в таблицу system_state.
  • .env.example (Изменен) — Добавлен шаблон для конфигурации переменной BSC_RPC_URL (BSC Smart Chain USDT Mainnet).
  • public_html/controllers/JoinRequestAdminController.php (Изменен) — Интегрировано дублирование платежей в общую таблицу payments при ручном одобрении заявок (Join Requests) для корректного отображения выручки, графиков и статистики на дашборде. Исправлена nullability-проблема с plan_id.
  • public_html/controllers/CommandController.php (Изменен) — Добавлена динамическая смена текста оплат: при исправной автопроверке (последний крон запущен менее 15 минут назад) выводится сообщение об Автопилоте, при сбоях/отключении — сообщение с контактами администраторов (@TIENAM, @TalonMatrix, @alexandr_shm) для ручной верификации.

[23.06.2026] - Задача: Создание модуля ручного управления заявками на вступление (Join Requests) и его оптимизация

Измененные и созданные файлы:

  • public_html/controllers/JoinRequestAdminController.php (Создан, изменен) — Административный контроллер: добавлена пагинация списка заявок (по 20 шт.), связь с direct_payments для предвыбора тарифа, генерация оплаченных счетов при ручном одобрении для привязки Discord, и очистка чата/состояний/счетов при отклонении/удалении заявки.
  • public_html/views/join_requests/index.php (Создан, изменен) — Премиальный веб-интерфейс: добавлен вывод пагинации, отображение выбранного пользователем тарифа и автоматический предвыбор тарифа в модальном окне.
  • public_html/controllers/CommandController.php (Изменен) — Добавлено сохранение message_id сообщения бота со счетом BSC в базу данных для возможности последующего удаления из чата.
  • public_html/cron_join_requests_cleanup.php (Создан) — Ежедневный Cron-скрипт для автоочистки заявок и сопутствующих платежей/сообщений/состояний старше 14 дней.
  • public_html/index.php (Изменен) — Добавлен роут join_requests для перенаправления запросов в новый административный контроллер.
  • public_html/views/layouts/main.php (Изменен) — Добавлена вкладка «Заявки» в боковое меню администратора с отображением динамического badge-счетчика количества ожидающих заявок.

[11.06.2026] - Задача: Исправление сравнения дат в уведомлениях об истечении подписки

Измененные и созданные файлы:

  • public_html/cron_push.php (Изменен) — Изменено strict-сравнение поля end_date в SQL-запросах на функцию DATE(s1.end_date) для корректной фильтрации пользователей с ненулевым временем подписки.
  • public_html/cron.php (Изменен) — Изменено сравнение с $today (дата) на $now (дата и время) для своевременного отключения подписок в точное время их окончания.
  • .env.example (Создан) — Добавлен шаблонный файл конфигурации окружения для предотвращения утечки конфиденциальных данных.

[01.06.2026] - Задача: Реформа системы уведомлений и перенос времени кика

Измененные и созданные файлы:

  • public_html/cron_push.php (Изменен) — Переработана логика напоминаний: удалено уведомление за 7 дней, обновлены тексты за 3 дня и 1 день с точным указанием даты и времени кика (12:00 по МСК), добавлено новое уведомление за 3 часа до кика.
  • public_html/cron.php (Изменен) — Обновлено время запуска авто-кика в комментариях, добавлен сброс флага reminder_3h_sent при кике.
  • public_html/cron_reputation_monthly.php (Изменен) — Текст поздравлений переведен на новый динамический шаблон от пользователя, пост отправляется в топик 2184 канала, убран лишний призыв к действию в ЛС победителей.
  • public_html/cron_cleanup.php (Изменен) — Установлена часовая зона Europe/Moscow.
  • public_html/cron_reputation_warmup.php (Удален) — Удален промежуточный прогрев репутации 10, 20 и 28 числа.

[31.05.2026] - Задача: Автоматические скидки за репутацию и интеграция с системой лояльности

Измененные и созданные файлы:

  • public_html/scratch/migrate.php (Создан) — Скрипт миграции базы данных для добавления полей is_discount_used и discount_payment_id в таблицу reputation_archive.
  • public_html/core/Reputation.php (Изменен) — Добавлен метод getActivePrize для получения неиспользованной скидки пользователя на текущий месяц. Обновлена команда /toprep (добавлено описание призов и минимального порога баллов).
  • public_html/controllers/CommandController.php (Изменен) — Интегрирован показ призовых цен в приветственном сообщении (showWelcome), списке тарифов (showTariffs) и при вводе адреса кошелька для прямого перевода BSC (handleWalletInput) для тарифа 30 дней. Улучшено UX: в showWelcome избыточный призыв ввести команду /tariffs заменен на прямую рекомендацию воспользоваться кнопками тарифов под сообщением.
  • public_html/controllers/PaymentsController.php (Изменен) — Интегрирована призовая цена при генерации счета в createPayment для тарифа 30 дней.
  • public_html/core/SubscriptionManager.php (Изменен) — Внедрена логика активации подписки с призом:
  • Установка флага использования скидки в reputation_archive и запись ID платежа.
  • Блокировка начисления звезд лояльности за этот платеж (earnedStars = 0).
  • Вывод специальной отметки в уведомлении об успешной оплате.
  • public_html/cron_reputation_monthly.php (Создан) — Ежемесячный крон-запуск для подведения итогов топа репутации, записи в архив победителей с points >= 5.0, рассылки поздравлений в личные сообщения и в общий канал.
  • public_html/cron_reputation_warmup.php (Создан) — Периодический крон-запуск (10, 20, 28 числа) для публикации промежуточного топа и напоминания о наградах.
  • tools/simulate_reputation.php (Создан, Изменен) — Инструмент симуляции (CLI и премиальный Web UI на базе Glassmorphism) для добавления баллов, ручной выдачи призов, сброса использования призовых скидок и ручного вызова крона. Исправлен баг: тип репутации при начислении баллов заменен с невалидного 'Simulation' на соответствующий значению баллов 'positive'/'negative' (согласно ENUM ограничению базы данных). Внедрена панель тестирования отправки Telegram-уведомлений: ЛС победителям (1-3 место) и общих итогов в канал.
Приватный проект
Скриншот проекта PRIME Alpha Bot

Отчет о трудозатратах (Timesheet)

НАЗВАНИЕ ЗАДАЧИ
1 Исправление логики привязки рефералов и начисления реферальной комиссии
2 Модернизация админ-панели рефералов и очистка тестовых данных
3 Анализ реферальных логов и очистка неактуальных связей
4 Разработка скрипта автоматического деплоя (deploy.py) и конфигурация окружения
5 Диагностика платежного наблюдателя BSC, блокчейн-анализ и оптимизация RPC
6 Исправление переопределения цен тарифов жесткой сеткой лояльности
7 Обновление списка контактов администраторов при BSC-оплате
8 Исправление учета ручных продаж в статистике админ-панели
9 Рефакторинг автоматического приема платежей BSC и интеграция резервных RPC-узлов
10 Интеграция персональной ноды Ankr и динамический вывод автопилота
11 Разработка модуля ручного управления заявками на вступление (Join Requests)
12 Оптимизация модуля заявок: пагинация, 14-дневная очистка и интеграция с Discord
13 Исправление логики сравнения дат в уведомлениях об истечении подписки
14 Перенос времени авто-кика на 15:00 МСК и перенос отправки уведомлений на 12:00 МСК
15 Разработка тестовых скриптов и верификация напоминаний в Telegram
16 Округление призовых цен вверх (ceil)
17 Актуализация и расширение README.md проекта
18 Разработка локальной страницы документации (readme.php)
19 Расширение допуска призовой оплаты (1$) в сети BSC
20 Визуальное разделение блоков в /tariffs
21 Очистка избыточных призывов к действию в сообщениях
22 Корректировка отступов в тарифах
23 Реформа системы уведомлений и перенос времени кика
24 Динамическое добавление Топ-7 не призовых мест в итоги месяца
25 Отображение архивных победителей на странице репутации в админ-панели
26 Автоматическая актуализация юзернеймов победителей из Telegram API
27 Подготовка и внедрение скрипта миграции БД
28 Внедрение поиска активных призов в ядро репутации и обновление UI
29 Применение скидок на шаге оформления и оплаты счетов
30 Защита от начисления лояльности и обновление счетчиков использования призов
31 Разработка и внедрение кронов автовыбора победителей и прогрева
32 Создание многофункционального веб-симулятора репутации
33 Устранение бага Data truncated для колонки type при начислении баллов
34 UX-улучшение текста приветственного сообщения с призом
35 Интеграция панели тестовой отправки уведомлений в Telegram в симулятор
36 Создание папки project_ideas и публикация предложения по скидкам за репутацию
37 Проработка матрицы цен для всех уровней звезд и добавление улучшений в концепцию
38 Корректировка цены первого места на фиксированный $1.00
39 Уточнение правил тарифов (30/90/180 дней) с выводом 3 отдельных матриц цен
40 Интеграция с архивной таблицей БД и проектирование утилиты тестирования
41 Описание уведомлений и вывода команд /start, /tariffs для победителей
42 Корректировка концепции: интеграция вывода статуса приза в существующие сообщения
43 Добавление дополнительных идей улучшения и защиты системы (беклог)
44 Разработка инструмента ручной настройки лояльности и звезд пользователей
45 Расследование багов двойного списания и продления подписок (BSC Cron)
46 Безопасная реорганизация: вынос служебных скриптов в папку tools/
Итого 46 задач выполнено