diff options
author | 2020-05-19 00:36:11 -0400 | |
---|---|---|
committer | 2020-05-19 00:36:11 -0400 | |
commit | df75d189b7cccb179d61284f92786bdd230b0b2f (patch) | |
tree | c127ae89ac775fc5b4db0c54ced4e1e6d2aa540a | |
parent | Merge pull request #406 from DuckMasterAl/patch-1 (diff) | |
parent | Merge branch 'master' into boo-fix (diff) |
Merge pull request #403 from Akarys42/boo-fix
Handle staff users and DMs in the halloweenify cog
-rw-r--r-- | bot/exts/halloween/halloweenify.py | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/bot/exts/halloween/halloweenify.py b/bot/exts/halloween/halloweenify.py index 5c433a81..a19066cf 100644 --- a/bot/exts/halloween/halloweenify.py +++ b/bot/exts/halloween/halloweenify.py @@ -4,6 +4,7 @@ from pathlib import Path from random import choice import discord +from discord.errors import Forbidden from discord.ext import commands from discord.ext.commands.cooldowns import BucketType @@ -37,11 +38,25 @@ class Halloweenify(commands.Cog): f"**{ctx.author.display_name}** wasn\'t spooky enough for you? That\'s understandable, " f"{ctx.author.display_name} isn\'t scary at all! " "Let me think of something better. Hmm... I got it!\n\n " - f"Your new nickname will be: \n :ghost: **{nickname}** :jack_o_lantern:" ) embed.set_image(url=image) - await ctx.author.edit(nick=nickname) + if isinstance(ctx.author, discord.Member): + try: + await ctx.author.edit(nick=nickname) + embed.description += f"Your new nickname will be: \n:ghost: **{nickname}** :jack_o_lantern:" + + except Forbidden: # The bot doesn't have enough permission + embed.description += ( + f"Your new nickname should be: \n :ghost: **{nickname}** :jack_o_lantern: \n\n" + f"It looks like I cannot change your name, but feel free to change it yourself." + ) + + else: # The command has been invoked in DM + embed.description += ( + f"Your new nickname should be: \n :ghost: **{nickname}** :jack_o_lantern: \n\n" + f"Feel free to change it yourself, or invoke the command again inside the server." + ) await ctx.send(embed=embed) |