diff options
author | 2019-02-27 18:10:40 +1000 | |
---|---|---|
committer | 2019-02-27 18:10:40 +1000 | |
commit | 8b19bb2f1b7305ba4cf87ec61cd94ab7ee4b1dd0 (patch) | |
tree | 947e1d50905e565c25da13552314142e6d602d94 | |
parent | In the json file,i now have a list containing all the peoms/compliments in li... (diff) |
Address DM failure, random_user logic, str[key] error.
-rw-r--r-- | bot/seasons/valentines/be_my_valentine.py | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/bot/seasons/valentines/be_my_valentine.py b/bot/seasons/valentines/be_my_valentine.py index 163574c3..83c02841 100644 --- a/bot/seasons/valentines/be_my_valentine.py +++ b/bot/seasons/valentines/be_my_valentine.py @@ -163,8 +163,12 @@ class BeMyValentine: description=f'{valentine} \n **{emoji_2}From anonymous{emoji_1}**', color=Colours.pink ) - await ctx.author.send(f"Your message has been sent to {user}") - await user.send(embed=embed) + try: + await user.send(embed=embed) + except discord.Forbidden: + await ctx.author.send(f"{user} has DMs disabled, so I couldn't send the message. Sorry!") + else: + await ctx.author.send(f"Your message has been sent to {user}") def valentine_check(self, valentine_type): if valentine_type is None: @@ -186,11 +190,16 @@ class BeMyValentine: @staticmethod def random_user(author, members): - # just making sure that the random does not pick up the same user(ctx.author) + """ + Picks a random member from the list provided in `members`, ensuring + the author is not one of the options. - if members.__len__() != 0: - if author in members: - members.remove(author) + :param author: member who invoked the command + :param members: list of discord.Member objects + """ + if author in members: + members.remove(author) + if len(members) != 0: user = random.choice(members) else: user = None @@ -213,7 +222,7 @@ class BeMyValentine: title = 'A poem dedicated to' else: title = 'A compliment for ' - return random_valentine['message'], title + return random_valentine, title def valentine_poem(self): """ |