You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Enso-Bot/cogs/help/test.py

61 lines
2.9 KiB
Python

import discord
from discord.ext import commands
# Set up the cog
class testinghelp(commands.Cog):
def __init__(self, bot):
self.bot = bot
@commands.command(name="help2")
@commands.has_permissions(add_reactions=True, embed_links=True)
async def help(self, ctx, *cog):
"""Gets all cogs and commands of mine."""
try:
if not cog:
"""Cog listing. What more?"""
halp = discord.Embed(title='Cog Listing and Uncatergorized Commands',
description='Use `~help *cog*` to find out more about them!\n(BTW, the Cog Name Must Be in Title Case, Just Like this Sentence.)')
cogs_desc = ''
for x in self.bot.cogs:
cogs_desc += ('{} - {}'.format(x, self.bot.cogs[x].__doc__) + '\n')
halp.add_field(name='Cogs', value=cogs_desc[0:len(cogs_desc) - 1], inline=False)
cmds_desc = ''
for y in self.bot.walk_commands():
if not y.cog_name and not y.hidden:
cmds_desc += ('{} - {}'.format(y.name, y.help) + '\n')
halp.add_field(name='Uncatergorized Commands', value=cmds_desc[0:len(cmds_desc) - 1], inline=False)
await ctx.message.add_reaction(emoji='')
await ctx.message.author.send('', embed=halp)
else:
"""Helps me remind you if you pass too many args."""
if len(cog) > 1:
halp = discord.Embed(title='Error!', description='That is way too many cogs!',
color=discord.Color.red())
await ctx.message.author.send('', embed=halp)
else:
"""Command listing within a cog."""
found = False
for x in self.bot.cogs:
for y in cog:
if x == y:
halp = discord.Embed(title=cog[0] + ' Command Listing',
description=self.bot.cogs[cog[0]].__doc__)
for c in self.bot.get_cog(y).get_commands():
if not c.hidden:
halp.add_field(name=c.name, value=c.help, inline=False)
found = True
if not found:
"""Reminds you if that cog doesn't exist."""
halp = discord.Embed(title='Error!', description='How do you even use "' + cog[0] + '"?',
color=discord.Color.red())
else:
await ctx.message.add_reaction(emoji='')
await ctx.message.author.send('', embed=halp)
except:
await ctx.send("Excuse me, I can't send embeds.")
def setup(bot):
bot.add_cog(testinghelp(bot))