def action(self, complete): msg=complete.message() isElevated=(isAllowed(complete.userMask())>=getLevel(complete.cmd()[0])) self.__init_answers__(complete) if len(msg.split())>=1: cmd=msg.split()[0] msg=' '.join(msg.split()[1:]) else: cmd="" msg="" if cmd=="-add" and isElevated: settingsHandler.writeSetting("'"+complete.cmd()[0]+"'","answer",msg) toReturn="Added that answer" self.__init_answers__(complete) elif cmd=="-delete" and isElevated: settingsHandler.deleteSetting("'"+complete.cmd()[0]+"'","answer",msg) toReturn="Wiped that answer." self.__init_answers__(complete) elif cmd=="-wipe" and isElevated: settingsHandler.dropTable("'"+complete.cmd()[0]+"'") settingsHandler.newTable("'"+complete.cmd()[0]+"'","answer") toReturn="Answer table wiped!" self.__init_answers__(complete) elif cmd=="-dump": self.__init_answers__(complete) return ["PRIVMSG $C$ :[%s]"%', '.join(["'"+x+"'" for x in self.answers])] else: toReturn=self.answers.pop() if complete.message()=="": toReturn=toReturn.replace("$1$","$U$") else: toReturn=toReturn.replace("$1$",complete.message()) return ["PRIVMSG $C$ :"+toReturn]
def action(self, complete): msg=complete.message() amsg=msg if isAllowed(complete.userMask())<getLevel(complete.cmd()[0]): return ["PRIVMSG $C$ :No."] if msg=="*": #settingsHandler.deleteSetting("coreIgnorance","1","1") settingsHandler.dropTable("coreIgnorance") settingsHandler.newTable("coreIgnorance","ignorance","nickname") return ["PRIVMSG $C$ :Unignored everything, my lord"] if msg in globalv.miscVars[0]: msg=globalv.miscVars[0][msg] try: if amsg in [x[0] for x in settingsHandler.readSettingRaw("coreIgnorance","ignorance")]: settingsHandler.deleteSetting("coreIgnorance","ignorance",amsg) return ["PRIVMSG $C$ :"+amsg + " successfully unignored, cap'n!"] msg=".*@"+msg.split('@')[1] if msg.find('@')>0 else msg if msg in [x[0] for x in settingsHandler.readSettingRaw("coreIgnorance","ignorance")]: settingsHandler.deleteSetting("coreIgnorance","ignorance",msg) return ["PRIVMSG $C$ :"+amsg + " successfully unignored, cap'n!"] else: matches=difflib.get_close_matches(msg,[x[0] for x in settingsHandler.readSettingRaw("coreIgnorance","ignorance")],3,0.4) matches=["None"] if matches==[] else matches globalv.variables['ignored']=matches[0] return ["PRIVMSG $C$ :"+msg+" is not ignored, commander! Near matches: "+', '.join(matches)+". ~ignored~ set to nearest match."] except Exception as detail: return ["PRIVMSG $C$ :"+msg+" not unignored: "+str(detail)] return ["PRIVMSG $C$ :"+amsg + " successfully unignored, cap'n!"]
def action(self, complete): msg=complete.message() mode=plugin=setting=set=where="" mode=msg.split()[0] returns="No such mode '%s'" % mode plugin=msg.split()[1] try: setting=msg.split()[2] except: setting="" try: set=' '.join(msg.split()[3:]) except: set="" if len(set.split())<3: where = '1==1' elif set.split()[-2].lower()=="where": where=set.split()[-1] set=' '.join(set.split()[:-2]) else: where="1==1" if isAllowed(complete.userMask())>=getLevel(complete.cmd()[0]): if mode=="update": settingsHandler.updateSetting(plugin, setting, set, where=where) returns="Setting updated, sir!" if mode=="delete": settingsHandler.deleteSetting(plugin, setting, set) returns="Setting removed, my lord!" if mode=="add": setting=setting.split('||') set=set.split('||') settingsHandler.writeSetting(plugin, setting, set) returns="Setting Set, Cap'n!" if mode=="drop-table": settingsHandler.dropTable(plugin) returns="Settings lost, comrade!" if mode=="list": columns=settingsHandler.readColumns(plugin) returns=', '.join(columns) if mode=="current": results=settingsHandler.readSetting(plugin, setting) results=[str(x[0]) if len(x)==1 and type(x)==tuple else x for x in results] if type(results)==list else str(results) results=', '.join(results) if type(results)==list else results returns=results if mode=="commit": settingsHandler.db.commit() returns="Committed!" if mode=="copy": settingsHandler.executeQuery("INSERT INTO '%s' SELECT * FROM '%s'"%(msg.split())) if mode=="query": results=settingsHandler.executeQuery(' '.join(msg.split()[1:])) if results!=[]: returns=str(results) else: returns="Sorry, you can't do this." return ["PRIVMSG $C$ :"+returns]
def action(self, complete): msg = complete.message() amsg = msg if isAllowed(complete.userMask()) < getLevel(complete.cmd()[0]): return ["PRIVMSG $C$ :No."] if msg == "*": #settingsHandler.deleteSetting("coreIgnorance","1","1") settingsHandler.dropTable("coreIgnorance") settingsHandler.newTable("coreIgnorance", "ignorance", "nickname") return ["PRIVMSG $C$ :Unignored everything, my lord"] if msg in globalv.miscVars[0]: msg = globalv.miscVars[0][msg] try: if amsg in [ x[0] for x in settingsHandler.readSettingRaw( "coreIgnorance", "ignorance") ]: settingsHandler.deleteSetting("coreIgnorance", "ignorance", amsg) return [ "PRIVMSG $C$ :" + amsg + " successfully unignored, cap'n!" ] msg = ".*@" + msg.split('@')[1] if msg.find('@') > 0 else msg if msg in [ x[0] for x in settingsHandler.readSettingRaw( "coreIgnorance", "ignorance") ]: settingsHandler.deleteSetting("coreIgnorance", "ignorance", msg) return [ "PRIVMSG $C$ :" + amsg + " successfully unignored, cap'n!" ] else: matches = difflib.get_close_matches(msg, [ x[0] for x in settingsHandler.readSettingRaw( "coreIgnorance", "ignorance") ], 3, 0.4) matches = ["None"] if matches == [] else matches globalv.variables['ignored'] = matches[0] return [ "PRIVMSG $C$ :" + msg + " is not ignored, commander! Near matches: " + ', '.join(matches) + ". ~ignored~ set to nearest match." ] except Exception as detail: return ["PRIVMSG $C$ :" + msg + " not unignored: " + str(detail)] return ["PRIVMSG $C$ :" + amsg + " successfully unignored, cap'n!"]
def action(self, complete): msg=complete.message() isElevated=(isAllowed(complete.userMask())>=getLevel(complete.cmd()[0])) self.__init_answers__(complete) hashDate = True hashUser = True if len(msg.split())>=1: cmd=msg.split()[0] msg=' '.join(msg.split()[1:]) if "-date" in msg.split(): hashUser = False if "-user" in msg.split(): hashDate = False else: cmd="" msg="" if cmd=="-add" and isElevated: settingsHandler.writeSetting("'"+complete.cmd()[0]+"'","answer",msg) toReturn="Added that answer" self.__init_answers__(complete) elif cmd=="-delete" and isElevated: settingsHandler.deleteSetting("'"+complete.cmd()[0]+"'","answer",msg) toReturn="Wiped that answer." self.__init_answers__(complete) elif cmd=="-wipe" and isElevated: settingsHandler.dropTable("'"+complete.cmd()[0]+"'") settingsHandler.newTable("'"+complete.cmd()[0]+"'","answer") toReturn="Answer table wiped!" self.__init_answers__(complete) elif cmd=="-dump": self.__init_answers__(complete) return ["PRIVMSG $C$ :[%s]"%', '.join(["'"+x+"'" for x in self.answers])] else: totalHash = 0 if hashDate: totalHash += hash(date.today()) if hashUser: totalHash += hash(complete.user()) answer = totalHash % len(self.answers) print answer, totalHash, self.answers toReturn=self.answers[answer] if complete.message()=="": toReturn=toReturn.replace("$1$","$U$") else: toReturn=toReturn.replace("$1$",complete.message()) return ["PRIVMSG $C$ :"+toReturn]
def action(self, complete): msg = complete.message() isElevated = (isAllowed(complete.userMask()) >= getLevel( complete.cmd()[0])) beRandom = True if len(self.answers) == 0: self.__init_answers__(complete, beRandom) if len(msg.split()) >= 1: cmd = msg.split()[0] msg = ' '.join(msg.split()[1:]) else: cmd = "" msg = "" if cmd == "-add" and isElevated: settingsHandler.writeSetting("'" + complete.cmd()[0] + "'", "answer", msg) toReturn = "Added that answer" self.__init_answers__(complete, beRandom) elif cmd == "-delete" and isElevated: settingsHandler.deleteSetting("'" + complete.cmd()[0] + "'", "answer", msg) toReturn = "Wiped that answer." self.__init_answers__(complete, beRandom) elif cmd == "-wipe" and isElevated: settingsHandler.dropTable("'" + complete.cmd()[0] + "'") settingsHandler.newTable("'" + complete.cmd()[0] + "'", "answer") toReturn = "Answer table wiped!" self.__init_answers__(complete, beRandom) elif cmd == "-reset" and isElevated: self.__init_answers__(complete, beRandom) toReturn = "Re-randomising list..." else: toReturn = self.answers.pop() inputs = ":%s PRIVMSG %s :!%s" % (complete.userMask(), complete.channel(), toReturn) input = formatInput(pluginArguments(inputs)) pluginOut = globalv.loadedPlugins[toReturn.split()[0]].action( input) return pluginOut return ["PRIVMSG $C$ :" + toReturn]
def action(self, complete): msg = complete.message() isElevated = (isAllowed(complete.userMask()) >= getLevel( complete.cmd()[0])) self.__init_answers__(complete) if len(msg.split()) >= 1: cmd = msg.split()[0] msg = ' '.join(msg.split()[1:]) else: cmd = "" msg = "" if cmd == "-add" and isElevated: settingsHandler.writeSetting("'" + complete.cmd()[0] + "'", "answer", msg) toReturn = "Added that answer" self.__init_answers__(complete) elif cmd == "-delete" and isElevated: settingsHandler.deleteSetting("'" + complete.cmd()[0] + "'", "answer", msg) toReturn = "Wiped that answer." self.__init_answers__(complete) elif cmd == "-wipe" and isElevated: settingsHandler.dropTable("'" + complete.cmd()[0] + "'") settingsHandler.newTable("'" + complete.cmd()[0] + "'", "answer") toReturn = "Answer table wiped!" self.__init_answers__(complete) elif cmd == "-dump": self.__init_answers__(complete) return [ "PRIVMSG $C$ :[%s]" % ', '.join(["'" + x + "'" for x in self.answers]) ] else: toReturn = self.answers.pop() if complete.message() == "": toReturn = toReturn.replace("$1$", "$U$") else: toReturn = toReturn.replace("$1$", complete.message()) return ["PRIVMSG $C$ :" + toReturn]
def action(self, complete): msg=complete.message() isElevated=(isAllowed(complete.userMask())>=getLevel(complete.cmd()[0])) beRandom=True if len(self.answers)==0: self.__init_answers__(complete,beRandom) if len(msg.split())>=1: cmd=msg.split()[0] msg=' '.join(msg.split()[1:]) else: cmd="" msg="" if cmd=="-add" and isElevated: settingsHandler.writeSetting("'"+complete.cmd()[0]+"'","answer",msg) toReturn="Added that answer" self.__init_answers__(complete,beRandom) elif cmd=="-delete" and isElevated: settingsHandler.deleteSetting("'"+complete.cmd()[0]+"'","answer",msg) toReturn="Wiped that answer." self.__init_answers__(complete,beRandom) elif cmd=="-wipe" and isElevated: settingsHandler.dropTable("'"+complete.cmd()[0]+"'") settingsHandler.newTable("'"+complete.cmd()[0]+"'","answer") toReturn="Answer table wiped!" self.__init_answers__(complete,beRandom) elif cmd=="-reset" and isElevated: self.__init_answers__(complete,beRandom) toReturn="Re-randomising list..." else: toReturn=self.answers.pop() inputs=":%s PRIVMSG %s :!%s"%(complete.userMask(), complete.channel(), toReturn) input=formatInput(pluginArguments(inputs)) pluginOut=globalv.loadedPlugins[toReturn.split()[0]].action(input) return pluginOut return ["PRIVMSG $C$ :"+toReturn]