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: /");
}
?>
Проверяем все пути для скрипта и обработчика и тестируем заявки
Тем же путем можно отправлять любые данные в телеграмм, с помощью бота