Files
MineGeo/shared/discord.ts

36 lines
947 B
TypeScript

export type DiscordKind = "map" | "party";
export type DiscordAnnouncement = {
id: string;
kind: DiscordKind;
target_id: string;
state: "pending" | "sending" | "sent" | "skipped" | "failed";
attempts: number;
next_attempt_at: string;
lease_owner: string | null;
lease_until: string | null;
channel_id: string | null;
message_id: string | null;
last_error: string | null;
created_at: string;
sent_at: string | null;
closed_at?: string | null;
delete_after?: string | null;
deleted_at?: string | null;
cleanup_run_id?: string | null;
cleanup_lease_until?: string | null;
cleanup_error?: string | null;
};
export type PartyAnnouncement = {
available: boolean;
state: DiscordAnnouncement["state"] | null;
};
export type DiscordStatus = {
botConfigured: boolean;
publicUrlConfigured: boolean;
mapsConfigured: boolean;
partiesConfigured: boolean;
pending: number;
failed: number;
sent: number;
};