diff options
author | 2020-05-23 00:35:50 -0400 | |
---|---|---|
committer | 2020-05-23 00:35:50 -0400 | |
commit | f43c3f014fc2e2d690e572ff2a5d1b79b33836df (patch) | |
tree | b9f37e023c514d3d88945ed7988b438840fbf521 | |
parent | Merge pull request #403 from Akarys42/boo-fix (diff) | |
parent | Merge branch 'master' into minesweeper-disabled-dm-handling (diff) |
Merge pull request #401 from fuzzmz/minesweeper-disabled-dm-handling
Handle disabled DMs when starting Minesweeper
-rw-r--r-- | bot/exts/evergreen/minesweeper.py | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/bot/exts/evergreen/minesweeper.py b/bot/exts/evergreen/minesweeper.py index ae057b30..3e40f493 100644 --- a/bot/exts/evergreen/minesweeper.py +++ b/bot/exts/evergreen/minesweeper.py @@ -141,9 +141,20 @@ class Minesweeper(commands.Cog): await ctx.message.delete(delay=2) return + try: + await ctx.author.send( + f"Play by typing: `{Client.prefix}ms reveal xy [xy]` or `{Client.prefix}ms flag xy [xy]` \n" + f"Close the game with `{Client.prefix}ms end`\n" + ) + except discord.errors.Forbidden: + log.debug(f"{ctx.author.name} ({ctx.author.id}) has disabled DMs from server members") + await ctx.send(f":x: {ctx.author.mention}, please enable DMs to play minesweeper.") + return + # Add game to list board: GameBoard = self.generate_board(bomb_chance) revealed_board: GameBoard = [["hidden"] * 10 for _ in range(10)] + dm_msg = await ctx.author.send(f"Here's your board!\n{self.format_for_discord(revealed_board)}") if ctx.guild: await ctx.send(f"{ctx.author.mention} is playing Minesweeper") @@ -151,12 +162,6 @@ class Minesweeper(commands.Cog): else: chat_msg = None - await ctx.author.send( - f"Play by typing: `{Client.prefix}ms reveal xy [xy]` or `{Client.prefix}ms flag xy [xy]` \n" - f"Close the game with `{Client.prefix}ms end`\n" - ) - dm_msg = await ctx.author.send(f"Here's your board!\n{self.format_for_discord(revealed_board)}") - self.games[ctx.author.id] = Game( board=board, revealed=revealed_board, |