Сегодня рассмотрим создание простого чат-бота для телеграм на 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. Пишем бота, который будет выполнять команды.

Свежие комментарии