@befacidev/djs-easy
Version:
Use discord.js but easily for beginners
110 lines (109 loc) • 4.05 kB
TypeScript
import * as djs from "discord.js";
import { Partials, RESTOptions } from "discord.js";
interface ClientOptions {
shards?: number | readonly number[] | 'auto';
closeTimeout?: number;
partials?: (keyof typeof Partials)[];
intents: ("Guilds" | "ManageGuild" | "Voices" | "Messages" | "AutoMod" | "Webhooks" | "Presence" | "Members")[];
rest?: Partial<RESTOptions>;
}
interface EventOptions {
once?: boolean;
}
interface Option {
name: string;
description: string;
type: "number" | "string" | "user" | "integer";
required: boolean;
minValue?: number;
maxValue?: number;
choices?: {
name: string;
value: string | number;
}[];
}
export declare enum Events {
guildJoined = "guildCreate",
guildLeaved = "guildDelete",
guildUpdated = "guildUpdate",
channelCreated = "channelCreate",
channelDeleted = "channelDelete",
channelUpdated = "channelUpdate",
channelPinsUpdated = "channelPinsUpdate",
emojiCreated = "emojiCreate",
emojiDeleted = "emojiDelete",
emojiUpdated = "emojiUpdate",
stickerCreated = "stickerCreate",
stickerDeleted = "stickerDelete",
stickerUpdated = "stickerUpdate",
memberJoined = "guildMemberAdd",
memberLeaved = "guildMemberRemove",
memberUpdated = "guildMemberUpdate",
roleCreated = "roleCreate",
roleDeleted = "roleDelete",
roleUpdated = "roleUpdate",
presenceUpdated = "presenceUpdate",
voiceStateUpdated = "voiceStateUpdate",
newMessage = "messageCreate",
messageDeleted = "messageDelete",
messageUpdated = "messageUpdate",
messageReactionAdded = "messageReactionAdd",
messageReactionRemoved = "messageReactionRemove",
messageReactionRemovedAll = "messageReactionRemoveAll",
typingStarted = "typingStart",
userUpdated = "userUpdate",
interactionCreated = "interactionCreate",
webhookUpdated = "webhookUpdate",
autoModBlocked = "autoModerationActionExecution",
botReady = "ready",
botReconnecting = "shardReconnecting",
botDisconnected = "shardDisconnect",
botResumed = "shardResume",
botError = "error",
botWarn = "warn",
botDebug = "debug"
}
export declare class Bot {
discordjs_client: djs.Client;
private token;
private showDebugLogLevel;
constructor(token: string, options: ClientOptions, showDebugLogLevel?: boolean);
/**
* Add a listener via Discord.JS
* Example: bot.on("messageCreate", (msg) => ...)
*/
on<K extends keyof djs.ClientEvents>(event: K, callback: (...args: djs.ClientEvents[K]) => void): void;
/**
* Send a message on a channel
*/
sendMessage(channelId: string, content: string | djs.MessagePayload | djs.MessageCreateOptions): Promise<djs.Message<true> | djs.Message<false>>;
/**
* Send a message to a user (via his ID) in his DM
*/
sendDMMessage(userId: string, content: string | djs.MessagePayload | djs.MessageCreateOptions): Promise<void>;
/**
* Register prefix commands via this
* Usage Example: bot.registerCommand("!").addCommand("lorem", (message, args) => ...).addCommand("hello", (message, args) => ...) ...;
*/
registerCommands(prefix: string): {
addCommand: (name: string, handler: (msg: djs.Message, args: string[]) => void) => any;
};
/**
* Register slash commands via this
* Usage Example: bot.registerSlashCommand()
* .addCommand({ name: "lorem", description: "Send a Lorem Ipsum" }, (message, args) => ...)
* .addCommand({ name: "hello", description: "Hello, World!" }, (message, args) => ...)
* ...;
*/
registerSlashCommands(): {
addCommand: (command: {
name: string;
description: string;
options?: Option[];
}, handler: (interaction: djs.ChatInputCommandInteraction) => void) => any;
};
registerEvent(event: Events | keyof Events, handler: (...args: any[]) => void, options?: EventOptions): void;
private _getIntents__;
private login;
}
export {};