gacha-bot2 / cogs /help.py
Amit
Clean Cloud Deployment
732ca45
Raw
History Blame Contribute Delete
6.83 kB
# 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))