UNPKG

discord-notify

Version:

A Discord API-compliant notification service for Node.js applications with file attachments, thread support, and rich embeds

96 lines 2.33 kB
export interface DiscordNotifier { send(args: string | SendArgs): Promise<void>; } export interface DiscordNotify extends DiscordNotifier { extend(args: string | SendArgs): DiscordNotifier; success(args: string | SendArgs): Promise<void>; error(args: string | SendArgs): Promise<void>; alert(args: string | SendArgs): Promise<void>; info(args: string | SendArgs): Promise<void>; sendFile(args: string | SendArgs, file: FileAttachment): Promise<void>; sendToThread(args: string | SendArgs, threadId: string): Promise<void>; } export interface SendArgs { content?: string; text?: string; title?: string; description?: string; color?: number; fields?: DiscordField[]; timestamp?: string; footer?: { text: string; icon_url?: string; }; thumbnail?: { url: string; }; image?: { url: string; }; author?: { name: string; url?: string; icon_url?: string; }; url?: string; } export interface DiscordField { name: string; value: string; inline?: boolean; } export interface DiscordEmbed { title?: string; description?: string; color?: number; fields?: DiscordField[]; timestamp?: string; footer?: { text: string; icon_url?: string; }; thumbnail?: { url: string; }; image?: { url: string; }; author?: { name: string; url?: string; icon_url?: string; }; url?: string; } export interface FileAttachment { name: string; data: Uint8Array | string; contentType?: string; } export interface DiscordWebhookPayload { content?: string; username?: string; avatar_url?: string; embeds?: DiscordEmbed[]; thread_id?: string; files?: FileAttachment[]; } export interface DiscordNotifyConfig { webhookUrl: string; appName?: string; environment?: string; username?: string; avatarUrl?: string; threadId?: string; } export interface DiscordWebhookResponse { success: boolean; status?: number; statusText?: string; error?: string; messageId?: string; } declare function DiscordNotifyFactory(config: DiscordNotifyConfig): DiscordNotify; export default DiscordNotifyFactory; //# sourceMappingURL=index.d.ts.map