Я знаю, что я новичок здесь, но у меня есть к вам вопрос:
Что если вы когда-нибудь захотите написать бота Discord на Python со специальными Cogs и заменить команду помощи по умолчанию на эту:
@commands.command(pass_context=True)
async def help(self,ctx,*cog:str):
"""Gives you info on my cogs *and* their commands."""
if not cog:
halp=discord.Embed(title='Cog Listing and Uncatergorized Commands',
description='Use `!help *cog*` to find out more about them!')
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])
else:
halp=discord.Embed(title='{cog} Command Listing')
for x in self.bot.cogs[cog]:
halp.add_field(name=x,value=x.__doc__)
await self.bot.whisper(embed=halp)
... и команда просто отлично отправляет информацию о винтиках вашего бота, но отказывается предоставить вам информацию о командах конкретного винтика и дает вам следующее:
Ignoring exception in command help
Traceback (most recent call last):
File "/home/pi/.local/lib/python3.5/site-packages/discord/ext/commands/core.py", line 50, in wrapped
ret = yield from coro(*args, **kwargs)
File "/home/pi/Documents/Coding/Python/AwesomeDiscordBot/cogs/info.py", line 49, in help
for x in self.bot.cogs[cog]:
KeyError: ('Info',)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/pi/.local/lib/python3.5/site-packages/discord/ext/commands/bot.py", line 846, in process_commands
yield from command.invoke(ctx)
File "/home/pi/.local/lib/python3.5/site-packages/discord/ext/commands/core.py", line 374, in invoke
yield from injected(*ctx.args, **ctx.kwargs)
File "/home/pi/.local/lib/python3.5/site-packages/discord/ext/commands/core.py", line 54, in wrapped
raise CommandInvokeError(e) from e
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: KeyError: ('Info',)
Как бы вы это исправили, чтобы вы могли использовать команду помощи своего бота Discord! Help для получения информации о cogs и их командах?
PS Я использую Python 3.5 на Raspberry Pi,и я хочу включить несобранные команды в основную справочную информацию.