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 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];
@@ -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.toLowerCase());
397
+ return validShapes.includes(source?.toLowerCase() || 'square');
396
398
  }
397
399
 
398
400
  drawShape(ctx, shapeOptions, canvasBackgroundColor) {