Отправка данных из формы обратной связи в telegram

У многих на сайте есть форма обратной связи и, когда кто-то ее заполняет и отправляет, данные приходят к вам на почту. Не всегда это бывает быстро и удобно, особенно, если вы проверяете почту раз в сутки. Сейчас можно реализовать форму обратной связи так, чтобы данные с неё, приходили сразу к вам в месcенджер telegram, что на мое усмотрение, намного лучше. Почему? Вы моментально получаете заявку с сайта на свое устройство, где у вас установлен данный мессенджер. Это может быть телефон, ноутбук, планшет или настольный ПК.  Сейчас я расскажу вам, как отправлять заявки с сайта (данные из формы обратной связи) с помощью телеграм-бота в телеграм-чат.

Создание телеграм-бота

Что бы создать телеграм-бот, нам необходимо найти самого главного — ОтцаБотов! или @botfather

telegram botfather

Поиск @botfather

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

Список команд для управления или создания ботов

В списке мы видим команду /newbot. Данная функция позволяет нам создать новый бот. Можем прописать эту команду вручную в поле отправки сообщения, или просто нажать на эту команду в списке. Когда вы прописали или выбрали эту функцию, необходимо придумать имя для бота. Я назову своего messagebotform. telegram botfather 3

 

После этого, нам нужно будет придумать имя, которое будет заканчиваться на _bot. Я назвал messageform_bot. 

telegram botfather 4

Данные бота, которого создали

Теперь когда мы его создали, можно увидеть токен нашего бота. Он нам понадобится в дальнейшем, когда мы будем настраивать форму.

Создание группы и добавление бота в telegram

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

Зайдите в меню telegram и создаете новую группу.

создание группы

Создание новой группы

 

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

Добавление бота в группу

Добавление бота в группу

Когда вы это сделаете , телеграм попросит ввести название группы. Я назвал «Заявки с формы обратной связи»

Введение названия для группы телеграмм

Создание группы в telegram

Вот так мы с вами создали чат и добавили туда бота. Теперь нам нужно его активировать и будем переходить к настройкам на сайте. Чтобы активировать бота, нам нужно найти его в telegram и просто нажать старт, как на скриншоте ниже

Активация бота

Активация бота

Настройка формы

Теперь нам нужно настроить форму, чтобы данные из нее отправлялись куда надо. У меня есть форма, которая передает данные при помощи метода POST. Но у нее пустой атрибут action=»»

 

Форма

По сути, на данный момент у формы нет обработчика. Исправим мы это, указав в атрибуте action, что наш обработчик это telegram.php (вы можете назвать свой файл как угодно, но название файла должно совпадать с названием которое вы впишите в атрибут action ).

Также, видно что в форме у тэга input есть атрибуты со значениями : name=»user_name», name=»user_phone», name=»user_email». Каждый из этих атрибутов отвечает за имя пользователя, номер телефона пользователя  и имэйл пользователя. Собственно эти атрибуты помогут нам собрать данные из формы и передать в telegram.

Давайте рассмотрим файл-обработчик (я вставил здесь код из файла, а вы можете создать новый файл с расширением .php и скопировать туда код который будет ниже).

<?php

/* https://api.telegram.org/botXXXXXXXXXXXXXXXXXXXXXXX/getUpdates,
где, XXXXXXXXXXXXXXXXXXXXXXX - токен вашего бота, полученный ранее */

//Переменная $name,$phone, $mail получает данные при помощи метода POST из формы
$name = $_POST['user_name'];
$phone = $_POST['user_phone'];
$email = $_POST['user_email'];

//в переменную $token нужно вставить токен, который нам прислал @botFather
$token = "540741194:AAEaaI2C3JEOmDILzIc_zrNSVXT2iS6guZM";

//нужна вставить chat_id (Как получить chad id, читайте ниже)
$chat_id = "-309087490";

//Далее создаем переменную, в которую помещаем PHP массив
$arr = array(
  'Имя пользователя: ' => $name,
  'Телефон: ' => $phone,
  'Email' => $email
);

//При помощи цикла перебираем массив и помещаем переменную $txt текст из массива $arr
foreach($arr as $key => $value) {
  $txt .= "<b>".$key."</b> ".$value."%0A";
};

//Осуществляется отправка данных в переменной $sendToTelegram
$sendToTelegram = fopen("https://api.telegram.org/bot{$token}/sendMessage?chat_id={$chat_id}&parse_mode=html&text={$txt}","r");

//Если сообщение отправлено, напишет "Thank you", если нет - "Error"
if ($sendToTelegram) {
  echo "Thank you";
} else {
  echo "Error";
}
?>

Как получить chat id

Что бы получить чат айди, вам нужно вставить в браузер ссылку https://api.telegram.org/botXXXXXXXXXXXXXXXXXXXXXXX/getUpdates, где XXXXXXXXXXXXXXXXXXXXXXX это ваш токен. Получится у вас примерно такое: https://api.telegram.org/bot540741194:AAEaaI2C3JEOmDILzIc_zrNSVXT2iS6guZM/getUpdates.
Если вы все сделали правильно, вас перекинет на страницу с  данными, где нам надо скопировать айди чата с минусом.данные чат-телеграмма

Если вы все сделали как я описал выше, то теперь, все данные которые будут заполняться в вашей форме и отправляться, будут приходить прямо к вам в телеграм

Надеюсь данная статья была полезна для вас
Не забудьте подписаться на наш telegram-канал и на наши соц. сети 😉

Оставьте ответ

comment-avatar

*