Type Alias GuildFishingCustomization

GuildFishingCustomization: {
    customCatchMessage: string | null;
    customRarityNames: Record<string, string> | null;
    customRarityTable: Record<string, number> | null;
    customSpeciesNames: Record<string, string> | null;
    listing: {
        linkedAt: string | null;
        site: string;
    } | null;
    shopItems: GuildFishingShopItem[];
    webhookAvatarUrl: string | null;
    webhookEnabled: boolean;
    webhookUsername: string | null;
    weighting: GuildFishingWeighting[];
}

Type declaration

  • customCatchMessage: string | null
  • customRarityNames: Record<string, string> | null
  • customRarityTable: Record<string, number> | null
  • customSpeciesNames: Record<string, string> | null
  • listing: {
        linkedAt: string | null;
        site: string;
    } | null

    The server-listing link, or null when none is set.

    Present so the page can be truthful on LOAD. Without it the only listing state available was whatever came back from the click that linked one, held in component state — so a refresh rendered a linked server as unlinked and offered Unlink unconditionally.

    The SECRET is deliberately absent and will stay that way. It signs the top.gg vote webhook, so re-serving it on every page load would put a forever-valid credential into every response, cache and devtools session that ever opens the tab. Reissue via linkListing, which rotates the secret rather than exposing the old one.

    linkedAt is an ISO string rather than a Date, because it crosses the wire as JSON. It is null for guilds linked before that timestamp existed: linked-date-unknown, not an invented date.

  • shopItems: GuildFishingShopItem[]
  • webhookAvatarUrl: string | null
  • webhookEnabled: boolean
  • webhookUsername: string | null
  • weighting: GuildFishingWeighting[]

    Shown to members — reweighting changes the game people are playing, so it is not invisible.