apexify.js 2.4.3 → 2.4.4

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/lib/ai/apexAI.js CHANGED
@@ -160,7 +160,7 @@ function apexAI(message, options) {
160
160
  drawValid = draw && (0, utils_1.shouldDrawImage)(finalText, drawTrigger);
161
161
  if (!drawValid) return [3 /*break*/, 23];
162
162
  textToDraw = textEnhancer || finalText;
163
- return [4 /*yield*/, (0, utils_1.drawImage)(message, numOfImages, textToDraw, hercai, response, imageModel, nsfw)];
163
+ return [4 /*yield*/, (0, utils_1.drawImage)(message, numOfImages, textToDraw, hercai, imageModel, nsfw)];
164
164
  case 22: return [2 /*return*/, _y.sent()];
165
165
  case 23:
166
166
  if (!(voice === true)) return [3 /*break*/, 25];
@@ -35,21 +35,12 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
35
35
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
36
  }
37
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
38
  Object.defineProperty(exports, "__esModule", { value: true });
48
39
  exports.drawImage = void 0;
49
- var google_translate_1 = require("@iamtraction/google-translate");
40
+ var translate = require("@iamtraction/google-translate");
50
41
  var sharp = require("sharp");
51
42
  var discord_js_1 = require("discord.js");
52
- var axios_1 = require("axios");
43
+ var axios = require("axios");
53
44
  var api = require("api");
54
45
  var sdk = api("@prodia/v1.3.0#be019b2kls0gqss3");
55
46
  sdk.auth("43435e1c-cab1-493f-a224-f51e4b97ce8d");
@@ -124,7 +115,7 @@ var validProdiaModals = [
124
115
  "timeless-1.0.ckpt [7c4971d4]",
125
116
  "toonyou_beta6.safetensors [980f6b15]",
126
117
  ];
127
- function drawImage(_0x2f79ae, numOfImages, _0x28baff, _0x5cea2c, _0x59b128, _0x182d15, nsfw) {
118
+ function drawImage(message, numOfImages, textToDraw, hercai, imageModel, nsfw) {
128
119
  return __awaiter(this, void 0, void 0, function () {
129
120
  function retry(fn, retriesLeft) {
130
121
  if (retriesLeft === void 0) { retriesLeft = maxRetryAttempts; }
@@ -151,13 +142,13 @@ function drawImage(_0x2f79ae, numOfImages, _0x28baff, _0x5cea2c, _0x59b128, _0x1
151
142
  });
152
143
  });
153
144
  }
154
- var maxRetryAttempts, retryInterval, translatedText_1, _0x168f75, buttonsRow1, imageUrls, _loop_1, _0x4d7fb6, state_1, selectMenu_1, options, redrawButton, row1, row2, _0x56e917_1;
145
+ var maxRetryAttempts, retryInterval, response, translatedText_1, attachData, buttonsRow1, imageUrls, _loop_1, _0x4d7fb6, state_1, selectMenu_1, options, row1, row2, e_1;
155
146
  var _a;
156
147
  return __generator(this, function (_b) {
157
148
  switch (_b.label) {
158
149
  case 0:
159
150
  maxRetryAttempts = 3;
160
- retryInterval = 5000;
151
+ retryInterval = 10000;
161
152
  _b.label = 1;
162
153
  case 1:
163
154
  _b.trys.push([1, 8, , 9]);
@@ -165,36 +156,36 @@ function drawImage(_0x2f79ae, numOfImages, _0x28baff, _0x5cea2c, _0x59b128, _0x1
165
156
  throw new Error("Number of images can't be greater than 4 or smaller than 0.");
166
157
  }
167
158
  return [4 /*yield*/, retry(function () {
168
- return (0, google_translate_1)(_0x28baff, {
159
+ return (0, translate)(textToDraw, {
169
160
  from: "auto",
170
161
  to: "en",
171
162
  });
172
163
  })];
173
164
  case 2:
174
165
  translatedText_1 = _b.sent();
175
- _0x168f75 = [];
166
+ attachData = [];
176
167
  buttonsRow1 = [];
177
168
  imageUrls = [];
178
169
  _loop_1 = function (_0x4d7fb6) {
179
- var generateResponse, generatedJobId, error_2, _0x279cfe, _0x2b4402, _0x46cafe, attachment, urlButton, imageUrl, textToCheck_1, nsfwWords, _0x29a652, urlButton;
170
+ var generateResponse, generatedJobId, error_2, buffferedImage, res, resizedImage, attachment, urlButton, imageUrl, textToCheck_1, nsfwWords, attach, urlButton;
180
171
  return __generator(this, function (_c) {
181
172
  switch (_c.label) {
182
173
  case 0:
183
174
  _c.trys.push([0, 7, , 12]);
184
- if (!validHercaiModals.includes(_0x182d15)) return [3 /*break*/, 2];
175
+ if (!validHercaiModals.includes(imageModel)) return [3 /*break*/, 2];
185
176
  return [4 /*yield*/, retry(function () {
186
- return _0x5cea2c.drawImage({
187
- model: _0x182d15,
177
+ return hercai.drawImage({
178
+ model: imageModel,
188
179
  prompt: translatedText_1.text,
189
180
  });
190
181
  })];
191
182
  case 1:
192
- _0x59b128 = _c.sent();
183
+ response = _c.sent();
193
184
  return [3 /*break*/, 6];
194
185
  case 2:
195
- if (!validProdiaModals.includes(_0x182d15)) return [3 /*break*/, 5];
186
+ if (!validProdiaModals.includes(imageModel)) return [3 /*break*/, 5];
196
187
  return [4 /*yield*/, sdk.generate({
197
- model: _0x182d15,
188
+ model: imageModel,
198
189
  prompt: translatedText_1.text,
199
190
  })];
200
191
  case 3:
@@ -202,7 +193,7 @@ function drawImage(_0x2f79ae, numOfImages, _0x28baff, _0x5cea2c, _0x59b128, _0x1
202
193
  generatedJobId = generateResponse.data.job;
203
194
  return [4 /*yield*/, checkJobStatus(generatedJobId)];
204
195
  case 4:
205
- _0x59b128 = _c.sent();
196
+ response = _c.sent();
206
197
  return [3 /*break*/, 6];
207
198
  case 5: throw new Error("Invalid modal name.");
208
199
  case 6: return [3 /*break*/, 12];
@@ -210,48 +201,48 @@ function drawImage(_0x2f79ae, numOfImages, _0x28baff, _0x5cea2c, _0x59b128, _0x1
210
201
  error_2 = _c.sent();
211
202
  if (!(error_2.response && error_2.response.status === 429)) return [3 /*break*/, 8];
212
203
  console.error("Too many requests. Please try again later.");
213
- return [2 /*return*/, { value: _0x2f79ae.reply("Please wait i am in a cool down for a minute") }];
204
+ return [2 /*return*/, { value: message.reply("Please wait i am in a cool down for a minute") }];
214
205
  case 8:
215
206
  if (!(error_2.response && error_2.response.status === 500)) return [3 /*break*/, 9];
216
207
  console.error("Internal server error. Please try again later.");
217
- return [2 /*return*/, { value: _0x2f79ae.reply("Please wait i am in a cool down for a minute") }];
218
- case 9: return [4 /*yield*/, _0x2f79ae.reply("Please wait i am in a cool down for a minute")];
208
+ return [2 /*return*/, { value: message.reply("Please wait i am in a cool down for a minute") }];
209
+ case 9: return [4 /*yield*/, message.reply("Please wait i am in a cool down for a minute")];
219
210
  case 10:
220
211
  _c.sent();
221
212
  throw new Error("Error processing message in file");
222
213
  case 11: return [3 /*break*/, 12];
223
214
  case 12:
224
- _0x279cfe = void 0;
225
- if (!(_0x182d15 === "v3")) return [3 /*break*/, 15];
215
+ buffferedImage = void 0;
216
+ if (!(imageModel === "v3")) return [3 /*break*/, 15];
226
217
  return [4 /*yield*/, retry(function () {
227
- return axios_1.get(_0x59b128.url, {
218
+ return axios.get(response.url, {
228
219
  responseType: "arraybuffer",
229
220
  });
230
221
  })];
231
222
  case 13:
232
- _0x2b4402 = _c.sent();
233
- _0x279cfe = Buffer.from(_0x2b4402.data, "binary");
234
- return [4 /*yield*/, sharp(_0x279cfe)
223
+ res = _c.sent();
224
+ buffferedImage = Buffer.from(res.data, "binary");
225
+ return [4 /*yield*/, sharp(buffferedImage)
235
226
  .resize({
236
227
  width: 0x320,
237
228
  })
238
229
  .toBuffer()];
239
230
  case 14:
240
- _0x46cafe = _c.sent();
231
+ resizedImage = _c.sent();
241
232
  attachment = {
242
- file: _0x46cafe,
233
+ file: resizedImage,
243
234
  name: "image_".concat(_0x4d7fb6 + 1, ".png"),
244
235
  };
245
- _0x168f75.push(attachment);
236
+ attachData.push(attachment);
246
237
  urlButton = new discord_js_1.ButtonBuilder()
247
238
  .setStyle(discord_js_1.ButtonStyle.Link)
248
239
  .setLabel("Image ".concat(_0x4d7fb6 + 1))
249
- .setURL(_0x59b128.url);
240
+ .setURL(response.url);
250
241
  buttonsRow1.push(urlButton);
251
- imageUrls.push(_0x59b128.url);
242
+ imageUrls.push(response.url);
252
243
  return [3 /*break*/, 18];
253
244
  case 15:
254
- imageUrl = _0x59b128.url || _0x59b128;
245
+ imageUrl = response.url || response;
255
246
  if (!nsfw) return [3 /*break*/, 17];
256
247
  return [4 /*yield*/, attemptImageCaptioning(imageUrl)];
257
248
  case 16:
@@ -337,13 +328,13 @@ function drawImage(_0x2f79ae, numOfImages, _0x28baff, _0x5cea2c, _0x59b128, _0x1
337
328
  "femboy",
338
329
  "ass",
339
330
  ];
340
- if (nsfwWords.some(function (word) { return textToCheck_1.includes(word); })) {
341
- return _0x2f79ae.reply("Warning ⚠️. The generated image contatining nsfw content. Turn off nsfw to send nsfw images.");
331
+ if (textToCheck_1 && nsfwWords.some(function (word) { return textToCheck_1 === null || textToCheck_1 === void 0 ? void 0 : textToCheck_1.includes(word); })) {
332
+ message.reply("Warning ⚠️. The generated image contatining nsfw content. Turn off nsfw to sedn nsfw images.");
342
333
  }
343
334
  _c.label = 17;
344
335
  case 17:
345
- _0x29a652 = new discord_js_1.AttachmentBuilder(imageUrl, { name: "image_".concat(_0x4d7fb6 + 1, ".png") });
346
- _0x168f75.push(_0x29a652);
336
+ attach = new discord_js_1.AttachmentBuilder(imageUrl, { name: "image_".concat(_0x4d7fb6 + 1, ".png") });
337
+ attachData.push(attach);
347
338
  urlButton = new discord_js_1.ButtonBuilder()
348
339
  .setStyle(discord_js_1.ButtonStyle.Link)
349
340
  .setLabel("Image ".concat(_0x4d7fb6 + 1))
@@ -351,7 +342,7 @@ function drawImage(_0x2f79ae, numOfImages, _0x28baff, _0x5cea2c, _0x59b128, _0x1
351
342
  buttonsRow1.push(urlButton);
352
343
  imageUrls.push(imageUrl);
353
344
  _c.label = 18;
354
- case 18: return [4 /*yield*/, new Promise(function (_0x412825) { return setTimeout(_0x412825, 0x7d0); })];
345
+ case 18: return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve, 0x7d0); })];
355
346
  case 19:
356
347
  _c.sent();
357
348
  return [2 /*return*/];
@@ -394,14 +385,10 @@ function drawImage(_0x2f79ae, numOfImages, _0x28baff, _0x5cea2c, _0x59b128, _0x1
394
385
  .setValue("process_".concat(index + 1));
395
386
  selectMenu_1.addOptions(selectOption);
396
387
  });
397
- redrawButton = new discord_js_1.ButtonBuilder()
398
- .setStyle(discord_js_1.ButtonStyle.Primary)
399
- .setLabel("Redraw")
400
- .setCustomId("redraw_button");
401
- row1 = (_a = new discord_js_1.ActionRowBuilder()).addComponents.apply(_a, __spreadArray(__spreadArray([], buttonsRow1, false)));
388
+ row1 = (_a = new discord_js_1.ActionRowBuilder()).addComponents.apply(_a, buttonsRow1);
402
389
  row2 = new discord_js_1.ActionRowBuilder().addComponents(selectMenu_1);
403
- return [4 /*yield*/, _0x2f79ae.reply({
404
- files: _0x168f75,
390
+ return [4 /*yield*/, message.reply({
391
+ files: attachData,
405
392
  components: [row1, row2],
406
393
  allowedMentions: { repliedUser: false },
407
394
  })];
@@ -409,13 +396,13 @@ function drawImage(_0x2f79ae, numOfImages, _0x28baff, _0x5cea2c, _0x59b128, _0x1
409
396
  _b.sent();
410
397
  return [2 /*return*/, imageUrls];
411
398
  case 8:
412
- _0x56e917_1 = _b.sent();
413
- console.error("Error in drawImage:", _0x56e917_1.message);
414
- if (_0x56e917_1.response) {
415
- console.error("Status code:", _0x56e917_1.response.status);
416
- console.error("Response data:", _0x56e917_1.response.data);
399
+ e_1 = _b.sent();
400
+ console.error("Error in drawImage:", e_1.message);
401
+ if (e_1.response) {
402
+ console.error("Status code:", e_1.response.status);
403
+ console.error("Response data:", e_1.response.data);
417
404
  }
418
- _0x2f79ae.reply({
405
+ message.reply({
419
406
  content: "An error occurred while processing the images.",
420
407
  allowedMentions: { repliedUser: false },
421
408
  });
@@ -477,7 +464,7 @@ function attemptImageCaptioning(imageUrl) {
477
464
  switch (_a.label) {
478
465
  case 0:
479
466
  _a.trys.push([0, 2, , 3]);
480
- return [4 /*yield*/, axios_1.post("https://api-inference.huggingface.co/models/Salesforce/blip-image-captioning-base", { image: imageUrl }, {
467
+ return [4 /*yield*/, axios.post("https://api-inference.huggingface.co/models/Salesforce/blip-image-captioning-base", { image: imageUrl }, {
481
468
  headers: {
482
469
  "Content-Type": "application/json",
483
470
  Authorization: "Bearer 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",
@@ -62,7 +62,7 @@ function generateVoiceResponse(message, numOfImages, finalText, hercai, response
62
62
  _a.trys.push([1, 23, 24, 25]);
63
63
  msg = message.content;
64
64
  if (!drawValid) return [3 /*break*/, 3];
65
- return [4 /*yield*/, (0, draw_1.drawImage)(message, numOfImages, finalText, hercai, response, imageModel, nsfw)];
65
+ return [4 /*yield*/, (0, draw_1.drawImage)(message, numOfImages, finalText, hercai, imageModel, nsfw)];
66
66
  case 2: return [2 /*return*/, _a.sent()];
67
67
  case 3:
68
68
  if (!(message.attachments.size > 0)) return [3 /*break*/, 7];
@@ -392,8 +392,9 @@ ctx.drawImage(customBgImage, 0, 0);
392
392
  }
393
393
 
394
394
  isShapeName(source) {
395
+
395
396
  const validShapes = ["square", "circle", "triangle", "rectangle"];
396
- return validShapes.includes(source.toLowerCase());
397
+ return validShapes.includes(source?.toLowerCase() || 'square');
397
398
  }
398
399
 
399
400
  drawShape(ctx, shapeOptions, canvasBackgroundColor) {
@@ -65,7 +65,7 @@ function levelCard(message, userRecord) {
65
65
  };
66
66
  images = [
67
67
  {
68
- source: member.user.displayAvatarURL,
68
+ source: member?.user?.displayAvatarURL || 'https://styles.redditmedia.com/t5_388p4/styles/communityIcon_1xjv62tivxy61.png',
69
69
  borderRadius: 'circular',
70
70
  x: 97,
71
71
  y: 44,
@@ -234,6 +234,8 @@ var LevelingSystem = /** @class */ (function (_super) {
234
234
  return __generator(this, function (_a) {
235
235
  switch (_a.label) {
236
236
  case 0:
237
+ console.log(3)
238
+
237
239
  _a.trys.push([0, 10, , 11]);
238
240
  if (!guildId) {
239
241
  throw new Error('Error: GuildId parameter is required. Usage: addXp(userId, guildId).');
@@ -261,6 +263,8 @@ var LevelingSystem = /** @class */ (function (_super) {
261
263
  },
262
264
  })];
263
265
  case 3:
266
+ console.log(2)
267
+
264
268
  updatedUserRecord = _a.sent();
265
269
  return [3 /*break*/, 9];
266
270
  case 4: return [4 /*yield*/, (0, utils_1.updateData)(this.levelsCollection, { userId: userId, guildId: guildId }, {
@@ -286,6 +290,7 @@ var LevelingSystem = /** @class */ (function (_super) {
286
290
  $set: { level: updatedUserRecord.data.level },
287
291
  })];
288
292
  case 8:
293
+ console.log(1)
289
294
  results = _a.sent();
290
295
  levelUpMessage = fetchServer.levelUpMessage;
291
296
  editedMessage = levelUpMessage;
@@ -384,6 +389,8 @@ var LevelingSystem = /** @class */ (function (_super) {
384
389
  });
385
390
  };
386
391
  LevelingSystem.prototype.checkLevelUp = function (userRecord, fetchServer) {
392
+ console.log(5)
393
+
387
394
  var level = fetchServer.levelsArray.length - 1;
388
395
  while (level >= 0 && userRecord.xpCount <= fetchServer.levelsArray[level].xpCount) {
389
396
  level--;
@@ -393,6 +400,8 @@ var LevelingSystem = /** @class */ (function (_super) {
393
400
  this.emit('error', "Invalid level data for user with xpCount: ".concat(userRecord.xpCount));
394
401
  return false;
395
402
  }
403
+ console.log(6)
404
+
396
405
  var nextLevelData = fetchServer.levelsArray[level];
397
406
  if (userRecord.level < nextLevelData.level) {
398
407
  userRecord.level = nextLevelData.level;
@@ -400,6 +409,7 @@ var LevelingSystem = /** @class */ (function (_super) {
400
409
  }
401
410
  return false;
402
411
  };
412
+
403
413
  LevelingSystem.prototype.userInfo = function (userId, guildId) {
404
414
  return __awaiter(this, void 0, void 0, function () {
405
415
  var userRecord, error_7;
@@ -48,53 +48,98 @@ Object.defineProperty(exports, "__esModule", { value: true });
48
48
  exports.registerEvents = void 0;
49
49
  var fs_1 = require("fs");
50
50
  var path_1 = require("path");
51
+ var AsciiTable = require('ascii-table');
51
52
  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;
53
+ return __awaiter(this, void 0, void 0, function () {
54
+ function processEventFile(filePath) {
55
+ return __awaiter(this, void 0, void 0, function () {
56
+ var stats, filesInDirectory, _i, filesInDirectory_1, item, itemPath, event_1, error_2;
57
+ return __generator(this, function (_a) {
58
+ switch (_a.label) {
59
+ case 0:
60
+ _a.trys.push([0, 8, , 9]);
61
+ stats = (0, fs_1.statSync)(filePath);
62
+ if (!stats.isDirectory()) return [3 /*break*/, 5];
63
+ filesInDirectory = (0, fs_1.readdirSync)(filePath);
64
+ if (filesInDirectory.length === 0) {
65
+ return [2 /*return*/];
66
+ }
67
+ _i = 0, filesInDirectory_1 = filesInDirectory;
68
+ _a.label = 1;
69
+ case 1:
70
+ if (!(_i < filesInDirectory_1.length)) return [3 /*break*/, 4];
71
+ item = filesInDirectory_1[_i];
72
+ itemPath = path_1.join(filePath, item);
73
+ return [4 /*yield*/, processEventFile(itemPath)];
74
+ case 2:
75
+ _a.sent();
76
+ _a.label = 3;
77
+ case 3:
78
+ _i++;
79
+ return [3 /*break*/, 1];
80
+ case 4: return [3 /*break*/, 7];
81
+ case 5:
82
+ if (!(stats.isFile() && filePath.endsWith('.js'))) return [3 /*break*/, 7];
83
+ return [4 /*yield*/, Promise.resolve("".concat(filePath)).then(function (s) { return require(s); })];
84
+ case 6:
85
+ event_1 = _a.sent();
86
+ if (event_1.once) {
87
+ client.once(event_1.name, function () {
88
+ var args = [];
89
+ for (var _i = 0; _i < arguments.length; _i++) {
90
+ args[_i] = arguments[_i];
91
+ }
92
+ return event_1.execute.apply(event_1, __spreadArray(__spreadArray([], args, false), [client], false));
93
+ });
94
+ }
95
+ else {
96
+ client.on(event_1.name, function () {
97
+ var args = [];
98
+ for (var _i = 0; _i < arguments.length; _i++) {
99
+ args[_i] = arguments[_i];
100
+ }
101
+ return event_1.execute.apply(event_1, __spreadArray(__spreadArray([], args, false), [client], false));
102
+ });
103
+ }
104
+ table.addRow(path_1.relative(eventsFolderPath, filePath), '🟢 Working');
105
+ return [3 /*break*/, 7];
106
+ case 7: return [3 /*break*/, 9];
107
+ case 8:
108
+ error_2 = _a.sent();
109
+ console.error('\x1b[31m%s\x1b[0m', "Error in event file: ".concat(filePath));
110
+ console.error('\x1b[31m%s\x1b[0m', error_2);
111
+ table.addRow(path_1.relative(eventsFolderPath, filePath), '🔴 Broke');
112
+ return [3 /*break*/, 9];
113
+ case 9: return [2 /*return*/];
114
+ }
115
+ });
116
+ });
117
+ }
118
+ var table, error_1, tableString;
56
119
  return __generator(this, function (_a) {
57
120
  switch (_a.label) {
58
121
  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); })];
122
+ table = new AsciiTable('\x1b[33m Event Folders \x1b[0m');
123
+ table.setHeading('Files', 'Status');
124
+ _a.label = 1;
125
+ case 1:
126
+ _a.trys.push([1, 3, , 4]);
127
+ return [4 /*yield*/, processEventFile(eventsFolderPath)];
66
128
  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:
129
+ _a.sent();
130
+ return [3 /*break*/, 4];
131
+ case 3:
90
132
  error_1 = _a.sent();
91
- console.error('\x1b[31m%s\x1b[0m', "Error in event file: ".concat(path_1.join(eventsFolderPath, file)));
133
+ console.error('\x1b[31m%s\x1b[0m', "Error while processing events folder: ".concat(eventsFolderPath));
92
134
  console.error('\x1b[31m%s\x1b[0m', error_1);
93
- return [3 /*break*/, 5];
94
- case 5: return [2 /*return*/];
135
+ return [3 /*break*/, 4];
136
+ case 4:
137
+ tableString = table.toString();
138
+ console.log(tableString.trim());
139
+ return [2 /*return*/];
95
140
  }
96
141
  });
97
- }); });
142
+ });
98
143
  }
99
144
 
100
145
  exports.registerEvents = registerEvents;
@@ -37,9 +37,10 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.commandNames = exports.aliases = exports.commands = exports.readCommands = void 0;
40
- var fs_1 = require("fs");
41
40
  var discord_js_1 = require("discord.js");
42
41
  var path_1 = require("path");
42
+ var fs_1 = require("fs");
43
+ var AsciiTable = require("ascii-table");
43
44
  var commands = new discord_js_1.Collection();
44
45
  exports.commands = commands;
45
46
  var aliases = new discord_js_1.Collection();
@@ -47,16 +48,20 @@ exports.aliases = aliases;
47
48
  var commandNames = new Set();
48
49
  exports.commandNames = commandNames;
49
50
  var readCommands = function (client, folderPath) { return __awaiter(void 0, void 0, void 0, function () {
50
- var files, prefixCommandCount, _loop_1, _i, files_1, file, error_1;
51
+ var table, files, prefixCommandCount, _loop_1, _i, files_1, file, tableString, error_1;
51
52
  return __generator(this, function (_a) {
52
53
  switch (_a.label) {
53
54
  case 0:
54
- _a.trys.push([0, 7, , 8]);
55
- return [4 /*yield*/, fs_1.promises.access(folderPath)];
55
+ table = new AsciiTable('\x1b[33m Prefix Commands \x1b[0m');
56
+ table.setHeading('Commands', 'Status');
57
+ _a.label = 1;
56
58
  case 1:
59
+ _a.trys.push([1, 8, , 9]);
60
+ return [4 /*yield*/, fs_1.promises.access(folderPath)];
61
+ case 2:
57
62
  _a.sent();
58
63
  return [4 /*yield*/, fs_1.promises.readdir(folderPath, { withFileTypes: true })];
59
- case 2:
64
+ case 3:
60
65
  files = _a.sent();
61
66
  prefixCommandCount = 0;
62
67
  _loop_1 = function (file) {
@@ -89,45 +94,52 @@ var readCommands = function (client, folderPath) { return __awaiter(void 0, void
89
94
  });
90
95
  }
91
96
  command_1.description =
92
- command_1.description || "No description provided.";
97
+ command_1.description || "No description provided.";
93
98
  command_1.cooldown = command_1.cooldown || 1;
94
99
  command_1.usage = command_1.usage || "No usage information provided.";
95
100
  if (command_1.prefix) {
96
101
  prefixCommandCount++;
97
102
  }
103
+ table.addRow(command_1.name, '🟢 Registered');
98
104
  }
99
105
  else {
100
106
  console.warn("\x1b[31m%s\x1b[0m", "Ignoring invalid command file: ".concat(filePath));
107
+ table.addRow(filePath, '🔴 Invalid');
101
108
  }
102
109
  return [3 /*break*/, 6];
103
110
  case 5:
104
111
  error_2 = _c.sent();
105
112
  console.error("\x1b[31m%s\x1b[0m", "Error in file: ".concat(filePath));
106
113
  console.error("\x1b[31m%s\x1b[0m", error_2);
114
+ table.addRow(filePath, '🔴 Error');
107
115
  return [3 /*break*/, 6];
108
116
  case 6: return [2 /*return*/];
109
117
  }
110
118
  });
111
119
  };
112
120
  _i = 0, files_1 = files;
113
- _a.label = 3;
114
- case 3:
115
- if (!(_i < files_1.length)) return [3 /*break*/, 6];
121
+ _a.label = 4;
122
+ case 4:
123
+ if (!(_i < files_1.length)) return [3 /*break*/, 7];
116
124
  file = files_1[_i];
117
125
  return [5 /*yield**/, _loop_1(file)];
118
- case 4:
119
- _a.sent();
120
- _a.label = 5;
121
126
  case 5:
127
+ _a.sent();
128
+ _a.label = 6;
129
+ case 6:
122
130
  _i++;
123
- return [3 /*break*/, 3];
124
- case 6: return [2 /*return*/, prefixCommandCount];
131
+ return [3 /*break*/, 4];
125
132
  case 7:
133
+ tableString = table.toString();
134
+ console.log(tableString.trim());
135
+
136
+ return [2 /*return*/, prefixCommandCount];
137
+ case 8:
126
138
  error_1 = _a.sent();
127
139
  console.error("\x1b[31m%s\x1b[0m", "Error reading directory: ".concat(folderPath));
128
140
  console.error("\x1b[31m%s\x1b[0m", error_1);
129
141
  return [2 /*return*/, 0];
130
- case 8: return [2 /*return*/];
142
+ case 9: return [2 /*return*/];
131
143
  }
132
144
  });
133
145
  });
@@ -8,32 +8,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
- function typeSentence(sentence, speed) {
12
- return __awaiter(this, void 0, void 0, function () {
13
- var _i, sentence_1, char;
14
- return __generator(this, function (_a) {
15
- switch (_a.label) {
16
- case 0:
17
- _i = 0, sentence_1 = sentence;
18
- _a.label = 1;
19
- case 1:
20
- if (!(_i < sentence_1.length)) return [3 /*break*/, 4];
21
- char = sentence_1[_i];
22
- return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve, speed); })];
23
- case 2:
24
- _a.sent();
25
- process.stdout.write(char);
26
- _a.label = 3;
27
- case 3:
28
- _i++;
29
- return [3 /*break*/, 1];
30
- case 4:
31
- console.log();
32
- return [2 /*return*/];
33
- }
34
- });
35
- });
36
- }
37
11
  var __generator = (this && this.__generator) || function (thisArg, body) {
38
12
  var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
39
13
  return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
@@ -68,6 +42,7 @@ var v10_1 = require("discord-api-types/v10");
68
42
  var fs = require("fs/promises");
69
43
  var discord_js_1 = require("discord.js");
70
44
  var path_1 = require("path");
45
+ var AsciiTable = require("ascii-table");
71
46
  /**
72
47
  * Register slash commands for the bot
73
48
  * @param {Client} client - The Discord client
@@ -78,11 +53,13 @@ var path_1 = require("path");
78
53
  function registerSlashCommands(client, token, baseDirectory, baseDir, gId, gl) {
79
54
  var _a, _b;
80
55
  return __awaiter(this, void 0, void 0, function () {
81
- var slashCommands, rest, resolvedPath_1, dirents, slashCommandArray, error_1, guild, slashCommandArray, error_2, error_3;
56
+ var table, slashCommands, rest, resolvedPath_1, dirents, slashCommandArray, error_1, guild, slashCommandArray, error_2, error_3, tableString;
82
57
  var _this = this;
83
58
  return __generator(this, function (_c) {
84
59
  switch (_c.label) {
85
60
  case 0:
61
+ table = new AsciiTable('\x1b[33m Slash Commands \x1b[0m');
62
+ table.setHeading('Commands', 'Status');
86
63
  slashCommands = new discord_js_1.Collection();
87
64
  client.slashCommands = new discord_js_1.Collection();
88
65
  rest = new rest_1.REST({ version: '10' }).setToken(token);
@@ -115,11 +92,13 @@ function registerSlashCommands(client, token, baseDirectory, baseDir, gId, gl) {
115
92
  }
116
93
  slashCommands.set(command.data.name, command);
117
94
  client.slashCommands.set(command.data.name, command);
95
+ table.addRow(command.data.name, '🟢 Registered\x1b');
118
96
  }
119
97
  }
120
98
  catch (error) {
121
99
  console.error('\x1b[31m%s\x1b[0m', "Error in file: ".concat(path_1.join(folderPath_1, file)));
122
100
  console.error('\x1b[31m%s\x1b[0m', error);
101
+ table.addRow(path_1.join(folderPath_1, file), '🔴 Error');
123
102
  }
124
103
  return [2 /*return*/];
125
104
  });
@@ -136,11 +115,13 @@ function registerSlashCommands(client, token, baseDirectory, baseDir, gId, gl) {
136
115
  }
137
116
  slashCommands.set(command.data.name, command);
138
117
  client.slashCommands.set(command.data.name, command);
118
+ table.addRow(command.data.name, '🟢 Registered');
139
119
  }
140
120
  }
141
121
  catch (error) {
142
122
  console.error('\x1b[31m%s\x1b[0m', "Error in file: ".concat(path_1.join(resolvedPath_1, dirent.name)));
143
123
  console.error('\x1b[31m%s\x1b[0m', error);
124
+ table.addRow(path_1.join(resolvedPath_1, dirent.name), '🔴 Error');
144
125
  }
145
126
  _a.label = 4;
146
127
  case 4: return [2 /*return*/];
@@ -157,11 +138,11 @@ function registerSlashCommands(client, token, baseDirectory, baseDir, gId, gl) {
157
138
  return [4 /*yield*/, rest.put(v10_1.Routes.applicationCommands(((_a = client.user) === null || _a === void 0 ? void 0 : _a.id) || ''), { body: slashCommandArray, headers: { Authorization: "Bot ".concat(token) } })];
158
139
  case 5:
159
140
  _c.sent();
160
- typeSentence(`\x1b[36m%sRegistered ${slashCommandArray.length} slash commands.\x1b[0m`, 20);
141
+ console.log('\x1b[36m%s\x1b[0m', "Registered ".concat(slashCommandArray.length, " global slash commands."));
161
142
  return [3 /*break*/, 7];
162
143
  case 6:
163
144
  error_1 = _c.sent();
164
- typeSentence(`\x1b[31m%s\x1b[0m', 'Error setting global slash commands:${error_1.message} `,20);
145
+ console.error('\x1b[31m%s\x1b[0m', 'Error setting global slash commands:', error_1.message);
165
146
  return [3 /*break*/, 7];
166
147
  case 7: return [3 /*break*/, 14];
167
148
  case 8:
@@ -175,7 +156,7 @@ function registerSlashCommands(client, token, baseDirectory, baseDir, gId, gl) {
175
156
  return [4 /*yield*/, rest.put(v10_1.Routes.applicationGuildCommands(((_b = client.user) === null || _b === void 0 ? void 0 : _b.id) || '', guild.id), { body: slashCommandArray, headers: { Authorization: "Bot ".concat(token) } })];
176
157
  case 10:
177
158
  _c.sent();
178
- typeSentence(`\x1b[36m%sRegistered ${slashCommandArray.length} guild-specific slash commands for guild ${guild.name}.`, 20);
159
+ console.log('\x1b[36m%s\x1b[0m', "Registered ".concat(slashCommandArray.length, " guild-specific slash commands for guild ").concat(guild.name, "."));
179
160
  return [3 /*break*/, 12];
180
161
  case 11:
181
162
  error_2 = _c.sent();
@@ -190,7 +171,10 @@ function registerSlashCommands(client, token, baseDirectory, baseDir, gId, gl) {
190
171
  error_3 = _c.sent();
191
172
  console.error('\x1b[31m%s\x1b[0m', 'Error registering slash commands:', error_3.message);
192
173
  return [3 /*break*/, 16];
193
- case 16: return [2 /*return*/, slashCommands];
174
+ case 16:
175
+ tableString = table.toString();
176
+ console.log(tableString.trim());
177
+ return [2 /*return*/, slashCommands];
194
178
  }
195
179
  });
196
180
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "apexify.js",
3
- "version": "2.4.3",
3
+ "version": "2.4.4",
4
4
  "description": "Ai with Canvas and Database library. Supports typescript and javascript",
5
5
  "main": "index.js",
6
6
  "scripts": {