Почему мой webhook не работает? Я не получаю никаких данных из API телеграмм бота. Вот подробное объяснение моей проблемы:
Я получил сертификат SSL от StartSSL, он отлично работает на моем сайте (согласно GeoCerts SSL checker) но по-прежнему кажется, что мой webhook для Telegram Bot API не работает (несмотря на то, что он говорит, что установлен веб-хост, я не получаю никаких данных).
Я создаю webhook для своего script на своем веб-сайте в этой форме:
https://api.telegram.org/bot<token>/setWebhook?url=https://mywebsite.com/path/to/giveawaysbot.php
Я получаю этот текст в ответ:
{"ok":true,"result":true,"description":"Webhook was set"}
Поэтому он должен работать, но на самом деле этого не делает.
Вот мой код script:
<?php
ini_set('error_reporting', E_ALL);
$botToken = "<token>";
$website = "https://api.telegram.org/bot".$botToken;
$update = file_get_contents('php://input');
$update = json_decode($update);
print_r($update); // this is made to check if i get any data or not
$chatId = $update["message"]["chat"]["id"];
$message = $update["message"]["text"];
switch ($message) {
case "/test":
sendMessage($chatId,"test complete");
break;
case "/hi":
sendMessage($chatId,"hey there");
break;
default:
sendMessage($chatId,"nono i dont understand you");
}
function sendMessage ($chatId, $message) {
$url = $GLOBALS[website]."/sendMessage?chat_id=".$chatId."&text=".urlencode($message);
file_get_contents($url);
}
?>
Фактически я не получаю никаких данных для обновления $. Так что webhook не работает. Почему?