summaryrefslogtreecommitdiff
path: root/slixmpp/plugins/xep_0045/stanza.py
diff options
context:
space:
mode:
authorMaxime “pep” Buquet <pep@bouah.net>2020-05-29 17:36:09 +0200
committerMaxime “pep” Buquet <pep@bouah.net>2020-05-29 23:35:31 +0200
commita3d343b2530a3cafa5b1d715823917dd432917a7 (patch)
tree1b29aa34c4ee65806f93fa346ac9333ec814cd99 /slixmpp/plugins/xep_0045/stanza.py
parentd58f59980fe59deeb47a2611e53f54dd9213b80b (diff)
downloadslixmpp-a3d343b2530a3cafa5b1d715823917dd432917a7.tar.gz
slixmpp-a3d343b2530a3cafa5b1d715823917dd432917a7.tar.bz2
slixmpp-a3d343b2530a3cafa5b1d715823917dd432917a7.tar.xz
slixmpp-a3d343b2530a3cafa5b1d715823917dd432917a7.zip
XEP-0045: Add MUCMessage
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
Diffstat (limited to 'slixmpp/plugins/xep_0045/stanza.py')
-rw-r--r--slixmpp/plugins/xep_0045/stanza.py54
1 files changed, 49 insertions, 5 deletions
diff --git a/slixmpp/plugins/xep_0045/stanza.py b/slixmpp/plugins/xep_0045/stanza.py
index 61aca7de..2db83baf 100644
--- a/slixmpp/plugins/xep_0045/stanza.py
+++ b/slixmpp/plugins/xep_0045/stanza.py
@@ -19,7 +19,7 @@ NS_ADMIN = 'http://jabber.org/protocol/muc#admin'
NS_OWNER = 'http://jabber.org/protocol/muc#owner'
-class MUCPresence(ElementBase):
+class MUCBase(ElementBase):
name = 'x'
namespace = NS_USER
plugin_attrib = 'muc'
@@ -89,17 +89,61 @@ class MUCPresence(ElementBase):
return self.parent()['from'].bare
def set_nick(self, value):
- log.warning("Cannot set nick through mucpresence plugin.")
+ log.warning(
+ "Cannot set nick through the %s plugin.",
+ self.__class__.__name__,
+ )
return self
def set_room(self, value):
- log.warning("Cannot set room through mucpresence plugin.")
+ log.warning(
+ "Cannot set room through the %s plugin.",
+ self.__class__.__name__,
+ )
return self
def del_nick(self):
- log.warning("Cannot delete nick through mucpresence plugin.")
+ log.warning(
+ "Cannot delete nick through the %s plugin.",
+ self.__class__.__name__,
+ )
return self
def del_room(self):
- log.warning("Cannot delete room through mucpresence plugin.")
+ log.warning(
+ "Cannot delete room through the %s plugin.",
+ self.__class__.__name__,
+ )
return self
+
+
+class MUCPresence(MUCBase):
+ '''
+ A MUC Presence
+
+ <presence from='foo@muc/user1' type='unavailable'>
+ <x xmlns='http://jabber.org/protocol/muc#user'>
+ <item affiliation='none'
+ role='none'
+ nick='newnick2'
+ jid='some@jid'/>
+ <status code='303'/>
+ </x>
+ </presence>
+ '''
+
+
+class MUCMessage(MUCBase):
+ '''
+ A MUC Message
+
+ <message from='foo@muc/user1' type='groupchat' id='someid'>
+ <body>Foo</body>
+ <x xmlns='http://jabber.org/protocol/muc#user'>
+ <item affiliation='none'
+ role='none'
+ nick='newnick2'
+ jid='some@jid'/>
+ </x>
+ </message>
+ '''