2016-09-10 5 views
0

私はtelepotモジュールを使用して、テレフォンボットをPythonで作成しています。 ユーザーがそのメッセージに返信するかどうかを確認できるように、送信メッセージのメッセージIDを取得する必要があります。コードの一部は、以下の私が何をしたいのかを明確に:テレポットモジュールで発信メッセージIDを取得するにはどうすればよいですか?

import telepot 

bot = telepot.Bot('Some Token') 

def handle(msg): 
    chat_id = msg['chat']['id'] 
    message_id = msg['message_id']     # I can get Id of incoming messages here 
    command = msg['text'] 

    if command == '/command':      # Message (incoming) 1 sent by user 
     bot.sendMessage(chat_id, 'Some message') # Message (outgoing) 2 sent by bot 

    elif ('''msg was in reply of message 2'''):  # Message (incoming) 3 sent by user (MY PROBLEM IS HERE!!!) 
     # Do something 
     pass 


bot.message_loop(handle, run_forever = 'Running ...') 

だから、私はメッセージ3は、しかし、私は取得することはできませんメッセージ2への返信にあったかどうかを確認する必要があります上記のコードで見ることができるようにメッセージ2のIDはボットからの発信メッセージです(ユーザーが受信できるメッセージで、IDは取得できません)。 これはどうすれば実現できますか?

ありがとうございました。

答えて

3

あなたは送信されたメッセージのmessage_idを得ることができる必要があります:

>>> import telepot 
>>> from pprint import pprint 
>>> bot = telepot.Bot('TOKEN') 
>>> sent = bot.sendMessage(9999999, 'Hello') 
>>> pprint(sent) 
{u'chat': {u'first_name': u'Nick', u'id': 9999999, u'type': u'private'}, 
u'date': 1473567584, 
u'from': {u'first_name': u'My Bot', 
      u'id': 111111111, 
      u'username': u'MyBot'}, 
u'message_id': 21756, 
u'text': u'Hello'} 
+0

ああ。私はsendMessage()が送信するメッセージを返すことを知らなかった。おかげでニック。それは完全に動作します。 – user3597574

関連する問題