apexify.js 4.5.0 → 4.5.2
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/dist/ai/ApexAI.d.ts +13 -13
- package/dist/ai/ApexAI.js +5 -5
- package/dist/ai/ApexAI.js.map +1 -1
- package/dist/ai/ApexModules.d.ts.map +1 -1
- package/dist/ai/ApexModules.js +7 -4
- package/dist/ai/ApexModules.js.map +1 -1
- package/dist/ai/functions/draw.d.ts.map +1 -1
- package/dist/ai/functions/draw.js +541 -672
- package/dist/ai/functions/draw.js.map +1 -1
- package/dist/ai/functions/validOptions.d.ts +3 -3
- package/dist/ai/functions/validOptions.d.ts.map +1 -1
- package/dist/ai/functions/validOptions.js +12 -12
- package/dist/ai/functions/validOptions.js.map +1 -1
- package/dist/ai/modals-chat/rsn/rsnChat.d.ts.map +1 -1
- package/dist/ai/modals-chat/rsn/rsnChat.js +7 -0
- package/dist/ai/modals-chat/rsn/rsnChat.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/lib/ai/ApexAI.ts +4 -4
- package/lib/ai/ApexModules.ts +4 -2
- package/lib/ai/functions/draw.ts +558 -729
- package/lib/ai/functions/validOptions.ts +2 -2
- package/lib/ai/modals-chat/rsn/rsnChat.ts +11 -0
- package/package.json +1 -1
- package/dist/ai/modals-chat/hercai/chatModals.d.ts +0 -7
- package/dist/ai/modals-chat/hercai/chatModals.d.ts.map +0 -1
- package/dist/ai/modals-chat/hercai/chatModals.js +0 -23
- package/dist/ai/modals-chat/hercai/chatModals.js.map +0 -1
- package/dist/ai/modals-images/cartoon.d.ts +0 -2
- package/dist/ai/modals-images/cartoon.d.ts.map +0 -1
- package/dist/ai/modals-images/cartoon.js +0 -26
- package/dist/ai/modals-images/cartoon.js.map +0 -1
- package/dist/ai/modals-images/flux.d.ts +0 -2
- package/dist/ai/modals-images/flux.d.ts.map +0 -1
- package/dist/ai/modals-images/flux.js +0 -26
- package/dist/ai/modals-images/flux.js.map +0 -1
|
@@ -13,738 +13,607 @@ const api_1 = __importDefault(require("api"));
|
|
|
13
13
|
const utils_1 = require("../utils");
|
|
14
14
|
const flux_1 = require("../modals-chat/freesedgpt/flux");
|
|
15
15
|
const cartoon_1 = require("../modals-chat/freesedgpt/cartoon");
|
|
16
|
+
const rsnChat_1 = require("../modals-chat/rsn/rsnChat");
|
|
16
17
|
const sdk = (0, api_1.default)("@prodia/v1.3.0#be019b2kls0gqss3");
|
|
17
18
|
async function aiImagine(message, numOfImages, textToDraw, hercai, imageModal, nsfw, nsfwKeyWords, deepCheck, enhancer, buttons, RespondMessage, imageAPIS) {
|
|
18
19
|
const maxRetryAttempts = 4;
|
|
19
20
|
const retryInterval = 5000;
|
|
20
|
-
let response;
|
|
21
21
|
const imageType = await validOptions_1.validateModels;
|
|
22
|
+
const attachData = [];
|
|
23
|
+
const buttonsRow1 = [];
|
|
24
|
+
const imageUrls = [];
|
|
22
25
|
async function retry(fn, retriesLeft = maxRetryAttempts) {
|
|
23
26
|
try {
|
|
24
27
|
return await fn();
|
|
25
28
|
}
|
|
26
29
|
catch (error) {
|
|
27
|
-
if (retriesLeft === 0)
|
|
30
|
+
if (retriesLeft === 0)
|
|
28
31
|
throw error;
|
|
29
|
-
}
|
|
30
32
|
await new Promise((resolve) => setTimeout(resolve, retryInterval));
|
|
31
33
|
return retry(fn, retriesLeft - 1);
|
|
32
34
|
}
|
|
33
35
|
}
|
|
34
36
|
try {
|
|
35
37
|
if (numOfImages > 4 || numOfImages <= 0) {
|
|
36
|
-
throw new Error(
|
|
38
|
+
throw new Error("Number of images can't be greater than 4 or smaller than 0.");
|
|
37
39
|
}
|
|
38
40
|
await message.channel?.sendTyping();
|
|
39
|
-
const translatedText = await retry(() => (0, google_translate_1.default)(textToDraw, {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
41
|
+
const translatedText = await retry(() => (0, google_translate_1.default)(textToDraw, { from: "auto", to: "en" }));
|
|
42
|
+
const nsfwWords = nsfwKeyWords || [
|
|
43
|
+
"2g1c",
|
|
44
|
+
"2 girls 1 cup",
|
|
45
|
+
"acrotomophilia",
|
|
46
|
+
"alabama hot pocket",
|
|
47
|
+
"alaskan pipeline",
|
|
48
|
+
"anal",
|
|
49
|
+
"anilingus",
|
|
50
|
+
"anus",
|
|
51
|
+
"apeshit",
|
|
52
|
+
"arsehole",
|
|
53
|
+
"ass",
|
|
54
|
+
"asshole",
|
|
55
|
+
"assmunch",
|
|
56
|
+
"auto erotic",
|
|
57
|
+
"autoerotic",
|
|
58
|
+
"babeland",
|
|
59
|
+
"baby batter",
|
|
60
|
+
"baby juice",
|
|
61
|
+
"ball gag",
|
|
62
|
+
"ball gravy",
|
|
63
|
+
"ball kicking",
|
|
64
|
+
"ball licking",
|
|
65
|
+
"ball sack",
|
|
66
|
+
"ball sucking",
|
|
67
|
+
"bangbros",
|
|
68
|
+
"bangbus",
|
|
69
|
+
"bareback",
|
|
70
|
+
"barely legal",
|
|
71
|
+
"barenaked",
|
|
72
|
+
"bastard",
|
|
73
|
+
"bastardo",
|
|
74
|
+
"bastinado",
|
|
75
|
+
"bbw",
|
|
76
|
+
"bdsm",
|
|
77
|
+
"beaner",
|
|
78
|
+
"beaners",
|
|
79
|
+
"beaver cleaver",
|
|
80
|
+
"beaver lips",
|
|
81
|
+
"beastiality",
|
|
82
|
+
"bestiality",
|
|
83
|
+
"big black",
|
|
84
|
+
"big breasts",
|
|
85
|
+
"big knockers",
|
|
86
|
+
"big tits",
|
|
87
|
+
"bimbos",
|
|
88
|
+
"birdlock",
|
|
89
|
+
"bitch",
|
|
90
|
+
"bitches",
|
|
91
|
+
"black cock",
|
|
92
|
+
"blonde action",
|
|
93
|
+
"blonde on blonde action",
|
|
94
|
+
"blowjob",
|
|
95
|
+
"blow job",
|
|
96
|
+
"blow your load",
|
|
97
|
+
"blue waffle",
|
|
98
|
+
"blumpkin",
|
|
99
|
+
"bollocks",
|
|
100
|
+
"bondage",
|
|
101
|
+
"boner",
|
|
102
|
+
"boob",
|
|
103
|
+
"boobs",
|
|
104
|
+
"booty call",
|
|
105
|
+
"brown showers",
|
|
106
|
+
"brunette action",
|
|
107
|
+
"bukkake",
|
|
108
|
+
"bulldyke",
|
|
109
|
+
"bullet vibe",
|
|
110
|
+
"bullshit",
|
|
111
|
+
"bung hole",
|
|
112
|
+
"bunghole",
|
|
113
|
+
"busty",
|
|
114
|
+
"butt",
|
|
115
|
+
"buttcheeks",
|
|
116
|
+
"butthole",
|
|
117
|
+
"camel toe",
|
|
118
|
+
"camgirl",
|
|
119
|
+
"camslut",
|
|
120
|
+
"camwhore",
|
|
121
|
+
"carpet muncher",
|
|
122
|
+
"carpetmuncher",
|
|
123
|
+
"chocolate rosebuds",
|
|
124
|
+
"cialis",
|
|
125
|
+
"circlejerk",
|
|
126
|
+
"cleveland steamer",
|
|
127
|
+
"clit",
|
|
128
|
+
"clitoris",
|
|
129
|
+
"clover clamps",
|
|
130
|
+
"clusterfuck",
|
|
131
|
+
"cock",
|
|
132
|
+
"cocks",
|
|
133
|
+
"coprolagnia",
|
|
134
|
+
"coprophilia",
|
|
135
|
+
"cornhole",
|
|
136
|
+
"coon",
|
|
137
|
+
"coons",
|
|
138
|
+
"creampie",
|
|
139
|
+
"cum",
|
|
140
|
+
"cumming",
|
|
141
|
+
"cumshot",
|
|
142
|
+
"cumshots",
|
|
143
|
+
"cunnilingus",
|
|
144
|
+
"cunt",
|
|
145
|
+
"darkie",
|
|
146
|
+
"date rape",
|
|
147
|
+
"daterape",
|
|
148
|
+
"deep throat",
|
|
149
|
+
"deepthroat",
|
|
150
|
+
"dendrophilia",
|
|
151
|
+
"dick",
|
|
152
|
+
"dildo",
|
|
153
|
+
"dingleberry",
|
|
154
|
+
"dingleberries",
|
|
155
|
+
"dirty pillows",
|
|
156
|
+
"dirty sanchez",
|
|
157
|
+
"doggie style",
|
|
158
|
+
"doggiestyle",
|
|
159
|
+
"doggy style",
|
|
160
|
+
"doggystyle",
|
|
161
|
+
"dog style",
|
|
162
|
+
"dolcett",
|
|
163
|
+
"domination",
|
|
164
|
+
"dominatrix",
|
|
165
|
+
"dommes",
|
|
166
|
+
"donkey punch",
|
|
167
|
+
"double dong",
|
|
168
|
+
"double penetration",
|
|
169
|
+
"dp action",
|
|
170
|
+
"dry hump",
|
|
171
|
+
"dvda",
|
|
172
|
+
"eat my ass",
|
|
173
|
+
"ecchi",
|
|
174
|
+
"ejaculation",
|
|
175
|
+
"erotic",
|
|
176
|
+
"erotism",
|
|
177
|
+
"escort",
|
|
178
|
+
"eunuch",
|
|
179
|
+
"fag",
|
|
180
|
+
"faggot",
|
|
181
|
+
"fecal",
|
|
182
|
+
"felch",
|
|
183
|
+
"fellatio",
|
|
184
|
+
"feltch",
|
|
185
|
+
"female squirting",
|
|
186
|
+
"femdom",
|
|
187
|
+
"figging",
|
|
188
|
+
"fingerbang",
|
|
189
|
+
"fingering",
|
|
190
|
+
"fisting",
|
|
191
|
+
"foot fetish",
|
|
192
|
+
"footjob",
|
|
193
|
+
"frotting",
|
|
194
|
+
"fuck",
|
|
195
|
+
"fuck buttons",
|
|
196
|
+
"fuckin",
|
|
197
|
+
"fucking",
|
|
198
|
+
"fucktards",
|
|
199
|
+
"fudge packer",
|
|
200
|
+
"fudgepacker",
|
|
201
|
+
"futanari",
|
|
202
|
+
"gangbang",
|
|
203
|
+
"gang bang",
|
|
204
|
+
"gay sex",
|
|
205
|
+
"genitals",
|
|
206
|
+
"giant cock",
|
|
207
|
+
"girl on",
|
|
208
|
+
"girl on top",
|
|
209
|
+
"girls gone wild",
|
|
210
|
+
"goatcx",
|
|
211
|
+
"goatse",
|
|
212
|
+
"god damn",
|
|
213
|
+
"gokkun",
|
|
214
|
+
"golden shower",
|
|
215
|
+
"goodpoop",
|
|
216
|
+
"goo girl",
|
|
217
|
+
"goregasm",
|
|
218
|
+
"grope",
|
|
219
|
+
"group sex",
|
|
220
|
+
"g-spot",
|
|
221
|
+
"guro",
|
|
222
|
+
"hand job",
|
|
223
|
+
"handjob",
|
|
224
|
+
"hard core",
|
|
225
|
+
"hardcore",
|
|
226
|
+
"hentai",
|
|
227
|
+
"homoerotic",
|
|
228
|
+
"honkey",
|
|
229
|
+
"hooker",
|
|
230
|
+
"horny",
|
|
231
|
+
"hot carl",
|
|
232
|
+
"hot chick",
|
|
233
|
+
"how to kill",
|
|
234
|
+
"how to murder",
|
|
235
|
+
"huge fat",
|
|
236
|
+
"humping",
|
|
237
|
+
"incest",
|
|
238
|
+
"intercourse",
|
|
239
|
+
"jack off",
|
|
240
|
+
"jail bait",
|
|
241
|
+
"jailbait",
|
|
242
|
+
"jelly donut",
|
|
243
|
+
"jerk off",
|
|
244
|
+
"jigaboo",
|
|
245
|
+
"jiggaboo",
|
|
246
|
+
"jiggerboo",
|
|
247
|
+
"jizz",
|
|
248
|
+
"juggs",
|
|
249
|
+
"kike",
|
|
250
|
+
"kinbaku",
|
|
251
|
+
"kinkster",
|
|
252
|
+
"kinky",
|
|
253
|
+
"knobbing",
|
|
254
|
+
"leather restraint",
|
|
255
|
+
"leather straight jacket",
|
|
256
|
+
"lemon party",
|
|
257
|
+
"livesex",
|
|
258
|
+
"lolita",
|
|
259
|
+
"lovemaking",
|
|
260
|
+
"make me come",
|
|
261
|
+
"male squirting",
|
|
262
|
+
"masturbate",
|
|
263
|
+
"masturbating",
|
|
264
|
+
"masturbation",
|
|
265
|
+
"menage a trois",
|
|
266
|
+
"milf",
|
|
267
|
+
"missionary position",
|
|
268
|
+
"mong",
|
|
269
|
+
"motherfucker",
|
|
270
|
+
"mound of venus",
|
|
271
|
+
"mr hands",
|
|
272
|
+
"muff diver",
|
|
273
|
+
"muffdiving",
|
|
274
|
+
"nambla",
|
|
275
|
+
"nawashi",
|
|
276
|
+
"negro",
|
|
277
|
+
"neonazi",
|
|
278
|
+
"nigga",
|
|
279
|
+
"nigger",
|
|
280
|
+
"nig nog",
|
|
281
|
+
"nimphomania",
|
|
282
|
+
"nipple",
|
|
283
|
+
"nipples",
|
|
284
|
+
"nsfw",
|
|
285
|
+
'nsfw images',
|
|
286
|
+
"nude",
|
|
287
|
+
"nudity",
|
|
288
|
+
"nutten",
|
|
289
|
+
"nympho",
|
|
290
|
+
"nymphomania",
|
|
291
|
+
"octopussy",
|
|
292
|
+
"omorashi",
|
|
293
|
+
"one cup two girls",
|
|
294
|
+
'one guy one jar',
|
|
295
|
+
"orgasm",
|
|
296
|
+
"orgy",
|
|
297
|
+
'paedophile',
|
|
298
|
+
"paki",
|
|
299
|
+
"panties",
|
|
300
|
+
"panty",
|
|
301
|
+
"pedobear",
|
|
302
|
+
"pedophile",
|
|
303
|
+
'pegging',
|
|
304
|
+
'penis',
|
|
305
|
+
"phone sex",
|
|
306
|
+
'piece of shit',
|
|
307
|
+
"pikey",
|
|
308
|
+
"pissing",
|
|
309
|
+
"piss pig",
|
|
310
|
+
"pisspig",
|
|
311
|
+
"playboy",
|
|
312
|
+
"pleasure chest",
|
|
313
|
+
"pole smoker",
|
|
314
|
+
"ponyplay",
|
|
315
|
+
"poof",
|
|
316
|
+
"poon",
|
|
317
|
+
"poontang",
|
|
318
|
+
"punany",
|
|
319
|
+
"poop chute",
|
|
320
|
+
"poopchute",
|
|
321
|
+
"porn",
|
|
322
|
+
"porno",
|
|
323
|
+
"pornography",
|
|
324
|
+
"prince albert piercing",
|
|
325
|
+
"pthc",
|
|
326
|
+
"pubes",
|
|
327
|
+
"pussy",
|
|
328
|
+
"queaf",
|
|
329
|
+
"queef",
|
|
330
|
+
"quim",
|
|
331
|
+
"raghead",
|
|
332
|
+
"raging boner",
|
|
333
|
+
"rape",
|
|
334
|
+
"raping",
|
|
335
|
+
"rapist",
|
|
336
|
+
"rectum",
|
|
337
|
+
"reverse cowgirl",
|
|
338
|
+
"rimjob",
|
|
339
|
+
"rimming",
|
|
340
|
+
"rosy palm",
|
|
341
|
+
"rosy palm and her 5 sisters",
|
|
342
|
+
"rusty trombone",
|
|
343
|
+
"sadism",
|
|
344
|
+
"santorum",
|
|
345
|
+
"scat",
|
|
346
|
+
"schlong",
|
|
347
|
+
"scissoring",
|
|
348
|
+
"semen",
|
|
349
|
+
"sex",
|
|
350
|
+
"sexcam",
|
|
351
|
+
"sexo",
|
|
352
|
+
"sexy",
|
|
353
|
+
"sexual",
|
|
354
|
+
"sexually",
|
|
355
|
+
"sexuality",
|
|
356
|
+
"shaved beaver",
|
|
357
|
+
"shaved pussy",
|
|
358
|
+
"shemale",
|
|
359
|
+
"shibari",
|
|
360
|
+
"shit",
|
|
361
|
+
"shitblimp",
|
|
362
|
+
"shitty",
|
|
363
|
+
"shota",
|
|
364
|
+
"shrimping",
|
|
365
|
+
"skeet",
|
|
366
|
+
"slanteye",
|
|
367
|
+
"slut",
|
|
368
|
+
"s&m",
|
|
369
|
+
"smut",
|
|
370
|
+
"snatch",
|
|
371
|
+
"snowballing",
|
|
372
|
+
"sodomize",
|
|
373
|
+
"sodomy",
|
|
374
|
+
"spastic",
|
|
375
|
+
"spic",
|
|
376
|
+
"splooge",
|
|
377
|
+
"splooge moose",
|
|
378
|
+
"spooge",
|
|
379
|
+
"spread legs",
|
|
380
|
+
"spunk",
|
|
381
|
+
"strap on",
|
|
382
|
+
"strapon",
|
|
383
|
+
"strappado",
|
|
384
|
+
"strip club",
|
|
385
|
+
"style doggy",
|
|
386
|
+
"suck",
|
|
387
|
+
"sucks",
|
|
388
|
+
"suicide girls",
|
|
389
|
+
"sultry women",
|
|
390
|
+
"swastika",
|
|
391
|
+
"swinger",
|
|
392
|
+
"tainted love",
|
|
393
|
+
"taste my",
|
|
394
|
+
"tea bagging",
|
|
395
|
+
"threesome",
|
|
396
|
+
"throating",
|
|
397
|
+
"thumbzilla",
|
|
398
|
+
"tied up",
|
|
399
|
+
"tight white",
|
|
400
|
+
"tit",
|
|
401
|
+
"tits",
|
|
402
|
+
"titties",
|
|
403
|
+
"titty",
|
|
404
|
+
"topless",
|
|
405
|
+
"tosser",
|
|
406
|
+
"towelhead",
|
|
407
|
+
"tranny",
|
|
408
|
+
"tribadism",
|
|
409
|
+
"tub girl",
|
|
410
|
+
'tubgirl',
|
|
411
|
+
"tushy",
|
|
412
|
+
"twat",
|
|
413
|
+
"twink",
|
|
414
|
+
"twinkie",
|
|
415
|
+
"two girls one cup",
|
|
416
|
+
"undressing",
|
|
417
|
+
'upskirt',
|
|
418
|
+
"urethra play",
|
|
419
|
+
"urophilia",
|
|
420
|
+
"vagina",
|
|
421
|
+
"venus mound",
|
|
422
|
+
"viagra",
|
|
423
|
+
"vibrator",
|
|
424
|
+
"violet wand",
|
|
425
|
+
"vorarephilia",
|
|
426
|
+
"voyeur",
|
|
427
|
+
"voyeurweb",
|
|
428
|
+
"voyuer",
|
|
429
|
+
"vulva",
|
|
430
|
+
"wank",
|
|
431
|
+
"wetback",
|
|
432
|
+
"wet dream",
|
|
433
|
+
"white power",
|
|
434
|
+
"whore",
|
|
435
|
+
"worldsex",
|
|
436
|
+
"wrapping men",
|
|
437
|
+
"wrinkled starfish",
|
|
438
|
+
"xx",
|
|
439
|
+
"xxx",
|
|
440
|
+
"yaoi",
|
|
441
|
+
"yellow showers",
|
|
442
|
+
"yiffy",
|
|
443
|
+
"zoophilia",
|
|
444
|
+
"anal",
|
|
445
|
+
"arousal",
|
|
446
|
+
"balls",
|
|
447
|
+
"blowjob",
|
|
448
|
+
"busty",
|
|
449
|
+
"butt",
|
|
450
|
+
"cameltoe",
|
|
451
|
+
"climax",
|
|
452
|
+
"clitoris",
|
|
453
|
+
"cock",
|
|
454
|
+
"crotch",
|
|
455
|
+
"cum",
|
|
456
|
+
"cumshot",
|
|
457
|
+
"cunnilingus",
|
|
458
|
+
"dirty",
|
|
459
|
+
"dirtytalk",
|
|
460
|
+
"dildo",
|
|
461
|
+
"erect",
|
|
462
|
+
"erogenous",
|
|
463
|
+
"escort",
|
|
464
|
+
"explicit",
|
|
465
|
+
"facial",
|
|
466
|
+
"fetish",
|
|
467
|
+
"flirt",
|
|
468
|
+
"foreplay",
|
|
469
|
+
"genitals",
|
|
470
|
+
"groin",
|
|
471
|
+
"hardcore",
|
|
472
|
+
"hardon",
|
|
473
|
+
"horniness",
|
|
474
|
+
"horny",
|
|
475
|
+
"kamasutra",
|
|
476
|
+
"kinky",
|
|
477
|
+
"lewd",
|
|
478
|
+
"lingerie",
|
|
479
|
+
"lust",
|
|
480
|
+
"lustful",
|
|
481
|
+
"masturbate",
|
|
482
|
+
"mature",
|
|
483
|
+
"milf",
|
|
484
|
+
"naughty",
|
|
485
|
+
"naked",
|
|
486
|
+
"nipples",
|
|
487
|
+
"nude",
|
|
488
|
+
"obscene",
|
|
489
|
+
"oral",
|
|
490
|
+
"orgasm",
|
|
491
|
+
"penetration",
|
|
492
|
+
"penis",
|
|
493
|
+
"pleasure",
|
|
494
|
+
"porn",
|
|
495
|
+
"prostitute",
|
|
496
|
+
"provocative",
|
|
497
|
+
"pubic",
|
|
498
|
+
"pussy",
|
|
499
|
+
"seduce",
|
|
500
|
+
"seductive",
|
|
501
|
+
"sensual",
|
|
502
|
+
"sex",
|
|
503
|
+
"sexual",
|
|
504
|
+
"sperm",
|
|
505
|
+
"strip",
|
|
506
|
+
"striptease",
|
|
507
|
+
"swinger",
|
|
508
|
+
"testicles",
|
|
509
|
+
"thong",
|
|
510
|
+
"threesome",
|
|
511
|
+
"undies",
|
|
512
|
+
"undress",
|
|
513
|
+
"vagina",
|
|
514
|
+
"vibrator",
|
|
515
|
+
"wank",
|
|
516
|
+
"wet",
|
|
517
|
+
"hentai",
|
|
518
|
+
"bdsm",
|
|
519
|
+
"gay",
|
|
520
|
+
"lesbian",
|
|
521
|
+
"femboy",
|
|
522
|
+
"ass",
|
|
523
|
+
];
|
|
524
|
+
if (deepCheck) {
|
|
525
|
+
if (translatedText.text && nsfwWords.some(word => translatedText.text.includes(word))) {
|
|
526
|
+
return message.reply("Warning ⚠️. Your prompt contains **`NSFW/Illegal/Prohibited`** words. Please refrain from doing this.");
|
|
527
|
+
}
|
|
528
|
+
if (textToDraw && nsfwWords.some(word => textToDraw.includes(word))) {
|
|
529
|
+
return message.reply("Warning ⚠️. Your prompt contains **`NSFW/Illegal/Prohibited`** words. Please refrain from doing this.");
|
|
530
|
+
}
|
|
531
|
+
}
|
|
532
|
+
for (let i = 0; i < numOfImages; i++) {
|
|
533
|
+
let response;
|
|
47
534
|
try {
|
|
48
535
|
if (imageModal === 'prodia-v2') {
|
|
49
|
-
response = await retry(() => hercai.betaDrawImage({
|
|
50
|
-
prompt: translatedText.text,
|
|
51
|
-
negative_prompt: enhancer.negative_prompt,
|
|
52
|
-
sampler: enhancer.sampler,
|
|
53
|
-
image_style: enhancer.imgStyle,
|
|
54
|
-
width: enhancer.width,
|
|
55
|
-
height: enhancer.height,
|
|
56
|
-
steps: enhancer.steps,
|
|
57
|
-
scale: enhancer.cfgScale,
|
|
58
|
-
}));
|
|
59
|
-
if (response.url === 'This Modal is Currently Under Maintenance.')
|
|
60
|
-
throw new Error('this model is under Maintenance for a while.');
|
|
536
|
+
response = await retry(() => hercai.betaDrawImage({ prompt: translatedText.text, ...enhancer }));
|
|
61
537
|
}
|
|
62
|
-
else if (imageType.
|
|
63
|
-
response = await retry(() => hercai.drawImage({
|
|
64
|
-
model: imageModal,
|
|
65
|
-
prompt: translatedText.text,
|
|
66
|
-
}));
|
|
538
|
+
else if (imageType.validHercaiModels.includes(imageModal)) {
|
|
539
|
+
response = await retry(() => hercai.drawImage({ model: imageModal, prompt: translatedText.text }));
|
|
67
540
|
}
|
|
68
|
-
else if (imageType.
|
|
541
|
+
else if (imageType.validProdiaModels.includes(imageModal)) {
|
|
69
542
|
sdk.auth(imageAPIS?.prodiaAPI);
|
|
70
|
-
const generateResponse = await sdk.generate({
|
|
71
|
-
model: imageModal,
|
|
72
|
-
prompt: translatedText.text,
|
|
73
|
-
negative_prompt: enhancer.negative_prompt,
|
|
74
|
-
style_preset: enhancer.imgStyle,
|
|
75
|
-
cfg_scale: enhancer.cfgScale,
|
|
76
|
-
sampler: enhancer.sampler,
|
|
77
|
-
seed: enhancer.seed,
|
|
78
|
-
steps: enhancer.steps,
|
|
79
|
-
width: enhancer.width,
|
|
80
|
-
height: enhancer.height
|
|
81
|
-
});
|
|
82
|
-
await message.channel?.sendTyping();
|
|
543
|
+
const generateResponse = await sdk.generate({ model: imageModal, prompt: translatedText.text, ...enhancer });
|
|
83
544
|
const generatedJobId = generateResponse.data.job;
|
|
84
545
|
response = await checkJobStatus(generatedJobId);
|
|
85
546
|
}
|
|
86
547
|
else if (imageType.validSXDL.includes(imageModal)) {
|
|
87
548
|
sdk.auth(imageAPIS?.prodiaAPI);
|
|
88
|
-
const generateResponse = await sdk.sdxlGenerate({
|
|
89
|
-
model: imageModal,
|
|
90
|
-
prompt: translatedText.text,
|
|
91
|
-
negative_prompt: enhancer.negative_prompt,
|
|
92
|
-
style_preset: enhancer.imgStyle,
|
|
93
|
-
cfg_scale: enhancer.cfgScale,
|
|
94
|
-
sampler: enhancer.sampler,
|
|
95
|
-
seed: enhancer.seed,
|
|
96
|
-
steps: enhancer.steps,
|
|
97
|
-
width: enhancer.width,
|
|
98
|
-
height: enhancer.height
|
|
99
|
-
});
|
|
100
|
-
await message.channel?.sendTyping();
|
|
549
|
+
const generateResponse = await sdk.sdxlGenerate({ model: imageModal, prompt: translatedText.text, ...enhancer });
|
|
101
550
|
const generatedJobId = generateResponse.data.job;
|
|
102
551
|
response = await checkJobStatus(generatedJobId);
|
|
103
552
|
}
|
|
104
553
|
else if (imageModal === 'flux-schnell') {
|
|
105
|
-
|
|
106
|
-
if (gen === null)
|
|
107
|
-
return message.reply(`Please wait i am in a cool down for a minute`);
|
|
108
|
-
response = gen;
|
|
554
|
+
response = await (0, flux_1.flux)(translatedText.text, imageAPIS?.freesedGPTApi);
|
|
109
555
|
}
|
|
110
556
|
else if (imageModal === 'real-cartoon-xl-v6') {
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
response =
|
|
557
|
+
response = await (0, cartoon_1.cartoon)(translatedText.text, imageAPIS?.freesedGPTApi);
|
|
558
|
+
}
|
|
559
|
+
else if (imageModal === 'dalle') {
|
|
560
|
+
response = await (0, rsnChat_1.rsnAPI)({ API_KEY: imageAPIS?.rsnAPI, prompt: translatedText.text, apiName: 'dalle' });
|
|
115
561
|
}
|
|
116
562
|
else {
|
|
117
563
|
throw new Error("Invalid modal name.");
|
|
118
564
|
}
|
|
565
|
+
if (!response || response === 'This Modal is Currently Under Maintenance.') {
|
|
566
|
+
throw new Error('Model under maintenance.');
|
|
567
|
+
}
|
|
119
568
|
}
|
|
120
569
|
catch (error) {
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
570
|
+
console.error(error);
|
|
571
|
+
return message.reply(`Please wait, I am in cooldown for a minute.`);
|
|
572
|
+
}
|
|
573
|
+
const imageUrl = response?.url || response;
|
|
574
|
+
if (nsfw) {
|
|
575
|
+
const textToCheck = await (0, utils_1.groqAnalyzer)({ imgURL: imageUrl, prompt: textToDraw });
|
|
576
|
+
if (textToCheck && nsfwWords.some(word => textToCheck.includes(word))) {
|
|
577
|
+
return message.reply("Warning ⚠️. Your prompt contains **`NSFW/Illegal/Prohibited`** content. Please refrain from this.");
|
|
128
578
|
}
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
throw new Error("Error processing message in file");
|
|
579
|
+
if (nsfwKeyWords.length > 0 && textToCheck && nsfwKeyWords.some(word => textToCheck.includes(word))) {
|
|
580
|
+
return message.reply("Warning ⚠️. The generated image contains NSFW content. Disable NSFW filter to proceed.");
|
|
132
581
|
}
|
|
133
582
|
}
|
|
134
|
-
let buffferedImage;
|
|
135
583
|
if (imageModal === "v3") {
|
|
136
|
-
const res = await retry(() => axios_1.default.get(response.url, {
|
|
137
|
-
|
|
138
|
-
}));
|
|
139
|
-
await message.channel?.sendTyping();
|
|
140
|
-
buffferedImage = Buffer.from(res.data, "binary");
|
|
584
|
+
const res = await retry(() => axios_1.default.get(response.url, { responseType: "arraybuffer" }));
|
|
585
|
+
const buffferedImage = Buffer.from(res.data, "binary");
|
|
141
586
|
const resizedImage = await (0, sharp_1.default)(buffferedImage)
|
|
142
|
-
.resize({
|
|
143
|
-
|
|
144
|
-
height: 2048,
|
|
145
|
-
fit: 'cover',
|
|
146
|
-
})
|
|
147
|
-
.sharpen({
|
|
148
|
-
sigma: 2,
|
|
149
|
-
m1: 1.5,
|
|
150
|
-
m2: 3,
|
|
151
|
-
y2: 20,
|
|
152
|
-
x1: 1,
|
|
153
|
-
})
|
|
587
|
+
.resize({ width: 2048, height: 2048, fit: 'cover' })
|
|
588
|
+
.sharpen({ sigma: 1, m1: 5, m2: 2 })
|
|
154
589
|
.toBuffer();
|
|
155
|
-
const
|
|
156
|
-
|
|
157
|
-
name: `image_${_0x4d7fb6 + 1}.png`,
|
|
158
|
-
};
|
|
159
|
-
attachData.push(attachment);
|
|
160
|
-
const urlButton = new discord_js_1.ButtonBuilder()
|
|
161
|
-
.setStyle(discord_js_1.ButtonStyle.Link)
|
|
162
|
-
.setLabel(`Image ${_0x4d7fb6 + 1}`)
|
|
163
|
-
.setURL(response.url);
|
|
164
|
-
buttonsRow1.push(urlButton);
|
|
165
|
-
imageUrls.push(response.url);
|
|
590
|
+
const attach = new discord_js_1.AttachmentBuilder(resizedImage, { name: `image_${i + 1}.png` });
|
|
591
|
+
attachData.push(attach);
|
|
166
592
|
}
|
|
167
593
|
else {
|
|
168
|
-
const
|
|
169
|
-
await message.channel?.sendTyping();
|
|
170
|
-
const nsfwWords = [
|
|
171
|
-
"2g1c",
|
|
172
|
-
"2 girls 1 cup",
|
|
173
|
-
"acrotomophilia",
|
|
174
|
-
"alabama hot pocket",
|
|
175
|
-
"alaskan pipeline",
|
|
176
|
-
"anal",
|
|
177
|
-
"anilingus",
|
|
178
|
-
"anus",
|
|
179
|
-
"apeshit",
|
|
180
|
-
"arsehole",
|
|
181
|
-
"ass",
|
|
182
|
-
"asshole",
|
|
183
|
-
"assmunch",
|
|
184
|
-
"auto erotic",
|
|
185
|
-
"autoerotic",
|
|
186
|
-
"babeland",
|
|
187
|
-
"baby batter",
|
|
188
|
-
"baby juice",
|
|
189
|
-
"ball gag",
|
|
190
|
-
"ball gravy",
|
|
191
|
-
"ball kicking",
|
|
192
|
-
"ball licking",
|
|
193
|
-
"ball sack",
|
|
194
|
-
"ball sucking",
|
|
195
|
-
"bangbros",
|
|
196
|
-
"bangbus",
|
|
197
|
-
"bareback",
|
|
198
|
-
"barely legal",
|
|
199
|
-
"barenaked",
|
|
200
|
-
"bastard",
|
|
201
|
-
"bastardo",
|
|
202
|
-
"bastinado",
|
|
203
|
-
"bbw",
|
|
204
|
-
"bdsm",
|
|
205
|
-
"beaner",
|
|
206
|
-
"beaners",
|
|
207
|
-
"beaver cleaver",
|
|
208
|
-
"beaver lips",
|
|
209
|
-
"beastiality",
|
|
210
|
-
"bestiality",
|
|
211
|
-
"big black",
|
|
212
|
-
"big breasts",
|
|
213
|
-
"big knockers",
|
|
214
|
-
"big tits",
|
|
215
|
-
"bimbos",
|
|
216
|
-
"birdlock",
|
|
217
|
-
"bitch",
|
|
218
|
-
"bitches",
|
|
219
|
-
"black cock",
|
|
220
|
-
"blonde action",
|
|
221
|
-
"blonde on blonde action",
|
|
222
|
-
"blowjob",
|
|
223
|
-
"blow job",
|
|
224
|
-
"blow your load",
|
|
225
|
-
"blue waffle",
|
|
226
|
-
"blumpkin",
|
|
227
|
-
"bollocks",
|
|
228
|
-
"bondage",
|
|
229
|
-
"boner",
|
|
230
|
-
"boob",
|
|
231
|
-
"boobs",
|
|
232
|
-
"booty call",
|
|
233
|
-
"brown showers",
|
|
234
|
-
"brunette action",
|
|
235
|
-
"bukkake",
|
|
236
|
-
"bulldyke",
|
|
237
|
-
"bullet vibe",
|
|
238
|
-
"bullshit",
|
|
239
|
-
"bung hole",
|
|
240
|
-
"bunghole",
|
|
241
|
-
"busty",
|
|
242
|
-
"butt",
|
|
243
|
-
"buttcheeks",
|
|
244
|
-
"butthole",
|
|
245
|
-
"camel toe",
|
|
246
|
-
"camgirl",
|
|
247
|
-
"camslut",
|
|
248
|
-
"camwhore",
|
|
249
|
-
"carpet muncher",
|
|
250
|
-
"carpetmuncher",
|
|
251
|
-
"chocolate rosebuds",
|
|
252
|
-
"cialis",
|
|
253
|
-
"circlejerk",
|
|
254
|
-
"cleveland steamer",
|
|
255
|
-
"clit",
|
|
256
|
-
"clitoris",
|
|
257
|
-
"clover clamps",
|
|
258
|
-
"clusterfuck",
|
|
259
|
-
"cock",
|
|
260
|
-
"cocks",
|
|
261
|
-
"coprolagnia",
|
|
262
|
-
"coprophilia",
|
|
263
|
-
"cornhole",
|
|
264
|
-
"coon",
|
|
265
|
-
"coons",
|
|
266
|
-
"creampie",
|
|
267
|
-
"cum",
|
|
268
|
-
"cumming",
|
|
269
|
-
"cumshot",
|
|
270
|
-
"cumshots",
|
|
271
|
-
"cunnilingus",
|
|
272
|
-
"cunt",
|
|
273
|
-
"darkie",
|
|
274
|
-
"date rape",
|
|
275
|
-
"daterape",
|
|
276
|
-
"deep throat",
|
|
277
|
-
"deepthroat",
|
|
278
|
-
"dendrophilia",
|
|
279
|
-
"dick",
|
|
280
|
-
"dildo",
|
|
281
|
-
"dingleberry",
|
|
282
|
-
"dingleberries",
|
|
283
|
-
"dirty pillows",
|
|
284
|
-
"dirty sanchez",
|
|
285
|
-
"doggie style",
|
|
286
|
-
"doggiestyle",
|
|
287
|
-
"doggy style",
|
|
288
|
-
"doggystyle",
|
|
289
|
-
"dog style",
|
|
290
|
-
"dolcett",
|
|
291
|
-
"domination",
|
|
292
|
-
"dominatrix",
|
|
293
|
-
"dommes",
|
|
294
|
-
"donkey punch",
|
|
295
|
-
"double dong",
|
|
296
|
-
"double penetration",
|
|
297
|
-
"dp action",
|
|
298
|
-
"dry hump",
|
|
299
|
-
"dvda",
|
|
300
|
-
"eat my ass",
|
|
301
|
-
"ecchi",
|
|
302
|
-
"ejaculation",
|
|
303
|
-
"erotic",
|
|
304
|
-
"erotism",
|
|
305
|
-
"escort",
|
|
306
|
-
"eunuch",
|
|
307
|
-
"fag",
|
|
308
|
-
"faggot",
|
|
309
|
-
"fecal",
|
|
310
|
-
"felch",
|
|
311
|
-
"fellatio",
|
|
312
|
-
"feltch",
|
|
313
|
-
"female squirting",
|
|
314
|
-
"femdom",
|
|
315
|
-
"figging",
|
|
316
|
-
"fingerbang",
|
|
317
|
-
"fingering",
|
|
318
|
-
"fisting",
|
|
319
|
-
"foot fetish",
|
|
320
|
-
"footjob",
|
|
321
|
-
"frotting",
|
|
322
|
-
"fuck",
|
|
323
|
-
"fuck buttons",
|
|
324
|
-
"fuckin",
|
|
325
|
-
"fucking",
|
|
326
|
-
"fucktards",
|
|
327
|
-
"fudge packer",
|
|
328
|
-
"fudgepacker",
|
|
329
|
-
"futanari",
|
|
330
|
-
"gangbang",
|
|
331
|
-
"gang bang",
|
|
332
|
-
"gay sex",
|
|
333
|
-
"genitals",
|
|
334
|
-
"giant cock",
|
|
335
|
-
"girl on",
|
|
336
|
-
"girl on top",
|
|
337
|
-
"girls gone wild",
|
|
338
|
-
"goatcx",
|
|
339
|
-
"goatse",
|
|
340
|
-
"god damn",
|
|
341
|
-
"gokkun",
|
|
342
|
-
"golden shower",
|
|
343
|
-
"goodpoop",
|
|
344
|
-
"goo girl",
|
|
345
|
-
"goregasm",
|
|
346
|
-
"grope",
|
|
347
|
-
"group sex",
|
|
348
|
-
"g-spot",
|
|
349
|
-
"guro",
|
|
350
|
-
"hand job",
|
|
351
|
-
"handjob",
|
|
352
|
-
"hard core",
|
|
353
|
-
"hardcore",
|
|
354
|
-
"hentai",
|
|
355
|
-
"homoerotic",
|
|
356
|
-
"honkey",
|
|
357
|
-
"hooker",
|
|
358
|
-
"horny",
|
|
359
|
-
"hot carl",
|
|
360
|
-
"hot chick",
|
|
361
|
-
"how to kill",
|
|
362
|
-
"how to murder",
|
|
363
|
-
"huge fat",
|
|
364
|
-
"humping",
|
|
365
|
-
"incest",
|
|
366
|
-
"intercourse",
|
|
367
|
-
"jack off",
|
|
368
|
-
"jail bait",
|
|
369
|
-
"jailbait",
|
|
370
|
-
"jelly donut",
|
|
371
|
-
"jerk off",
|
|
372
|
-
"jigaboo",
|
|
373
|
-
"jiggaboo",
|
|
374
|
-
"jiggerboo",
|
|
375
|
-
"jizz",
|
|
376
|
-
"juggs",
|
|
377
|
-
"kike",
|
|
378
|
-
"kinbaku",
|
|
379
|
-
"kinkster",
|
|
380
|
-
"kinky",
|
|
381
|
-
"knobbing",
|
|
382
|
-
"leather restraint",
|
|
383
|
-
"leather straight jacket",
|
|
384
|
-
"lemon party",
|
|
385
|
-
"livesex",
|
|
386
|
-
"lolita",
|
|
387
|
-
"lovemaking",
|
|
388
|
-
"make me come",
|
|
389
|
-
"male squirting",
|
|
390
|
-
"masturbate",
|
|
391
|
-
"masturbating",
|
|
392
|
-
"masturbation",
|
|
393
|
-
"menage a trois",
|
|
394
|
-
"milf",
|
|
395
|
-
"missionary position",
|
|
396
|
-
"mong",
|
|
397
|
-
"motherfucker",
|
|
398
|
-
"mound of venus",
|
|
399
|
-
"mr hands",
|
|
400
|
-
"muff diver",
|
|
401
|
-
"muffdiving",
|
|
402
|
-
"nambla",
|
|
403
|
-
"nawashi",
|
|
404
|
-
"negro",
|
|
405
|
-
"neonazi",
|
|
406
|
-
"nigga",
|
|
407
|
-
"nigger",
|
|
408
|
-
"nig nog",
|
|
409
|
-
"nimphomania",
|
|
410
|
-
"nipple",
|
|
411
|
-
"nipples",
|
|
412
|
-
"nsfw",
|
|
413
|
-
'nsfw images',
|
|
414
|
-
"nude",
|
|
415
|
-
"nudity",
|
|
416
|
-
"nutten",
|
|
417
|
-
"nympho",
|
|
418
|
-
"nymphomania",
|
|
419
|
-
"octopussy",
|
|
420
|
-
"omorashi",
|
|
421
|
-
"one cup two girls",
|
|
422
|
-
'one guy one jar',
|
|
423
|
-
"orgasm",
|
|
424
|
-
"orgy",
|
|
425
|
-
'paedophile',
|
|
426
|
-
"paki",
|
|
427
|
-
"panties",
|
|
428
|
-
"panty",
|
|
429
|
-
"pedobear",
|
|
430
|
-
"pedophile",
|
|
431
|
-
'pegging',
|
|
432
|
-
'penis',
|
|
433
|
-
"phone sex",
|
|
434
|
-
'piece of shit',
|
|
435
|
-
"pikey",
|
|
436
|
-
"pissing",
|
|
437
|
-
"piss pig",
|
|
438
|
-
"pisspig",
|
|
439
|
-
"playboy",
|
|
440
|
-
"pleasure chest",
|
|
441
|
-
"pole smoker",
|
|
442
|
-
"ponyplay",
|
|
443
|
-
"poof",
|
|
444
|
-
"poon",
|
|
445
|
-
"poontang",
|
|
446
|
-
"punany",
|
|
447
|
-
"poop chute",
|
|
448
|
-
"poopchute",
|
|
449
|
-
"porn",
|
|
450
|
-
"porno",
|
|
451
|
-
"pornography",
|
|
452
|
-
"prince albert piercing",
|
|
453
|
-
"pthc",
|
|
454
|
-
"pubes",
|
|
455
|
-
"pussy",
|
|
456
|
-
"queaf",
|
|
457
|
-
"queef",
|
|
458
|
-
"quim",
|
|
459
|
-
"raghead",
|
|
460
|
-
"raging boner",
|
|
461
|
-
"rape",
|
|
462
|
-
"raping",
|
|
463
|
-
"rapist",
|
|
464
|
-
"rectum",
|
|
465
|
-
"reverse cowgirl",
|
|
466
|
-
"rimjob",
|
|
467
|
-
"rimming",
|
|
468
|
-
"rosy palm",
|
|
469
|
-
"rosy palm and her 5 sisters",
|
|
470
|
-
"rusty trombone",
|
|
471
|
-
"sadism",
|
|
472
|
-
"santorum",
|
|
473
|
-
"scat",
|
|
474
|
-
"schlong",
|
|
475
|
-
"scissoring",
|
|
476
|
-
"semen",
|
|
477
|
-
"sex",
|
|
478
|
-
"sexcam",
|
|
479
|
-
"sexo",
|
|
480
|
-
"sexy",
|
|
481
|
-
"sexual",
|
|
482
|
-
"sexually",
|
|
483
|
-
"sexuality",
|
|
484
|
-
"shaved beaver",
|
|
485
|
-
"shaved pussy",
|
|
486
|
-
"shemale",
|
|
487
|
-
"shibari",
|
|
488
|
-
"shit",
|
|
489
|
-
"shitblimp",
|
|
490
|
-
"shitty",
|
|
491
|
-
"shota",
|
|
492
|
-
"shrimping",
|
|
493
|
-
"skeet",
|
|
494
|
-
"slanteye",
|
|
495
|
-
"slut",
|
|
496
|
-
"s&m",
|
|
497
|
-
"smut",
|
|
498
|
-
"snatch",
|
|
499
|
-
"snowballing",
|
|
500
|
-
"sodomize",
|
|
501
|
-
"sodomy",
|
|
502
|
-
"spastic",
|
|
503
|
-
"spic",
|
|
504
|
-
"splooge",
|
|
505
|
-
"splooge moose",
|
|
506
|
-
"spooge",
|
|
507
|
-
"spread legs",
|
|
508
|
-
"spunk",
|
|
509
|
-
"strap on",
|
|
510
|
-
"strapon",
|
|
511
|
-
"strappado",
|
|
512
|
-
"strip club",
|
|
513
|
-
"style doggy",
|
|
514
|
-
"suck",
|
|
515
|
-
"sucks",
|
|
516
|
-
"suicide girls",
|
|
517
|
-
"sultry women",
|
|
518
|
-
"swastika",
|
|
519
|
-
"swinger",
|
|
520
|
-
"tainted love",
|
|
521
|
-
"taste my",
|
|
522
|
-
"tea bagging",
|
|
523
|
-
"threesome",
|
|
524
|
-
"throating",
|
|
525
|
-
"thumbzilla",
|
|
526
|
-
"tied up",
|
|
527
|
-
"tight white",
|
|
528
|
-
"tit",
|
|
529
|
-
"tits",
|
|
530
|
-
"titties",
|
|
531
|
-
"titty",
|
|
532
|
-
"topless",
|
|
533
|
-
"tosser",
|
|
534
|
-
"towelhead",
|
|
535
|
-
"tranny",
|
|
536
|
-
"tribadism",
|
|
537
|
-
"tub girl",
|
|
538
|
-
'tubgirl',
|
|
539
|
-
"tushy",
|
|
540
|
-
"twat",
|
|
541
|
-
"twink",
|
|
542
|
-
"twinkie",
|
|
543
|
-
"two girls one cup",
|
|
544
|
-
"undressing",
|
|
545
|
-
'upskirt',
|
|
546
|
-
"urethra play",
|
|
547
|
-
"urophilia",
|
|
548
|
-
"vagina",
|
|
549
|
-
"venus mound",
|
|
550
|
-
"viagra",
|
|
551
|
-
"vibrator",
|
|
552
|
-
"violet wand",
|
|
553
|
-
"vorarephilia",
|
|
554
|
-
"voyeur",
|
|
555
|
-
"voyeurweb",
|
|
556
|
-
"voyuer",
|
|
557
|
-
"vulva",
|
|
558
|
-
"wank",
|
|
559
|
-
"wetback",
|
|
560
|
-
"wet dream",
|
|
561
|
-
"white power",
|
|
562
|
-
"whore",
|
|
563
|
-
"worldsex",
|
|
564
|
-
"wrapping men",
|
|
565
|
-
"wrinkled starfish",
|
|
566
|
-
"xx",
|
|
567
|
-
"xxx",
|
|
568
|
-
"yaoi",
|
|
569
|
-
"yellow showers",
|
|
570
|
-
"yiffy",
|
|
571
|
-
"zoophilia",
|
|
572
|
-
"anal",
|
|
573
|
-
"arousal",
|
|
574
|
-
"balls",
|
|
575
|
-
"blowjob",
|
|
576
|
-
"busty",
|
|
577
|
-
"butt",
|
|
578
|
-
"cameltoe",
|
|
579
|
-
"climax",
|
|
580
|
-
"clitoris",
|
|
581
|
-
"cock",
|
|
582
|
-
"crotch",
|
|
583
|
-
"cum",
|
|
584
|
-
"cumshot",
|
|
585
|
-
"cunnilingus",
|
|
586
|
-
"dirty",
|
|
587
|
-
"dirtytalk",
|
|
588
|
-
"dildo",
|
|
589
|
-
"erect",
|
|
590
|
-
"erogenous",
|
|
591
|
-
"escort",
|
|
592
|
-
"explicit",
|
|
593
|
-
"facial",
|
|
594
|
-
"fetish",
|
|
595
|
-
"flirt",
|
|
596
|
-
"foreplay",
|
|
597
|
-
"genitals",
|
|
598
|
-
"groin",
|
|
599
|
-
"hardcore",
|
|
600
|
-
"hardon",
|
|
601
|
-
"horniness",
|
|
602
|
-
"horny",
|
|
603
|
-
"kamasutra",
|
|
604
|
-
"kinky",
|
|
605
|
-
"lewd",
|
|
606
|
-
"lingerie",
|
|
607
|
-
"lust",
|
|
608
|
-
"lustful",
|
|
609
|
-
"masturbate",
|
|
610
|
-
"mature",
|
|
611
|
-
"milf",
|
|
612
|
-
"naughty",
|
|
613
|
-
"naked",
|
|
614
|
-
"nipples",
|
|
615
|
-
"nude",
|
|
616
|
-
"obscene",
|
|
617
|
-
"oral",
|
|
618
|
-
"orgasm",
|
|
619
|
-
"penetration",
|
|
620
|
-
"penis",
|
|
621
|
-
"pleasure",
|
|
622
|
-
"porn",
|
|
623
|
-
"prostitute",
|
|
624
|
-
"provocative",
|
|
625
|
-
"pubic",
|
|
626
|
-
"pussy",
|
|
627
|
-
"seduce",
|
|
628
|
-
"seductive",
|
|
629
|
-
"sensual",
|
|
630
|
-
"sex",
|
|
631
|
-
"sexual",
|
|
632
|
-
"sperm",
|
|
633
|
-
"strip",
|
|
634
|
-
"striptease",
|
|
635
|
-
"swinger",
|
|
636
|
-
"testicles",
|
|
637
|
-
"thong",
|
|
638
|
-
"threesome",
|
|
639
|
-
"undies",
|
|
640
|
-
"undress",
|
|
641
|
-
"vagina",
|
|
642
|
-
"vibrator",
|
|
643
|
-
"wank",
|
|
644
|
-
"wet",
|
|
645
|
-
"hentai",
|
|
646
|
-
"bdsm",
|
|
647
|
-
"gay",
|
|
648
|
-
"lesbian",
|
|
649
|
-
"femboy",
|
|
650
|
-
"ass",
|
|
651
|
-
];
|
|
652
|
-
if (deepCheck) {
|
|
653
|
-
if (translatedText.text && nsfwWords.some(word => translatedText.text.includes(word))) {
|
|
654
|
-
return message.reply("Warning ⚠️. Your prompt contains **`NSFW/Illegal/Prohibited`** words. Please refrain from doing this.");
|
|
655
|
-
}
|
|
656
|
-
if (textToDraw && nsfwWords.some(word => textToDraw.includes(word))) {
|
|
657
|
-
return message.reply("Warning ⚠️. Your prompt contains **`NSFW/Illegal/Prohibited`** words. Please refrain from doing this.");
|
|
658
|
-
}
|
|
659
|
-
}
|
|
660
|
-
if (nsfw) {
|
|
661
|
-
const textToCheck = await (0, utils_1.groqAnalyzer)({ imgURL: imageUrl, prompt: textToDraw });
|
|
662
|
-
if (textToCheck && nsfwWords.some(word => textToCheck.includes(word))) {
|
|
663
|
-
return message.reply("Warning ⚠️. Your prompt contains **`NSFW/Illegal/Prohibited`** words. Please refrain from doing this.");
|
|
664
|
-
}
|
|
665
|
-
if (nsfwKeyWords.length > 0) {
|
|
666
|
-
if (textToCheck && nsfwKeyWords.some(word => textToCheck.includes(word))) {
|
|
667
|
-
return message.reply("Warning ⚠️. The generated image contatining nsfw content. Turn off nsfw to send nsfw images.");
|
|
668
|
-
}
|
|
669
|
-
}
|
|
670
|
-
}
|
|
671
|
-
const attach = new discord_js_1.AttachmentBuilder(imageUrl, { name: `image_${_0x4d7fb6 + 1}.png` });
|
|
594
|
+
const attach = new discord_js_1.AttachmentBuilder(imageUrl, { name: `image_${i + 1}.png` });
|
|
672
595
|
attachData.push(attach);
|
|
673
|
-
const urlButton = new discord_js_1.ButtonBuilder()
|
|
674
|
-
.setStyle(discord_js_1.ButtonStyle.Link)
|
|
675
|
-
.setLabel(`Image ${_0x4d7fb6 + 1}`)
|
|
676
|
-
.setURL(imageUrl);
|
|
677
|
-
buttonsRow1.push(urlButton);
|
|
678
596
|
imageUrls.push(imageUrl);
|
|
679
597
|
}
|
|
680
|
-
|
|
598
|
+
const urlButton = new discord_js_1.ButtonBuilder()
|
|
599
|
+
.setStyle(discord_js_1.ButtonStyle.Link)
|
|
600
|
+
.setLabel(`Image ${i + 1}`)
|
|
601
|
+
.setURL(imageUrl);
|
|
602
|
+
buttonsRow1.push(urlButton);
|
|
681
603
|
}
|
|
682
|
-
const selectMenu = new discord_js_1.StringSelectMenuBuilder()
|
|
683
|
-
.setCustomId("image_processing_select")
|
|
684
|
-
.setPlaceholder("Select Image Process");
|
|
685
|
-
const options = [
|
|
686
|
-
"Resizing",
|
|
687
|
-
"Color Filters",
|
|
688
|
-
"Convert Image Extension",
|
|
689
|
-
"Brightness",
|
|
690
|
-
"Sepia",
|
|
691
|
-
"Pixelate",
|
|
692
|
-
"Blur",
|
|
693
|
-
"Fade",
|
|
694
|
-
"Opaque",
|
|
695
|
-
"Grayscale",
|
|
696
|
-
"Contrast",
|
|
697
|
-
];
|
|
698
|
-
options.forEach((option, index) => {
|
|
699
|
-
const selectOption = new discord_js_1.StringSelectMenuOptionBuilder()
|
|
700
|
-
.setLabel(option)
|
|
701
|
-
.setValue(`process_${index + 1}`);
|
|
702
|
-
selectMenu.addOptions(selectOption);
|
|
703
|
-
});
|
|
704
|
-
await message.channel?.sendTyping();
|
|
705
604
|
const row1 = new discord_js_1.ActionRowBuilder().addComponents(...buttonsRow1);
|
|
706
|
-
const row2 = new discord_js_1.ActionRowBuilder().addComponents(
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
try {
|
|
710
|
-
if (!imageType.validEnhancers?.includes(enhancer.enhanceModal)) {
|
|
711
|
-
return await message.reply({ content: `Invalid enhancer modal (~~${enhancer.enhanceModal}~~). Please check documentation online at apexifyjs.jedi-studio.com.` });
|
|
712
|
-
}
|
|
713
|
-
const generateResponse = await sdk.upscale({
|
|
714
|
-
resize: enhancer.upscale,
|
|
715
|
-
model: enhancer.enhanceModal,
|
|
716
|
-
imageUrl,
|
|
717
|
-
});
|
|
718
|
-
await message.channel?.sendTyping();
|
|
719
|
-
const generatedJobId = generateResponse.data.job;
|
|
720
|
-
const enhancedImageUrl = await checkJobStatus(generatedJobId);
|
|
721
|
-
if (enhancedImageUrl) {
|
|
722
|
-
attachData.push(new discord_js_1.AttachmentBuilder(enhancedImageUrl, { name: `enhanced_image_${imageUrls.indexOf(imageUrl) + 1}.png` }));
|
|
723
|
-
}
|
|
724
|
-
}
|
|
725
|
-
catch (error) {
|
|
726
|
-
console.error(`Error enhancing image at URL ${imageUrl}:`, error);
|
|
727
|
-
}
|
|
728
|
-
}
|
|
729
|
-
}
|
|
730
|
-
const allRows = [...buttons, row1, row2];
|
|
605
|
+
const row2 = new discord_js_1.ActionRowBuilder().addComponents(new discord_js_1.StringSelectMenuBuilder().setCustomId("image_processing_select").setPlaceholder("Select Image Process").addOptions([
|
|
606
|
+
"Resizing", "Color Filters", "Convert Image Extension", "Brightness", "Sepia", "Pixelate", "Blur", "Fade", "Opaque", "Grayscale", "Contrast"
|
|
607
|
+
].map((option, index) => new discord_js_1.StringSelectMenuOptionBuilder().setLabel(option).setValue(`process_${index + 1}`))));
|
|
731
608
|
RespondMessage = await message.reply({
|
|
732
609
|
files: attachData,
|
|
733
|
-
components:
|
|
734
|
-
allowedMentions: { repliedUser: false }
|
|
610
|
+
components: [...buttons, row1, row2],
|
|
611
|
+
allowedMentions: { repliedUser: false }
|
|
735
612
|
});
|
|
736
613
|
return { imageUrls, RespondMessage };
|
|
737
614
|
}
|
|
738
615
|
catch (error) {
|
|
739
616
|
console.error("Error in drawImage:", error.message);
|
|
740
|
-
if (error.response) {
|
|
741
|
-
console.error("Status code:", error.response.status);
|
|
742
|
-
console.error("Response data:", error.response.data);
|
|
743
|
-
}
|
|
744
|
-
message.reply({
|
|
745
|
-
content: "An error occurred while processing the images.",
|
|
746
|
-
allowedMentions: { repliedUser: false },
|
|
747
|
-
});
|
|
748
617
|
return { imageUrls: [], RespondMessage };
|
|
749
618
|
}
|
|
750
619
|
}
|
|
@@ -765,7 +634,7 @@ async function checkJobStatus(jobId) {
|
|
|
765
634
|
}
|
|
766
635
|
}
|
|
767
636
|
catch (error) {
|
|
768
|
-
console.error(error);
|
|
637
|
+
console.error("Error fetching job status:", error);
|
|
769
638
|
return null;
|
|
770
639
|
}
|
|
771
640
|
}
|