2017-02-18 7 views
0

私は私の電報ボットで質問・回答のゲームプレイを持っていると私は、並行回答で問題があります。有効な処理

bot: question_1 
player_1: answer_1_to_question_1 
bot: answer correct, question_2 
player_2: delayed answer to question_1 <--- problem 
bot: invalid answer to question_2  <--- problem 

だから、問題はplayer_2が最初の質問への応答を送信していることです遅延のために、彼は2番目の質問への答えを期待してボットに到着します。

実際の質問以外の場合は、最初の回答のみを受け入れ、2番目の回答は無視したいと思います。私は最後とそれが最後のメッセージと一致しない場合、応答を無視するが送信したものをメッセージごとチャットのために保存しようとしている

{'reply_to_message': {'from': {'username': u'Bot', 'first_name': u'', 'id': 1}, 'text': u'some text', 'chat': {'type': u'group', 'id': -2, 'title': u''}, 'date': 1487442200, 'message_id': 10351144} 

:電文中reply_to_message構造があります。しかし、問題は、送信メッセージのmessage_idが送信前に利用できないということです。送信メッセージテキストは返信テキストと一致しません(たとえば、マークアップなど)。

この着信メッセージが最新の発信メッセージへの返信であることを確実に理解する方法はありますか?

答えて

0

メッセージを送信した直後のmessage_idを読むことができます(たとえば、更新されたメッセージがpython-telegram-botのsendMessageメソッドから返されます)。したがって、それを保存してreply_to_message.message_idと比較するだけで可能です。

関連する問題