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))
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)