updated meme to allow blank topics
This commit is contained in:
parent
404244c573
commit
e4fe215928
1 changed files with 68 additions and 68 deletions
32
cogs/meme.py
32
cogs/meme.py
|
|
@ -1,6 +1,7 @@
|
||||||
#plugin for sparkytron3000
|
#plugin for sparkytron3000
|
||||||
import os
|
import os
|
||||||
import random
|
import random
|
||||||
|
import time
|
||||||
from discord.ext import commands
|
from discord.ext import commands
|
||||||
from cogs.base_cog.bot_base_cog import BotBaseCog
|
from cogs.base_cog.bot_base_cog import BotBaseCog
|
||||||
|
|
||||||
|
|
@ -31,14 +32,7 @@ class Meme(BotBaseCog):
|
||||||
except:
|
except:
|
||||||
return "error occurred in meme"
|
return "error occurred in meme"
|
||||||
|
|
||||||
@commands.command(
|
async def generate_random_meme(self, topic):
|
||||||
description="Meme",
|
|
||||||
help="Generates a meme based on input. Usage: !meme (topic)",
|
|
||||||
brief="Generate a meme"
|
|
||||||
)
|
|
||||||
async def meme(self, ctx):
|
|
||||||
self.logger.info(f"Meme command called by {ctx.author.name}")
|
|
||||||
async def generate_random_meme(topic):
|
|
||||||
async with self.http_session.get('https://api.imgflip.com/get_memes') as resp:
|
async with self.http_session.get('https://api.imgflip.com/get_memes') as resp:
|
||||||
response_data = await resp.json()
|
response_data = await resp.json()
|
||||||
response = response_data['data']['memes']
|
response = response_data['data']['memes']
|
||||||
|
|
@ -85,7 +79,7 @@ class Meme(BotBaseCog):
|
||||||
filename = memepics[id-1]['name']
|
filename = memepics[id-1]['name']
|
||||||
async with self.http_session.get(image_link) as response:
|
async with self.http_session.get(image_link) as response:
|
||||||
folder = "tmp/meme/"
|
folder = "tmp/meme/"
|
||||||
filename = folder + topic + str(len(os.listdir(folder))) + ".jpg"
|
filename = f"{folder}{time.time_ns()}.jpg"
|
||||||
|
|
||||||
with open(filename, "wb") as file:
|
with open(filename, "wb") as file:
|
||||||
while True:
|
while True:
|
||||||
|
|
@ -95,16 +89,22 @@ class Meme(BotBaseCog):
|
||||||
file.write(chunk)
|
file.write(chunk)
|
||||||
except:
|
except:
|
||||||
self.logger.exception("Something's Wrong with the aiohttp in meme So try again")
|
self.logger.exception("Something's Wrong with the aiohttp in meme So try again")
|
||||||
return image_link, filename
|
return image_link
|
||||||
|
|
||||||
try:
|
@commands.command(
|
||||||
topic = ctx.message.content.split(" ", maxsplit=1)[1]
|
description="Meme",
|
||||||
|
help="Generates a meme based on input. Usage: !meme (topic)",
|
||||||
|
brief="Generate a meme"
|
||||||
|
)
|
||||||
|
async def meme(self, ctx, *topic):
|
||||||
|
self.logger.info(f"Meme command called by {ctx.author.name}")
|
||||||
|
if topic:
|
||||||
|
topic = ' '.join(topic)
|
||||||
|
else:
|
||||||
|
topic = await self.answer_question("What topic would you like to generate a meme for?")
|
||||||
await ctx.send(f'Generating {topic} meme')
|
await ctx.send(f'Generating {topic} meme')
|
||||||
link, filepath = await generate_random_meme(topic)
|
link = await self.generate_random_meme(topic)
|
||||||
await ctx.send(link)
|
await ctx.send(link)
|
||||||
except:
|
|
||||||
self.logger.exception("Error occurred in meme")
|
|
||||||
await ctx.send('Something went wrong try again. Usage: !meme (topic)')
|
|
||||||
|
|
||||||
async def setup(bot):
|
async def setup(bot):
|
||||||
await bot.add_cog(Meme(bot))
|
await bot.add_cog(Meme(bot))
|
||||||
Loading…
Add table
Add a link
Reference in a new issue