Заявки с сайта в телеграм

Содержание

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

1. Создаем бота в Telegram

В первую очередь необходимо настроить бота в Telegram, для этого открываем сам телеграм (я открываю через приложение на ПК) и ищем там бота @BotFather

Кликаем по нему и жмем кнопку «запустить»

После этого бот пришлет вам первое сообщение со списком команд — кликаем по первой команде «/newbot» в ответ вы увидите сообщение с просьбой создать имя для вашего бота (называть его можно как угодно, я проверил на кириллице — работает)

Теперь необходимо создать имя пользователя для нашего бота, важное условие, что имя пользователя должно заканчиваться на «bot». Вот так, например: TetrisBot или tetris_bot (имя должно быть уникальным, одним словом) Я для примера назову его «siteweb_bot»

В ответ придет сообщение в котором содержится токен скопируйте его полностью. В нашем случае это: 6380730021:AAEx1NjBtPkX18IecRFydEHFiOkT9rFfymo

2. Создаем чат для сбора заявок в телеграм

Для создания чата в меню телеграм выберите «создать группу»

Дайте ей название (я назвал прием заявок) и нажмите кнопку «далее»

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

Если вы не добавили бота на этом этапе — не страшно, его можно будет добавить потом из меню вашей группы.

После того как создали группу нужно написать в нее какое-нибудь сообщение, например «привет».

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

Это нужно для того чтобы мы могли получить уникальный номер (id) нашего чата.

После того как все сделали получаем id нашего чата: переходим в меню группы и жмем на кнопку добавления участника.

В открывшемся окне кликаем по кнопке «пригласить по ссылке»

Откроется окно содержащее ссылку на группу — копируем ее.

После этого необходимо в поиске телеграм найти бота @IDBot кликнуть по нему, потом нажать кнопку запустить и отправить ему ссылку на группу которую мы скопировали ранее. Данный бот вступит в группу и сразу выйдет из нее, а в результате пришлет id нашей группы (в нашем случае -993919499)

В итоге мы имеем 2 значения (в вашем случае они будут другими):

токен бота: 6380730021:AAEx1NjBtPkX18IecRFydEHFiOkT9rFfymo

id группы: -993919499

Подключаем telegram к формам Elementor PRO

Для того чтобы заявки с сайта wordpress с использованием форм Elementor PRO приходили в нашу группу Telegram, которую мы создали ранее, нам понадобится плагин для вставки кода, например проверенный плагин Woody code snippets (он должен быть установлен и активирован на вашем сайте). В меню плагина выбираем пункт «+добавить сниппет» и в открывшемся окне выбираем пункт php сниппет и жмем «создать элемент»

Откроется окно, в нем заполняем название которое вам удобно и выбираем пункт «запустить везде»

В тело сниппета необходимо вставить следующий код:

add_action( 'elementor_pro/forms/new_record', function( $record, $handler ) {

    $bot_token = ""; // Между кавычек вставляем токен вашего бота
    $chat_id = ""; // Тут между кавычек вставляем полный ID чата, в него будут отправляться заявки
    $form_name = $record->get_form_settings( 'form_name' ); // Берет из настроек формы Elementor PRO название формы и записывает её в переменную $form_name
	$raw_fields = $record->get( 'fields' );
    $arr = array();
    $txt = $form_name . "%0A"; // Вывод в заголовке формы данные из переменной $form_name

        foreach ( $raw_fields as $id => $field ) {
          $txt .= "<b>".$field['title']."</b>: ".$field['value']."%0A";
        }

    fopen("https://api.telegram.org/bot{$bot_token}/sendMessage?chat_id={$chat_id}&parse_mode=html&text={$txt}&disable_web_page_preview=true","r"); // Открытие ссылки, для  отправки данных в телегу

}, 10, 2 );
?>
PHP

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

В итоге у вас должно получиться вот так (только данные токен и id ваших чатов):

Теперь проверяем форму сбора заявок на нашем сайте — отправляем тестовую заявку и моментально в нашу группу в телеграмме приходит сообщение с данными из нашей формы:

В зависимости от типа поля некоторые строки будут кликабельны, в данном случае email, на других сайтах номер телефона кликабелен (при открытии чата с мобильных устройств)

На этом все, надеюсь у вас все получилось.

Обновлено: Если необходимо решение приема заявок с сайта в Telegram не только с форм обратной связи Elementor PRO, но и других плагинов, то читайте новую статью: Публикации с сайта WordPress в Telegram через плагин.

поделиться:
Telegram
VK
OK
WhatsApp