Update deadchat handling
This commit is contained in:
parent
fea04471ca
commit
d2211de510
233
src/wolfgame.py
233
src/wolfgame.py
@ -712,108 +712,91 @@ def join_timer_handler(var):
|
|||||||
|
|
||||||
channels.Main.who()
|
channels.Main.who()
|
||||||
|
|
||||||
def get_deadchat_pref(nick):
|
def join_deadchat(var, *all_users):
|
||||||
if users.exists(nick):
|
if not var.ENABLE_DEADCHAT or var.PHASE not in var.GAME_PHASES:
|
||||||
host = users.get(nick).host.lower()
|
|
||||||
acc = irc_lower(users.get(nick).account)
|
|
||||||
else:
|
|
||||||
return False
|
|
||||||
|
|
||||||
if acc in var.DEADCHAT_PREFS_ACCS:
|
|
||||||
return False
|
|
||||||
elif var.ACCOUNTS_ONLY:
|
|
||||||
return True
|
|
||||||
elif host in var.DEADCHAT_PREFS:
|
|
||||||
return False
|
|
||||||
|
|
||||||
return True
|
|
||||||
|
|
||||||
def join_deadchat(cli, *all_nicks):
|
|
||||||
if not var.ENABLE_DEADCHAT:
|
|
||||||
return
|
return
|
||||||
|
|
||||||
if var.PHASE not in ("day", "night"):
|
to_join = []
|
||||||
return
|
|
||||||
|
|
||||||
nicks = []
|
|
||||||
pl = list_participants()
|
pl = list_participants()
|
||||||
for nick in all_nicks:
|
|
||||||
if is_user_stasised(nick) or nick in pl or nick in var.DEADCHAT_PLAYERS:
|
for user in all_users:
|
||||||
|
if user.stasis_count() or user.nick in pl or user in var.DEADCHAT_PLAYERS: # FIXME: Fix this when list_participants() returns User instances
|
||||||
continue
|
continue
|
||||||
nicks.append(nick)
|
to_join.append(user)
|
||||||
|
|
||||||
if not nicks:
|
if not to_join:
|
||||||
return
|
return
|
||||||
|
|
||||||
if len(nicks) == 1:
|
if len(to_join) == 1:
|
||||||
msg = messages["player_joined_deadchat"].format(nicks[0])
|
msg = messages["player_joined_deadchat"].format(to_join[0])
|
||||||
elif len(nicks) == 2:
|
elif len(to_join) == 2:
|
||||||
msg = messages["multiple_joined_deadchat"].format(*nicks)
|
msg = messages["multiple_joined_deadchat"].format(*to_join)
|
||||||
else:
|
else:
|
||||||
msg = messages["multiple_joined_deadchat"].format("\u0002, \u0002".join(nicks[:-1]), nicks[-1])
|
msg = messages["multiple_joined_deadchat"].format("\u0002, \u0002".join([user.nick for user in to_join[:-1]]), to_join[-1])
|
||||||
mass_privmsg(cli, var.DEADCHAT_PLAYERS, msg)
|
|
||||||
mass_privmsg(cli, var.SPECTATING_DEADCHAT, "[deadchat] " + msg)
|
|
||||||
mass_privmsg(cli, nicks, messages["joined_deadchat"])
|
|
||||||
|
|
||||||
people = var.DEADCHAT_PLAYERS | set(nicks)
|
people = var.DEADCHAT_PLAYERS.union(to_join)
|
||||||
|
|
||||||
mass_privmsg(cli, nicks, messages["list_deadchat"].format(", ".join(people)))
|
for user in var.DEADCHAT_PLAYERS:
|
||||||
var.DEADCHAT_PLAYERS.update(nicks)
|
user.queue_message(msg)
|
||||||
var.SPECTATING_DEADCHAT.difference_update(nicks)
|
for user in var.SPECTATING_DEADCHAT:
|
||||||
|
user.queue_message("[deadchat] " + msg)
|
||||||
|
for user in to_join:
|
||||||
|
user.queue_message(messages["joined_deadchat"])
|
||||||
|
user.queue_message(messages["list_deadchat"].format(", ".join([user.nick for user in people])))
|
||||||
|
|
||||||
def leave_deadchat(cli, nick, force=""):
|
var.DEADCHAT_PLAYERS.update(to_join)
|
||||||
if not var.ENABLE_DEADCHAT:
|
var.SPECTATING_DEADCHAT.difference_update(to_join)
|
||||||
|
|
||||||
|
user.send_messages() # send all messages at once
|
||||||
|
|
||||||
|
def leave_deadchat(var, user, *, force=None):
|
||||||
|
if not var.ENABLE_DEADCHAT or var.PHASE not in var.GAME_PHASES or user not in var.DEADCHAT_PLAYERS:
|
||||||
return
|
return
|
||||||
|
|
||||||
if var.PHASE not in ("day", "night") or nick not in var.DEADCHAT_PLAYERS:
|
var.DEADCHAT_PLAYERS.remove(user)
|
||||||
return
|
if force is None:
|
||||||
|
user.send(messages["leave_deadchat"])
|
||||||
var.DEADCHAT_PLAYERS.remove(nick)
|
msg = messages["player_left_deadchat"].format(user)
|
||||||
msg = ""
|
|
||||||
if force:
|
|
||||||
pm(cli, nick, messages["force_leave_deadchat"].format(force))
|
|
||||||
msg = messages["player_force_leave_deadchat"].format(nick, force)
|
|
||||||
else:
|
else:
|
||||||
pm(cli, nick, messages["leave_deadchat"])
|
user.send(messages["force_leave_deadchat"].format(force))
|
||||||
msg = messages["player_left_deadchat"].format(nick)
|
msg = messages["player_force_leave_deadchat"].format(user, force)
|
||||||
mass_privmsg(cli, var.DEADCHAT_PLAYERS, msg)
|
|
||||||
mass_privmsg(cli, var.SPECTATING_DEADCHAT, "[deadchat] " + msg)
|
|
||||||
|
|
||||||
@cmd("deadchat", pm=True)
|
if var.DEADCHAT_PLAYERS or var.SPECTATING_DEADCHAT:
|
||||||
def deadchat_pref(cli, nick, chan, rest):
|
for user in var.DEADCHAT_PLAYERS:
|
||||||
|
user.queue_message(msg)
|
||||||
|
for user in var.SPECTATING_DEADCHAT:
|
||||||
|
user.queue_message("[deadchat] " + msg)
|
||||||
|
|
||||||
|
user.send_messages()
|
||||||
|
|
||||||
|
@command("deadchat", pm=True)
|
||||||
|
def deadchat_pref(var, wrapper, message):
|
||||||
"""Toggles auto joining deadchat on death."""
|
"""Toggles auto joining deadchat on death."""
|
||||||
if not var.ENABLE_DEADCHAT:
|
if not var.ENABLE_DEADCHAT:
|
||||||
return
|
return
|
||||||
|
|
||||||
if users.exists(nick):
|
temp = wrapper.source.lower()
|
||||||
host = users.get(nick).host.lower()
|
|
||||||
acc = irc_lower(users.get(nick).account)
|
if wrapper.source.account is None:
|
||||||
else:
|
if var.ACCOUNTS_ONLY:
|
||||||
reply(cli, nick, chan, messages["invalid_channel"].format(botconfig.CHANNEL), private=True)
|
wrapper.pm(messages["not_logged_in"])
|
||||||
return
|
return
|
||||||
|
|
||||||
if (not acc or acc == "*") and var.ACCOUNTS_ONLY:
|
value = temp.host
|
||||||
reply(cli, nick, chan, messages["not_logged_in"], private=True)
|
|
||||||
return
|
|
||||||
|
|
||||||
if acc and acc != "*":
|
|
||||||
value = acc
|
|
||||||
variable = var.DEADCHAT_PREFS_ACCS
|
|
||||||
else:
|
|
||||||
value = host
|
|
||||||
variable = var.DEADCHAT_PREFS
|
variable = var.DEADCHAT_PREFS
|
||||||
|
|
||||||
if value in variable:
|
|
||||||
msg = messages["chat_on_death"]
|
|
||||||
variable.remove(value)
|
|
||||||
db.toggle_deadchat(acc, host)
|
|
||||||
|
|
||||||
else:
|
else:
|
||||||
msg = messages["no_chat_on_death"]
|
value = temp.account
|
||||||
variable.add(value)
|
variable = var.DEADCHAT_PREFS_ACCS
|
||||||
db.toggle_deadchat(acc, host)
|
|
||||||
|
|
||||||
reply(cli, nick, chan, msg, private=True)
|
if value in variable:
|
||||||
|
wrapper.pm(messages["chat_on_death"])
|
||||||
|
variable.remove(value)
|
||||||
|
else:
|
||||||
|
wrapper.pm(messages["no_chat_on_death"])
|
||||||
|
variable.add(value)
|
||||||
|
|
||||||
|
db.toggle_deadchat(temp.account, temp.host)
|
||||||
|
|
||||||
@command("join", "j", pm=True)
|
@command("join", "j", pm=True)
|
||||||
def join(var, wrapper, message):
|
def join(var, wrapper, message):
|
||||||
@ -838,7 +821,7 @@ def join(var, wrapper, message):
|
|||||||
|
|
||||||
else: # join deadchat
|
else: # join deadchat
|
||||||
if wrapper.private and wrapper.source is not wrapper.target:
|
if wrapper.private and wrapper.source is not wrapper.target:
|
||||||
evt.data["join_deadchat"](var, wrapper)
|
evt.data["join_deadchat"](var, wrapper.source)
|
||||||
|
|
||||||
def join_player(var, wrapper, who=None, forced=False, *, sanity=True):
|
def join_player(var, wrapper, who=None, forced=False, *, sanity=True):
|
||||||
if who is None:
|
if who is None:
|
||||||
@ -929,8 +912,8 @@ def join_player(var, wrapper, who=None, forced=False, *, sanity=True):
|
|||||||
wrapper.send(messages["player_joined"].format(wrapper.source.nick, len(pl) + 1))
|
wrapper.send(messages["player_joined"].format(wrapper.source.nick, len(pl) + 1))
|
||||||
if not sanity:
|
if not sanity:
|
||||||
# Abandon Hope All Ye Who Enter Here
|
# Abandon Hope All Ye Who Enter Here
|
||||||
leave_deadchat(wrapper.source.client, wrapper.source.nick)
|
leave_deadchat(var, wrapper.source)
|
||||||
var.SPECTATING_DEADCHAT.discard(wrapper.source.nick)
|
var.SPECTATING_DEADCHAT.discard(wrapper.source)
|
||||||
var.SPECTATING_WOLFCHAT.discard(wrapper.source.nick)
|
var.SPECTATING_WOLFCHAT.discard(wrapper.source.nick)
|
||||||
return True
|
return True
|
||||||
var.ROLES["person"].add(wrapper.source.nick)
|
var.ROLES["person"].add(wrapper.source.nick)
|
||||||
@ -1053,7 +1036,7 @@ def fleave(cli, nick, chan, rest):
|
|||||||
continue
|
continue
|
||||||
pl = list_players()
|
pl = list_players()
|
||||||
pll = [x.lower() for x in pl]
|
pll = [x.lower() for x in pl]
|
||||||
dcl = list(var.DEADCHAT_PLAYERS) if var.PHASE != "join" else []
|
dcl = [user.nick for user in var.DEADCHAT_PLAYERS] if var.PHASE != "join" else []
|
||||||
dcll = [x.lower() for x in dcl]
|
dcll = [x.lower() for x in dcl]
|
||||||
if a.lower() in pll:
|
if a.lower() in pll:
|
||||||
if chan != botconfig.CHANNEL:
|
if chan != botconfig.CHANNEL:
|
||||||
@ -1084,7 +1067,7 @@ def fleave(cli, nick, chan, rest):
|
|||||||
elif a.lower() in dcll:
|
elif a.lower() in dcll:
|
||||||
a = dcl[dcll.index(a.lower())]
|
a = dcl[dcll.index(a.lower())]
|
||||||
|
|
||||||
leave_deadchat(cli, a, force=nick)
|
leave_deadchat(var, users._get(a), force=nick) # FIXME
|
||||||
if nick.lower() not in dcll:
|
if nick.lower() not in dcll:
|
||||||
reply(cli, nick, chan, messages["admin_fleave_deadchat"].format(a), private=True)
|
reply(cli, nick, chan, messages["admin_fleave_deadchat"].format(a), private=True)
|
||||||
|
|
||||||
@ -2277,7 +2260,11 @@ def stop_game(cli, winner="", abort=False, additional_winners=None, log=True):
|
|||||||
cli.msg(chan, messages["many_winners"].format(", ".join(nicklist), winners[-1]))
|
cli.msg(chan, messages["many_winners"].format(", ".join(nicklist), winners[-1]))
|
||||||
|
|
||||||
# Message players in deadchat letting them know that the game has ended
|
# Message players in deadchat letting them know that the game has ended
|
||||||
mass_privmsg(cli, var.DEADCHAT_PLAYERS, messages["endgame_deadchat"].format(chan))
|
if var.DEADCHAT_PLAYERS:
|
||||||
|
for user in var.DEADCHAT_PLAYERS:
|
||||||
|
user.queue_message(messages["endgame_deadchat"].format(chan))
|
||||||
|
|
||||||
|
user.send_messages()
|
||||||
|
|
||||||
reset_modes_timers(cli)
|
reset_modes_timers(cli)
|
||||||
reset()
|
reset()
|
||||||
@ -2788,7 +2775,7 @@ def del_player(cli, nick, forced_death=False, devoice=True, end_game=True, death
|
|||||||
host = users.get(nick).host.lower()
|
host = users.get(nick).host.lower()
|
||||||
acc = irc_lower(users.get(nick).account)
|
acc = irc_lower(users.get(nick).account)
|
||||||
if acc not in var.DEADCHAT_PREFS_ACCS and host not in var.DEADCHAT_PREFS:
|
if acc not in var.DEADCHAT_PREFS_ACCS and host not in var.DEADCHAT_PREFS:
|
||||||
deadchat.append(nick)
|
deadchat.append(users._get(nick)) # FIXME
|
||||||
# devoice all players that died as a result, if we are in the original del_player
|
# devoice all players that died as a result, if we are in the original del_player
|
||||||
if ismain:
|
if ismain:
|
||||||
mass_mode(cli, cmode, [])
|
mass_mode(cli, cmode, [])
|
||||||
@ -2822,7 +2809,7 @@ def del_player(cli, nick, forced_death=False, devoice=True, end_game=True, death
|
|||||||
# only join to deadchat if the game isn't about to end
|
# only join to deadchat if the game isn't about to end
|
||||||
if ismain:
|
if ismain:
|
||||||
if ret:
|
if ret:
|
||||||
join_deadchat(cli, *deadchat)
|
join_deadchat(var, *deadchat)
|
||||||
del deadchat[:]
|
del deadchat[:]
|
||||||
if var.PHASE in var.GAME_PHASES:
|
if var.PHASE in var.GAME_PHASES:
|
||||||
# remove the player from variables if they're in there
|
# remove the player from variables if they're in there
|
||||||
@ -3103,12 +3090,6 @@ def rename_player(var, user, prefix):
|
|||||||
if prefix in var.ENTRANCED: # need to update this after death, too
|
if prefix in var.ENTRANCED: # need to update this after death, too
|
||||||
var.ENTRANCED.remove(prefix)
|
var.ENTRANCED.remove(prefix)
|
||||||
var.ENTRANCED.add(nick)
|
var.ENTRANCED.add(nick)
|
||||||
if prefix in var.DEADCHAT_PLAYERS:
|
|
||||||
var.DEADCHAT_PLAYERS.remove(prefix)
|
|
||||||
var.DEADCHAT_PLAYERS.add(nick)
|
|
||||||
if prefix in var.SPECTATING_DEADCHAT:
|
|
||||||
var.SPECTATING_DEADCHAT.remove(prefix)
|
|
||||||
var.SPECTATING_DEADCHAT.add(nick)
|
|
||||||
if prefix in var.SPECTATING_WOLFCHAT:
|
if prefix in var.SPECTATING_WOLFCHAT:
|
||||||
var.SPECTATING_WOLFCHAT.remove(prefix)
|
var.SPECTATING_WOLFCHAT.remove(prefix)
|
||||||
var.SPECTATING_WOLFCHAT.add(nick)
|
var.SPECTATING_WOLFCHAT.add(nick)
|
||||||
@ -3374,9 +3355,9 @@ def leave(var, what, user, why=None):
|
|||||||
killplayer = False
|
killplayer = False
|
||||||
|
|
||||||
channels.Main.send(msg.format(user, get_reveal_role(user.nick)) + population) # FIXME: Need to fix this once get_reveal_role() accepts User instances
|
channels.Main.send(msg.format(user, get_reveal_role(user.nick)) + population) # FIXME: Need to fix this once get_reveal_role() accepts User instances
|
||||||
var.SPECTATING_WOLFCHAT.discard(user.nick) # FIXME: Need to fix this line and the one below once the variables hold User instances
|
var.SPECTATING_WOLFCHAT.discard(user.nick) # FIXME: Need to fix this once the variable holds User instances
|
||||||
var.SPECTATING_DEADCHAT.discard(user.nick)
|
var.SPECTATING_DEADCHAT.discard(user)
|
||||||
leave_deadchat(user.client, user.nick)
|
leave_deadchat(var, user)
|
||||||
|
|
||||||
if what not in ("badnick", "account") and user.nick in var.USERS: # FIXME: Need to move mode toggling somewhere saner
|
if what not in ("badnick", "account") and user.nick in var.USERS: # FIXME: Need to move mode toggling somewhere saner
|
||||||
var.USERS[user.nick]["modes"] = set()
|
var.USERS[user.nick]["modes"] = set()
|
||||||
@ -3406,8 +3387,8 @@ def leave_game(cli, nick, chan, rest):
|
|||||||
return
|
return
|
||||||
population = ""
|
population = ""
|
||||||
elif chan == nick:
|
elif chan == nick:
|
||||||
if var.PHASE in var.GAME_PHASES and nick not in list_players() and nick in var.DEADCHAT_PLAYERS:
|
if var.PHASE in var.GAME_PHASES and nick not in list_players() and users._get(nick) in var.DEADCHAT_PLAYERS:
|
||||||
leave_deadchat(cli, nick)
|
leave_deadchat(var, users._get(nick))
|
||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
return
|
return
|
||||||
@ -5335,49 +5316,55 @@ def getfeatures(cli, nick, *rest):
|
|||||||
errlog("Unsupported case mapping: {0!r}; falling back to rfc1459.".format(var.CASEMAPPING))
|
errlog("Unsupported case mapping: {0!r}; falling back to rfc1459.".format(var.CASEMAPPING))
|
||||||
var.CASEMAPPING = "rfc1459"
|
var.CASEMAPPING = "rfc1459"
|
||||||
|
|
||||||
@cmd("", chan=False, pm=True)
|
@command("", chan=False, pm=True)
|
||||||
def relay(cli, nick, chan, rest):
|
def relay(var, wrapper, message):
|
||||||
"""Wolfchat and Deadchat"""
|
"""Wolfchat and Deadchat"""
|
||||||
if rest.startswith("\u0001PING"):
|
if message.startswith("\u0001PING"):
|
||||||
cli.notice(nick, rest)
|
wrapper.pm(message, notice=True)
|
||||||
return
|
return
|
||||||
if rest == "\u0001VERSION\u0001":
|
if message == "\u0001VERSION\u0001":
|
||||||
try:
|
try:
|
||||||
ans = subprocess.check_output(["git", "log", "-n", "1", "--pretty=format:%h"])
|
ans = subprocess.check_output(["git", "log", "-n", "1", "--pretty=format:%h"])
|
||||||
reply = "\u0001VERSION lykos {0}, Python {1} -- https://github.com/lykoss/lykos\u0001".format(str(ans.decode()), platform.python_version())
|
reply = "\u0001VERSION lykos {0}, Python {1} -- https://github.com/lykoss/lykos\u0001".format(str(ans.decode()), platform.python_version())
|
||||||
except (OSError, subprocess.CalledProcessError):
|
except (OSError, subprocess.CalledProcessError):
|
||||||
reply = "\u0001VERSION lykos, Python {0} -- https://github.com/lykoss/lykos\u0001".format(platform.python_version())
|
reply = "\u0001VERSION lykos, Python {0} -- https://github.com/lykoss/lykos\u0001".format(platform.python_version())
|
||||||
cli.notice(nick, reply)
|
wrapper.pm(reply, notice=True)
|
||||||
return
|
return
|
||||||
elif rest == "\u0001TIME\u0001":
|
if message == "\u0001TIME\u0001":
|
||||||
cli.notice(nick, "\u0001TIME {0}\u0001".format(time.strftime('%a, %d %b %Y %T %z', time.localtime())))
|
wrapper.pm("\u0001TIME {0}\u0001".format(time.strftime('%a, %d %b %Y %T %z', time.localtime())), notice=True)
|
||||||
if var.PHASE not in var.GAME_PHASES:
|
if var.PHASE not in var.GAME_PHASES:
|
||||||
return
|
return
|
||||||
|
|
||||||
pl = list_players()
|
pl = list_players()
|
||||||
|
|
||||||
if nick in pl and nick in getattr(var, "IDLE_WARNED_PM", ()):
|
if wrapper.source.nick in pl and wrapper.source.nick in getattr(var, "IDLE_WARNED_PM", ()):
|
||||||
cli.msg(nick, messages["privmsg_idle_warning"].format(botconfig.CHANNEL))
|
wrapper.pm(messages["privmsg_idle_warning"].format(channels.Main))
|
||||||
var.IDLE_WARNED_PM.add(nick)
|
var.IDLE_WARNED_PM.add(wrapper.source)
|
||||||
|
|
||||||
if rest.startswith(botconfig.CMD_CHAR):
|
if message.startswith(botconfig.CMD_CHAR):
|
||||||
return
|
return
|
||||||
|
|
||||||
badguys = list_players(var.WOLFCHAT_ROLES)
|
badguys = list_players(var.WOLFCHAT_ROLES)
|
||||||
wolves = list_players(var.WOLF_ROLES)
|
wolves = list_players(var.WOLF_ROLES)
|
||||||
|
|
||||||
if nick not in pl and var.ENABLE_DEADCHAT and nick in var.DEADCHAT_PLAYERS:
|
if wrapper.source.nick not in pl and var.ENABLE_DEADCHAT and wrapper.source in var.DEADCHAT_PLAYERS:
|
||||||
to_msg = var.DEADCHAT_PLAYERS - {nick}
|
to_msg = var.DEADCHAT_PLAYERS - {wrapper.source}
|
||||||
|
if to_msg or var.SPECTATING_DEADCHAT:
|
||||||
if rest.startswith("\u0001ACTION"):
|
if rest.startswith("\u0001ACTION"):
|
||||||
rest = rest[7:-1]
|
message = message[7:-1]
|
||||||
mass_privmsg(cli, to_msg, "* \u0002{0}\u0002{1}".format(nick, rest))
|
for user in to_msg:
|
||||||
mass_privmsg(cli, var.SPECTATING_DEADCHAT, "* [deadchat] \u0002{0}\u0002{1}".format(nick, rest))
|
user.queue_message("* \u0002{0}\u0002{1}".format(user, message))
|
||||||
|
for user in var.SPECTATING_DEADCHAT:
|
||||||
|
user.queue_message("* [deadchat] \u0002{0}\u0002{1}".format(user, message))
|
||||||
else:
|
else:
|
||||||
mass_privmsg(cli, to_msg, "\u0002{0}\u0002 says: {1}".format(nick, rest))
|
for user in to_msg:
|
||||||
mass_privmsg(cli, var.SPECTATING_DEADCHAT, "[deadchat] \u0002{0}\u0002 says: {1}".format(nick, rest))
|
user.queue_message("\u0002{0}\u0002 says: {1}".format(user, message))
|
||||||
|
for user in var.SPECTATING_DEADCHAT:
|
||||||
|
user.queue_message("[deadchat] \u0002{0}\u0002 says: {1}".format(user, message))
|
||||||
|
|
||||||
elif nick in badguys and len(badguys) > 1:
|
user.send_messages()
|
||||||
|
|
||||||
|
elif wrapper.source.nick in badguys and len(badguys) > 1: # FIXME: Need to fix once list_players() returns User instances
|
||||||
# handle wolfchat toggles
|
# handle wolfchat toggles
|
||||||
if not var.RESTRICT_WOLFCHAT & var.RW_TRAITOR_NON_WOLF:
|
if not var.RESTRICT_WOLFCHAT & var.RW_TRAITOR_NON_WOLF:
|
||||||
wolves.extend(var.ROLES["traitor"])
|
wolves.extend(var.ROLES["traitor"])
|
||||||
@ -5390,7 +5377,7 @@ def relay(cli, nick, chan, rest):
|
|||||||
elif nick not in wolves and var.RESTRICT_WOLFCHAT & var.RW_REM_NON_WOLVES:
|
elif nick not in wolves and var.RESTRICT_WOLFCHAT & var.RW_REM_NON_WOLVES:
|
||||||
return
|
return
|
||||||
|
|
||||||
badguys.remove(nick)
|
badguys.remove(wrapper.source.nick)
|
||||||
to_msg = set(badguys) & var.PLAYERS.keys()
|
to_msg = set(badguys) & var.PLAYERS.keys()
|
||||||
if rest.startswith("\u0001ACTION"):
|
if rest.startswith("\u0001ACTION"):
|
||||||
rest = rest[7:-1]
|
rest = rest[7:-1]
|
||||||
@ -7223,19 +7210,19 @@ def fspectate(var, wrapper, message):
|
|||||||
if what == "wolfchat":
|
if what == "wolfchat":
|
||||||
var.SPECTATING_WOLFCHAT.discard(wrapper.source.nick)
|
var.SPECTATING_WOLFCHAT.discard(wrapper.source.nick)
|
||||||
else:
|
else:
|
||||||
var.SPECTATING_DEADCHAT.discard(wrapper.source.nick)
|
var.SPECTATING_DEADCHAT.discard(wrapper.source)
|
||||||
wrapper.pm(messages["fspectate_off"].format(what))
|
wrapper.pm(messages["fspectate_off"].format(what))
|
||||||
else:
|
else:
|
||||||
players = []
|
players = []
|
||||||
if what == "wolfchat":
|
if what == "wolfchat":
|
||||||
var.SPECTATING_WOLFCHAT.add(wrapper.source.nick)
|
var.SPECTATING_WOLFCHAT.add(wrapper.source.nick)
|
||||||
players = (p for p in list_players() if in_wolflist(p, p))
|
players = [p for p in list_players() if in_wolflist(p, p)]
|
||||||
elif var.ENABLE_DEADCHAT:
|
elif var.ENABLE_DEADCHAT:
|
||||||
if wrapper.source.nick in var.DEADCHAT_PLAYERS: # FIXME
|
if wrapper.source in var.DEADCHAT_PLAYERS:
|
||||||
wrapper.pm(messages["fspectate_in_deadchat"])
|
wrapper.pm(messages["fspectate_in_deadchat"])
|
||||||
return
|
return
|
||||||
var.SPECTATING_DEADCHAT.add(wrapper.source.nick)
|
var.SPECTATING_DEADCHAT.add(wrapper.source)
|
||||||
players = var.DEADCHAT_PLAYERS
|
players = [user.nick for user in var.DEADCHAT_PLAYERS]
|
||||||
else:
|
else:
|
||||||
wrapper.pm(messages["fspectate_deadchat_disabled"])
|
wrapper.pm(messages["fspectate_deadchat_disabled"])
|
||||||
return
|
return
|
||||||
|
Loading…
x
Reference in New Issue
Block a user