ОБЫчНая КОМАНДА

НАЗВАНИЕ КОМАНДЫ

Названия можно писать и по-русски, и по-английски.

▫️ Русские удобны для навигации — их легко вводить, и при просмотре вкладки «Диалоги» понятнее, какая команда сработала (проще запомнить название).

▫️ Английские удобны для отладки — можно писать со слэшем, например /test. Можно будет просто нажимать на команду в боте, чтобы повторять ее запуск.

Вкладка «Дополнительные настройки»
Испотзуется не так часто в проектах, но некоторые функции важны.

ДОПОЛНИТЕЛЬНЫЕ НАСТРОЙКИ

«Синонимы» — позволяют задать слова или фразы, при вводе которых бот запустит нужную команду.
Если пользователь введёт в бот само название команды, оно тоже сработает как синоним. Чтобы избежать этого, можно включить пункт «Выполнение только из клавиатуры» — тогда команда сработает только при нажатии кнопки.
«Выполнение из текущей группы» — ограничивает запуск команд только внутри определённой группы.
«Отправить один случайный блок» — отправляет один случайный блок из команды, что удобно для рандомизации контента (например, случайные советы, цитаты или задания). Иногда проще реализоваать в связке с базой данных.

ДОПОЛНИТЕЛЬНЫЕ НАСТРОЙКИ

«Удалить текущую команду после выдачи следующей» — удобно, если нужно, чтобы пользователь не мог вернуться и повторно нажать кнопку предыдущей команды. Эту же механику можно реализовать через инлайн-кнопки или условия.
«Защита контента от пересылки» — блокирует возможность пересылки и сохранения сообщений. Иногда важно включать этот параметр не только для текущей команды, но и для нескольких соседних.
«Отображать в меню» — добавляет команду в стандартное меню бота (кнопка «Меню» в левом нижнем углу).
«Отправить с эффектом» — публикует сообщение с выбранным эмоджи, создавая анимацию при отправке с телефона.
Вкладка «Действия»
Это скрытый от глаз пользователя функционал в боте, но именно он позволяет нам настраивать самые интересные механики.
Большая часть действий в команде отрабатывает после выдачи команды. Это важно помнить и учитывать при проектировании.

Есть несколько действий, для которых можно выбрать «До» или «После»:


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

Порядок действий тоже важен. Некоторые сбои случаются по причине неверной последовательности этих блоков.

«Отправить команду или условие» — основной и самый часто используемый пункт. С его помощью настраиваются переходы между командами и внесение изменений.
«Отправить случайную команду из группы команд» — позволяет ботy выбрать одну случайную команду из заданной группы. Подходит для выдачи контента в случайном порядке, хотя сейчас чаще используется база данных для таких решений.
«Изменить категории» — включает или выключает определённые категории при запуске команды. Это помогает управлять доступами, логикой сценариев и сегментацией пользователей.
«Действие в ресурсах» — используется для взаимодействия с подключёнными Telegram-группами и каналами. Например, можно автоматически удалить пользователя, заблокировать его или принять заявку на вступление.
«Заблокировать пользователя» — выполняет блокировку конкретного пользователя внутри бота.

«Изменить сценарии» — включает или отключает сценарии с рассылками и действиями внутри бота.
«Очистить корзину» — относится к модулю магазина.
«Отключить рекуррентный платеж» — прекращает автосписание средств, например, при самостоятельном отключении подписки пользователем.
«Действие с диалогом» — включает или отключает функцию диалога. Используется вместе с вкладкой «События», где настраиваются реакции бота. Подробно разбирается в отдельном уроке.
«Изменить переменную» — задаёт новое значение выбранной переменной. Для числовых переменных доступны формулы, для текстовых — операции с текстом. Подробности есть в шпаргалке и статье PuzzleBot.
«Очистить переменную» — сбрасывает значение переменной до указанного по умолчанию.

«Отправить триггеры» — запускает механику, настроенную в подключенной группе.
«Очистить статистику» — обнуляет внутреннюю статистику бота. Например, если какая-то механика привязана к числу запуков команд, эти данные можно обнулить.

Действия с Google таблицами и базой NocoDB - может создать новую строку или внести правки в любую ее часть, настроив фильры. Подробнее разбираем на примере других уроков.

AmoCRM и Bitrix - работаем с CRM системами из бота.

«Поставить реакцию» — публикует реакцию на команду, из которой отработала команда с реакцией.
«Удалить через время» — удаляет команду спустя выбранное время. Удалить можно максимум спустя 48 часов - ограничения самого телеграма.
«Удалить обычную клавиатуру» - иногда в процессе прохождения анкеты остается обычная клавиатура. Используем, чтобы удалить ее принудительно или удалить меню, созданное через кнопки.
«Отправить уведомление» - сообщение уходит в личный кабинет. Иконка в колокольчиком в правом верхнем углу кабинета. Сама не пользуюсь.
«Удалить сообщение пользователя» - используем если запусаем команду из бота, вводя ее название
. Можно удалить удаление этого запроса.
«Закрепить первый блок» - закреплят содержимое команды. Работает как закреп в канале.
«Открепить все сообщения» - чтобы не копить множество закрепов, можно первым действием открепить все закрепы и следом закрепить актуальное.
«Отправить запрос» - это действие для сложных механик. Отправки api запроса из конструктора.



ПРЯМАЯ ССЫЛКА НА КОМАНДУ

Можно копироваать и отправлять прямую ссылку, но на практике использую её только, когда согласовываю логику с заказчиком.

Почему не стоит пускать новых людей через такие ссылки:

▫️ Каждый новый подписчик обязан пройти через старт — это нужно, чтобы бот получил право писать человеку.
▫️ Даже если человек зайдёт по прямой ссылке, бот всё равно покажет тот контент, который привязан к старту. Поэтому удобнее сразу настраивать выдачу разных сценариев именно там.

Эту тему подробно разберём в отдельном уроке.
Вкладка «Блоки»
Это та часть, которую видит пользователь в боте. Весь визуал настраиваем здесь. В обычных командах больше блоков, чем в инлайн-командах. Дальше мы разберем отдельно каждый блок.

ТЕКСТ

Блок для ввода текста с лимитом 4096 символов.

Здесь можно вставлять переменные и эмоджи, подключать обычные и инлайн-кнопки.

Можно включить предпросмотр первой ссылки или добавить изображение в конце текста с рамкой предпросмотра.

Для картинок всё же удобнее использовать отдельный блок.


ОБЫЧНАЯ И ИНЛАЙН КЛАВИАТУРА

Есть два вида кнопок.

Обычная клавиатура — кнопки, которые всегда висят внизу чата и не привязаны к конкретной команде. Можно идти по цепочке сообщений, и они будут оставаться на месте. Минус в том, что Telegram может скрывать их по своим причинам. Даже если вы добавите картинки и инструкции, часть людей всё равно теряется и не понимает, куда нажать. Для продвинутой аудитории подойдёт, но риск запутать подписчика остаётся.

Инлайн-клавиатура — кнопки, привязанные к конкретному блоку. Появляются там, где вы их разместили, и работают надёжнее.


ИЗОБРАЖЕНИЯ

Блок позволяет добавить одну картинку. Лучше заранее уменьшить файл, чтобы он быстро загружался и не забивал память устройства.

Лимит — 10 МБ.

Картинка весом 150–200 КБ уже выглядит нормально.
Поддерживаемые форматы: bmp, gif, jpeg, png.
Под изображением можно разместить текст до 1024 символов.


ЗАГРУЗКА ИЗОБРАЖЕНИЯ

Загрузить изображение можно двумя способами:
через прямую загрузку с устройства или через ID файла из Control Panel.

Чтобы получить ID, отправьте в свой бот команду /cp, выберите «Загрузить файл» и возьмите выданный код. Вставьте его в команду. Эта функция доступна только владельцам и администраторам бота.

Картинку можно спрятать под спойлер или показать за звёзды.


ВИДЕО

У видео всегда показывается превью первых секунд, поэтому не делайте затемнение в начале. Лучше смонтировать нормальную обложку.

Если загружать ролик через /cp, можно добавлять таймкоды — они будут переключать зрителя на нужный момент.

Видео до 10 МБ обычно автопроигрываются (если подписчик не менял настройки Telegram). Субтитры удобно сделать в CupCat.
Делайте короткие видео — до 20 минут. Длинные ролики в боте смотреть неудобно.

Оптимально давать дополнительно ссылки на видео на VK или RuTube. Эти сервисы открываются без VPN, и ролики можно загружать с доступом по ссылке.

АУДИО

Этот блок позволяет загружать аудио и голосовые сообщения Telegram.

Если хотите, чтобы файл отображался без расширения, отредактируйте его через Aimp. Этому будет посвящён отдельный урок.


ДОКУМЕНТ

Этот блок позволяет загружать файлы и стикеры прямо в Telegram.

Файлы лучше размещать внутри бота. Давать ссылки на Яндекс Диск и другие сервисы — слабое решение: человек уходит из бота, теряет фокус и может не вернуться.

Если у вас большой набор материалов и всё же нужен внешний сервис, делайте это как опцию, а не как основной путь: сначала отдайте файлы в боте, а потом предложите дополнительную ссылку для сохранения.

Продумывайте удобство подписчика и снижайте его энергозатраты на каждом шаге.


ГЕОПОЗИЦИЯ

Этот блок позволяет отправить геоточку из Google Карт.

Идея рабочая, но я эту функцию не использую. Проще дать ссылку на Яндекс Карты — там больше российских объектов, и подписчик сразу может включить навигатор.


КОНТАКТ

Этот блок позволяет отправить контакт, который подписчик может сразу сохранить в Telegram.

Минус в том, что у Telegram есть ограничение: если слишком много людей запросит контакт одновременно, бот не сможет его выдать.

Функция подходит для закрытых корпоративных сценариев, где нагрузка контролируемая.


МЕДИАГРУППА

Этот блок собирает изображения в галерею — так же, как это выглядит в каналах Telegram. Можно загрузить до 10 картинок, при желании подставляя их ID из переменной.

Обычно галерею сначала собираю «вручную»: пробую разные сочетания, группирую изображения и смотрю, что выглядит эстетичнее. Уже готовый вариант переношу в бот.


ФОРМА ВВОДА

Очень востребованный блок. Позволяет собирать анкеты и запрашивать нужные данные у подписчика.

Подробно разберём его в отдельных уроках.


ТАЙМАУТ

Блок с паузой. Позволяет поставить задержку перед следующим действием или выдачей контента.

Например, вы даёте видео на 2 минуты, после паузы бот автоматически отправит следующую команду.

Ещё один вариант: напомнить о себе, если подписчик не нажал кнопку и не пошёл дальше по цепочке.


СЛАЙДЕР

Тоже востребованный блок. Это листалка, в которую можно выводить данные из бота, из Google Таблиц или из базы NocoDB.

Подробно разберём в отдельных уроках.


СПИСОК

Блок позволяет выдавать текст по списку или случайным образом.

В проектах я использую его для отправки вдохновляющих фраз. Так же можно раздавать промокоды из подготовленного списка.


РЕЗУЛЬТАТ

Блок для выдачи результата из формы ввода.

Раньше он был нужен, но после появления условий в конструкторе необходимость в нём практически исчезла. Теперь всё это проще делать через условия.


ТОВАР

Блок выдаёт товары из модуля «Магазин».

В проектах я его не использую: сейчас у него есть ограничения, которые мешают применять его в реальном бизнесе.


Ирина Захарова
Разработчик ботов
Made on
Tilda