SmartBot
  • SmartBot - конструктор ботов для ВКонтакте
  • Подключение
  • Создание сценариев
    • Простые команды
    • Цепочка диалога
    • Как работает бот
    • Шаги
      • Отправить сообщение
      • Ждать сообщение
      • Установить переменную
      • Переход
      • Отложенный переход
      • Извлечь данные
        • Фильтры
        • Шаблон
        • Переход в случае ошибки
      • Таймер
      • Написать админу
      • Записать событие в статистику
      • Работа с аудиторией
      • Выполнить SmartQuery
      • Смена контекста
      • HTTP-запрос
    • Реакции
      • Фильтр предобработки
      • Реакция на оплату
    • Переменные
      • Специальные переменные
      • Пользовательские переменные
      • Операции с переменными
      • Временные переменные
      • Отличия шага Установить переменную и SmartQuery
    • Условия
    • Кнопки
      • Текстовая кнопка
      • Кнопка-переход
      • Кнопка-ссылка
      • Inline-кнопки
      • Кнопка-Vk pay
  • Работа с подписчиками
    • Рассылки
      • Создание рассылок
      • Таргетирование рассылки
      • Отписка от рассылок
      • Email-рассылка через Smartbot
    • Раздел "Пользователи"
    • Списки пользователей
    • Лендинги
      • Создание лендингов
      • Оплата через лендинг
      • Кнопка "подписаться"
      • Интеграция с рекламным кабинетом ВК
      • Запуск рекламного объявления
    • Онлайн-оплата
    • Сбор статистики
  • Модули
    • Яндекс.Деньги
    • Виджет
    • Гугл-таблицы
    • Геймификация
      • Взаимодействие пользователей
    • Источники переходов
    • Модуль HTTP-запросы
      • Пример использования
      • Способы подтверждения владения доменом
  • Скрипты на SmartQuery
    • Введение
    • Синтаксис языка
    • Справочник функций
    • Рецепты
      • Работа с регулярными выражениями
      • Форматирование длинных чисел
      • Разные ответы в зависимости от пола пользователя
      • Шаг "Показать топ" с emoji
      • Простая корзина товаров
      • Корзина товаров со счётчиком каждой позиции
      • Фильтрация спама
      • Получить ссылку на фото из сообщения пользователя
      • Данные из отвеченных и пересланных сообщений
      • Выдача промокодов
  • Политика конфиденциальности
Powered by GitBook
On this page
  • Создаём переменные
  • Цепочка для добавления товара в корзину
  • Цепочка для удаления товара
  • Тестируем

Was this helpful?

  1. Скрипты на SmartQuery
  2. Рецепты

Корзина товаров со счётчиком каждой позиции

Работа со словарями

PreviousПростая корзина товаровNextФильтрация спама

Last updated 5 years ago

Was this helpful?

В этой статье мы используем словарь для хранения товаров в корзине пользователя с учётом количества единиц каждого товара в корзине.

Создаём переменные

Обратите внимание на начальное значение переменной: {} — это пустой словарь.

Создадим также переменную для хранения добавляемого товара:

Цепочка для добавления товара в корзину

%корзина%[%товар%] = %корзина%.get(%товар%, 0) + int(%сообщение%)

Здесь мы берём старое значение для указанного товара (или 0, если товара в корзине нет) и прибавляем к нему указанное пользователем значение. Так как тип переменной %сообщение% — Строка, то сначала необходимо преобразовать значение переменной к числу с помощью функции int().

{{ %корзина% | pretty }}

Цепочка для удаления товара

del %корзина%[%сообщение%]
{{ %корзина% | pretty }}

Тестируем

Ждём, пока пользователь выберет товар
Сохраняем его ответ в переменную %товар%
Ждём, когда пользователь укажет число единиц товара
Отправляем пользователю текущее содержимое корзины
Ждём ответа пользователя
Удаляем ключ со значением из переменной %сообщение% из словаря %корзина%
Выводим пользователю текущее содержимое корзины