Exemple #1
0
def addoper(irc, result, group, other):
    lc = base[irc.base.name][1][other['rpl_whois']['is logged']]['lang']
    opers = core.obtconfig('opers')
    level, name, password = result('level', 'name', 'sha_passwd')

    if '/' in level:
        level, server = level.split('/')
        if level == 'global':
            server = None
    else:
        server = None

    if server and not server in base:
        irc.err(other['target'], _('servidor "%s" invalido', lc) % server)
        return

    if not level in ('noob', 'local', 'global'):
        irc.err(other['target'], _('nivel "%s" invalido', lc) % level)
        return

    if not len(password) == 64 or not password.isalnum():
        irc.err(other['target'], _('la contraseña debe estar en sha256', lc))
        return

    opers.append({
        'passwd': password,
        'user': name,
        'level': level if not server else (level, server)})
    core.upconfig('opers', opers)
    irc.notice(other['target'], _('operador %s "%s" agregado', lc) % (level, name))
Exemple #2
0
def deloper(irc, result, group, other):
    lc = base[irc.base.name][1][other['rpl_whois']['is logged']]['lang']
    name = result('name')
    opers = core.obtconfig('opers')

    for oper in opers:
        if oper['user'] == name:
            opers.remove(oper)
            break
    core.upconfig('opers', opers)

    irc.notice(other['target'], _('operador "%s" eliminado', lc) % name)