From e4c53906fb9629551c4664414edb6983e3da3a39 Mon Sep 17 00:00:00 2001 From: jacob1 Date: Mon, 31 Aug 2015 11:55:31 -0400 Subject: [PATCH] fix !swap when the player you are replacing already disconnected --- src/wolfgame.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/wolfgame.py b/src/wolfgame.py index 67d420f..5b28aae 100644 --- a/src/wolfgame.py +++ b/src/wolfgame.py @@ -3143,10 +3143,7 @@ def fgoat(cli, nick, chan, rest): def rename_player(cli, prefix, nick): chan = botconfig.CHANNEL - if prefix == var.ADMIN_TO_PING: - var.ADMIN_TO_PING = nick - - if prefix in var.list_players() and prefix not in var.DISCONNECTED.keys(): + if prefix in var.list_players(): r = var.ROLES[var.get_role(prefix)] r.add(nick) r.remove(prefix) @@ -3162,6 +3159,9 @@ def rename_player(cli, prefix, nick): if prefix in v: var.ORIGINAL_ROLES[k].remove(prefix) var.ORIGINAL_ROLES[k].add(nick) + if "(dced)"+prefix in v: + var.ORIGINAL_ROLES[k].remove("(dced)"+prefix) + var.ORIGINAL_ROLES[k].add(nick) for k,v in list(var.PLAYERS.items()): if prefix == k: var.PLAYERS[nick] = var.PLAYERS.pop(k) @@ -3388,7 +3388,11 @@ def on_nick(cli, oldnick, nick): if not var.USERS[nick]["inchan"]: return - rename_player(cli, prefix, nick) + if prefix == var.ADMIN_TO_PING: + var.ADMIN_TO_PING = nick + + if prefix not in var.DISCONNECTED.keys(): + rename_player(cli, prefix, nick) def leave(cli, what, nick, why=""): nick, _, _, cloak = parse_nick(nick)