apexify.js 2.4.2 → 2.4.4-beta.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.
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  ///////NanoDB
4
- exports.matchesFilterQuery = exports.updateOption = exports.removeFields = exports.fetchData = exports.saveData = exports.updateAllExcept = exports.updateAll = exports.updateData = exports.migrateAndPrune = exports.migrateData = exports.textSearch = exports.searchMany = exports.removeSpecific = exports.removeManyExcept = exports.removeMany = exports.remove = exports.listCollections = exports.listIndexes = exports.geoNear = exports.find = exports.drop = exports.distinct = exports.dataSize = exports.countDocs = exports.createTable = exports.aggregate = exports.save = void 0;
4
+ exports.mongoConnect= exports.getDb = exports.initializeDb = exports.matchesFilterQuery = exports.updateOption = exports.removeFields = exports.fetchData = exports.saveData = exports.updateAllExcept = exports.updateAll = exports.updateData = exports.migrateAndPrune = exports.migrateData = exports.textSearch = exports.searchMany = exports.removeSpecific = exports.removeManyExcept = exports.removeMany = exports.remove = exports.listCollections = exports.listIndexes = exports.geoNear = exports.find = exports.drop = exports.distinct = exports.dataSize = exports.countDocs = exports.createTable = exports.aggregate = exports.save = void 0;
5
5
  const saveData_1 = require("./nanoDb/saveData");
6
6
  Object.defineProperty(exports, "saveData", { enumerable: true, get: function () { return saveData_1.saveData; } });
7
7
  const fetchData_1 = require("./nanoDb/fetchData");
@@ -55,4 +55,8 @@ Object.defineProperty(exports, "updateData", { enumerable: true, get: function (
55
55
  const updateAll_1 = require("./mongoDb/updateAll");
56
56
  Object.defineProperty(exports, "updateAll", { enumerable: true, get: function () { return updateAll_1.updateAll; } });
57
57
  const updateAllExcept_1 = require("./mongoDb/updateAllExcept");
58
- Object.defineProperty(exports, "updateAllExcept", { enumerable: true, get: function () { return updateAllExcept_1.updateAllExcept; } });
58
+ Object.defineProperty(exports, "updateAllExcept", { enumerable: true, get: function () { return updateAllExcept_1.updateAllExcept; } });
59
+ const MongoDb = require("./MongoDB");
60
+ Object.defineProperty(exports, "mongoConnect", { enumerable: true, get: function () { return MongoDb.mongoConnect; } });
61
+ Object.defineProperty(exports, "initializeDb", { enumerable: true, get: function () { return MongoDb.initializeDb; } });
62
+ Object.defineProperty(exports, "getDb", { enumerable: true, get: function () { return MongoDb.getDb; } });
@@ -55,7 +55,7 @@ exports.LevelingSystem = void 0;
55
55
  var events_1 = require("events");
56
56
  var utils_1 = require("../../../database/utils");
57
57
  var levels_card_1 = require("../../../canvas/themes/levels-card");
58
- var localArray = require("./cLevelsArray.json");
58
+ var cLevelsArray_json_1 = require("./cLevelsArray.json");
59
59
  var LevelingSystem = /** @class */ (function (_super) {
60
60
  __extends(LevelingSystem, _super);
61
61
  function LevelingSystem(config) {
@@ -66,7 +66,7 @@ var LevelingSystem = /** @class */ (function (_super) {
66
66
  _this.rate = (config === null || config === void 0 ? void 0 : config.rate) || 2;
67
67
  _this.channelId = (config === null || config === void 0 ? void 0 : config.channelId) || null;
68
68
  _this.guildId = (config === null || config === void 0 ? void 0 : config.guildId) || null;
69
- _this.levelsArray = (config === null || config === void 0 ? void 0 : config.levelsArray) || localArray;
69
+ _this.levelsArray = (config === null || config === void 0 ? void 0 : config.levelsArray) || cLevelsArray_json_1.default;
70
70
  _this.levelingMessage = (config === null || config === void 0 ? void 0 : config.levelUpMessage) || 'Congrates {user} you level up to level {level}.';
71
71
  return _this;
72
72
  }
@@ -133,11 +133,11 @@ var LevelingSystem = /** @class */ (function (_super) {
133
133
  LevelingSystem.prototype.xpCard = function (context, guildId, userId, version) {
134
134
  if (version === void 0) { version = 1; }
135
135
  return __awaiter(this, void 0, void 0, function () {
136
- var search, rank, sortedLevels, userRank, userIndex, nextLevelIndex, nextLevelData, card, error_2;
136
+ var search, fetchServer, rank, sortedLevels, userRank, userIndex, nextLevelIndex, nextLevelData, card, error_2;
137
137
  return __generator(this, function (_a) {
138
138
  switch (_a.label) {
139
139
  case 0:
140
- _a.trys.push([0, 4, , 5]);
140
+ _a.trys.push([0, 5, , 6]);
141
141
  if (!context) {
142
142
  throw new Error('Error: Interaction/Message parameter is required. Usage: xpCard(interaction, guildId, userId). You can replace interaction with message if prefix.');
143
143
  }
@@ -150,13 +150,16 @@ var LevelingSystem = /** @class */ (function (_super) {
150
150
  return [4 /*yield*/, (0, utils_1.find)(this.levelsCollection, { userId: userId, guildId: guildId })];
151
151
  case 1:
152
152
  search = _a.sent();
153
+ return [4 /*yield*/, (0, utils_1.find)(this.configCollection, { guildId: guildId })];
154
+ case 2:
155
+ fetchServer = _a.sent();
153
156
  if (!search) {
154
157
  return [2 /*return*/, 'No data found for this user'];
155
158
  }
156
159
  return [4 /*yield*/, (0, utils_1.searchMany)([
157
160
  { collectionName: this.levelsCollection, displayment: null, filter: { guildId: guildId } },
158
161
  ])];
159
- case 2:
162
+ case 3:
160
163
  rank = _a.sent();
161
164
  sortedLevels = rank.levelsCollection.sort(function (a, b) {
162
165
  return b.xpCount - a.xpCount;
@@ -171,23 +174,23 @@ var LevelingSystem = /** @class */ (function (_super) {
171
174
  }
172
175
  nextLevelIndex = search.level + 1;
173
176
  nextLevelData = void 0;
174
- if (nextLevelIndex < this.levelsArray.length) {
175
- nextLevelData = this.levelsArray[nextLevelIndex];
177
+ if (nextLevelIndex < fetchServer.levelsArray.length) {
178
+ nextLevelData = fetchServer.levelsArray[nextLevelIndex];
176
179
  }
177
180
  else {
178
181
  nextLevelData = { level: 'max', xpCount: 'max' };
179
182
  }
180
- return [4 /*yield*/, (0, levels_card_1.xpRank)(context, guildId, userId, search.level, userRank, search.xpCount, nextLevelData.xpCount, this.levelsArray, version, search.bannerURL)];
181
- case 3:
183
+ return [4 /*yield*/, (0, levels_card_1.xpRank)(context, guildId, userId, search.level, userRank, search.xpCount, nextLevelData.xpCount, fetchServer.levelsArray, version, search.bannerURL)];
184
+ case 4:
182
185
  card = _a.sent();
183
186
  if (!card)
184
187
  return [2 /*return*/, 'An Error occurred while drawing users xpCard.'];
185
188
  return [2 /*return*/, card];
186
- case 4:
189
+ case 5:
187
190
  error_2 = _a.sent();
188
191
  console.log(error_2.message);
189
192
  throw new Error("An error occurred while sending xpCard.");
190
- case 5: return [2 /*return*/];
193
+ case 6: return [2 /*return*/];
191
194
  }
192
195
  });
193
196
  });
@@ -231,6 +234,8 @@ var LevelingSystem = /** @class */ (function (_super) {
231
234
  return __generator(this, function (_a) {
232
235
  switch (_a.label) {
233
236
  case 0:
237
+ console.log(3)
238
+
234
239
  _a.trys.push([0, 10, , 11]);
235
240
  if (!guildId) {
236
241
  throw new Error('Error: GuildId parameter is required. Usage: addXp(userId, guildId).');
@@ -253,36 +258,39 @@ var LevelingSystem = /** @class */ (function (_super) {
253
258
  $set: {
254
259
  userId: userId,
255
260
  guildId: guildId,
256
- xpCount: this.XpCount * this.rate,
261
+ xpCount: fetchServer.XpCount * fetchServer.rate,
257
262
  level: 0,
258
263
  },
259
264
  })];
260
265
  case 3:
266
+ console.log(2)
267
+
261
268
  updatedUserRecord = _a.sent();
262
269
  return [3 /*break*/, 9];
263
270
  case 4: return [4 /*yield*/, (0, utils_1.updateData)(this.levelsCollection, { userId: userId, guildId: guildId }, {
264
- $inc: { xpCount: this.XpCount * this.rate },
271
+ $inc: { xpCount: fetchServer.XpCount * fetchServer.rate },
265
272
  })];
266
273
  case 5:
267
274
  updatedUserRecord = _a.sent();
268
- if (!(updatedUserRecord.data.xpCount >= this.levelsArray[this.levelsArray.length - 1].xpCount)) return [3 /*break*/, 7];
275
+ if (!(updatedUserRecord.data.xpCount >= fetchServer.levelsArray[fetchServer.levelsArray.length - 1].xpCount)) return [3 /*break*/, 7];
269
276
  return [4 /*yield*/, (0, utils_1.updateData)(this.levelsCollection, { userId: userId, guildId: guildId }, {
270
277
  $set: {
271
- xpCount: this.levelsArray[this.levelsArray.length - 1].xpCount,
272
- level: this.levelsArray[this.levelsArray.length - 1].level,
278
+ xpCount: fetchServer.levelsArray[fetchServer.levelsArray.length - 1].xpCount,
279
+ level: fetchServer.levelsArray[fetchServer.levelsArray.length - 1].level,
273
280
  },
274
281
  })];
275
282
  case 6:
276
283
  _a.sent();
277
284
  return [2 /*return*/, "".concat(userId, " reached maximum level")];
278
285
  case 7:
279
- levelUp = this.checkLevelUp(updatedUserRecord.data);
286
+ levelUp = this.checkLevelUp(updatedUserRecord.data, fetchServer);
280
287
  channelData = fetchServer.channelId;
281
288
  if (!levelUp) return [3 /*break*/, 9];
282
289
  return [4 /*yield*/, (0, utils_1.updateData)(this.levelsCollection, { userId: userId, guildId: guildId }, {
283
290
  $set: { level: updatedUserRecord.data.level },
284
291
  })];
285
292
  case 8:
293
+ console.log(1)
286
294
  results = _a.sent();
287
295
  levelUpMessage = fetchServer.levelUpMessage;
288
296
  editedMessage = levelUpMessage;
@@ -340,7 +348,7 @@ var LevelingSystem = /** @class */ (function (_super) {
340
348
  });
341
349
  });
342
350
  };
343
- LevelingSystem.prototype.updateUserLevel = function (userId, guildId) {
351
+ LevelingSystem.prototype.updateUserLevel = function (userId, guildId, fetchServer) {
344
352
  return __awaiter(this, void 0, void 0, function () {
345
353
  var userRecord, userXp, updatedLevel, _i, _a, levelInfo, error_6;
346
354
  return __generator(this, function (_b) {
@@ -356,7 +364,7 @@ var LevelingSystem = /** @class */ (function (_super) {
356
364
  }
357
365
  userXp = userRecord.xpCount;
358
366
  updatedLevel = 0;
359
- for (_i = 0, _a = this.levelsArray; _i < _a.length; _i++) {
367
+ for (_i = 0, _a = fetchServer.levelsArray; _i < _a.length; _i++) {
360
368
  levelInfo = _a[_i];
361
369
  if (userXp >= levelInfo.xpCount) {
362
370
  updatedLevel = levelInfo.level;
@@ -380,9 +388,11 @@ var LevelingSystem = /** @class */ (function (_super) {
380
388
  });
381
389
  });
382
390
  };
383
- LevelingSystem.prototype.checkLevelUp = function (userRecord) {
384
- var level = this.levelsArray.length - 1;
385
- while (level >= 0 && userRecord.xpCount <= this.levelsArray[level].xpCount) {
391
+ LevelingSystem.prototype.checkLevelUp = function (userRecord, fetchServer) {
392
+ console.log(5)
393
+
394
+ var level = fetchServer.levelsArray.length - 1;
395
+ while (level >= 0 && userRecord.xpCount <= fetchServer.levelsArray[level].xpCount) {
386
396
  level--;
387
397
  }
388
398
  if (level < 0) {
@@ -390,13 +400,16 @@ var LevelingSystem = /** @class */ (function (_super) {
390
400
  this.emit('error', "Invalid level data for user with xpCount: ".concat(userRecord.xpCount));
391
401
  return false;
392
402
  }
393
- var nextLevelData = this.levelsArray[level];
403
+ console.log(6)
404
+
405
+ var nextLevelData = fetchServer.levelsArray[level];
394
406
  if (userRecord.level < nextLevelData.level) {
395
407
  userRecord.level = nextLevelData.level;
396
408
  return true;
397
409
  }
398
410
  return false;
399
411
  };
412
+
400
413
  LevelingSystem.prototype.userInfo = function (userId, guildId) {
401
414
  return __awaiter(this, void 0, void 0, function () {
402
415
  var userRecord, error_7;
@@ -663,7 +676,7 @@ var LevelingSystem = /** @class */ (function (_super) {
663
676
  return [4 /*yield*/, (0, utils_1.updateData)(this.levelsCollection, { guildId: guildId, userId: userId }, { $inc: { xpCount: xpAmount } })];
664
677
  case 3:
665
678
  update = _a.sent();
666
- return [4 /*yield*/, this.updateUserLevel(userId, guildId)];
679
+ return [4 /*yield*/, this.updateUserLevel(userId, guildId, searchServer)];
667
680
  case 4:
668
681
  levelUp = _a.sent();
669
682
  if (!(levelUp > prevLevel)) return [3 /*break*/, 7];
@@ -813,4 +826,4 @@ var LevelingSystem = /** @class */ (function (_super) {
813
826
  };
814
827
  return LevelingSystem;
815
828
  }(events_1.EventEmitter));
816
- exports.LevelingSystem = LevelingSystem;
829
+ exports.LevelingSystem = LevelingSystem;
@@ -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
  });