Make !fstasis work in channel

This commit is contained in:
nyuszika7h 2014-04-30 18:26:17 +02:00
parent 26cde6c312
commit 4a13d4b05c

View File

@ -2581,46 +2581,57 @@ def on_error(cli, pfx, msg):
raise SystemExit raise SystemExit
@pmcmd("fstasis", admin_only=True) @cmd("fstasis", admin_only=True)
def fstasis(cli, nick, *rest): def fstasis(cli, nick, chan, rest):
data = rest[0].split() msg = None
if data: if rest:
lusers = {k.lower(): v for k, v in var.USERS.items()} lusers = {k.lower(): v for k, v in var.USERS.items()}
user = data[0].lower() user = rest[0].lower()
if user in lusers: if user in lusers:
cloak = lusers[user]['cloak'] cloak = lusers[user]['cloak']
else: else:
cloak = None cloak = None
cli.msg(nick, "Sorry, that user cannot be found.") pm(cli, nick, "Sorry, that user cannot be found.")
return return
if len(data) == 1: if len(rest) == 1:
if cloak in var.STASISED: if cloak in var.STASISED:
cli.msg(nick, "{0} ({1}) is in stasis for {2} games.".format(data[0], cloak, var.STASISED[cloak])) msg = "{0} ({1}) is in stasis for {2} games.".format(rest[0], cloak, var.STASISED[cloak]))
else: else:
cli.msg(nick, "{0} ({1}) is not in stasis.".format(data[0], cloak)) msg = "{0} ({1}) is not in stasis.".format(rest[0], cloak)
else: else:
try: try:
amt = int(data[1]) amt = int(rest[1])
except ValueError: except ValueError:
cli.msg(nick, "Sorry, invalid integer argument.") pm(cli, nick, "Sorry, invalid integer argument.")
return return
if amt > 0: if amt > 0:
var.STASISED[cloak] = amt var.STASISED[cloak] = amt
cli.msg(nick, "{0} ({1}) is now in stasis for {2} games.".format(data[0], cloak, amt)) msg = "{0} ({1}) is now in stasis for {2} games.".format(rest[0], cloak, amt)
else: else:
if cloak in var.STASISED: if cloak in var.STASISED:
del var.STASISED[cloak] del var.STASISED[cloak]
cli.msg(nick, "{0} ({1}) is no longer in stasis.".format(data[0], cloak)) msg = "{0} ({1}) is no longer in stasis.".format(rest[0], cloak)
else: else:
cli.msg(nick, "{0} ({1}) is not in stasis.".format(data[0], cloak)) msg = "{0} ({1}) is not in stasis.".format(rest[0], cloak)
else: else:
if var.STASISED: if var.STASISED:
cli.msg(nick, "Currently stasised: {0}".format( msg = "Currently stasised: {0}".format(", ".join(
", ".join("{0}: {1}".format(cloak, number) for cloak, number in var.STASISED.items()))) "{0}: {1}".format(cloak, number)
for cloak, number in var.STASISED.items()))
else: else:
cli.msg(nick, "Nobody is currently stasised.") msg = "Nobody is currently stasised."
if msg:
if chan == nick:
pm(cli, nick, msg)
else:
cli.msg(chan, msg)
@pmcmd("fstasis", admin_only=True)
def fstasis_pm(cli, nick, rest):
fstasis(cli, nick, nick, rest)