Example #1
0
    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
Example #2
0
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
Example #3
0
def updateuserlevel(userid, level):
    #level should be an integer
    try:
        int(level)
    except ValueError:
        return -1
    
    yadon.WriteRowToTable(settings.userlevelstablename, userid, [level])
    return 0
Example #4
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))
Example #5
0
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
Example #6
0
    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