Перейти к содержимому
Ввод и данные

Список (корзина): бот копит выбор клиента в один список

Клиент набирает позиции по кнопкам, а бот складывает их в корзину-переменную — с лимитом и защитой от дублей.

Кратко

«Список (корзина)» в конструкторе Telegram-ботов Forgebot — это блок сценария, который копит выбранные клиентом позиции в одну переменную-список: добавляет новую, убирает лишнюю или очищает всё. Ставьте его туда, где нужно собрать корзину товаров, список гостей или любой набор ответов, растущий по ходу диалога.

Бесплатный тариф — без карты.

Панель настроек блока «Список (корзина)» в редакторе
О блоке

Что делает блок «Список (корзина)»

Обычная переменная хранит одно значение и затирается новым. Список копит их одно за другим — как корзина, куда клиент по кнопкам складывает товары. На каждом шаге вы выбираете, что сделать: добавить позицию, убрать её или опустошить список целиком. Клиент просто нажимает кнопки, а бот держит набор при нём и может показать его в следующем сообщении.

Поля

Настройки блока

Панель настройки блока — что заполнить:

Действие
Что сделать со списком: положить в него позицию (добавить), убрать её или полностью очистить. По умолчанию — «добавить». Для действия «убрать» бот удалит из списка все одинаковые позиции сразу.
Переменная-список
Имя «корзины», в которую копятся выбранные позиции — например cart. Пишется латиницей, цифрами и знаком _, и не начинается с цифры.
Что добавить / убрать
Что именно положить в список или убрать из него — обычный текст или подстановка вроде ответа клиента {{user_input.text}}. Каждое добавление — одна позиция списка. До 1024 символов. Не показывается для действия «очистить».
Где хранить результат
Помнить список за клиентом насовсем (переживёт разные диалоги) или только на время текущего прохождения сценария. По умолчанию — за клиентом.
Без дублей (не добавлять повторно)
Не класть в список одно и то же второй раз: повторный выбор просто игнорируется. По умолчанию выключено. Доступно только для действия «добавить».
Максимум позиций (1–200)
Сколько позиций максимум помещается в список — от 1 до 200, по умолчанию 50. Когда список полон, новое не добавится, а в переменной last_list_full окажется true. Доступно только для действия «добавить».
Пример

Пример: корзина в кофейне

Клиент по кнопкам выбирает «капучино», «круассан», «эклер» — блок «Список» с действием «добавить» складывает их в корзину cart. Кнопка «Убрать» удаляет позицию, «Оформить» ведёт дальше, а бот в следующем сообщении показывает собранную корзину.

FAQ

Частые вопросы

Что будет, когда список заполнится?

Когда в списке уже максимум позиций (по умолчанию 50, можно поднять до 200), новая позиция не добавится, а в переменной last_list_full станет true. По ней удобно показать клиенту сообщение «корзина полна» и увести на оплату.

Как убрать из корзины один товар?

Поставьте блок «Список» с действием «убрать» и укажите ту же позицию — бот уберёт из списка все одинаковые элементы сразу. Чтобы опустошить корзину целиком, выберите действие «очистить».

Чем «Список» отличается от обычной переменной?

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

// Начните сегодня

Запустите Telegram-бота с Forgebot

Соберите первый сценарий, отвечайте подписчикам и смотрите аналитику — бесплатно, без кода.

Бесплатный тариф: 1 бот, 5 сценариев, 100 подписчиков. Без карты.