Как накопить данные в параметре через реакцию
Бывает удобно собирать данные «голосом», прямо в чате с ботом, без открытия админки. Мастер сфотографировал новый товар на телефон → отправил боту с подписью → бот сохранил его в каталог. Менеджер написал боту вопрос и ответ → бот добавил их в базу FAQ. Это называется «накопительный параметр»: одна реакция, которая принимает сообщение и кладёт его очередной строкой в общий список.
📌 Зачем
- Каталог товаров или услуг — фото с ценой и названием.
- FAQ — список «вопрос/ответ» для бота-консультанта.
- Контакты или адреса филиалов — текст и геолокация.
- Расписание занятий или мероприятий — даты и описание.
- Чек-лист задач или достижений — что угодно, что хочется накопить.
Везде идея одна: сказал волшебное слово — отправил сообщение — оно осело в общем списке, доступном в других реакциях через подстановку.
🎯 Кому подойдёт
Мастерам, преподавателям, организаторам мероприятий, маленьким студиям — тем, кто хочет вести небольшую базу в боте, без отдельной CMS и без захода в браузер. Для больших объёмов (сотни записей с фильтрами и кабинетом покупателя) нужны специализированные решения.
🛠 Как настроить
Если бота ещё нет — пройдите быстрый старт для Telegram или ВКонтакте. Дальше всего два шага: создать параметр и собрать одну реакцию.
1. Параметр
В разделе «Параметры» создайте параметр с понятным именем (например, catalog, faq, contacts). Режим хранения — «Хранить все значения». В этом режиме каждое новое значение добавляется отдельной строкой, прежние не затираются — ровно то, что нужно для накопления.
2. Реакция «Принять данные»
- В блоке «1. Срабатывает на» включите «1.1.1. Содержит ключевые слова» и добавьте короткое слово-команду — например,
товар,добавить,вопрос. Это «вход в админ-режим» бота. - В блоке «2. В чатах» поставьте «В личных сообщениях». Чтобы случайные пользователи в группе не могли добавлять данные, можно дополнительно ограничить разрешённый чат конкретным id (вашим личным с ботом).
- В блоке «4. Действия» в уже включённом «4.1. Отправить сообщение» добавьте одно сообщение типа «Текст» с инструкцией — что отправить дальше. Например: «Отправьте фото товара с подписью в формате «Название \| Цена».» либо «Напишите вопрос и ответ через тире.»
- В этом же сообщении нажмите «Сохранить ответ». Откроется окно с настройками:
- «Ожидаемый ответ»: выберите тип того, что вы пришлёте боту. Фото — для каталога с картинками. Текст — для FAQ, контактов, расписания. Можно выбрать оба.
- «Параметр пользователя»: ваш накопительный параметр (
catalog). - «Режим»: «Хранить все значения» — значения копятся.
- «Глобальный»: включить. Это важная галка: без неё параметр будет приватным для каждого пользователя; с ней — один общий список, видимый из любой реакции.
Готово. Реакция работает: вы пишете боту «товар», он отвечает «Отправьте фото…», вы шлёте фото с подписью — бот сохраняет его в catalog очередной строкой.
🔍 Что получилось
Каждый раз, когда вы добавляете элемент, в базе бота появляется новая запись параметра. Если открыть админку и посмотреть значения параметра catalog, вы увидите все сохранённые фото с их подписями.
Дальше эти данные можно использовать в других реакциях через подстановки и формулы:
{global:catalog:1}— первое значение списка.{global:catalog:1-}— весь список (массив).- В формулах:
{formula:JP({global:catalog:1};"$.caption")}— подпись первого элемента.
{formula:COUNTA({global:catalog:1-};"")}-1— сколько элементов в списке.
{formula:FIELD({user:input};" \| ";0)}— первое поле строки с разделителем.
💡 Полезные расширения
- Реакция-просмотр — команда «список», по которой бот выводит текущее содержимое параметра в сообщение.
- Реакция-очистка — команда «очистить», в настройке параметров реакции используется режим «Удалить все значения». Полезно при отладке или для «начать заново».
- Формат записи с разделителем — если в подписи писать «Название \| Цена», потом можно вытащить любое поле формулой
FIELD(текст; " \| "; 0). Удобно для каталога с вычислимыми суммами. - Безопасность — ограничьте реакцию вашим личным чатом, чтобы посторонние не могли «загрязнить» список. Это особенно важно, если бот доступен публично.
📦 Готовый кейс на этой технике
Главное применение этого паттерна, ради которого мы его описали — Telegram-бот-магазин с корзиной. Каталог собирается этой техникой, а витрина с листанием товаров, корзиной и оплатой — уже отдельная статья.
Если нужна помощь
SamBot — это конструктор, всё описанное собирается мышкой в админке без программиста. Если разбираться некогда — напишите нам, поможем настроить под вашу нишу или предложим готовый шаблон.