Domanda

mi chiedevo se qualcuno qui in grado di fornire alcuni esempi di codice sui seguenti scenari. Sono particolarmente interessato a utilizzare xmpppy per fare questo, come sto già utilizzando la libreria per la mia app, ma altre librerie troppo male. E 'un peccato che il sito web del progetto xmpppy non ha campioni su questo. Navigando esperti / docs API avanzate, non riuscivo a capire come farlo, o è chat multi-utente (MUC) non supportata xmpppy?

  • creare una MUC invitando utenti specifici (diciamo 2 o 3)

  • invia messaggio ad un MUC esistente (supponendo che tu lo sai del manico MUC JID o nickname)

  • cercare MUCS sul server XMPP esistente, ricevendo il JID o nickname, ecc Se questo è fatto da ottenere roster, vogliamo solo cercare MUCS, ignorando gli utenti.

ho scoperto una specie di risposta qui, ma poi ho probabilmente avrebbe dovuto imparare nuove chiamate di libreria API e capire come fare i miei scenari di cui sopra in quanto questo campione non copre tutti loro:

pyxmpp:? Breve tutorial per la creazione di un client MUC

Non vedo a fare un generatore di carico che pompa i messaggi di MUCS e la creazione di grandi MUCS con molti partecipanti. Ho già avuto la parte in atto per il pompaggio di messaggi ai destinatari degli utenti.

Nessuna soluzione corretta

Altri suggerimenti

Xmpppy fa supporto utilizzando i servizi MUC, ma il supporto è molto semplice e sarà necessario un po 'di codice aggiuntivo per gestire più camere.

Per "entrare" una stanza MUC è necessario trasmettere la tua presenza al JID.

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

Poi per inviare messaggi, è inviare loro utilizzando il 'chat di gruppo' tipo di messaggio al JID stanza.

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

Per quanto riguarda la tua domanda per quanto riguarda trovare stanze MUC, che sarà fatto tramite il rilevamento dei servizi.

Mentre Non so circa specifica interfaccia MUC lì, xmpppy messaggi supporti personalizzati, in modo che supporta tutta XMPP.

Per partecipare a chat, è necessario inviare la presenza stranza, conn.send(xmpp.Presence(to='{0}/{1}'.format(room, nick)))

Per inviare un messaggio a chiacchierare:

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

Per quanto riguarda la creazione di nuova chat o guardare in su in roster, non ho il codice a portata di mano, ma è facile scrivere nello stesso modo, basta guardare fino stranzas necessari XEPS:

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

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

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top