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

    Interface VoucherManager

    interface VoucherManager {
        size: number;
        create(
            options?: {
                expiresInMs?: number;
                maxUses?: number;
                note?: string;
                payload?: Record<string, unknown>;
            },
        ): { code: string; expiresAt: number };
        createMany(
            count: number,
            options?: {
                expiresInMs?: number;
                maxUses?: number;
                note?: string;
                payload?: Record<string, unknown>;
            },
        ): string[];
        getInfo(
            code: string,
        ):
            | {
                code: string;
                expired: boolean;
                expiresAt: number;
                maxUses: number;
                note?: string;
                revoked: boolean;
                usesLeft: number;
            }
            | null;
        load(snapshot: Record<string, unknown>): void;
        onRedeem(
            cb: (
                info: {
                    code: string;
                    payload: Record<string, unknown>;
                    user: string;
                    usesLeft: number;
                },
            ) => void,
        ): () => void;
        prune(): number;
        redeem(user: string, code: string): RedeemResult;
        revoke(code: string): boolean;
        toJSON(): Record<string, unknown>;
    }
    Index
    size: number
    • Parameters

      • Optionaloptions: {
            expiresInMs?: number;
            maxUses?: number;
            note?: string;
            payload?: Record<string, unknown>;
        }

      Returns { code: string; expiresAt: number }

    • Mint N codes with the same payload.

      Parameters

      • count: number
      • Optionaloptions: {
            expiresInMs?: number;
            maxUses?: number;
            note?: string;
            payload?: Record<string, unknown>;
        }

      Returns string[]

    • Public info — never exposes the redeemer list.

      Parameters

      • code: string

      Returns
          | {
              code: string;
              expired: boolean;
              expiresAt: number;
              maxUses: number;
              note?: string;
              revoked: boolean;
              usesLeft: number;
          }
          | null

    • Parameters

      • snapshot: Record<string, unknown>

      Returns void

    • Parameters

      • cb: (
            info: {
                code: string;
                payload: Record<string, unknown>;
                user: string;
                usesLeft: number;
            },
        ) => void

      Returns () => void