Botmother – Telegram
Botmother
2.47K subscribers
208 photos
52 videos
237 links
🤖 Канал конструктора чат-ботов Botmother.ru — тут про новости, обновления, кейсы и интересные фишки.
💬 Присоединяйтесь к нашему чату @botmotherchat, чтобы общаться с единомышленниками и обмениваться идеями.
Download Telegram
💡 Как поделиться с ботом своим местоположением

Отправить в бот координаты можно двумя способами — оставив местоположение один раз или транслируя геопозицию в течении некоторого времени.

Единоразово отправить свое местоположение боту можно с помощью Кнопок с подсказками, Развилки или Ввода от пользователя. После отправки геолокации у пользователя появятся переменные для широты lastUpdate.parsed.location.lat и долготы lastUpdate.parsed.location.long

Для того чтобы координаты приходили в бот с периодичностью два раза в минуту, настройте событие Трансляция геопозиции. Выберите тип события — Трансляция геопозиции (Telegram), придумайте имя переменной, куда будут записываться координаты и выберите экран, который будет срабатывать каждый раз, когда в бот будет приходить геопозиция.

Чтобы оператору бота было известно местоположение пользователя в режиме реального времени, добавьте на экран выбранный в событии Алерт. В его тексте будут выводиться текущие координаты пользователя:

{{lastUpdate.parsed.location.lat}} и
{{lastUpdate.parsed.location.long}}


Событие сработает, как только подписчик бота начнет транслировать свою геопозицию со смартфона. Ее включение находится рядом с полем для сообщений под значком скрепки. Пользователь должен включить геопозицию и выбрать пункт Транслировать мою геопозицию. После этого нужно выбрать время в течении которого местоположение будет передаваться в бота. Выбранное время трансляции в запишется в переменную livePeriod в секундах.

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

Подробнее про событие Трансляция геопозиции (Telegram) можно узнать в статье в базе знаний.

#ботхаки
👍3👏32🔥2
💡 Как форматировать текст в Нативном запросе Телеграм

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

Теги должны быть в параметре "text" вокруг сообщения, которое придет пользователю:

{
"chat_id": "{{this_user.platform_id}}",
"text": "<b>Это предложение должно быть выделено жирным шрифтом</b>",
"parse_mode": "HTML", "disable_web_page_preview": true
}


Для переноса строк добавьте \n там где строка должна заканчиваться:

{
"chat_id": "{{this_user.platform_id}}",
"text": "<i>Это предложение должно быть выделено курсивом</i>\n<code>Этот текст должен отображаться как код</code>",
"parse_mode": "HTML", "disable_web_page_preview": true
}

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

Подробнее про форматирование текста через Нативный запрос можно узнать в статье в базе знаний.

#ботхаки
👍5🔥52🥰2
💡 Как ускорить работу в редакторе ботов

Копируйте компоненты с похожим наполнением. Не создавайте каждый раз с нуля запросы с одинаковыми URL и телом запроса, сообщения, кнопки с близким содержанием и так далее.

Чтобы скопировать компонент на тот же экран, откройте настройки компонента и нажмите кнопку «Дублировать». Копия компонента появится под оригиналом который вы копировали.

Чтобы скопировать компонент на другой экран, нажмите кнопку «Скопировать на», выберите экран из выпадающего списка и нажмите «OK».

Перемещайте компоненты по экранам в три клика. Вместо того чтобы тащить компонент мышкой, нажмите кнопку «Переместить на» и выберите нужный экран. Компонент перенесется после нажатия на «ОК». Такой способ сэкономит время работы в больших ботах.

Перемещайте компоненты внутри экранов стрелками. Кнопки «В начало ↑» и «В конец ↓» перенесут компонент на самый верх или в самый низ экрана одним кликом. Нажатие на кнопку со стрелкой без текста поднимет компонент выше или опустит ниже на один шаг.

Ищите экраны по тексту на них, а не только по названию. Если вы забыли название экрана который ищите, но помните что написано в компонентах, то в поиске вкладки «Все экраны» напишите текст с экрана. Внизу этой вкладки появятся результаты «Экраны по тексту на них». Точно также работает поиск по ID экрана.

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

#ботхаки
👍8🔥4
💡 Как сохранить файлы от пользователя в боте

Чтобы файлы — изображения, видео, документы, а также тексты и другие данные пользователей сохранялись в боте, их нужно записывать в переменные.

В переменные информацию записывают Развилка и Ввод от пользователя. Текст в переменной появляется в таком же виде, как его прислал пользователь, а вот файл или изображение придет в переменную в виде ссылки.

Чтобы записать в переменную ссылку на файл, тип ожидаемых данных у компонентов должен быть «Файл». В настройках этих компонентов нужно указать имя переменной куда попадут данные. Ввод от пользователя или Развилка должны быть именно в том месте бота, где ожидается отправка файла пользователем.

Если нужно поймать файл в любом месте бота, а не только где есть Развилка или Ввод от пользователя, создайте Событие Файл.

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

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

С активным чекбоксом «Приоритет над другими событиями» файл запишется в переменную указанную в событии, ответ пользователю придет из настроек события, даже если отправить файл находясь на Развилке или Вводе от пользователя.

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

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

Подробнее про событие Файл можно узнать в статье в базе знаний.

#ботхаки
🔥4👍2
🚀 Партнерская программа Botmother

Запускаем пилотную версию Партнерской программы.

Станьте нашим партнером и получайте преимущества:

20% от всех платежей привлеченных пользователей. Бонус выплачивается до 14 числа месяца следующего после оплаты. Вознаграждения доступны ИП и самозанятым зарегистрированным на территории РФ.

Совместные спецпроекты, реклама и сотрудничество. Перенаправим часть наших клиентов на сборку ботов к вам.

Приоритетная поддержка в чате.

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

Для того, чтобы стать партнером и по остальным вопросам партнерской программы пишите @AlexGnch
🔥9
💡 Как удалить несколько сообщений от бота в Телеграме

Метод deleteMessages в Нативном запросе удаляет до ста сообщений за один раз.

Удалятся те сообщения, ID которых вы укажете, поэтому ID предварительно нужно записать.

Чтобы записать ID сообщения, добавьте после него Запись переменной со значением {{lastMessageId}}
Имя переменной может быть любым.

После сообщений и записи их ID добавьте Нативный запрос, выберите метод deleteMessages. В настройки компонента скопируйте Тело запроса. В параметр message_ids добавьте имена переменных, куда записались ID удаляемых сообщений:

{
"chat_id": "{{this_user.platform_id}}",
"message_ids": ["{{delete1}}", "{{delete2}}"]
}

По правилам Телеграма нельзя удалять сообщения, после отправки которых прошло более 48 часов

Подробнее о том как удалять сразу несколько сообщений можно узнать в статье в базе знаний.

#ботхаки
9🔥3👍1
Botmother pinned «🚀 Партнерская программа Botmother Запускаем пилотную версию Партнерской программы. Станьте нашим партнером и получайте преимущества: • 20% от всех платежей привлеченных пользователей. Бонус выплачивается до 14 числа месяца следующего после оплаты. Вознаграждения…»
💡 Как отделить ссылку или email от остального сообщения пользователя

Что делать если пользователь присылает лишний текст вместе с ожидаемыми данными — ссылкой, емейлом или номером телефона?

Чтобы отделить нужные данные, добавьте Развилку в месте ожидания сообщения. Создайте Цель Развилки, в настройках Цели поменяйте тип данных на Регулярное выражение и добавьте регулярное выражение, которое будет пропускать нужный тип данных. В нашем случае это ссылка:
((http|https):\/\/[^\s]+)

Разверните дополнительные настройки Цели и придумайте имя переменной, например link_match. Добавьте новое значение переменной {{\match}}

Готово. Ссылку можно выводить в текст: {{get link_match 1}}

Число в конце шаблона зависит от того, что попало в переменную link_match. Как правило, в переменной оказывается список. Из списка нужно вывести элемент со ссылкой. В нашем случае ссылка пришла вторым по счету элементом, но так как нумерация в списке идет с нуля, в конце шаблона стоит цифра 1.

Замените регулярное выражение и Развилка будет отделять другие типы данных. С регулярным выражением для электронной почты от текста отделится емейл, для номера телефона в текст выведется присланный номер.

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

#ботхаки
👍4🔥2
📌 Как отличаются Кнопки и Кнопки с подсказками

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

• Функционально. Кнопки переводят пользователя по внешней ссылке и отправляют API запросы. Кнопки с подсказками запрашивают номер телефона и геопозицию.

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

• Способом записи текста с кнопки в переменную. Кнопки записывают текст с нажатой кнопки в переменную с помощью настроек в самом компоненте. Кнопки с подсказками записывают текст кнопки в переменную с помощью Развилки.

• Принципом работы текста с кнопок. Тексты с Кнопок не видны в разделе Диалоги, потому что кнопки просто переводят с экрана на экран. Тексты с Кнопок с подсказками отображаются в диалогах, потому что нажатие на Кнопку с подсказками имитирует ввод от пользователя.

#про_конструктор
👍4🔥2
❄️ Новости Botmother — зима 2024

Рассказываем, что нового появилось в Ботмаме за зиму.

Коротко:
• Добавили новые ИИ-компоненты — Запрос к YandexGPT и Запрос к Text To Speech OpenAI.
• Добавили кнопку Создать нового бота для быстрого добавления новых ботов.
• Внизу экрана теперь есть кнопка Перейти на новый экран. Она автоматически добавляет Перемотку на текущий экран и создает новый.
• В личном кабинете появилась функция Скрыть расширенные настройки для компонентов.
• Для Триггерного события сделали настройку Создавать событие, если ярлык уже существует.
• В Нативном запросе сделали не обязательным указание параметра chat_id для Telegram и user_id для ВКонтакте.
• Теперь в Яндекс.Диалоги можно отправлять изображения.
• Добавили хелпер reverse, который меняет порядок элементов от большего значения к меньшему.

Подробнее обо всех этих обновлениях читайте в статье.
🔥7👍2
This media is not supported in your browser
VIEW IN TELEGRAM
💡Как добавить компонент или новый экран не уходя с активного экрана

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

Убедитесь что в личном кабинете нет галочки напротив настройки Скрывать предложение добавить компонент в конце экрана.

Если чекбокс не отмечен, то Сообщения, Кнопки, Кнопки с подсказками, Развилку и Перемотку можно добавить нажатием на кнопку внизу экрана. Возможность добавлять компоненты с правой панели остаётся.

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

• Когда на экране есть только Сообщение, то все предложения о добавлении компонентов остаются.
• Если добавить Кнопки или Кнопки с подсказками — останется возможность быстрого создания Перемотки или Развилки.
• При создании Развилки или Перемотки все кнопки быстрого добавления исчезают, так как после Развилки и Перемотки пользователи оказываются на следующем экране.

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

#ботхаки
👍3🔥2
💡 Как запросить номер телефона в Телеграме

В Телеграме пользователю не обязательно писать свой номер телефона вручную, достаточно нажать кнопку и контакт отправится автоматически.

Для того чтобы сделать кнопку с запросом номера, добавьте на экран Кнопки с подсказками и добавьте новую кнопку.

Нажмите на кнопку в конструкторе, чтобы попасть в её настройки. Тип кнопки поменяйте на Поделиться контактом.

Добавьте Ввод от пользователя и придумайте имя переменной, куда попадет номер телефона. Тип ожидаемых данных во Вводе от пользователя поменяйте на Файл контакта.

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

Подробнее про то как запросить номер телефона можно узнать в статье в базе знаний.

#ботхаки
👍13
💡 Как закрепить сообщение вверху чата в Телеграм

Для того чтобы закрепить сообщение от бота, добавьте на экран Нативный запрос и выберите метод PinChatMessage.

Нативный запрос расположите сразу за сообщением которое должно быть закреплено.

Разверните настройки компонента и добавьте Тело запроса:

{
"message_id": "{{lastMessageId}}"
}


Чтобы закрепить сообщение от пользователя, добавьте компонент который будет принимать сообщение. Это может быть Ввод от пользователя или Развилка.

Сразу за принимающим сообщение компонентом добавьте Нативный запрос. Выберите такой же метод — PinChatMessage. Тело запроса будет другим:

{
"message_id": "{{lastUpdate.update.message_id}}"
}


Подробнее про то как закрепить сообщение вверху чата с ботом можно узнать в статье в базе знаний.

#ботхаки
👍5🔥5
🌐 Общие переменные в боте

В Ботмаме появились общие переменные.

Теперь информацией можно обмениваться напрямую — без использования внешних баз данных или API.

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

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

В новых компонентах Запись общей переменной и Запись общих переменных Типы данных, Управление списками, а также запись Имени и Значения работают как в обычных переменных.

Выводятся общие переменные в бот тоже по правилам обычных, но с одним дополнением — перед выводом нужно добавить и настроить компонент Прочитать общие переменные.

Удаляются общие переменные по отдельности или все сразу с помощью компонента Очистка общих переменных.

Список всех общих переменных которые есть в боте находится в разделе Пользователи.

В статьях базы знаний вы можете подробно узнать про настройку и использование компонентов Запись общей переменной и Запись общих переменных
🔥131
💡 Как добавить картинку в описание бота в Телеграме

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

Чтобы добавить изображение, откройте Telegram бота @BotFather и отправьте ему команду /mybots, затем выберите бота для которого нужно добавить изображение.

На кнопках которые придут в ответ, нажмите Edit Bot, затем Edit Denoscription Picture.

Отправьте боту картинку размером 640x360 пикселей или гифку размером 320x180 пикселей.

Чтобы удалить изображение, отправьте команду /empty

Подробнее про то, как добавить картинку в описание бота можно узнать в статье в базе знаний.

#ботхаки
🔥3👍2
💡Как оператору бота получить ссылку на диалог с пользователем

Перед добавлением ссылки настройте Алерт в редакторе:

• напишите боту @notification_from_bot
• скопируйте из сообщения бота ваш ID и вставьте его в поле Telegram ID в компоненте Алерт.

Сформируйте и впишите ссылку в поле Текст сообщения Алерта:

• перейдите в раздел Диалоги и скопируйте ссылку из адресной строки
• в конец ссылки допишите {{this_user.bm_id}}

Если после такого Алерта добавить компонент Чат, то оператор бота будет получать сообщения о пользователях запросивших консультацию в чате.

Оповещения со ссылкой будут приходить в Телеграм оператора. По ссылке откроется диалог в Ботмаме.

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

Подробнее про Алерт можно узнать в статье в базе знаний.

#ботхаки
👍61