Warum funktioniert mein Webhook nicht? Ich bekomme keine Daten von der Telegramm-Bot-API. Hier ist die detaillierte Erklärung meines Problems:Probleme mit Webhook zu Telegram Bot API
Ich habe SSL-Zertifikat von StartSSL, funktioniert es auf meiner Website in Ordnung (nach GeoCerts SSL checker), scheint aber immer noch wie mein Webhook zu Telegramm Bietet API funktioniert nicht (trotz es sagt, dass webhook eingestellt wurde, bekomme ich keine Daten).
Ich bin ein Webhook meinem Skript auf meiner Website in dieser Form machen:
https://api.telegram.org/bot<token>/setWebhook?url=https://mywebsite.com/path/to/giveawaysbot.php
ich diesen Text als Antwort:
{"ok":true,"result":true,"description":"Webhook was set"}
So muss es funktioniert, aber es doesn tatsächlich t.
Hier ist mein Script-Code:
<?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);
}
?>
ich tatsächlich keine Daten auf $ Update erhalten. Also funktioniert der Webhook nicht. Warum?
Vielleicht im Zusammenhang mit keine Daten zu bekommen, sollten Sie 'json_decode ($ update, true)' tun, um Daten als ein Array zu erhalten, anstatt eine 'stdClass'. – ixchi
ixchi, 'json_decode ($ update, true)' hat nichts geändert, funktioniert immer noch nicht: \ – markelov
Sind Sie sicher, dass Sie tatsächlich den Webhook erhalten? Es funktioniert richtig für mich. – ixchi