apexify.js 3.3.11 → 4.0.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 (88) hide show
  1. package/README.md +183 -0
  2. package/dist/ai/ApexAI.d.ts +88 -8
  3. package/dist/ai/ApexAI.d.ts.map +1 -1
  4. package/dist/ai/ApexAI.js +61 -161
  5. package/dist/ai/ApexAI.js.map +1 -1
  6. package/dist/ai/direct-use.d.ts +9 -0
  7. package/dist/ai/direct-use.d.ts.map +1 -0
  8. package/dist/ai/direct-use.js +572 -0
  9. package/dist/ai/direct-use.js.map +1 -0
  10. package/dist/ai/functions/Gemini.d.ts +6 -0
  11. package/dist/ai/functions/Gemini.d.ts.map +1 -0
  12. package/dist/ai/functions/Gemini.js +103 -0
  13. package/dist/ai/functions/Gemini.js.map +1 -0
  14. package/dist/ai/functions/draw.d.ts +2 -1
  15. package/dist/ai/functions/draw.d.ts.map +1 -1
  16. package/dist/ai/functions/draw.js +476 -102
  17. package/dist/ai/functions/draw.js.map +1 -1
  18. package/dist/ai/functions/generateVoiceResponse.d.ts +3 -1
  19. package/dist/ai/functions/generateVoiceResponse.d.ts.map +1 -1
  20. package/dist/ai/functions/generateVoiceResponse.js +29 -18
  21. package/dist/ai/functions/generateVoiceResponse.js.map +1 -1
  22. package/dist/ai/functions/typeWriter.d.ts +1 -1
  23. package/dist/ai/functions/typeWriter.d.ts.map +1 -1
  24. package/dist/ai/functions/typeWriter.js +3 -2
  25. package/dist/ai/functions/typeWriter.js.map +1 -1
  26. package/dist/ai/functions/validOptions.d.ts +10 -0
  27. package/dist/ai/functions/validOptions.d.ts.map +1 -0
  28. package/dist/ai/functions/validOptions.js +130 -0
  29. package/dist/ai/functions/validOptions.js.map +1 -0
  30. package/dist/ai/modals-chat/Gemini-flash.d.ts +6 -0
  31. package/dist/ai/modals-chat/Gemini-flash.d.ts.map +1 -0
  32. package/dist/ai/modals-chat/Gemini-flash.js +111 -0
  33. package/dist/ai/modals-chat/Gemini-flash.js.map +1 -0
  34. package/dist/ai/modals-chat/Gemini-pro.d.ts +6 -0
  35. package/dist/ai/modals-chat/Gemini-pro.d.ts.map +1 -0
  36. package/dist/ai/modals-chat/Gemini-pro.js +96 -0
  37. package/dist/ai/modals-chat/Gemini-pro.js.map +1 -0
  38. package/dist/ai/modals-chat/apexChat.d.ts +2 -0
  39. package/dist/ai/modals-chat/apexChat.d.ts.map +1 -0
  40. package/dist/ai/modals-chat/apexChat.js +33 -0
  41. package/dist/ai/modals-chat/apexChat.js.map +1 -0
  42. package/dist/ai/modals-chat/config.d.ts +5 -0
  43. package/dist/ai/modals-chat/config.d.ts.map +1 -0
  44. package/dist/ai/modals-chat/config.js +13 -0
  45. package/dist/ai/modals-chat/config.js.map +1 -0
  46. package/dist/ai/modals-chat/facebook-ai.d.ts +2 -0
  47. package/dist/ai/modals-chat/facebook-ai.d.ts.map +1 -0
  48. package/dist/ai/modals-chat/facebook-ai.js +21 -0
  49. package/dist/ai/modals-chat/facebook-ai.js.map +1 -0
  50. package/dist/ai/modals-chat/gemma.d.ts +3 -0
  51. package/dist/ai/modals-chat/gemma.d.ts.map +1 -0
  52. package/dist/ai/modals-chat/gemma.js +54 -0
  53. package/dist/ai/modals-chat/gemma.js.map +1 -0
  54. package/dist/ai/modals-chat/modals.d.ts +8 -0
  55. package/dist/ai/modals-chat/modals.d.ts.map +1 -0
  56. package/dist/ai/modals-chat/modals.js +16 -0
  57. package/dist/ai/modals-chat/modals.js.map +1 -0
  58. package/dist/ai/modals-chat/starChat.d.ts +2 -0
  59. package/dist/ai/modals-chat/starChat.d.ts.map +1 -0
  60. package/dist/ai/modals-chat/starChat.js +32 -0
  61. package/dist/ai/modals-chat/starChat.js.map +1 -0
  62. package/dist/ai/modals-chat/yi-ai.d.ts +2 -0
  63. package/dist/ai/modals-chat/yi-ai.d.ts.map +1 -0
  64. package/dist/ai/modals-chat/yi-ai.js +41 -0
  65. package/dist/ai/modals-chat/yi-ai.js.map +1 -0
  66. package/dist/ai/utils.d.ts +3 -2
  67. package/dist/ai/utils.d.ts.map +1 -1
  68. package/dist/ai/utils.js +6 -4
  69. package/dist/ai/utils.js.map +1 -1
  70. package/dist/canvas/utils/general functions.js +1 -1
  71. package/dist/canvas/utils/general functions.js.map +1 -1
  72. package/lib/ai/ApexAI.ts +215 -193
  73. package/lib/ai/{models.ts → direct-use.ts} +9 -12
  74. package/lib/ai/functions/draw.ts +479 -83
  75. package/lib/ai/functions/generateVoiceResponse.ts +16 -8
  76. package/lib/ai/functions/typeWriter.ts +4 -2
  77. package/lib/ai/functions/validOptions.ts +210 -0
  78. package/lib/ai/modals-chat/Gemini-flash.ts +108 -0
  79. package/lib/ai/modals-chat/Gemini-pro.ts +93 -0
  80. package/lib/ai/modals-chat/apexChat.ts +31 -0
  81. package/lib/ai/modals-chat/config.ts +11 -0
  82. package/lib/ai/modals-chat/facebook-ai.ts +14 -0
  83. package/lib/ai/modals-chat/modals.ts +8 -0
  84. package/lib/ai/modals-chat/starChat.ts +31 -0
  85. package/lib/ai/modals-chat/yi-ai.ts +40 -0
  86. package/lib/ai/utils.ts +3 -1
  87. package/lib/canvas/utils/general functions.ts +1 -1
  88. package/package.json +5 -3
@@ -7,84 +7,14 @@ exports.aiImagine = void 0;
7
7
  const google_translate_1 = __importDefault(require("@iamtraction/google-translate"));
8
8
  const sharp_1 = __importDefault(require("sharp"));
9
9
  const discord_js_1 = require("discord.js");
10
+ const axios_1 = __importDefault(require("axios"));
11
+ const validOptions_1 = require("./validOptions");
10
12
  const api_1 = __importDefault(require("api"));
11
13
  const sdk = (0, api_1.default)("@prodia/v1.3.0#be019b2kls0gqss3");
12
- sdk.auth("43435e1c-cab1-493f-a224-f51e4b97ce8d");
13
- const validHercaiModals = [
14
- "v1",
15
- "v2",
16
- "v2-beta",
17
- "lexica",
18
- "prodia",
19
- "animefy",
20
- "raava",
21
- "shonin",
22
- "v3",
23
- ];
24
- const validProdiaModals = [
25
- "3Guofeng3_v34.safetensors [50f420de]",
26
- "absolutereality_V16.safetensors [37db0fc3]",
27
- "absolutereality_v181.safetensors [3d9d4d2b]",
28
- "amIReal_V41.safetensors [0a8a2e61]",
29
- "analog-diffusion-1.0.ckpt [9ca13f02]",
30
- "anythingv3_0-pruned.ckpt [2700c435]",
31
- "anything-v4.5-pruned.ckpt [65745d25]",
32
- "anythingV5_PrtRE.safetensors [893e49b9]",
33
- "AOM3A3_orangemixs.safetensors [9600da17]",
34
- "blazing_drive_v10g.safetensors [ca1c1eab]",
35
- "cetusMix_Version35.safetensors [de2f2560]",
36
- "childrensStories_v13D.safetensors [9dfaabcb]",
37
- "childrensStories_v1SemiReal.safetensors [a1c56dbb]",
38
- "childrensStories_v1ToonAnime.safetensors [2ec7b88b]",
39
- "Counterfeit_v30.safetensors [9e2a8f19]",
40
- "cuteyukimixAdorable_midchapter3.safetensors [04bdffe6]",
41
- "cyberrealistic_v33.safetensors [82b0d085]",
42
- "dalcefo_v4.safetensors [425952fe]",
43
- "deliberate_v2.safetensors [10ec4b29]",
44
- "deliberate_v3.safetensors [afd9d2d4]",
45
- "dreamlike-anime-1.0.safetensors [4520e090]",
46
- "dreamlike-diffusion-1.0.safetensors [5c9fd6e0]",
47
- "dreamlike-photoreal-2.0.safetensors [fdcf65e7]",
48
- "dreamshaper_6BakedVae.safetensors [114c8abb]",
49
- "dreamshaper_7.safetensors [5cf5ae06]",
50
- "dreamshaper_8.safetensors [9d40847d]",
51
- "edgeOfRealism_eorV20.safetensors [3ed5de15]",
52
- "EimisAnimeDiffusion_V1.ckpt [4f828a15]",
53
- "elldreths-vivid-mix.safetensors [342d9d26]",
54
- "epicrealism_naturalSinRC1VAE.safetensors [90a4c676]",
55
- "ICantBelieveItsNotPhotography_seco.safetensors [4e7a3dfd]",
56
- "juggernaut_aftermath.safetensors [5e20c455]",
57
- "lofi_v4.safetensors [ccc204d6]",
58
- "lyriel_v16.safetensors [68fceea2]",
59
- "majicmixRealistic_v4.safetensors [29d0de58]",
60
- "mechamix_v10.safetensors [ee685731]",
61
- "meinamix_meinaV9.safetensors [2ec66ab0]",
62
- "meinamix_meinaV11.safetensors [b56ce717]",
63
- "neverendingDream_v122.safetensors [f964ceeb]",
64
- "openjourney_V4.ckpt [ca2f377f]",
65
- "pastelMixStylizedAnime_pruned_fp16.safetensors [793a26e8]",
66
- "portraitplus_V1.0.safetensors [1400e684]",
67
- "protogenx34.safetensors [5896f8d5]",
68
- "Realistic_Vision_V1.4-pruned-fp16.safetensors [8d21810b]",
69
- "Realistic_Vision_V2.0.safetensors [79587710]",
70
- "Realistic_Vision_V4.0.safetensors [29a7afaa]",
71
- "Realistic_Vision_V5.0.safetensors [614d1063]",
72
- "redshift_diffusion-V10.safetensors [1400e684]",
73
- "revAnimated_v122.safetensors [3f4fefd9]",
74
- "rundiffusionFX25D_v10.safetensors [cd12b0ee]",
75
- "rundiffusionFX_v10.safetensors [cd4e694d]",
76
- "sdv1_4.ckpt [7460a6fa]",
77
- "v1-5-pruned-emaonly.safetensors [d7049739]",
78
- "v1-5-inpainting.safetensors [21c7ab71]",
79
- "shoninsBeautiful_v10.safetensors [25d8c546]",
80
- "theallys-mix-ii-churned.safetensors [5d9225a4]",
81
- "timeless-1.0.ckpt [7c4971d4]",
82
- "toonyou_beta6.safetensors [980f6b15]",
83
- ];
84
- async function aiImagine(message, numOfImages, textToDraw, hercai, imageModel, nsfw, nsfwKeyWords) {
85
- var _a, _b, _c, _d, _e;
86
- const maxRetryAttempts = 3;
87
- const retryInterval = 10000;
14
+ async function aiImagine(message, numOfImages, textToDraw, hercai, imageModel, nsfw, nsfwKeyWords, deepCheck, enhancer, buttons) {
15
+ var _a, _b, _c, _d, _e, _f, _g, _h;
16
+ const maxRetryAttempts = 4;
17
+ const retryInterval = 5000;
88
18
  let response;
89
19
  async function retry(fn, retriesLeft = maxRetryAttempts) {
90
20
  try {
@@ -112,21 +42,42 @@ async function aiImagine(message, numOfImages, textToDraw, hercai, imageModel, n
112
42
  const imageUrls = [];
113
43
  for (let _0x4d7fb6 = 0x0; _0x4d7fb6 < numOfImages; _0x4d7fb6++) {
114
44
  try {
115
- if (validHercaiModals.includes(imageModel)) {
45
+ if (validOptions_1.validOptions.validHercaiModals.includes(imageModel)) {
116
46
  response = await retry(() => hercai.drawImage({
117
47
  model: imageModel,
118
48
  prompt: translatedText.text,
119
49
  }));
120
50
  }
121
- else if (validProdiaModals.includes(imageModel)) {
51
+ else if (validOptions_1.validOptions.validProdiaModals.includes(imageModel)) {
122
52
  const generateResponse = await sdk.generate({
123
53
  model: imageModel,
124
54
  prompt: translatedText.text,
55
+ negative_prompt: enhancer.negative_prompt,
56
+ style_preset: enhancer.imgStyle,
57
+ cfg_scale: enhancer.cfgScale,
58
+ sampler: enhancer.sampler,
59
+ seed: enhancer.seed,
60
+ steps: enhancer.steps,
125
61
  });
126
62
  await ((_b = message.channel) === null || _b === void 0 ? void 0 : _b.sendTyping());
127
63
  const generatedJobId = generateResponse.data.job;
128
64
  response = await checkJobStatus(generatedJobId);
129
65
  }
66
+ else if (validOptions_1.validOptions.validSXDL.includes(imageModel)) {
67
+ const generateResponse = await sdk.sdxlGenerate({
68
+ model: imageModel,
69
+ prompt: translatedText.text,
70
+ negative_prompt: enhancer.negative_prompt,
71
+ style_preset: enhancer.imgStyle,
72
+ cfg_scale: enhancer.cfgScale,
73
+ sampler: enhancer.sampler,
74
+ seed: enhancer.seed,
75
+ steps: enhancer.steps,
76
+ });
77
+ await ((_c = message.channel) === null || _c === void 0 ? void 0 : _c.sendTyping());
78
+ const generatedJobId = generateResponse.data.job;
79
+ response = await checkJobStatus(generatedJobId);
80
+ }
130
81
  else {
131
82
  throw new Error("Invalid modal name.");
132
83
  }
@@ -147,20 +98,11 @@ async function aiImagine(message, numOfImages, textToDraw, hercai, imageModel, n
147
98
  }
148
99
  let buffferedImage;
149
100
  if (imageModel === "v3") {
150
- const res = await retry(async () => {
151
- const resp = await fetch(response.url, {
152
- method: 'GET',
153
- headers: {
154
- 'Content-Type': 'application/octet-stream'
155
- }
156
- });
157
- if (!resp.ok) {
158
- throw new Error("Failed to fetch image data.");
159
- }
160
- return await resp.arrayBuffer();
161
- });
162
- await ((_c = message.channel) === null || _c === void 0 ? void 0 : _c.sendTyping());
163
- buffferedImage = Buffer.from(res, "binary");
101
+ const res = await retry(() => axios_1.default.get(response.url, {
102
+ responseType: "arraybuffer",
103
+ }));
104
+ await ((_d = message.channel) === null || _d === void 0 ? void 0 : _d.sendTyping());
105
+ buffferedImage = Buffer.from(res.data, "binary");
164
106
  const resizedImage = await (0, sharp_1.default)(buffferedImage)
165
107
  .resize({
166
108
  width: 0x320,
@@ -180,10 +122,411 @@ async function aiImagine(message, numOfImages, textToDraw, hercai, imageModel, n
180
122
  }
181
123
  else {
182
124
  const imageUrl = response.url || response;
183
- await ((_d = message.channel) === null || _d === void 0 ? void 0 : _d.sendTyping());
125
+ await ((_e = message.channel) === null || _e === void 0 ? void 0 : _e.sendTyping());
184
126
  if (nsfw) {
185
127
  const textToCheck = await attemptImageCaptioning(imageUrl);
186
128
  const nsfwWords = [
129
+ "2g1c",
130
+ "2 girls 1 cup",
131
+ "acrotomophilia",
132
+ "alabama hot pocket",
133
+ "alaskan pipeline",
134
+ "anal",
135
+ "anilingus",
136
+ "anus",
137
+ "apeshit",
138
+ "arsehole",
139
+ "ass",
140
+ "asshole",
141
+ "assmunch",
142
+ "auto erotic",
143
+ "autoerotic",
144
+ "babeland",
145
+ "baby batter",
146
+ "baby juice",
147
+ "ball gag",
148
+ "ball gravy",
149
+ "ball kicking",
150
+ "ball licking",
151
+ "ball sack",
152
+ "ball sucking",
153
+ "bangbros",
154
+ "bangbus",
155
+ "bareback",
156
+ "barely legal",
157
+ "barenaked",
158
+ "bastard",
159
+ "bastardo",
160
+ "bastinado",
161
+ "bbw",
162
+ "bdsm",
163
+ "beaner",
164
+ "beaners",
165
+ "beaver cleaver",
166
+ "beaver lips",
167
+ "beastiality",
168
+ "bestiality",
169
+ "big black",
170
+ "big breasts",
171
+ "big knockers",
172
+ "big tits",
173
+ "bimbos",
174
+ "birdlock",
175
+ "bitch",
176
+ "bitches",
177
+ "black cock",
178
+ "blonde action",
179
+ "blonde on blonde action",
180
+ "blowjob",
181
+ "blow job",
182
+ "blow your load",
183
+ "blue waffle",
184
+ "blumpkin",
185
+ "bollocks",
186
+ "bondage",
187
+ "boner",
188
+ "boob",
189
+ "boobs",
190
+ "booty call",
191
+ "brown showers",
192
+ "brunette action",
193
+ "bukkake",
194
+ "bulldyke",
195
+ "bullet vibe",
196
+ "bullshit",
197
+ "bung hole",
198
+ "bunghole",
199
+ "busty",
200
+ "butt",
201
+ "buttcheeks",
202
+ "butthole",
203
+ "camel toe",
204
+ "camgirl",
205
+ "camslut",
206
+ "camwhore",
207
+ "carpet muncher",
208
+ "carpetmuncher",
209
+ "chocolate rosebuds",
210
+ "cialis",
211
+ "circlejerk",
212
+ "cleveland steamer",
213
+ "clit",
214
+ "clitoris",
215
+ "clover clamps",
216
+ "clusterfuck",
217
+ "cock",
218
+ "cocks",
219
+ "coprolagnia",
220
+ "coprophilia",
221
+ "cornhole",
222
+ "coon",
223
+ "coons",
224
+ "creampie",
225
+ "cum",
226
+ "cumming",
227
+ "cumshot",
228
+ "cumshots",
229
+ "cunnilingus",
230
+ "cunt",
231
+ "darkie",
232
+ "date rape",
233
+ "daterape",
234
+ "deep throat",
235
+ "deepthroat",
236
+ "dendrophilia",
237
+ "dick",
238
+ "dildo",
239
+ "dingleberry",
240
+ "dingleberries",
241
+ "dirty pillows",
242
+ "dirty sanchez",
243
+ "doggie style",
244
+ "doggiestyle",
245
+ "doggy style",
246
+ "doggystyle",
247
+ "dog style",
248
+ "dolcett",
249
+ "domination",
250
+ "dominatrix",
251
+ "dommes",
252
+ "donkey punch",
253
+ "double dong",
254
+ "double penetration",
255
+ "dp action",
256
+ "dry hump",
257
+ "dvda",
258
+ "eat my ass",
259
+ "ecchi",
260
+ "ejaculation",
261
+ "erotic",
262
+ "erotism",
263
+ "escort",
264
+ "eunuch",
265
+ "fag",
266
+ "faggot",
267
+ "fecal",
268
+ "felch",
269
+ "fellatio",
270
+ "feltch",
271
+ "female squirting",
272
+ "femdom",
273
+ "figging",
274
+ "fingerbang",
275
+ "fingering",
276
+ "fisting",
277
+ "foot fetish",
278
+ "footjob",
279
+ "frotting",
280
+ "fuck",
281
+ "fuck buttons",
282
+ "fuckin",
283
+ "fucking",
284
+ "fucktards",
285
+ "fudge packer",
286
+ "fudgepacker",
287
+ "futanari",
288
+ "gangbang",
289
+ "gang bang",
290
+ "gay sex",
291
+ "genitals",
292
+ "giant cock",
293
+ "girl on",
294
+ "girl on top",
295
+ "girls gone wild",
296
+ "goatcx",
297
+ "goatse",
298
+ "god damn",
299
+ "gokkun",
300
+ "golden shower",
301
+ "goodpoop",
302
+ "goo girl",
303
+ "goregasm",
304
+ "grope",
305
+ "group sex",
306
+ "g-spot",
307
+ "guro",
308
+ "hand job",
309
+ "handjob",
310
+ "hard core",
311
+ "hardcore",
312
+ "hentai",
313
+ "homoerotic",
314
+ "honkey",
315
+ "hooker",
316
+ "horny",
317
+ "hot carl",
318
+ "hot chick",
319
+ "how to kill",
320
+ "how to murder",
321
+ "huge fat",
322
+ "humping",
323
+ "incest",
324
+ "intercourse",
325
+ "jack off",
326
+ "jail bait",
327
+ "jailbait",
328
+ "jelly donut",
329
+ "jerk off",
330
+ "jigaboo",
331
+ "jiggaboo",
332
+ "jiggerboo",
333
+ "jizz",
334
+ "juggs",
335
+ "kike",
336
+ "kinbaku",
337
+ "kinkster",
338
+ "kinky",
339
+ "knobbing",
340
+ "leather restraint",
341
+ "leather straight jacket",
342
+ "lemon party",
343
+ "livesex",
344
+ "lolita",
345
+ "lovemaking",
346
+ "make me come",
347
+ "male squirting",
348
+ "masturbate",
349
+ "masturbating",
350
+ "masturbation",
351
+ "menage a trois",
352
+ "milf",
353
+ "missionary position",
354
+ "mong",
355
+ "motherfucker",
356
+ "mound of venus",
357
+ "mr hands",
358
+ "muff diver",
359
+ "muffdiving",
360
+ "nambla",
361
+ "nawashi",
362
+ "negro",
363
+ "neonazi",
364
+ "nigga",
365
+ "nigger",
366
+ "nig nog",
367
+ "nimphomania",
368
+ "nipple",
369
+ "nipples",
370
+ "nsfw",
371
+ 'nsfw images',
372
+ "nude",
373
+ "nudity",
374
+ "nutten",
375
+ "nympho",
376
+ "nymphomania",
377
+ "octopussy",
378
+ "omorashi",
379
+ "one cup two girls",
380
+ 'one guy one jar',
381
+ "orgasm",
382
+ "orgy",
383
+ 'paedophile',
384
+ "paki",
385
+ "panties",
386
+ "panty",
387
+ "pedobear",
388
+ "pedophile",
389
+ 'pegging',
390
+ 'penis',
391
+ "phone sex",
392
+ 'piece of shit',
393
+ "pikey",
394
+ "pissing",
395
+ "piss pig",
396
+ "pisspig",
397
+ "playboy",
398
+ "pleasure chest",
399
+ "pole smoker",
400
+ "ponyplay",
401
+ "poof",
402
+ "poon",
403
+ "poontang",
404
+ "punany",
405
+ "poop chute",
406
+ "poopchute",
407
+ "porn",
408
+ "porno",
409
+ "pornography",
410
+ "prince albert piercing",
411
+ "pthc",
412
+ "pubes",
413
+ "pussy",
414
+ "queaf",
415
+ "queef",
416
+ "quim",
417
+ "raghead",
418
+ "raging boner",
419
+ "rape",
420
+ "raping",
421
+ "rapist",
422
+ "rectum",
423
+ "reverse cowgirl",
424
+ "rimjob",
425
+ "rimming",
426
+ "rosy palm",
427
+ "rosy palm and her 5 sisters",
428
+ "rusty trombone",
429
+ "sadism",
430
+ "santorum",
431
+ "scat",
432
+ "schlong",
433
+ "scissoring",
434
+ "semen",
435
+ "sex",
436
+ "sexcam",
437
+ "sexo",
438
+ "sexy",
439
+ "sexual",
440
+ "sexually",
441
+ "sexuality",
442
+ "shaved beaver",
443
+ "shaved pussy",
444
+ "shemale",
445
+ "shibari",
446
+ "shit",
447
+ "shitblimp",
448
+ "shitty",
449
+ "shota",
450
+ "shrimping",
451
+ "skeet",
452
+ "slanteye",
453
+ "slut",
454
+ "s&m",
455
+ "smut",
456
+ "snatch",
457
+ "snowballing",
458
+ "sodomize",
459
+ "sodomy",
460
+ "spastic",
461
+ "spic",
462
+ "splooge",
463
+ "splooge moose",
464
+ "spooge",
465
+ "spread legs",
466
+ "spunk",
467
+ "strap on",
468
+ "strapon",
469
+ "strappado",
470
+ "strip club",
471
+ "style doggy",
472
+ "suck",
473
+ "sucks",
474
+ "suicide girls",
475
+ "sultry women",
476
+ "swastika",
477
+ "swinger",
478
+ "tainted love",
479
+ "taste my",
480
+ "tea bagging",
481
+ "threesome",
482
+ "throating",
483
+ "thumbzilla",
484
+ "tied up",
485
+ "tight white",
486
+ "tit",
487
+ "tits",
488
+ "titties",
489
+ "titty",
490
+ "topless",
491
+ "tosser",
492
+ "towelhead",
493
+ "tranny",
494
+ "tribadism",
495
+ "tub girl",
496
+ 'tubgirl',
497
+ "tushy",
498
+ "twat",
499
+ "twink",
500
+ "twinkie",
501
+ "two girls one cup",
502
+ "undressing",
503
+ 'upskirt',
504
+ "urethra play",
505
+ "urophilia",
506
+ "vagina",
507
+ "venus mound",
508
+ "viagra",
509
+ "vibrator",
510
+ "violet wand",
511
+ "vorarephilia",
512
+ "voyeur",
513
+ "voyeurweb",
514
+ "voyuer",
515
+ "vulva",
516
+ "wank",
517
+ "wetback",
518
+ "wet dream",
519
+ "white power",
520
+ "whore",
521
+ "worldsex",
522
+ "wrapping men",
523
+ "wrinkled starfish",
524
+ "xx",
525
+ "xxx",
526
+ "yaoi",
527
+ "yellow showers",
528
+ "yiffy",
529
+ "zoophilia",
187
530
  "anal",
188
531
  "arousal",
189
532
  "balls",
@@ -266,11 +609,19 @@ async function aiImagine(message, numOfImages, textToDraw, hercai, imageModel, n
266
609
  ];
267
610
  if (nsfwKeyWords.length > 0) {
268
611
  if (textToCheck && nsfwKeyWords.some(word => textToCheck === null || textToCheck === void 0 ? void 0 : textToCheck.includes(word))) {
269
- return message.reply("Warning ⚠️. The generated image contatining nsfw content. Turn off nsfw to sedn nsfw images.");
612
+ return message.reply("Warning ⚠️. The generated image contatining nsfw content. Turn off nsfw to send nsfw images.");
613
+ }
614
+ }
615
+ if (deepCheck) {
616
+ if (translatedText.text && nsfwWords.some(word => { var _a; return (_a = translatedText.text) === null || _a === void 0 ? void 0 : _a.includes(word); })) {
617
+ return message.reply("Warning ⚠️. Your prompt contains **`NSFW/Illegal/Prohibited`** words. Please refrain from doing this.");
618
+ }
619
+ if (translatedText.text && nsfwKeyWords.some(word => { var _a; return (_a = translatedText.text) === null || _a === void 0 ? void 0 : _a.includes(word); })) {
620
+ return message.reply("Warning ⚠️. Your prompt contains **`NSFW/Illegal/Prohibited`** words. Please refrain from doing this.");
270
621
  }
271
622
  }
272
623
  if (textToCheck && nsfwWords.some(word => textToCheck === null || textToCheck === void 0 ? void 0 : textToCheck.includes(word))) {
273
- return message.reply("Warning ⚠️. The generated image contatining nsfw content. Turn off nsfw to sedn nsfw images.");
624
+ return message.reply("Warning ⚠️. The generated image contatining nsfw content. Turn off nsfw to send nsfw images.");
274
625
  }
275
626
  }
276
627
  const attach = new discord_js_1.AttachmentBuilder(imageUrl, { name: `image_${_0x4d7fb6 + 1}.png` });
@@ -306,12 +657,36 @@ async function aiImagine(message, numOfImages, textToDraw, hercai, imageModel, n
306
657
  .setValue(`process_${index + 1}`);
307
658
  selectMenu.addOptions(selectOption);
308
659
  });
309
- await ((_e = message.channel) === null || _e === void 0 ? void 0 : _e.sendTyping());
660
+ await ((_f = message.channel) === null || _f === void 0 ? void 0 : _f.sendTyping());
310
661
  const row1 = new discord_js_1.ActionRowBuilder().addComponents(...buttonsRow1);
311
662
  const row2 = new discord_js_1.ActionRowBuilder().addComponents(selectMenu);
663
+ if (enhancer && enhancer.enhanceModal) {
664
+ for (const imageUrl of imageUrls) {
665
+ try {
666
+ if (!((_g = validOptions_1.validOptions.validEnhancers) === null || _g === void 0 ? void 0 : _g.includes(enhancer.enhanceModal))) {
667
+ return await message.reply({ content: `Invalid enhancer modal (~~${enhancer.enhanceModal}~~). Please check documentation online at apexifyjs.jedi-studio.com.` });
668
+ }
669
+ const generateResponse = await sdk.upscale({
670
+ resize: 4,
671
+ model: enhancer.enhanceModal,
672
+ imageUrl,
673
+ });
674
+ await ((_h = message.channel) === null || _h === void 0 ? void 0 : _h.sendTyping());
675
+ const generatedJobId = generateResponse.data.job;
676
+ const enhancedImageUrl = await checkJobStatus(generatedJobId);
677
+ if (enhancedImageUrl) {
678
+ attachData.push(new discord_js_1.AttachmentBuilder(enhancedImageUrl, { name: `enhanced_image_${imageUrls.indexOf(imageUrl) + 1}.png` }));
679
+ }
680
+ }
681
+ catch (error) {
682
+ console.error(`Error enhancing image at URL ${imageUrl}:`, error);
683
+ }
684
+ }
685
+ }
686
+ const allRows = [...buttons, row1, row2];
312
687
  await message.reply({
313
688
  files: attachData,
314
- components: [row1, row2],
689
+ components: allRows,
315
690
  allowedMentions: { repliedUser: false },
316
691
  });
317
692
  return imageUrls;
@@ -357,16 +732,14 @@ async function attemptImageCaptioning(imageUrl) {
357
732
  const maxRetries = 3;
358
733
  const fetchData = async () => {
359
734
  try {
360
- const response = await fetch(`https://api-inference.huggingface.co/models/Salesforce/blip-image-captioning-base`, {
361
- method: 'POST',
735
+ const response = await axios_1.default.post(`https://api-inference.huggingface.co/models/Salesforce/blip-image-captioning-base`, { image: imageUrl }, {
362
736
  headers: {
363
737
  "Content-Type": "application/json",
364
738
  Authorization: `Bearer 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`,
365
739
  },
366
- body: JSON.stringify({ image: imageUrl })
367
740
  });
368
- if (response.ok) {
369
- return await response.json();
741
+ if (response.status === 200) {
742
+ return response.data[0].generated_text;
370
743
  }
371
744
  else {
372
745
  console.error(`Failed to fetch image captioning API: ${response.statusText}`);
@@ -383,6 +756,7 @@ async function attemptImageCaptioning(imageUrl) {
383
756
  return await fetchData();
384
757
  }
385
758
  catch (error) {
759
+ console.error(`Error fetching data (Retry ${retryCount + 1}): ${error.message}`);
386
760
  retryCount++;
387
761
  }
388
762
  }