aboutsummaryrefslogtreecommitdiffstats
path: root/bot/cogs/hacktober/spookygif.py
diff options
context:
space:
mode:
authorGravatar Leon Sandøy <[email protected]>2018-11-20 15:14:32 +0100
committerGravatar Leon Sandøy <[email protected]>2018-11-20 15:14:32 +0100
commit42e5af85dd55b754d93374263ea7bcee85075f34 (patch)
tree9ee1331f24e36d6f1de4190c469b94eb12f93f9e /bot/cogs/hacktober/spookygif.py
parentMerge branch 'gif' of https://github.com/markylon/hacktoberbot into markylon-gif (diff)
Fixing flake8 errors, and making the gif post inside an embed.
Diffstat (limited to 'bot/cogs/hacktober/spookygif.py')
-rw-r--r--bot/cogs/hacktober/spookygif.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/bot/cogs/hacktober/spookygif.py b/bot/cogs/hacktober/spookygif.py
new file mode 100644
index 00000000..1249905d
--- /dev/null
+++ b/bot/cogs/hacktober/spookygif.py
@@ -0,0 +1,36 @@
+import aiohttp
+import discord
+from discord.ext import commands
+
+from bot.constants import GIPHY_TOKEN
+
+
+class SpookyGif:
+ """
+ A cog to fetch a random spooky gif from the web!
+ """
+
+ def __init__(self, bot):
+ self.bot = bot
+
+ @commands.command(name="spookygif", aliases=["sgif", "scarygif"])
+ async def spookygif(self, ctx):
+ """
+ Fetches a random gif from the GIPHY API and responds with it.
+ """
+
+ async with aiohttp.ClientSession() as session:
+ params = {'api_key': GIPHY_TOKEN, 'tag': 'halloween', 'rating': 'g'}
+ # Make a GET request to the Giphy API to get a random halloween gif.
+ async with session.get('http://api.giphy.com/v1/gifs/random', params=params) as resp:
+ data = await resp.json()
+ url = data['data']['image_url']
+
+ embed = discord.Embed(colour=0x9b59b6)
+ embed.title = "A spooooky gif!"
+ embed.set_image(url=url)
+ await ctx.send(embed=embed)
+
+
+def setup(bot):
+ bot.add_cog(SpookyGif(bot))