2009-05-26 26 views
10

¿Cómo puedo enviar un mensaje XMPP utilizando una de las siguientes bibliotecas de Python: wokkel, xmpppy o jabber.py?Enviar un mensaje xmpp utilizando una biblioteca de Python

Creo que conozco el pseudo-código, pero hasta ahora no he podido ejecutar uno correctamente. Esto es lo que he intentado hasta ahora:

  • Llame a alguna API y pase el nombre del servidor y el número de puerto para conectarse a ese servidor.
  • Llame a algunos API y pase el nombre de usuario, la contraseña para construir un objeto JID.
  • Autentíquese con ese JID.
  • Construya un objeto Message y llame a alguna API y pase ese mensaje obj en el argumento.
  • Llame a algunos API de envío.

Parece bastante fácil en concepto, pero el diablo está en algún lugar de los detalles. Por favor, muestre un fragmento de muestra si eso es posible.

Respuesta

38

Este es el cliente xmpp más simple posible. Enviará un mensaje de 'Hola :)'. Estoy usando xmpppy en el ejemplo. Y conectando al servidor gtalk. Creo que el ejemplo se explica por sí:

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

te refieres a xmpppy, ¿no? –

+1

Es evidente que algo anda mal con estos paquetes ... Ya tenía instalado xmpp pero no tenía Client dentro. Instalé xmpppy y sigo teniendo el mismo error. Claramente, es una mala idea lanzar paquetes con el mismo nombre. – sorin

2

xmpppy tiene una serie de ejemplos que aparecen en su página principal (en "ejemplos"), la más básica de las cuales sends a single test message. Ellos hacen que los ejemplos sean progresivamente más interesantes: introducen la API orientada a la devolución de llamadas a través de un chat bot program.

Cuestiones relacionadas