Get started with Peachy now 🍑
PEACHYPEACHY
Bank

Balance

The `balance` command displays comprehensive financial information including wallet, bank, and total balance with formatted number display.

Command Details

  • Name: balance
  • Aliases: bal, money, coins
  • Category: Bank
  • Description: Check your current bank balance and wallet amount
  • Usage: P balance [@user], p balance [@user], or /balance [@user]
  • Examples:
    • P balance
    • p bal @JohnDoe
    • /balance @user
  • Cooldown: 3 seconds
  • Arguments: user (optional) - The user whose balance you want to check
  • Slash Command: Enabled
  • Permissions:
    • Bot: SendMessages, ViewChannel, EmbedLinks
    • User: None
  • Player Requirements: None (no voice, DJ, or active player required)

Functionality

  • Comprehensive Balance Display: Shows wallet, bank, and total balance in formatted, easy-to-read layout.
  • Multi-User Support: Check your own balance or view other users' financial information.
  • Formatted Number Display: Uses client.utils.formatNumber() for readable large number formatting.
  • Wallet vs Bank Separation: Clearly distinguishes between cash on hand and banked money.
  • Total Calculation: Automatically calculates and displays combined wallet and bank totals.
  • User Profile Integration: Retrieves balance data from user database profiles.
  • Privacy Considerations: May include privacy settings for balance visibility to other users.
  • Real-Time Data: Displays current, up-to-date balance information from the database.
  • Embed Formatting: Creates visually appealing embeds with coin emojis and financial styling.
  • Error Handling: Provides appropriate messages for users not found or database errors.
  • Self vs Others: Different messaging for checking your own balance versus viewing others'.
  • Database Integration: Connects to user economy database for accurate balance retrieval.

Code Overview

The command is built using a Command class structure and handles both message-based and interaction-based (slash command) inputs. It uses:

  • client.utils.getUser() for retrieving user financial data from the economy database.
  • Optional user parameter handling for checking both self and other users' balances.
  • client.utils.formatNumber() for displaying large numbers in readable formats (1,000 vs 1000).
  • client.embed() creation with financial styling, coin emojis, and balance breakdowns.
  • User validation to ensure target users exist and have registered economy profiles.
  • Error handling for database connection issues, missing users, or invalid balance data.
  • Privacy logic for determining balance visibility between different users.
  • Balance calculation combining wallet.coin and bank.coin values for total display.
  • Conditional messaging for self-balance checks versus checking other users' finances.
  • Integration with the bot's economy system for consistent financial data management.