cuddlygiv
Version:
Using giveaways for cuddly!
62 lines (49 loc) • 1.87 kB
TypeScript
export = Giveaways;
declare class Giveaways {
static Messages(client: Discord.Client, options?: GiveawayMessageOptions): void;
static create(client: Discord.Client, options: GiveawayCreateOptions): Promise<void>;
static startTimer(message: Discord.Message, data: mongoose.Document, instant?: boolean): Promise<void>;
static gotoGiveaway(data: mongoose.Document): Discord.MessageButton;
static endByButton(client: Discord.Client, messageID: Discord.Snowflake, button: Discord.ButtonInteraction): Promise<void>;
static end(message: Discord.Message, data: mongoose.Document, giveawaymsg: Discord.Message): Promise<"ENDED" | "NO_WINNERS">;
static reroll(client: Discord.Client, messageID: Discord.Snowflake): Promise<Discord.Snowflake | []>;
static getByMessageID(messageID: Discord.Snowflake): Promise<mongoose.Document>;
static startAgain(client: Discord.Client): Promise<void>;
static drop(client: Discord.Client, options: GiveawayDropOptions): Promise<void>;
}
import Discord = require("discord.js");
import mongoose = require("mongoose");
declare interface GiveawayMessageOptions {
dmWinner: boolean,
giveaway: string,
giveawayDescription: string,
endedGiveawayDescription: string,
giveawayFooterImage: string,
winMessage: string,
rerolledMessage: string,
newParticipant: string,
alreadyParticipated: string,
noParticipants: string,
noRole: string,
dmMessage: string,
noWinner: string,
alreadyEnded: string,
dropWin: string,
}
declare interface GiveawayCreateOptions {
prize: string,
host: Discord.Snowflake,
winners: number,
endAfter: string,
requirements: GiveawayRequirements,
channelID: Discord.Snowflake,
}
declare interface GiveawayRequirements {
roles: Array<Discord.Snowflake>,
enabled: boolean,
}
declare interface GiveawayDropOptions {
channelID: Discord.Snowflake,
prize: string,
host: Discord.Snowflake,
}