Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Send an xmpp message using a python library

Tags:

python

xmpp

How can I send an XMPP message using one of the following Python libraries: wokkel, xmpppy, or jabber.py ?

I think I am aware of the pseudo-code, but so far have not been able to get one running correctly. This is what I have tried so far:

  • Call some API and pass the servername and port number to connect to that server.
  • Call some API and pass the username, password to construct a JID object.
  • Authenticate with that JID.
  • Construct a Message object and call some API and pass that message obj in the argument.
  • Call some send API.

It seems easy enough in concept, but the devil is somewhere in the details. Please show a sample snippet if that's possible.

like image 550
cathat Avatar asked May 26 '09 13:05

cathat


2 Answers

This is the simplest possible xmpp client. It will send a 'hello :)' message. I'm using xmpppy in the example. And connecting to gtalk server. I think the example is self-explanatory:

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)
like image 121
Nadia Alramli Avatar answered Oct 20 '22 15:10

Nadia Alramli


xmpppy has a number of examples listed on its main page (under "examples"), the most basic of which sends a single test message. They make the examples progressively more interesting -- they introduce the callback-oriented API via a chat bot program.

like image 1
cdleary Avatar answered Oct 20 '22 15:10

cdleary