import discord from discord.ext import commands class Help(commands.Cog): """Команда !hp — список всех команд бота""" @commands.command(name="hp") async def hp(self, ctx): """Показать список доступных команд""" await self._show_help(ctx) async def _show_help(self, ctx: commands.Context): """Вывести список команд в формате Embed.""" embed = discord.Embed( title="Discord Bot Help", description="Доступные команды бота для Магнитогорска", colour=discord.Color.blue(), timestamp=ctx.message.timestamp, ) # Список команд с описанием commands_list = [ ("!pg", "Прогноз погоды в Магнитогорске"), ("!nw", "Топ-5 статей и топ-5 новостей AI с Habr"), ("!morning", "Утренний дайджест: погода + новости + котик"), ("!cat", "Случайный котик"), ("!msg <текст>", "Повторить текст в чате"), ] # Формирование текстового блока команд value_lines = ["**Доступные команды:**"] for cmd_name, description in commands_list: value_lines.append(f"• `{cmd_name}` — {description}") full_text = "\n".join(value_lines) # Проверка длины текста (макс 1024 символа для поля embed) if len(full_text) > 1024: full_text = full_text[:1021] + "..." embed.add_field( name="Описание", value=full_text, inline=False, ) await ctx.send(embed=embed)