2016-07-20 24 views
0

として設定されたURLにメッセージを送信することを見つけることができます。は、どのように私は電報は私が私の電報ボットについてsetWebhookにこれらのステップでしたウェブフック

は、私は私のHTTPSのURL(https://mywebapp.com/index./index.jsp)から.cerのファイルを取得し、Iその後

のkeytool -importcert -file mywebapp.cer -keystore myKeystore.jks -alias mywebapp.com

:この順序で.jksファイルを生成する(私はCMDのjre/binフォルダに行ってきました)私はそれを.p12ファイルに変換します:

のkeytool -importkeystore -srckeystore myKeystore.jks -destkeystore myPkcs.p12 -srcstoretype JKS -deststoretype PKCS12

そして私は、OpenSSLでファイルを.PEMした.p12ファイルを変換:

OpenSSLのPKCS12 -in myPkcs.p12 -out myPem.pem

それから私は、ウェブフックを設定するには、このフォームを生成します。

<form id="telegramForm" action="https://api.telegram.org/botTOKEN/setWebhook" method="POST" enctype="multipart/form-data"> 
      <input type="text" name="url" id="url" value="https://mywebapp.com/index.jsp"> 
      <input type="file" name='certificate' id='certificate'> 
      <input type="submit" value="submit"> 
     </form> 

と入力[type = file]からmyPem.pemファイルを参照します。私は、このフォームを送信すると、私はこの応答を取得:

{ "OK":trueの場合、 "結果":真、 "説明": "ウェブフックが設定された"}

しかし、私(またはhttps://mywebapp.com/index.jsp(ウェブフックとして設定されていたURL)は、リクエストを受け取らないので、テレグラムアプリケーションによって私のロボットにいくつかのメッセージ(「hello」のようなメッセージ)を送信します。

テレグラムが(私がテレグラムボットに送信した)メッセージをウェブフックとして設定したURLに送信することを知るにはどうすればよいですか?このURL(https://mywebapp.com/index.jsp)がテレグラムのユーザーによって電報ボットに送信されるメッセージを受信できることを確認するにはどうすればよいですか? なぜ電報がボットに送信するメッセージを受け取れないのですか?どうすれば入手できますか?ありがとう。

答えて

0

このような何かあなたのウェブフックを設定した方がよい:https://mywebapp.com/index.php

index.phpは、あなたのボットプロセッサフ​​ァイルです。

場所あなたindex.phpファイル内のテストのために、このコード:誰かがあなたにいくつかのテキストを送信する場合、今

<?php 

define('BOT_TOKEN','1234:xyz'); //replace second parameter with your bot token 
$command_prefix_url = 'https://api.telegram.org/bot' . BOT_TOKEN; 
$update = json_decode(file_get_contents('php://input')); 

$rep = json_decode(file_get_contents($command_prefix_url . '/SendMessage?chat_id=' . 
    $update->message->chat->id . '&text='.urlencode($update->message->text))); 
?> 

たび

が、それはボットからそのテキストを受信します。

を知りたい場合は、いずれかがあなたのボットに何かが送信され、データベースにこの$updateを保存したり(管理者)クライアント!!(大量のメッセージ)にそれを再送信することができます

+0

私は、HTTPSを設定します。 //mywebapp.com/index.jspをwebhookとして保存します。私はhttps://mywebapp.com/index.jspがリクエストを受け取った場合、それを書きます。ログファイル(https://mywebapp.com/log.txt)にリクエストのパラメータを書きます。しかし、私はロボットにメッセージを送信すると何もありませんログファイルに書き込まれます。どうして? webhookを間違って設定する方法はありますか?ありがとうございます。@Tick Tock –

+0

@AtefehRashidiどのようにこの仕事をしましたか?あなたの措置は何でしたか?私のコードは機能しますか?(テレグラムクライアント(app)経由でボットにテキストを送信するときに何かを受け取っていますか?) –

+0

私のサーバーサイドコードはjspとjavaであるため、コードをテストできません。自己署名証明書を生成するための私の措置は(電報文書が述べたように)、Webhookを真に設定していますか?それがphpまたはjspであることは重要ではありません。私はちょうど私のウェブフックが電報ボットから何の要求も得られない理由を知りたいですか?ありがとうございました。@ Tick Tock –

関連する問題