Список покупок, который бот держит за вас
Пишете «купи ещё молока» обычными словами, бот добавляет, показывает и чистит список по просьбе.
Как выглядит сценарий
- Исполнение + данные
- LLM
- Исполнение
Список покупок в заметках теряется между устройствами, а приложение для списка открывают раз в месяц. Мессенджер открыт всегда, и в него можно писать как думаешь: «купи ещё молока», «что там у нас», «всё, вычеркни».
Что внутри
- Сообщение о покупках — вход.
- Что просили сделать — разбор. Он превращает обычную фразу в действие и список позиций: команд у бота нет, есть намерение.
- Ветка по действию — три исхода: добавить, показать, очистить.
- Три ноды работы с коллекцией и три ответа под каждый случай. Документ для записи
собирается прямо в поле «Документ»:
{{ … }}в его значениях подставляются перед записью.
Список лежит в коллекции, а не в памяти диалога. Память забудется, когда беседа остынет, а коллекция лежит в базе: список переживает и перезапуск бота, и месяц молчания.
Две тонкости проводки, которые ломаются тихо
К чтению и очистке идут тонкие рёбра «исполнение». Нода выборки и нода удаления
принимают пришедшее значение за фильтр, поэтому обычное ребро с данными сделало бы фильтром
разобранную команду. И результат выборки это объект {docs, count}: перебирать нужно
output.docs, иначе цикл пройдёт по ключам объекта и напечатает пустые строки, ничего при
этом не сломав.
Что настроить под себя
- Коллекция — один и тот же идентификатор в трёх нодах.
- Разбор. Сейчас различаются три действия. Добавьте «вычеркни молоко» — понадобится четвёртая ветка и удаление по условию, а не полная очистка.
- Вид списка в ответе: сейчас маркированный список, одна строка на добавление.
Что подключить
Коллекция в разделе «Таблицы» и бот Telegram. Внешних сервисов не нужно.