1

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

+0

Weitere Informationen erhalten Sie mit der Methode '/ webhookinfo'. Bitte posten Sie das Ergebnis. – creyD

+0

@creyD Das ergibt also eine "url:" https.url "," has_custom_certificate ": false," ausstehende_update_count ": 0," max_connections ": 40 – rah4927

+0

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

Antwort

0

Sie Problem über folgende Methode herausfinden können:

prüfen getWebhookInfo Methode, stellen Sie sicher, dass Ihre Webhook URL korrekt ist, und kein last_error_message Feld

0.

POST ähnliche Daten zu Ihrem Server, here sind einige Daten, die Sie in curl -d JSON verwenden können, kopieren Sie es einfach und führen Sie auf Ihrem eigenen Server.

Endlich, überprüfen Sie Ihre CDN-Konfiguration (wenn Sie auf diesem Server angewendet haben), temporäre Überschwemmung oder Überprüfung deaktivieren.

+0

Danke für die Antwort. Die getWebhookInfo ergibt "url:" https.url "," has_custom_certificate ": false," pending_update_count ": 0," max_connections ": 40 – rah4927

+0

Das Problem, glaube ich, ist, mit app app.yaml Datei, die ich hinzufügen muss in einem sicheren Parameter. – rah4927

Verwandte Themen