apexify.js 1.2.1

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 (75) hide show
  1. package/README.md +1117 -0
  2. package/index.js +111 -0
  3. package/lib/ai/apexAI.js +312 -0
  4. package/lib/ai/functions/chunkString.js +8 -0
  5. package/lib/ai/functions/draw.js +347 -0
  6. package/lib/ai/functions/generateVoiceResponse.js +239 -0
  7. package/lib/ai/functions/processImageAttachments.js +93 -0
  8. package/lib/ai/functions/processMessageContent.js +48 -0
  9. package/lib/ai/functions/readFiles.js +95 -0
  10. package/lib/ai/functions/shouldDrawImage.js +12 -0
  11. package/lib/ai/utils.js +18 -0
  12. package/lib/canvas/ApexPainter.js +1194 -0
  13. package/lib/canvas/themes/level ara.ttf +0 -0
  14. package/lib/canvas/themes/levelFont.ttf +0 -0
  15. package/lib/canvas/themes/levels-card.js +872 -0
  16. package/lib/canvas/themes/music-card.js +342 -0
  17. package/lib/canvas/themes/numbers.ttf +0 -0
  18. package/lib/canvas/themes/tajawal.ttf +0 -0
  19. package/lib/database/MongoDB.js +126 -0
  20. package/lib/database/NanoDB.js +1318 -0
  21. package/lib/database/mongoDb/aggregate.js +120 -0
  22. package/lib/database/mongoDb/countDocs.js +115 -0
  23. package/lib/database/mongoDb/createCollection.js +125 -0
  24. package/lib/database/mongoDb/dataSize.js +89 -0
  25. package/lib/database/mongoDb/distinct.js +110 -0
  26. package/lib/database/mongoDb/drop.js +76 -0
  27. package/lib/database/mongoDb/find.js +122 -0
  28. package/lib/database/mongoDb/geoNear.js +91 -0
  29. package/lib/database/mongoDb/index.js +71 -0
  30. package/lib/database/mongoDb/listCollections.js +81 -0
  31. package/lib/database/mongoDb/migrateAndPrune.js +89 -0
  32. package/lib/database/mongoDb/migrateData.js +79 -0
  33. package/lib/database/mongoDb/remove.js +73 -0
  34. package/lib/database/mongoDb/removeMany.js +73 -0
  35. package/lib/database/mongoDb/removeManyExcept.js +91 -0
  36. package/lib/database/mongoDb/removeSpecific.js +93 -0
  37. package/lib/database/mongoDb/save.js +94 -0
  38. package/lib/database/mongoDb/searchMany.js +109 -0
  39. package/lib/database/mongoDb/textSearch.js +88 -0
  40. package/lib/database/mongoDb/updateAll.js +80 -0
  41. package/lib/database/mongoDb/updateAllExcept.js +108 -0
  42. package/lib/database/mongoDb/updateData.js +106 -0
  43. package/lib/database/nanoDb/fetchData.js +39 -0
  44. package/lib/database/nanoDb/removeField.js +46 -0
  45. package/lib/database/nanoDb/saveData.js +68 -0
  46. package/lib/database/nanoDb/updateFilter.js +24 -0
  47. package/lib/database/ready-schemas.js +245 -0
  48. package/lib/database/utils.js +58 -0
  49. package/lib/discord/discord-build/commands-(prefix)/music/functions/buttons.js +361 -0
  50. package/lib/discord/discord-build/commands-(prefix)/music/functions/end.js +58 -0
  51. package/lib/discord/discord-build/commands-(prefix)/music/functions/start.js +115 -0
  52. package/lib/discord/discord-build/commands-(prefix)/music/play.js +152 -0
  53. package/lib/discord/discord-build/commands-(prefix)/music/previous.js +82 -0
  54. package/lib/discord/discord-build/commands-(prefix)/music/resume.js +93 -0
  55. package/lib/discord/discord-build/commands-(prefix)/music/skip.js +82 -0
  56. package/lib/discord/discord-build/commands-(prefix)/music/stop.js +79 -0
  57. package/lib/discord/discord-build/components/buttons.js +75 -0
  58. package/lib/discord/discord-build/components/menus.js +81 -0
  59. package/lib/discord/discord-build/components/paginator.js +156 -0
  60. package/lib/discord/discord-build/components/permsChecker.js +81 -0
  61. package/lib/discord/discord-build/utils.js +21 -0
  62. package/lib/discord/events/eventer.js +100 -0
  63. package/lib/discord/events/handler/drawMenu.js +351 -0
  64. package/lib/discord/events/handler/tools.js +652 -0
  65. package/lib/discord/events/prefixRegister.js +136 -0
  66. package/lib/discord/events/prefixResponder.js +163 -0
  67. package/lib/discord/events/slashRegister.js +199 -0
  68. package/lib/discord/events/slashResponder.js +108 -0
  69. package/lib/discord/events/starter.js +335 -0
  70. package/lib/discord/functions/perms.js +19 -0
  71. package/lib/discord/utils.js +6 -0
  72. package/lib/general-functions/discord/type-writer.js +77 -0
  73. package/lib/general-functions/utils.js +0 -0
  74. package/lib/utils.js +90 -0
  75. package/package.json +118 -0
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var discord_js_1 = require("discord.js");
39
+ exports.Paginator = void 0;
40
+ var Paginator = /** @class */ (function () {
41
+ function Paginator(_a) {
42
+ var options = _a.options, _b = _a.timeout, timeout = _b === void 0 ? 10000 : _b;
43
+ this.options = options;
44
+ this.currentIndex = 0;
45
+ this.timeout = timeout;
46
+ this.pages = this.generatePages();
47
+ }
48
+ Paginator.prototype.generatePages = function () {
49
+ var pages = [];
50
+ for (var _i = 0, _a = this.options; _i < _a.length; _i++) {
51
+ var option = _a[_i];
52
+ var embed = new discord_js_1.EmbedBuilder();
53
+ if (option.title)
54
+ embed.setTitle(option.title);
55
+ if (option.color)
56
+ embed.setColor(option.color);
57
+ if (option.description)
58
+ embed.setDescription(option.description);
59
+ if (option.authorName)
60
+ embed.setAuthor({ name: option.authorName, iconURL: option.authorIcon || undefined });
61
+ if (option.timestamp)
62
+ embed.setTimestamp();
63
+ if (option.footerName)
64
+ embed.setFooter({ text: option.footerName, iconURL: option.footerIcon || undefined });
65
+ if (option.image)
66
+ embed.setImage(option.image);
67
+ if (option.thumbnail)
68
+ embed.setThumbnail(option.thumbnail);
69
+ if (option.url)
70
+ embed.setURL(option.url);
71
+ pages.push(embed);
72
+ }
73
+ return pages;
74
+ };
75
+ Paginator.prototype.createButtons = function (buttonOptions) {
76
+ var previousButton = new discord_js_1.ButtonBuilder()
77
+ .setCustomId('apexify_prev')
78
+ .setEmoji('⬅️')
79
+ .setStyle('Primary');
80
+ var nextButton = new discord_js_1.ButtonBuilder()
81
+ .setCustomId('apexify_next')
82
+ .setEmoji('➡️')
83
+ .setStyle('Primary');
84
+ return new discord_js_1.ActionRowBuilder().addComponents(previousButton, nextButton);
85
+ };
86
+ Paginator.prototype.send = function (target, user, _a) {
87
+ var _b = _a === void 0 ? {} : _a, _c = _b.ownerOnly, ownerOnly = _c === void 0 ? false : _c, _d = _b.hidden, hidden = _d === void 0 ? false : _d, _e = _b.buttonOptions, buttonOptions = _e === void 0 ? {} : _e;
88
+ return __awaiter(this, void 0, void 0, function () {
89
+ var page, row, options, sentMessage, filter, collector;
90
+ var _this = this;
91
+ return __generator(this, function (_f) {
92
+ switch (_f.label) {
93
+ case 0:
94
+ page = this.pages[this.currentIndex];
95
+ row = this.createButtons(buttonOptions);
96
+ options = { embeds: [page], components: [row] };
97
+ if (hidden) {
98
+ options.ephemeral = true;
99
+ }
100
+ return [4 /*yield*/, target.reply(options)];
101
+ case 1:
102
+ sentMessage = _f.sent();
103
+ filter = function (i) {
104
+ if (ownerOnly && i.user.id !== user.id) {
105
+ i.reply({ content: "You can't use this button. Re-run the command to make your own", ephemeral: true });
106
+ return false;
107
+ }
108
+ return i.customId === 'apexify_prev' || i.customId === 'apexify_next';
109
+ };
110
+ collector = sentMessage.createMessageComponentCollector({ filter: filter, time: this.timeout });
111
+ collector.on('collect', function (i) { return __awaiter(_this, void 0, void 0, function () {
112
+ var newPage;
113
+ return __generator(this, function (_a) {
114
+ switch (_a.label) {
115
+ case 0: return [4 /*yield*/, i.deferUpdate()];
116
+ case 1:
117
+ _a.sent();
118
+ if (i.customId === 'apexify_prev') {
119
+ this.currentIndex = (this.currentIndex - 1 + this.pages.length) % this.pages.length;
120
+ }
121
+ else if (i.customId === 'apexify_next') {
122
+ this.currentIndex = (this.currentIndex + 1) % this.pages.length;
123
+ }
124
+ newPage = this.pages[this.currentIndex];
125
+ return [4 /*yield*/, sentMessage.edit({ embeds: [newPage] })];
126
+ case 2:
127
+ _a.sent();
128
+ return [2 /*return*/];
129
+ }
130
+ });
131
+ }); });
132
+ collector.on('end', function (collected, reason) { return __awaiter(_this, void 0, void 0, function () {
133
+ return __generator(this, function (_a) {
134
+ switch (_a.label) {
135
+ case 0:
136
+ if (!(reason === 'time')) return [3 /*break*/, 2];
137
+ row.components.forEach(function (component) {
138
+ component.setDisabled(true);
139
+ });
140
+ return [4 /*yield*/, sentMessage.edit({ components: [row] })];
141
+ case 1:
142
+ _a.sent();
143
+ _a.label = 2;
144
+ case 2: return [2 /*return*/];
145
+ }
146
+ });
147
+ }); });
148
+ return [2 /*return*/];
149
+ }
150
+ });
151
+ });
152
+ };
153
+ return Paginator;
154
+ }());
155
+
156
+ exports.Paginator = Paginator;
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ exports.PermissionChecker = void 0;
39
+ var PermissionChecker = /** @class */ (function () {
40
+ function PermissionChecker() {
41
+ this.validPermissions = new Set([
42
+ 'CreateInstantInvite', 'KickMembers', 'BanMembers', 'Administrator',
43
+ 'ManageChannels', 'ManageGuild', 'AddReactions', 'ViewAuditLog',
44
+ 'PrioritySpeaker', 'Stream', 'ViewChannel', 'SendMessages', 'SendTTSMessages',
45
+ 'ManageMessages', 'EmbedLinks', 'AttachFiles', 'ReadMessageHistory',
46
+ 'MentionEveryone', 'UseExternalEmojis', 'ViewGuildInsights', 'Connect',
47
+ 'Speak', 'MuteMembers', 'DeafenMembers', 'MoveMembers', 'UseVAD',
48
+ 'ChangeNickname', 'ManageNicknames', 'ManageRoles', 'ManageWebhooks',
49
+ 'ManageEmojisAndStickers', 'ManageGuildExpressions', 'UseApplicationCommands',
50
+ 'RequestToSpeak', 'ManageEvents', 'ManageThreads', 'CreatePublicThreads',
51
+ 'CreatePrivateThreads', 'UseExternalStickers', 'SendMessagesInThreads',
52
+ 'UseEmbeddedActivities', 'ModerateMembers', 'UseSoundboard', 'UseExternalSounds',
53
+ 'SendVoiceMessages'
54
+ ]);
55
+ }
56
+ PermissionChecker.prototype.checker = function (target, guild, requiredPermissions) {
57
+ return __awaiter(this, void 0, void 0, function () {
58
+ var invalidPermissions, member;
59
+ var _this = this;
60
+ return __generator(this, function (_a) {
61
+ switch (_a.label) {
62
+ case 0:
63
+ if (!requiredPermissions || !Array.isArray(requiredPermissions) || requiredPermissions.length === 0) {
64
+ throw new Error('Invalid requiredPermissions. Must be a non-empty array.');
65
+ }
66
+ invalidPermissions = requiredPermissions.filter(function (permission) { return !_this.validPermissions.has(permission); });
67
+ if (invalidPermissions.length > 0) {
68
+ throw new Error("Invalid permissions found: ".concat(invalidPermissions.join(', '), "."));
69
+ }
70
+ return [4 /*yield*/, guild.members.fetch(target)];
71
+ case 1:
72
+ member = _a.sent();
73
+ return [2 /*return*/, member.permissions.has(requiredPermissions)];
74
+ }
75
+ });
76
+ });
77
+ };
78
+ return PermissionChecker;
79
+ }());
80
+
81
+ exports.PermissionChecker = PermissionChecker;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.previousCommand = exports.resumeCommand = exports.skipCommand = exports.stopCommand = exports.playCommand = exports.PermissionChecker = exports.Paginator = exports.SelectMenuManager = exports.ButtonManager = void 0;
4
+ var buttons_1 = require("./components/buttons");
5
+ Object.defineProperty(exports, "ButtonManager", { enumerable: true, get: function () { return buttons_1.ButtonManager; } });
6
+ var menus_1 = require("./components/menus");
7
+ Object.defineProperty(exports, "SelectMenuManager", { enumerable: true, get: function () { return menus_1.SelectMenuManager; } });
8
+ var paginator_1 = require("./components/paginator");
9
+ Object.defineProperty(exports, "Paginator", { enumerable: true, get: function () { return paginator_1.Paginator; } });
10
+ var permsChecker_1 = require("./components/permsChecker");
11
+ Object.defineProperty(exports, "PermissionChecker", { enumerable: true, get: function () { return permsChecker_1.PermissionChecker; } });
12
+ var play_1 = require("./commands-(prefix)/music/play");
13
+ Object.defineProperty(exports, "playCommand", { enumerable: true, get: function () { return play_1.playCommand; } });
14
+ var stop_1 = require("./commands-(prefix)/music/stop");
15
+ Object.defineProperty(exports, "stopCommand", { enumerable: true, get: function () { return stop_1.stopCommand; } });
16
+ var skip_1 = require("./commands-(prefix)/music/skip");
17
+ Object.defineProperty(exports, "skipCommand", { enumerable: true, get: function () { return skip_1.skipCommand; } });
18
+ var resume_1 = require("./commands-(prefix)/music/resume");
19
+ Object.defineProperty(exports, "resumeCommand", { enumerable: true, get: function () { return resume_1.resumeCommand; } });
20
+ var previous_1 = require("./commands-(prefix)/music/previous");
21
+ Object.defineProperty(exports, "previousCommand", { enumerable: true, get: function () { return previous_1.previousCommand; } });
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
39
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
40
+ if (ar || !(i in from)) {
41
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
42
+ ar[i] = from[i];
43
+ }
44
+ }
45
+ return to.concat(ar || Array.prototype.slice.call(from));
46
+ };
47
+ Object.defineProperty(exports, "__esModule", { value: true });
48
+ exports.registerEvents = void 0;
49
+ var fs_1 = require("fs");
50
+ var path_1 = require("path");
51
+ function registerEvents(client, eventsFolderPath) {
52
+ var _this = this;
53
+ var eventsCount = 0;
54
+ (0, fs_1.readdirSync)(eventsFolderPath).forEach(function (file) { return __awaiter(_this, void 0, void 0, function () {
55
+ var filePath, isDirectory, event_1, error_1;
56
+ return __generator(this, function (_a) {
57
+ switch (_a.label) {
58
+ case 0:
59
+ _a.trys.push([0, 4, , 5]);
60
+ filePath = path_1.join(eventsFolderPath, file);
61
+ isDirectory = (0, fs_1.statSync)(filePath).isDirectory();
62
+ if (!isDirectory) return [3 /*break*/, 1];
63
+ registerEvents(client, filePath);
64
+ return [3 /*break*/, 3];
65
+ case 1: return [4 /*yield*/, Promise.resolve("".concat(filePath)).then(function (s) { return require(s); })];
66
+ case 2:
67
+ event_1 = _a.sent();
68
+ if (event_1.once) {
69
+ client.once(event_1.name, function () {
70
+ var args = [];
71
+ for (var _i = 0; _i < arguments.length; _i++) {
72
+ args[_i] = arguments[_i];
73
+ }
74
+ return event_1.execute.apply(event_1, __spreadArray(__spreadArray([], args, false), [client], false));
75
+ });
76
+ }
77
+ else {
78
+ client.on(event_1.name, function () {
79
+ var args = [];
80
+ for (var _i = 0; _i < arguments.length; _i++) {
81
+ args[_i] = arguments[_i];
82
+ }
83
+ return event_1.execute.apply(event_1, __spreadArray(__spreadArray([], args, false), [client], false));
84
+ });
85
+ }
86
+ eventsCount++;
87
+ _a.label = 3;
88
+ case 3: return [3 /*break*/, 5];
89
+ case 4:
90
+ error_1 = _a.sent();
91
+ console.error('\x1b[31m%s\x1b[0m', "Error in event file: ".concat(path_1.join(eventsFolderPath, file)));
92
+ console.error('\x1b[31m%s\x1b[0m', error_1);
93
+ return [3 /*break*/, 5];
94
+ case 5: return [2 /*return*/];
95
+ }
96
+ });
97
+ }); });
98
+ }
99
+
100
+ exports.registerEvents = registerEvents;