PublicGiveawayCard: {
    bonusRoles: {
        additionalEntries: number;
        roles: PublicGiveawayRole[];
        stacks: boolean;
    }[];
    canJoin: boolean;
    claimWindowMinutes: number | null;
    doubleVoteEntry: boolean;
    emoji: string | null;
    endsAt: string;
    entryCount: number;
    entryFilter: {
        mode: "whitelist" | "blacklist";
        roles: PublicGiveawayRole[];
    } | null;
    giveawayId: string;
    guild: {
        icon: string | null;
        id: string;
        memberCount: number;
        name: string;
    };
    maxEntries: number | null;
    messageUrl: string;
    name: string;
    requirements: {
        accountCreatedBefore: string | null;
        boostingServer: boolean;
        joinedServerBefore: string | null;
        messageCount: number | null;
        minAccountAgeDays: number | null;
        roles: PublicGiveawayRole[];
    } | null;
    winnerCount: number;
}

One giveaway as the public page shows it. Mirrors PublicGiveawayCard in Noti-v3.

Type declaration

  • bonusRoles: {
        additionalEntries: number;
        roles: PublicGiveawayRole[];
        stacks: boolean;
    }[]

    stacks: false = only the member's highest bonus role counts.

  • canJoin: boolean

    The server lets people join from noti.bot - offer getPublicGiveawayJoinLink.

  • claimWindowMinutes: number | null

    Minutes winners have to press Claim; null when the giveaway does not need claiming.

  • doubleVoteEntry: boolean

    Voting for Noti counts as a second entry.

  • emoji: string | null
  • endsAt: string

    ISO.

  • entryCount: number
  • entryFilter: {
        mode: "whitelist" | "blacklist";
        roles: PublicGiveawayRole[];
    } | null
  • giveawayId: string
  • guild: {
        icon: string | null;
        id: string;
        memberCount: number;
        name: string;
    }
    • icon: string | null
    • id: string
    • memberCount: number
    • name: string
  • maxEntries: number | null
  • messageUrl: string

    The giveaway message in Discord.

  • name: string
  • requirements: {
        accountCreatedBefore: string | null;
        boostingServer: boolean;
        joinedServerBefore: string | null;
        messageCount: number | null;
        minAccountAgeDays: number | null;
        roles: PublicGiveawayRole[];
    } | null
  • winnerCount: number