Telegram заявки с форм сайта.

В поиске telegram находим @botfather (Главный бот в телеграме)

нажимаем «/start» — запускаем бота

Пишем команду «/newbot,» для создания нового бота

Придумываем имя бота — skeptik

Придумываем ник бота. c приставкой _bot — skeptik_bot

Запоминаем токен — после строчки (Use this token to access the HTTP API:)

Находим бота через поиск в телеграмм 

запускаем вводим — /start

вводим — /join @skeptik_bot

Создаем групповой чат, и приглашаем туда бота (через настройки чата в телеграмм)

 

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

Пишем в чате:

/join @skeptik_bot

В браузере вводим 

https://api.telegram.org/bot xxxxxxxxxxx/getUpdates,

где, xxx — токен  бота полученный ранее (на стадии создания) 

Откроется окно, нужно «…»chat»:{«id»:xxxxxxx,»…»

xxx — id чата

Добавляем  в обработчик mail.php(если таковой установлен)

отправку в телеграм

fopen("https://api.telegram.org/botXXXX/sendMessage?chat_id=YYYYYY&parse_mode=Markdown&text={$переменная}»,»r»);

XXXX — id бота

YYYYYY — id чата

{$переменная} — содам $переменную, в которую добавляем текст сообщения(отправляемый ботом) / либо

текст сообщения — вводится без скобок

//Пробелы регулируются знаком «%0A»

Если mail.php отсутствует создаем обработчик и скрипт для телеграмм отдельно

Script отправки telegram

подключаем:

<script src="./telegramform/js/telegramform.js"></script>

Содержимое telegramform.js

$(document).ready(function () {
    $("form-element").submit(function () {
        var formID = $(this).attr('id');
        var formNm = $('#' + formID);
        var message = $(formNm).find(".form-message");
        var formTitle = $(formNm).find(".form-title");
        $.ajax({
            type: "POST",
            url: './telegramform/php/send-message-to-telegram.php',
            data: formNm.serialize(),
            success: function (data) {
              // Вывод сообщения об успешной отправке
              message.html(data);
              formTitle.css("display","none");
              setTimeout(function(){
                formTitle.css("display","block");
                message.html('');
                $('input').not(':input[type=submit], :input[type=hidden]').val('');
              }, 3000);
            },
            error: function (jqXHR, text, error) {
                // Вывод сообщения об ошибке отправки
                message.html(error);
                formTitle.css("display","none");
                setTimeout(function(){
                  formTitle.css("display","block");
                  message.html('');
                  $('input').not(':input[type=submit], :input[type=hidden]').val('');
                }, 3000);
            }
        });
        return false;
    });
});

И обработчик формы 

PHP-обработчик формы

Содержимое обработчика

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (!empty($_POST['name']) && !empty($_POST['phone'])){
  if (isset($_POST['name'])) {
    if (!empty($_POST['name'])){
  $name = strip_tags($_POST['name']);
  $nameFieldset = "Имя пославшего: ";
  }
}
 
if (isset($_POST['phone'])) {
  if (!empty($_POST['phone'])){
  $phone = strip_tags($_POST['phone']);
  $phoneFieldset = "Телефон: ";
  }
}
if (isset($_POST['theme'])) {
  if (!empty($_POST['theme'])){
  $theme = strip_tags($_POST['theme']);
  $themeFieldset = "Тема: ";
  }
}
$token = "341996777:AAHbnuvQib-vHU47i-6hbUrCU9D-qHYekxc";
$chat_id = "-209253141";
$arr = array(
  $nameFieldset => $name,
  $phoneFieldset => $phone,
  $themeFieldset => $theme
);
foreach($arr as $key => $value) {
  $txt .= "<b>".$key."</b> ".$value."%0A";
};
$sendToTelegram = fopen("https://api.telegram.org/bot{$token}/sendMessage?chat_id={$chat_id}&parse_mode=html&text={$txt}","r");
if ($sendToTelegram) {
  
  echo '<p class="success">Спасибо за отправку вашего сообщения!</p>';
    return true;
} else {
  echo '<p class="fail"><b>Ошибка. Сообщение не отправлено!</b></p>';
}
} else {
  echo '<p class="fail">Ошибка. Вы заполнили не все обязательные поля!</p>';
}
} else {
header ("Location: /");
}
?>

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

Тем же путем можно отправлять любые данные в телеграмм, с помощью бота

Рубрики: Telegram