File size: 6,831 Bytes
732ca45
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
# 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 <code>`", "Inspect ANY character card globally by its code to see stats and ownership."),
            ("`/sufavourite <code>`", "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 <code> [levels]`", "Spend Coins and Dust to level up a character (Max Lvl 100)."),
            ("`/sufuse <target_code> <sacrifice_code>`", "Sacrifice an exact duplicate to unlock Constellations (Max C6 Awakened!)."),
            ("`/suscrap <code>`", "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 <slot> <code>`", "Assign a character to Slot 1, 2, or 3."),
            ("`/suhunt <target>`", "Attack a player on the Global Hit List to steal their Coins and Dust!"),
            ("`/suduel <target>`", "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 <code> <duration>`", "Send a character away for 4, 8, 12, or 24 hours."),
            ("`/suexp claim <code>`", "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 <code> <price> <currency>`", "Put one of your characters up for sale (10% Black Market Tax applies!)."),
            ("`/sumarket buy <listing_id>`", "Purchase a character directly from the market."),
            ("`/sutrade <user> <my_code> <their_code>`", "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 <slot> <code>`", "Equip a card to slots 1-8 on your visual profile."),
            ("`/sutitle list` & `/sutitle equip`", "View and equip your unlocked achievements."),
            ("`/suleaderboard <category>`", "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))