Очень важно быстро реагировать на заявки, которые поступают через формы на сайте. И для этого Telegram подходит куда больше, чем почта. Поэтому давайте настроим наш сайт на WordPress для того, чтобы заявки попадали в телеграм чат, а не только на почту.
Получаем заявки в телеграм
Шаг 1. Создаем телеграм бота
Для создания телеграм бота удобнее использовать версию Telegram для компьютера.
Первым делом нам надо через поиск найти отца всех ботов @BotFather (Нажмите, чтобы сразу открыть его).
После этого нажмите «Запустить» и в появившемся сообщении нажмите /newbot
Бот попросит ввести публичное имя бота, которое может быть не уникальным. Называете его так, как вам угодно. Можно и на русском.
Далее бот запросит ввести уникальный никнейм для вашего бота. Введите какое-то имя на английском языке без пробелов и добавьте в конце _bot. Можно и без нижнего подчеркивания, но так больше шансов на уникальность имени.
Если имя будет уникальным, то бот пришлет в ответ сообщение, в котором нам нужно скопировать токен (это такая куча случайных букв и цифр). Копируем его в блокнот и переходим к следующему шагу.
Шаг 2. Создаем чат для заявок
Теперь нам надо создать чат, куда будут приходить заявки в телеграм.
Для этого просто нажимаем на меню в левом верхнем углу — Создать группу. Пишем имя нашего чата и добавляем туда бота, введя в поиске его уникальный никнем (тот, который оканчивается на _bot).
После этого пишем что-нибудь в чат и в личку самому боту. Это нужно для того, чтоб на серверах телеграма появился уникальный номер нужного нам чата.
Теперь нам нужно получить этот самый ID. Для этого снова идем в чат и в поле, где отображаются все участники группы, нажимаем на иконку Добавить участника (человечек с плюсиком), выбираем пригласить по ссылке и копируем ссылку на чат.
После этого снова идем в поиск и ищем бота @IDBot (Ссылка ведет на этого бота). Нажимаем Запустить, вставляем скопированную ссылку на наш чат и нажимаем Enter. Бот вступит в наш чат и тут же выйдет, а в ответ пришлет нужным нам ID чата. Его так же копируем в какой-нибудь блокнот.
С Telegram всё. Переходим к настройкам сайта.
Шаг 3. Настройка сайта на WordPress
Для того, чтобы поступали заявки в телеграм с WordPress сайта, нам нужно установить плагин Telsender. Но учтите, что он работает только если вы создаете формы обратной связи через плагины Contact-form-7 и Wp Forms.
Устанавливаем Telsender как любой другой плагин. Потом идем в настройки плагина и в поле Токен копируем токен нашего бота, а в ID чата — ID того чата, куда будут отправляться заявки. После этого выбираем формы, с которых надо присылать заявки в телеграм и нажимаем Сохранить.
Всё, теперь сообщения с тех форм, которые вы указали в настройках, будут приходить в телеграм.
Заявки в телеграм через Elementor PRO
В бесплатном элементоре формы создаются так же через плагины, о которых я рассказал выше. А вот с формами, созданными в Elementor PRO всё немного сложнее, так как там у них свой алгоритм работы.
Для того, чтобы заявки отправлялись в Telegram и через них, нам нужно немного пошаманить с кодом сайта. Но не пугайтесь, это достаточно просто.
Ниже я разместил код, который поможет нам в этом. Чтобы он заработал, вам нужно на своем сайте установить любой плагин со сниппетами. Я лично пользуют Woody code snippets, но вы можете использовать любой другой.
Просто копируете код, добавляете новый PHP сниппет и вставляете туда этот код, добавив токен бота и ID чата в нужные поля. Если вы хотите, чтобы в телеграм чат приходили заявки со всего сайта, тогда выбираете, чтобы он запускался везде. Если только на определенных формах, тогда выбираете «Запускать везде, где есть шорткод» и на нужных страницах добавляете элемент Шорткод (лучше перед формой или в начале страницы).
add_action( 'elementor_pro/forms/new_record', function( $record, $handler ) {
$bot_token = ""; // Вставьте между кавычками токен вашего бота
$chat_id = ""; // Вставьте между кавычками ID чата, в который должны приходить заявки и не забудьте минус
$raw_fields = $record->get( 'fields' );
$arr = array();
$txt = "[Новая заявка] тест %0A"; // Заголовок сообщения в телеграм. Между кавычками можно написать что угодно. Например, помогает понимать, откуда пришла заявка, если заявки приходят с нескольких сайтов.
foreach ( $raw_fields as $id => $field ) {
$txt .= "".$field['title'].": ".$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 );
?>
Сообщения с названием формы
Если у вас на сайте несколько форм и вы хотите, чтобы в заголовке сообщения в телеграм выходило название формы из которой это самое сообщение отправлено, тогда используйте код ниже:
add_action( 'elementor_pro/forms/new_record', function( $record, $handler ) {
$bot_token = ""; // Вставьте между кавычками токен вашего бота
$chat_id = ""; // Вставьте между кавычками ID чата, в который должны приходить заявки и не забудьте минус
$form_name = $record->get_form_settings( 'form_name' ); // Берет из настроек формы название формы и записывает её в переменную $form_name
$raw_fields = $record->get( 'fields' );
$arr = array();
$txt = $form_name . "%0A"; // Выводит в заголовке формы данные из переменной $form_name
foreach ( $raw_fields as $id => $field ) {
$txt .= "".$field['title'].": ".$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 );
?>
Заявки в телеграм через Piotnet Addons For Elementor (PAFE)
Чтобы получать заявки из форм, сделанных в Piotnet (он же PAFE), нужно сделать несколько дополнительных телодвижений. В видео показал наглядно (смотреть с 7:38).
Но вообще алгоритм такой:
- В корне сайта создаёте файл с расширением php и вставляете туда код, размещенный ниже.
[Новое заполнение формы] %0A %0A". // Заголовок сообщения в телеге
"ФИО: " . $_POST['Name'] ."%0A". // Каждая строка берёт данные из конкретного поля формы
"Телефон: " . $_POST['Phone'] ."%0A".
"Услуга: " . $_POST['Services'] ;
fopen("https://api.telegram.org/bot{$bot_token}/sendMessage?chat_id={$chat_id}&parse_mode=html&text={$txt}", "r");
?>
- Заходите в настройки кнопки, которая отправляет данные из вашей формы и поле «Действия после отправки» выбираете Remote Request (или Удаленный запрос).
- Открываете появившийся ниже пункт «Удаленный запрос» и в поле URL указываете путь к файлу, который мы создали в первом пункте.
- Ниже будет пункт из 2 полей, который в моем переводе называется «Запрос аргументов». В первом поле пишем method, а во втором большими буквами POST
- В следующем пункте нужно связать имя, которое у нас будет записываться в файле с шорткодом конкретного поля формы.
В моём случае, я связываю имя Name c полем, куда люди вводят своё имя. Поле Phone с полем, куда люди вводят номер телефона и так далее. Все эти поля чувствительны к регистру, поэтому Name и name — это разные имена.
Всё, сохраняете всё и проверяете.
Добрый день Андрей.
В первую очередь хочу поблагодарить за Ваши труды. Многое что подглядел в Ваших видео, и за тем успешно реализовал.
Хотел бы у Вас узнать к теме про отправку заявок в Телеграм, а именно: Как можно с помощью Вашего кода разделить формы отправки заявок? Например на сайте есть несколько форм, одна с общими запросами, а другая с запросами технической поддержки. Как лучше разделить чаты, что бы всё приходило не в один канал а совершенно в разные каналы?
Если у Вас есть на это решение, буду весьма благодарен.
С уважением,
Игорь Г.
Добрый день! а как сделать что бы телефон в сообщении был ссылкой
Андрей, привет.
Спасибо за ваши видео.
У меня не получилось настроить отправку заявок в телеграм. Наверное, потому что я использую многоступенчатую форму на Элементоре (квиз)
Может быть в этом случае код нужно другой в сниппете прописать? Подскажите.
а возможно ли таким образом получать в тг прикрепленные файлы из формы? или нужно чтото дописать?
Подскажи как сделать чтобы формы отправлялись с форм «pafe piotnet» я уже весь интернет перелапатил. Помоги плиз
Нашел решение? Тоже с pafe мультиформами бодаюсь не могу отобразить в телеграм заявки
Добрый день.
В чем может быть ошибка, у меня не работает данный код, в телеграм не отправляются данные. На сайте 3 формы (одна из них popup).
подскажие, почему у меня когда я вставляю кастом код для элементора он у меня вылезает в хедере сайта?
Для тех, кто не желает вникать в код или не знает его, как я, например, можно еще установить вот такой плагин для WordPress — https://opovestit.ru/plagin-dlya-wordpress-dlya-otpravki-v-telegram/
Можно легко подключить Телеграм к любому своему сайту на WordPress, а у меня их 3 штуки, и не надо с бубном плясать. Не бесплатно, конечно, но копейки стоит, а вещь удобная. Меня в свое время сильно выручило, может, кому тоже пригодится.
Спасибо вам большое, все получилось.