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
TypeScript
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 {};