djs-systems
Version:
The simplest way to build complex Discord bots.
64 lines (63 loc) • 2.17 kB
TypeScript
import { GuildTextBasedChannel, Guild, Message, Role, TextChannel } from 'discord.js';
import { ExtendedInteraction, ExtendedMessage, CustomizableEmbed, CustomizableButton } from './typedef';
import { EndResolve } from './handler/manageGiveaway';
/**
* **Documentation Url** of the type: https://simplyd.js.org/docs/systems/giveaway#requirements
*/
export interface Requirements {
type: 'Role' | 'Guild' | 'None';
id: string;
}
/**
* **Documentation Url** of the type: https://simplyd.js.org/docs/systems/giveaway#giveawaybuttons
*/
export interface GiveawayButtons {
enter?: CustomizableButton;
end?: CustomizableButton;
reroll?: CustomizableButton;
}
/**
* **Documentation Url** of the type: https://simplyd.js.org/docs/systems/giveaway#giveawayembeds
*/
export interface GiveawayEmbeds {
giveaway?: CustomizableEmbed;
load?: CustomizableEmbed;
result?: CustomizableEmbed;
}
/**
* **Documentation Url** of the options: https://simplyd.js.org/docs/systems/giveaway#giveawayoptions
*/
export declare type giveawayOptions = {
prize?: string;
winners?: number;
channel?: GuildTextBasedChannel | TextChannel;
time?: string;
buttons?: GiveawayButtons;
manager?: Role | string;
requirements?: Requirements;
pingRole?: Role | string;
embed?: GiveawayEmbeds;
type?: 'Label' | 'Emoji' | 'Both';
strict?: boolean;
};
/**
* **Documentation Url** of the resolve: https://simplyd.js.org/docs/systems/giveaway#giveawayresolve
*/
export interface GiveawayResolve {
message: Message;
winners: number;
prize: string;
endsAt: number;
requirements: {
type: 'None' | 'Role' | 'Guild';
value: Guild | Role;
};
}
/**
* A **Powerful** yet simple giveaway system | *Required: **manageGiveaway()
* @param msgOrInt
* @param options
* @link `Documentation:` https://simplyd.js.org/docs/systems/giveway
* @example simplydjs.giveaway(interaction)
*/
export declare function giveaway(msgOrInt: ExtendedMessage | ExtendedInteraction, options?: giveawayOptions): Promise<GiveawayResolve | EndResolve>;