Отправка сообщений в 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 с нуля. Вам это пригодится: если вы хотите научиться разрабатывать сайты на WP, а не просто устанавливать шаблонные решения; вы хотите сделать уникальный дизайн для своего сайта или Читать далее

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

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

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

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

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

*

code