def action(self, complete): name=complete.message().split()[0] loadAs="" if len(complete.message().split())==3: loadAs = complete.message().split()[2] loadBlacklist=["special"] if name.lower() in loadBlacklist and isAllowed(complete.userMask())<150: return ["PRIVMSG $C$ :Owner only plugin!"] if isAllowed(complete.userMask())<getLevel(complete.cmd()[0]): return ["PRIVMSG $C$ :Sorry, only elevated users can load plugins!"] if name in globalv.loadedAliases.keys(): try: extension=globalv.loadedAliases[name] unload_plugin(name) pluginName=extension.split()[0] x=__import__(pluginName) reload(x) globalv.loadedPlugins[pluginName]=x.pluginClass() load_alias(name, extension) msg="Reloaded alias "+name+" successfully!" except Exception as detail: msg="Load failure: "+str(detail) else: try: state=load_plugin(name, loadAs) msg="oaded "+name+" successfully!" msg="L"+msg if state==0 else "Rel"+msg except Exception as detail: msg="Load failure: "+str(detail) if complete.message().split()[1:]==["silently"]: return [""] else: return ["PRIVMSG $C$ :"+msg]
def load_alias(name, plugin): #Loads an alias try: if plugin.split()[0] in globalv.loadedPlugins: if plugin.split()[0] in globalv.aliasExtensions: argumentsObject = pluginArguments(":nothing!nobody@nowhere PRIVMSG #NARChannel :%s%s"%(globalv.commandCharacter, plugin)) argumentsObject = formatInput(argumentsObject, globalv.aliasExtensions, False) plugin = argumentsObject.fullMessage()[len(globalv.commandCharacter):] print plugin globalv.loadedPlugins.update({name:globalv.loadedPlugins[plugin.split()[0]]}) if settingsHandler.tableExists(name)==0: globalv.loadedPlugins[plugin.split()[0]].__init_db_tables__(name) if name not in [x[0] for x in settingsHandler.readSetting("'core-userlevels'", "plugin")]: settingsHandler.writeSetting("'core-userlevels'", ["plugin", "level"],[name, str(globalv.loadedPlugins[plugin.split()[0]].__level__())]) else: #If the aliases dependancy isn't loaded, load it, then get rid of it afterwards. load_plugin(plugin.split()[0]) globalv.loadedPlugins.update({name:globalv.loadedPlugins[plugin.split()[0]]}) if settingsHandler.tableExists(name)==0: globalv.loadedPlugins[plugin.split()[0]].__init_db_tables__(name) if name not in [x[0] for x in settingsHandler.readSetting("'core-userlevels'", "plugin")]: settingsHandler.writeSetting("'core-userlevels'", ["plugin", "level"],[name, str(globalv.loadedPlugins[plugin.split()[0]].__level__())]) unload_plugin(plugin.split()[0]) globalv.loadedAliases.update({name:plugin}) globalv.basePlugin[name] = plugin.split()[0] except Exception as detail: print detail try: message("Function syntax: "+globalv.commandCharacter+"alias [word] [command] [arguments]",info[2]) except: print "Plugin",name,"failed to load" try: print "Adding Extensions" print plugin globalv.aliasExtensions.update({name:" "+' '.join(plugin.split()[1:])}) except: globalv.aliasExtensions.update({name:''}) if globalv.aliasExtensions[plugin.split()[0]]!="": try: #globalv.aliasExtensions.update({name:globalv.aliasExtensions[plugin.split()[0]]}) print "Would have broken here" except: globalv.aliasExtensions.update({name:''})
from plugins import plugin
# -*- coding: utf-8 -*-
def load_alias(name, plugin): #Loads an alias try: if plugin.split()[0] in globalv.loadedPlugins: if plugin.split()[0] in globalv.aliasExtensions: argumentsObject = pluginArguments( ":nothing!nobody@nowhere PRIVMSG #NARChannel :%s%s" % (globalv.commandCharacter, plugin)) argumentsObject = formatInput(argumentsObject, globalv.aliasExtensions, False) plugin = argumentsObject.fullMessage()[len(globalv. commandCharacter):] print plugin globalv.loadedPlugins.update( {name: globalv.loadedPlugins[plugin.split()[0]]}) if settingsHandler.tableExists(name) == 0: globalv.loadedPlugins[plugin.split()[0]].__init_db_tables__( name) if name not in [ x[0] for x in settingsHandler.readSetting( "'core-userlevels'", "plugin") ]: settingsHandler.writeSetting("'core-userlevels'", [ "plugin", "level" ], [ name, str(globalv.loadedPlugins[plugin.split()[0]].__level__()) ]) else: #If the aliases dependancy isn't loaded, load it, then get rid of it afterwards. load_plugin(plugin.split()[0]) globalv.loadedPlugins.update( {name: globalv.loadedPlugins[plugin.split()[0]]}) if settingsHandler.tableExists(name) == 0: globalv.loadedPlugins[plugin.split()[0]].__init_db_tables__( name) if name not in [ x[0] for x in settingsHandler.readSetting( "'core-userlevels'", "plugin") ]: settingsHandler.writeSetting("'core-userlevels'", [ "plugin", "level" ], [ name, str(globalv.loadedPlugins[plugin.split()[0]].__level__()) ]) unload_plugin(plugin.split()[0]) globalv.loadedAliases.update({name: plugin}) globalv.basePlugin[name] = plugin.split()[0] except Exception as detail: print detail try: message( "Function syntax: " + globalv.commandCharacter + "alias [word] [command] [arguments]", info[2]) except: print "Plugin", name, "failed to load" try: print "Adding Extensions" print plugin globalv.aliasExtensions.update( {name: " " + ' '.join(plugin.split()[1:])}) except: globalv.aliasExtensions.update({name: ''}) if globalv.aliasExtensions[plugin.split()[0]] != "": try: #globalv.aliasExtensions.update({name:globalv.aliasExtensions[plugin.split()[0]]}) print "Would have broken here" except: globalv.aliasExtensions.update({name: ''})