aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar S. Co1 <[email protected]>2019-09-06 15:03:23 -0400
committerGravatar S. Co1 <[email protected]>2019-09-06 15:03:23 -0400
commit69cbed90b6c1b79f607a1c894998d73ea9c771f7 (patch)
tree07c47e7fb2ecf0c4acc3b43a2c46deccef39af75
parentApply suggestions from code review (diff)
Fix broken cancellation logic for waiting SaL game
Previous logic allowed for any non-playing member to cancel the game
-rw-r--r--bot/seasons/evergreen/snakes/utils.py6
1 files changed, 1 insertions, 5 deletions
diff --git a/bot/seasons/evergreen/snakes/utils.py b/bot/seasons/evergreen/snakes/utils.py
index 77b13f1b..9edc86ca 100644
--- a/bot/seasons/evergreen/snakes/utils.py
+++ b/bot/seasons/evergreen/snakes/utils.py
@@ -436,7 +436,7 @@ class SnakeAndLaddersGame:
if reaction.emoji == JOIN_EMOJI:
await self.player_join(user)
elif reaction.emoji == CANCEL_EMOJI:
- if user == self.author or not self._mod_in_game_check(user):
+ if user == self.author or all((self._is_moderator(user), user not in self.players)):
# Allow game author or non-playing moderation staff to cancel a waiting game
await self.cancel_game()
return
@@ -706,10 +706,6 @@ class SnakeAndLaddersGame:
x_level = 9 - x_level
return x_level, y_level
- def _mod_in_game_check(self, user: Member) -> bool:
- """Return True if user is a Moderator and playing the currently running game."""
- return all((self._is_moderator(user), user in self.players))
-
@staticmethod
def _is_moderator(user: Member) -> bool:
"""Return True if the user is a Moderator."""