@japofc/baileys - v2.4.7
    Preparing search index...

    Interface Economy

    interface Economy {
        size: number;
        add(user: string, amount: number, reason?: string): number;
        applyInterest(rate: number): { totalAdded: number; users: number };
        bet(
            user: string,
            amount: number,
            options?: { multiplier?: number; winChance?: number },
        ): { balance: number; payout: number; won: boolean };
        claimDaily(user: string): DailyClaim;
        clear(): void;
        deduct(user: string, amount: number, reason?: string): number;
        deposit(user: string, amount: number): { balance: number; bank: number };
        format(amount: number): string;
        getBalance(user: string): number;
        getBalanceCard(user: string): string;
        getBankBalance(user: string): number;
        getEconomyStats(): {
            average: number;
            richest: string
            | null;
            totalBank: number;
            totalMoney: number;
            totalWallet: number;
            users: number;
        };
        getLeaderboard(
            limit?: number,
        ): {
            balance: number;
            bank: number;
            rank: number;
            total: number;
            user: string;
        }[];
        getRank(user: string): number | null;
        getStreak(user: string): number;
        has(user: string, amount: number): boolean;
        load(snapshot: Record<string, unknown>): void;
        onTransaction(cb: (tx: EconomyTransaction) => void): () => void;
        rob(
            robber: string,
            target: string,
            options?: {
                finePercent?: number;
                maxStealFraction?: number;
                successChance?: number;
            },
        ): {
            amount: number;
            robberBalance: number;
            success: boolean;
            targetBalance: number;
        };
        toJSON(): Record<string, unknown>;
        transfer(
            from: string,
            to: string,
            amount: number,
            reason?: string,
        ): { fee: number; sent: number };
        withdraw(user: string, amount: number): { balance: number; bank: number };
        work(
            user: string,
            options?: {
                cooldownMs?: number;
                jobs?: string[];
                pay?: number | [number, number];
            },
        ): | { balance: number; earned: number; job: string; worked: true }
        | { remainingMs: number; worked: false };
    }
    Index
    size: number
    • Parameters

      • user: string
      • amount: number
      • Optionalreason: string

      Returns number

    • Pay interest on all bank balances (0.01 = 1%).

      Parameters

      • rate: number

      Returns { totalAdded: number; users: number }

    • Parameters

      • user: string
      • amount: number
      • Optionaloptions: { multiplier?: number; winChance?: number }

      Returns { balance: number; payout: number; won: boolean }

    • Parameters

      • user: string
      • amount: number
      • Optionalreason: string

      Returns number

    • Parameters

      • user: string
      • amount: number

      Returns { balance: number; bank: number }

    • '1.234.567 💰' locale formatting.

      Parameters

      • amount: number

      Returns string

    • Ready-to-send balance card.

      Parameters

      • user: string

      Returns string

    • Whole-economy overview for dashboards.

      Returns {
          average: number;
          richest: string | null;
          totalBank: number;
          totalMoney: number;
          totalWallet: number;
          users: number;
      }

    • Parameters

      • Optionallimit: number

      Returns { balance: number; bank: number; rank: number; total: number; user: string }[]

    • Leaderboard position by wallet + bank, or null.

      Parameters

      • user: string

      Returns number | null

    • Parameters

      • user: string
      • amount: number

      Returns boolean

    • Parameters

      • snapshot: Record<string, unknown>

      Returns void

    • Rob a wallet (bank money is safe). Failure fines the robber.

      Parameters

      • robber: string
      • target: string
      • Optionaloptions: { finePercent?: number; maxStealFraction?: number; successChance?: number }

      Returns {
          amount: number;
          robberBalance: number;
          success: boolean;
          targetBalance: number;
      }

    • Parameters

      • from: string
      • to: string
      • amount: number
      • Optionalreason: string

      Returns { fee: number; sent: number }

    • Parameters

      • user: string
      • amount: number

      Returns { balance: number; bank: number }

    • Earn with a built-in per-user cooldown.

      Parameters

      • user: string
      • Optionaloptions: { cooldownMs?: number; jobs?: string[]; pay?: number | [number, number] }

      Returns
          | { balance: number; earned: number; job: string; worked: true }
          | { remainingMs: number; worked: false }