Тут мы рассказываем, как отправлять личные сообщения в Telegram с помощью бота.
Если вы хотите отправлять сообщения не в личные сообщения, а в группу в Telegram, то обратитесь к этой инструкции.
Как настроить отправку сообщений
Постройте сценарий
Чтобы отправить что-либо в Telegram, сначала нам нужно записать информацию в переменную. Вы можете собрать несколько параметров, записать их в переменные, и все эти переменные передать в Telegram. Перед отправкой данных у вас должен существовать участок сценария с записью в переменные.
Пройдите этот урок для построения сценария.
После прохождения урока, у вас будут 5 переменных:
- для имени
- для фамилии
- для телефона
- для email
- для вида услуги
Опубликуйте бота в Telegram
Чтобы опубликовать бота в Telegram, следуйте инструкции.
Если вы уже опубликовали бота в Telegram, переходите к следующему пункту.
Получите chat_id
Для того чтобы получить сообщение в Telegram, бот должен знать, кому его отправлять. Вы можете получить chat_id своего аккаунта (или аккаунта человека, которому вы хотите отправлять данную информацию), чтобы затем с помощью бота отправлять сообщения.
URL Uploader Bot Telegram
Чтобы получить chat_id , создайте в сценарии новый экран с текстом:
Поместите этот экран в начало сценария, чтобы этот экран был в левом верхнем углу. Таким образом, этот экран будет первым при запуске бота.
Опубликуйте бота
Нажмите Опубликовать и дождитесь сообщения о том, что сценарий опубликован на канале Telegram.
Протестируйте бота
Теперь перейдите к своему боту в Telegram (не в тестовом виджете!) и отправьте боту:
Если вы хотите, чтобы сообщения приходили не вам, а другому человеку, то просто отправьте этому человеку ссылку на бота. Если этот пользователь будет общаться с этим ботом впервые, то бот сразу же пришлет значение chat_id . Если этот пользователь ранее уже общался с этим ботом, то попросите пользователя отправить в диалог /start , чтобы получить chat_id.
Бот пришлет вам нужное значение:
Скопируйте и вставьте в блокнот число, которое прислал бот.
Удалите экран с текстом $rawRequest.message.from.id . Он больше не нужен.
Отправьте данные
Следующий шаг — отправить данные, полученные от клиента. Для этого в сценарии, после сбора всей нужной информации, должен быть блок HTTP-запрос. С помощью одного запроса можно передать сразу несколько переменных:
Блок должен быть оформлен следующим образом:
Метод GET
Формирование URL
Для создания URL скопируйте в блокнот строку: https://api.telegram.org/bot/sendMessage
Затем перейдите в Telegram в канал BotFather и скопируйте токен вашего бота, который был сгенерирован, когда вы публиковали канал:
В блокноте выделите
И вместо вставьте токен из Telegram:
Получится примерно следующий адрес:
Теперь выделите строку целиком и вставьте ее в поле URL HTTP-запроса в Aimylogic
Оформление поля BODY
В BODY нам нужно указать:
- значение chat_id , которое мы получили ранее
- все переменные, которые мы до этого собрали в сценарии.
Если вы повторили урок по сбору контактных данных, то в сценарии вы получили следующую информацию:
Ваше имя: $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»:
- Значение chat_id должно быть не 123456789, а реальное значение, которое вы скопировали на шаге 3 (123456789 это пример для урока)
- Строка, содержащая «chat_id»: должна оканчиваться запятой
- После двоеточий должны быть пробелы
- Значение передаваемого текста сообщения должно быть в таких кавычках: » »
Источник: help.aimylogic.com
Как встроить страницу в Telegram бота
Вы можете использовать свои страницы на Linkrr в качестве Telegram Web Apps.
В диалоге с вашим ботом рядом с полем для вводна текста появится кнопка с указанным именем, например «Menu».
Если ее нажать, то откроется страница.
Управление состоянием бота должно быть реализовано в сервисах — конструкторах чатботов. Например, это можно сделать через Salebot.
На странице в Linkrr в блоках «Ссылка» нужно заполнить поле Webhook.
После этого, при каждом клике по кнопкам на странице, Linkrr будет отправлять вебхуки в Salebot. А Salebot будет управлять ботом.
Важно! В поле «Ссылка» нужно указать «tg:», иначе иначе Телеграм перехватывает нажатие и показывает окно перехода по ссылке.
Если надо, чтобы страница закрывалась после тапа по кнопке, то на страницу добавляется html блок с кодом:
document.querySelectorAll(‘[data-biolink-block-id]’).forEach(item => < item.addEventListener(‘click’, event =>< window.Telegram.WebApp.close(); >) >)
Источник: linkrr.app
Линк в Телеграмме — что это такое
Каждый чат, группа, бот и профиль пользователя в Телеграмм имеют линк. Им можно поделиться с друзьями, разместить в паблике или на внешнем ресурсе. В материале рассмотрим, что такое активный линк в Телеграмме.
На авторский закрытый паблик
- Открыть мессенджер Telegram и дождаться загрузки ленты.
- Выбрать в списке приватный частный канал и нажать по аватарке.
- В параметрах профиля тапнуть по пиктограмме карандаша.
- Прокрутить перечень вниз и зайти в раздел «Тип канала/группы».
В пункте «Ссылка-приглашение» будет отображаться адрес https, который автоматически формируется для закрытого паблика. Этим постоянным URL и номером телефона можно поделиться на других ресурсах.
На пост с текстом, музыкой и файлами
Алгоритм действий для текстовых постов следующий:
- Открыть программу и зайти в группу, где нужно посмотреть ссылку на пост.
- Подождать загрузки сообщений и прокрутить список до требуемой публикации.
- Тапнуть один раз по тексту уведомления для запуска контекстного меню.
- Активировать параметр «Копировать ссылку».
На пост с музыкой или файлами:
- Зайти в паблик и выбрать публикацию, где прикреплен файл или музыка.
- Рядом с рамкой сообщения найти функциональную кнопку в виде трех точек.
- Тапнуть по ней для открытия диалогового окна, где нажать «Копировать ссылку».
Внизу появится уведомление «Текст скопирован в буфер обмена».
На бота
- Открыть мессенджер, в ленте или через поиск найти бота.
- Запустить чат с виртуальным помощником и тапнуть по аватарке.
Прокрутите перечень настроек вниз и в пункте «Имя пользователя» вы найдете линк бота. Нажмите по нему один раз, чтобы скопировать или вставить в пост.
Фото: D koi Unsplash
Источник: telega-blog.ru