FishingGuildInspect: {
    components: {
        componentId: string;
        quantity: number;
    }[];
    config: FishingGuildConfig | null;
    dock: FishingGuildDock | null;
    resetScopes?: {
        requiresGuildId: boolean;
        requiresUserId: boolean;
        scope: FishingResetScope;
    }[];
    topMembers: {
        coins: number | string;
        lastActiveAt: string;
        lifetimeCatches: number;
        userId: string;
    }[];
}

Type declaration

  • components: {
        componentId: string;
        quantity: number;
    }[]
  • config: FishingGuildConfig | null
  • dock: FishingGuildDock | null
  • OptionalresetScopes?: {
        requiresGuildId: boolean;
        requiresUserId: boolean;
        scope: FishingResetScope;
    }[]

    The scopes resetTarget will accept, and what each needs to identify its target.

    Served on both the guild inspect and the player inspect, because two of the four are user-scoped and two are guild-scoped - so the two pages offer different subsets. Filter by whichever id this page actually has rather than hard-coding the split, which drifts the day a scope is added.

    requiresUserId/requiresGuildId are the second half of the rule: resetTarget refuses a scope whose target is missing, and that used to be discoverable only by sending a request and reading the 400. Absent on APIs predating this - fall back to FishingResetScope and no requirements.

  • topMembers: {
        coins: number | string;
        lastActiveAt: string;
        lifetimeCatches: number;
        userId: string;
    }[]