Source code for mods.users
# mods/users.py
#
#
""" user related commands. """
from mads.misc import stripped
from mads.getters import slice
from mids import kernel, users
[docs]def meet(event):
""" create an user record. """
if not users.allowed(event.origin, "OPER"):
event.reply("you are not allowed to give the meet command.")
return
try:
origin, *permissions = event._parsed.rest.split()
except:
event.reply("meet <origin> [<perm1> <perm2>]")
return
if not permissions:
permissions = ["USER", ]
for bot in fleet:
if "irc" in bot.id():
if origin in bot._userhosts:
origin = bot._userhosts
user = users.add(origin, permissions)
event.reply("user %s created" % origin)
[docs]def perm(event):
""" add/change permissions of an user. """
if not users.allowed(event.origin, "OPER"):
event.reply("you are not allowed to give the perm command.")
return
try:
origin, permission = event._parsed.args
except:
event.reply("perm <origin> <perm>")
return
user = users.set(origin, permission)
if not user:
event.reply("can't find a user matching %s" % origin)
return
event.reply(slice(user, skip=["type"]))
[docs]def delperm(event):
""" delete permissions of an user. """
if not users.allowed(event.origin, "OPER"):
event.reply("you are not allowed to give the delperm command.")
return
try:
origin, permission = event._parsed.args
except:
event.reply("delperm <origin> <perm>")
return
try:
user = users.delete(origin, permission)
except Exception as ex:
event.reply(str(ex))
return
if not user:
event.reply("can't find a user matching %s" % origin)
return
event.reply(slice(user, skip=["type"]))
[docs]def user(event):
""" show user selected by userhost. """
if not event._parsed.rest:
event.reply("user <origin>")
return
event.reply(slice(users.fetch(event._parsed.rest), skip=["type"]))
[docs]def w(event):
""" show user data. """
event.reply(slice(users.fetch(stripped(event.origin)), skip=["type"]))