# cogs/help.py import discord from discord import app_commands from discord.ext import commands # Define the categories and their fully updated Sueni commands HELP_DATA = { "Getting Started & Economy": { "description": "Welcome to sueni.bot! Here is your core daily loop to build your wealth.", "commands": [ ("`susp`", "Type this directly in chat (no slash) to drop a random character! (8m cooldown)"), ("`/sudaily`", "Claim your free 100 Coins every 24 hours."), ("`/subalance`", "Check your current Coins and Hero Dust."), ("`/sushop view`", "Browse the Void Shop to buy Time Winders and Dust Caches."), ("`/sumail`", "📬 Check your inbox for system messages, auction payouts, and free rewards!") ] }, "Inventory & Wishlist": { "description": "Manage your growing collection using unique alphanumeric codes.", "commands": [ ("`/suinventory [series]`", "Page through your character collection. Use the dropdown to inspect cards!"), ("`/suinfo `", "Inspect ANY character card globally by its code to see stats and ownership."), ("`/sufavourite `", "Add a card you see on the market to your personal Wishlist."), ("`/suwishlist`", "View all your favourited cards.") ] }, "Progression & Crafting": { "description": "Turn your duplicate and unwanted cards into raw power.", "commands": [ ("`/suascend [levels]`", "Spend Coins and Dust to level up a character (Max Lvl 100)."), ("`/sufuse `", "Sacrifice an exact duplicate to unlock Constellations (Max C6 Awakened!)."), ("`/suscrap `", "Destroy an unwanted card to receive Coins or Dust (Yield depends on C/R/SR/SSR/UR)."), ("`/suforge`", "Spend 500 Hero Dust to guarantee a random SSR or UR drop!") ] }, "Vanguard & Combat": { "description": "Build your ultimate team to activate Elemental/Rarity Synergies and fight players.", "commands": [ ("`/suteam view`", "View your active 3-character Vanguard, Total Power, and Elemental Synergies."), ("`/suteam equip `", "Assign a character to Slot 1, 2, or 3."), ("`/suhunt `", "Attack a player on the Global Hit List to steal their Coins and Dust!"), ("`/suduel `", "Challenge another player to a high-stakes PvP battle, wagering Coins, Dust, or Cards.") ] }, "Expeditions (Idle)": { "description": "Send your characters out into the world to gather passive income.", "commands": [ ("`/suexp start `", "Send a character away for 4, 8, 12, or 24 hours."), ("`/suexp claim `", "Welcome your character back and collect their Coins and Dust."), ("`/suexp list`", "View the countdown timers for all your active expeditions.") ] }, "Market & Trading": { "description": "The player-driven global economy. Buy, sell, and trade characters!", "commands": [ ("`/sumarket view`", "Browse the paginated global marketplace for characters."), ("`/sumarket list `", "Put one of your characters up for sale (10% Black Market Tax applies!)."), ("`/sumarket buy `", "Purchase a character directly from the market."), ("`/sutrade `", "Propose a direct 1-for-1 character swap with another player.") ] }, "Profile & Leaderboards": { "description": "Flex your wealth, titles, and rarest pulls with gorgeous UI.", "commands": [ ("`/suprofile [user]`", "View your dynamic visual profile and 8-card cosmetic grid."), ("`/sudisplay set `", "Equip a card to slots 1-8 on your visual profile."), ("`/sutitle list` & `/sutitle equip`", "View and equip your unlocked achievements."), ("`/suleaderboard `", "Check the Top Wealth, Dust, Collectors, Grinders, or Pity rankings.") ] } } class HelpDropdown(discord.ui.Select): def __init__(self): options = [ discord.SelectOption(label="Getting Started & Economy", description="The basics, drops, and daily loop", emoji="🔰"), discord.SelectOption(label="Inventory & Wishlist", description="Inspect and manage your collection", emoji="🎒"), discord.SelectOption(label="Progression & Crafting", description="Ascension, Constellations, and Forging", emoji="⚒️"), discord.SelectOption(label="Vanguard & Combat", description="Synergies, Bounties, and PvP Duels", emoji="⚔️"), discord.SelectOption(label="Expeditions (Idle)", description="Passive resource gathering", emoji="🏕️"), discord.SelectOption(label="Market & Trading", description="Player-driven global economy", emoji="🏪"), discord.SelectOption(label="Profile & Leaderboards", description="Visual grids, titles, and rankings", emoji="🏆") ] super().__init__(placeholder="Choose a category to explore...", min_values=1, max_values=1, options=options) async def callback(self, interaction: discord.Interaction): category = self.values[0] data = HELP_DATA[category] embed = discord.Embed( title=f"{category} Guide", description=f"*{data['description']}*", color=discord.Color.blue() ) for cmd, desc in data["commands"]: embed.add_field(name=cmd, value=desc, inline=False) embed.set_footer(text="Sueni Bot Framework | Use the dropdown menu to navigate") await interaction.response.edit_message(embed=embed) class HelpView(discord.ui.View): def __init__(self): super().__init__(timeout=180) self.add_item(HelpDropdown()) class HelpCog(commands.Cog): def __init__(self, bot): self.bot = bot @app_commands.command(name="suhelp", description="View the interactive guide on how to play the game") async def help_command(self, interaction: discord.Interaction): embed = discord.Embed( title="📚 Sueni Bot Guide", description="Welcome to sueni.bot! Use the dropdown menu below to learn about the different systems, commands, and how to build the ultimate Vanguard team.", color=discord.Color.blurple() ) embed.set_thumbnail(url=self.bot.user.display_avatar.url) view = HelpView() await interaction.response.send_message(embed=embed, view=view) async def setup(bot): await bot.add_cog(HelpCog(bot))