diff options
| author | 2021-07-08 20:32:45 -0400 | |
|---|---|---|
| committer | 2021-07-09 14:02:38 -0400 | |
| commit | ad8ab58d121b3b11c718cbb6cc41dcf6d1491227 (patch) | |
| tree | b8e5a8fa13e5274d27bb7c77f02c0f9a064beba6 | |
| parent | Change the "game over" embed color (diff) | |
Add stop command for mods
| -rw-r--r-- | bot/exts/evergreen/duck_game.py | 13 | 
1 files changed, 12 insertions, 1 deletions
diff --git a/bot/exts/evergreen/duck_game.py b/bot/exts/evergreen/duck_game.py index 0c75c5c3..1661e855 100644 --- a/bot/exts/evergreen/duck_game.py +++ b/bot/exts/evergreen/duck_game.py @@ -12,7 +12,7 @@ from PIL import Image, ImageDraw  from discord.ext import commands  from bot.bot import Bot -from bot.constants import Colours +from bot.constants import Colours, MODERATION_ROLES  DECK = list(product(*[(0, 1, 2)]*4)) @@ -275,6 +275,17 @@ class DuckGamesDirector(commands.Cog):          """Explain the rules of the game."""          await self.send_help_embed(ctx) +    @start_game.command(name="stop") +    async def stop_game(self, ctx: commands.Context) -> None: +        """Stop a currently running game. Only available to mods.""" +        if not any(role in ctx.author.roles for role in MODERATION_ROLES): +            return +        try: +            game = self.current_games.pop(ctx.channel.id) +        except KeyError: +            return +        await self.end_game(game, end_message="Game canceled.") +      @staticmethod      async def send_help_embed(ctx: commands.Context) -> discord.Message:          """Send rules embed."""  |