def updatesetting(self, variable, value, authlevel=settings.defaultuserlevel): try: oldvalue = getattr(settings, variable) except AttributeError: return try: settinglevel = int( yadon.ReadRowFromTable(settings.settingstablename, variable, named_columns=True)["Tier"]) except (IndexError, ValueError, TypeError): settinglevel = settings.maxuserlevel if settinglevel > authlevel: return value = value.replace("\n", "\\n").replace("\t", "\\t") yadon.WriteRowToTable(settings.settingstablename, variable, { "Value": value, "Tier": settinglevel }, named_columns=True) try: if float(value) % 1 == 0: value = int(value) else: value = float(value) except ValueError: value = value.replace("\\n", "\n").replace("\\t", "\t") setattr(settings, variable, value) return oldvalue
def updatesetting(variable, value, authlevel=1): try: oldvalue = getattr(settings, variable) except AttributeError: return try: settinglevel = int( yadon.ReadRowFromTable(settings.settingstablename, variable)[1]) except (IndexError, ValueError): settinglevel = 1 if settinglevel > authlevel: return value = value.replace("\n", "\\n").replace("\t", "\\t") yadon.WriteRowToTable(settings.settingstablename, variable, [value, settinglevel]) try: if float(value) % 1 == 0: value = int(value) else: value = float(value) except ValueError: value = value.replace("\\n", "\n").replace("\\t", "\t") setattr(settings, variable, value) return oldvalue
def updateuserlevel(userid, level): #level should be an integer try: int(level) except ValueError: return -1 yadon.WriteRowToTable(settings.userlevelstablename, userid, [level]) return 0
async def addresponse(context, *args, **kwargs): if len(args) < 2: return await koduck.sendmessage(context["message"], sendcontent=settings.message_addresponse_noparam) trigger = args[0].lower() response = context["paramline"][context["paramline"].index(settings.paramdelim)+1:].strip() result = yadon.AppendRowToTable(settings.customresponsestablename, trigger, [response]) if result == -1: return await koduck.sendmessage(context["message"], sendcontent=settings.message_addresponse_failed) else: yadon.WriteRowToTable(settings.commandstablename, trigger, ["main", "customresponse", "match", "1"]) koduck.addcommand(trigger, customresponse, "match", 1) return await koduck.sendmessage(context["message"], sendcontent=settings.message_addresponse_success.format(trigger, response))
def addsetting(variable, value, authlevel=1): try: getattr(settings, variable) return except AttributeError: pass value = value.replace("\n", "\\n").replace("\t", "\\t") yadon.WriteRowToTable(settings.settingstablename, variable, [value, str(authlevel)]) try: if float(value) % 1 == 0: value = int(value) else: value = float(value) except ValueError: value = value.replace("\\n", "\n").replace("\\t", "\t") setattr(settings, variable, value) return value
def addsetting(self, variable, value, authlevel=settings.defaultuserlevel): try: getattr(settings, variable) return except AttributeError: pass value = value.replace("\n", "\\n").replace("\t", "\\t") yadon.WriteRowToTable(settings.settingstablename, variable, { "Value": value, "Tier": authlevel }, named_columns=True) try: if float(value) % 1 == 0: value = int(value) else: value = float(value) except ValueError: value = value.replace("\\n", "\n").replace("\\t", "\t") setattr(settings, variable, value) return value