djs-builder 0.5.32 → 0.5.40
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.
- package/.tsbuildinfo +1 -1
- package/dist/discord/builder/system/Pagination.d.ts.map +1 -1
- package/dist/discord/builder/system/Pagination.js +10 -10
- package/dist/discord/builder/system/Pagination.js.map +1 -1
- package/dist/discord/builder/system/collectors.d.ts +27 -0
- package/dist/discord/builder/system/collectors.d.ts.map +1 -0
- package/dist/discord/builder/system/collectors.js +137 -0
- package/dist/discord/builder/system/collectors.js.map +1 -0
- package/dist/discord/events-handler/slash-register.d.ts.map +1 -1
- package/dist/discord/events-handler/slash-register.js +30 -41
- package/dist/discord/events-handler/slash-register.js.map +1 -1
- package/dist/discord/events-handler/slash-responder.d.ts.map +1 -1
- package/dist/discord/events-handler/slash-responder.js +23 -27
- package/dist/discord/events-handler/slash-responder.js.map +1 -1
- package/dist/discord/events-handler/starter.js.map +1 -1
- package/dist/discord/utils.d.ts +2 -1
- package/dist/discord/utils.d.ts.map +1 -1
- package/dist/discord/utils.js +3 -1
- package/dist/discord/utils.js.map +1 -1
- package/lib/discord/builder/system/Pagination.ts +22 -21
- package/lib/discord/builder/system/collectors.ts +197 -0
- package/lib/discord/events-handler/slash-register.ts +32 -46
- package/lib/discord/events-handler/slash-responder.ts +43 -38
- package/lib/discord/events-handler/starter.ts +4 -1
- package/lib/discord/utils.ts +2 -1
- package/package.json +1 -1
|
@@ -10,6 +10,25 @@ const v10_1 = require("discord-api-types/v10");
|
|
|
10
10
|
const promises_1 = require("fs/promises");
|
|
11
11
|
const path_1 = __importDefault(require("path"));
|
|
12
12
|
const logger_1 = require("../functions/logger");
|
|
13
|
+
async function loadCommand(filePath) {
|
|
14
|
+
try {
|
|
15
|
+
const command = require(filePath);
|
|
16
|
+
if (command.data) {
|
|
17
|
+
command.data.cooldown = command.cooldown && !isNaN(command.cooldown) ? command.cooldown : 0;
|
|
18
|
+
command.data.botPerms = command.botPerms || [];
|
|
19
|
+
command.data.userPerms = command.userPerms || [];
|
|
20
|
+
command.data.owner = command.owner || false;
|
|
21
|
+
command.data.developer = command.developer || false;
|
|
22
|
+
command.data.category = command.category || 'Uncategorized';
|
|
23
|
+
return command;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
(0, logger_1.logError)(`Error loading command from file: ${filePath}`);
|
|
28
|
+
(0, logger_1.logError)(error.message);
|
|
29
|
+
}
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
13
32
|
async function registerSlashCommands(client, token, slash) {
|
|
14
33
|
if (!token) {
|
|
15
34
|
throw new Error("⚠️ Please provide valid bot token to register slash commands.");
|
|
@@ -20,68 +39,38 @@ async function registerSlashCommands(client, token, slash) {
|
|
|
20
39
|
const resolvedPath = path_1.default.join(process.cwd(), slash.path);
|
|
21
40
|
const dirents = await (0, promises_1.readdir)(resolvedPath, { withFileTypes: true });
|
|
22
41
|
for (const dirent of dirents) {
|
|
42
|
+
const folderPath = path_1.default.join(resolvedPath, dirent.name);
|
|
23
43
|
if (dirent.isDirectory()) {
|
|
24
|
-
const folderPath = path_1.default.join(resolvedPath, dirent.name);
|
|
25
44
|
const files = await (0, promises_1.readdir)(folderPath);
|
|
26
45
|
for (const file of files) {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
if (command.cooldown && !isNaN(command.cooldown)) {
|
|
31
|
-
command.data.cooldown = command.cooldown || 0;
|
|
32
|
-
}
|
|
33
|
-
command.data.botPerms = command.botPerms || [];
|
|
34
|
-
command.data.userPerms = command.userPerms || [];
|
|
35
|
-
command.data.owner = command.owner || false;
|
|
36
|
-
command.data.developer = command.developer || false;
|
|
37
|
-
command.data.category = command.category || 'Uncategorized';
|
|
38
|
-
slashCommands.set(command.data.name, command);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
catch (error) {
|
|
42
|
-
(0, logger_1.logError)(`Error in file: ${path_1.default.join(folderPath, file)}`);
|
|
43
|
-
(0, logger_1.logError)(error.message);
|
|
46
|
+
const command = await loadCommand(path_1.default.join(folderPath, file));
|
|
47
|
+
if (command) {
|
|
48
|
+
slashCommands.set(command.data.name, command);
|
|
44
49
|
}
|
|
45
50
|
}
|
|
46
51
|
}
|
|
47
52
|
else {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
if (command.cooldown && !isNaN(command.cooldown)) {
|
|
52
|
-
command.data.cooldown = command.cooldown || 0;
|
|
53
|
-
}
|
|
54
|
-
command.data.botPerms = command.botPerms || [];
|
|
55
|
-
command.data.userPerms = command.userPerms || [];
|
|
56
|
-
command.data.owner = command.owner || false;
|
|
57
|
-
command.data.developer = command.developer || false;
|
|
58
|
-
command.data.category = command.category || 'Uncategorized';
|
|
59
|
-
slashCommands.set(command.data.name, command);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
catch (error) {
|
|
63
|
-
(0, logger_1.logError)(`Error in file: ${path_1.default.join(resolvedPath, dirent.name)}`);
|
|
64
|
-
(0, logger_1.logError)(error.message);
|
|
53
|
+
const command = await loadCommand(path_1.default.join(resolvedPath, dirent.name));
|
|
54
|
+
if (command) {
|
|
55
|
+
slashCommands.set(command.data.name, command);
|
|
65
56
|
}
|
|
66
57
|
}
|
|
67
58
|
}
|
|
59
|
+
const slashCommandArray = Array.from(slashCommands.values()).map(command => command.data.toJSON());
|
|
68
60
|
if (slash.global && !slash.serverId) {
|
|
69
|
-
|
|
70
|
-
await rest.put(v10_1.Routes.applicationCommands((client.user?.id || '')), { body: slashCommandArray, headers: { Authorization: `Bot ${token}` } });
|
|
61
|
+
await rest.put(v10_1.Routes.applicationCommands(client.user?.id || ''), { body: slashCommandArray });
|
|
71
62
|
}
|
|
72
63
|
else if (!slash.global && slash.serverId) {
|
|
73
64
|
const guild = client.guilds.cache.get(slash.serverId);
|
|
74
65
|
if (guild) {
|
|
75
|
-
|
|
76
|
-
await rest.put(v10_1.Routes.applicationGuildCommands((client.user?.id || ''), guild.id), { body: slashCommandArray, headers: { Authorization: `Bot ${token}` } });
|
|
66
|
+
await rest.put(v10_1.Routes.applicationGuildCommands(client.user?.id || '', guild.id), { body: slashCommandArray });
|
|
77
67
|
}
|
|
78
68
|
else {
|
|
79
69
|
(0, logger_1.logError)(`Guild with ID ${slash.serverId} not found.`);
|
|
80
70
|
}
|
|
81
71
|
}
|
|
82
72
|
else {
|
|
83
|
-
|
|
84
|
-
await rest.put(v10_1.Routes.applicationCommands((client.user?.id || '')), { body: slashCommandArray, headers: { Authorization: `Bot ${token}` } });
|
|
73
|
+
await rest.put(v10_1.Routes.applicationCommands(client.user?.id || ''), { body: slashCommandArray });
|
|
85
74
|
}
|
|
86
75
|
}
|
|
87
76
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slash-register.js","sourceRoot":"","sources":["../../../lib/discord/events-handler/slash-register.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"slash-register.js","sourceRoot":"","sources":["../../../lib/discord/events-handler/slash-register.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slash-responder.d.ts","sourceRoot":"","sources":["../../../lib/discord/events-handler/slash-responder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"slash-responder.d.ts","sourceRoot":"","sources":["../../../lib/discord/events-handler/slash-responder.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD,wBAAsB,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA2HhG"}
|
|
@@ -12,29 +12,33 @@ async function loadSlash(client, token, options) {
|
|
|
12
12
|
}
|
|
13
13
|
const interactionCooldowns = new discord_js_1.Collection();
|
|
14
14
|
client.on('interactionCreate', async (interaction) => {
|
|
15
|
-
|
|
15
|
+
// Ensure we are handling the correct type of interaction
|
|
16
|
+
if (!interaction.isCommand() && !interaction.isChatInputCommand() && !interaction.isContextMenuCommand()) {
|
|
16
17
|
return;
|
|
17
18
|
}
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
const guild = interaction.guild; // Get the guild once for better readability
|
|
20
|
+
const user = interaction.user;
|
|
21
|
+
if (guild) {
|
|
20
22
|
const botData = new discord_js_1.Collection();
|
|
21
23
|
const permissionsArray = botData.get('permissions');
|
|
22
|
-
if
|
|
24
|
+
// Check if bot has permission to send messages
|
|
25
|
+
if (!guild.members.me?.permissions.has('SendMessages')) {
|
|
23
26
|
try {
|
|
24
|
-
user.send({ content: "I'm sorry, but I don't have permission to send messages in this server." });
|
|
27
|
+
await user.send({ content: "I'm sorry, but I don't have permission to send messages in this server." });
|
|
25
28
|
}
|
|
26
29
|
catch (error) {
|
|
27
|
-
return;
|
|
30
|
+
return; // Ignore errors when sending the message
|
|
28
31
|
}
|
|
29
32
|
}
|
|
33
|
+
// Check for missing permissions
|
|
30
34
|
if (permissionsArray && permissionsArray.length > 0) {
|
|
31
|
-
const missingPermissions = permissionsArray.filter(permission => !
|
|
35
|
+
const missingPermissions = permissionsArray.filter(permission => !guild.members.me?.permissions.has(permission));
|
|
32
36
|
if (missingPermissions.length > 0) {
|
|
33
37
|
try {
|
|
34
|
-
user.send({ content: `I'm sorry, but I don't have permission(s): ${missingPermissions.join(', ')} in this server.` });
|
|
38
|
+
await user.send({ content: `I'm sorry, but I don't have permission(s): ${missingPermissions.join(', ')} in this server.` });
|
|
35
39
|
}
|
|
36
40
|
catch (error) {
|
|
37
|
-
return;
|
|
41
|
+
return; // Ignore errors when sending the message
|
|
38
42
|
}
|
|
39
43
|
}
|
|
40
44
|
}
|
|
@@ -43,6 +47,7 @@ async function loadSlash(client, token, options) {
|
|
|
43
47
|
const command = slashCommands.get(commandName);
|
|
44
48
|
if (!command)
|
|
45
49
|
return;
|
|
50
|
+
// Handle command cooldowns
|
|
46
51
|
if (command.cooldown && !isNaN(command.cooldown)) {
|
|
47
52
|
const userCooldowns = interactionCooldowns.get(interaction.user.id) || new discord_js_1.Collection();
|
|
48
53
|
const cooldownExpiration = userCooldowns.get(command.data.name);
|
|
@@ -57,31 +62,22 @@ async function loadSlash(client, token, options) {
|
|
|
57
62
|
const startExecutionTime = Date.now();
|
|
58
63
|
try {
|
|
59
64
|
if (command.run) {
|
|
60
|
-
|
|
61
|
-
await command.run(interaction, client);
|
|
62
|
-
}
|
|
63
|
-
else {
|
|
64
|
-
await command.run(interaction);
|
|
65
|
-
}
|
|
65
|
+
await command.run.length === 2 ? command.run(interaction, client) : command.run(interaction);
|
|
66
66
|
}
|
|
67
67
|
else if (command.execute) {
|
|
68
|
-
|
|
69
|
-
await command.execute(interaction, client);
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
await command.execute(interaction);
|
|
73
|
-
}
|
|
68
|
+
await command.execute.length === 2 ? command.execute(interaction, client) : command.execute(interaction);
|
|
74
69
|
}
|
|
75
70
|
else {
|
|
76
71
|
(0, logger_1.logWarning)(`Command "${command.data.name}" has neither run nor execute method.`);
|
|
77
72
|
}
|
|
78
|
-
|
|
79
|
-
|
|
73
|
+
// Logging command usage
|
|
74
|
+
if (options.logsId && guild) {
|
|
75
|
+
const channel = guild.channels.cache.get(options.logsId);
|
|
80
76
|
if (channel) {
|
|
81
|
-
const userName =
|
|
82
|
-
const userId =
|
|
83
|
-
const serverName =
|
|
84
|
-
const serverId =
|
|
77
|
+
const userName = user.username;
|
|
78
|
+
const userId = user.id;
|
|
79
|
+
const serverName = guild.name || 'Unknown Server';
|
|
80
|
+
const serverId = guild.id || 'Unknown ID';
|
|
85
81
|
let messageLink = '';
|
|
86
82
|
if (interaction.channel) {
|
|
87
83
|
messageLink = `https://discord.com/channels/${serverId}/${interaction.channel.id}/${interaction.id}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slash-responder.js","sourceRoot":"","sources":["../../../lib/discord/events-handler/slash-responder.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"slash-responder.js","sourceRoot":"","sources":["../../../lib/discord/events-handler/slash-responder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"starter.js","sourceRoot":"","sources":["../../../lib/discord/events-handler/starter.ts"],"names":[],"mappings":";;;;;;AACA,8CAAuE;AACvE,MAAM,IAAI,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC,UAAU,CAAC;AACxD,mCAAyC;AACzC,sDAAmD;AACnD,qCAAsC;AACtC,
|
|
1
|
+
{"version":3,"file":"starter.js","sourceRoot":"","sources":["../../../lib/discord/events-handler/starter.ts"],"names":[],"mappings":";;;;;;AACA,8CAAuE;AACvE,MAAM,IAAI,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC,UAAU,CAAC;AACxD,mCAAyC;AACzC,sDAAmD;AACnD,qCAAsC;AACtC,2CAAsG;AACtG,gDAAwB;AACxB,4CAAoB;AACpB,oCAAyD;AAEzD,MAAa,OAAO;IAChB,KAAK,CAAC,KAAK,CAAC,GAAQ,EAAE,OAAuB;QACzC,IAAI,OAAO,CAAC;QACZ,IAAI,OAAO,CAAC;QAEZ,IAAI,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;gBACnG,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,IAAI,UAAU,CAAC;gBAEhD,MAAM,OAAO,GAAG,IAAI,4BAAe,CAAC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,EAAE;oBACpE,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,IAAI,MAAM;oBACnD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,SAAS;oBACxC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,SAAS,IAAI,MAAM;oBAC/C,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;oBACjF,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,IAAI,KAAK;oBACxC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE;oBAC3C,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,EAAE,KAAK;oBACnD,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ;iBAC1D,CAAC,CAAC;gBAEH,OAAO,CAAC,EAAE,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,IAAA,eAAO,EAAC,kBAAkB,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gBAC1E,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;gBACtB,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC;gBACpB,GAAG,CAAC,WAAW,GAAG,4BAAe,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,IAAI,SAAS,CAAC,CAAC;gBACvF,IAAA,kBAAU,EAAC,6CAA6C,CAAC,CAAC;YAC9D,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBAClB,IAAA,gBAAQ,EAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;YAChD,CAAC;QACL,CAAC;QACD,IAAI,CAAC;YACD,IAAI,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;gBAC/B,MAAM,IAAA,oBAAY,EAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,IAAI,YAAY,CAAC,CAAC;gBAC3G,OAAO,GAAG,MAAM,IAAA,aAAK,GAAE,CAAC;YAC5B,CAAC;YACD,IAAI,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;gBAC/B,OAAO,GAAG,MAAM,IAAA,oBAAY,EAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC7D,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACjB,MAAM,IAAA,mBAAU,EAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;gBACtC,eAAO,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACnD,CAAC;YACD,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,MAAM,IAAA,aAAK,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAC9B,CAAC;YACD,IAAI,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;gBAC5B,MAAM,IAAA,qBAAS,EAAC,GAAG,EAAE,OAAO,CAAC,CAAA;YACjC,CAAC;QACL,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YACtE,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,IAAI,CAAC,KAAK,CAAC,CAAA;QACjB,OAAO;YACH,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,OAAO;YAChB,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,CAAC;YAC7B,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,CAAC;YAC/B,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,CAAC;YAC7B,MAAM,EAAE,GAAG;SACd,CAAC;IACN,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,KAAU,EAAE,GAAQ,EAAE,OAAuB;QAClE,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QAClD,UAAU,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC7B,CAAC,EAAE,IAAI,CAAC,CAAC;IACb,CAAC;CACJ;AAtED,0BAsEC"}
|
package/dist/discord/utils.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ import { registerSlashCommands } from "./events-handler/slash-register";
|
|
|
9
9
|
import { loadSlash } from "./events-handler/slash-responder";
|
|
10
10
|
import { logError, logInfo, logSuccess, logWarning } from "./functions/logger";
|
|
11
11
|
import { Pagination } from "./builder/system/Pagination";
|
|
12
|
+
import { Djs_Collectors } from "./builder/system/collectors";
|
|
12
13
|
import { loadEvents, withRetry, processEventFile, processDirectory, limitConcurrency, countEventFiles } from "./events-handler/events";
|
|
13
|
-
export { Starter, ButtonManager, MenuManager, PermissionChecker, slashLoader, prefixLoader, eventLoader, readCommands, loadEvents, loadSlash, loadPrefix, handleMessageCreate, processDirectory, countEventFiles, limitConcurrency, withRetry, registerSlashCommands, processEventFile, logError, logInfo, logSuccess, logWarning, Pagination };
|
|
14
|
+
export { Starter, ButtonManager, MenuManager, PermissionChecker, slashLoader, prefixLoader, eventLoader, readCommands, loadEvents, loadSlash, loadPrefix, handleMessageCreate, processDirectory, countEventFiles, limitConcurrency, withRetry, registerSlashCommands, processEventFile, logError, logInfo, logSuccess, logWarning, Pagination, Djs_Collectors };
|
|
14
15
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -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;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
|
+
{"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,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,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,EAAE,CAAC"}
|
package/dist/discord/utils.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Pagination = exports.logWarning = exports.logSuccess = exports.logInfo = exports.logError = exports.processEventFile = exports.registerSlashCommands = exports.withRetry = exports.limitConcurrency = exports.countEventFiles = exports.processDirectory = exports.handleMessageCreate = exports.loadPrefix = exports.loadSlash = exports.loadEvents = exports.readCommands = exports.eventLoader = exports.prefixLoader = exports.slashLoader = exports.PermissionChecker = exports.MenuManager = exports.ButtonManager = exports.Starter = void 0;
|
|
3
|
+
exports.Djs_Collectors = exports.Pagination = exports.logWarning = exports.logSuccess = exports.logInfo = exports.logError = exports.processEventFile = exports.registerSlashCommands = exports.withRetry = exports.limitConcurrency = exports.countEventFiles = exports.processDirectory = exports.handleMessageCreate = exports.loadPrefix = exports.loadSlash = exports.loadEvents = exports.readCommands = exports.eventLoader = exports.prefixLoader = exports.slashLoader = exports.PermissionChecker = exports.MenuManager = exports.ButtonManager = exports.Starter = void 0;
|
|
4
4
|
const starter_1 = require("./events-handler/starter");
|
|
5
5
|
Object.defineProperty(exports, "Starter", { enumerable: true, get: function () { return starter_1.Starter; } });
|
|
6
6
|
const utils_1 = require("./builder/utils");
|
|
@@ -29,6 +29,8 @@ Object.defineProperty(exports, "logSuccess", { enumerable: true, get: function (
|
|
|
29
29
|
Object.defineProperty(exports, "logWarning", { enumerable: true, get: function () { return logger_1.logWarning; } });
|
|
30
30
|
const Pagination_1 = require("./builder/system/Pagination");
|
|
31
31
|
Object.defineProperty(exports, "Pagination", { enumerable: true, get: function () { return Pagination_1.Pagination; } });
|
|
32
|
+
const collectors_1 = require("./builder/system/collectors");
|
|
33
|
+
Object.defineProperty(exports, "Djs_Collectors", { enumerable: true, get: function () { return collectors_1.Djs_Collectors; } });
|
|
32
34
|
const events_1 = require("./events-handler/events");
|
|
33
35
|
Object.defineProperty(exports, "loadEvents", { enumerable: true, get: function () { return events_1.loadEvents; } });
|
|
34
36
|
Object.defineProperty(exports, "withRetry", { enumerable: true, get: function () { return events_1.withRetry; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/discord/utils.ts"],"names":[],"mappings":";;;AAAA,sDAAmD;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/discord/utils.ts"],"names":[],"mappings":";;;AAAA,sDAAmD;AAc1C,wFAdA,iBAAO,OAcA;AAbhB,2CAAgF;AAa9D,8FAbT,qBAAa,OAaS;AAAE,4FAbT,mBAAW,OAaS;AAAE,kGAbT,yBAAiB,OAaS;AAZ/D,8DAA2D;AAYM,4FAZxD,yBAAW,OAYwD;AAX5E,gEAA6D;AAWiB,6FAXrE,2BAAY,OAWqE;AAV1F,8DAA2D;AAUiC,4FAVnF,yBAAW,OAUmF;AATvG,sEAAgE;AASyC,6FAThG,8BAAY,OASgG;AARrH,wEAAoF;AASrE,2FATN,6BAAU,OASM;AAAE,oGATN,sCAAmB,OASM;AAR9C,oEAAwE;AAQwC,sGARvG,sCAAqB,OAQuG;AAPrI,sEAA6D;AAOzD,0FAPK,2BAAS,OAOL;AANb,+CAAgF;AAO1D,yFAPb,iBAAQ,OAOa;AAAE,wFAPb,gBAAO,OAOa;AAAE,2FAPb,mBAAU,OAOa;AAAE,2FAPb,mBAAU,OAOa;AAN/D,4DAAyD;AAMQ,2FANxD,uBAAU,OAMwD;AAL3E,4DAA6D;AAKgB,+FALpE,2BAAc,OAKoE;AAJ3F,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"}
|
|
@@ -62,13 +62,13 @@ import {
|
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
const CUSTOM_IDS = {
|
|
65
|
-
NEXT: "next-
|
|
66
|
-
BACK: "back-
|
|
67
|
-
FIRST: "first-
|
|
68
|
-
LAST: "last-
|
|
69
|
-
DELETE: "delete-
|
|
70
|
-
HOME: "home-
|
|
71
|
-
SELECT: "select-
|
|
65
|
+
NEXT: "next-discobase",
|
|
66
|
+
BACK: "back-discobase",
|
|
67
|
+
FIRST: "first-discobase",
|
|
68
|
+
LAST: "last-discobase",
|
|
69
|
+
DELETE: "delete-discobase",
|
|
70
|
+
HOME: "home-discobase",
|
|
71
|
+
SELECT: "select-discobase"
|
|
72
72
|
};
|
|
73
73
|
|
|
74
74
|
const VALID_BUTTON_STYLES = [
|
|
@@ -202,24 +202,24 @@ import {
|
|
|
202
202
|
const selects = this.options.navigationMenu?.selects || [];
|
|
203
203
|
|
|
204
204
|
if (select_status) {
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
205
|
+
for (let i = 0; i < longest_length; i += 25) {
|
|
206
|
+
const menuOptions = Array.from({ length: Math.min(25, longest_length - i) }, (_, j) => ({
|
|
207
|
+
label: selects[i + j] ? selects[i + j] : `Page ${i + j + 1}`,
|
|
208
|
+
value: `${i + j}`
|
|
209
|
+
}));
|
|
210
210
|
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
211
|
+
const selectMenu = new StringSelectMenuBuilder()
|
|
212
|
+
.setCustomId(`discobase_select_${i / 25}`)
|
|
213
|
+
.setPlaceholder(`${select_placeholder || "Choose a page"} (${i + 1}-${Math.min(i + 25, longest_length)})`)
|
|
214
|
+
.addOptions(menuOptions);
|
|
215
215
|
|
|
216
|
-
|
|
217
|
-
|
|
216
|
+
selectMenus.push(new ActionRowBuilder<StringSelectMenuBuilder>().addComponents(selectMenu));
|
|
217
|
+
}
|
|
218
218
|
}
|
|
219
219
|
|
|
220
220
|
return selectMenus;
|
|
221
|
-
|
|
222
|
-
|
|
221
|
+
}
|
|
222
|
+
|
|
223
223
|
public async send() {
|
|
224
224
|
const { embeds = [], content = [], attachment = [] } = this.options.pages || {};
|
|
225
225
|
|
|
@@ -260,6 +260,7 @@ import {
|
|
|
260
260
|
});
|
|
261
261
|
}
|
|
262
262
|
|
|
263
|
+
|
|
263
264
|
private async handleCollect(i: MessageComponentInteraction) {
|
|
264
265
|
const { embeds = [], content = [], attachment = [] } = this.options.pages || {};
|
|
265
266
|
const num = embeds.length;
|
|
@@ -287,7 +288,7 @@ import {
|
|
|
287
288
|
break;
|
|
288
289
|
}
|
|
289
290
|
} else if (i.isStringSelectMenu()) {
|
|
290
|
-
if (i.customId
|
|
291
|
+
if (i.customId.startsWith("discobase_select_")) {
|
|
291
292
|
this.naw_page = parseInt(i.values[0], 10);
|
|
292
293
|
}
|
|
293
294
|
}
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Message,
|
|
3
|
+
Interaction,
|
|
4
|
+
MessageCollector,
|
|
5
|
+
InteractionCollector,
|
|
6
|
+
CollectorFilter,
|
|
7
|
+
Snowflake,
|
|
8
|
+
ReadonlyCollection,
|
|
9
|
+
CommandInteraction,
|
|
10
|
+
ButtonInteraction,
|
|
11
|
+
MessageReaction,
|
|
12
|
+
ModalSubmitInteraction,
|
|
13
|
+
StringSelectMenuInteraction,
|
|
14
|
+
UserSelectMenuInteraction,
|
|
15
|
+
RoleSelectMenuInteraction,
|
|
16
|
+
ContextMenuCommandInteraction,
|
|
17
|
+
Collector,
|
|
18
|
+
} from 'discord.js';
|
|
19
|
+
|
|
20
|
+
type EventSource = Message | CommandInteraction | ButtonInteraction | MessageReaction | Interaction;
|
|
21
|
+
|
|
22
|
+
const collectorCache: Map<string, any> = new Map();
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* @param sources - The event source(s) (message, interaction, reaction, etc.) to collect from.
|
|
26
|
+
* @param options - Custom options for collection (time, filter, max, idle).
|
|
27
|
+
* @param events - Custom event handlers for `onCollect`, `onEnd`, `onError`, etc.
|
|
28
|
+
*/
|
|
29
|
+
function Djs_Collectors<T extends EventSource>(
|
|
30
|
+
sources: T | T[],
|
|
31
|
+
options: {
|
|
32
|
+
time?: number;
|
|
33
|
+
filter?: CollectorFilter<[T]>;
|
|
34
|
+
max?: number;
|
|
35
|
+
idle?: number;
|
|
36
|
+
log?: boolean;
|
|
37
|
+
throttle?: number;
|
|
38
|
+
uniqueId?: string;
|
|
39
|
+
},
|
|
40
|
+
events: {
|
|
41
|
+
onCollect: (collectedItem: T, meta?: Record<string, any>) => void;
|
|
42
|
+
onEnd?: (collected: ReadonlyCollection<Snowflake, T>, reason: string) => void;
|
|
43
|
+
onError?: (error: Error) => void;
|
|
44
|
+
onDispose?: (disposedItem: T) => void;
|
|
45
|
+
onTimeout?: () => void;
|
|
46
|
+
onStart?: () => void;
|
|
47
|
+
},
|
|
48
|
+
metadata?: Record<string, any>
|
|
49
|
+
): { stop: (reason?: string) => void } {
|
|
50
|
+
const eventSources = Array.isArray(sources) ? sources : [sources];
|
|
51
|
+
const filter: CollectorFilter<[T]> = options.filter || (() => true);
|
|
52
|
+
const time: number = options.time || 60000;
|
|
53
|
+
|
|
54
|
+
if (events.onStart) events.onStart();
|
|
55
|
+
|
|
56
|
+
if (options.uniqueId && collectorCache.has(options.uniqueId)) {
|
|
57
|
+
console.warn(`Collector with unique ID "${options.uniqueId}" is already active. Skipping creation.`);
|
|
58
|
+
return { stop: () => {} };
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
if (options.uniqueId) {
|
|
62
|
+
collectorCache.set(options.uniqueId, { sources: eventSources, time, max: options.max, idle: options.idle });
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
const collectors: any[] = [];
|
|
66
|
+
|
|
67
|
+
for (const source of eventSources) {
|
|
68
|
+
if (source instanceof Message) {
|
|
69
|
+
const messageCollector = new MessageCollector(source.channel, {
|
|
70
|
+
filter: filter as CollectorFilter<[Message]>,
|
|
71
|
+
time,
|
|
72
|
+
max: options.max,
|
|
73
|
+
idle: options.idle,
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
collectors.push(messageCollector); // Store reference
|
|
77
|
+
handleCollector(messageCollector, events, options, metadata);
|
|
78
|
+
|
|
79
|
+
} else if (
|
|
80
|
+
source instanceof CommandInteraction ||
|
|
81
|
+
source instanceof ButtonInteraction ||
|
|
82
|
+
source instanceof StringSelectMenuInteraction ||
|
|
83
|
+
source instanceof UserSelectMenuInteraction ||
|
|
84
|
+
source instanceof RoleSelectMenuInteraction ||
|
|
85
|
+
source instanceof ContextMenuCommandInteraction ||
|
|
86
|
+
source instanceof ModalSubmitInteraction
|
|
87
|
+
) {
|
|
88
|
+
if (!source.client.isReady()) {
|
|
89
|
+
throw new Error('Client is not ready. Please ensure the client is logged in and ready before creating a collector.');
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
const interactionCollector = new InteractionCollector(source.client, {
|
|
93
|
+
filter: filter as CollectorFilter<[Interaction]>,
|
|
94
|
+
time,
|
|
95
|
+
max: options.max,
|
|
96
|
+
idle: options.idle,
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
collectors.push(interactionCollector); // Store reference
|
|
100
|
+
handleCollector(interactionCollector, events, options, metadata);
|
|
101
|
+
|
|
102
|
+
} else if (source instanceof MessageReaction) {
|
|
103
|
+
const reactionCollector = source.message.createReactionCollector({
|
|
104
|
+
filter: filter as CollectorFilter<[MessageReaction]>,
|
|
105
|
+
time,
|
|
106
|
+
max: options.max,
|
|
107
|
+
idle: options.idle,
|
|
108
|
+
});
|
|
109
|
+
|
|
110
|
+
collectors.push(reactionCollector); // Store reference
|
|
111
|
+
handleCollector(reactionCollector, events, options, metadata);
|
|
112
|
+
|
|
113
|
+
} else {
|
|
114
|
+
throw new Error("Source must be either a Message, Interaction, or Reaction.");
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
return {
|
|
119
|
+
stop: (reason: string = 'manual') => {
|
|
120
|
+
if (options.uniqueId) {
|
|
121
|
+
const cached = collectorCache.get(options.uniqueId);
|
|
122
|
+
if (cached) {
|
|
123
|
+
collectors.forEach((collector) => collector.stop(reason));
|
|
124
|
+
collectorCache.delete(options.uniqueId);
|
|
125
|
+
console.log(`Collector with unique ID "${options.uniqueId}" has been ended. Reason: ${reason}`);
|
|
126
|
+
} else {
|
|
127
|
+
console.warn(`No collector found with unique ID "${options.uniqueId}".`);
|
|
128
|
+
}
|
|
129
|
+
} else {
|
|
130
|
+
collectors.forEach((collector) => collector.stop(reason));
|
|
131
|
+
console.log(`Collectors have been ended. Reason: ${reason}`);
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Generic function to handle a collector's events and lifecycle.
|
|
139
|
+
* @param collector - The specific collector (MessageCollector, InteractionCollector, etc.).
|
|
140
|
+
* @param events - The event handlers for collection lifecycle.
|
|
141
|
+
* @param options - Additional collection options.
|
|
142
|
+
* @param metadata - Optional metadata attached to each collected item.
|
|
143
|
+
*/
|
|
144
|
+
function handleCollector<T>(
|
|
145
|
+
collector: any,
|
|
146
|
+
events: {
|
|
147
|
+
onCollect: (collectedItem: T, meta?: Record<string, any>) => void;
|
|
148
|
+
onEnd?: (collected: ReadonlyCollection<Snowflake, T>, reason: string) => void;
|
|
149
|
+
onError?: (error: Error) => void;
|
|
150
|
+
onDispose?: (disposedItem: T) => void;
|
|
151
|
+
onTimeout?: () => void;
|
|
152
|
+
},
|
|
153
|
+
options: { log?: boolean; throttle?: number; uniqueId?: string },
|
|
154
|
+
metadata?: Record<string, any>
|
|
155
|
+
) {
|
|
156
|
+
let lastCollectedTime = 0;
|
|
157
|
+
|
|
158
|
+
collector.on('collect', (collectedItem: T) => {
|
|
159
|
+
const now = Date.now();
|
|
160
|
+
if (options.throttle && now - lastCollectedTime < options.throttle) {
|
|
161
|
+
if (options.log) console.warn(`Throttled collect for ${collectedItem}`);
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
lastCollectedTime = now;
|
|
165
|
+
|
|
166
|
+
if (options.log) console.log('Collected item:', collectedItem);
|
|
167
|
+
events.onCollect(collectedItem, metadata);
|
|
168
|
+
});
|
|
169
|
+
|
|
170
|
+
collector.on('end', (collected: ReadonlyCollection<Snowflake, T>, reason: string) => {
|
|
171
|
+
if (options.log) console.log(`Collector ended. Reason: ${reason}`);
|
|
172
|
+
if (events.onEnd) events.onEnd(collected, reason);
|
|
173
|
+
if (reason === 'time' && events.onTimeout) {
|
|
174
|
+
events.onTimeout();
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
if (options.uniqueId) {
|
|
178
|
+
collectorCache.delete(options.uniqueId);
|
|
179
|
+
}
|
|
180
|
+
});
|
|
181
|
+
|
|
182
|
+
if (events.onError) {
|
|
183
|
+
collector.on('error', (error: Error) => {
|
|
184
|
+
if (options.log) console.error('Collector error:', error);
|
|
185
|
+
(events.onError as (error: Error) => void)(error);
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
if (events.onDispose) {
|
|
190
|
+
collector.on('dispose', (disposedItem: T) => {
|
|
191
|
+
if (options.log) console.log('Disposed item:', disposedItem);
|
|
192
|
+
(events.onDispose as (disposedItem: T) => void)(disposedItem);
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
export { Djs_Collectors };
|