Как пользоваться ботом в телеграм, и что они умеют
Содержание:
- Шаг второй: Настройте агента.
- pyTelegramBotApi
- Пара слов от автора
- Способы создания
- Начало. Создание бота и добавление библиотек.
- Начало работы
- Обзор ТОП-3 конструкторов для создания ботов в Телеграмм
- Создание бота для Телеграмм
- Как создать своего Телеграм-бота?
- Telegram API
- Взаимодействие с ботом
- Шаг четвертый: настройка ветвей диалога
- Как настроить цепочку автоответов в редакторе чат-бота
Шаг второй: Настройте агента.
Контекст отражает связь между тем, что говорит пользователь, и что должен сделать наш агент. В нашем случае, рассмотрим случай с прогнозом погоды:

- Кликните на в разделе “Контекст” (Intents). В агенте уже настроены “контексты” на приветствие и ошибки, оставим их пока без изменений.
- Укажите название для “контекста” — любое, главное чтобы оно было понятно вам и вашим коллегам.
- В разделе “Реплики пользователя” (User Says) приведите примеры вопросов, который может ваш пользователь. Так как мы говорим о погоде, человек может задать вопрос в привязке ко времени и место — учтем это. Чем больше примеров вы предоставите в настройках, тем точнее будет работать агент. Некоторые примеры я привел на скриншоте:

В последнем примере слова “завтра” и “Нижнем Тагиле” подсвечены разными цветами — таким образом слова связываются с сущностями (Entities) (в нашем случае сущности системные). Используя эти параметры агент “поймет” в каком городе и для какой даты нужно узнавать погоду.
Добавьте еще парочку своих примеров и нажмите “Сохранить” (SAVE).
Тестируем!
Проверим работу агента на простых вопросах, например, “Погода в Перми в среду”:

Все это время в правой верхней части экрана маячила надпись “Try it now” — напишите в это поле или произнесите простой вопрос о погоде и нажмите “Ввод”.
Мы еще не настраивали автоматический ответ, но некоторые параметры агент уже научился определять! В разделе INTENT отражено, что по “мнению” агента пользователь интересуется погодой (настроенный нами “контекст”), в PARAMETER — дату и название города в соответствующих переменных.
Добавьте автоматические ответы
Сделаем нашего агента разговорчивей! Пока мы не научились получать информацию о погоде из внешних источников, добавим в качестве ответов простые фразы.
Перейдите в раздел “ Ответы” (Response) и введите простые ответы аналогично тому, как вы заполняли “Реплики пользователя”:

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

Теперь у нас есть еще и ответ!
pyTelegramBotApi
Ссылки на документации всех библиотек будут в конце.
Создадим простого бота, отвечающего на команду , с помощью этой библиотеки:
pyTelegramBotApi является просто обёрткой для всего Telegram Bot API, но здесь разберутся только основные составляющие.Взаимодействие с ботом происходит через переменную bot (токен надо вставить свой). Декоратор @message_handler реагирует на входящие сообщение.Message – это объект из Bot API, содержащий в себе информацию о сообщении. Полезные поля: message.chat.id – идентификатор чатаmessage.from.id – идентификатор пользователяmessage.text – текст сообщенияФункция send_message принимает идентификатор чата (берем его из сообщения) и текст для отправки.
Замена клавиатуры
У ботов есть функция замены стандартной клавиатуры на кнопочную. Для этого у всех функций есть опциональный аргумент reply_markup:
ReplyKeyboardMarkup – и есть та самая клавиатура. Метод row() создает ряд (максимум 12) из кнопок, передаваемых в качестве аргумента.Также есть особенная клавиатура types.ReplyMarkupRemove(), которая меняет клавиатуру на стандартную.
Клавиатура для сообщений
Можно создавать клавиатуру для отдельного сообщения. Передавать его нужно так же в аргумент reply_markup:
У кнопок есть несколько режимов, в зависимости от второго аргумента. Подробнее можно прочитать в официальной документации, но я остановлюсь только на callback_data.При нажатии на такую кнопку боту придет отдельный CallbackQuery, который нужно обрабатывать подобно сообщению:
Для обработки обязательно указать аргумент func для «отсеивания» Callback запросов.После обработки каждого запроса нужно выполнить команду answer_callback_query, чтобы Telegram понял, что запрос обработан. В поле callback.data хранится информация из callback_data нажатой кнопки.
Изменение сообщений
У ботов есть функция изменения своих сообщений (можно использовать, чтобы сделать перелистывание страниц, например). Для этого нужно воспользоваться методом edit_message_text (edit_message_caption для картинок):
Смысл аргументов понятен из их названия.
Пара слов от автора
Если есть желание показать друзьям что наворотили, то запускайте код и всё будет работать, но если код остановить или выключить комп, то бот ничего выдавать не будет. Из этого выходит, что для полноценного бота просто необходим хостинг, что, как правило, платно.
Больше функций, параметров и всего прочего находится в документации. Справочник на русском. Библиотеки pyTelegramBotAPI и xlrd.
Огромное спасибо за прочтение статьи! Надеюсь она оказалась полезной. А если понравилась, то поднимай статью в рейтинге и оставляй комменты)
Приглашаю прочесть мои статьи:Применение библиотеки FuzzyWuzzy для нечёткого сравнения в Python. Расстояние Левенштейна (редакционное расстояние)Как открыть ссылку в Python. Работа с WebBrowser и решение проблемы с Internet Explorer
Способы создания
Написать код ручками
Для этого нужно знать языки программирования (Python, PHP или Java), а также есть ещё масса нюансов типа регистрации хостинга и прочего. Это может стать огромной проблемой для некоторых.
К счастью, есть простой путь сделать бота для обычных юзеров, не владеющих навыками программирования.
Воспользоваться специальным сервисом
Наш спаситель – Manybot.io.
Именно на нём я нашёл русский интерфейс, понятную инструкцию и нужный на первых этапах функционал. Роботы на этой платформе умеют:
- отправлять сообщения подписчикам,
- делать красивые меню,
- проводить автопостинг из RSS ваших ресурсов.
Регистрация
Первым делом откроем @Manybot в мессенджере. Нажмём кнопку «Начать».

Выберем русский язык из предложенного списка.

Кликаем «Добавить нового бота».

Следуем дальнейшим инструкциям. Нам нужно зарегистрироваться у @BotFather.


Введём команду /newbot.

Придумываем обычное и техническое имя с хвостиком bot
Самое важное – не забываем скопировать полученный ключ-токен

Вернёмся к Manybot, покажем ему этот код, нажав «Я скопировал токен».

Придумаем описание.

Принимайте поздравления, регистрация завершена. Теперь вы полноправный владелец собственного робота Телеграм.
Настройка
Займёмся созданием меню и первых команд. Для этого нужно найти своего робота, для этого в поисковую строку вводим его имя. У меня это @iklife_bot.

Создаём простейшую команду
Весь принцип bota – это ответы на вопросы человека, поэтому нужно прописать команды и ответы на них.
Для этого вызовем меню настройки – /commands.

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

Дожидаемся сообщения об успешном создании команды.

Делаем меню
Гораздо удобнее, когда посетители могут быстро выбрать все команды прямо из меню. Для его создания опять вернёмся к /commands и далее «Настроить гл. меню».

Потом «Добавить пункт меню». Называем его, выбираем ранее созданную команду.

Пункт меню готов!
Проверяем, посмотрите, что получилось. Всё работает. Аналогично создаются и другие команды с пунктами меню.

Автопостинг
Главным достоинством @Manybot является мгновенная настройка автопостинга записей с сайта с RSS-лентой или из соц. сетей, или Ютуба прямо в чат. Таким образом, читатели всегда будут в курсе обновлений, не выходя из Telegram.
Давайте его запустим!
Вводим /autoposting.

Я укажу RSS-поток своего блога – iklife.ru/feed. Дожидаемся проверки и сообщения об успешном завершении. Теперь вы увидите мои статьи прямо внутри @iklife_bot.

Начало. Создание бота и добавление библиотек.
Для начала добавим библиотеку pyTelegramBotAPI обычным пипом в cmd.
А также загрузим простенькую библиотеку для работы с Excel. (ЧИТАЕТ ТОЛЬКО .xls!!!)
Время импортировать все необходимые библиотеки.
Далее нужно создать самого бота в телеграме. Для этого пройдёмся по следующим шагам:
-
Найти в поиске телеграма @BotFather
-
Написать ему команду /newbot
-
Первым сообщение отправить имя бота, а вторым его юзернейм (который пишется с @). Он должен быть уникальный и оканчиваться на Bot или _bot
После этих шагов батя пришлёт нам ссылку на нашёго бота и его API.
Нужно скопировать всю строку, которая на скрине закрыта красным прямоугольником
Если коротко, то API — это контракт, который предоставляет программа. «Ко мне можно обращаться так и так, я обязуюсь делать то и это». (Более подробная инфа тут API)
Начало работы
Telegram API vs Telegram Bot API
Рассказываю по порядку.
Телеграм использует собственный протокол шифрования MTProto. MTProto API (он же Telegram API) — это API, через который ваше приложение Телеграм связывается с сервером. Telegram API полностью открыт, так что любой разработчик может написать свой клиент мессенджера.
Для написания ботов был создан Telegram Bot API — надстройка над Telegram API. Перевод с официального сайта:
Среди упрощений Bot API: работа через вебхуки, упрощенная разметка сообщений и прочее.
Почему-то мало кто знает о том, что боты могут работать напрямую через Telegram API. Более того, таким образом можно даже обойти некоторые ограничения, которые даёт Bot API.
Вся информация ниже будет по умолчанию относиться и к Bot API, и к Telegram API. О различиях я буду упоминать. От некоторых ограничений Bot API можно избавиться с помощью локального сервера, об этом в конце статьи.
На чём пишут Телеграм-ботов
Бот должен уметь отправлять запросы Телеграм-серверу и получать от него апдейты (updates, обновления).
Конечно, удобнее использовать библиотеки, чем делать http-запросы «руками».
Если вы попробуете загуглить, как написать Телеграм-бота на Python, вам предложат воспользоваться библиотеками python-telegram-bot и telebot. Но не стоит.
Ну, если вы только хотите познакомиться с разработкой ботов и написать своего hello-world-бота, то можете, конечно использовать и их. Но эти библиотеки могут далеко не всё. Среди разработчиков ботов лучшей библиотекой для ботов на Python считается aiogram. Она асинхронная, использует декораторы и содержит удобные инструменты для разработки. Ещё был хороший Rocketgram, но он давно не обновлялся.
Также ботов часто пишут на JavaScript, для этого обычно используется Telegraf. Библиотеки есть и для многих других языков, но используют их реже.
Если же вы хотите использовать Telegram API, то можете воспользоваться Python’овскими Telethon и Pyrogram.
Создание бота
Единственная информация о Телеграм-ботах, которой в интернете полным-полно: как создать бота. Это делается через специального бота BotFather. Когда вы создадите бота, BotFather даст вам его токен. Токен выглядит примерно так: . Именно с помощью токена вы сможете управлять ботом.

Один пользователь может создать до 20 ботов.
В BotFather удобно управлять ботами своими командой .
Юзернеймы
При создании бота нужно выбрать юзернейм. После этого поменять его будет очень сложно.
Юзернейм бота выглядит как обычный юзернейм, но он должен заканчиваться на «bot».Вы могли видеть ботов с именами @pic, @vid, @sticker, @gamee — это официальные боты Телеграма. Им можно нарушать все правила 🙂
Очень многие юзернеймы уже заняты. Свободных коротких юзернеймов осталось очень мало. И что самое грустное: почти все эти боты мертвы. Просто не отвечают на сообщения. Наверное, это просто разные любопытные люди хотят сделать бота, создают его, а потом забивают. У меня самого есть несколько лежащих ботов. Так что, думаю, лимит в 20 ботов на одного владельца вполне оправдан 🙂
Оформление бота
Открыв бота, пользователи могут увидеть его профиль.

Оформление бота настраивается в BotFather: меню → . Там можно изменить:
-
Имя бота.
-
Описание (Description) — это текст, который пользователи будут видеть в начале диалога с ботом под заголовком «Что может делать этот бот?»
-
Информация (About) — это текст, который будет виден в профиле бота.
-
Аватарка. Аватарки ботов, в отличие от аватарок пользователей и чатов, не могут быть анимированными. Только картинки.
-
Команды — тут имеются ввиду подсказки команд в боте. Подробнее о командах .
-
Inline Placeholder — об инлайн-режиме см. .
Стандартный совет: Потратьте свое время и заполните описание и информацию бота, чтобы пользователям было понятнее и проще его использовать. Можете оставить там свои контакты. И поставьте аватарку, чтобы бота было проще отличать от других чатов в списке.
Обзор ТОП-3 конструкторов для создания ботов в Телеграмм
Ещё совсем недавно без программистов было невозможно не только сделать сайт или бота, но даже в стандартной установке/обновлении программ требовалась их помощь.
К счастью, всё течёт и всё меняется. Теперь даже далёкие от всех языков программирования пользователи самостоятельно, без особого труда, создают программы-роботы для соцсетей и т.п.
Это стало возможным c появлением онлайн-конструкторов. Я предлагаю вашему вниманию 3 сервиса для создания телеграмм-ботов.
Flow XO
Flow XO, пожалуй, самый серьёзный из всех представленных в обзоре сервисов для конструирования роботов. Он предназначен для создания и сопровождения умных программ для бизнес-процессов.
Разработчики предлагают различный функционал на платной и бесплатной основе. Пользователи оплачивают только то, что им действительно нужно.
В арсенале конструктора имеются шаблоны готовых модулей.
Chatfuel
Это бесплатный бот-конструктор для Телеграмм и Фейсбук, простой в использовании, имеющий обширный функционал.
О качестве сервиса свидетельствует список его постоянных именитых потребителей:
- National Geographic.
- TechCrunch.
- UBER.
- Forbs и т.д.
Востребованность Chatfuel подтверждается общим числом пользователей (более 15 млн.) и количеством созданных ботов (более 500 тыс.). Роботы, созданные на этой платформе, легко интегрируются в различные сервисы и сети: YouTube, Твиттер, Инстаграм и т.п.
Recast AI
И, наконец, последний конструктор из моего мини-обзора — Recast. AI. Разработчики позиционируют своё детище, как самый простой для понимания и обучения строитель ботов. На его начальное освоение требуется в среднем около 8 минут. Сервис работает на специально разработанной технологии распознавания естественного языка.
Конструктор имеет 2 тарифа: платный и бесплатный. Функционал обоих практически одинаков, основная разница лишь в том, что платный тариф предназначен для корпоративных клиентов.
Для наглядности основные характеристики сведены в сравнительную таблицу:
| Наименование сервиса | Тарифы | Функционал | Сложность использования | Основное направление использования |
|
Flow XO |
Платный, бесплатный | Есть ограничения на бесплатном тарифе | Требуются специальные навыки и знания | Бизнес-процессы |
|
Chatfuel |
Бесплатный | Нет ограничений | Низкая | Все направления |
|
Recast AI |
Платный (для корпоративных клиентов), бесплатный (для прочих пользователей) | Нет ограничений | Низкая | Все направления |
Создание бота для Телеграмм
Перед сотворением интернет-робота в Телеграмме, следует определиться с его обязанностями. Что именно он должен делать? Ведь код бота зависит от его предназначения. Написать бота можно и на языке программирования и без их особых знаний. Только будьте готовы к тому, что во втором варианте, бот может допускать некоторые ошибки в своей работе.
Создание бота в Телеграмме начинается с добавления в свой список контактов и запуска бота: @BotFather.

Далее следует выполнить следующие действия:
- Вводим команду /newbot – формирование робота. Теперь вводим свое уникальное название для своего робота, но оно в любом случае обязано завершаться словом bot;
- Помимо этого существует возможность добавления к своему боту картинки и краткое описания;
- BotFather пришлет вам единственный в своем роде токен API. Запомните или запишите его, он вам еще понадобится и не один раз.
- Собственно говоря, ваш новый бот уже готов, но только он еще ничего не умеет. Для его обучения следует использовать язык программирования, но если вы от этого далеки, то можно и подключить к «работе» Paquebot – это специальный сервис для совершенствования новых ботов;
- Нужно будет прибавить к своим контактам очередного робота: @Chatfuel и запустить его;
- Вводим в недавно добавленном боте /addbot и токен, который получили ранее;
- Ваш новый робот сохранен на сервисе Paquebot, теперь вы можете управлять им оттуда. Список команд вполне понятен для любого человека.
При помощи сервиса Paquebot, вы сможете управлять своим новоиспеченным ботом. Робот сможет выполнять разнообразные задания, например, если вы назначите его администратором группы, то он станет подыскивать интересную информацию для вашего канала. На вашего бота могут подписаться другие пользователи, они будут следить за всеми его обновлениями и работой. Точно также и вы сами можете подписаться на другого бота.

Между прочим, многие пользователи мессенджера Телеграмм, операцию по созданию ботов находят очень интересной, а некоторые и вовсе зарабатывают на этом, они обучают и продают роботов. Существует даже целый каталог ботов на портале Store Bot.
Как создать своего Телеграм-бота?
Я записала пошаговую видеоинструкцию – пример создания простого бота с меню:
Посмотреть на моего бота в действии вы можете здесь. В диалоге с ним нажмите «Начать» (Start), дальнейшие действия он вам подскажет.
Итак, для начала создания своего Телеграм-бота, зайдите на сайт manybot.io, там нажмите по кнопке «Создать бота». Вас перебросит на первоначальные инструкции.


Нужно перейти на Manybot в Телеграме и нажать «Начать» (Start) в чате с ботом, чтобы получить дальнейшие инструкции.
Вы увидите описание возможностей бота на английском, а также вам предложат выбрать язык.

После выбора русского языка вы сможете приступить к созданию бота, все инструкции будут даваться в диалоге (чате).
Первым делом вводим команду /addbot или просто жмем по ней в полученном от бота сообщении.

Далее получаем инструкцию по созданию своего бота в BotFather. Опять же, нам нужно кликнуть по логину из сообщения и перейти на диалог с BotFather.
Следующим шагом нужно напечатать в диалоге с BotFather команду /newbot и следовать дальнейшим подсказкам. А именно:
1) На английском нам предлагают указать название (имя) своего будущего бота. Я его назвала ViktoriaHelps и отправила это название в диалоге BotFather.
2) Далее указываем логин для бота. Обязательное условие, чтобы логин оканчивался на bot. Можно написать концовку слитно или через нижнее подчеркивание: _bot.
3) После этого получила сообщение с поздравлением, что мой бот создан, ссылку на него в Телеграм, а также токен, который мне нужно скопировать.

Далее возвращаюсь к диалогу с Manybot (выбираю его в контактах слева) и отправляю в чат сообщение со скопированным токеном.

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

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

Telegram API
В своей статье «Всё, о чём должен знать разработчик Телеграм-ботов» я объяснял, чем отличается Telegram API от Telegram Bot API.
Bot API более ограниченный: например, с его помощью боты не могут получать список участников группы или старые сообщения. И хотя для этого туториала эти возможности не понадобятся, я предпочитаю в любом случае использовать именно Telegram API. А то представьте, как обидно: вот пишете вы бота, развиваете его, и вдруг вам становится нужна какая-то фича, из-за которой всего бота придётся переписывать на другом API. И сразу грустненько становится.
Итак, для работы с Telegram API мы будем использовать библиотеку Telethon:
Так как Telegram API изначально был предназначен для создания клиентов мессенджера, для его использования вам нужно будет зарегистрировать своё приложение на my.telegram.org. Да, даже если вы используете API только для запуска ботов.

Форму вы можете заполнить любым способом. Вы получите api_id и api_hash вашего «приложения». Они нам понадобятся.
Взаимодействие с ботом
Ссылки на бота
Также существует прямая ссылка:
Диплинки
Как это выглядит:
Так бот может отреагировать на запуск не как на обычный «/start», а другим способом.

Часто диплинки используются для реферальных программ (в качестве параметра можно передавать id пользователя, который поделился ссылкой). Есть и другие применения.
Инлайн-режим
Инлайн-режим (inline mode) — это специальный режим работы бота, с помощью которого пользователь может использовать бота во всех чатах.
Выглядит это так: пользователь вводит юзернейм бота в поле для ввода сообщения. После юзернейма можно ещё записать запрос (текст до 256 символов).
Появляется менюшка с результатами. Выбирая результат, пользователь отправляет сообщение.
Инлайн-режим можно включить в BotFather, там же можно выбрать плейсхолдер вместо стандартного «Search…»
В группе можно запретить использовать инлайн всем или некоторым участникам. В официальных приложениях Телеграм это ограничение объединено с ограничением на отправку стикеров и GIF.
Результаты инлайн-режима
Результаты можно отображать двумя способами:
Сеткой. Удобно для выдачи картинок.
Вертикальным списком. Удобно для выдачи текста.
Можно совмещать два типа, но корректно отображается это только на Telegram Desktop.

Приватность и геопозиция в инлайне
Когда пользователь вызывает инлайн-режим, бот не может получить никакую информацию о контексте, кроме информации о пользователе. Таким образом, бот не может узнать ни чат, в котором вызвали инлайн, ни сообщение, на которое пользователь отвечает.
Но зато если включить в BotFather настройку «Inline Location Data», то бот сможет видеть геопозицию пользователей, когда они используют инлайн (на мобильных устройствах). Перед этим у пользователей показывается предупреждение.
Inline feedback
Inline feedback — это апдейты о выбранных инлайн-результатах. Включаются через BotFather.

Предполагается использование inline feedback для сбора статистики, но не всегда он используется так. Inline feedback позволяет «подгружать» не все результаты сразу, а только выбранный. Например, если бот используется для поиска музыки, то он может загружать не все песни сразу, а только одну.
Важный момент: если вы получили апдейт об отправке инлайн-сообщения, то вы можете его редактировать, только если к нему прикреплены инлайн-кнопки. (Если кнопок нет, то в апдейте не указывается id инлайн-сообщения, по которому происходит редактирование).
Создание наборов стикеров
Боты (и только боты!) могут создавать наборы стикеров. При этом каждый набор стикеров должен принадлежать какому-то пользователю. Посмотреть свои наборы стикеров пользователь может с помощью бота @Stickers.
Платежи через ботов
Телеграм предоставляет ботам возможность принимать платежи от пользователей. Это делается через провайдеров ЮMoney, Сбербанк, Stripe и ещё 7.
Эта возможность используются редко, потому что для использования провайдеров нужно юридическое лицо.
UPD 26.04.2021. В новом обновлении появилось больше возможностей платежей для разработчиков. Теперь боты могут отправлять платежи не только в лс, но и в группы и в каналы. Это позволяет сделать из канала «витрину», на которой можно сразу купить товар. Вы можете посмотреть, как это выглядит, в официальном демо-канале.
HTML-игры в ботах
Боты могут позволять пользователям играть в HTML5-игры в чатах. Бот может отправлять сообщения-игры или создавать их через инлайн-режим. Как это работает, можно посмотреть на примере официального @gamebot.
Telegram Login Widget
Вы можете добавить на свой сайт авторизацию через Телеграм. Процесс авторизации будет проходить так:
-
Пользователь должен будет ввести свой номер телефона.
-
Бот Telegram попросит подтвердить вход.
-
Пользователь авторизуется и нажимает на «Принять» на сайте.

Telegram Login Widget не связан с Login URL button (см. выше), а является его альтернативой.
Шаг четвертый: настройка ветвей диалога
Взаимодействуя с пользователем мы не можем быть уверены в том, что он предоставит нам всю информацию, необходимую для подготовки ответа во внешнем сервисе сразу в самом первом сообщении. В нашем примере для получения прогноза сервису потребуется дата и город. Если дата не известна, мы можем с успехом предположить, что пользователь подразумевает “сегодня”, но о городе мы можем узнать только от самого пользователя.
Сделайте “расположение” обязательным параметром

Сохраните настройки и проверьте поведение агента, задав ему простой вопрос “погода”:

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

В настройка контекста “прогноз погоды” вбейте в поле “Add output context” название возвращаемого уточнения “location” и сохраните настройки.
Создайте новый контекст для уточнения
Удобно, когда по одному и тому же расположению можно задавать несколько вопросов, при этом не уточнять у пользователя, какой город он имеет ввиду. Вы уже настроили возвращаемое уточнение, которе как можно использовать для обработки уточняющих вопросов.

- Создайте новый контекст в разделе Intents или кликните по значку в строкеIntents левого выдвигающегося меню.
- Назовите новый контекст “Уточнение погоды” (или любое другое понятное вам название).
- Установите входящие и исходящие уточнения как “location”
- Добавьте реплики пользователя, например, “Что на счет завтра”
- Добавьте параметр сущности со следующими значениями:
— Parameter Name:geo-city
— Value: #location.geo-city - Добавьте ответ для пользователя в раздел “Response”:
— “Извини, но я не могу получить прогноз на $date-period в #location.geo-city” - Включите использование webhook в меню Fulfillment.
- Сохраните настройки и протестируйте в консоли:

Как настроить цепочку автоответов в редакторе чат-бота
В визуальном редакторе цепочки автоответов строятся с помощью специальных блоков: «Сообщение», «Цепочка», «Действие» и «Пауза». Они расположены на панели слева.

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

Создание цепочки для выбранного триггера
Настраиваем стартовый блок
Справа в окне редактора цепочки вводим сообщение, которое отправляется пользователю в ответ на выбранный триггер. В нашем примере сообщение отправится после того, как пользователь напишет слово «Привет».

Стартовый блок в визуальном редакторе чат-бота
Вы можете отправить следующее сообщение только после того, как пользователь отреагировал на ваше предыдущее сообщение. Например, нажал на кнопку, которую нужно добавить в это сообщение. Рассмотрим, как добавить кнопку в редакторе.
Добавляем кнопку
Нажмите «Добавить кнопку» и введите текст кнопки. В нашем случае будет три кнопки: «Узнать о школе», «Мастер-классы», «Контакты менеджера».

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

Для развития цепочки перетаскиваем блок «Сообщение» в рабочую зону
Заполните сообщения текстом и, если нужно, добавьте другие элементы.
Какие элементы можно добавить в сообщение чат-бота в SendPulse:
- текст;
- эмодзи;
- изображение и вложение;
- кнопка со ссылкой или без;
- создать несколько реплик в одном сообщении, разделяя их задержкой до 5 секунд, чтобы текст не слипался;
- переменные из адресной книги;
- ввод данных пользователем, которые можно сохранить в уже существующую переменную или создать новую — для этого можно использовать кнопки быстрых ответов.

Элементы, которые можно добавить в сообщение
Чтобы добавить небольшую паузу между репликами в сообщении, воспользуйтесь элементом «Задержка». Укажите в редакторе, какая пауза будет между репликами — это до 5 секунд. Задержка в чате выглядит так:
Задержка между репликами в сообщении
Ввод данных пользователя
Чтобы исключить ошибки ввода для текстовых и числовых данных, есть возможность добавить быстрые ответы. Вы прописываете несколько вариантов, которые в сообщении выглядят как кнопки, а пользователь просто нажимает на нужный вариант.

Ввод данных пользователя через быстрые ответы
Подробнее о том, как использовать ручной ввод данных в переменные, читайте в нашей базе знаний.
Блок «Пауза»
Используется для задержки отправки следующего сообщения. Вы можете указать паузу от нескольких минут до одного дня.
Блок «Действие»
Для блока действие есть такие опции:
- «Открыть чат» — повышает приоритет чата: оповещает администратора о сообщении и открывает чат в панели SendPulse.
- «Отписать от бота» — если в какой-то ветке сценария бота нужно удалить клиента из списка подписчиков и больше не отправлять ему сообщения.
- «Добавить тег» — после нажатия на кнопку подписчику будет присвоен выбранный вами тег, с помощью которого вы сможете отправлять рассылки с сегментацией. О том, как использовать теги подробно читайте в базе знаний.
- «Установить переменную» — система установит или обновит значение для выбранной вами переменной.
- «Отправить вебхук» — можно отправить POST запрос с данными подписчика на ваш URL. Это нужно, чтобы, к примеру, отправить данные о подписчике и о том, что он прошел по какой-то ветке бота, в свою CRM. Подробнее о вебхуках читайте в нашей базе знаний.

Опции блока «Действие»
Блок «Цепочка»
Внутри каждой цепочки можно перенаправить пользователя в другую цепочку, чтобы не дублировать последовательности блоков.

Блок «Цепочка»
