def addpriv(self, bot, cli, ev): if not len(ev.splitd) > 1: cli.msg(ev.target, "\00304Error\003: Faltan parametros.") return 0 #guh uname = ev.splitd[0].lower() priv = int(ev.splitd[1]) if len(ev.splitd) > 2: module = ev.splitd[2] else: module = "*" if len(ev.splitd) > 3: chan = ev.splitd[3] else: chan = "*" user = User.get(User.name == uname) if user is False: cli.msg(ev.target, "\003Error\003: El usuario no existe") return 0 uprivs = UserPriv.select().where(UserPriv.uid == user.uid) p = 0 for upriv in uprivs: if upriv.priv >= priv: p += 1 if upriv.secchan == chan or upriv.secchan == "*": p += 1 if upriv.secmod == module or upriv.secmod == "*": p += 1 if p == 3: cli.msg(ev.target, "\003Error\003: El usuario ya tiene priv" "ilegios iguales o superiores a los que se intento otorgar.") return 0 if upriv.secchan == chan and upriv.secmod == module: upriv.priv = priv upriv.save() cli.msg(ev.target, "Se han otorgado los privilegios.") return 0 UserPriv.create(uid=user.uid, priv=priv, secchan=chan, secmod=module) cli.msg(ev.target, "Se han otorgado los privilegios.")
def register(self, bot, cli, ev): if len(ev.splitd) != 2: cli.msg(ev.target, "\00304Error\003: Faltan parametros.") return 0 passw = hashlib.sha1(ev.splitd[1].encode('utf-8')).hexdigest() u = User.get(User.name == ev.splitd[0].lower()) if u is False: u = User() u.name = ev.splitd[0].lower() u.password = passw u.save() # Si no hago esto no puedo obtener el uid :\ user = User.get(User.name == ev.splitd[0].lower()) UserPriv.create(uid=user.uid, priv=0, secmod="*", secchan="*") cli.msg(ev.target, "Te has registrado exitosamente. Ahora" " debes identificarte (\2{0}help auth\2)".format(bot.conf['prefix'] )) self.whouid = user.uid cli.who(ev.target, "%atn,9") else: cli.msg(ev.target, "\00304Error\003: Ya estás registrado.")