From 65325f8b5d8cf7e355d79504a140169211ad6bda Mon Sep 17 00:00:00 2001 From: Mylloon Date: Mon, 31 May 2021 23:17:21 +0200 Subject: [PATCH] ajout help slash command + cog desc in regular help --- src/cogs/help.py | 36 ++++++++++++++++++++++++------------ 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/src/cogs/help.py b/src/cogs/help.py index cfbd76c..c5b801a 100644 --- a/src/cogs/help.py +++ b/src/cogs/help.py @@ -1,5 +1,6 @@ import discord from discord.ext import commands +from discord_slash import cog_ext def setup(client): client.add_cog(Help(client)) @@ -14,9 +15,14 @@ class Help(commands.Cog): @commands.command(name='help') async def _help(self, ctx, *cog): """Affiche toutes les commandes du bot.\n ➡ Syntaxe: {PREFIX}help [catégorie]⁢⁢⁢⁢⁢⁢⁢⁢⁢⁢""" - if not cog: - """Liste des Cog""" - halp=discord.Embed(title = 'Liste des catégories et commandes sans catégorie', + fromSlash = False + if len(cog) > 0: + if cog[-1] == True: + fromSlash = cog[-1] + cog = cog[:-1] + + if not cog: # Liste des Cog + halp = discord.Embed(title = 'Liste des catégories et commandes sans catégorie', description = f'Utilisez `{ctx.prefix}help [catégorie]` pour en savoir plus sur elles et leur commande.', color = discord.Colour.random()) for name_cog in self.client.cogs: @@ -27,7 +33,7 @@ class Help(commands.Cog): liste_cmds += f", `{ctx.prefix}{cmds.name}`" nb_cmds += 1 if name_cog != "Help" and nb_cmds > 0: - halp.add_field(name = f'**{name_cog} — {nb_cmds}**', value = liste_cmds[2:], inline = False) + halp.add_field(name = f'**{name_cog} ({nb_cmds}) — {self.client.cogs[name_cog].__doc__}**', value = liste_cmds[2:], inline = False) cmds_desc = '' for y in self.client.walk_commands(): if not y.cog_name and not y.hidden: @@ -35,15 +41,14 @@ class Help(commands.Cog): if len(cmds_desc) > 1: halp.add_field(name = 'Commandes sans catégorie', value = cmds_desc[0:len(cmds_desc)-1], inline = False) - await ctx.message.add_reaction(emoji = '✅') + if fromSlash != True: + await ctx.message.add_reaction(emoji = '✅') await ctx.send(embed = halp) - else: - """Avertissement si il y a trop d'arguments dans la variable cog""" + else: # Avertissement si il y a trop d'arguments dans la variable cog if len(cog) > 1: halp = discord.Embed(title = 'Erreur !', description = "Tu as renseigné trop d'arguments !", color = 0xC41B1B) await ctx.send(embed = halp) - else: - """Liste des commandes avec cogs.""" + else: # Liste des commandes avec cogs. cog = [item.capitalize() for item in cog] found = False for x in self.client.cogs: @@ -57,10 +62,17 @@ class Help(commands.Cog): backslash = '\n' halp.add_field(name = f"`{ctx.prefix}{c.name}` - {str(c.help).split(backslash)[0]}", value = f"{''.join(cmds_help)}\u200b", inline = False) found = True - if not found: - """Rappel si le cog n'existe pas.""" + if not found: # Rappel si le cog n'existe pas. await ctx.message.add_reaction(emoji = '❌') halp = discord.Embed(title = 'Erreur !', description = f"Qu'est ce que {cog[0]} ?", color = 0xC41B1B) else: - await ctx.message.add_reaction(emoji = '✅') + if fromSlash != True: + await ctx.message.add_reaction(emoji = '✅') await ctx.send('', embed = halp) + @cog_ext.cog_slash(name="help", description = "Envois un meme de reddit.") + async def __help(self, ctx, cog = None): + ctx.prefix = "/" + if cog == None: + return await self._help(ctx, True) + else: + return await self._help(ctx, cog, True)