diff src/plugins/plugin_misc_text_commands.py @ 509:64ff046dc201

plugin text commands: added /join command
author Goffi <goffi@goffi.org>
date Fri, 28 Sep 2012 00:48:52 +0200
parents 7c6609dddb2c
children 29b5ef129488
line wrap: on
line diff
--- a/src/plugins/plugin_misc_text_commands.py	Fri Sep 28 00:31:10 2012 +0200
+++ b/src/plugins/plugin_misc_text_commands.py	Fri Sep 28 00:48:52 2012 +0200
@@ -90,6 +90,22 @@
 
         return False
     
+    def cmd_join(self, mess_data, profile):
+        debug("Catched join command")
+        
+        if mess_data['type'] != "groupchat":
+            #/leave command does nothing if we are not on a group chat
+            info("Ignoring /join command on a non groupchat message")
+            return True
+         
+        if mess_data["unparsed"].strip():
+            room = self._getRoomJID(mess_data["unparsed"].strip(), mess_data["to"].host)
+            nick = (self.host.plugins["XEP-0045"].getRoomNick(mess_data["to"].userhost(), profile) or
+                    self.host.getClient(profile).jid.user)
+            self.host.plugins["XEP-0045"].join(room, nick, {}, profile)
+
+        return False
+
     def cmd_leave(self, mess_data, profile):
         debug("Catched leave command")