2

私はテレグラムの初心者で、最初の一歩を踏み出そうとしています。

ここで良いチュートリアルを見つけましたhttps://www.youtube.com/watch?v=hJBYojK7DO4 : PHP と SSL を使用して Apache 2.4 を構成しましたが、チュートリアルのサンプルもすべて正常に動作します。

setWebhook メソッドを使用しているときに問題が発生する.... ブラウザーに入れようとすると

https://api.telegram.org/<my_bot_code>/setWebHook?url=https://localhost/Telegram/MyYouTubeTutorialBot/YouTubeTutorialBot.php

応答は

{"ok":false,"error_code":400,"description":"Error: Bad webhook: Error: Ip is reserved"}

私は自己生成証明書を使用していることに注意してください....

api Telegram のドキュメント (参照https://core.telegram.org/bots/faq#i-39m-having-problems-with-webhooks ) で見つけました。

" ..... 自己署名証明書を使用するには、setWebhook の証明書パラメーターを使用して公開鍵証明書をアップロードする必要があります。InputFile としてアップロードしてください。文字列の送信は機能しません。 "

公開鍵証明書ファイルをアップロードする方法がわかりません....どこかに例はありますか?

問題は、ローカル Apache にlocalhostとデフォルトの IP アドレス127.0.0.1を使用しているためでしょうか? Web に接続するたびに変更される現在の IP アドレスを使用して IP アドレスを変更する必要がありますか (インターネット キーを使用して Web に接続しています .....)?

事前にどうもありがとうございました

4

3 に答える 3

6

localhostあなたのローカル マシンは、またはローカル IP ( 127.0.0.1) またはローカル ネットワーク IP ( 192.168.1.2)によってインターネット経由でアクセスできません。
各マシンはそれ自体を持っているlocalhostため、電報のサーバーのローカルホストはあなたのものとは異なります。またはスクリプトを実行してそのアドレス を使用
する必要がありますフリー開発者 VPS : herokuweb hostingVPS

于 2016-05-05T07:10:26.830 に答える
2

次のライブラリを使用すると、これを簡単に実行できます (そしてボットをすばやくセットアップできます)。

https://github.com/auino/php-telegram-bot-library

基本的に、要求setWebhookを介して自己署名証明書をファイルとして渡し、Telegram の関数/ページを呼び出します。POST

$data = array("url"=>$YOURCALLBACKURL,"certificate"=>"@$CERTIFICATEFILE");
$telegramurl = "https://api.telegram.org/bot$TOKEN/setWebhook";
// now you have to make a request on $telegramurl passing $data via POST (e.g. using curl library)

を使用する場合はphp-telegram-bot-library、install.php ファイルまたは次のコードを使用して簡単にセットアップできます (Linux でも動作しますが、Windows システムでも動作するはずです)。

$bot = new telegram_bot($TOKEN);
$bot->set_webhook($WEBHOOKURL, $SSLCERTIFICATEFILE);
于 2015-10-31T11:07:08.307 に答える