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

telegramcf71-9857157

2 марта 2020 WordPress Telegram

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

Создаем бота

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

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

jbxa_5wecdy-595x1024-4106316

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

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

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

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

umfr_h8devq-594x1024-4865428

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

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

В файле /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/getUpdates где  — это ранее полученный токен вашего бота. После находим объект chat и в нем id — это и будет chat id группы.

Читайте также: