Contact Form 7 и отправка данных в Telegram бот: практическое руководство

Contact Form 7 — один из самых популярных плагинов для создания форм обратной связи в WordPress. Часто возникает задача не только получать сообщения на email, но и оперативно получать уведомления в мессенджерах, например, в Telegram. В этой статье мы подробно рассмотрим, как настроить отправку данных из Contact Form 7 напрямую в Telegram бот с помощью webhook и PHP.

Почему стоит отправлять данные из Contact Form 7 в Telegram

Telegram — один из самых удобных мессенджеров для оперативного общения. Отправка уведомлений о новых заявках из формы в Telegram позволяет мгновенно реагировать на запросы клиентов, не заходя каждый раз в админ-панель WordPress или почту.

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

Настройка отправки в Telegram актуальна и для сайтов на Contact Form 7, так как в стандартном функционале плагина нет встроенной поддержки мессенджеров.

Создание Telegram бота и получение токена

Первым шагом необходимо создать Telegram бота и получить от него токен — уникальный ключ для доступа к API Telegram.

  1. Откройте Telegram и найдите бота @BotFather.
  2. Отправьте команду /newbot и следуйте инструкциям: задайте имя и уникальный username бота.
  3. В ответ вы получите токен, который выглядит примерно так: 123456789:AAHq1X2yZ_abcdefgHIJKLMNOpqrstuv.

Этот токен понадобится для отправки сообщений из WordPress.

Настройка Contact Form 7 для отправки данных в Telegram

Для отправки данных в Telegram из Contact Form 7 мы будем использовать хук wpcf7_mail_sent, который срабатывает после успешной отправки формы. Вешаем на него свою функцию, которая будет формировать сообщение и отправлять его в Telegram API.

Добавьте следующий код в файл functions.php вашей активной темы или в отдельный плагин:

function contactform7_send_to_telegram($contact_form) {
    $submission = WPCF7_Submission::get_instance();
    if (!$submission) {
        return;
    }

    $data = $submission->get_posted_data();

    // Ваш Telegram токен и ID чата (замените на свои)
    $telegram_token = 'ВАШ_ТОКЕН_БОТА';
    $chat_id = 'ВАШ_CHAT_ID';

    // Формируем сообщение
    $message = "Новая заявка с сайта:\n";
    foreach ($data as $key => $value) {
        if (is_array($value)) {
            $value = implode(", ", $value);
        }
        $message .= ucfirst($key) . ": " . $value . "\n";
    }

    // URL для отправки сообщения
    $url = "https://api.telegram.org/bot" . $telegram_token . "/sendMessage?chat_id=" . $chat_id . "&text=" . urlencode($message);

    // Отправка запроса
    wp_remote_get($url);
}
add_action('wpcf7_mail_sent', 'contactform7_send_to_telegram');

Пояснения к коду

  • Используем метод WPCF7_Submission::get_instance() для получения данных формы.
  • Формируем текст сообщения, перебирая все поля формы.
  • Отправляем GET-запрос к API Telegram с помощью встроенной функции wp_remote_get().
  • Вам нужно заменить ВАШ_ТОКЕН_БОТА и ВАШ_CHAT_ID на реальные значения.

Как узнать chat_id для Telegram

Chat ID — идентификатор чата, куда бот будет отправлять сообщения. Чтобы узнать его:

  1. Откройте чат с вашим ботом в Telegram.
  2. Отправьте любое сообщение боту.
  3. Перейдите по ссылке в браузере (замените ВАШ_ТОКЕН_БОТА):
    https://api.telegram.org/botВАШ_ТОКЕН_БОТА/getUpdates
  4. В ответе API найдите поле chat и там id — это и есть ваш chat_id.

Если хотите отправлять в групповой чат, добавьте бота в группу и проделайте то же самое.

Расширенные возможности и безопасность

Можно улучшить интеграцию, добавив:

  • Отправку сообщений с форматированием Markdown или HTML — для удобного визуального восприятия.
  • Обработку ошибок — проверку ответа от Telegram API и логирование проблем.
  • Защиту от спама — например, добавление Google reCAPTCHA 3 или Honeypot.

Для отправки с форматированием измените URL и добавьте параметр parse_mode=HTML или parse_mode=Markdown. Например:

$url = "https://api.telegram.org/bot" . $telegram_token . "/sendMessage?chat_id=" . $chat_id . "&text=" . urlencode($message) . "&parse_mode=HTML";

Пример кастомного форматирования сообщения

Чтобы сделать сообщение более читаемым, можно оформить его HTML тегами. Пример:

function contactform7_send_to_telegram($contact_form) {
    $submission = WPCF7_Submission::get_instance();
    if (!$submission) {
        return;
    }

    $data = $submission->get_posted_data();

    $telegram_token = 'ВАШ_ТОКЕН_БОТА';
    $chat_id = 'ВАШ_CHAT_ID';

    $message = "<b>Новая заявка с сайта</b>:\n";
    foreach ($data as $key => $value) {
        if (is_array($value)) {
            $value = implode(", ", $value);
        }
        $message .= "<b>" . htmlspecialchars($key) . ":</b> " . htmlspecialchars($value) . "\n";
    }

    $url = "https://api.telegram.org/bot" . $telegram_token . "/sendMessage?chat_id=" . $chat_id . "&text=" . urlencode($message) . "&parse_mode=HTML";

    wp_remote_get($url);
}
add_action('wpcf7_mail_sent', 'contactform7_send_to_telegram');

Плагин для автоматизации отправки данных в Telegram

Если не хотите писать код, можно использовать готовые плагины. Например:

Однако собственный код даёт больше гибкости и контроля.

Выводы и рекомендации

Отправка данных из Contact Form 7 в Telegram бот — удобный способ быстро получать заявки. Это улучшает коммуникацию с клиентами и ускоряет реакцию.

Реализовать такую интеграцию можно вручную, написав несколько строк кода, или с помощью плагинов. В любом случае, обязательно тестируйте работу и следите за безопасностью.

Для расширения функционала WordPress советуем ознакомиться с плагинами от WPShop, которые помогут оптимизировать ваш сайт и взаимодействие с пользователями. Подробнее на wpshop.ru.

Добавь в закладки и поделись с друзьями:

⭐⭐⭐⭐⭐
Contact Form 7: как добавить отзывы после отправки формы в WordPress
11.02.2026
Contact Form 7: как добавить подтверждение телефонных номеров с OTP
08.05.2026
Contact Form 7: Автозаполнение полей формы по ID пользователя в WordPress
02.05.2026
Contact Form 7 авторизация пользователя через форму в WordPress
17.02.2026
Contact Form 7: как добавить ответы из формы в базу данных WordPress
17.01.2026
×
WordPress
дай сайту суперсилу!

Скидки на топовые темы и плагины

Активировать суперсилу ⋙