Отправка данных из формы в телеграм
Создание чат-бота в телеграмм
- Введите в поисковой строке @BotFather и выберите бот с официальным подтверждающим знаком, обозначенным синей галочкой рядом с именем.
- Нажмите «Запустить», чтобы активировать бота BotFather. В ответ вы получите список команд для управления ботом.
- Выберите или введите команду /newbot. Укажите имя бота, которое будут видеть клиенты во время взаимодействия с ним, а также его никнейм, по которому его можно будет найти в Telegram.
- Никнейм должен быть уникальным, не совпадать с уже существующими в базе и заканчиваться словом «bot».
- После выбора подходящего имени бот будет создан. Вам будет отправлена ссылка на бота вида t.me/<никнейм_бота>, а также рекомендации по установке аватара, описание бота и список команд для его настройки.
Получение ID чата в телеграмм
Для получения идентификатора Telegram публичного чата или группы, вы можете воспользоваться ботом @username_to_id_bot. Вот пошаговая инструкция:
- Найдите бота @username_to_id_bot с помощью поиска в Telegram.
- Запустите бот, нажав кнопку «Начать».
- Перейдите в чат или группу, информацию о которой вы хотите узнать.
- Скопируйте ссылку на чат. Вы можете найти её в настройках чата/группы, нажав на кнопку «Пригласить». Ссылка будет расположена в верхней части открывшегося окна.
- Вернитесь к боту и отправьте ему скопированную ранее ссылку.
- В ответном сообщении вы получите основные данные о чате/группе, включая его идентификатор, который будет указан в нижней строке.
Создание формы на странице
Пример как может выглядеть форма:
<form name="get_calc" action="send-tg.php" method="post" id="telegramForm">
<input type="text" class="txt" name="firstname" value="" placeholder="Ваше имя">
<input type="text" class="txt" name="phone" value="" placeholder="Введите Ваш номер">
<input type="submit" class="feedback_btn-pw" value="Отправить">
</form>
Обработчик формы на php
Создать файл send-tg.php в корне сайта для обработки формы:
<?php
// Устанавливаем параметры бота и ID чата
$botToken = 'ТОКЕН ЧАБ-БОТА';
$chatId = 'ID ЧАТА ГРУППЫ';
$name = $_POST['firstname'];
$phone = $_POST['phone'];
$text = "Заявка с сайта\n\n";
$text .= "Имя: $name\n";
$text .= "Телефон: $phone\n";
$telegramUrl = "https://api.telegram.org/bot$botToken/sendMessage?chat_id=$chatId&text=".urlencode($text);
$response = file_get_contents($telegramUrl);
$responseArray = json_decode($response, true);
if ($responseArray['ok']) {
echo 'success';
} else {
echo 'error';
}
Отправка формы без перезагрузки страницы
Отправку можно осуществлять без перезагрузки страницы с помощью JQuery и AJAX запросов:
$(document).ready(function () {
$('#telegramForm').submit(function (e) {
e.preventDefault(); // Предотвращаем стандартное поведение отправки формы
var formData = $(this).serialize(); // Получаем данные формы
$.ajax({
type: 'POST',
url: 'send-tg.php', // Путь к файлу, который будет отправлять данные в Телеграм
data: formData,
success: function (response) {
// Действия при успешной отправке
$('#telegramForm').trigger("reset"); // Очищаем форму
$('.modal__desc').text('Сообщение отправлено'); // Изменяем текст в модальном окне
},
error: function (xhr, status, error) {
// Действия при ошибке отправки
alert('Произошла ошибка при отправке сообщения в Телеграм.');
console.error(xhr.responseText);
}
});
});
});

