Wie man MUC erstellen und Nachrichten an vorhandenen MUC mit Python und XMPP senden

StackOverflow https://stackoverflow.com/questions/3528373

  •  30-09-2019
  •  | 
  •  

Frage

Ich habe mich gefragt, ob jemand hier einige Code-Beispiele auf den folgenden Szenarien zur Verfügung stellen kann. Ich bin vor allem bei der Verwendung xmpppy interessiert, dies zu tun, wie ich bereits die Bibliothek für meine app, aber auch andere Bibliotheken auch ok. Es ist bedauerlich, dass die xmpppy Projekt-Website keine Proben auf diese hat. Browsen durch die Experten / erweiterte API-Dokumentation, konnte ich nicht herausfinden, wie es zu tun, oder ist Multi-User-Chat (MUC) nicht mit xmpppy unterstützt?

  • erstellen MUC durch bestimmte Benutzer einladen (zB 2 oder 3)

  • Nachricht an eine bestehende MUC (vorausgesetzt, Sie es von MUC JID Griff oder Spitznamen kennen)

  • nachschlagen MUCs auf dem XMPP-Server vorhanden, bekommen die JID oder Spitznamen, etc. Wenn dies immer Roster geschehen ist, wollen wir nur Blick für MUCs, ignorieren Benutzer.

fand ich irgendwie eine Antwort hier, aber dann würde ich wahrscheinlich neue Bibliothek API-Aufrufe und Figur lernen muß, wie meine oben genannten Szenarien zu tun, wie diese Probe nicht alle von ihnen nicht abdeckt:

pyxmpp: Kurzanleitung für einen muc Client Erstellen

Ich suche wirklich einen Lastgenerator zu tun, die Nachrichten an MUCs und die Schaffung von großen MUCs mit vielen Teilnehmern pumpt. Ich habe bereits den Teil an Ort und Stelle bekam für Nachrichten an Benutzer Empfänger zu pumpen.

Keine korrekte Lösung

Andere Tipps

Xmpppy tut Unterstützung MUC Dienste, aber die Unterstützung ist sehr einfach und einige zusätzliche Code benötigt werden mehrere Räume zu verwalten.

„join“ ein MUC-Raum Sie benötigen, um Ihre Präsenz auf der JID zu übertragen.

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

Dann Nachrichten zu senden, senden Sie sie mit dem ‚Gruppenchat‘ Nachrichtentyp in den Raum JID.

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

Was Ihre Frage nach MUC Zimmer zu finden, die über Service Discovery erfolgen werden.

Während ich über bestimmte MUC-Schnittstelle weiß nicht, dort, xmpppy unterstützt benutzerdefinierte Nachrichten, so dass es ganze XMPP unterstützt.

Um beitreten Chat, müssen Sie Anwesenheit stranza schicken, conn.send(xmpp.Presence(to='{0}/{1}'.format(room, nick)))

Um eine Nachricht senden Chat:

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

Wie für neuen Chat zu schaffen oder auf der Suche es in Roster auf, ich habe nicht bereit Code zur Hand, aber es ist einfach zu schreiben in der gleichen Art und Weise, nur benötigt stranzas in XEPs nachschlagen:

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

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

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top