From a3d51c79d825096769a29fe07c601dddaa534a36 Mon Sep 17 00:00:00 2001 From: sgoudham Date: Sat, 18 Jul 2020 02:18:32 +0100 Subject: [PATCH] Reformatting help command Still need to make method more efficient --- cogs/help/help.py | 291 +++++++++++++++++++++++----------------------- 1 file changed, 147 insertions(+), 144 deletions(-) diff --git a/cogs/help/help.py b/cogs/help/help.py index e77d9bd0..d4f73a01 100644 --- a/cogs/help/help.py +++ b/cogs/help/help.py @@ -4,18 +4,18 @@ from discord import Embed from discord.ext import commands, menus from discord.ext.commands import command -from settings import enso_embedmod_colours, hammyMention +from settings import enso_embedmod_colours -# Function to allow pages 1-4 of the help commands (Fun Commands) -def fun_function(self, guild_icon): - # Setting up the Embed for the Fun Commands - fun_commands = Embed(title="(っ◔◡◔)っ Fun (っ◔◡◔)っ", - colour=enso_embedmod_colours, - timestamp=datetime.datetime.utcnow()) +# Pages of the help embed +def help_menu(self, guild_icon): + # Setting up the embed for the Fun Commands + fun = Embed(title="(っ◔◡◔)っ Fun (っ◔◡◔)っ", + colour=enso_embedmod_colours, + timestamp=datetime.datetime.utcnow()) # Setting thumbnail and author - fun_commands.set_thumbnail(url=guild_icon) + fun.set_thumbnail(url=guild_icon) # Setting up the fields in a separate array fun_fields = [ @@ -23,25 +23,25 @@ def fun_function(self, guild_icon): "\nCompliment a person in the server", True), (f"**{self.ctx.prefix}8ball ``**", "\nAsk a question and 8ball will give a custom response", True), - (f"**{self.ctx.prefix}flip**", - "\nDoes a coinflip with Big PP Or Smol PP", True), - (f"**{self.ctx.prefix}doggo**", - "\nLook at images of Doggos", True), (f"**{self.ctx.prefix}homies ``**", - "\nGenerates Homies Meme with given text", True), + "\nGenerates homies meme with given text", True), (f"**{self.ctx.prefix}owo ``**", - "\nTranslates given text to 'owo' format", True)] + "\nTranslates given text to 'owo' format", True), + (f"**{self.ctx.prefix}flip**", + "\nDoes a coinflip with big pp Or smol pp", True), + (f"**{self.ctx.prefix}doggo**", + "\nLook at images of Doggos", True)] - # Setting up the Embed for the Fun Commands - fun_commands_2 = Embed(title="(っ◔◡◔)っ Interactive (っ◔◡◔)っ", - colour=enso_embedmod_colours, - timestamp=datetime.datetime.utcnow()) + # Setting up the embed for the Fun Commands + interactive = Embed(title="(っ◔◡◔)っ Interactive (っ◔◡◔)っ", + colour=enso_embedmod_colours, + timestamp=datetime.datetime.utcnow()) # Setting thumbnail and author - fun_commands_2.set_thumbnail(url=guild_icon) + interactive.set_thumbnail(url=guild_icon) # Setting up the fields in a separate array - fun_fields_2 = [ + interactive_fields = [ (f"**{self.ctx.prefix}hug ``**", "\nHug a User Within The Server", True), (f"**{self.ctx.prefix}cuddle ``**", @@ -53,16 +53,16 @@ def fun_function(self, guild_icon): (f"**{self.ctx.prefix}lemon ``**", "\nGive lemon to a User Within The Server", True)] - # Setting up the Embed for the Fun Commands - fun_commands_3 = Embed(title="(っ◔◡◔)っ Interactive 2 (っ◔◡◔)っ", - colour=enso_embedmod_colours, - timestamp=datetime.datetime.utcnow()) + # Setting up the embed for the Fun Commands + interactive_2 = Embed(title="(っ◔◡◔)っ Interactive 2 (っ◔◡◔)っ", + colour=enso_embedmod_colours, + timestamp=datetime.datetime.utcnow()) # Setting thumbnail and author - fun_commands_3.set_thumbnail(url=guild_icon) + interactive_2.set_thumbnail(url=guild_icon) # Setting up the fields in a separate array - fun_fields_3 = [ + interactive_fields_2 = [ (f"**{self.ctx.prefix}slap ``**", "\nSlap a User Within The Server", True), (f"**{self.ctx.prefix}kill ``**", @@ -70,104 +70,151 @@ def fun_function(self, guild_icon): (f"**{self.ctx.prefix}choke ``**", "\nChoke a User Within The Server", True)] - # Setting up the Embed for the Fun Commands - fun_commands_4 = Embed(title="(っ◔◡◔)っ Relationship (っ◔◡◔)っ", - colour=enso_embedmod_colours, - timestamp=datetime.datetime.utcnow()) + # Setting up the embed for Relationship commands + relationship = Embed(title="(っ◔◡◔)っ Relationship (っ◔◡◔)っ", + colour=enso_embedmod_colours, + timestamp=datetime.datetime.utcnow()) # Setting thumbnail and author - fun_commands_4.set_thumbnail(url=guild_icon) + relationship.set_thumbnail(url=guild_icon) # Setting up the fields in a separate array - fun_fields_4 = [ + relationship_fields = [ (f"**{self.ctx.prefix}marry ``**", "\nMarry a User Within The Server", True), (f"**{self.ctx.prefix}divorce ``**", "\nDivorce The Person You Are Married To", False), (f"**{self.ctx.prefix}minfo ``**", "\nDisplays information about the user's current marriage" + - f"Using {self.ctx.prefix}minfo by itself will retrieve your marriage information", True)] + f"\nUsing **{self.ctx.prefix}minfo** by itself will retrieve your marriage information", True)] - # Add the fun_commands fields to the embed - for name, value, inline in fun_fields: - fun_commands.add_field(name=name, value=value, inline=inline) - - # Add the fun_commands_2 fields to the embed - for name, value, inline in fun_fields_2: - fun_commands_2.add_field(name=name, value=value, inline=inline) - - # Add the fun_commands_3 fields to the embed - for name, value, inline in fun_fields_3: - fun_commands_3.add_field(name=name, value=value, inline=inline) + # Setting up the Embed for the Enso commands + enso = Embed(title="(っ◔◡◔)っ Enso (っ◔◡◔)っ", + colour=enso_embedmod_colours, + timestamp=datetime.datetime.utcnow()) - # Add the fun_commands_4 fields to the embed - for name, value, inline in fun_fields_4: - fun_commands_4.add_field(name=name, value=value, inline=inline) - - return fun_commands, fun_commands_2, fun_commands_3, fun_commands_4 + # Setting thumbnail and author + enso.set_thumbnail(url=guild_icon) + # Setting up the fields in a separate array + enso_fields = [ + (f"**{self.ctx.prefix}enso ``**", + "\nShows Specified Image of User" + + f"\n(Using **{self.ctx.prefix}enso** by itself shows random image of )", + True), + (f"**{self.ctx.prefix}enso `list`**", + "\nReturns all Users", False), + (f"**{self.ctx.prefix}rules**", + "\nFull ruleset for Enso", True), + (f"**{self.ctx.prefix}roles**", + "\nLeveling and xp system in Enso", True), + ] -# Function to allow the second page of the help commands (Waifu/Husbandos) -def waifu_husbando_function(self, guild_icon): - # Setting up the Embed for the Waifu/Husbandos - waifu_husbando_commands = Embed(title="(っ◔◡◔)っ Waifus/Husbando Commands (っ◔◡◔)っ", - colour=enso_embedmod_colours, - timestamp=datetime.datetime.utcnow()) + # Setting up the embed for the Waifu/Husbandos + waifu_and_husbando = Embed(title="(っ◔◡◔)っ Waifu/Husbando Commands (っ◔◡◔)っ", + colour=enso_embedmod_colours, + timestamp=datetime.datetime.utcnow()) # Setting thumbnail and author - waifu_husbando_commands.set_thumbnail(url=guild_icon) + waifu_and_husbando.set_thumbnail(url=guild_icon) # Setting up the fields in a separate array - waifu_husbando_fields = [ - (f"**{self.ctx.prefix}w `list`**", - "\nReturns all Waifus", True), - (f"**{self.ctx.prefix}h `list`**", - "\nReturns all Husbandos", True), + waifu_and_husbando_fields = [ (f"**{self.ctx.prefix}w ``**", "\nShows Specified Image of Waifu" + - f"\n(Using **{self.ctx.prefix}w shows random image of Waifu)", True), + f"\n(Using **{self.ctx.prefix}w** shows random image of Waifu)", True), (f"**{self.ctx.prefix}h ``**", "\nShows Specified Image of Husbando" + - f"\n(Using **{self.ctx.prefix}h shows random image of Husbando", True)] + f"\n(Using **{self.ctx.prefix}h** shows random image of Husbando)", False), + (f"**{self.ctx.prefix}w `list`**", + "\nReturns all Waifus", True), + (f"**{self.ctx.prefix}h `list`**", + "\nReturns all Husbandos", True)] - # Add the waifu_husbando_commands fields to the embed - for name, value, inline in waifu_husbando_fields: - waifu_husbando_commands.add_field(name=name, value=value, inline=inline) + # Setting up the embed for the Important Commands + important = Embed(title="(っ◔◡◔)っ Important (っ◔◡◔)っ", + colour=enso_embedmod_colours, + timestamp=datetime.datetime.utcnow()) - return waifu_husbando_commands + # Setting thumbnail and author + important.set_thumbnail(url=guild_icon) + # Setting up the fields in a separate array + important_fields = [ + (f"**{self.ctx.prefix}userinfo**", + "\nReturns information about the user", True), + (f"**{self.ctx.prefix}serverinfo**", + "\nReturns information about the server", True), + (f"**{self.ctx.prefix}help**", + "\nSee every command in the bot", True)] -# Function to allow the fifth page of the help commands (~enso commands) -def _enso(self, guild_icon): - # Setting up the Embed for the ~Enso command - _enso_commands = Embed(title="(っ◔◡◔)っ Enso (っ◔◡◔)っ", - colour=enso_embedmod_colours, - timestamp=datetime.datetime.utcnow()) + # Setting up the embed for modmail + modmail = Embed(title="(っ◔◡◔)っ ModMail (っ◔◡◔)っ", + colour=enso_embedmod_colours, + timestamp=datetime.datetime.utcnow()) # Setting thumbnail and author - _enso_commands.set_thumbnail(url=guild_icon) + modmail.set_thumbnail(url=guild_icon) # Setting up the fields in a separate array - _enso_fields = [ - (f"**{self.ctx.prefix}rules**", - "\nFull ruleset for Enso", True), - (f"**{self.ctx.prefix}roles**", - "\nLeveling and xp system in Enso", True), - (f"**{self.ctx.prefix}enso ``**", - "\nShows Specified Image of User" + - f"\n(Using {self.ctx.prefix}enso by itself shall generate a random image of a person within all the server)", - True), - (f"**{self.ctx.prefix}enso `list`**", - "\nReturns all Users", True)] + modmail_fields = [(f"**{self.ctx.prefix}mmsetup setup modmail ``**", + "Sets up the modmail system in the guild," + "channelID given will be the channel that the user will interact with", False), + (f"**{self.ctx.prefix}mmsetup update modmail ``**", + "Updates the channel that the modmail will be sent to", False), + (f"**{self.ctx.prefix}mmsetup delete modmail**", + "Existing modmail system will be deleted", False)] + + """ fields = [fun_fields, interactive_fields, interactive_fields_2, + relationship_fields, enso_fields, waifu_and_husbando_fields, + important_fields, modmail_fields] + embeds = [fun, interactive, interactive_2, + relationship, enso, waifu_and_husbando, + important, modmail] + + for embed in embeds: + for field in fields: + # Add fields to the embed + for name, value, inline in field: + embed.add_field(name=name, value=value, inline=inline)""" + + # Add fields to the embed + for name, value, inline in fun_fields: + fun.add_field(name=name, value=value, inline=inline) + + # Add fields to the embed + for name, value, inline in interactive_fields: + interactive.add_field(name=name, value=value, inline=inline) + + # Add fields to the embed + for name, value, inline in interactive_fields_2: + interactive_2.add_field(name=name, value=value, inline=inline) + + # Add fields to the embed + for name, value, inline in relationship_fields: + relationship.add_field(name=name, value=value, inline=inline) + + # Add fields to the embed + for name, value, inline in enso_fields: + enso.add_field(name=name, value=value, inline=inline) - # Add the _enso_commands fields to the embed - for name, value, inline in _enso_fields: - _enso_commands.add_field(name=name, value=value, inline=inline) + # Add fields to the embed + for name, value, inline in waifu_and_husbando_fields: + waifu_and_husbando.add_field(name=name, value=value, inline=inline) - return _enso_commands + # Add fields to the embed + for name, value, inline in important_fields: + important.add_field(name=name, value=value, inline=inline) + + # Add fields to the embed + for name, value, inline in modmail_fields: + modmail.add_field(name=name, value=value, inline=inline) + + return fun, interactive, interactive_2, relationship, \ + enso, waifu_and_husbando, important, modmail -# Function to allow the third page of the help commands (Miscellaneous) +# Page 9 def misc_function(self, guild_icon): # Setting up the Embed for the Miscellaneous commands misc_commands = Embed(title="(っ◔◡◔)っ Misc (っ◔◡◔)っ", @@ -182,76 +229,32 @@ def misc_function(self, guild_icon): (f"**{self.ctx.prefix}ping**", "\nReturns latency in ms", True), (f"**{self.ctx.prefix}dm ``**", - f"\nFor {hammyMention} to DM Users" + + f"\nFor admins to DM Users" + "\n**(Perms: Co-Owner)**", True), (f"**{self.ctx.prefix}remindme `