diff --git a/cogs/anime.py b/cogs/anime.py index 07e83948..78c19a2b 100644 --- a/cogs/anime.py +++ b/cogs/anime.py @@ -105,12 +105,11 @@ def search(self, bot): colour=bot.random_colour(), url=key["url"]) embed.set_image(url=url) + embed.set_author(name=key["type"]) if key["type"] in ["Waifu", "Husbando"]: - embed.set_author(name=key["type"]) embed.set_footer(text=f"❤️ {key['likes']} 🗑️ {key['trash']} | Powered by MyWaifuList") elif key["type"] in ["TV", "ONA", "OVA"]: - embed.set_author(name=key["type"]) if key['romaji_name']: embed.set_footer(text=f"{key['romaji_name']} | Powered by MyWaifuList") else: @@ -209,11 +208,15 @@ async def detailed_waifu_embed(self, waifu, author, ctx): # Only using image if it can be displayed, else display 404 image picture_url = picture if picture.endswith((".jpeg", ".png", ".jpg")) else not_found - - detailed = Embed(title=f"True Love | {name}", description=desc, - colour=self.bot.random_colour(), - url=url) - detailed.set_author(name=f"Internal True Love ID: {waifu_id}") + # Different titles depending on if author was given or not + title = f"True Love | {name}" if author else f"Detailed Waifu | {name}" + # Different author depending on if author was given or not + set_author = f"Internal True Love ID: {waifu_id}" if author else f"Internal Waifu ID: {waifu_id}" + + detailed = Embed(title=title, description=desc, + colour=self.bot.random_colour(), + url=url) + detailed.set_author(name=set_author) detailed.set_image(url=picture_url) detailed.set_footer(text=f"❤️ {likes} 🗑️ {trash} | Powered by MyWaifuList") @@ -224,8 +227,11 @@ async def detailed_waifu_embed(self, waifu, author, ctx): # Get the permissions of the channel perms = ctx.guild.me.permissions_in(ctx.message.channel) - menu = SimpleMenu(0, "MyWaifuList User Information", perms, [author, detailed], self) - await menu.start(ctx) + if author: + menu = SimpleMenu(0, "MyWaifuList User Information", perms, [author, detailed], self) + await menu.start(ctx) + else: + return detailed async def user_embed(self, user, ctx): @@ -252,8 +258,8 @@ async def user_embed(self, user, ctx): f"\n**Waifu's Liked:** {waifus_liked}" \ f"\n**Waifu's Trashed:** {waifus_trashed}" author = Embed(title=name, description=desc, - colour=self.bot.random_colour(), - url=profile_url) + colour=self.bot.random_colour(), + url=profile_url) author.add_field(name="Joined Date", value=joined_at, inline=False) author.set_thumbnail(url=avatar) author.set_footer(text=f"Internal User ID: {id} | Powered by MyWaifuList") @@ -430,7 +436,7 @@ class MWLMenu(menus.Menu): if self.check(self.ctx, payload): embed = Embed(description="**What Page Would You Like To Go To? (Only Numbers!)**", - colour=self.bot.admin_colour) + colour=self.bot.random_colour()) message = await self.ctx.send(embed=embed) def check(m): @@ -448,7 +454,7 @@ class MWLMenu(menus.Menu): await self.remove_reaction("\U0001f522") embed = Embed(description="**You Waited Too Long D:**", - colour=self.bot.admin_colour) + colour=self.bot.random_colour()) await message.edit(embed=embed) await asyncio.sleep(2.5) @@ -506,7 +512,7 @@ class MWLMenu(menus.Menu): messages.append(f"{value}, {func}") embed = Embed(description='\n'.join(messages), - colour=self.bot.admin_colour, + colour=self.bot.random_colour(), timestamp=datetime.datetime.utcnow()) embed.set_footer(text=f'We Were On Page {self.i + 1} Before This Message') @@ -521,7 +527,7 @@ class MWLMenu(menus.Menu): if self.check(self.ctx, payload): # Edit the embed and tell the member that the session has been closed embed = Embed(description="**Waifu/Anime Reaction Session Has Been Closed**", - colour=self.bot.admin_colour) + colour=self.bot.random_colour()) await self.message.edit(embed=embed) self.stop() @@ -632,6 +638,51 @@ class Anime(Cog): menu = MWLMenu(i, perms, anime_dict, self.bot) await menu.start(ctx) + @group(name="waifu", invoke_without_command=True, case_insensitive=True) + @bot_has_permissions(embed_links=True) + async def waifu(self, ctx): + """ + Waifu's that are retrieved from MyWaifuList + """ + + error = WaifuCommandNotFound(ctx.command, ctx) + await self.bot.generate_embed(ctx, desc=error.message) + + @waifu.command(name="daily") + @bot_has_permissions(embed_links=True) + async def daily_waifu(self, ctx): + """Returns the Daily Waifu from MyWaifuList""" + + waifu = await get_from_api(self, ctx, "meta/daily") + await ctx.send(embed=waifu_embed(self, waifu, "daily")) + + @waifu.command(name="random", aliases=["rnd"]) + @bot_has_permissions(embed_links=True) + async def random_waifu(self, ctx): + """Returning a Random Waifu from MyWaifuList""" + + waifu = await get_from_api(self, ctx, "meta/random") + await ctx.send(embed=waifu_embed(self, waifu, "random")) + + @command("detailedwaifu", aliases=["dwaifu"], usage="``") + @bot_has_permissions(embed_links=True) + async def detailed_waifu(self, ctx, term: int): + """Returns detailed information about a waifu (MWL ID ONLY)""" + + waifu = await get_from_api(self, ctx, f"waifu/{term}") + embed = await detailed_waifu_embed(self, waifu, None, ctx) + await ctx.send(embed=embed) + + @command(name="profile", aliases=["user"], usage="``") + @bot_has_permissions(embed_links=True) + async def mwl_user_profile(self, ctx, term: int): + """Returning the MWL User Profile requested""" + + user = await get_from_api(self, ctx, f"user/{term}") + embed, love = await user_embed(self, user, ctx) + if not love: + await ctx.send(embed=embed) + @command(name="search", aliases=["lookup"], usage="``") @bot_has_permissions(embed_links=True, add_reactions=True) async def search(self, ctx, *, term: str): @@ -682,42 +733,6 @@ class Anime(Cog): menu = MWLMenu(i, perms, anime_or_waifu, self.bot) await menu.start(ctx) - @group(name="waifu", invoke_without_command=True, case_insensitive=True) - @bot_has_permissions(embed_links=True) - async def waifu(self, ctx): - """ - Waifu's that are retrieved from MyWaifuList - """ - - error = WaifuCommandNotFound(ctx.command, ctx) - await self.bot.generate_embed(ctx, desc=error.message) - - @waifu.command(name="daily") - @bot_has_permissions(embed_links=True) - async def daily_waifu(self, ctx): - """Returns the Daily Waifu from MyWaifuList""" - - waifu = await get_from_api(self, ctx, "meta/daily") - await ctx.send(embed=waifu_embed(self, waifu, "daily")) - - @waifu.command(name="random", aliases=["rnd"]) - @bot_has_permissions(embed_links=True) - async def random_waifu(self, ctx): - """Returning a Random Waifu from MyWaifuList""" - - waifu = await get_from_api(self, ctx, "meta/random") - await ctx.send(embed=waifu_embed(self, waifu, "random")) - - @command(name="profile", aliases=["user"], usage="``") - @bot_has_permissions(embed_links=True) - async def mwl_user_profile(self, ctx, term: int): - """Returning the MWL User Profile requested""" - - user = await get_from_api(self, ctx, f"user/{term}") - embed, love = await user_embed(self, user, ctx) - if not love: - await ctx.send(embed=embed) - def setup(bot): bot.add_cog(Anime(bot))