New commands: !fdeny and !fallow
This commit is contained in:
parent
e16ed28787
commit
815b38a7e9
@ -5144,6 +5144,84 @@ def fstasis_pm(cli, nick, rest):
|
|||||||
fstasis(cli, nick, nick, rest)
|
fstasis(cli, nick, nick, rest)
|
||||||
|
|
||||||
|
|
||||||
|
def deny(cli, nick, chan, rest, allow):
|
||||||
|
data = rest.split()
|
||||||
|
msg = None
|
||||||
|
|
||||||
|
variable = botconfig.DENY
|
||||||
|
if allow:
|
||||||
|
variable = botconfig.ALLOW
|
||||||
|
|
||||||
|
if data:
|
||||||
|
lusers = {k.lower(): v for k, v in var.USERS.items()}
|
||||||
|
user = data[0]
|
||||||
|
|
||||||
|
if user.lower() in lusers:
|
||||||
|
cloak = lusers[user.lower()]["cloak"]
|
||||||
|
else:
|
||||||
|
cloak = user
|
||||||
|
|
||||||
|
if len(data) == 1:
|
||||||
|
if cloak in variable:
|
||||||
|
msg = "\u0002{0}\u0002 ({1}) is {2} the following commands: {3}.".format(
|
||||||
|
data[0], cloak, "allowed" if allow else "denied", ", ".join(variable[cloak]))
|
||||||
|
else:
|
||||||
|
msg = "\u0002{0}\u0002 ({1}) is not {2} commands.".format(data[0], cloak, "allowed any special" if allow else "denied any")
|
||||||
|
else:
|
||||||
|
commands = data[1:]
|
||||||
|
#Error here if it's not a real command
|
||||||
|
|
||||||
|
if len(commands):
|
||||||
|
variable[cloak] = ()
|
||||||
|
for command in commands:
|
||||||
|
if command.startswith(botconfig.CMD_CHAR):
|
||||||
|
command = command[len(botconfig.CMD_CHAR):]
|
||||||
|
if (command in COMMANDS or command in PM_COMMANDS) and command not in ["fdeny", "fallow", "exec", "eval"]:
|
||||||
|
variable[cloak] += (command,)
|
||||||
|
if len(variable[cloak]):
|
||||||
|
msg = "\u0002{0}\u0002 ({1}) is now {2} the following commands: {3}{4}.".format(
|
||||||
|
data[0], cloak, "allowed" if allow else "denied", botconfig.CMD_CHAR, ", {0}".format(botconfig.CMD_CHAR).join(variable[cloak]))
|
||||||
|
else:
|
||||||
|
del variable[cloak]
|
||||||
|
msg = "\u0002{0}\u0002 ({1}) is no longer {2} commands.".format(data[0], cloak, "allowed any special" if allow else "denied any")
|
||||||
|
elif variable:
|
||||||
|
msg = "denied: {0}".format(", ".join(
|
||||||
|
"\u0002{0}\u0002 ({1}{2})".format(cloak, botconfig.CMD_CHAR, ", {0}".format(botconfig.CMD_CHAR).join(denied))
|
||||||
|
for cloak, denied in variable.items()))
|
||||||
|
else:
|
||||||
|
msg = "Nobody is {0} commands.".format("allowed any special" if allow else "denied any")
|
||||||
|
|
||||||
|
if msg:
|
||||||
|
if data:
|
||||||
|
tokens = msg.split()
|
||||||
|
|
||||||
|
if data[0] == cloak and tokens[1] == "({0})".format(cloak):
|
||||||
|
# Don't show the cloak twice.
|
||||||
|
msg = " ".join((tokens[0], " ".join(tokens[2:])))
|
||||||
|
|
||||||
|
if chan == nick:
|
||||||
|
pm(cli, nick, msg)
|
||||||
|
else:
|
||||||
|
cli.msg(chan, msg)
|
||||||
|
|
||||||
|
@cmd("fdeny", admin_only=True)
|
||||||
|
def fdeny(cli, nick, chan, rest):
|
||||||
|
"""Deny someone from using a command."""
|
||||||
|
deny(cli, nick, chan, rest, False)
|
||||||
|
|
||||||
|
@pmcmd("fdeny", admin_only=True)
|
||||||
|
def fdeny_pm(cli, nick, rest):
|
||||||
|
deny(cli, nick, nick, rest, False)
|
||||||
|
|
||||||
|
@cmd("fallow", admin_only=True)
|
||||||
|
def fdeny(cli, nick, chan, rest):
|
||||||
|
"""Allow someone to use an admin command."""
|
||||||
|
deny(cli, nick, chan, rest, True)
|
||||||
|
|
||||||
|
@pmcmd("fallow", admin_only=True)
|
||||||
|
def fdeny_pm(cli, nick, rest):
|
||||||
|
deny(cli, nick, nick, rest, True)
|
||||||
|
|
||||||
@cmd("wait", "w")
|
@cmd("wait", "w")
|
||||||
def wait(cli, nick, chann_, rest):
|
def wait(cli, nick, chann_, rest):
|
||||||
"""Increases the wait time until !start can be used."""
|
"""Increases the wait time until !start can be used."""
|
||||||
|
Loading…
x
Reference in New Issue
Block a user