Отправка сообщений в Telegram из Contact Form 7

Отправка сообщений в Telegram из Contact Form 7

2 марта 2020 WordPress

Мы уже рассматривали как отправлять сообщения в телеграмм из обычного PHP скрипта и заказы из OpenCart. В этой статье вы узнаете как отправлять сообщения в телеграмм из плагина WordPress Contact Form 7.

Создаем бота

Боты в Telegram создаются через другого специального бота @BotFather. Нужно найти его и отправить ему команду /start.

Для создания нового бота отправляем следующую команду /newbot. После чего бот запросит имя вашего нового бота, оно обязательно должно заканчиваться на Bot. В случае успеха в ответ получаем уникальный токен бота, который понадобится для дальнейшей работы. И не забудьте добавить вновь созданного бота в ваши контакты отправив ему команду /start

Получаем токен и chat id бота

Чтобы отправить сообщение пользователю через бота достаточно вызвать определенный URL из PHP скрипта содержащий токен бота и внутренний ID чата chat id.

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

Токен бота у нас уже есть, а chat id можно получить 2 способами:

  1. Написать боту @ShowJsonBot любой текст. В ответ он вернет вам некие данные в JSON формате. Находим объект chat и в нем id — это и есть ваш chat id.
  2. В адресной строке ввести https://api.telegram.org/bot<YourBOTToken>/getUpdates где <YourBOTToken> — это ранее полученный токен вашего бота. Находим объект chat и в нем id — это и есть ваш chat id.

Отправка сообщений из плагина WordPress Contact Form 7 в Telegram

Для удобства я сохранил код в отдельный файл и включил его в плагине. Итак создаем файл telegram.php в текущем шаблоне и добавляем в него следующий код:

<?
// токен бота
 define('TELEGRAM_TOKEN', '123456789:XXXXXXXXXXXXXXXXXXXXXXX');
// ваш внутренний ID
 define('TELEGRAM_CHATID', '123456789');

$message = str_replace("\n", ' ', strip_tags($body));

$ch = curl_init('https://api.telegram.org/bot'.TELEGRAM_TOKEN.'/sendMessage?chat_id='.TELEGRAM_CHATID.'&text='.$message); // URL
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Не возвращать ответ
curl_exec($ch); // Делаем запрос
curl_close($ch); // Завершаем сеанс cURL
?>

В файле /wp-content/plugins/contact-form-7/includes/mail.php подключаем файл перед функцией return wp_mail( $recipient, $subject, $body, $headers, $attachments ); это примерно 133 строка:

include_once(get_template_directory().'/telegram.php');

Отправка сообщений в группу

Чтобы бот мог отправлять сообщения в группу, необходимо дать ему определенные разрешения.

Опять заходим в @BotFather и вводим следующую команду: /setjoingroups, выбираем нашего бота и команду Enabled. Теперь бота можно добавлять в группы. Далее необходимо разрешить боту читать и писать все сообщения, делается это командой /setprivacy установленной наоборот в Disabled.

Теперь добавляем бота в группу Telegram, как обычного участника.

Теперь необходимо добавить бота в группу. Сделать это можно в настройках группы в разделе Добавить участника. В поиске необходимо ввести имя вашего бота и нажать OK.

Теперь в настройках скрипта нужно изменить chat id пользователя, на chat id нужной группы. Для этого предварительно нужно написать любое сообщение в чат, а затем в адресной строке ввести https://api.telegram.org/bot<YourBOTToken>/getUpdates где <YourBOTToken> — это ранее полученный токен вашего бота. После находим объект chat и в нем id — это и будет chat id группы.

Если вам понравилась статья, вы можете отблагодарить автора любой суммой, какую сочтете для себя приемлемой:
Остались вопросы по статье? Задайте их прямо сейчас!
Похожие записи
Отправка заказов из OpenCart в группу Telegram

Мы уже рассматривали, как создать бота, который отправляет сообщения с сайта в мессенджер Telegram. Сегодня мы научим его отправлять заказы из интернет-магазина на OpenCart. Создаем бота Боты в Telegram создаются через другого специального бота @BotFather. Нужно найти его и отправить ему Читать далее

Телеграм бот на PHP отправляющий сообщения с сайта

Что если сообщения с сайта будут приходить не только на ваш e-mail, но и моментально в мессенджер телеграм. Удобно же! Нужно было реализовать такой функционал, ну как и всегда все оказалось довольно просто. Так же стояла задача отправлять сообщения не Читать далее

Как установить WordPress: полное руководство для начинающих

Это полное пошаговое руководство для начинающих, которое поможет вам создать свой первый сайт на WordPress на любом веб-хостинге или локальном сервере. Почему WordPress? WordPress является самой популярной платформой для создания веб-сайтов. На сегодняшний день её используют 59% всех веб-сайтов созданных Читать далее

WordPress создание темы с нуля

Давно хотел написать подробное руководство о том, как создать тему на WordPress с нуля. Вам это пригодится: если вы хотите научиться разрабатывать сайты на WP, а не просто устанавливать шаблонные решения; вы хотите сделать уникальный дизайн для своего сайта или Читать далее

Как создать виджет WordPress

Виджеты используются для добавления контента на страницу WordPress без изменения шаблонов тем. Боковая панель является областью по умолчанию для добавления содержимого виджетов. Также вы можете зарегистрировать собственную область виджетов и добавить в нее виджеты. WordPress содержит некоторые виджеты по умолчанию Читать далее

Оптимизация WordPress

Ваш сайт WordPress может быть медленным по многим различным причинам: забитая база данных, работающая в фоновом режиме, является одним из них. Профессиональный рабочий процесс поддержки WordPress включает в себя регулярную оптимизацию базы данных, в ходе которой вы избавляетесь от ненужных Читать далее

27 комментариев на «Отправка сообщений в Telegram из Contact Form 7»

  1. Василий:

    Добрый день, спасибо за материал, подскажите пожалуйста как сделать, чтоб после каждого поля контактной формы был перенос строки, а телефон был кликабельным?

  2. Антон:

    Добрый день! Передайте HTML в поле parse_mode при использовании sendMessage.

  3. Василий:

    Спасибо дружище), я тупанул, там в самой настройки формы СF7 надо было добавить %0A после каждого поля, а чтоб «плюсик» номера восстановить — добавить %2B перед номером. Вопрос еще такой, может подскажешь, если в поле textarea в contact form 7 при вводе текста сделать перенос строки(нажать ентер), то форма не отправит данные, хотя сообщение об успешной отправке появится. Это же просто ужас, клиент нажмет перевод строки и ты потеряешь клиента, так как его сообщение не отправится… Как этот можно исправить?

  4. Евгений:

    Добрый день!
    Спасибо.
    Если плагин обновится изменения затрутся?

  5. Антон:

    Возможно письмо отправляется, но не доходит из-за символов, которые появляются при переводе строки.

  6. Антон:

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

  7. Борис:

    А если у меня много форм обратной связи и я хочу, чтоб данные из каждой формы отправлялись в свою группу телеграм?

  8. Антон:

    Перед скриптом отправки получать ID формы и в зависимости от неё менять параметры бота.

  9. Рустам:

    «После находим объект chat и в нем id — это и будет chat id группы.» — где находим? После ввода в адресной строке https://api.telegram.org/bot/getUpdates получил в ответ {«ok»:true,»result»:[]}

  10. Антон:

    Видимо вы предварительно не отправили любое сообщение в группу, где находится бот.

  11. inwall:

    Здравствуйте, все вышеуказанное проделал. Отправляю форму на сайте, но сообщения не приходят на телегу. Какие-то может после проделанной настройки работы еще в плагине Contact Form 7 должны производиться?

  12. Антон:

    Нет, только вызов скрипта в коде плагина. Проверьте, что скрипт и бот верно настроен.

  13. inwall:

    Огромное спасибо, все получилось!

  14. Максим:

    Сделал всё пошагово по инструкции, проверил, с подключенным файлом telegram.php сообщения из формы вообще не отправляются, крутится анимация процесса отправки и всё, что может быть не так?

  15. Антон:

    У вас ошибка в коде telegram.php

  16. Эдгар:

    Спасибо за инструкцию, у меня получилось

  17. Михаил:

    Приветствую. Куда нужно положить файл telegram.php? Не отправляются сообщения вроде все сделал по инструкции.

  18. Михаил:

    Разобрался в тему кидать, огонь, спасибо

  19. НАТАЛЬЯ:

    Перестали приходить с сайта в телеграмм бот сообщения….все работало и вдруг дня три ничего не приходит….

  20. david:

    возможно обновили плагин CF-7 попробуйте заново отредактировать mail.php

  21. Олександр:

    Дякую! Все супер, але telegram.php потрібно закидати в папку с актуальною темою 🙂

  22. Тимур:

    Приветствую! всё приходит, но со штрихкодами, типо [tel], [name]. Не знаете как их отфильтровать?

  23. Megan Atkinson:

    Hi there,

    We run an Instagram growth service, which increases your number of followers both safely and practically.

    — Guaranteed: We guarantee to gain you 400-1200+ followers per month.
    — Real, human followers: People follow you because they are interested in your business or niche.
    — Safe: All actions are made manually. We do not use any bots.

    The price is just $60 (USD) per month, and we can start immediately.

    If you are interested, and have any questions, reply back and we can discuss further.

    Kind Regards,
    Megan

  24. Ирина:

    Спасибо большое!

  25. Алекс:

    Что делать если SMTP блочит отправку. Распознает как спам.

  26. Megan Atkinson:

    Hi there,

    We run an Instagram growth service, which increases your number of followers safely and practically.

    We aim to gain you 300-1000+ real human followers per month, with all actions safe as they are made manually (no bots).

    The price is just $60 (USD) per month, and we can start immediately.

    Let me know if you are interested and have any questions.

    Kind Regards,
    Megan

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

*

code