3 простых шага, как запустить чат-бота с командами в Telegram.
19.6.2023 13:30
Шаг первый: создайте сценарий бота
Предположим, что вы уже знаете, какой алгоритм будет у вашего бота. Обычно мы в команде SmartbotPro рекомендуем нашим пользователям сначала нарисовать логику в виде блок-схемы прямо «на бумажке» (конечно, лучше делать это в онлайн-редакторах типа Miro). После этого вам нужно переложить нарисованную логику на блоки Smartbot. Для этого зарегистрируйтесь в сервисе и создайте свой первый сценарий. Ну а если вы еще не придумали логику до конца, то воспользуйтесь нашими готовыми шаблонами для разного бизнеса.
Чат-бот в Telegram с реферальной системой за 5 минут
Немного о конструкторе алгоритма: в нем есть события и действия.
События – внешние воздействия, которые могут запускать сценарий вашего бота. Например, событием может быть новое сообщение от пользователя, комментарий или даже вызов Webhook
Действия – шаги, которые бот выполняет в ответ на события. Например, отправить сообщение, сохранить пользователя в список рассылки, отправить контакты в AmoCRM.
Соединяя действия в цепочку с помощью стрелочек, вы создаете логику бота. Каждая такая цепочка должна начинаться с события.
Шаг второй: подключите чат-бота
Создайте бота в Botfather, следуя инструкциям:
- Выберите имя для бота
- Выберите ссылку. Она должна заканчиваться на «bot».
- После этого вы сможете настроить другие атрибуты бота (например, приветственную картинку), выбрав в Botfather своего нового бота.
После регистрации вы получите токен бота, скопируйте его.
Нажмите кнопку «каналы», выберите Telegram и вставьте скопированный токен.
Все, после этого вы уже можете протестировать своего нового бота.
Шаг третий: добавляем команды
По сути команды, это глобальные события с сообщениями пользователей. Например /order или /about и тд. Когда пользователь вводит такие команды или выбирает их из меню, бот должен среагировать, независимо от того, в каком месте сценария он сейчас находится.
В первом шаге мы уже рассматривали события в Smartbot. Теперь нам нужно создать такие же события, только под каждую команду и сделать их глобальными.
Для примера создадим команду /menu, которая будет вести в начало нашего сценария. Просто добавьте блок «сообщение от пользователя» из раздела событий в левом меню и выберите в условии «равно» тексту «/menu».
Чуть ниже в «дополнительных настройках» будет галочка «глобальное событие», включите ее. Протяните стрелочку от нового события к блоку с отправкой сообщения:
Сохраните и опубликуйте бота. Теперь он будет реагировать на команду /menu в любом месте диалога с пользователем. Но как добавить эту команду в левое меню кнопочкой?
Хорошая новость: очень просто!
Нажмите на кнопку «каналы» в левом меню сценариев и выберите вашего подключенного телеграм-бота. Откроется окошко с редактированием команд. Просто введите текст своей команды (/menu) в поле ввода. Сервис автоматически сохранит эту команду и добавит в бота.
Проверьте, теперь в вашем боте появилась команда в меню быстрого доступа!
Источник: smartbotpro.ru
Способы подключения пользователей к чат-боту Телеграм. Дубли пользователей. Часть 1
Но при интеграции необходимо решить, какой способ подключения пользователей к чат-боту Телеграм будет использоваться.
Существует 2 способа подключения пользователя через Telegram, которые регулируются опцией « Создавать пользователя без email если его нет в системе ». То есть можно регистрировать пользователей в Телеграм с вводом емейл и без ввода емейл.
Напомню, что подключение к Телеграм-боту может происходить:
- в профиле на вкладке «Уведомления»
- по короткой ссылке вида httрs://адрес_аккаунта/tlgrm
- на странице сайта по кнопке «Войти через Телеграм» (блок «Вход через соцсети»)
- из Телеграм-бота (например, по поиску).
В этой статье я хочу продемонстрировать вам, как будет реагировать система на подключение пользователей при включенной опции « Создавать пользователя без email если его нет в системе »
Опция «Создавать пользователя без email если его нет в системе» включена.
Эта опция позволяет регистрировать пользователей через Телеграм на GetCourse без необходимости ввода email и обязательной авторизации.
Что очень удобно, если вы ведёте через трафик пользователей сразу в Телеграм-бот, например, для участия в различных квестах и марафонах. Конверсия в регистрации при этом увеличивается, так как для перехода к прохождению квеста в боте не потребуется вводить адрес электронной почты.
Также новые пользователи не будут учитываться в аккаунте проекта как «Активные», то есть остаются со статусом «В базе» и не учитываются в тарифе, даже если вы взаимодействуете с пользователями через чат-бот посредством процесса, текстовых рассылок и callback-операций. Пользователь остаётся статусе «В базе» до тех пор, пока, в примеру, в рассылке в Телеграм не перейдёт по авторизационной ссылке.
Итак как работает эта опция при подключении пользователей к Телеграм? Есть несколько вариантов в зависимости от того, если:
— пользователь ранее регистрировался и в данный момент авторизован, то Телеграм будет привязан к профилю с действующей почтой без создания дубля профиля.
Таким образом, есть вероятность создания дублирующих профилей в том случае, если пользователь ранее был зарегистрирован в аккаунте GetCourse, но на момент перехода в Телеграм-бот не был авторизован в аккауне.
Как раз о том, как привязать пользователям с технической почтой реальную почту и какие при этом могут быть «подводные камни» для каждого из вариантов, мы и поговорим в этой статье.
1. Пользователь ранее не регистрировался в проекте (новый пользователь)
В видео ниже мы подробно рассмотрим, как происходит регистрация пользователя, при каких условиях статус пользователя остаётся «В базе» и как вы можете привязать пользователю реальную почту через форму регистрации.
Обратите внимание, что при тестировании с использованием форм, где предусмотрена переадресация на другую страницу
В следующем видео мы рассмотрим, как происходит привязка реальной почты через форму создания заказа:
То есть, как мы видим, в случае, если при подключении к Телеграм происходит регистрация нового пользователя с технической почтой, то при заполнении пользователем формы регистрации, либо формы создания заказа происходит привязка реальной почты пользователю с объединением профилей и переносом групп, в которых находился пользователь с технической почтой.
2. Пользователь ранее регистрировался в проекте и в данный момент не авторизован
В видео ниже мы подробно рассмотрим, как происходит подключение пользователя к Телеграм, а также что происходит при попытке привязать пользователю реальную почту через форму регистрации.
В следующем видео мы рассмотрим, как происходит привязка реальной почты через форму создания заказа:
Как вы видите из видео, в аккаунте остаётся два активных профиля пользователя: с реальным адресом электронной почты и с техническим адресом. Отследить такие привязки уже намного сложнее. Поэтому для привязки реальной почты в данном варианте лучше использовать формы регистрации, а не формы создания заказа.
3. Пользователь ранее регистрировался и в данный момент авторизован
То есть пользователь ранее регистрировался в проекте с указанием адреса электронной почты и на момент подключения Телеграм (это может быть подключение в профиле, по короткой ссылке, на странице сайта по кнопке «Войти через Телеграм» или прямо из бота) авторизован в аккаунте GetCourse.
В таком случае система узнает пользователя , и пользователь успешно подключит себе Телеграм-бота. Процесс подключения к боту можно посмотреть в видео ниже:
Как вы видите из статьи, где мы рассмотрели различные варианты привязки реальной почты пользователю, попытка привязки реальной почты через форму создания заказа в случае, если пользователь ранее уже был зарегистрирован в проекте, и ему была создана техническая почта через Телеграм, является самым неблагоприятным вариантом. Так как при этом оба профиля остаются в аккаунте и оба профиля имеют статус «Активен» и учитываются в тарифе. Поэтому лучше использовать ссылки на форму регистрации, нежели ссылки на форму создания заказа для привязки реальной почты клиенту.
Техподдержка GetCourse, для того, чтобы минимизировать количество создаваемых дублей, рекомендует использовать двухэтапную регистрацию, когда сначала пользователь заполняет обычную форму регистрации (с email), а затем подключает Телеграм (например, с помощью кнопки входа через соц. сети). Таким образом, вне зависимости от того, новый это пользователь или ранее уже существовавший в вашем проекте, к профилю будет подключен Телеграм без создания технической почты.
Источник: getstart.pro
Bot API 2.0: информация для разработчиков
Предполагается, что вы уже ознакомлены с Bot API. В противном случае прочитайте, пожалуйста, описание ботов для разработчиков.
Сегодня мы представляем крупнейшее обновление платформы ботов с июля 2015 года. Была добавлена масса новых возможностей и инструментов, которые позволят создавать простые и удобные интерфейсы для ботов любой сложности.
Сами боты тоже становятся мощнее и функциональнее: теперь они могут отправлять любые файлы и сообщения, которые поддерживаются в Telegram, а также предоставлять гео-сервисы и запрашивать номер телефона пользователя.
Новые инлайн клавиатуры
В первую очередь хочется рассказать о новом типе клавиатуры, который встроен прямо в сообщение. Она доступна как в обычном диалоге с пользователем, так и во встроенном режиме.
В отличие от привычной клавиатуры для ботов, нажатие на кнопку не приведёт к отправке сообщения боту — вместо этого данные будут переданы в фоновом режиме. О том, как это работает, читайте в разделах кнопки с обратной связью, URL-кнопки и кнопки-переключатели режима.
Кнопки с обратной связью
При нажатии на кнопку с обратной связью никаких сообщений в чат не отправится — вместо этого вашему боту будет отправлен соответствующий запрос. После получения запроса бот может отобразить результат в уведомлении вверху чата или в модальном окне.
Это ещё не всё: смотрите раздел обновления сообщений, чтобы узнать про ещё одну очень крутую «фишку».
URL-кнопки
На этих кнопках отображается небольшая стрелочка, чтобы пользователям было понятно, что нажатие на неё откроет внешнюю ссылку. Как обычно, перед открытием ссылки в браузере появится модальное окно с предупреждением.
Переход в инлайн-режим
Нажатие на такую кнопку запросит у пользователя чат, откроет его и вставит имя пользователя бота в поле ввода сообщения. Помимо этого можно передать запрос, который будет вставлен после имени пользователя. Таким образом пользователи могут сразу получить какой-нибудь результат от бота.
Обновление сообщений
Так как встроенные клавиатуры не отправляют ничего в чат, очевидно, что бот должен уметь изменять свои уже существующие сообщения, чтобы ему не пришлось отправлять новое сообщение всякий раз, когда нужно что-нибудь обновить. Благодаря изменению сообщений в чатах появляется меньше информационного мусора, а сам интерфейс становится проще и понятнее.
При нажатии на такую кнопку Telegram отобразит соответствующее модальное окно с описанием того, что запросил бот.
Инлайн-боты 2.0
Инлайн-боты тоже не остались без изменений.
Новые типы контента
Инлайн-боты теперь могут отправлять любые файлы и сообщения, поддерживаемые в Telegram (19 типов, если быть точным): стикеры, видео, музыку, местоположения, файлы и так далее.
Переключение между инлайн-режимом и личными сообщениями
Некоторым ботам необходима некоторая настройка перед корректной работой — например, для подключения внешнего сервиса (YouTube). Для этого был добавлен механизм переключения между встроенным режимом и чатом, в который пользователь хочет отправить результаты.
Ваш бот теперь может отобразить специальную кнопку «Перейти в личные сообщения» над результатами (или вместо них). Эта кнопка откроет чат с ботом и передаст необходимые параметры для корректной настройки. После успешного выполнения, вы можете отправить пользователя обратно в исходный чат с помощью кнопки switch_inline_query.
Улучшенный интерфейс инлайн-режима
Так как общение с ботом в инлайн-режиме отличается от обычной отправки сообщений, пришлось немного изменить интерфейс. Едва ли можно придумать лучший способ обозначить, что не нужно нажимать на кнопку «Отправить», чем скрыть её совсем:
Однократное нажатие на крестик очистит поле поиска, а повторное—выйдет из встроенного режима.
Администрирование групп
Наконец, самое интересное: постепенно в Bot API будут добавляться инструменты для управления группами. В первую очередь это методы удаления участников из групп и супергрупп.
Сайт про Telegram на русском (неофициальный).
Здесь собраны приложения на базе MTProto, переведена некоторая документация с официального сайта, а также работает Webogram.
Источник: tlgrm.ru