Ich benutze Google Cloudshell-Plattform, um eine SSL-zertifizierte URL für das Hosting eines Webhook zu erstellen. Also habe ich ursprünglich getupdates verwendet, um die Chat-ID zu finden und die Bot-Nachrichten zu senden. Der folgende Code, der dazu dient, die Chat-ID des Benutzers zu erhalten und ihm dann "Text" zu schreiben, funktioniert gut.Telegram setwebhook keine Updates erhalten
<?php
$botToken = "insert bot token" ;
$website = "https://api.telegram.org/bot".$botToken ;
$update = file_get_contents($website."\getupdates");
$updateArray = json_decode($update, TRUE) ;
$chatId = $updateArray["result"][0]["message"]["chat"]["id"] ;
file_get_contents($website."/sendmessage?chat_id=".$chatId."&text=test") ;
?>
Dann habe ich einen Webhook mit setwebhook eingerichtet und den obigen Code geändert.
Mit anderen Worten habe ich die \ getupdates mit "php: // input" geändert. Es tat nicht Arbeit.
Ich nehme an, es ist möglich, dass Google App Engine nicht automatisch seine SSL-Zertifikate unterzeichnet und vielleicht deshalb der Webhook nicht funktioniert.
Jede Hilfe wird geschätzt.
EDIT: Als Antwort auf die Antworten/Kommentar unten, ich versuchte, den getWebhookinfo Ansatz und bekam
"url:" https://my_url.com "" has_custom_certificate ": false, "pending_update_count": 0, "max_connections" : 40
Weitere Informationen erhalten Sie mit der Methode '/ webhookinfo'. Bitte posten Sie das Ergebnis. – creyD
@creyD Das ergibt also eine "url:" https.url "," has_custom_certificate ": false," ausstehende_update_count ": 0," max_connections ": 40 – rah4927
Ja, die URL stimmt nicht. Du musst das mit dem'/setwebhook' Methode Beispiel: '/ setwebhook? url = https: // www.google.de 'dokumentiert [hier] (https://core.telegram.org/bots/api#setwebhook). – creyD