Как отправить сообщение в Telegram

0
1245

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

Если вы хотите отправлять сообщения не в личные сообщения, а в группу в Telegram, то обратитесь к этой инструкции.

Как настроить отправку сообщений

Постройте сценарий

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

Пройдите этот урок для построения сценария.

После прохождения урока, у вас будут 5 переменных:

  • для имени
  • для фамилии
  • для телефона
  • для email
  • для вида услуги

Опубликуйте бота в Telegram

Чтобы опубликовать бота в Telegram, следуйте инструкции.

Если вы уже опубликовали бота в Telegram, переходите к следующему пункту.

Получите chat_id

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

Чтобы получить chat_id , создайте в сценарии новый экран с текстом:

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

Опубликуйте бота

Нажмите Опубликовать и дождитесь сообщения о том, что сценарий опубликован на канале Telegram.

ЧИТАТЬ ТАКЖЕ:  Почему Telegram блокирует аккаунты крупных каналов: разбор

Протестируйте бота

Теперь перейдите к своему боту в Telegram (не в тестовом виджете!) и отправьте боту:

Если вы хотите, чтобы сообщения приходили не вам, а другому человеку, то просто отправьте этому человеку ссылку на бота. Если этот пользователь будет общаться с этим ботом впервые, то бот сразу же пришлет значение chat_id . Если этот пользователь ранее уже общался с этим ботом, то попросите пользователя отправить в диалог /start , чтобы получить chat_id.

Бот пришлет вам нужное значение:

Скопируйте и вставьте в блокнот число, которое прислал бот.

Удалите экран с текстом $rawRequest.message.from.id . Он больше не нужен.

Отправьте данные

Следующий шаг — отправить данные, полученные от клиента. Для этого в сценарии, после сбора всей нужной информации, должен быть блок HTTP-запрос. С помощью одного запроса можно передать сразу несколько переменных:

Блок должен быть оформлен следующим образом:

Метод GET

Формирование URL

Для создания URL скопируйте в блокнот строку: https://api.telegram.org/bot<token>/sendMessage

Затем перейдите в Telegram в канал BotFather и скопируйте токен вашего бота, который был сгенерирован, когда вы публиковали канал:

В блокноте выделите <token>

И вместо вставьте токен из Telegram:

Получится примерно следующий адрес:

Теперь выделите строку целиком и вставьте ее в поле URL HTTP-запроса в Aimylogic

Оформление поля BODY

Если вы повторили урок по сбору контактных данных, то в сценарии вы получили следующую информацию:

Ваше имя: $name Ваша фамилия: $lastname Ваш телефон: $PHONE Ваш email: $EMAIL Вид услуги: $service

Поэтому сейчас мы используем именно эти переменные.

Итак, нужно вставить значение chat_id и перечислить переменные, которые были в сценарии до отправки.

Обратите внимание на отступы и знаки препинания! Рекомендуем не набирать текст, а скопировать и вставить.

Нажмите Сохранить.

ЧИТАТЬ ТАКЖЕ:  Как в Телеграме подписаться на канал, человека и группу: способы для разных гаджетов

Готово, мы оформили Http-запрос для отправки данных.

Проверьте статус отправки

От логики «Завершен успешно» добавляем связь к новому экрану, содержащему сообщение об успешной отправке данных. Например, “Спасибо, ваши данные успешно отправлены!”

От логики “Завершен с ошибкой” делаем связь с экраном, содержащим текстовый блок “Ошибка $httpStatus ”. Данный блок поможет нам понять, в чем неполадка, если http-запрос не будет успешным.

Протестируйте сценарий

Нажмите Тестировать и поговорите с ботом.

По итогу диалога нужная информация должна прийти в Telegram.

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

Возможные неполадки

Вы нажимаете Тестировать, и бот выдает ошибку.

Проверьте, не используете ли вы в сценарии $rawRequest для получения имени. Если да, то тестировать нужно в канале Telegram. В тестовом виджете ошибка будет ожидаемо выпадать, так как бот пытается получить информацию из канала, которого нет.

«Ошибка -1»

Проверьте правильность URL в http-запросе. Возможно, в самом URL или в конце URL есть пробел либо по ошибке вставлен неверный символ.

«Ошибка 400»

Проверьте правильность оформления http-запроса. Попробуйте удалить Telegram-бота в BotFather, создать заново и использовать заново сгенерированный токен.

Проверьте правильность оформления поля BODY (синтаксис).

Образец правильного оформления поля BODY :

Должны быть отступы (можете нажать Tab либо нажать пробел четыре раза)

«chat_id»: должно быть написано именно так (проверьте на наличие опечаток, а лучше скопируйте и вставьте):

Значение chat_id должно быть не 123456789, а реальное значение, которое вы скопировали на шаге 3 (123456789 это пример для урока)

Строка, содержащая «chat_id»: должна оканчиваться запятой

После двоеточий должны быть пробелы

Значение передаваемого текста сообщения должно быть в таких кавычках: » «