plugins/admin_plugin.py
changeset 0 93b25987d3e5
child 8 7be151146c5e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/admin_plugin.py	Tue May 01 12:26:35 2007 +0200
@@ -0,0 +1,57 @@
+#$ neutron_plugin 01
+
+def admin_groupchat_invite_handler(source, groupchat, body):
+	if has_access(source, COMMANDS['!join']['access']):
+		join_groupchat(groupchat)
+
+def handler_admin_join(type, source, parameters):
+	if parameters:
+		if len(string.split(parameters)) > 1:
+			(groupchat, nick) = string.split(parameters.lstrip(), ' ', 1)
+		else:
+			groupchat = parameters.strip()
+			nick = DEFAULT_NICK
+		smsg(type, source, 'Joined ' + groupchat)
+		join_groupchat(groupchat, nick)
+	else:
+		smsg(type, source, 'Invalid Syntax')
+
+def handler_admin_leave(type, source, parameters):
+	if len(string.split(parameters)) > 0:
+		groupchat = parameters.strip()
+	else:
+		groupchat = source[1]
+	leave_groupchat(groupchat)
+	smsg(type, source, 'Left ' + groupchat)
+
+
+def handler_admin_msg(type, source, parameters):
+	msg(string.split(parameters)[0], string.join(string.split(parameters)[1:]))
+	smsg(type, source, 'Message Sent')
+
+def handler_admin_say(type, source, parameters):
+	if parameters:
+		msg(source[1], parameters)
+	else:
+		smsg(type, source, 'Enter Message')
+
+def handler_admin_restart(type, source, parameters):
+	#os.startfile(sys.argv[0])
+	smsg(type, source, 'Restarting')
+	JCON.disconnect()
+	os.execv('./neutron.py', sys.argv)
+
+def handler_admin_exit(type, source, parameters):
+	#os.startfile(sys.argv[0])
+	smsg(type, source, 'Exiting')
+	JCON.disconnect()
+	os.abort()
+
+register_command_handler(handler_admin_join, '!join', 100, 'Joins specified groupchat.', '!join <groupchat> [nick]', ['!join jabber@conference.jabber.org', '!join jdev@conference.jabber.org neutron2'])
+register_command_handler(handler_admin_leave, '!leave', 100, 'Joins specified (or current) groupchat.', '!leave [groupchat]', ['!leave jabber@conference.jabber.org', '!leave'])
+#register_command_handler(handler_admin_msg, '!msg' ,100, 'Sends a message to specified JID.', '!msg <jid> <message>', ['!msg mikem@jabber.org hey mike!'])
+#register_command_handler(handler_admin_say, '!say', 100, 'Sends a message to current groupchat or to your JID if message is not through groupchat.', '!say <message>', ['!say hi'])
+register_command_handler(handler_admin_restart, '!restart', 100, 'Restarts me.', '!restart', ['!restart'])
+register_command_handler(handler_admin_exit, '!exit', 100, 'Exits completely.', '!exit', ['!exit'])
+
+register_groupchat_invite_handler(admin_groupchat_invite_handler)