Управление балансом и лимитом пользователей
Эта инструкция описывает, как настроить в вашем боте полноценную систему учета и списания AI-запросов с баланса пользователей.
Это обязательный шаг для любого публичного бота, чтобы избежать неконтролируемого расхода вашего баланса.
Как это работает?
Основная логика очень проста:
Пользователь выполняет AI-действие в вашем боте (например, генерирует изображение).
После успешного выполнения, система Puzzle AI автоматически вызывает в вашем боте заранее определенную команду-триггер (например,
imagen_done).Внутри этой команды-триггера вы настраиваете логику: списать запросы с баланса, проверить остаток и др.
Шаг 1. Базовая подготовка
Сначала создадим основные элементы, которые понадобятся для всех типов моделей.
Создайте переменную для баланса:
Перейдите во вкладку «Переменные».
Создайте новую персональную переменную (например,
req_exp) с типом «Число» и значением по умолчанию0. В ней будут храниться AI-запросы каждого пользователя.

Вы можете создать одну переменную для всех операций или несколько разных (например, req_text, req_image) для более гибкой настройки.
Создайте команду-ошибку:
В конструкторе PuzzleBot создайте новую команду (например,
TextModels_error)В ней настройте сообщение для пользователя о том, что у него закончились запросы.
В действиях команды можно добавить пользователю категорию модерации (например,
gpt_mute). Это специальный функционал Puzzle AI, который позволяет гибко блокировать доступ к нейросетям.Мы подробно разобрали, как это работает, в отдельном руководстве: Управление доступом — Ограничивающие категории (..._mute).

Создайте условие для проверки баланса:
Создайте новое «Условие» (например,
textModelsReq_check).Внутри него настройте правило: "Если переменная
req_expменьше или равна0", то выполнить действие "Отправить командуtextModels_error".

Шаг 2. Настройка команды-триггера (на примере gpt_done)
gpt_done)Теперь настроим логику для одной конкретной команды-триггера. Все остальные настраиваются по аналогии.
Создайте новую обычную команду с точным названием
gpt_done.Перейдите во вкладку «Действия» этой команды.
Добавьте два действия по порядку:
Действие 1: «Изменить переменную». Выберите вашу переменную
req_expи укажите выражение для вычитания стоимости. Например,-1.Действие 2: «Отправить условие». Выберите созданное ранее условие
textModelsReq_check.

Готово! Теперь каждый раз после генерации через модель gpt-4.1-nano у пользователя будет списываться 1 AI-запрос, после чего система проверит, не закончился ли его баланс.
Для настройки списания для других моделей используйте наш справочник команд-триггеров.
Справочник команд-триггеров (..._done)Последнее обновление
Это было полезно?