2009-05-26 7 views
10

Wie kann ich eine XMPP-Nachricht mit einer der folgenden Python-Bibliotheken senden: wokkel, xmpppy oder jabber.py?Senden einer xmpp-Nachricht mit einer Python-Bibliothek

Ich denke, ich bin mir der Pseudo-Code bewusst, aber bis jetzt konnte nicht einer richtig laufen. Dies ist, was ich bisher versucht habe:

  • Rufen Sie einige API und übergeben Sie den Server-Namen und Port-Nummer, um eine Verbindung zu diesem Server.
  • Rufen Sie eine API auf und übergeben Sie den Benutzernamen und das Kennwort, um ein JID-Objekt zu erstellen.
  • Mit dieser JID authentifizieren.
  • Konstruieren Sie ein Message-Objekt, rufen Sie eine API auf und übergeben Sie das Nachrichtenobjekt obj im Argument.
  • Rufen Sie einige Send-API.
  • Es scheint einfach genug im Konzept, aber der Teufel ist irgendwo im Detail. Bitte zeigen Sie ein Beispiel-Snippet, wenn das möglich ist.

    Antwort

    38

    Dies ist der einfachste mögliche xmpp-Client. Es wird eine 'Hallo :)' Nachricht senden. Ich verwende xmpppy in dem Beispiel. Und Verbindung zum gtalk Server. Ich denke, das Beispiel ist selbsterklärend:

    import xmpp 
    
    username = 'username' 
    passwd = 'password' 
    to='[email protected]' 
    msg='hello :)' 
    
    
    client = xmpp.Client('gmail.com') 
    client.connect(server=('talk.google.com',5223)) 
    client.auth(username, passwd, 'botty') 
    client.sendInitPresence() 
    message = xmpp.Message(to, msg) 
    message.setAttr('type', 'chat') 
    client.send(message) 
    
    +0

    du meinst xmpppy, oder? –

    +1

    Offensichtlich ist etwas falsch über diese Pakete ... Ich hatte bereits xmpp installiert, aber es hatte keinen Client im Inneren. Ich habe xmpppy installiert und bekomme immer noch den gleichen Fehler. Offensichtlich eine schlechte Idee, Pakete mit dem gleichen Namen zu veröffentlichen. – sorin

    2

    xmpppy hat eine Reihe von Beispielen auf seiner Haupt-Seite aufgelistet sind (unter „Beispiele“), die grundlegendste davon sends a single test message. Sie machen die Beispiele zunehmend interessanter - sie führen die Callback-orientierte API über eine chat bot program ein.

    Verwandte Themen