djs-builder 0.5.31 → 0.5.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/.tsbuildinfo +1 -1
  2. package/dist/discord/events-handler/eventLoader.d.ts +2 -1
  3. package/dist/discord/events-handler/eventLoader.d.ts.map +1 -1
  4. package/dist/discord/events-handler/eventLoader.js +23 -0
  5. package/dist/discord/events-handler/eventLoader.js.map +1 -1
  6. package/dist/discord/events-handler/login.d.ts.map +1 -1
  7. package/dist/discord/events-handler/login.js +12 -0
  8. package/dist/discord/events-handler/login.js.map +1 -1
  9. package/dist/discord/events-handler/prefixLoader.d.ts +2 -1
  10. package/dist/discord/events-handler/prefixLoader.d.ts.map +1 -1
  11. package/dist/discord/events-handler/prefixLoader.js +23 -0
  12. package/dist/discord/events-handler/prefixLoader.js.map +1 -1
  13. package/dist/discord/events-handler/slash-responder.js +4 -4
  14. package/dist/discord/events-handler/slash-responder.js.map +1 -1
  15. package/dist/discord/events-handler/slashLoader.d.ts +2 -1
  16. package/dist/discord/events-handler/slashLoader.d.ts.map +1 -1
  17. package/dist/discord/events-handler/slashLoader.js +23 -0
  18. package/dist/discord/events-handler/slashLoader.js.map +1 -1
  19. package/dist/discord/games/X-O.d.ts +20 -0
  20. package/dist/discord/games/X-O.d.ts.map +1 -0
  21. package/dist/discord/games/X-O.js +166 -0
  22. package/dist/discord/games/X-O.js.map +1 -0
  23. package/dist/discord/games/rps.d.ts +21 -0
  24. package/dist/discord/games/rps.d.ts.map +1 -0
  25. package/dist/discord/games/rps.js +99 -0
  26. package/dist/discord/games/rps.js.map +1 -0
  27. package/dist/discord/types/starter.d.ts +12 -0
  28. package/dist/discord/types/starter.d.ts.map +1 -1
  29. package/dist/discord/utils.d.ts.map +1 -1
  30. package/dist/discord/utils.js.map +1 -1
  31. package/dist/index.d.ts.map +1 -1
  32. package/lib/discord/events-handler/eventLoader.ts +29 -1
  33. package/lib/discord/events-handler/login.ts +13 -0
  34. package/lib/discord/events-handler/prefixLoader.ts +31 -2
  35. package/lib/discord/events-handler/slash-responder.ts +4 -4
  36. package/lib/discord/events-handler/slashLoader.ts +29 -1
  37. package/lib/discord/types/starter.ts +12 -0
  38. package/lib/discord/utils.ts +2 -1
  39. package/lib/index.ts +1 -1
  40. package/package.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"slash-responder.js","sourceRoot":"","sources":["../../../lib/discord/events-handler/slash-responder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slash-responder.js","sourceRoot":"","sources":["../../../lib/discord/events-handler/slash-responder.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
- import { Collection } from 'discord.js';
1
+ import { Client, Collection } from 'discord.js';
2
2
  export declare function slashLoader(client: any): Promise<{
3
3
  commands: Collection<string, any>;
4
4
  success: boolean;
5
5
  }>;
6
+ export declare function autoSlashLoader(client: Client, DEBOUNCE_DELAY?: number): void;
6
7
  //# sourceMappingURL=slashLoader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"slashLoader.d.ts","sourceRoot":"","sources":["../../../lib/discord/events-handler/slashLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAUxC,wBAAsB,WAAW,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC;IAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAiE/G"}
1
+ {"version":3,"file":"slashLoader.d.ts","sourceRoot":"","sources":["../../../lib/discord/events-handler/slashLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAWhD,wBAAsB,WAAW,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC;IAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAiE/G;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,GAAE,MAAc,QAyB7E"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.slashLoader = slashLoader;
4
+ exports.autoSlashLoader = autoSlashLoader;
4
5
  const discord_js_1 = require("discord.js");
5
6
  const rest_1 = require("@discordjs/rest");
6
7
  const v10_1 = require("discord-api-types/v10");
@@ -8,6 +9,7 @@ const promises_1 = require("fs/promises");
8
9
  const path_1 = require("path");
9
10
  const login_1 = require("./login");
10
11
  const logger_1 = require("../functions/logger");
12
+ const fs_1 = require("fs");
11
13
  const validExtensions = ['.js', '.ts'];
12
14
  async function slashLoader(client) {
13
15
  try {
@@ -68,4 +70,25 @@ async function slashLoader(client) {
68
70
  return { commands: new discord_js_1.Collection(), success: false };
69
71
  }
70
72
  }
73
+ function autoSlashLoader(client, DEBOUNCE_DELAY = 10000) {
74
+ const slashPath = login_1.botData.get('slashCommandPath');
75
+ const commandPath = (0, path_1.resolve)(process.cwd(), slashPath);
76
+ let debounceTimer = null;
77
+ const handleReload = async () => {
78
+ if (debounceTimer) {
79
+ clearTimeout(debounceTimer);
80
+ }
81
+ debounceTimer = setTimeout(async () => {
82
+ await slashLoader(client);
83
+ (0, logger_1.logInfo)('Slash commands successfully reloaded after debounce.');
84
+ }, DEBOUNCE_DELAY);
85
+ };
86
+ (0, fs_1.watch)(commandPath, { recursive: false }, (eventType, filename) => {
87
+ if (filename && validExtensions.includes((0, path_1.extname)(filename))) {
88
+ (0, logger_1.logInfo)(`Detected ${eventType} in ${filename}, waiting for debouncing...`);
89
+ handleReload();
90
+ }
91
+ });
92
+ (0, logger_1.logInfo)('Started watching for changes in slash commands...');
93
+ }
71
94
  //# sourceMappingURL=slashLoader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"slashLoader.js","sourceRoot":"","sources":["../../../lib/discord/events-handler/slashLoader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slashLoader.js","sourceRoot":"","sources":["../../../lib/discord/events-handler/slashLoader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { CommandInteraction, Message } from 'discord.js';
2
+ type Interaction = CommandInteraction | Message;
3
+ export declare class TicTacToe {
4
+ private board;
5
+ private currentPlayer;
6
+ private gameEnded;
7
+ private createButton;
8
+ players({ interaction, challengerId, }: {
9
+ interaction: Interaction;
10
+ challengerId: string;
11
+ }): Promise<void>;
12
+ private updateGameMessage;
13
+ private drawBoard;
14
+ private drawSymbol;
15
+ private checkWinner;
16
+ private isBoardFull;
17
+ private displayResults;
18
+ }
19
+ export {};
20
+ //# sourceMappingURL=X-O.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"X-O.d.ts","sourceRoot":"","sources":["../../../lib/discord/games/X-O.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiD,kBAAkB,EAAE,OAAO,EAAkC,MAAM,YAAY,CAAC;AAGxI,KAAK,WAAW,GAAG,kBAAkB,GAAG,OAAO,CAAC;AAEhD,qBAAa,SAAS;IAClB,OAAO,CAAC,KAAK,CAIX;IACF,OAAO,CAAC,aAAa,CAAO;IAC5B,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,YAAY;IAQP,OAAO,CAAC,EACjB,WAAW,EACX,YAAY,GACf,EAAE;QACC,WAAW,EAAE,WAAW,CAAC;QACzB,YAAY,EAAE,MAAM,CAAC;KACxB,GAAG,OAAO,CAAC,IAAI,CAAC;YAsFH,iBAAiB;YAuBjB,SAAS;IAgCvB,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,WAAW;IAqBnB,OAAO,CAAC,WAAW;YAIL,cAAc;CAqB/B"}
@@ -0,0 +1,166 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TicTacToe = void 0;
4
+ const discord_js_1 = require("discord.js");
5
+ const canvas_1 = require("@napi-rs/canvas");
6
+ class TicTacToe {
7
+ board = [
8
+ ['', '', ''],
9
+ ['', '', ''],
10
+ ['', '', ''],
11
+ ];
12
+ currentPlayer = 'X';
13
+ gameEnded = false;
14
+ createButton(cellId) {
15
+ return new discord_js_1.ButtonBuilder()
16
+ .setCustomId(cellId)
17
+ .setLabel(' ')
18
+ .setStyle(discord_js_1.ButtonStyle.Primary)
19
+ .setDisabled(this.gameEnded);
20
+ }
21
+ async players({ interaction, challengerId, }) {
22
+ const userId = 'user' in interaction ? interaction.user.id : interaction.author.id;
23
+ const gameEmbed = new discord_js_1.EmbedBuilder()
24
+ .setTitle('Tic-Tac-Toe')
25
+ .setDescription(`<@${userId}> (**X**) vs. <@${challengerId}> (**O**)\nIt's <@${userId}>'s turn!`)
26
+ .setColor('DarkNavy');
27
+ const row1 = new discord_js_1.ActionRowBuilder().addComponents(this.createButton('0-0'), this.createButton('0-1'), this.createButton('0-2'));
28
+ const row2 = new discord_js_1.ActionRowBuilder().addComponents(this.createButton('1-0'), this.createButton('1-1'), this.createButton('1-2'));
29
+ const row3 = new discord_js_1.ActionRowBuilder().addComponents(this.createButton('2-0'), this.createButton('2-1'), this.createButton('2-2'));
30
+ const canvasBuffer = await this.drawBoard();
31
+ const gameMessage = 'user' in interaction
32
+ ? await interaction.reply({
33
+ embeds: [gameEmbed],
34
+ files: [new discord_js_1.AttachmentBuilder(canvasBuffer, { name: 'tictactoe.png' })],
35
+ components: [row1, row2, row3],
36
+ fetchReply: true,
37
+ })
38
+ : await interaction.reply({
39
+ embeds: [gameEmbed],
40
+ files: [new discord_js_1.AttachmentBuilder(canvasBuffer, { name: 'tictactoe.png' })],
41
+ components: [row1, row2, row3],
42
+ });
43
+ const filter = (btnInteraction) => {
44
+ return [userId, challengerId].includes(btnInteraction.user.id) && !this.gameEnded;
45
+ };
46
+ const collector = gameMessage.createMessageComponentCollector({
47
+ filter,
48
+ time: 60000,
49
+ });
50
+ collector.on('collect', async (btnInteraction) => {
51
+ const [row, col] = btnInteraction.customId.split('-').map(Number);
52
+ if (this.board[row][col] !== '') {
53
+ await btnInteraction.reply({ content: 'This cell is already taken!', ephemeral: true });
54
+ return;
55
+ }
56
+ this.board[row][col] = this.currentPlayer;
57
+ const player = this.currentPlayer === 'X' ? userId : challengerId;
58
+ this.currentPlayer = this.currentPlayer === 'X' ? 'O' : 'X';
59
+ const winner = this.checkWinner();
60
+ if (winner || this.isBoardFull()) {
61
+ this.gameEnded = true;
62
+ collector.stop();
63
+ await this.displayResults(interaction, winner, userId, challengerId);
64
+ }
65
+ else {
66
+ await this.updateGameMessage(btnInteraction, userId, challengerId, row1, row2, row3);
67
+ }
68
+ });
69
+ collector.on('end', async (_collected, reason) => {
70
+ if (reason === 'time' && !this.gameEnded) {
71
+ const endMessage = 'The game has ended due to inactivity!';
72
+ if ('editReply' in interaction) {
73
+ await interaction.editReply({ content: endMessage, components: [] });
74
+ }
75
+ else {
76
+ await interaction.channel?.send({ content: endMessage });
77
+ }
78
+ }
79
+ });
80
+ }
81
+ async updateGameMessage(btnInteraction, userId, challengerId, row1, row2, row3) {
82
+ const canvasBuffer = await this.drawBoard();
83
+ const nextPlayer = this.currentPlayer === 'X' ? userId : challengerId;
84
+ const updatedEmbed = new discord_js_1.EmbedBuilder()
85
+ .setTitle('Tic-Tac-Toe')
86
+ .setDescription(`It's <@${nextPlayer}>'s turn!`)
87
+ .setColor('DarkNavy');
88
+ await btnInteraction.update({
89
+ embeds: [updatedEmbed],
90
+ files: [new discord_js_1.AttachmentBuilder(canvasBuffer, { name: 'tictactoe.png' })],
91
+ components: [row1, row2, row3],
92
+ });
93
+ }
94
+ async drawBoard() {
95
+ const canvas = (0, canvas_1.createCanvas)(300, 300);
96
+ const ctx = canvas.getContext('2d');
97
+ ctx.strokeStyle = '#000000';
98
+ ctx.lineWidth = 5;
99
+ ctx.beginPath();
100
+ ctx.moveTo(0, 100);
101
+ ctx.lineTo(300, 100);
102
+ ctx.moveTo(0, 200);
103
+ ctx.lineTo(300, 200);
104
+ ctx.stroke();
105
+ ctx.moveTo(100, 0);
106
+ ctx.lineTo(100, 300);
107
+ ctx.moveTo(200, 0);
108
+ ctx.lineTo(200, 300);
109
+ ctx.stroke();
110
+ for (let row = 0; row < 3; row++) {
111
+ for (let col = 0; col < 3; col++) {
112
+ const symbol = this.board[row][col];
113
+ if (symbol) {
114
+ this.drawSymbol(ctx, symbol, row, col);
115
+ }
116
+ }
117
+ }
118
+ return canvas.toBuffer('image/png');
119
+ }
120
+ drawSymbol(ctx, symbol, row, col) {
121
+ ctx.font = '80px Arial';
122
+ ctx.textAlign = 'center';
123
+ ctx.textBaseline = 'middle';
124
+ const x = col * 100 + 50;
125
+ const y = row * 100 + 50;
126
+ ctx.fillText(symbol, x, y);
127
+ }
128
+ checkWinner() {
129
+ const winningPatterns = [
130
+ [[0, 0], [0, 1], [0, 2]],
131
+ [[1, 0], [1, 1], [1, 2]],
132
+ [[2, 0], [2, 1], [2, 2]],
133
+ [[0, 0], [1, 0], [2, 0]],
134
+ [[0, 1], [1, 1], [2, 1]],
135
+ [[0, 2], [1, 2], [2, 2]],
136
+ [[0, 0], [1, 1], [2, 2]],
137
+ [[0, 2], [1, 1], [2, 0]],
138
+ ];
139
+ for (const pattern of winningPatterns) {
140
+ const [a, b, c] = pattern;
141
+ if (this.board[a[0]][a[1]] && this.board[a[0]][a[1]] === this.board[b[0]][b[1]] && this.board[a[0]][a[1]] === this.board[c[0]][c[1]]) {
142
+ return this.board[a[0]][a[1]];
143
+ }
144
+ }
145
+ return null;
146
+ }
147
+ isBoardFull() {
148
+ return this.board.flat().every(cell => cell !== '');
149
+ }
150
+ async displayResults(interaction, winner, userId, challengerId) {
151
+ const resultEmbed = new discord_js_1.EmbedBuilder()
152
+ .setTitle('Tic-Tac-Toe Results')
153
+ .setDescription(winner
154
+ ? `<@${winner}> wins!\n<@${userId}> vs. <@${challengerId}>`
155
+ : "It's a tie!\n<@${userId}> vs. <@${challengerId}>")
156
+ .setColor('DarkNavy');
157
+ if ('editReply' in interaction) {
158
+ await interaction.editReply({ embeds: [resultEmbed], components: [] });
159
+ }
160
+ else {
161
+ await interaction.channel?.send({ embeds: [resultEmbed], components: [] });
162
+ }
163
+ }
164
+ }
165
+ exports.TicTacToe = TicTacToe;
166
+ //# sourceMappingURL=X-O.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"X-O.js","sourceRoot":"","sources":["../../../lib/discord/games/X-O.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { CommandInteraction, Message } from 'discord.js';
2
+ type Interaction = CommandInteraction | Message;
3
+ export declare class RPS {
4
+ private playerChoices;
5
+ private resultData;
6
+ players({ interaction, challengerId, }: {
7
+ interaction: Interaction;
8
+ challengerId: string;
9
+ }): Promise<void>;
10
+ private displayResults;
11
+ private getResult;
12
+ results(): {
13
+ userId: string;
14
+ challengerId: string;
15
+ results: {
16
+ [key: string]: boolean;
17
+ };
18
+ } | null;
19
+ }
20
+ export {};
21
+ //# sourceMappingURL=rps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rps.d.ts","sourceRoot":"","sources":["../../../lib/discord/games/rps.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,kBAAkB,EAClB,OAAO,EAEV,MAAM,YAAY,CAAC;AAEpB,KAAK,WAAW,GAAG,kBAAkB,GAAG,OAAO,CAAC;AAEhD,qBAAa,GAAG;IACZ,OAAO,CAAC,aAAa,CAAkC;IACvD,OAAO,CAAC,UAAU,CAA8F;IAEnG,OAAO,CAAC,EACjB,WAAW,EACX,YAAY,GACf,EAAE;QACC,WAAW,EAAE,WAAW,CAAC;QACzB,YAAY,EAAE,MAAM,CAAC;KACxB,GAAG,OAAO,CAAC,IAAI,CAAC;YA+DH,cAAc;IA6B5B,OAAO,CAAC,SAAS;IAYV,OAAO;;;;;;;CAUjB"}
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RPS = void 0;
4
+ const discord_js_1 = require("discord.js");
5
+ class RPS {
6
+ playerChoices = new Map();
7
+ resultData = null;
8
+ async players({ interaction, challengerId, }) {
9
+ const userId = 'user' in interaction ? interaction.user.id : interaction.author.id;
10
+ const duelEmbed = new discord_js_1.EmbedBuilder()
11
+ .setTitle('Rock-Paper-Scissors Duel!')
12
+ .setDescription(`<@${challengerId}>, you have been challenged to a duel of Rock-Paper-Scissors by <@${userId}>. Make your choice!`)
13
+ .setColor('DarkNavy');
14
+ const row = new discord_js_1.ActionRowBuilder().addComponents(new discord_js_1.ButtonBuilder().setCustomId('rock').setLabel('🪨 Rock').setStyle(discord_js_1.ButtonStyle.Primary), new discord_js_1.ButtonBuilder().setCustomId('paper').setLabel('📄 Paper').setStyle(discord_js_1.ButtonStyle.Primary), new discord_js_1.ButtonBuilder().setCustomId('scissors').setLabel('✂️ Scissors').setStyle(discord_js_1.ButtonStyle.Primary));
15
+ const duelMessage = 'user' in interaction
16
+ ? await interaction.reply({
17
+ embeds: [duelEmbed],
18
+ components: [row],
19
+ fetchReply: true,
20
+ ephemeral: false,
21
+ })
22
+ : await interaction.reply({ embeds: [duelEmbed], components: [row] });
23
+ const filter = (btnInteraction) => {
24
+ return [userId, challengerId].includes(btnInteraction.user.id);
25
+ };
26
+ const collector = duelMessage.createMessageComponentCollector({
27
+ filter,
28
+ time: 60000,
29
+ });
30
+ collector.on('collect', async (btnInteraction) => {
31
+ const playerId = btnInteraction.user.id;
32
+ const playerChoice = btnInteraction.customId;
33
+ if (!this.playerChoices.has(playerId)) {
34
+ this.playerChoices.set(playerId, playerChoice);
35
+ await btnInteraction.reply({ content: `You chose ${playerChoice}`, ephemeral: true });
36
+ if (this.playerChoices.size === 2) {
37
+ collector.stop();
38
+ this.displayResults(interaction, userId, challengerId);
39
+ }
40
+ }
41
+ });
42
+ collector.on('end', async (_collected, reason) => {
43
+ if (reason === 'time') {
44
+ const endMessage = `The duel has expired. <@${challengerId}> did not respond in time!`;
45
+ if ('editReply' in interaction) {
46
+ await interaction.editReply({ content: endMessage, components: [] });
47
+ }
48
+ else {
49
+ await interaction.channel?.send({ content: endMessage });
50
+ }
51
+ }
52
+ });
53
+ }
54
+ async displayResults(interaction, userId, challengerId) {
55
+ const userChoice = this.playerChoices.get(userId);
56
+ const challengerChoice = this.playerChoices.get(challengerId);
57
+ const result = this.getResult(userChoice, challengerChoice);
58
+ this.resultData = {
59
+ userId,
60
+ challengerId,
61
+ results: {
62
+ [userId]: result === userId,
63
+ [challengerId]: result === challengerId,
64
+ },
65
+ };
66
+ const resultEmbed = new discord_js_1.EmbedBuilder()
67
+ .setTitle('Rock-Paper-Scissors Results')
68
+ .setDescription(`<@${userId}> chose **${userChoice}**.\n<@${challengerId}> chose **${challengerChoice}**.\n\n**${result}**`)
69
+ .setColor('DarkNavy');
70
+ if ('editReply' in interaction) {
71
+ await interaction.editReply({ embeds: [resultEmbed], components: [] });
72
+ }
73
+ else {
74
+ await interaction.channel?.send({ embeds: [resultEmbed], components: [] });
75
+ }
76
+ }
77
+ getResult(userChoice, challengerChoice) {
78
+ if (userChoice === challengerChoice)
79
+ return "It's a tie!";
80
+ if ((userChoice === 'rock' && challengerChoice === 'scissors') ||
81
+ (userChoice === 'paper' && challengerChoice === 'rock') ||
82
+ (userChoice === 'scissors' && challengerChoice === 'paper')) {
83
+ return userChoice ? userChoice : "";
84
+ }
85
+ return challengerChoice ? challengerChoice : "";
86
+ }
87
+ results() {
88
+ if (this.resultData) {
89
+ return {
90
+ userId: this.resultData.userId,
91
+ challengerId: this.resultData.challengerId,
92
+ results: this.resultData.results,
93
+ };
94
+ }
95
+ return null;
96
+ }
97
+ }
98
+ exports.RPS = RPS;
99
+ //# sourceMappingURL=rps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rps.js","sourceRoot":"","sources":["../../../lib/discord/games/rps.ts"],"names":[],"mappings":";;;AAAA,2CAOoB;AAIpB,MAAa,GAAG;IACJ,aAAa,GAAwB,IAAI,GAAG,EAAE,CAAC;IAC/C,UAAU,GAAyF,IAAI,CAAC;IAEzG,KAAK,CAAC,OAAO,CAAC,EACjB,WAAW,EACX,YAAY,GAIf;QACG,MAAM,MAAM,GAAG,MAAM,IAAI,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QAEnF,MAAM,SAAS,GAAG,IAAI,yBAAY,EAAE;aAC/B,QAAQ,CAAC,2BAA2B,CAAC;aACrC,cAAc,CACX,KAAK,YAAY,qEAAqE,MAAM,sBAAsB,CACrH;aACA,QAAQ,CAAC,UAAU,CAAC,CAAC;QAE1B,MAAM,GAAG,GAAG,IAAI,6BAAgB,EAAiB,CAAC,aAAa,CAC3D,IAAI,0BAAa,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,wBAAW,CAAC,OAAO,CAAC,EACzF,IAAI,0BAAa,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,wBAAW,CAAC,OAAO,CAAC,EAC3F,IAAI,0BAAa,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,wBAAW,CAAC,OAAO,CAAC,CACpG,CAAC;QAEF,MAAM,WAAW,GACb,MAAM,IAAI,WAAW;YACjB,CAAC,CAAC,MAAM,WAAW,CAAC,KAAK,CAAC;gBACpB,MAAM,EAAE,CAAC,SAAS,CAAC;gBACnB,UAAU,EAAE,CAAC,GAAG,CAAC;gBACjB,UAAU,EAAE,IAAI;gBAChB,SAAS,EAAE,KAAK;aACnB,CAAC;YACJ,CAAC,CAAC,MAAM,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAE9E,MAAM,MAAM,GAAG,CAAC,cAAmB,EAAE,EAAE;YACnC,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC;QAEF,MAAM,SAAS,GAAG,WAAW,CAAC,+BAA+B,CAAC;YAC1D,MAAM;YACN,IAAI,EAAE,KAAK;SACd,CAAC,CAAC;QAEH,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;YAC7C,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,MAAM,YAAY,GAAG,cAAc,CAAC,QAAQ,CAAC;YAE7C,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;gBAC/C,MAAM,cAAc,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,aAAa,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAEtF,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;oBAChC,SAAS,CAAC,IAAI,EAAE,CAAC;oBACjB,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;gBAC3D,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE;YAC7C,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACpB,MAAM,UAAU,GAAG,2BAA2B,YAAY,4BAA4B,CAAC;gBAEvF,IAAI,WAAW,IAAI,WAAW,EAAE,CAAC;oBAC7B,MAAM,WAAW,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;gBACzE,CAAC;qBAAM,CAAC;oBACJ,MAAM,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;gBAC7D,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,WAAwB,EAAE,MAAc,EAAE,YAAoB;QACvF,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAClD,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAE9D,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QAE5D,IAAI,CAAC,UAAU,GAAG;YACd,MAAM;YACN,YAAY;YACZ,OAAO,EAAE;gBACL,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,MAAM;gBAC3B,CAAC,YAAY,CAAC,EAAE,MAAM,KAAK,YAAY;aAC1C;SACJ,CAAC;QAEF,MAAM,WAAW,GAAG,IAAI,yBAAY,EAAE;aACjC,QAAQ,CAAC,6BAA6B,CAAC;aACvC,cAAc,CACX,KAAK,MAAM,aAAa,UAAU,UAAU,YAAY,aAAa,gBAAgB,YAAY,MAAM,IAAI,CAC9G;aACA,QAAQ,CAAC,UAAU,CAAC,CAAC;QAE1B,IAAI,WAAW,IAAI,WAAW,EAAE,CAAC;YAC7B,MAAM,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3E,CAAC;aAAM,CAAC;YACJ,MAAM,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/E,CAAC;IACL,CAAC;IAEO,SAAS,CAAC,UAA8B,EAAE,gBAAoC;QAClF,IAAI,UAAU,KAAK,gBAAgB;YAAE,OAAO,aAAa,CAAC;QAC1D,IACI,CAAC,UAAU,KAAK,MAAM,IAAI,gBAAgB,KAAK,UAAU,CAAC;YAC1D,CAAC,UAAU,KAAK,OAAO,IAAI,gBAAgB,KAAK,MAAM,CAAC;YACvD,CAAC,UAAU,KAAK,UAAU,IAAI,gBAAgB,KAAK,OAAO,CAAC,EAC7D,CAAC;YACC,OAAO,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,CAAC;QACD,OAAO,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;IACpD,CAAC;IAEM,OAAO;QACV,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,OAAO;gBACH,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;gBAC9B,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY;gBAC1C,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO;aACnC,CAAC;QACN,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AA5HD,kBA4HC"}
@@ -39,6 +39,10 @@ export interface SlashOptions {
39
39
  global?: boolean;
40
40
  serverId?: string;
41
41
  logsId?: string;
42
+ autoLoader?: {
43
+ enable?: boolean;
44
+ DEBOUNCE_DELAY?: number;
45
+ };
42
46
  }
43
47
  export interface PrefixOptions {
44
48
  path: string;
@@ -51,6 +55,10 @@ export interface PrefixOptions {
51
55
  }[];
52
56
  similarity?: boolean;
53
57
  logsId?: string;
58
+ autoLoader?: {
59
+ enable?: boolean;
60
+ DEBOUNCE_DELAY?: number;
61
+ };
54
62
  }
55
63
  export interface MongoDbOptions {
56
64
  mongoURI: string;
@@ -78,6 +86,10 @@ export interface EventsOptions {
78
86
  logsId?: string;
79
87
  recursive?: boolean;
80
88
  eventBlacklist?: string[];
89
+ autoLoader?: {
90
+ enable?: boolean;
91
+ DEBOUNCE_DELAY?: number;
92
+ };
81
93
  }
82
94
  export interface Event {
83
95
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"starter.d.ts","sourceRoot":"","sources":["../../../lib/discord/types/starter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"starter.d.ts","sourceRoot":"","sources":["../../../lib/discord/types/starter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/discord/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAG,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACvI,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAC7H,SAAS,EAAE,UAAU,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,SAAS,EAAE,qBAAqB,EAChI,gBAAgB,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,CAAA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/discord/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAG,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAEvI,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAC7H,SAAS,EAAE,UAAU,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,SAAS,EAAE,qBAAqB,EACjI,gBAAgB,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/discord/utils.ts"],"names":[],"mappings":";;;AAAA,sDAAmD;AAY1C,wFAZA,iBAAO,OAYA;AAXhB,2CAAgF;AAW9D,8FAXT,qBAAa,OAWS;AAAE,4FAXT,mBAAW,OAWS;AAAE,kGAXT,yBAAiB,OAWS;AAV/D,8DAA2D;AAUM,4FAVxD,yBAAW,OAUwD;AAT5E,gEAA6D;AASiB,6FATrE,2BAAY,OASqE;AAR1F,8DAA2D;AAQiC,4FARnF,yBAAW,OAQmF;AAPvG,sEAAgE;AAOyC,6FAPhG,8BAAY,OAOgG;AANrH,wEAAoF;AAOrE,2FAPN,6BAAU,OAOM;AAAE,oGAPN,sCAAmB,OAOM;AAN9C,oEAAwE;AAMwC,sGANvG,sCAAqB,OAMuG;AALrI,sEAA6D;AAKzD,0FALK,2BAAS,OAKL;AAJb,+CAAgF;AAKzD,yFALd,iBAAQ,OAKc;AAAE,wFALd,gBAAO,OAKc;AAAE,2FALd,mBAAU,OAKc;AAAE,2FALd,mBAAU,OAKc;AAJhE,4DAAyD;AAIS,2FAJzD,uBAAU,OAIyD;AAH5E,oDAAuI;AAChB,2FAD9G,mBAAU,OAC8G;AAC5B,0FAFhF,kBAAS,OAEgF;AACzG,iGAH2B,yBAAgB,OAG3B;AAD2B,iGAFE,yBAAgB,OAEF;AAAmB,iGAFf,yBAAgB,OAEe;AAAjC,gGAFoB,wBAAe,OAEpB"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/discord/utils.ts"],"names":[],"mappings":";;;AAAA,sDAAmD;AAa1C,wFAbA,iBAAO,OAaA;AAZhB,2CAAgF;AAY9D,8FAZT,qBAAa,OAYS;AAAE,4FAZT,mBAAW,OAYS;AAAE,kGAZT,yBAAiB,OAYS;AAX/D,8DAA2D;AAWM,4FAXxD,yBAAW,OAWwD;AAV5E,gEAA6D;AAUiB,6FAVrE,2BAAY,OAUqE;AAT1F,8DAA2D;AASiC,4FATnF,yBAAW,OASmF;AARvG,sEAAgE;AAQyC,6FARhG,8BAAY,OAQgG;AAPrH,wEAAoF;AAQrE,2FARN,6BAAU,OAQM;AAAE,oGARN,sCAAmB,OAQM;AAP9C,oEAAwE;AAOwC,sGAPvG,sCAAqB,OAOuG;AANrI,sEAA6D;AAMzD,0FANK,2BAAS,OAML;AALb,+CAAgF;AAM1D,yFANb,iBAAQ,OAMa;AAAE,wFANb,gBAAO,OAMa;AAAE,2FANb,mBAAU,OAMa;AAAE,2FANb,mBAAU,OAMa;AAL/D,4DAAyD;AAKQ,2FALxD,uBAAU,OAKwD;AAJ3E,oDAAuI;AAEhB,2FAF9G,mBAAU,OAE8G;AAC5B,0FAHhF,kBAAS,OAGgF;AAC1G,iGAJ4B,yBAAgB,OAI5B;AAD4B,iGAHE,yBAAgB,OAGF;AAAmB,iGAHf,yBAAgB,OAGe;AAAjC,gGAHoB,wBAAe,OAGpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AA6BA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAC7H,SAAS,EAAE,UAAU,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,SAAS,EAAE,qBAAqB,EAChI,gBAAgB,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEtG,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAC7H,SAAS,EAAE,UAAU,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,SAAS,EAAE,qBAAqB,EAChI,gBAAgB,EAAG,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;AACnE,wBAE+E;AAC/E,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AA6BA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAC7H,SAAS,EAAE,UAAU,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,SAAS,EAAE,qBAAqB,EAChI,gBAAgB,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEtG,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAC7H,SAAS,EAAE,UAAU,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,SAAS,EAAE,qBAAqB,EAChI,gBAAgB,EAAG,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;AACpE,wBAE+E;AAC/E,cAAc,yBAAyB,CAAC"}
@@ -1,9 +1,10 @@
1
- import { Collection } from 'discord.js';
1
+ import { Client, Collection } from 'discord.js';
2
2
  import { readdir } from 'fs/promises';
3
3
  import { resolve, extname } from 'path';
4
4
  import { Event } from '../types/utils';
5
5
  import { logError, logInfo } from '../functions/logger';
6
6
  import { botData } from './login';
7
+ import { watch } from 'fs';
7
8
 
8
9
  const validExtensions = ['.js', '.ts'];
9
10
 
@@ -136,3 +137,30 @@ async function withRetry(handler: (...args: any[]) => Promise<void>, retryAttemp
136
137
  logError('Reached maximum retry attempts.');
137
138
  };
138
139
  }
140
+
141
+ export function autoEventLoader(client: Client, DEBOUNCE_DELAY: number = 10000, eventsOptions: Events = {}) {
142
+
143
+ const slashPath = botData.get('slashCommandPath') as string;
144
+ const commandPath = resolve(process.cwd(), slashPath);
145
+
146
+ let debounceTimer: NodeJS.Timeout | null = null;
147
+
148
+ const handleReload = async () => {
149
+ if (debounceTimer) {
150
+ clearTimeout(debounceTimer);
151
+ }
152
+ debounceTimer = setTimeout(async () => {
153
+ await eventLoader(client, eventsOptions);
154
+ logInfo('Slash commands successfully reloaded after debounce.');
155
+ }, DEBOUNCE_DELAY);
156
+ };
157
+
158
+ watch(commandPath, { recursive: false }, (eventType: any, filename: any) => {
159
+ if (filename && validExtensions.includes(extname(filename))) {
160
+ logInfo(`Detected ${eventType} in ${filename}, waiting for debouncing...`);
161
+ handleReload();
162
+ }
163
+ });
164
+
165
+ logInfo('Started watching for changes in slash commands...');
166
+ }
@@ -7,6 +7,9 @@ import { GatewayIntentBits } from 'discord-api-types/v10';
7
7
  import { logError, logInfo, logWarning } from '../utils';
8
8
  import * as path from 'path';
9
9
  import fs from 'fs';
10
+ import { autoSlashLoader } from './slashLoader';
11
+ import { autoPrefixLoader } from './prefixLoader';
12
+ import { autoEventLoader } from './eventLoader';
10
13
 
11
14
  export const botData = new Collection<string, string | string[]>();
12
15
 
@@ -248,5 +251,15 @@ export async function login(djs: Client & { botData?: Collection<string, string
248
251
  }
249
252
 
250
253
  (djs as any).botData = botData;
254
+
255
+ if (options.slash?.autoLoader?.enable) {
256
+ autoSlashLoader(djs, options.slash?.autoLoader?.DEBOUNCE_DELAY);
257
+ }
258
+ if (options.prefix?.autoLoader?.enable) {
259
+ autoPrefixLoader(djs, options.prefix?.autoLoader?.DEBOUNCE_DELAY);
260
+ }
261
+ if (options.events?.autoLoader?.enable) {
262
+ autoEventLoader(djs, options.events?.autoLoader?.DEBOUNCE_DELAY, options.events);
263
+ }
251
264
  });
252
265
  }