Skip to content

7.0.0 — виджеты Telegram, CisPay и настройки панели

Choose a tag to compare

@VerTusOffical VerTusOffical released this 13 Nov 10:55

7.0.0 — виджеты Telegram, CisPay и настройки панели

В боте появились интерактивные карточки прямо в сообщениях. Добавлены CisPay, личный выбор обычного меню и поиск по настройкам. Исправлены продление с дополнительными устройствами, обработка оплаченных заказов и синхронизация нескольких подписок одного клиента.

Telegram

  • Добавлен экспериментальный режим HTML-виджетов: баланс, подписка, устройства, тарифы и действия отображаются в компактных карточках. Убраны повторяющиеся строки, исправлены переносы текста и высота сообщений.
  • Режим включается администратором: Настройки → Telegram-бот → Поведение → htmlbubbles test. Поддержка зависит от клиента Telegram; обычное меню остаётся доступным.
  • При отправке нового меню бот присылает отдельное обычное сообщение с кнопкой «Включить обычное меню». Выбор действует только для этого пользователя, сохраняется после перезапуска и не меняет настройки остальных. Вернуться к виджетам можно кнопкой.
  • Переключение сразу открывает главное меню. Старые действия виджетов после перехода на обычное меню отклоняются. При перелистывании подсказка не дублируется.
  • Кнопки Mini App сохраняют переход с Telegram-авторизацией. Ввод email, промокодов и обращений остаётся сообщением боту.
  • Исправлена обработка команд во время текстового ввода. Для единственной подписки доступен прямой переход к устройствам; поправлено отображение дробного баланса.
  • Улучшена обработка сетевых ошибок Telegram. При сбое отправки виджета бот предлагает обычное меню, не повторяя исходную операцию.

Платежи и продление

  • Добавлен CisPay для разовых платежей в RUB и USD. Клиент выбирает способ оплаты на странице провайдера. В админке доступны ID магазина, API-ключ, адрес уведомлений и режим приёма тестовых уведомлений.
  • Уведомления CisPay проверяются по подписи и через API магазина. Добавлены возвраты для карт и СБП; криптовалютные возвраты через API не поддерживаются. Рекуррентные платежи CisPay в этот выпуск не входят.
  • До подключения магазина показывается партнёрское предложение CisPay с кодом STEALTHNET_BOOSTED. Кнопка «Хочу подключиться!» открывает чат с менеджером и подготовленным текстом.
  • Исправлен сценарий RollyPay, когда деньги списывались, но продление не выполнялось из-за превышения лимита дополнительных устройств. Лимит проверяется до создания счёта с учётом существующей подписки.
  • Для RollyPay и CisPay получение оплаты и выдача покупки фиксируются отдельно. Задание на выдачу сохраняется в базе вместе с оплатой. Необработанные задания подхватываются после перезапуска; неудачные и прерванные операции отмечаются для сверки, а не считаются успешной выдачей.
  • Сохранена защита от повторной обработки платёжных уведомлений. Ошибка активации отображается отдельно и сопровождается уведомлением администратора.
  • Добавлен сбор уведомлений провайдеров в журнал webhook и уведомления администраторам о дополнительных покупках.
  • Для отдельных способов Platega можно менять название и порядок. В запросах на вывод доступны СБП и банковская карта наряду с USDT.
  • Исправлены сообщения об ошибках Crypto Pay, CisPay и Telegram Stars. Технические ответы провайдера не выводятся пользователю вместо понятного объяснения.

Админка и кабинет

  • Настройки сгруппированы по задачам, добавлены поиск и выбор раздела на мобильном экране. Настройки Telegram-бота разделены на меню, тексты, эмодзи, поведение и ссылки.
  • Платёжные блоки раскрываются плавно. Убрана яркая рамка при клике мышью, сохранён фокус для клавиатуры. Карточка CisPay отделена от соседних блоков.
  • В AI-чате обновлены модели Groq и добавлена загрузка доступных моделей. Обрабатываются тайм-ауты и некорректные ответы провайдера.
  • В редактор страницы подписки добавлены приложения STEALTHNET и INCY, обновлены ссылки Happ и добавлен предпросмотр. Пользовательские приложения, ссылки, порядок и видимость сохраняются; замена стандартными данными остаётся отдельным действием.
  • Исправлены выбор платного тарифа после отдельного триала и покупка со скидкой 100% в теме Stealth. При смене продлеваемой подписки сбрасывается выбор удаления дополнительных устройств.
  • Авторизованный клиент переходит из входа и регистрации в кабинет. Кнопки входа на лендинге учитывают авторизацию, а собственные ссылки администратора сохраняются.
  • На лендинге корректно отображается лимит устройств тарифа. Исправлены единицы и ограничения минутного триггера рассылок об окончании подписки.
  • В поддержке уточнены действия открытия и закрытия обращений, разделены активные обращения и история. Клиентское удаление тикетов запрещено.

Загрузка и синхронизация

  • Страницы кабинета, лендинга и магазина загружаются по мере открытия. Административные модули исключены из предварительного PWA-кэша клиента.
  • Улучшено обновление PWA с учётом открытых форм и оплаты, добавлена очистка устаревшего кэша. Анимации переведены с GSAP на Framer Motion.
  • Счётчики аналитики рассчитываются в базе; запросы синхронизации Remna объединены в пакеты.
  • Исправлена синхронизация нескольких подписок одного Telegram-пользователя: обновлённые связи больше не заменяются устаревшими данными из памяти.
  • API, настройки и обработчики бота разделены на модули. Сохранены действующие маршруты, проверки доступа и интеграция «Мой Налог».

Обновление

Перед установкой создайте и скачайте резервную копию. Откройте Настройки → Обновления, запустите штатное обновление и дождитесь его завершения. Проверьте вход, подписки, настройки платежей и /start в боте. Инструкция по обновлению.

При переходе с 6.9.1 добавляются две миграции:

  • 20261106000000_withdrawal_sbp_and_card — способ и реквизиты вывода; старые USDT-адреса сохраняются.
  • 20261109090000_payment_delivery — таблица состояний выдачи оплаченных покупок.

Для сохранения личного выбора меню бот использует том bot_preferences и переменную BOT_WIDGET_PREFERENCES_DIR=/data/widget-preferences. Они включены в Compose проекта. При собственном способе запуска подключите постоянный каталог: без него предпочтения потеряются при пересоздании контейнера.

Старые оплаченные заказы, оставшиеся без активации до обновления, необходимо сверить отдельно. Обновление не запускает повторную выдачу всех исторических платежей.

Проверены сборки трёх приложений, регрессионные сценарии, мобильные и настольные интерфейсы, переключение меню в Telegram Web и сохранение выбора после перезапуска. Платёжные сценарии проверялись с заглушками провайдеров и отдельной PostgreSQL; реальные списания не проводились. Проверка не охватывает все версии мобильного Telegram.

Все изменения с 6.9.1