2009-05-26 25 views
10

Jak wysłać wiadomość XMPP przy użyciu jednej z następujących bibliotek Pythona: wokkel, xmpppy lub jabber.py?Wysyłanie wiadomości xmpp przy użyciu biblioteki python

Myślę, że znam pseudokodu, ale do tej pory nie udało mi się go uruchomić poprawnie. Oto, co próbowałem do tej pory:

  • Zadzwoń do niektórych API i podaj nazwę serwera i numer portu, aby połączyć się z tym serwerem.
  • Wywołanie funkcji API i podanie nazwy użytkownika, hasła w celu skonstruowania obiektu JID.
  • Uwierzytelniaj za pomocą tego identyfikatora JID.
  • Skonstruuj obiekt Message i wywołaj niektóre API i przekaż tę wiadomość obj w argumencie.
  • Zadzwoń do niektórych wyślij API.

Wydaje się dość łatwy w koncepcji, ale diabeł tkwi gdzieś w szczegółach. Jeśli to możliwe, pokaż przykładowy fragment.

Odpowiedz

38

To jest najprostszy możliwy klient xmpp. Wyśle wiadomość "Cześć :)". Używam xmpppy w przykładzie. I połączenie z serwerem gtalk. Myślę, że przykładem jest oczywista:

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

masz na myśli xmpppy, prawda? –

+1

Najwyraźniej coś jest nie tak z tymi pakietami ... Już miałem zainstalowane xmpp, ale nie miałem w nim Klienta. Zainstalowałem xmpppy i nadal otrzymuję ten sam błąd. Najwyraźniej zły pomysł na wydanie paczek o tej samej nazwie. – sorin

2

xmpppy posiada szereg przykładów wymienionych na swojej stronie głównej (w ramach „Przykłady”), najbardziej podstawowe z których sends a single test message. Sprawiają, że przykłady stają się coraz bardziej interesujące - wprowadzają API zorientowane na oddzwonienie poprzez chat bot program.

Powiązane problemy