From 0de62cc2ba50b2cef6e998cc797aaba1685d50b1 Mon Sep 17 00:00:00 2001 From: sco1 Date: Mon, 10 Dec 2018 16:46:06 -0500 Subject: Refactor aoc join to DM user with join code --- bot/seasons/christmas/adventofcode.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'bot/seasons/christmas/adventofcode.py') diff --git a/bot/seasons/christmas/adventofcode.py b/bot/seasons/christmas/adventofcode.py index 458eb19f..b61e77c0 100644 --- a/bot/seasons/christmas/adventofcode.py +++ b/bot/seasons/christmas/adventofcode.py @@ -19,6 +19,7 @@ log = logging.getLogger(__name__) AOC_REQUEST_HEADER = {"user-agent": "PythonDiscord AoC Event Bot"} AOC_SESSION_COOKIE = {"session": Tokens.aoc_session_cookie} +AOC_JOIN_CODE = AocConfig.leaderboard_join_code # Constant so staff can update without redeploying EST = timezone("EST") COUNTDOWN_STEP = 60 * 5 @@ -196,14 +197,23 @@ class AdventOfCode: @adventofcode_group.command(name="join", aliases=("j",), brief="Learn how to join PyDis' private AoC leaderboard") async def join_leaderboard(self, ctx: commands.Context): """ - Retrieve the link to join the PyDis AoC private leaderboard + DM the user the information for joining the PyDis AoC private leaderboard """ + author = ctx.message.author + log.info(f"{author.name} ({author.id}) has requested the PyDis AoC leaderboard code") + info_str = ( "Head over to https://adventofcode.com/leaderboard/private " - f"with code `{AocConfig.leaderboard_join_code}` to join the PyDis private leaderboard!" + f"with code `{AOC_JOIN_CODE}` to join the PyDis private leaderboard!" ) - await ctx.send(info_str) + try: + await author.send(info_str) + except discord.errors.Forbidden: + log.debug(f"{author.name} ({author.id}) has disabled DMs from server members") + await ctx.send( + f':x: {author.mention}, please (temporarily) enable DMs to receive the join code' + ) @adventofcode_group.command( name="leaderboard", -- cgit v1.2.3