diff options
author | 2019-09-06 15:03:23 -0400 | |
---|---|---|
committer | 2019-09-06 15:03:23 -0400 | |
commit | 69cbed90b6c1b79f607a1c894998d73ea9c771f7 (patch) | |
tree | 07c47e7fb2ecf0c4acc3b43a2c46deccef39af75 | |
parent | Apply 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.py | 6 |
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.""" |