← Примеры сценариев

Список покупок, который бот держит за вас

Пишете «купи ещё молока» обычными словами, бот добавляет, показывает и чистит список по просьбе.

Как выглядит сценарий

Сообщение о покупках
Что просили сделать▶
Модель▦
Ветка по действию▶
Добавить позиции▶
Показать список▶
Очистить▶
Ответ: добавил▶
Ответ: список▶
Ответ: очистил▶
Ответ о добавлении▶
Ответ со списком▶
Ответ об очистке▶
  • Исполнение + данные
  • LLM
  • Исполнение
Открыть у себя →

Список покупок в заметках теряется между устройствами, а приложение для списка открывают раз в месяц. Мессенджер открыт всегда, и в него можно писать как думаешь: «купи ещё молока», «что там у нас», «всё, вычеркни».

Что внутри

  1. Сообщение о покупках — вход.
  2. Что просили сделать — разбор. Он превращает обычную фразу в действие и список позиций: команд у бота нет, есть намерение.
  3. Ветка по действию — три исхода: добавить, показать, очистить.
  4. Три ноды работы с коллекцией и три ответа под каждый случай. Документ для записи собирается прямо в поле «Документ»: {{ … }} в его значениях подставляются перед записью.

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

Две тонкости проводки, которые ломаются тихо

К чтению и очистке идут тонкие рёбра «исполнение». Нода выборки и нода удаления принимают пришедшее значение за фильтр, поэтому обычное ребро с данными сделало бы фильтром разобранную команду. И результат выборки это объект {docs, count}: перебирать нужно output.docs, иначе цикл пройдёт по ключам объекта и напечатает пустые строки, ничего при этом не сломав.

Что настроить под себя

  • Коллекция — один и тот же идентификатор в трёх нодах.
  • Разбор. Сейчас различаются три действия. Добавьте «вычеркни молоко» — понадобится четвёртая ветка и удаление по условию, а не полная очистка.
  • Вид списка в ответе: сейчас маркированный список, одна строка на добавление.

Что подключить

Коллекция в разделе «Таблицы» и бот Telegram. Внешних сервисов не нужно.