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.
- package/lib/ai/apexAI.js +1 -1
- package/lib/ai/functions/draw.js +45 -58
- package/lib/ai/functions/generateVoiceResponse.js +1 -1
- package/lib/canvas/ApexPainter.js +3 -1
- package/lib/canvas/themes/levels-card.js +877 -833
- package/lib/database/utils.js +6 -2
- package/lib/discord/discord-build/levelingSystem/cLevel.js +38 -25
- package/lib/discord/events/eventer.js +83 -38
- package/lib/discord/events/prefixRegister.js +27 -15
- package/lib/discord/events/slashRegister.js +15 -31
- package/lib/discord/events/starter.js +106 -80
- package/package.json +2 -1
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,
|
|
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];
|
package/lib/ai/functions/draw.js
CHANGED
|
@@ -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
|
|
40
|
+
var translate = require("@iamtraction/google-translate");
|
|
50
41
|
var sharp = require("sharp");
|
|
51
42
|
var discord_js_1 = require("discord.js");
|
|
52
|
-
var
|
|
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(
|
|
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,
|
|
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 =
|
|
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,
|
|
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
|
-
|
|
166
|
+
attachData = [];
|
|
176
167
|
buttonsRow1 = [];
|
|
177
168
|
imageUrls = [];
|
|
178
169
|
_loop_1 = function (_0x4d7fb6) {
|
|
179
|
-
var generateResponse, generatedJobId, error_2,
|
|
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(
|
|
175
|
+
if (!validHercaiModals.includes(imageModel)) return [3 /*break*/, 2];
|
|
185
176
|
return [4 /*yield*/, retry(function () {
|
|
186
|
-
return
|
|
187
|
-
model:
|
|
177
|
+
return hercai.drawImage({
|
|
178
|
+
model: imageModel,
|
|
188
179
|
prompt: translatedText_1.text,
|
|
189
180
|
});
|
|
190
181
|
})];
|
|
191
182
|
case 1:
|
|
192
|
-
|
|
183
|
+
response = _c.sent();
|
|
193
184
|
return [3 /*break*/, 6];
|
|
194
185
|
case 2:
|
|
195
|
-
if (!validProdiaModals.includes(
|
|
186
|
+
if (!validProdiaModals.includes(imageModel)) return [3 /*break*/, 5];
|
|
196
187
|
return [4 /*yield*/, sdk.generate({
|
|
197
|
-
model:
|
|
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
|
-
|
|
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:
|
|
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:
|
|
218
|
-
case 9: return [4 /*yield*/,
|
|
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
|
-
|
|
225
|
-
if (!(
|
|
215
|
+
buffferedImage = void 0;
|
|
216
|
+
if (!(imageModel === "v3")) return [3 /*break*/, 15];
|
|
226
217
|
return [4 /*yield*/, retry(function () {
|
|
227
|
-
return
|
|
218
|
+
return axios.get(response.url, {
|
|
228
219
|
responseType: "arraybuffer",
|
|
229
220
|
});
|
|
230
221
|
})];
|
|
231
222
|
case 13:
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
return [4 /*yield*/, sharp(
|
|
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
|
-
|
|
231
|
+
resizedImage = _c.sent();
|
|
241
232
|
attachment = {
|
|
242
|
-
file:
|
|
233
|
+
file: resizedImage,
|
|
243
234
|
name: "image_".concat(_0x4d7fb6 + 1, ".png"),
|
|
244
235
|
};
|
|
245
|
-
|
|
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(
|
|
240
|
+
.setURL(response.url);
|
|
250
241
|
buttonsRow1.push(urlButton);
|
|
251
|
-
imageUrls.push(
|
|
242
|
+
imageUrls.push(response.url);
|
|
252
243
|
return [3 /*break*/, 18];
|
|
253
244
|
case 15:
|
|
254
|
-
imageUrl =
|
|
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
|
-
|
|
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
|
-
|
|
346
|
-
|
|
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 (
|
|
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
|
-
|
|
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*/,
|
|
404
|
-
files:
|
|
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
|
-
|
|
413
|
-
console.error("Error in drawImage:",
|
|
414
|
-
if (
|
|
415
|
-
console.error("Status code:",
|
|
416
|
-
console.error("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
|
-
|
|
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*/,
|
|
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,
|
|
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];
|
|
@@ -27,6 +27,7 @@ class ApexPainter {
|
|
|
27
27
|
offsetX: 0,
|
|
28
28
|
offsetY: 0,
|
|
29
29
|
blur: 0,
|
|
30
|
+
opacity: 0,
|
|
30
31
|
},
|
|
31
32
|
stroke: {
|
|
32
33
|
color: null,
|
|
@@ -391,8 +392,9 @@ ctx.drawImage(customBgImage, 0, 0);
|
|
|
391
392
|
}
|
|
392
393
|
|
|
393
394
|
isShapeName(source) {
|
|
395
|
+
|
|
394
396
|
const validShapes = ["square", "circle", "triangle", "rectangle"];
|
|
395
|
-
return validShapes.includes(source
|
|
397
|
+
return validShapes.includes(source?.toLowerCase() || 'square');
|
|
396
398
|
}
|
|
397
399
|
|
|
398
400
|
drawShape(ctx, shapeOptions, canvasBackgroundColor) {
|