FishingPlayerInspect: {
    global: FishingPlayerGlobal | null;
    inventory: FishingInventoryStack[] | null;
    member: FishingPlayerMember | null;
    progress?: FishingPlayerProgress | null;
    recentLedger: FishingLedgerEntry[];
    resetScopes?: {
        requiresGuildId: boolean;
        requiresUserId: boolean;
        scope: FishingResetScope;
    }[];
}

Type declaration

  • global: FishingPlayerGlobal | null
  • inventory: FishingInventoryStack[] | null
  • member: FishingPlayerMember | null

    null unless a guildId was supplied.

  • Optionalprogress?: FishingPlayerProgress | null

    The per-guild level, which is the one that governs play - global.level/global.xp are the pre-split lifetime figures kept for history. Null unless a guildId was supplied.

    The server has returned this since the per-guild split; it was missing here, so the dashboard could not see the only level that matters.

    Optional like resetScopes below, and for the same reason: it is a field added to an existing response, so a consumer built against the older shape must still compile.

  • recentLedger: FishingLedgerEntry[]
  • OptionalresetScopes?: {
        requiresGuildId: boolean;
        requiresUserId: boolean;
        scope: FishingResetScope;
    }[]

    The reset scopes, same shape as on the guild inspect. Filter to the ones this page can satisfy - requiresGuildId entries need a guild picked as well as the user.

    Absent on APIs predating it.