2017-08-25 13 views
1

私はthis APIの助けを借りてテレグラムボットを開発しています。私はwebhookメソッドで実装しようとしました。まずgetUpdatedメソッドでボットを試してみました。しかし、私はwebhookにそれを更新したとき、それは動作していないようです。テレグラムwebhookがPython APIで動作しないようです

私はhttpsドメインを持っているので、this exampleにちなんで正確にフラスコ付きウェブフックを実装しました.SSL証明書とIPを除いて、IPと自己署名証明書を使用する代わりに自分のドメインを使用しました。

私は私のウェブフックを郵便配達員と一緒にテストし、私がapi.telegram.orgから得たデータでリクエストを送信しました。そして再び機能しましたが、テレグラムアプリケーションのボットにメッセージを送信すると、サーバーは、それが想定されているように電報がメッセージを送信しないようです。

編集:ここで私は、私はあなたがドメイン名または実際のIPアドレスを使用sould考えるより明確

WEBHOOK_HOST = 'mywebsite.com' 
WEBHOOK_PORT = '8443' 
WEBHOOK_LISTEN = '0.0.0.0' 

WEBHOOK_SSL_CERT = "/etc/letsencrypt/live/mywebsite.com/cert.pem" 
WEBHOOK_PRIV_CERT = "/etc/letsencrypt/live/mywebsite.com/privkey.pem" 

WEBHOOK_URL_BASE = "https://%s:%s" % (WEBHOOK_HOST, WEBHOOK_PORT) 
WEBHOOK_URL_PATH = "/%s/" % (TOKEN.get_token()) 

router = flask.Flask(__name__) 

@router.route('/', methods=['GET', 'HEAD']) 
def index(): 
    return 'OK' 

@router.route(WEBHOOK_URL_PATH, methods=['POST']) 
def webhook(): 
    if flask.request.headers.get('content-type') == 'application/json': 
     json_string = flask.request.json 
     print json_string["message"]["text"] # here I should get the text of message 
     return '' 
    else: 
     flask.abort(403) 


bot.remove_webhook() 
time.sleep(3) 

bot.set_webhook(url=WEBHOOK_URL_BASE+WEBHOOK_URL_PATH,certificate=open(WEBHOOK_SSL_CERT, 'r')) 

router.run(host=WEBHOOK_LISTEN, port=int(WEBHOOK_PORT), ssl_context=(WEBHOOK_SSL_CERT, WEBHOOK_PRIV_CERT), debug=True) 
+0

はい、これはあなたの質問に答えることはできませんが、とにかく:[このpythonラッパー](https://github.com/python-telegram-bot/python-telegram-bot )?それは最新のテレグラムAPIをサポートしています(あなたのラッパーはありません)、すぐに役立つテレグラムグループがあり、使用するラッパーより頻繁に使用されます。ちょうど言って... – Endogen

+0

@Endogen私もそのラッパーを試してみます、ありがとう。あなたが言ったテレグラムグループのリンクを私に教えてもらえますか? –

答えて

0

のための私のコードを置きます。

あなたの例のリンクから少しコメント:いくつかのVPSで

あなたがローカルホスト上で開発する場合、あなたはngrok.ioようsomesingを使用することができますIP addrのにここ

を配置する必要があるかもしれません

+0

あなたはデバッグモードを使用していますか?もしそうでなければ試してください。 URLとポートは正しくありますか? また、 'netstat'などで接続をスキャンしようとします。 注:自己署名されたSSLを使用していますか? – dzNET

関連する問題