Сегодня рассмотрим создание простого чат-бота для телеграм на PHP, плюс как установить SSL-сертификат.
1. Создаем бота через https://t.me/BotFather.
/newbot
Задаем публичное имя бота
Задаем логин бота
Получаем TOKEN
2. Подготавливаем сертификат сайта в формате .pem, по сути это сборка друг за другом содержимого файлов .crt, .key и промежуточных сертификатов сервера (это важно, без промежуточных у меня сервер не проходил проверку, телеграм выдает ошибку:
"last_error_message":"SSL error {error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed}"
3. Затем для корректной работы нужно настроить Webhook у бота, чтобы принимать все ответы на свой скрипт.
Создал простой php файл который устанавливает URL и загружает сертификат в телеграм, можете его скопировать себе и сохранить на хостинг, заменив переменные $TOKEN и $WEBHOOK_URL:
<? $TOKEN = '1523232323:AAEcElBkndFRMyzLSgm5A12212121'; $WEBHOOK_URL = 'https://domain.ru/telegram/webhook.php'; ?> <html> <body> <form action="https://api.telegram.org/bot<?=$TOKEN?>/setwebhook" method="post" enctype="multipart/form-data"> Select Certificate to upload: <input type="file" name="certificate" id="fileToUpload"><br> WEBHOOK: <input type="text" name="url" value="<?=$WEBHOOK_URL?>"><br> <input type="submit" value="Установить вебхук" name="submit"> </form> <a href="https://api.telegram.org/bot<?=$TOKEN?>/">Проверить статус</a><br/> </body> </html>
4. Пишем бота, который будет выполнять команды.
Свежие комментарии