export interface Environment { DISCORD_APPLICATION_ID: string; DISCORD_PUBLIC_KEY: string; DISCORD_TOKEN: string; } export interface DiscordInteraction { type: number; data: { name: string; options?: Array<{ name: string; value: string; }>; }; channel_id?: string; channel?: { nsfw: boolean; }; } export interface DiscordEmbed { title: string; description: string; url: string; color: number; author: { name: string; url: string; }; fields: Array<{ name: string; value: string; inline: boolean; }>; timestamp: string; footer: { text: string; }; image?: { url: string }; } export interface DiscordResponse { type: number; data?: { content?: string; embeds?: DiscordEmbed[]; flags?: number; }; } export interface DiscordCommand { name: string; description: string; options?: DiscordCommandOption[]; } export interface DiscordCommandOption { type: number; name: string; description: string; required?: boolean; choices?: DiscordCommandChoice[]; } export interface DiscordCommandChoice { name: string; value: string; }