UNPKG

discord-starboards

Version:

⭐ Complete framework to facilitate the creation of starboards using discord.js

109 lines (93 loc) 3.46 kB
declare module "discord-starboards" { import { EventEmitter } from "events"; import * as DJS from "discord.js"; export type TranslateClick = (msg: DJS.Message) => void; export interface StarboardOptions { storage?: string | boolean; translateClickHere?: string | TranslateClick; } export interface Starboard { channelId: string; guildId: string; options: StarboardDefaultCreateOptions; } export interface ColorOptions { colors: DJS.ColorResolvable[]; max: number; } export interface StarboardDefaultCreateOptions { emoji: string; starBotMsg: boolean; selfStar: boolean; starEmbed: boolean; resolveImageUrl: boolean; attachments: boolean; threshold: number | string; color: string | ColorOptions; allowNsfw: boolean; ignoredChannels: [DJS.Snowflake]; handleMessageDelete: boolean; } export interface StarboardEvents { starboardCreate: [Starboard]; starboardDelete: [Starboard]; starboardReactionAdd: [string, DJS.Message, DJS.User]; starboardReactionRemove: [string, DJS.Message, DJS.User]; starboardReactionRemoveAll: [DJS.Message]; starboardReactionNsfw: [string, DJS.Message, DJS.User]; starboardNoSelfStar: [string, DJS.Message, DJS.User]; starboardNoStarBot: [string, DJS.Message, DJS.User]; starboardAlreadyStarred: [string, DJS.Message, DJS.User]; starboardNoEmptyMsg: [string, DJS.Message, DJS.User]; starboardEdited: [Starboard, Starboard]; } export default class StarboardManager extends EventEmitter { constructor(client: DJS.Client, options?: StarboardOptions); public options: StarboardOptions; public defaultOptions: StarboardDefaultCreateOptions; public client: DJS.Client; public starboards: Starboard[]; public create( channel: DJS.TextChannel, options?: Partial<StarboardDefaultCreateOptions> ): Promise<boolean>; public edit( channelId: DJS.Snowflake, emoji: string, data: Partial<StarboardDefaultCreateOptions> ): Promise<Starboard | undefined>; public delete(channelId: DJS.Snowflake, emoji: string): Promise<boolean>; public getAllStarboards(): Promise<Starboard[] | undefined>; public deleteStarboard(channelId: DJS.Snowflake, emoji: string): Promise<boolean | void>; public saveStarboard(data: Starboard): Promise<boolean | void>; public editStarboard( channelId: DJS.Snowflake, emoji: string, data: Partial<StarboardDefaultCreateOptions> ): Promise<boolean | void>; public on<E extends keyof StarboardEvents>( event: E, listener: (...args: StarboardEvents[E]) => void ): this; public once<E extends keyof StarboardEvents>( event: E, listener: (...args: StarboardEvents[E]) => void ): this; public emit<E extends keyof StarboardEvents>(event: E, ...args: StarboardEvents[E]): boolean; } export class Starboard { public channelId: DJS.Snowflake; public guildId: DJS.Snowflake; public options: StarboardDefaultCreateOptions; public manager: StarboardManager; constructor( channelId: DJS.Snowflake, guildId: DJS.Snowflake, options: StarboardDefaultCreateOptions, manager: StarboardManager ); leaderboard(count: number): DJS.Message[]; toObject(): Starboard; edit(options: Partial<StarboardDefaultCreateOptions>): Promise<Starboard>; } }