diff options
author | mathieui <mathieui@mathieui.net> | 2011-10-17 21:30:36 +0200 |
---|---|---|
committer | mathieui <mathieui@mathieui.net> | 2011-10-17 21:30:36 +0200 |
commit | b29f11ce19188f277d8b94a640fe54c19f2b7972 (patch) | |
tree | 42b9dda12493aae3ba829f772f4914b031cd87e8 /src/tabs.py | |
parent | 69c6b38894b8099a641ca431e47af6805eeab6b2 (diff) | |
download | poezio-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/tabs.py')
-rw-r--r-- | src/tabs.py | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/src/tabs.py b/src/tabs.py index ad4b9ca9..2b1b586a 100644 --- a/src/tabs.py +++ b/src/tabs.py @@ -405,6 +405,7 @@ class MucTab(ChatTab): self.commands['unignore'] = (self.command_unignore, _("Usage: /unignore <nickname>\nUnignore: Remove the specified nickname from the ignore list."), self.completion_unignore) self.commands['kick'] = (self.command_kick, _("Usage: /kick <nick> [reason]\nKick: Kick the user with the specified nickname. You also can give an optional reason."), None) self.commands['role'] = (self.command_role, _("Usage: /role <nick> <role> [reason]\nRole: Set the role of an user. Roles can be: none, visitor, participant, moderator. You also can give an optional reason."), None) + self.commands['affiliation'] = (self.command_affiliation, _("Usage: /affiliation <nick> <affiliation> [reason]\nAffiliation: Set the affiliation of an user. Affiliations can be: outcast, none, member, admin, owner. You also can give an optional reason."), None) self.commands['topic'] = (self.command_topic, _("Usage: /topic <subject>\nTopic: Change the subject of the room"), self.completion_topic) self.commands['query'] = (self.command_query, _('Usage: /query <nick> [message]\nQuery: Open a private conversation with <nick>. This nick has to be present in the room you\'re currently in. If you specified a message after the nickname, it will immediately be sent to this user'), None) self.commands['part'] = (self.command_part, _("Usage: /part [message]\nPart: disconnect from a room. You can specify an optional message."), None) @@ -651,22 +652,27 @@ class MucTab(ChatTab): if res['type'] == 'error': self.core.room_error(res, self.get_name()) - def _command_change_role(self, role, command, arg): + def command_affiliation(self, arg): """ - Changes the role of the nick in args[0] + /affiliation <nick> <role> [reason] + Changes the affiliation of an user + roles can be: none, visitor, participant, moderator """ args = common.shell_split(arg) - if len(args) < 1: - self.core.command_help(command) + if len(args) < 2: + self.core.command_help('role') return - nick = args[0] - if len(args) >= 2: - reason = ' '.join(args[1:]) + nick, affiliation = args[0],args[1] + if len(args) > 2: + reason = ' '.join(args[2:]) else: reason = '' - if not self.get_room().joined: + if not self.get_room().joined or \ + not affiliation in ('none', 'member', 'admin', 'owner'): +# replace this ↑ with this ↓ when the ban list support is done +# not affiliation in ('outcast', 'none', 'member', 'admin', 'owner'): return - res = muc.set_user_role(self.core.xmpp, self.get_name(), nick, reason, role) + res = muc.set_user_affiliation(self.core.xmpp, self.get_name(), nick, reason, affiliation) if res['type'] == 'error': self.core.room_error(res, self.get_name()) |