1

xmppでアプリケーションを作成しました。gtalkを使用してメッセージを送信します。受信したメッセージを印刷したい。どのようにできるのか?私のアプリケーションのショートコードは次のとおりです。

def process_message():
    client = xmpp.Client('gmail.com')
    client.connect( server=('talk.google.com',5223) )
    client.auth(user,passwd, 'botty')

    to = raw_input("to: ");
    if client:
        message = raw_input("message: ")
        client.send( xmpp.Message( to,message ) )

if __name__ == "__main__":
    user = raw_input("User: ")
    passwd = getpass.getpass("Pass: ")
    process_message()
4

1 に答える 1

0

を使用して、着信メッセージのイベント ハンドラを登録する必要がありますClient.registerHandlerthisまたはthis oneのようなサンプル クライアント コードを見てください。たとえば、後者は次のようなメッセージ ハンドラー関数を実装します。

def xmpp_message(self, con, event):
    type = event.getType()
    fromjid = event.getFrom().getStripped()
    if type in ['message', 'chat', None] and fromjid == self.remotejid:
        sys.stdout.write(event.getBody() + '\n')
于 2014-08-22T23:46:14.917 に答える