web-dev-qa-db-ja.com

テレグラムでsetwebhookを使用する方法は?

こんにちは私は電報でボットを作成しています。 httpリクエストを送信します:
https://api.telegram.org/bot(mytoken)/ setWebhook?url = https:// mywebpagetorespondtobot

そして私はこれを受け取ります:

{"ok":true,"result":true,"description":"Webhook was set"}

しかし、それは機能しません。つまり、テレグラムはサーバーに更新を送信しません。これは、証明書をアップロードしなかったためですか?それではどうすればよいですか?

9
amir mola

更新が送信されているかどうかを確認し、最初にWebhookを削除します

https://api.telegram.org/bot(yourToken)/setWebhook

次に、ボットを起動し、メッセージを入力して確認します

https://api.telegram.org/bot(yourtoken)/getUpdates


アップデートを受け取った場合、すべてが正常に機能します。スクリプトが着信更新を正しく処理することを確認してください。

更新を受け取らない場合は、証明書に問題がある可能性があります。
自己署名証明書は、説明されているように、最初にsetWebhookメソッドを介してアップロードする必要があります ここ

5
newsha

SetwebhookのURLをに変更しましたが、機能しました。wabepageのURLでは機能しないようです。 https://api.telegram.org/bot(mytoken)/ setWebhook?url = https:// mywebpagetorespondtobot/mymethod '(WebMethod)

3
amir mola

それはあなたの公開鍵が間違っていることを意味します。

設定後、URL https://api.telegram.org/bot {token}/getWebhookInfoで確認できます。

間違った公開鍵を送信したとき-受信します

{"ok":true,"result":{"url":"","has_custom_certificate":false,"pending_update_count":6}}

しかし、正しい公開鍵を送信すると、次のようになります。

{"ok":true,"result":{"url":"mycorrecturl.com","has_custom_certificate":true,"pending_update_count":6,"last_error_date":1506772578,"last_error_message":"SSL error {337047686, error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed}","max_connections":40}}
2
Nikolas Sumrak