aboutsummaryrefslogtreecommitdiffstats
path: root/bot/cogs/halloweenify.py
diff options
context:
space:
mode:
authorGravatar mathsman5133 <[email protected]>2018-10-12 10:29:11 +1100
committerGravatar mathsman5133 <[email protected]>2018-10-12 10:29:11 +1100
commit010cb21de026cd3021fa29fc38f838b754bd540c (patch)
tree73609ffc131e7aa76dc99dcd53286192696b86a2 /bot/cogs/halloweenify.py
parentFixed docstrings, add blank lines for readibility, method of finding last 10 ... (diff)
parentThe app was logging to the wrong directory. This is now fixed. Also silenced ... (diff)
Merge remote-tracking branch 'upstream/master' into candy-collection
Diffstat (limited to 'bot/cogs/halloweenify.py')
-rw-r--r--bot/cogs/halloweenify.py48
1 files changed, 48 insertions, 0 deletions
diff --git a/bot/cogs/halloweenify.py b/bot/cogs/halloweenify.py
new file mode 100644
index 00000000..a5fe45ef
--- /dev/null
+++ b/bot/cogs/halloweenify.py
@@ -0,0 +1,48 @@
+from json import load
+from pathlib import Path
+from random import choice
+
+import discord
+from discord.ext import commands
+from discord.ext.commands.cooldowns import BucketType
+
+
+class Halloweenify:
+ """
+ A cog to change a invokers nickname to a spooky one!
+ """
+
+ def __init__(self, bot):
+ self.bot = bot
+
+ @commands.cooldown(1, 300, BucketType.user)
+ @commands.command()
+ async def halloweenify(self, ctx):
+ """
+ Change your nickname into a much spookier one!
+ """
+ with open(Path('./bot/resources', 'halloweenify.json'), 'r') as f:
+ data = load(f)
+
+ # Choose a random character from our list we loaded above and set apart the nickname and image url.
+ character = choice(data['characters'])
+ nickname = ''.join([nickname for nickname in character])
+ image = ''.join([character[nickname] for nickname in character])
+
+ # Build up a Embed
+ embed = discord.Embed()
+ embed.colour = discord.Colour.dark_orange()
+ embed.title = 'Not spooky enough?'
+ embed.description = (
+ 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)
+ await ctx.send(embed=embed)
+
+
+def setup(bot):
+ bot.add_cog(Halloweenify(bot))