djs-builder 0.5.41 → 0.6.0

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 (156) hide show
  1. package/README.md +140 -303
  2. package/function/function.js +236 -0
  3. package/function/log.js +736 -0
  4. package/handler/helper.js +277 -0
  5. package/handler/starter.js +335 -0
  6. package/package.json +10 -42
  7. package/.tsbuildinfo +0 -1
  8. package/dist/discord/builder/components/Buttons.d.ts +0 -22
  9. package/dist/discord/builder/components/Buttons.d.ts.map +0 -1
  10. package/dist/discord/builder/components/Buttons.js +0 -91
  11. package/dist/discord/builder/components/Buttons.js.map +0 -1
  12. package/dist/discord/builder/components/Menus.d.ts +0 -31
  13. package/dist/discord/builder/components/Menus.d.ts.map +0 -1
  14. package/dist/discord/builder/components/Menus.js +0 -82
  15. package/dist/discord/builder/components/Menus.js.map +0 -1
  16. package/dist/discord/builder/permissions/perms.d.ts +0 -6
  17. package/dist/discord/builder/permissions/perms.d.ts.map +0 -1
  18. package/dist/discord/builder/permissions/perms.js +0 -66
  19. package/dist/discord/builder/permissions/perms.js.map +0 -1
  20. package/dist/discord/builder/system/Pagination.d.ts +0 -70
  21. package/dist/discord/builder/system/Pagination.d.ts.map +0 -1
  22. package/dist/discord/builder/system/Pagination.js +0 -227
  23. package/dist/discord/builder/system/Pagination.js.map +0 -1
  24. package/dist/discord/builder/system/collectors.d.ts +0 -27
  25. package/dist/discord/builder/system/collectors.d.ts.map +0 -1
  26. package/dist/discord/builder/system/collectors.js +0 -137
  27. package/dist/discord/builder/system/collectors.js.map +0 -1
  28. package/dist/discord/builder/utils.d.ts +0 -5
  29. package/dist/discord/builder/utils.d.ts.map +0 -1
  30. package/dist/discord/builder/utils.js +0 -10
  31. package/dist/discord/builder/utils.js.map +0 -1
  32. package/dist/discord/events-handler/eventLoader.d.ts +0 -13
  33. package/dist/discord/events-handler/eventLoader.d.ts.map +0 -1
  34. package/dist/discord/events-handler/eventLoader.js +0 -169
  35. package/dist/discord/events-handler/eventLoader.js.map +0 -1
  36. package/dist/discord/events-handler/events.d.ts +0 -8
  37. package/dist/discord/events-handler/events.d.ts.map +0 -1
  38. package/dist/discord/events-handler/events.js +0 -186
  39. package/dist/discord/events-handler/events.js.map +0 -1
  40. package/dist/discord/events-handler/login.d.ts +0 -9
  41. package/dist/discord/events-handler/login.d.ts.map +0 -1
  42. package/dist/discord/events-handler/login.js +0 -273
  43. package/dist/discord/events-handler/login.js.map +0 -1
  44. package/dist/discord/events-handler/prefix-register.d.ts +0 -23
  45. package/dist/discord/events-handler/prefix-register.d.ts.map +0 -1
  46. package/dist/discord/events-handler/prefix-register.js +0 -109
  47. package/dist/discord/events-handler/prefix-register.js.map +0 -1
  48. package/dist/discord/events-handler/prefix-responder.d.ts +0 -5
  49. package/dist/discord/events-handler/prefix-responder.d.ts.map +0 -1
  50. package/dist/discord/events-handler/prefix-responder.js +0 -155
  51. package/dist/discord/events-handler/prefix-responder.js.map +0 -1
  52. package/dist/discord/events-handler/prefixLoader.d.ts +0 -7
  53. package/dist/discord/events-handler/prefixLoader.d.ts.map +0 -1
  54. package/dist/discord/events-handler/prefixLoader.js +0 -74
  55. package/dist/discord/events-handler/prefixLoader.js.map +0 -1
  56. package/dist/discord/events-handler/slash-register.d.ts +0 -4
  57. package/dist/discord/events-handler/slash-register.d.ts.map +0 -1
  58. package/dist/discord/events-handler/slash-register.js +0 -85
  59. package/dist/discord/events-handler/slash-register.js.map +0 -1
  60. package/dist/discord/events-handler/slash-responder.d.ts +0 -3
  61. package/dist/discord/events-handler/slash-responder.d.ts.map +0 -1
  62. package/dist/discord/events-handler/slash-responder.js +0 -112
  63. package/dist/discord/events-handler/slash-responder.js.map +0 -1
  64. package/dist/discord/events-handler/slashLoader.d.ts +0 -7
  65. package/dist/discord/events-handler/slashLoader.d.ts.map +0 -1
  66. package/dist/discord/events-handler/slashLoader.js +0 -94
  67. package/dist/discord/events-handler/slashLoader.js.map +0 -1
  68. package/dist/discord/events-handler/starter.d.ts +0 -6
  69. package/dist/discord/events-handler/starter.d.ts.map +0 -1
  70. package/dist/discord/events-handler/starter.js +0 -85
  71. package/dist/discord/events-handler/starter.js.map +0 -1
  72. package/dist/discord/functions/anticrash.d.ts +0 -3
  73. package/dist/discord/functions/anticrash.d.ts.map +0 -1
  74. package/dist/discord/functions/anticrash.js +0 -55
  75. package/dist/discord/functions/anticrash.js.map +0 -1
  76. package/dist/discord/functions/devLogs.d.ts +0 -2
  77. package/dist/discord/functions/devLogs.d.ts.map +0 -1
  78. package/dist/discord/functions/devLogs.js +0 -137
  79. package/dist/discord/functions/devLogs.js.map +0 -1
  80. package/dist/discord/functions/logger.d.ts +0 -5
  81. package/dist/discord/functions/logger.d.ts.map +0 -1
  82. package/dist/discord/functions/logger.js +0 -57
  83. package/dist/discord/functions/logger.js.map +0 -1
  84. package/dist/discord/functions/mongoDb.d.ts +0 -4
  85. package/dist/discord/functions/mongoDb.d.ts.map +0 -1
  86. package/dist/discord/functions/mongoDb.js +0 -39
  87. package/dist/discord/functions/mongoDb.js.map +0 -1
  88. package/dist/discord/functions/similarity.d.ts +0 -3
  89. package/dist/discord/functions/similarity.d.ts.map +0 -1
  90. package/dist/discord/functions/similarity.js +0 -56
  91. package/dist/discord/functions/similarity.js.map +0 -1
  92. package/dist/discord/functions/terminal.d.ts +0 -2
  93. package/dist/discord/functions/terminal.d.ts.map +0 -1
  94. package/dist/discord/functions/terminal.js +0 -127
  95. package/dist/discord/functions/terminal.js.map +0 -1
  96. package/dist/discord/functions/utils.d.ts +0 -5
  97. package/dist/discord/functions/utils.d.ts.map +0 -1
  98. package/dist/discord/functions/utils.js +0 -11
  99. package/dist/discord/functions/utils.js.map +0 -1
  100. package/dist/discord/functions/versedb.d.ts +0 -3
  101. package/dist/discord/functions/versedb.d.ts.map +0 -1
  102. package/dist/discord/functions/versedb.js +0 -21
  103. package/dist/discord/functions/versedb.js.map +0 -1
  104. package/dist/discord/games/X-O.d.ts +0 -20
  105. package/dist/discord/games/X-O.d.ts.map +0 -1
  106. package/dist/discord/games/X-O.js +0 -166
  107. package/dist/discord/games/X-O.js.map +0 -1
  108. package/dist/discord/games/rps.d.ts +0 -21
  109. package/dist/discord/games/rps.d.ts.map +0 -1
  110. package/dist/discord/games/rps.js +0 -99
  111. package/dist/discord/games/rps.js.map +0 -1
  112. package/dist/discord/types/starter.d.ts +0 -144
  113. package/dist/discord/types/starter.d.ts.map +0 -1
  114. package/dist/discord/types/starter.js +0 -3
  115. package/dist/discord/types/starter.js.map +0 -1
  116. package/dist/discord/types/utils.d.ts +0 -3
  117. package/dist/discord/types/utils.d.ts.map +0 -1
  118. package/dist/discord/types/utils.js +0 -3
  119. package/dist/discord/types/utils.js.map +0 -1
  120. package/dist/discord/utils.d.ts +0 -15
  121. package/dist/discord/utils.d.ts.map +0 -1
  122. package/dist/discord/utils.js +0 -41
  123. package/dist/discord/utils.js.map +0 -1
  124. package/dist/index.d.ts +0 -4
  125. package/dist/index.d.ts.map +0 -1
  126. package/dist/index.js +0 -71
  127. package/dist/index.js.map +0 -1
  128. package/lib/discord/builder/components/Buttons.ts +0 -123
  129. package/lib/discord/builder/components/Menus.ts +0 -106
  130. package/lib/discord/builder/permissions/perms.ts +0 -66
  131. package/lib/discord/builder/system/Pagination.ts +0 -323
  132. package/lib/discord/builder/system/collectors.ts +0 -197
  133. package/lib/discord/builder/utils.ts +0 -9
  134. package/lib/discord/events-handler/eventLoader.ts +0 -166
  135. package/lib/discord/events-handler/events.ts +0 -160
  136. package/lib/discord/events-handler/login.ts +0 -265
  137. package/lib/discord/events-handler/prefix-register.ts +0 -117
  138. package/lib/discord/events-handler/prefix-responder.ts +0 -176
  139. package/lib/discord/events-handler/prefixLoader.ts +0 -83
  140. package/lib/discord/events-handler/slash-register.ts +0 -81
  141. package/lib/discord/events-handler/slash-responder.ts +0 -136
  142. package/lib/discord/events-handler/slashLoader.ts +0 -104
  143. package/lib/discord/events-handler/starter.ts +0 -85
  144. package/lib/discord/functions/anticrash.ts +0 -60
  145. package/lib/discord/functions/devLogs.ts +0 -128
  146. package/lib/discord/functions/logger.ts +0 -58
  147. package/lib/discord/functions/mongoDb.ts +0 -38
  148. package/lib/discord/functions/similarity.ts +0 -70
  149. package/lib/discord/functions/terminal.ts +0 -162
  150. package/lib/discord/functions/utils.ts +0 -4
  151. package/lib/discord/functions/versedb.ts +0 -17
  152. package/lib/discord/types/starter.ts +0 -158
  153. package/lib/discord/types/utils.ts +0 -2
  154. package/lib/discord/utils.ts +0 -17
  155. package/lib/index.ts +0 -37
  156. package/tsconfig.json +0 -21
@@ -1,109 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.commandNames = exports.aliases = exports.commands = void 0;
27
- exports.readCommands = readCommands;
28
- const discord_js_1 = require("discord.js");
29
- const fs_1 = require("fs");
30
- const path_1 = require("path");
31
- const logger_1 = require("../functions/logger");
32
- exports.commands = new discord_js_1.Collection();
33
- exports.aliases = new discord_js_1.Collection();
34
- exports.commandNames = new Set();
35
- async function readCommands(client, prefix) {
36
- const commandDetails = [];
37
- try {
38
- const resolvedPath = (0, path_1.resolve)(process.cwd(), prefix.path);
39
- await fs_1.promises.access(resolvedPath);
40
- const files = await fs_1.promises.readdir(resolvedPath, { withFileTypes: true });
41
- for (const file of files) {
42
- const filePath = (0, path_1.join)(resolvedPath, file.name);
43
- if (file.isDirectory()) {
44
- const subCommandDetails = await readCommands(client, { path: filePath });
45
- commandDetails.push(...subCommandDetails);
46
- }
47
- else if (file.isFile()) {
48
- try {
49
- const commandModule = await Promise.resolve(`${filePath}`).then(s => __importStar(require(s)));
50
- const command = commandModule.default || commandModule;
51
- if (command && (command.execute || command.run)) {
52
- const method = command.execute ? command.execute : command.run;
53
- const defaultCommand = {
54
- description: "No description provided.",
55
- cooldown: undefined,
56
- usage: "No usage information provided.",
57
- aliases: [],
58
- developer: false,
59
- owner: false,
60
- fastUse: false,
61
- botPerms: [],
62
- userPerms: [],
63
- category: "Uncategorized",
64
- accessLevel: undefined,
65
- ...command,
66
- method
67
- };
68
- exports.commands.set(defaultCommand.name, defaultCommand);
69
- exports.commandNames.add(defaultCommand.name);
70
- if (defaultCommand.aliases && Array.isArray(defaultCommand.aliases)) {
71
- defaultCommand.aliases.forEach(alias => {
72
- exports.aliases.set(alias, defaultCommand.name);
73
- exports.commandNames.add(alias);
74
- });
75
- }
76
- commandDetails.push({
77
- name: defaultCommand.name,
78
- usage: defaultCommand.usage || 'No usage information provided.',
79
- description: defaultCommand.description || 'No description provided.',
80
- aliases: defaultCommand.aliases || [],
81
- cooldown: defaultCommand.cooldown,
82
- developer: defaultCommand.developer,
83
- owner: defaultCommand.owner,
84
- fastUse: defaultCommand.fastUse,
85
- botPerms: defaultCommand.botPerms,
86
- userPerms: defaultCommand.userPerms,
87
- category: defaultCommand.category || 'Uncategorized',
88
- accessLevel: defaultCommand.accessLevel,
89
- method
90
- });
91
- }
92
- }
93
- catch (error) {
94
- (0, logger_1.logError)(`Error in file: ${filePath}`);
95
- (0, logger_1.logError)(error.message, error);
96
- }
97
- }
98
- }
99
- client.prefixCommands = commandDetails;
100
- client.prefixSize = commandDetails.length;
101
- return commandDetails;
102
- }
103
- catch (error) {
104
- (0, logger_1.logError)(`⚠️ Error reading directory: ${prefix.path}`);
105
- (0, logger_1.logError)(error.message, error);
106
- return [];
107
- }
108
- }
109
- //# sourceMappingURL=prefix-register.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prefix-register.js","sourceRoot":"","sources":["../../../lib/discord/events-handler/prefix-register.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,oCA0GC;AApHD,2CAAwC;AACxC,2BAA4C;AAC5C,+BAAqC;AAErC,gDAA+C;AAElC,QAAA,QAAQ,GAAG,IAAI,uBAAU,EAAmB,CAAC;AAC7C,QAAA,OAAO,GAAG,IAAI,uBAAU,EAAkB,CAAC;AAC3C,QAAA,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;AAEvC,KAAK,UAAU,YAAY,CAAC,MAAW,EAAE,MAAwB;IAepE,MAAM,cAAc,GAcf,EAAE,CAAC;IAER,IAAI,CAAC;QACD,MAAM,YAAY,GAAG,IAAA,cAAO,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACzD,MAAM,aAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,aAAU,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAE9E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAE/C,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBACrB,MAAM,iBAAiB,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACzE,cAAc,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAC;YAC9C,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;gBACvB,IAAI,CAAC;oBACD,MAAM,aAAa,GAAG,yBAAa,QAAQ,uCAAC,CAAC;oBAC7C,MAAM,OAAO,GAAY,aAAa,CAAC,OAAO,IAAI,aAAa,CAAC;oBAEhE,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAA;wBAC9D,MAAM,cAAc,GAAY;4BAC5B,WAAW,EAAE,0BAA0B;4BACvC,QAAQ,EAAE,SAAS;4BACnB,KAAK,EAAE,gCAAgC;4BACvC,OAAO,EAAE,EAAE;4BACX,SAAS,EAAE,KAAK;4BAChB,KAAK,EAAE,KAAK;4BACZ,OAAO,EAAE,KAAK;4BACd,QAAQ,EAAE,EAAE;4BACZ,SAAS,EAAE,EAAE;4BACb,QAAQ,EAAE,eAAe;4BACzB,WAAW,EAAE,SAAS;4BACtB,GAAG,OAAO;4BACV,MAAM;yBACT,CAAC;wBAEF,gBAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;wBAClD,oBAAY,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;wBAEtC,IAAI,cAAc,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;4BAClE,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gCACnC,eAAO,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;gCACxC,oBAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;4BAC5B,CAAC,CAAC,CAAC;wBACP,CAAC;wBAED,cAAc,CAAC,IAAI,CAAC;4BAChB,IAAI,EAAE,cAAc,CAAC,IAAI;4BACzB,KAAK,EAAE,cAAc,CAAC,KAAK,IAAI,gCAAgC;4BAC/D,WAAW,EAAE,cAAc,CAAC,WAAW,IAAI,0BAA0B;4BACrE,OAAO,EAAE,cAAc,CAAC,OAAO,IAAI,EAAE;4BACrC,QAAQ,EAAE,cAAc,CAAC,QAAQ;4BACjC,SAAS,EAAE,cAAc,CAAC,SAAS;4BACnC,KAAK,EAAE,cAAc,CAAC,KAAK;4BAC3B,OAAO,EAAE,cAAc,CAAC,OAAO;4BAC/B,QAAQ,EAAE,cAAc,CAAC,QAAQ;4BACjC,SAAS,EAAE,cAAc,CAAC,SAAS;4BACnC,QAAQ,EAAE,cAAc,CAAC,QAAQ,IAAI,eAAe;4BACpD,WAAW,EAAE,cAAc,CAAC,WAAW;4BACvC,MAAM;yBACT,CAAC,CAAC;oBACP,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAU,EAAE,CAAC;oBAClB,IAAA,iBAAQ,EAAC,kBAAkB,QAAQ,EAAE,CAAC,CAAC;oBACvC,IAAA,iBAAQ,EAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBACnC,CAAC;YACL,CAAC;QACL,CAAC;QAED,MAAM,CAAC,cAAc,GAAG,cAAc,CAAC;QACvC,MAAM,CAAC,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC;QAC1C,OAAO,cAAc,CAAC;IAC1B,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QAClB,IAAA,iBAAQ,EAAC,+BAA+B,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACvD,IAAA,iBAAQ,EAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC/B,OAAO,EAAE,CAAC;IACd,CAAC;AACL,CAAC"}
@@ -1,5 +0,0 @@
1
- import { Client, Message } from 'discord.js';
2
- import { PrefixOptions } from '../types/starter';
3
- export declare function handleMessageCreate(message: Message, prefixOptions: PrefixOptions): Promise<void>;
4
- export declare function loadPrefix(client: Client, prefix: PrefixOptions): Promise<void>;
5
- //# sourceMappingURL=prefix-responder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prefix-responder.d.ts","sourceRoot":"","sources":["../../../lib/discord/events-handler/prefix-responder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAA+D,MAAM,YAAY,CAAC;AAI1G,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIjD,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA2JvG;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAUrF"}
@@ -1,155 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.handleMessageCreate = handleMessageCreate;
4
- exports.loadPrefix = loadPrefix;
5
- const discord_js_1 = require("discord.js");
6
- const utils_1 = require("../functions/utils");
7
- const login_1 = require("./login");
8
- const logger_1 = require("../functions/logger");
9
- const cooldowns = new discord_js_1.Collection();
10
- async function handleMessageCreate(message, prefixOptions) {
11
- if (message.author.bot)
12
- return;
13
- let botPrefix = prefixOptions.prefix || '!';
14
- const developers = login_1.botData.get('developers');
15
- const ownerId = login_1.botData.get('ownerId');
16
- if (message.guild) {
17
- const customPrefixEntry = prefixOptions.customPrefix?.find(entry => entry.serverId === message.guild?.id);
18
- if (customPrefixEntry) {
19
- botPrefix = customPrefixEntry.prefix;
20
- }
21
- }
22
- let args = [];
23
- let commandName;
24
- if (message.content.startsWith(botPrefix)) {
25
- args = message.content.slice(botPrefix.length).trim().split(/ +/);
26
- commandName = args.shift()?.toLowerCase();
27
- }
28
- else {
29
- commandName = message.content.split(/ +/)[0].toLowerCase();
30
- args = message.content.split(/ +/).slice(1);
31
- }
32
- if (!commandName)
33
- return;
34
- const command = message.client.prefixCommands.find((cmd) => cmd.name === commandName)
35
- || message.client.prefixCommands.find((cmd) => cmd.aliases.includes(commandName));
36
- if (!command) {
37
- if (message.content.startsWith(botPrefix) && prefixOptions.similarity) {
38
- const similarCommands = (0, utils_1.getSimilarCommands)(commandName, message.client.prefixCommands);
39
- if (similarCommands.length > 0) {
40
- await message.reply(`Command not found. Did you mean: ${similarCommands.join(', ')}?`);
41
- }
42
- else {
43
- await message.reply(`Command '${commandName}' doesn't exist.`);
44
- }
45
- }
46
- return;
47
- }
48
- if (command.owner && message.author.id !== ownerId) {
49
- await message.reply(`Only the bot owner can use this command.`);
50
- return;
51
- }
52
- if (command.developer && (!developers || !developers.includes(message.author.id)) && message.author.id !== ownerId) {
53
- await message.reply("You are not authorized to use this command.");
54
- return;
55
- }
56
- if (message.guild) {
57
- if (command.botPerms && command.botPerms.length > 0) {
58
- const missingBotPerms = command.botPerms.filter((perm) => !message.guild?.members.me?.permissions.has(perm));
59
- if (missingBotPerms.length > 0) {
60
- await message.reply(`I'm missing the following permissions to execute this command: ${missingBotPerms.join(', ')}`);
61
- return;
62
- }
63
- }
64
- if (command.userPerms && command.userPerms.length > 0) {
65
- const member = message.guild.members.cache.get(message.author.id);
66
- if (member) {
67
- const missingUserPerms = command.userPerms.filter((perm) => !member.permissions.has(perm));
68
- if (missingUserPerms.length > 0) {
69
- await message.reply(`You are missing the following permissions to use this command: ${missingUserPerms.join(', ')}`);
70
- return;
71
- }
72
- }
73
- }
74
- if (command.accessLevel) {
75
- const member = message.guild.members.cache.get(message.author.id);
76
- if (member) {
77
- const accessRole = message.guild.roles.cache.get(command.accessLevel);
78
- if (!accessRole) {
79
- await message.reply("The required role does not exist in this server.");
80
- return;
81
- }
82
- const hasRequiredRole = member.roles.cache.some(role => role.id === command.accessLevel || role.position > accessRole.position);
83
- if (!hasRequiredRole) {
84
- await message.reply("You do not have the required role or a role higher than it to use this command.");
85
- return;
86
- }
87
- }
88
- }
89
- }
90
- // Handle cooldowns
91
- const now = Date.now();
92
- const timestamps = cooldowns.get(command.name) || new discord_js_1.Collection();
93
- const cooldownAmount = (command.cooldown || 3) * 1000;
94
- if (timestamps.has(message.author.id)) {
95
- const expirationTime = timestamps.get(message.author.id) || 0;
96
- const timeLeft = (expirationTime - now) / 1000;
97
- if (now < expirationTime) {
98
- await message.reply(`Please wait ${timeLeft.toFixed(1)} more second(s) before reusing the \`${command.name}\` command.`);
99
- return;
100
- }
101
- }
102
- timestamps.set(message.author.id, now);
103
- setTimeout(() => timestamps.delete(message.author.id), cooldownAmount);
104
- cooldowns.set(command.name, timestamps);
105
- try {
106
- if (command && command.fastUse && !message.content.startsWith(botPrefix)) {
107
- if (command.method) {
108
- command.method(message.client, message, args);
109
- }
110
- else {
111
- (0, logger_1.logError)(`Error executing command ${command.name}`);
112
- }
113
- }
114
- else {
115
- if (command && command.method) {
116
- command.method(message.client, message, args);
117
- }
118
- else {
119
- (0, logger_1.logError)(`Error executing command ${command.name}`);
120
- }
121
- }
122
- if (message.guild && prefixOptions.logsId && commandName) {
123
- const channel = message.guild.channels.cache.get(prefixOptions.logsId);
124
- if (channel) {
125
- const userName = message.author.username;
126
- const userId = message.author.id;
127
- const serverName = message.guild.name || null;
128
- const serverId = message.guild.id || null;
129
- const messageLink = `https://discord.com/channels/${serverId}/${message.channel.id}/${message.id}`;
130
- const embedLog = new discord_js_1.EmbedBuilder()
131
- .setColor("Blue")
132
- .setThumbnail(message.client.user?.displayAvatarURL())
133
- .setTitle("Use Prefix Command")
134
- .setTimestamp()
135
- .addFields({ name: "📧 Cmd:", value: `- ${commandName}`, inline: true }, { name: "🤪 User:", value: `- ${userName} (<@${userId}>)`, inline: true }, { name: "\u200B", value: "\u200B", inline: true }, { name: "🏠 Server:", value: `- ${serverName}.\n- [\`${serverId}\`].`, inline: true }, { name: "📩 Message:", value: `- [Link](${messageLink})`, inline: true }, { name: "\u200B", value: "\u200B", inline: true }, { name: "⏳ Date:", value: `- <t:${Math.floor(Date.now() / 1000)}:R>`, inline: true });
136
- await channel.send({ embeds: [embedLog] });
137
- }
138
- }
139
- }
140
- catch (error) {
141
- (0, logger_1.logError)(`Error executing command ${command.name}`, error);
142
- }
143
- }
144
- async function loadPrefix(client, prefix) {
145
- if (!prefix.prefix) {
146
- throw new Error("⚠️ No command prefix provided. Please provide a command prefix.");
147
- }
148
- try {
149
- client.on("messageCreate", async (message) => await handleMessageCreate(message, prefix));
150
- }
151
- catch (error) {
152
- (0, logger_1.logError)("An error occurred while loading prefix.", error);
153
- }
154
- }
155
- //# sourceMappingURL=prefix-responder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prefix-responder.js","sourceRoot":"","sources":["../../../lib/discord/events-handler/prefix-responder.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- import { Client, Collection } from 'discord.js';
2
- export declare function prefixLoader(client: any): Promise<{
3
- commands: Collection<string, any>;
4
- success: boolean;
5
- }>;
6
- export declare function autoPrefixLoader(client: Client, DEBOUNCE_DELAY?: number): void;
7
- //# sourceMappingURL=prefixLoader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prefixLoader.d.ts","sourceRoot":"","sources":["../../../lib/discord/events-handler/prefixLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAUhD,wBAAsB,YAAY,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC;IAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CA4ChH;AAGD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,GAAE,MAAc,QAyB9E"}
@@ -1,74 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.prefixLoader = prefixLoader;
4
- exports.autoPrefixLoader = autoPrefixLoader;
5
- const discord_js_1 = require("discord.js");
6
- const promises_1 = require("fs/promises");
7
- const path_1 = require("path");
8
- const prefix_register_1 = require("./prefix-register");
9
- const prefix_register_2 = require("./prefix-register");
10
- const logger_1 = require("../functions/logger");
11
- const login_1 = require("./login");
12
- const fs_1 = require("fs");
13
- const validExtensions = ['.js', '.ts'];
14
- async function prefixLoader(client) {
15
- try {
16
- const prefixPath = login_1.botData.get('prefixPath');
17
- prefix_register_1.commands.clear();
18
- prefix_register_1.aliases.clear();
19
- prefix_register_1.commandNames.clear();
20
- client.prefixCommands = [];
21
- client.prefixSize = 0;
22
- const resolvedPath = (0, path_1.resolve)(process.cwd(), prefixPath);
23
- const dirents = await (0, promises_1.readdir)(resolvedPath, { withFileTypes: true });
24
- const filePaths = [];
25
- for (const dirent of dirents) {
26
- if (dirent.isDirectory()) {
27
- const folderPath = (0, path_1.join)(resolvedPath, dirent.name);
28
- const files = await (0, promises_1.readdir)(folderPath);
29
- for (const file of files) {
30
- if (validExtensions.includes((0, path_1.extname)(file))) {
31
- filePaths.push((0, path_1.join)(folderPath, file));
32
- }
33
- }
34
- }
35
- else if (validExtensions.includes((0, path_1.extname)(dirent.name))) {
36
- filePaths.push((0, path_1.join)(resolvedPath, dirent.name));
37
- }
38
- }
39
- for (const filePath of filePaths) {
40
- delete require.cache[require.resolve(filePath)];
41
- }
42
- const commandDetails = await (0, prefix_register_2.readCommands)(client, { path: prefixPath });
43
- client.prefixCommands = commandDetails;
44
- client.prefixSize = commandDetails.length;
45
- return { commands: prefix_register_1.commands, success: true };
46
- }
47
- catch (error) {
48
- (0, logger_1.logError)('Error reloading commands:');
49
- (0, logger_1.logError)(error.message, error);
50
- return { commands: new discord_js_1.Collection(), success: false };
51
- }
52
- }
53
- function autoPrefixLoader(client, DEBOUNCE_DELAY = 10000) {
54
- const slashPath = login_1.botData.get('slashCommandPath');
55
- const commandPath = (0, path_1.resolve)(process.cwd(), slashPath);
56
- let debounceTimer = null;
57
- const handleReload = async () => {
58
- if (debounceTimer) {
59
- clearTimeout(debounceTimer);
60
- }
61
- debounceTimer = setTimeout(async () => {
62
- await prefixLoader(client);
63
- (0, logger_1.logInfo)('Slash commands successfully reloaded after debounce.');
64
- }, DEBOUNCE_DELAY);
65
- };
66
- (0, fs_1.watch)(commandPath, { recursive: false }, (eventType, filename) => {
67
- if (filename && validExtensions.includes((0, path_1.extname)(filename))) {
68
- (0, logger_1.logInfo)(`Detected ${eventType} in ${filename}, waiting for debouncing...`);
69
- handleReload();
70
- }
71
- });
72
- (0, logger_1.logInfo)('Started watching for changes in slash commands...');
73
- }
74
- //# sourceMappingURL=prefixLoader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prefixLoader.js","sourceRoot":"","sources":["../../../lib/discord/events-handler/prefixLoader.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import { Collection } from 'discord.js';
2
- import { SlashOptions } from '../types/starter';
3
- export declare function registerSlashCommands(client: any, token: string, slash: SlashOptions): Promise<Collection<string, any>>;
4
- //# sourceMappingURL=slash-register.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"slash-register.d.ts","sourceRoot":"","sources":["../../../lib/discord/events-handler/slash-register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAS,MAAM,YAAY,CAAC;AAK/C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAsBhD,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAqD7H"}
@@ -1,85 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.registerSlashCommands = registerSlashCommands;
7
- const discord_js_1 = require("discord.js");
8
- const rest_1 = require("@discordjs/rest");
9
- const v10_1 = require("discord-api-types/v10");
10
- const promises_1 = require("fs/promises");
11
- const path_1 = __importDefault(require("path"));
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
- }
32
- async function registerSlashCommands(client, token, slash) {
33
- if (!token) {
34
- throw new Error("⚠️ Please provide valid bot token to register slash commands.");
35
- }
36
- const slashCommands = new discord_js_1.Collection();
37
- const rest = new rest_1.REST({ version: '10' }).setToken(token);
38
- try {
39
- const resolvedPath = path_1.default.join(process.cwd(), slash.path);
40
- const dirents = await (0, promises_1.readdir)(resolvedPath, { withFileTypes: true });
41
- for (const dirent of dirents) {
42
- const folderPath = path_1.default.join(resolvedPath, dirent.name);
43
- if (dirent.isDirectory()) {
44
- const files = await (0, promises_1.readdir)(folderPath);
45
- for (const file of files) {
46
- const command = await loadCommand(path_1.default.join(folderPath, file));
47
- if (command) {
48
- slashCommands.set(command.data.name, command);
49
- }
50
- }
51
- }
52
- else {
53
- const command = await loadCommand(path_1.default.join(resolvedPath, dirent.name));
54
- if (command) {
55
- slashCommands.set(command.data.name, command);
56
- }
57
- }
58
- }
59
- const slashCommandArray = Array.from(slashCommands.values()).map(command => command.data.toJSON());
60
- if (slash.global && !slash.serverId) {
61
- await rest.put(v10_1.Routes.applicationCommands(client.user?.id || ''), { body: slashCommandArray });
62
- }
63
- else if (!slash.global && slash.serverId) {
64
- const guild = client.guilds.cache.get(slash.serverId);
65
- if (guild) {
66
- await rest.put(v10_1.Routes.applicationGuildCommands(client.user?.id || '', guild.id), { body: slashCommandArray });
67
- }
68
- else {
69
- (0, logger_1.logError)(`Guild with ID ${slash.serverId} not found.`);
70
- }
71
- }
72
- else {
73
- await rest.put(v10_1.Routes.applicationCommands(client.user?.id || ''), { body: slashCommandArray });
74
- }
75
- }
76
- catch (error) {
77
- (0, logger_1.logError)('Error registering slash commands:');
78
- (0, logger_1.logError)(error.message);
79
- console.error(error);
80
- }
81
- client.slashCommands = slashCommands;
82
- client.slashSize = slashCommands.size;
83
- return slashCommands;
84
- }
85
- //# sourceMappingURL=slash-register.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"slash-register.js","sourceRoot":"","sources":["../../../lib/discord/events-handler/slash-register.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { SlashOptions } from '../types/starter';
2
- export declare function loadSlash(client: any, token: string, options: SlashOptions): Promise<void>;
3
- //# sourceMappingURL=slash-responder.d.ts.map
@@ -1 +0,0 @@
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"}
@@ -1,112 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.loadSlash = loadSlash;
4
- const discord_js_1 = require("discord.js");
5
- const slash_register_1 = require("./slash-register");
6
- const logger_1 = require("../functions/logger");
7
- async function loadSlash(client, token, options) {
8
- const slashCommands = await (0, slash_register_1.registerSlashCommands)(client, token, options);
9
- if (!slashCommands || slashCommands.size === 0) {
10
- (0, logger_1.logWarning)('No registered slash commands. SlashHandler won\'t work.');
11
- return;
12
- }
13
- const interactionCooldowns = new discord_js_1.Collection();
14
- client.on('interactionCreate', async (interaction) => {
15
- // Ensure we are handling the correct type of interaction
16
- if (!interaction.isCommand() && !interaction.isChatInputCommand() && !interaction.isContextMenuCommand()) {
17
- return;
18
- }
19
- const guild = interaction.guild; // Get the guild once for better readability
20
- const user = interaction.user;
21
- if (guild) {
22
- const botData = new discord_js_1.Collection();
23
- const permissionsArray = botData.get('permissions');
24
- // Check if bot has permission to send messages
25
- if (!guild.members.me?.permissions.has('SendMessages')) {
26
- try {
27
- await user.send({ content: "I'm sorry, but I don't have permission to send messages in this server." });
28
- }
29
- catch (error) {
30
- return; // Ignore errors when sending the message
31
- }
32
- }
33
- // Check for missing permissions
34
- if (permissionsArray && permissionsArray.length > 0) {
35
- const missingPermissions = permissionsArray.filter(permission => !guild.members.me?.permissions.has(permission));
36
- if (missingPermissions.length > 0) {
37
- try {
38
- await user.send({ content: `I'm sorry, but I don't have permission(s): ${missingPermissions.join(', ')} in this server.` });
39
- }
40
- catch (error) {
41
- return; // Ignore errors when sending the message
42
- }
43
- }
44
- }
45
- }
46
- const commandName = interaction.commandName;
47
- const command = slashCommands.get(commandName);
48
- if (!command)
49
- return;
50
- // Handle command cooldowns
51
- if (command.cooldown && !isNaN(command.cooldown)) {
52
- const userCooldowns = interactionCooldowns.get(interaction.user.id) || new discord_js_1.Collection();
53
- const cooldownExpiration = userCooldowns.get(command.data.name);
54
- if (cooldownExpiration && cooldownExpiration > Date.now()) {
55
- const remainingCooldown = (cooldownExpiration - Date.now()) / 1000;
56
- await interaction.reply(`Command is on cooldown. Please wait ${remainingCooldown.toFixed(1)} seconds.`);
57
- return;
58
- }
59
- userCooldowns.set(command.data.name, Date.now() + command.cooldown * 1000);
60
- interactionCooldowns.set(interaction.user.id, userCooldowns);
61
- }
62
- const startExecutionTime = Date.now();
63
- try {
64
- if (command.run) {
65
- await command.run.length === 2 ? command.run(interaction, client) : command.run(interaction);
66
- }
67
- else if (command.execute) {
68
- await command.execute.length === 2 ? command.execute(interaction, client) : command.execute(interaction);
69
- }
70
- else {
71
- (0, logger_1.logWarning)(`Command "${command.data.name}" has neither run nor execute method.`);
72
- }
73
- // Logging command usage
74
- if (options.logsId && guild) {
75
- const channel = guild.channels.cache.get(options.logsId);
76
- if (channel) {
77
- const userName = user.username;
78
- const userId = user.id;
79
- const serverName = guild.name || 'Unknown Server';
80
- const serverId = guild.id || 'Unknown ID';
81
- let messageLink = '';
82
- if (interaction.channel) {
83
- messageLink = `https://discord.com/channels/${serverId}/${interaction.channel.id}/${interaction.id}`;
84
- }
85
- else {
86
- messageLink = 'Unknown';
87
- }
88
- const embedLog = new discord_js_1.EmbedBuilder()
89
- .setColor("Blue")
90
- .setThumbnail(interaction.client.user?.displayAvatarURL())
91
- .setTitle("Use Slash Command")
92
- .setTimestamp()
93
- .addFields({ name: "📧 Cmd:", value: `- ${command.data.name}`, inline: true }, { name: "🤪 User:", value: `- ${userName} (<@${userId}>)`, inline: true }, { name: "\u200B", value: "\u200B", inline: true }, { name: "🏠 Server:", value: `- ${serverName}.\n- [\`${serverId}\`].`, inline: true }, { name: "📩 Message:", value: `- [Link](${messageLink})`, inline: true }, { name: "\u200B", value: "\u200B", inline: true }, { name: "⏳ Date:", value: `- <t:${Math.floor(Date.now() / 1000)}:R>`, inline: true });
94
- await channel.send({ embeds: [embedLog] });
95
- }
96
- }
97
- const executionTime = Date.now() - startExecutionTime;
98
- if (executionTime > 3000) {
99
- (0, logger_1.logInfo)(`Command "${command.data.name}" took ${executionTime}ms to execute.`);
100
- }
101
- }
102
- catch (error) {
103
- (0, logger_1.logError)(`Error executing command "${command.data.name}":`);
104
- (0, logger_1.logError)(error.message);
105
- console.error(error);
106
- if (interaction.channel) {
107
- await interaction.channel.send({ content: 'An error occurred while executing the command.' });
108
- }
109
- }
110
- });
111
- }
112
- //# sourceMappingURL=slash-responder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"slash-responder.js","sourceRoot":"","sources":["../../../lib/discord/events-handler/slash-responder.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- import { Client, Collection } from 'discord.js';
2
- export declare function slashLoader(client: any): Promise<{
3
- commands: Collection<string, any>;
4
- success: boolean;
5
- }>;
6
- export declare function autoSlashLoader(client: Client, DEBOUNCE_DELAY?: number): void;
7
- //# sourceMappingURL=slashLoader.d.ts.map