2011-01-06 11 views
0

Hey Guys、 アプリエンジンのxmppクライアントにメッセージを送信するときに、xmpppyクライアントを使用するのに問題があるようです。 エラーは発生していません。メッセージはちょうどそこに到着していません。 アプリケーションエンジンのクライアントからsl4aクライアントへのメッセージの送信が機能します。 Googleトークのクライアントとの間で送受信されるメッセージをsl4aクライアントとの間で送受信します。Python xmpppyクライアントがappengine xmppクライアントにメッセージを送信しない

ご協力いただければ幸いです。ここで

は、Pythonのコード

import xmpp 
import time 

_SERVER = 'talk.google.com', 5223 
commandByXMPP() 

def commandByXMPP(): 
    global xmppUsername 
    xmppUsername = '[email protected]' 
    global xmppPassword 
    xmppPassword = 'obscured' 
    global xmppClient 
    global operator 
    operator = "[email protected]" 

    jid = xmpp.protocol.JID(xmppUsername) 
    xmppClient = xmpp.Client(jid.getDomain(), debug=[]) 
    xmppClient.connect(server=_SERVER) 
    try: 
    xmppClient.RegisterHandler('message', XMPP_message_cb) 
    except: 
    exitCellbot('XMPP error. You sure the phone has an internet connection?') 
    if not xmppClient: 
    exitCellbot('XMPP Connection failed!') 
    return 
    auth = xmppClient.auth(jid.getNode(), xmppPassword, 'botty') 
    if not auth: 
    exitCellbot('XMPP Authentication failed!') 
    return 
    xmppClient.sendInitPresence() 
    print "XMPP username for the robot is:\n" + xmppUsername 

    start=time.time() 
    i=0 
    try: 
    outputToOperator("starting") 
    while time.time()-start<15: 
     print "tick" 
     xmppClient.Process(1) 
     i = i +1 
     if i % 10 == 0: 
     outputToOperator("hello") 
    outputToOperator("exiting") 
    except KeyboardInterrupt: 
    pass 


def XMPP_message_cb(session, message): 
    jid = xmpp.protocol.JID(message.getFrom()) 
    global operator 
    command = message.getBody() 
    print command 

def outputToOperator(msg): 
    print "Outputting "+msg+" to " + operator 
    xmppClient.send(xmpp.Message(operator, msg)) 

答えて

4

1である)[email protected][email protected]のために名簿上にあることを確認してください。 GTalkは未知のユーザからのメッセージを配信しません。

xmppClient.send(xmpp.Message(operator, msg, typ='chat')) 

は、一部のクライアントがtype属性を持っていない「通常」のメッセージを、受信によく反応しない: 2)タイプのチャットのメッセージを送信します。

+0

ありがとうございました。私は約1週間これを狩りしようとしていました。あなたに感謝しています。 – Garrows

+0

どちらがそれですか? –

+0

遅い返事をおかけして申し訳ありません。タイプを指定しなければならなかった。彼は正しいですが、彼らはお互いの仲間にいることを確認する必要があります。 – Garrows

関連する問題