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
TypeScript
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