async def cmd_help(self, server, author, command=None):
"""
Usage:
{command_prefix}help [command]
Prints a help message.
If a command is specified, it prints a help message for that command.
Otherwise, it lists the available commands.
"""
sprefix = await self.get_server_prefix(server)
if command:
cmd = getattr(self, 'cmd_' + command, None)
if cmd:
return Response(
"```\n{}```".format(
dedent(cmd.__doc__)
).format(command_prefix=sprefix),
delete_after=60
)
else:
return Response("No such command", delete_after=10)
else:
helpmsg = "here is a list of Commands: `"
commands = []
memes = []
music = []
serverowner = []
botowner = []
for att in dir(self):
if att.startswith('cmd_') and att != 'cmd_help':
command_name = att.replace('cmd_', '').lower()
if command_name in HiddenCmds:
continue
elif command_name in MemeCmds:
memes.append("{}{}".format(sprefix, command_name))
elif command_name in BotOwnerCmds:
botowner.append("{}{}".format(sprefix, command_name))
elif command_name in VoiceCmds:
music.append("{}{}".format(sprefix, command_name))
elif command_name in ServerOwnerCmds:
serverowner.append("{}{}".format(sprefix, command_name))
else:
commands.append("{}{}".format(sprefix, command_name))
helpmsg += ", ".join(commands)
helpmsg += "`"
helpmsg += "\n**Meme Generator:** `"
helpmsg += ", ".join(memes)
helpmsg += "`"
helpmsg += "\n**Music Commands:** `"
helpmsg += ", ".join(music)
helpmsg += "`"
if author.id == self.config.owner_id:
helpmsg += "\n**Serverowner-Commands:** `"
helpmsg += ", ".join(serverowner)
helpmsg += "`"
helpmsg += "\n**Botowner-Commands:** `"
helpmsg += ", ".join(botowner)
helpmsg += "`"
else:
if author.id == server.owner.id:
helpmsg += "\n**Serverowner-Commands:** `"
helpmsg += ", ".join(serverowner)
helpmsg += "`"
helpmsg += "\n You can also use `{}help [command]` for more info about each command.".format(sprefix)
return Response(helpmsg, reply=True, delete_after=60)
Comments
0 B
|👍
/👎