Отправка сообщений из 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.

2 комментария

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

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

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

О нас

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

Связь с нами
Получить подарок!