diff --git a/cogs/anime.py b/cogs/anime.py index fa3efca1..852554fb 100644 --- a/cogs/anime.py +++ b/cogs/anime.py @@ -14,8 +14,6 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -from typing import Optional - import aiohttp from decouple import config from discord import Embed @@ -166,7 +164,7 @@ class Anime(Cog): @group(name="waifu", invoke_without_command=True, case_insensitive=True) @bot_has_permissions(embed_links=True, add_reactions=True) - async def waifu(self, ctx, *, waifu2: Optional[str] = None): + async def waifu(self, ctx, *, name: str): """ Shows a Waifu (UNDER CONSTRUCTION) Waifu's are grabbed from mywaifulist.com @@ -175,48 +173,47 @@ class Anime(Cog): # Local Variable i to allow the index of the pages[] to be modified i = 0 - # When a waifu has been specified, retrieve waifu(s) matching the user input - if waifu2: - - waifus_dict = {} - url = "https://mywaifulist.moe/api/v1/search/" - data = {"term": waifu2, - 'content-type': "application/json"} - - # Searching API for waifu(s) - async with aiohttp.ClientSession() as session: - async with session.post(url, data=data, headers=self.headers) as resp: - # Store waifu's in dict when request is successful, else send an error - if resp.status == 200: - waifu_dict = await resp.json() - - # Send error if something went wrong internally/while grabbing data from API - else: - await self.bot.generate_embed(ctx, desc="**Something went wrong!**") - - # As long waifu's were returned from the GET request - # Store waifus in a dict - if len(waifu_dict["data"]) > 0: - for waifu in waifu_dict["data"]: - - # Only store "Waifu's" and "Husbando's" - if waifu["type"] in ["Waifu", "Husbando"]: - waifus_dict[waifu["name"]] = {} - for value in waifu: - store_waifus(waifus_dict, waifu, value) - else: - break - - # When no waifu has been retrieved, send error message to the user - else: - await self.bot.generate_embed(ctx, desc="**Waifu Not Found!**") - - # Get the instance of the bot - bot = ctx.guild.get_member(self.bot.user.id) - - # Send the menu to the display - menu = HelpMenu(i, waifus_dict, self.bot, bot) - await menu.start(ctx) + waifus_dict = {} + url = "https://mywaifulist.moe/api/v1/search/" + data = {"term": name, + 'content-type': "application/json"} + + # Searching API for waifu(s) + async with aiohttp.ClientSession() as session: + async with session.post(url, data=data, headers=self.headers) as resp: + # Store waifu's in dict when request is successful, else send an error + if resp.status == 200: + waifu_dict = await resp.json() + + # Send error if something went wrong internally/while grabbing data from API + else: + await self.bot.generate_embed(ctx, desc="**Something went wrong!**") + + # As long waifu's were returned from the GET request + # Store waifus in a dict + if len(waifu_dict["data"]) > 0: + for waifu in waifu_dict["data"]: + + # Only store "Waifu's" and "Husbando's" + if waifu["type"] in ["Waifu", "Husbando"]: + waifus_dict[waifu["name"]] = {} + for value in waifu: + store_waifus(waifus_dict, waifu, value) + + else: + break + + # When no waifu has been retrieved, send error message to the user + else: + + await self.bot.generate_embed(ctx, desc="**Waifu Not Found!**") + + # Get the instance of the bot + bot = ctx.guild.get_member(self.bot.user.id) + + # Send the menu to the display + menu = HelpMenu(i, waifus_dict, self.bot, bot) + await menu.start(ctx) @waifu.command(name="daily") async def daily_waifu(self, ctx):