UNPKG

@tycrek/discord-hookr

Version:

A lightweight and easy way to send webhooks to Discord, without the added baggage of a full API client.

125 lines (124 loc) 3.63 kB
/** * @see https://discord.com/developers/docs/resources/channel#embed-object-embed-image-structure * @see https://discord.com/developers/docs/resources/channel#embed-object-embed-video-structure * @see https://discord.com/developers/docs/resources/channel#embed-object-embed-thumbnail-structure */ export type MediaItem = { url: string; /** * Please note that as of 2022-12-23, Webhooks DO NOT support the proxy_url field. * @deprecated * @see https://discord.com/developers/docs/resources/webhook#execute-webhook-jsonform-params */ proxy_url?: string; /** * Please note that as of 2022-12-23, Webhooks DO NOT support the height field. * @deprecated * @see https://discord.com/developers/docs/resources/webhook#execute-webhook-jsonform-params */ height?: number; /** * Please note that as of 2022-12-23, Webhooks DO NOT support the width field. * @deprecated * @see https://discord.com/developers/docs/resources/webhook#execute-webhook-jsonform-params */ width?: number; }; /** * @see https://discord.com/developers/docs/resources/channel#embed-object-embed-field-structure */ export type Field = { name: string; value: string; inline?: boolean; }; /** * @see https://discord.com/developers/docs/resources/channel#embed-object-embed-footer-structure */ export type Footer = { text: string; icon_url?: string; proxy_icon_url?: string; }; /** * Please note that as of 2022-12-23, Webhooks DO NOT support the Provider field. * @see https://discord.com/developers/docs/resources/channel#embed-object-embed-provider-structure * @deprecated */ export type Provider = { name?: string; url?: string; }; /** * @see https://discord.com/developers/docs/resources/channel#embed-object-embed-author-structure */ export type Author = { name?: string; url?: string; icon_url?: string; proxy_icon_url?: string; }; /** * @see https://discord.com/developers/docs/resources/channel#allowed-mentions-object */ export type AllowedMention = { parse?: ('roles' | 'users' | 'everyone')[]; roles?: string[]; users?: string[]; replied_user?: boolean; }; /** * @see https://discord.com/developers/docs/resources/channel#embed-object */ export interface Embed { title?: string; /** * @deprecated */ type?: 'rich' | 'image' | 'video' | 'gifv' | 'article' | 'link'; description?: string; url?: string; timestamp?: string | Date; color?: number; image?: MediaItem; video?: MediaItem; thumbnail?: MediaItem; footer?: Footer; provider?: Provider; author?: Author; fields?: Field[]; } /** * @see https://discord.com/developers/docs/resources/channel#attachment-object */ export interface Attachment { id: string; filename: string; description?: string; content_type?: string; size: number; url: string; proxy_url?: string; height?: number; width?: number; ephemeral?: boolean; } /** * @see https://discord.com/developers/docs/resources/webhook#execute-webhook-jsonform-params */ export interface Payload { /** * One of either content, embeds, or file must be set */ content?: string; embeds?: Embed[]; username?: string; avatar_url?: string; tts?: boolean; allowed_mentions?: AllowedMention; components?: any[]; payload_json?: string; attachments?: Attachment[]; flags?: number; thread_name?: string; }