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,335 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.starter = void 0;
40
+ var discord_js_1 = require("discord.js");
41
+ var eventer_1 = require("./eventer");
42
+ var slashRegister_1 = require("./slashRegister");
43
+ var prefixRegister_1 = require("./prefixRegister");
44
+ var slashResponder_1 = require("./slashResponder");
45
+ var prefixResponder_1 = require("./prefixResponder");
46
+ var riffy_1 = require("riffy");
47
+ var mongoDB_1 = require("../../database/MongoDB.js");
48
+ var start_1 = require("../discord-build/commands-(prefix)/music/functions/start");
49
+ var end_1 = require("../discord-build/commands-(prefix)/music/functions/end");
50
+ var buttons_1 = require("../discord-build/commands-(prefix)/music/functions/buttons.js");
51
+ var axios_1 = require("axios");
52
+ var fs_1 = require("fs");
53
+ var express_1 = require("express");
54
+ function typeSentence(sentence, speed) {
55
+ return __awaiter(this, void 0, void 0, function () {
56
+ var _i, sentence_1, char;
57
+ return __generator(this, function (_a) {
58
+ switch (_a.label) {
59
+ case 0:
60
+ _i = 0, sentence_1 = sentence;
61
+ _a.label = 1;
62
+ case 1:
63
+ if (!(_i < sentence_1.length)) return [3 /*break*/, 4];
64
+ char = sentence_1[_i];
65
+ return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve, speed); })];
66
+ case 2:
67
+ _a.sent();
68
+ process.stdout.write(char);
69
+ _a.label = 3;
70
+ case 3:
71
+ _i++;
72
+ return [3 /*break*/, 1];
73
+ case 4:
74
+ console.log();
75
+ return [2 /*return*/];
76
+ }
77
+ });
78
+ });
79
+ }
80
+ function starter(client, options) {
81
+ var _a, _b, _c, _d;
82
+ if (options === void 0) { options = {}; }
83
+ return __awaiter(this, void 0, void 0, function () {
84
+ var logChannels_1, port_1, hostname_1, app, nodes, searchPlateForm, restVersion, error_1;
85
+ var _this = this;
86
+ return __generator(this, function (_e) {
87
+ switch (_e.label) {
88
+ case 0:
89
+ _e.trys.push([0, 3, , 4]);
90
+ if (!client) {
91
+ throw new Error('\x1b[31mMissing client parameter. Please provide a valid Discord client.\x1b[0m');
92
+ }
93
+ if (!options.token) return [3 /*break*/, 2];
94
+ return [4 /*yield*/, client.login(options.token)
95
+ .then(function () {
96
+ var _a;
97
+ typeSentence("\u001B[32mBot ".concat((_a = client.user) === null || _a === void 0 ? void 0 : _a.tag, " is online! \u001B[0m"), 20);
98
+ })
99
+ .catch(function (error) {
100
+ typeSentence('\x1b[31mError: Invalid token provided. Please provide a valid bot token.\x1b[0m', 50);
101
+ process.exit(1);
102
+ })];
103
+ case 1:
104
+ _e.sent();
105
+ _e.label = 2;
106
+ case 2:
107
+ logChannels_1 = {
108
+ slash: ((_a = options.slashCommandPath) === null || _a === void 0 ? void 0 : _a.logsId) || null,
109
+ prefix: ((_b = options.prefixCommandPath) === null || _b === void 0 ? void 0 : _b.logsId) || null,
110
+ };
111
+ client.on('ready', function () { return __awaiter(_this, void 0, void 0, function () {
112
+ var error_2, presenceOptions, path, dir, gId, gl, slashCommands, avatarData, response, prefix, error_3;
113
+ var _a, _b, _c, _d;
114
+ return __generator(this, function (_e) {
115
+ switch (_e.label) {
116
+ case 0:
117
+ if (!options.lavalink) return [3 /*break*/, 5];
118
+ _e.label = 1;
119
+ case 1:
120
+ _e.trys.push([1, 3, 4, 5]);
121
+ if (!options.lavalink.nodes || options.lavalink.nodes.length === 0) {
122
+ options.lavalink.nodes = [
123
+ {
124
+ host: '195.58.58.23',
125
+ port: 25565,
126
+ password: 'best',
127
+ secure: false,
128
+ },
129
+ ];
130
+ }
131
+ return [4 /*yield*/, client.riffy.init((_a = client === null || client === void 0 ? void 0 : client.user) === null || _a === void 0 ? void 0 : _a.id)];
132
+ case 2:
133
+ _e.sent();
134
+ typeSentence("Lavalink has been initialized. Please wait we are trying to connect", 50);
135
+ return [3 /*break*/, 5];
136
+ case 3:
137
+ error_2 = _e.sent();
138
+ console.error("Failed to initialize Riffy: ".concat(error_2.message));
139
+ return [3 /*break*/, 5];
140
+ case 4:
141
+ typeSentence("Before connecting please check your lavalink is v3/v4 to connect successfully.", 50);
142
+ return [7 /*endfinally*/];
143
+ case 5:
144
+ if (!(options.status || options.name || options.type)) return [3 /*break*/, 7];
145
+ presenceOptions = {
146
+ activities: [
147
+ {
148
+ name: options.name || '/help',
149
+ type: typeof options.type === 'number' ? options.type : 2,
150
+ },
151
+ ],
152
+ status: options.status || 'idle',
153
+ };
154
+ return [4 /*yield*/, ((_b = client.user) === null || _b === void 0 ? void 0 : _b.setPresence(presenceOptions))];
155
+ case 6:
156
+ _e.sent();
157
+ _e.label = 7;
158
+ case 7:
159
+ if (!options.eventsPath) return [3 /*break*/, 9];
160
+ return [4 /*yield*/, (0, eventer_1.registerEvents)(client, options.eventsPath)];
161
+ case 8:
162
+ _e.sent();
163
+ _e.label = 9;
164
+ case 9:
165
+ if (!(options.slashCommandPath && options.slashCommandPath.path)) return [3 /*break*/, 12];
166
+ if (!options.slashCommandPath.baseDir) {
167
+ return [2 /*return*/, typeSentence('\x1b[31m%sPlease provide a baseDir. Type in options for slash (baseDir: __dirname).\x1b[0m', 50)];
168
+ }
169
+ if (!options.token) {
170
+ throw new Error('Error: No token is being provided in options.');
171
+ }
172
+ path = options.slashCommandPath.path;
173
+ dir = options.slashCommandPath.baseDir;
174
+ gId = options.slashCommandPath.guildId;
175
+ gl = options.slashCommandPath.global;
176
+ return [4 /*yield*/, (0, slashRegister_1.registerSlashCommands)(client, options.token, path, dir, gId, gl)];
177
+ case 10:
178
+ slashCommands = _e.sent();
179
+ return [4 /*yield*/, (0, slashResponder_1.slashRespond)(client, slashCommands, logChannels_1.slash)];
180
+ case 11:
181
+ _e.sent();
182
+ _e.label = 12;
183
+ case 12:
184
+ if (!options.botAvatar) return [3 /*break*/, 18];
185
+ avatarData = void 0;
186
+ if (!options.botAvatar.startsWith('http')) return [3 /*break*/, 14];
187
+ return [4 /*yield*/, axios_1.get(options.botAvatar, {
188
+ responseType: 'arraybuffer',
189
+ })];
190
+ case 13:
191
+ response = _e.sent();
192
+ avatarData = Buffer.from(response.data, 'binary');
193
+ return [3 /*break*/, 16];
194
+ case 14: return [4 /*yield*/, fs_1.promises.readFile(options.botAvatar)];
195
+ case 15:
196
+ avatarData = _e.sent();
197
+ _e.label = 16;
198
+ case 16: return [4 /*yield*/, ((_c = client.user) === null || _c === void 0 ? void 0 : _c.setAvatar(avatarData))];
199
+ case 17:
200
+ _e.sent();
201
+ _e.label = 18;
202
+ case 18:
203
+ if (!options.botName) return [3 /*break*/, 20];
204
+ return [4 /*yield*/, ((_d = client.user) === null || _d === void 0 ? void 0 : _d.setUsername(options.botName))];
205
+ case 19:
206
+ _e.sent();
207
+ _e.label = 20;
208
+ case 20:
209
+ if (!(options.prefixCommandPath && options.prefixCommandPath.path)) return [3 /*break*/, 22];
210
+ prefix = options.prefix || '!';
211
+ return [4 /*yield*/, (0, prefixRegister_1.readCommands)(client, options.prefixCommandPath.path)];
212
+ case 21:
213
+ _e.sent();
214
+ (0, prefixResponder_1.prefixRespond)(client, prefix, logChannels_1.prefix);
215
+ _e.label = 22;
216
+ case 22:
217
+ if (!(options.mongo && options.mongo.mongoURI && options.mongo.dataName)) return [3 /*break*/, 28];
218
+ if (!options.mongo.mongoURI || !options.mongo.dataName) {
219
+ throw new Error("\u001B[31mYou need to provide mongoURI and Database name for a successful connection.\u001B[0m");
220
+ }
221
+ _e.label = 23;
222
+ case 23:
223
+ _e.trys.push([23, 27, , 28]);
224
+ return [4 /*yield*/, (0, mongoDB_1.mongoConnect)(options.mongo.mongoURI, options.mongo.dataName)];
225
+ case 24:
226
+ _e.sent();
227
+ if (!(options.mongo.initialize === true)) return [3 /*break*/, 26];
228
+ return [4 /*yield*/, (0, mongoDB_1.initializeDb)(20000)];
229
+ case 25:
230
+ _e.sent();
231
+ _e.label = 26;
232
+ case 26: return [3 /*break*/, 28];
233
+ case 27:
234
+ error_3 = _e.sent();
235
+ console.warn("\u001B[1m\u001B[35m".concat(error_3, "\u001B[0m"));
236
+ return [3 /*break*/, 28];
237
+ case 28: return [2 /*return*/];
238
+ }
239
+ });
240
+ }); });
241
+ if (options.webView) {
242
+ port_1 = options.webView.port || 3000;
243
+ hostname_1 = options.webView.hostname || 'localhost';
244
+ app = (0, express_1)();
245
+ if (options.webView.middleware) {
246
+ options.webView.middleware(app);
247
+ }
248
+ if (options.webView.routes) {
249
+ options.webView.routes(app);
250
+ }
251
+ else {
252
+ app.get('/', function (req, res) {
253
+ res.send('Hello, this is a simple web server!');
254
+ });
255
+ }
256
+ app.listen(port_1, hostname_1, function () {
257
+ console.log("Server is running at http://".concat(hostname_1, ":").concat(port_1));
258
+ });
259
+ }
260
+ if (options.lavalink) {
261
+ nodes = options.lavalink.nodes || [];
262
+ if (nodes.length === 0) {
263
+ nodes = [
264
+ {
265
+ host: '195.58.58.23',
266
+ port: 25565,
267
+ password: 'best',
268
+ secure: false,
269
+ },
270
+ ];
271
+ }
272
+ searchPlateForm = ((_c = options.lavalink) === null || _c === void 0 ? void 0 : _c.search) || 'ytmsearch';
273
+ restVersion = ((_d = options.lavalink) === null || _d === void 0 ? void 0 : _d.version) || 'v4';
274
+ client.riffy = new riffy_1.Riffy(client, nodes, {
275
+ send: function (payload) {
276
+ var guild = client.guilds.cache.get(payload.d.guild_id);
277
+ if (guild)
278
+ guild.shard.send(payload);
279
+ },
280
+ searchPlateForm: searchPlateForm,
281
+ restVersion: restVersion,
282
+ });
283
+ client.restVersion = restVersion;
284
+ client.riffy.on('nodeConnect', function (node) {
285
+ typeSentence("\u001B[34mNode \"".concat(node.name, "\" connected.\u001B[0m "), 50);
286
+ });
287
+ client.riffy.on('trackStart', function (player, track) { return __awaiter(_this, void 0, void 0, function () {
288
+ return __generator(this, function (_a) {
289
+ switch (_a.label) {
290
+ case 0: return [4 /*yield*/, (0, start_1)(client, player, track)];
291
+ case 1:
292
+ _a.sent();
293
+ return [2 /*return*/];
294
+ }
295
+ });
296
+ }); });
297
+ client.riffy.on('queueEnd', function (player) { return __awaiter(_this, void 0, void 0, function () {
298
+ return __generator(this, function (_a) {
299
+ switch (_a.label) {
300
+ case 0: return [4 /*yield*/, (0, end_1)(client, player)];
301
+ case 1:
302
+ _a.sent();
303
+ return [2 /*return*/];
304
+ }
305
+ });
306
+ }); });
307
+ client.on('interactionCreate', function (interaction) { return __awaiter(_this, void 0, void 0, function () {
308
+ return __generator(this, function (_a) {
309
+ if (interaction.isButton()) {
310
+ (0, buttons_1)(interaction);
311
+ }
312
+ return [2 /*return*/];
313
+ });
314
+ }); });
315
+ client.on('raw', function (d) {
316
+ if (![
317
+ discord_js_1.GatewayDispatchEvents.VoiceStateUpdate,
318
+ discord_js_1.GatewayDispatchEvents.VoiceServerUpdate,
319
+ ].includes(d.t))
320
+ return;
321
+ client.riffy.updateVoiceState(d);
322
+ });
323
+ }
324
+ return [3 /*break*/, 4];
325
+ case 3:
326
+ error_1 = _e.sent();
327
+ typeSentence("Error in starter function: ".concat(error_1.message), 50);
328
+ return [3 /*break*/, 4];
329
+ case 4: return [2 /*return*/];
330
+ }
331
+ });
332
+ });
333
+ }
334
+
335
+ exports.starter = starter;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.botperms = exports.userperms = void 0;
4
+ function userperms(member, permission) {
5
+ if (!member.permissions.has(permission)) {
6
+ throw new Error("User does not have the \"".concat(permission, "\" permission."));
7
+ }
8
+ }
9
+
10
+ exports.userperms = userperms;
11
+
12
+ function botperms(guild, permission) {
13
+ var _a;
14
+ if (!((_a = guild.members.me) === null || _a === void 0 ? void 0 : _a.permissions.has(permission))) {
15
+ throw new Error("Bot does not have the \"".concat(permission, "\" permission."));
16
+ }
17
+ }
18
+
19
+ exports.botperms = botperms;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.userperms = exports.botperms = void 0;
4
+ var perms_1 = require("./functions/perms");
5
+ Object.defineProperty(exports, "botperms", { enumerable: true, get: function () { return perms_1.botperms; } });
6
+ Object.defineProperty(exports, "userperms", { enumerable: true, get: function () { return perms_1.userperms; } });
@@ -0,0 +1,77 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.typeSentence = void 0;
40
+ function typeSentence(channel, sentence, speed, delay) {
41
+ return __awaiter(this, void 0, void 0, function () {
42
+ var typingMessage, typedSentence, i;
43
+ return __generator(this, function (_a) {
44
+ switch (_a.label) {
45
+ case 0: return [4 /*yield*/, channel.send(sentence[0])];
46
+ case 1:
47
+ typingMessage = _a.sent();
48
+ typedSentence = typingMessage.content;
49
+ i = 1;
50
+ _a.label = 2;
51
+ case 2:
52
+ if (!(i < sentence.length)) return [3 /*break*/, 6];
53
+ typedSentence += sentence.slice(i, i + getStepCount(speed));
54
+ return [4 /*yield*/, sleep(delay)];
55
+ case 3:
56
+ _a.sent();
57
+ return [4 /*yield*/, typingMessage.edit(typedSentence)];
58
+ case 4:
59
+ _a.sent();
60
+ _a.label = 5;
61
+ case 5:
62
+ i += getStepCount(speed);
63
+ return [3 /*break*/, 2];
64
+ case 6: return [2 /*return*/];
65
+ }
66
+ });
67
+ });
68
+ }
69
+ exports.typeSentence = typeSentence;
70
+ function getStepCount(speed) {
71
+ var maxSteps = 120;
72
+ var steps = Math.min(Math.ceil(speed), maxSteps);
73
+ return steps > 0 ? steps : 1;
74
+ }
75
+ function sleep(ms) {
76
+ return new Promise(function (resolve) { return setTimeout(resolve, ms); });
77
+ }
File without changes
package/lib/utils.js ADDED
@@ -0,0 +1,90 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.typeWriter = exports.starter = exports.previousCommand = exports.resumeCommand = exports.skipCommand = exports.stopCommand = exports.playCommand = exports.PermissionChecker = exports.Paginator = exports.SelectMenuManager = exports.ButtonManager = exports.cooldown = exports.whiteList = exports.blackList = exports.adminUser = exports.ecoSystem = exports.roleMenu = exports.contactInfo = exports.shopItem = exports.eventInfo = exports.blogPost = exports.productInfo = exports.userEco = exports.xpConfig = exports.xpCount = exports.forumPost = exports.orderInfo = exports.productReview = exports.recipeInfo = exports.musicTrack = exports.setGameCount = exports.gameCount = exports.employeeInfo = exports.setserverCounter = exports.guildInfo = exports.userTemplate = exports.initializeDb = exports.getDb = exports.mongoConnect = exports.NanoDb = exports.apexAI = exports.ApexPainter = 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;
18
+ var ApexPainter_1 = require("./canvas/ApexPainter");
19
+ Object.defineProperty(exports, "ApexPainter", { enumerable: true, get: function () { return ApexPainter_1.ApexPainter; } });
20
+ var apexAI_1 = require("./ai/apexAI");
21
+ Object.defineProperty(exports, "apexAI", { enumerable: true, get: function () { return apexAI_1.apexAI; } });
22
+ var NanoDB_1 = require("./database/NanoDB");
23
+ Object.defineProperty(exports, "NanoDb", { enumerable: true, get: function () { return NanoDB_1.NanoDb; } });
24
+ var MongoDB_1 = require("./database/MongoDB");
25
+ Object.defineProperty(exports, "mongoConnect", { enumerable: true, get: function () { return MongoDB_1.mongoConnect; } });
26
+ Object.defineProperty(exports, "getDb", { enumerable: true, get: function () { return MongoDB_1.getDb; } });
27
+ Object.defineProperty(exports, "initializeDb", { enumerable: true, get: function () { return MongoDB_1.initializeDb; } });
28
+ var ready_schemas_1 = require("./database/ready-schemas");
29
+ Object.defineProperty(exports, "userTemplate", { enumerable: true, get: function () { return ready_schemas_1.userTemplate; } });
30
+ Object.defineProperty(exports, "guildInfo", { enumerable: true, get: function () { return ready_schemas_1.guildInfo; } });
31
+ Object.defineProperty(exports, "setserverCounter", { enumerable: true, get: function () { return ready_schemas_1.setserverCounter; } });
32
+ Object.defineProperty(exports, "employeeInfo", { enumerable: true, get: function () { return ready_schemas_1.employeeInfo; } });
33
+ Object.defineProperty(exports, "gameCount", { enumerable: true, get: function () { return ready_schemas_1.gameCount; } });
34
+ Object.defineProperty(exports, "setGameCount", { enumerable: true, get: function () { return ready_schemas_1.setGameCount; } });
35
+ Object.defineProperty(exports, "musicTrack", { enumerable: true, get: function () { return ready_schemas_1.musicTrack; } });
36
+ Object.defineProperty(exports, "recipeInfo", { enumerable: true, get: function () { return ready_schemas_1.recipeInfo; } });
37
+ Object.defineProperty(exports, "productReview", { enumerable: true, get: function () { return ready_schemas_1.productReview; } });
38
+ Object.defineProperty(exports, "orderInfo", { enumerable: true, get: function () { return ready_schemas_1.orderInfo; } });
39
+ Object.defineProperty(exports, "forumPost", { enumerable: true, get: function () { return ready_schemas_1.forumPost; } });
40
+ Object.defineProperty(exports, "xpCount", { enumerable: true, get: function () { return ready_schemas_1.xpCount; } });
41
+ Object.defineProperty(exports, "xpConfig", { enumerable: true, get: function () { return ready_schemas_1.xpConfig; } });
42
+ Object.defineProperty(exports, "userEco", { enumerable: true, get: function () { return ready_schemas_1.userEco; } });
43
+ Object.defineProperty(exports, "productInfo", { enumerable: true, get: function () { return ready_schemas_1.productInfo; } });
44
+ Object.defineProperty(exports, "blogPost", { enumerable: true, get: function () { return ready_schemas_1.blogPost; } });
45
+ Object.defineProperty(exports, "eventInfo", { enumerable: true, get: function () { return ready_schemas_1.eventInfo; } });
46
+ Object.defineProperty(exports, "shopItem", { enumerable: true, get: function () { return ready_schemas_1.shopItem; } });
47
+ Object.defineProperty(exports, "contactInfo", { enumerable: true, get: function () { return ready_schemas_1.contactInfo; } });
48
+ Object.defineProperty(exports, "roleMenu", { enumerable: true, get: function () { return ready_schemas_1.roleMenu; } });
49
+ Object.defineProperty(exports, "ecoSystem", { enumerable: true, get: function () { return ready_schemas_1.ecoSystem; } });
50
+ Object.defineProperty(exports, "adminUser", { enumerable: true, get: function () { return ready_schemas_1.adminUser; } });
51
+ Object.defineProperty(exports, "blackList", { enumerable: true, get: function () { return ready_schemas_1.blackList; } });
52
+ Object.defineProperty(exports, "whiteList", { enumerable: true, get: function () { return ready_schemas_1.whiteList; } });
53
+ Object.defineProperty(exports, "cooldown", { enumerable: true, get: function () { return ready_schemas_1.cooldown; } });
54
+ var utils_1 = require("./discord/discord-build/utils");
55
+ Object.defineProperty(exports, "ButtonManager", { enumerable: true, get: function () { return utils_1.ButtonManager; } });
56
+ Object.defineProperty(exports, "SelectMenuManager", { enumerable: true, get: function () { return utils_1.SelectMenuManager; } });
57
+ Object.defineProperty(exports, "Paginator", { enumerable: true, get: function () { return utils_1.Paginator; } });
58
+ Object.defineProperty(exports, "PermissionChecker", { enumerable: true, get: function () { return utils_1.PermissionChecker; } });
59
+ Object.defineProperty(exports, "playCommand", { enumerable: true, get: function () { return utils_1.playCommand; } });
60
+ Object.defineProperty(exports, "stopCommand", { enumerable: true, get: function () { return utils_1.stopCommand; } });
61
+ Object.defineProperty(exports, "skipCommand", { enumerable: true, get: function () { return utils_1.skipCommand; } });
62
+ Object.defineProperty(exports, "resumeCommand", { enumerable: true, get: function () { return utils_1.resumeCommand; } });
63
+ Object.defineProperty(exports, "previousCommand", { enumerable: true, get: function () { return utils_1.previousCommand; } });
64
+ var starter_1 = require("./discord/events/starter");
65
+ Object.defineProperty(exports, "starter", { enumerable: true, get: function () { return starter_1.starter; } });
66
+ var utils_2 = require("./general-functions/utils");
67
+ Object.defineProperty(exports, "typeWriter", { enumerable: true, get: function () { return utils_2.typeWriter; } });
68
+ var utils_4 = require("./database/utils");
69
+ Object.defineProperty(exports, "save", { enumerable: true, get: function () { return utils_4.save; } });
70
+ Object.defineProperty(exports, "aggregate", { enumerable: true, get: function () { return utils_4.aggregate; } });
71
+ Object.defineProperty(exports, "createTable", { enumerable: true, get: function () { return utils_4.createTable; } });
72
+ Object.defineProperty(exports, "countDocs", { enumerable: true, get: function () { return utils_4.countDocs; } });
73
+ Object.defineProperty(exports, "dataSize", { enumerable: true, get: function () { return utils_4.dataSize; } });
74
+ Object.defineProperty(exports, "distinct", { enumerable: true, get: function () { return utils_4.distinct; } });
75
+ Object.defineProperty(exports, "drop", { enumerable: true, get: function () { return utils_4.drop; } });
76
+ Object.defineProperty(exports, "find", { enumerable: true, get: function () { return utils_4.find; } });
77
+ Object.defineProperty(exports, "geoNear", { enumerable: true, get: function () { return utils_4.geoNear; } });
78
+ Object.defineProperty(exports, "listIndexes", { enumerable: true, get: function () { return utils_4.listIndexes; } });
79
+ Object.defineProperty(exports, "listCollections", { enumerable: true, get: function () { return utils_4.listCollections; } });
80
+ Object.defineProperty(exports, "remove", { enumerable: true, get: function () { return utils_4.remove; } });
81
+ Object.defineProperty(exports, "removeMany", { enumerable: true, get: function () { return utils_4.removeMany; } });
82
+ Object.defineProperty(exports, "removeManyExcept", { enumerable: true, get: function () { return utils_4.removeManyExcept; } });
83
+ Object.defineProperty(exports, "removeSpecific", { enumerable: true, get: function () { return utils_4.removeSpecific; } });
84
+ Object.defineProperty(exports, "searchMany", { enumerable: true, get: function () { return utils_4.searchMany; } });
85
+ Object.defineProperty(exports, "textSearch", { enumerable: true, get: function () { return utils_4.textSearch; } });
86
+ Object.defineProperty(exports, "migrateData", { enumerable: true, get: function () { return utils_4.migrateData; } });
87
+ Object.defineProperty(exports, "migrateAndPrune", { enumerable: true, get: function () { return utils_4.migrateAndPrune; } });
88
+ Object.defineProperty(exports, "updateData", { enumerable: true, get: function () { return utils_4.updateData; } });
89
+ Object.defineProperty(exports, "updateAll", { enumerable: true, get: function () { return utils_4.updateAll; } });
90
+ Object.defineProperty(exports, "updateAllExcept", { enumerable: true, get: function () { return utils_4.updateAllExcept; } });
package/package.json ADDED
@@ -0,0 +1,118 @@
1
+ {
2
+ "name": "apexify.js",
3
+ "version": "1.2.1",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "keywords": [
10
+ "discord.js",
11
+ "discord",
12
+ "pdf reader",
13
+ "canvas",
14
+ "discord build",
15
+ "no-nsfw",
16
+ "nsfw",
17
+ "local database",
18
+ "db",
19
+ "online database",
20
+ "simple database",
21
+ "json",
22
+ "canvas themes",
23
+ "handler",
24
+ "database",
25
+ "mongodb",
26
+ "jimp",
27
+ "discord music",
28
+ "music card",
29
+ "music theme",
30
+ "easy canvas",
31
+ "siple canvas",
32
+ "image manipulation",
33
+ "filters",
34
+ "image resize",
35
+ "image converter",
36
+ "image extentions",
37
+ "voiceMessages",
38
+ "voice",
39
+ "ai",
40
+ "chat bot",
41
+ "image",
42
+ "ai generator",
43
+ "image generator",
44
+ "bot commands",
45
+ "commands",
46
+ "bot",
47
+ "discord.js",
48
+ "handler",
49
+ "register slash",
50
+ "prefix commands",
51
+ "discord bot",
52
+ "canvas",
53
+ "@napi-rs/canvas",
54
+ "drawImage",
55
+ "simple-canvas",
56
+ "Paint Image",
57
+ "database ",
58
+ "mongodb",
59
+ "mongoos",
60
+ "event",
61
+ "slashcommand",
62
+ "discord",
63
+ "commands",
64
+ "prefix",
65
+ "moderation",
66
+ "music",
67
+ "lavalink",
68
+ "image extarction",
69
+ "translator",
70
+ "ai",
71
+ "chatbot",
72
+ "chatgpt",
73
+ "gpt",
74
+ "API",
75
+ "smartestchatbot",
76
+ "dalledall-e",
77
+ "text2imagetexttoimage",
78
+ "image-generator",
79
+ "midjourney",
80
+ "diffusion",
81
+ "dall-e2",
82
+ "ai-images",
83
+ "ai-images-generator",
84
+ "gpt",
85
+ "discordchat",
86
+ "chatgpt-4",
87
+ "openai",
88
+ "open-ai"
89
+ ],
90
+ "author": "zenith-79",
91
+ "license": "ISC",
92
+ "dependencies": {
93
+ "@iamtraction/google-translate": "^2.0.1",
94
+ "@napi-rs/canvas": "^0.1.51",
95
+ "@types/node": "^18.0.6",
96
+ "api": "^6.1.1",
97
+ "ascii-table": "^0.0.9",
98
+ "axios": "^1.6.7",
99
+ "crypto-browserify": "^3.12.0",
100
+ "express": "^4.18.3",
101
+ "form-data": "^4.0.0",
102
+ "gifencoder": "^2.0.1",
103
+ "hercai": "^12.2.0",
104
+ "jimp": "^0.22.12",
105
+ "mongodb": "^6.4.0",
106
+ "pdf-parse": "^1.1.1",
107
+ "riffy": "^1.0.3",
108
+ "sharp": "^0.33.2",
109
+ "stream": "^0.0.2",
110
+ "tesseract.js": "^5.0.5"
111
+ },
112
+ "devDependencies": {
113
+ "discord.js": "^14.14.1",
114
+ "fs": "^0.0.1-security",
115
+ "path": "^0.12.7",
116
+ "typescript": "^5.3.3"
117
+ }
118
+ }