Создание бота в Telegram:
Найди BotFather в Telegram и создай нового бота, следуя его инструкциям.
Получи API ключ бота.
Включи бот. Для этого открой созданый бот и нажми в нем "Запустить"
Настройка PHP скрипта:
Создай PHP скрипт, который будет обрабатывать данные формы и отправлять их в Telegram.
В PHP скрипте сделай следующее:
Получи данные из формы ($_POST или $_GET).
Сформируй сообщение для отправки в Telegram в нужном формате.
Используй функцию file_get_contents или cURL для отправки запроса к Telegram Bot API.
Настройка Telegram:
Узнай chat_id для чата, в который хочешь отправлять сообщения. Можно использовать @userinfobot в Telegram для получения этой информации.
Ты можешь отправлять сообщения как в канал, так и себе в личные сообщения. Вот как это сделать в каждом случае:
Отправка сообщений себе в личные сообщения
Найди свой user_id:
Открой Telegram и найди бота @userinfobot.
Отправь ему команду /start.
Он ответит сообщением, содержащим твой user_id.
Отправка сообщений в канал
Создай канал:
Открой Telegram и создай новый канал, если его еще нет.
Запомни его имя или @username.
Добавь бота в канал:
Добавь своего бота (созданного через BotFather) в канал как администратора. Для этого открой настройки канала, перейди в раздел "Администраторы" и добавь бота.
Найди chat_id канала:
Узнать chat_id канала можно, используя специальный сервис или написав боту напрямую. Chat_id канала обычно начинается с -100.
Теперь ты можешь отправлять сообщения как в личные сообщения, так и в канал.
Когда пользователь заполнит форму и отправит её, данные будут переданы в send_form.php, который обработает эти данные и отправит сообщение в Telegram. Для полноты, вот как будет выглядеть окончательный HTML и PHP код:
HTML (форма):
<form id="feedbackForm" method="post" action="/send_form.php" accept-charset="UTF-8"> <input type="text" placeholder="Name" class="form-control" id="name" name="name" required=""> <input type="tel" placeholder="Phone" class="form-control" id="phone" name="phone" required=""> <input type="tel" placeholder="E-mail" class="form-control" id="email" name="email" required=""> <textarea class="form-control" placeholder="Message" id="message" name="message" rows="5" required=""></textarea> <button type="submit" class="btn btn-lb">SEND</button> </form>
PHP (send_form.php):
<?php // Ваш API ключ бота $botToken = "вставьте API ключ бота"; // Ваш user_id $chatId = "вставьте Ваш user_id"; // Получаем данные из формы $name = $_POST['name'] ?? ''; $phone = $_POST['phone'] ?? ''; $email = $_POST['email'] ?? ''; $message = $_POST['message'] ?? ''; // Формируем сообщение для отправки в Telegram $telegramMessage = "Новое сообщение с формы:\n\n"; $telegramMessage .= "<b-->Имя: $name\n"; $telegramMessage .= "<b>Телефон:</b> $phone\n"; $telegramMessage .= "<b>E-mail:</b> $email\n"; $telegramMessage .= "<b>Сообщение:</b> $message"; // URL API Telegram $telegramApiUrl = "https://api.telegram.org/bot$botToken/sendMessage"; // Подготавливаем данные для запроса $postFields = [ 'chat_id' => $chatId, 'text' => $telegramMessage, 'parse_mode' => 'HTML' ]; // Инициализируем cURL $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $telegramApiUrl); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Отправляем запрос и получаем ответ $response = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); // Проверяем результат if ($httpCode == 200) { echo "Сообщение успешно отправлено в Telegram!"; } else { echo "Ошибка при отправке сообщения в Telegram. HTTP Код: $httpCode. Ответ: $response"; } ?>
0 комментариев