Отправка сообщений из Contact Form 7 в Telegram — Пошаговая инструкция

Отправка заявок из Contact Form 7 в Telegram

Отправка заявок из Contact Form 7 в Telegram

Приветствуем в нашей новой статье! На днях к нам обратился клиент с просьбой настроить отправку уведомлений о новых заявках с сайта в мессенджер Telegram. Сам клиент давно пользуется плагином Contact Form 7 для WordPress и получает заявки на почту, но недавно задумался об их отправке и в Telegram.

Решается такой вопрос за 10 минут без использования сторонних плагинов с помощью готового скрипта, который размещается в файле functions.php. Также вам понадобится свой телеграм-бот, инструкцией по созданию которого мы также поделимся в этом материале!

Создание бота в Telegram

Как говорилось ранее, вам необходимо создать своего бота в Telegram. Пошаговая инструкция по созданию и настройке бота:

  • Заходим в Telegram и ищем бота @BotFather;
  • Запускаем процесс создания бота с помощью команды /newbot;
  • Вводим название бота, а также имя бота (username). Важно, на конце username должно быть слово «bot»;
  • После создания бота получаем токен.

Отлично! Бот создан. Теперь можно его запустить и переходить к следующему этапу.

Скрипт отправки сообщений из CF7 в Telegram

Переходим в файл functions.php вашей активной темы и вставляем в него приведенный ниже код.

function send_telegram_message($contact_form) {
	
	
    $bot_token = 'your_token';
    $chat_id = 'your_chat_id'; 
    $message = "Новая заявка с сайта:\n";   ' \n';  
	$form_data = $contact_form->posted_data;
	$submission = WPCF7_Submission::get_instance();
	
	if ( $submission ) {

		$form_data = $submission->get_posted_data();

		$name 	= isset($form_data['your-name']) ? $form_data['your-name'] : '';
		$phone 	= isset($form_data['your-tel']) ? $form_data['your-tel'] : '';
		$question = isset($form_data['your-message']) ? $form_data['your-message'] : '';

		$message .= "Имя: $name\n";
		$message .= "Телефон: $phone\n";
		$message .= "Сообщение: $question";

	}
	
	$api_url = "https://api.telegram.org/bot$bot_token/sendMessage?chat_id=$chat_id&text=" . urlencode($message);
	$response = wp_remote_fopen($api_url);

}

add_action('wpcf7_mail_sent', 'send_telegram_message');

После этого нужно поменять your_token и your_chat_id:

  • your_token — токен вашего бота, который вы получили ранее при его создании
  • your_chat_id — ID учетной записи Telegram, которая будет взаимодействовать с ботом.

Теперь нужно получить Chat ID. В этом поможет бот @username_to_id_bot. Просто запускаем его и получаем Chat ID.

your_name, your_tel, your_message — поля вашей формы, которую вы создавали в Contact Form 7. Например, в форме обратной связи на нашем сайте есть следующие поля: Имя, Телефон, Сообщение.

Готово! Сохраняем изменения в файле functions.php и получаем заявки со своего сайта не только на почту, но и в Telegram.

Поддержать нашу команду:
5 комментариев

Сколько форм у вас на сайте? Я бы попробовал приведенный в статье код продублировать для каждой формы обратной связи. Чтобы по итогу на каждую форму обратной связи была своя функция. Если решите попробовать, то не забудьте задать разные названия для этих функций. Подход, наверное, не совсем правильный, но может сработать.

Круто, спасибо, тоже начну пользоваться, соглашусь с комментарием выше, хочу уведомления в вацап получать

спасибо познавательно. было бы здорово еще узнать об отправке заявок и в другие месенджеры )

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Привет! Интересно читать нас? Уделите пару минут своего времени, узнайте больше о нашей команде!

Получить подарок!