Очень важно быстро реагировать на заявки, которые поступают через формы на сайте. И для этого Telegram подходит куда больше, чем почта. Поэтому давайте настроим наш сайт на WordPress для того, чтобы заявки попадали в телеграм чат, а не только на почту.
Получаем заявки в телеграм
Шаг 1. Создаем телеграм бота
Для создания телеграм бота удобнее использовать версию Telegram для компьютера.
Первым делом нам надо через поиск найти отца всех ботов @BotFather (Нажмите, чтобы сразу открыть его).
После этого нажмите «Запустить» и в появившемся сообщении нажмите /newbot
Бот попросит ввести публичное имя бота, которое может быть не уникальным. Называете его так, как вам угодно. Можно и на русском.
Далее бот запросит ввести уникальный никнейм для вашего бота. Введите какое-то имя на английском языке без пробелов и добавьте в конце _bot. Можно и без нижнего подчеркивания, но так больше шансов на уникальность имени.
Если имя будет уникальным, то бот пришлет в ответ сообщение, в котором нам нужно скопировать токен (это такая куча случайных букв и цифр). Копируем его в блокнот и переходим к следующему шагу.
Шаг 2. Создаем чат для заявок
Теперь нам надо создать чат, куда будут приходить заявки в телеграм.
Для этого просто нажимаем на меню в левом верхнем углу — Создать группу. Пишем имя нашего чата и добавляем туда бота, введя в поиске его уникальный никнем (тот, который оканчивается на _bot).
После этого пишем что-нибудь в чат и в личку самому боту. Это нужно для того, чтоб на серверах телеграма появился уникальный номер нужного нам чата.
Теперь нам нужно получить этот самый ID. Для этого снова идем в чат и в поле, где отображаются все участники группы, нажимаем на иконку Добавить участника (человечек с плюсиком), выбираем пригласить по ссылке и копируем ссылку на чат.
После этого снова идем в поиск и ищем бота @IDBot (Ссылка ведет на этого бота). Нажимаем Запустить, вставляем скопированную ссылку на наш чат и нажимаем Enter. Бот вступит в наш чат и тут же выйдет, а в ответ пришлет нужным нам ID чата. Его так же копируем в какой-нибудь блокнот.
С Telegram всё. Переходим к настройкам сайта.
Шаг 3. Настройка сайта на WordPress
Для того, чтобы поступали заявки в телеграм с WordPress сайта, нам нужно установить плагин Telsender. Но учтите, что он работает только если вы создаете формы обратной связи через плагины Contact-form-7 и Wp Forms.
Устанавливаем Telsender как любой другой плагин. Потом идем в настройки плагина и в поле Токен копируем токен нашего бота, а в ID чата — ID того чата, куда будут отправляться заявки. После этого выбираем формы, с которых надо присылать заявки в телеграм и нажимаем Сохранить.
Всё, теперь сообщения с тех форм, которые вы указали в настройках, будут приходить в телеграм.
Заявки в телеграм через Elementor PRO
В бесплатном элементоре формы создаются так же через плагины, о которых я рассказал выше. А вот с формами, созданными в Elementor PRO всё немного сложнее, так как там у них свой алгоритм работы.
Для того, чтобы заявки отправлялись в Telegram и через них, нам нужно немного пошаманить с кодом сайта. Но не пугайтесь, это достаточно просто.
Ниже я разместил код, который поможет нам в этом. Чтобы он заработал, вам нужно на своем сайте установить любой плагин со сниппетами. Я лично пользуют Woody code snippets, но вы можете использовать любой другой.
Просто копируете код, добавляете новый PHP сниппет и вставляете туда этот код, добавив токен бота и ID чата в нужные поля. Если вы хотите, чтобы в телеграм чат приходили заявки со всего сайта, тогда выбираете, чтобы он запускался везде. Если только на определенных формах, тогда выбираете «Запускать везде, где есть шорткод» и на нужных страницах добавляете элемент Шорткод (лучше перед формой или в начале страницы).
add_action( 'elementor_pro/forms/new_record', function( $record, $handler ) {
$bot_token = ""; // Вставьте между кавычками токен вашего бота
$chat_id = ""; // Вставьте между кавычками ID чата, в который должны приходить заявки и не забудьте минус
$raw_fields = $record->get( 'fields' );
$arr = array();
$txt = "[Новая заявка] тест %0A"; // Заголовок сообщения в телеграм. Между кавычками можно написать что угодно. Например, помогает понимать, откуда пришла заявка, если заявки приходят с нескольких сайтов.
foreach ( $raw_fields as $id => $field ) {
$txt .= "".$field['title'].": ".$field['value']."%0A";
}
fopen("https://api.telegram.org/bot{$bot_token}/sendMessage?chat_id={$chat_id}&parse_mode=html&text={$txt}&disable_web_page_preview=true","r"); // Открывает ссылку, по которой и уходит нужный текст в телеграм
}, 10, 2 );
?>
Сообщения с названием формы
Если у вас на сайте несколько форм и вы хотите, чтобы в заголовке сообщения в телеграм выходило название формы из которой это самое сообщение отправлено, тогда используйте код ниже:
add_action( 'elementor_pro/forms/new_record', function( $record, $handler ) {
$bot_token = ""; // Вставьте между кавычками токен вашего бота
$chat_id = ""; // Вставьте между кавычками ID чата, в который должны приходить заявки и не забудьте минус
$form_name = $record->get_form_settings( 'form_name' ); // Берет из настроек формы название формы и записывает её в переменную $form_name
$raw_fields = $record->get( 'fields' );
$arr = array();
$txt = $form_name . "%0A"; // Выводит в заголовке формы данные из переменной $form_name
foreach ( $raw_fields as $id => $field ) {
$txt .= "".$field['title'].": ".$field['value']."%0A";
}
fopen("https://api.telegram.org/bot{$bot_token}/sendMessage?chat_id={$chat_id}&parse_mode=html&text={$txt}&disable_web_page_preview=true","r"); // Открывает ссылку, по которой и уходит нужный текст в телеграм
}, 10, 2 );
?>
Добрый день Андрей.
В первую очередь хочу поблагодарить за Ваши труды. Многое что подглядел в Ваших видео, и за тем успешно реализовал.
Хотел бы у Вас узнать к теме про отправку заявок в Телеграм, а именно: Как можно с помощью Вашего кода разделить формы отправки заявок? Например на сайте есть несколько форм, одна с общими запросами, а другая с запросами технической поддержки. Как лучше разделить чаты, что бы всё приходило не в один канал а совершенно в разные каналы?
Если у Вас есть на это решение, буду весьма благодарен.
С уважением,
Игорь Г.
Добрый день! а как сделать что бы телефон в сообщении был ссылкой
Андрей, привет.
Спасибо за ваши видео.
У меня не получилось настроить отправку заявок в телеграм. Наверное, потому что я использую многоступенчатую форму на Элементоре (квиз)
Может быть в этом случае код нужно другой в сниппете прописать? Подскажите.
а возможно ли таким образом получать в тг прикрепленные файлы из формы? или нужно чтото дописать?