UNPKG

discord.js-better-embed

Version:

A npm package that helps you create better Discord Embeds using discord.js.

74 lines (73 loc) 2.41 kB
import type { APIEmbed } from 'discord-api-types/v10'; import { AttachmentBuilder, Embed, EmbedBuilder } from 'discord.js'; import { AnyObject, CheckSizeContent, CheckSizeKey, Template, TemplatesValues } from './types'; export declare const templates: TemplatesValues; export declare const limits: { author: { name: number; }; title: number; description: number; footer: { text: number; }; fields: { size: number; name: number; value: number; }; }; export type Templates = typeof templates; type ValuesFromTemplateKey<T extends string, P = Templates[T]> = P extends Template<infer V> ? V : {}; type Values<T extends string | Template> = T extends Template<infer V> ? V : T extends string ? ValuesFromTemplateKey<T> : AnyObject | undefined; export declare class BetterEmbed extends EmbedBuilder { static LENGTH_LIMITS: { author: { name: number; }; title: number; description: number; footer: { text: number; }; fields: { size: number; name: number; value: number; }; }; static TEMPLATES: TemplatesValues; constructor(data?: APIEmbed | Template); get author(): Embed["author"]; get color(): number | undefined; get description(): string | undefined; get fields(): Embed["fields"]; get footer(): Embed["footer"]; get image(): Embed["image"]; get thumbnail(): Embed["thumbnail"]; get title(): string | undefined; get timestamp(): string | undefined; get url(): string | undefined; static isTemplate(key: string): key is keyof Templates & string; static fromTemplate<T extends (keyof Templates & string) | Template, V extends AnyObject | undefined = Values<T>>(template: T, values?: V): BetterEmbed; checkSize(field: 'fields'): ({ index: number; limit: number; } & ({ name: boolean; } | { value: boolean; })) | boolean; checkSize(field: keyof Template): boolean; checkSize(): { [k in CheckSizeKey]: { content: CheckSizeContent; limit: number; }; }; setImageFromFile(attachment: AttachmentBuilder): void; setThumbnailFromFile(attachment: AttachmentBuilder): void; throwIfTooLong(field: keyof Template): void; cutIfTooLong(): void; } export {};