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

Содержание

На одном из проектов необходимо было реализовать отправку заявки с сайта в телеграм. На просторах интернета множество различных вариантов, для себя нашел один рабочий, где заявки с форм 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 через плагин.

поделиться:
VK
WhatsApp
Telegram
Email
Напечатать
OK