Browse Source

!stats and !votes notice if the player who did it is not in the game

master
jcao219 13 years ago
parent
commit
4d53588847
  1. 62
      wolfgame.py

62
wolfgame.py

@ -409,22 +409,30 @@ def stats(cli, nick, chan, rest):
if var.PHASE == "none": if var.PHASE == "none":
cli.notice(nick, "No game is currently running.") cli.notice(nick, "No game is currently running.")
return return
if (var.LAST_STATS and
var.LAST_STATS + timedelta(seconds=var.STATS_RATE_LIMIT) > datetime.now()):
cli.msg(chan, nick+": This command is rate-limited.")
return
var.LAST_STATS = datetime.now()
pl = var.list_players() pl = var.list_players()
if nick in pl: # only do this rate-limiting stuff if the person is in game
if (var.LAST_STATS and
var.LAST_STATS + timedelta(seconds=var.STATS_RATE_LIMIT) > datetime.now()):
cli.msg(chan, nick+": This command is rate-limited.")
return
var.LAST_STATS = datetime.now()
pl.sort(key=lambda x: x.lower()) pl.sort(key=lambda x: x.lower())
if len(pl) > 1: if len(pl) > 1:
cli.msg(chan, '{0}: \u0002{1}\u0002 players: {2}'.format(nick, msg = '{0}: \u0002{1}\u0002 players: {2}'.format(nick,
len(pl), ", ".join(pl))) len(pl), ", ".join(pl))
else: else:
cli.msg(chan, '{0}: \u00021\u0002 player: {1}'.format(nick, pl[0])) msg = '{0}: \u00021\u0002 player: {1}'.format(nick, pl[0])
if nick in pl:
cli.msg(chan, msg)
var.LOGGER.logMessage(msg.replace("\02", ""))
else:
cli.notice(nick, msg)
if var.PHASE == "join": if var.PHASE == "join":
return return
@ -463,8 +471,11 @@ def stats(cli, nick, chan, rest):
", ".join(message[0:-1]), ", ".join(message[0:-1]),
message[-1], message[-1],
vb) vb)
cli.msg(chan, stats_mssg) if nick in pl:
var.LOGGER.logMessage(stats_mssg.replace("\02", "")) cli.msg(chan, stats_mssg)
var.LOGGER.logMessage(stats_mssg.replace("\02", ""))
else:
cli.notice(nick, stats_mssg)
@ -564,24 +575,37 @@ def show_votes(cli, nick, chan, rest):
cli.msg(chan, nick+": This command is rate-limited.") cli.msg(chan, nick+": This command is rate-limited.")
return return
var.LAST_VOTES = datetime.now() pl = var.list_players()
if nick in pl:
var.LAST_VOTES = datetime.now()
if not var.VOTES.values(): if not var.VOTES.values():
cli.msg(chan, nick+": No votes yet.") msg = nick+": No votes yet."
var.LAST_VOTES = None # reset if nick in pl:
var.LAST_VOTES = None # reset
else: else:
votelist = ["{0}: {1} ({2})".format(votee, votelist = ["{0}: {1} ({2})".format(votee,
len(var.VOTES[votee]), len(var.VOTES[votee]),
" ".join(var.VOTES[votee])) " ".join(var.VOTES[votee]))
for votee in var.VOTES.keys()] for votee in var.VOTES.keys()]
cli.msg(chan, "{0}: {1}".format(nick, ", ".join(votelist))) msg = "{0}: {1}".format(nick, ", ".join(votelist))
if nick in pl:
cli.msg(chan, msg)
else:
cli.notice(nick, msg)
pl = var.list_players() pl = var.list_players()
avail = len(pl) - len(var.WOUNDED) avail = len(pl) - len(var.WOUNDED)
votesneeded = avail // 2 + 1 votesneeded = avail // 2 + 1
cli.msg(chan, ("{0}: \u0002{1}\u0002 players, \u0002{2}\u0002 votes "+ the_message = ("{0}: \u0002{1}\u0002 players, \u0002{2}\u0002 votes "+
"required to lynch, \u0002{3}\u0002 players available " + "required to lynch, \u0002{3}\u0002 players available " +
"to vote.").format(nick, len(pl), votesneeded, avail)) "to vote.").format(nick, len(pl), votesneeded, avail)
if nick in pl:
cli.msg(chan, the_message)
else:
cli.notice(nick, the_message)

Loading…
Cancel
Save