summaryrefslogtreecommitdiff
path: root/src/multiuserchat.py
diff options
context:
space:
mode:
authormathieui <mathieui@mathieui.net>2011-10-17 21:30:36 +0200
committermathieui <mathieui@mathieui.net>2011-10-17 21:30:36 +0200
commitb29f11ce19188f277d8b94a640fe54c19f2b7972 (patch)
tree42b9dda12493aae3ba829f772f4914b031cd87e8 /src/multiuserchat.py
parent69c6b38894b8099a641ca431e47af6805eeab6b2 (diff)
downloadpoezio-b29f11ce19188f277d8b94a640fe54c19f2b7972.tar.gz
poezio-b29f11ce19188f277d8b94a640fe54c19f2b7972.tar.bz2
poezio-b29f11ce19188f277d8b94a640fe54c19f2b7972.tar.xz
poezio-b29f11ce19188f277d8b94a640fe54c19f2b7972.zip
/affiliation command
(without the 'outcast' affiliation ATM)
Diffstat (limited to 'src/multiuserchat.py')
-rw-r--r--src/multiuserchat.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/multiuserchat.py b/src/multiuserchat.py
index b00b4599..264f0e4a 100644
--- a/src/multiuserchat.py
+++ b/src/multiuserchat.py
@@ -86,3 +86,22 @@ def set_user_role(xmpp, jid, nick, reason, role):
return iq.send()
except Exception as e:
return e.iq
+
+def set_user_affiliation(xmpp, jid, nick, reason, affiliation):
+ """
+ (try to) Set the affiliation of a MUC user
+ """
+ iq = xmpp.makeIqSet()
+ query = ET.Element('{%s}query' % NS_MUC_ADMIN)
+ item = ET.Element('{%s}item' % NS_MUC_ADMIN, {'nick':nick, 'affiliation':affiliation})
+ if reason:
+ reason_el = ET.Element('{%s}reason' % NS_MUC_ADMIN)
+ reason_el.text = reason
+ item.append(reason_el)
+ query.append(item)
+ iq.append(query)
+ iq['to'] = jid
+ try:
+ return iq.send()
+ except Exception as e:
+ return e.iq