from discord.ext import commands class Help(commands.Cog): """Команда !hp — список всех команд бота""" @commands.command(name="hp", hidden=True) async def hp(self, ctx: commands.Context) -> None: """Показать список доступных команд""" await self._show_help(ctx) async def _show_help(self, ctx: commands.Context): """Вывести список команд в простом текстовом формате.""" # Собираем команды автоматически из bot.commands # Используем cmd.help — discord.py берёт docstring из callback функции commands_list = [] for cmd in ctx.bot.commands: if cmd.hidden: continue name = cmd.name desc = cmd.help or "Без описания" if desc == "Без описания": continue commands_list.append(f"!{name} — {desc}") commands_list.sort() message = "Discord Bot — Доступные команды\n" message += "=" * 40 + "\n\n" message += "\n".join(commands_list) message += "\n\n" + "=" * 40 await ctx.send(message)