Pregunta

Me preguntaba si alguien aquí puede proporcionar algunos ejemplos de código en los siguientes escenarios. Me interesa sobre todo en el uso de xmpppy hacer esto como ya estoy usando la biblioteca de mi aplicación, pero otras bibliotecas bien también. Es lamentable que el sitio web xmpppy proyecto no tiene ninguna muestra de esto. Navegar por los expertos / docs API avanzadas, no podía encontrar la manera de hacerlo, o es de chat multiusuario (MUC) no es compatible con xmpppy?

  • crear un MUC invitando a usuarios específicos (digamos 2 o 3)

  • enviar mensaje a una MUC existente (suponiendo que lo sepa de mango MUC JID o apodo)

  • MUCs mirar hacia arriba en el servidor XMPP existente, consiguiendo la JID o apodo, etc. Si esto se hace por conseguir lista, queremos sólo buscan MUCs, haciendo caso omiso de los usuarios.

Me encontrado una especie de respuesta aquí, pero entonces probablemente tendría que aprender nuevas llamadas a la API de la biblioteca y encontrar la manera de hacer mis escenarios mencionados anteriormente, ya que la muestra no cubre todos ellos:

pyxmpp:? Tutorial rápido para crear un cliente MUC

Realmente estoy buscando hacer un generador de carga que bombea mensajes a MUCs y la creación de grandes MUCs con muchos participantes. Ya tengo la pieza en su lugar para el bombeo de mensajes a los destinatarios de los usuarios.

No hay solución correcta

Otros consejos

Xmpppy hace uso de los servicios de soporte MUC, pero el apoyo es muy básico y se necesitará algún código extra para gestionar múltiples habitaciones.

Para "unirse" a una habitación MUC necesita para transmitir su presencia a la JID.

conn.send(xmpp.Presence(to="%s/%s" % (room, nickname)))

A continuación, enviar mensajes, enviar utilizando el tipo de mensaje 'grupo de charla' a la JID ambiente.

msg = xmpp.protocol.Message(body=text)
msg.setTo(room)
msg.setType('groupchat')
conn.send(msg)

En cuanto a su pregunta acerca de encontrar habitaciones MUC, que va a hacer a través de la detección de servicios.

Mientras No sé sobre específicos interfaz MUC allí, mensajes de soportes personalizados xmpppy, por lo que es compatible con XMPP conjunto.

Para participar en el chat, deberá enviar stranza presencia, conn.send(xmpp.Presence(to='{0}/{1}'.format(room, nick)))

Para enviar un mensaje a chat:

    stranza = "<message to='{0}' type='groupchat'><body>{1}</body></message>".format(room, text)
    conn.send(stranza)

En cuanto a la creación de nuevo chat o buscándolo en lista, no tengo código a la mano, pero es fácil de escribir de la misma manera, con tan sólo mirar hacia arriba stranzas necesarias en XEPs:

http://xmpp.org/extensions/xep-0045.html#createroom

http://xmpp.org/extensions/xep-0045.html# disco-habitaciones

http://xmpp.org/extensions/xep-0045.html#invite

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top