apexify.js 4.5.59 → 4.5.591
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/cjs/ai/ApexAI.d.ts +132 -1
- package/dist/cjs/ai/ApexAI.d.ts.map +1 -1
- package/dist/cjs/ai/ApexAI.js +234 -190
- package/dist/cjs/ai/ApexAI.js.map +1 -1
- package/dist/cjs/ai/ApexModules.d.ts +7 -3
- package/dist/cjs/ai/ApexModules.d.ts.map +1 -1
- package/dist/cjs/ai/ApexModules.js +40 -7
- package/dist/cjs/ai/ApexModules.js.map +1 -1
- package/dist/cjs/ai/buttons/tools.d.ts.map +1 -1
- package/dist/cjs/ai/buttons/tools.js +1 -0
- package/dist/cjs/ai/buttons/tools.js.map +1 -1
- package/dist/cjs/ai/functions/readFiles.d.ts.map +1 -1
- package/dist/cjs/ai/functions/readFiles.js +12 -27
- package/dist/cjs/ai/functions/readFiles.js.map +1 -1
- package/dist/cjs/ai/functions/validOptions.d.ts +18 -10
- package/dist/cjs/ai/functions/validOptions.d.ts.map +1 -1
- package/dist/cjs/ai/functions/validOptions.js +82 -44
- package/dist/cjs/ai/functions/validOptions.js.map +1 -1
- package/dist/cjs/ai/modals-chat/electronHub/speechModels.d.ts +2 -2
- package/dist/cjs/ai/modals-chat/electronHub/speechModels.d.ts.map +1 -1
- package/dist/cjs/ai/modals-chat/groq/whisper.d.ts +3 -0
- package/dist/cjs/ai/modals-chat/groq/whisper.d.ts.map +1 -1
- package/dist/cjs/ai/modals-chat/groq/whisper.js +30 -21
- package/dist/cjs/ai/modals-chat/groq/whisper.js.map +1 -1
- package/dist/cjs/ai/utils.d.ts +2 -6
- package/dist/cjs/ai/utils.d.ts.map +1 -1
- package/dist/cjs/ai/utils.js +2 -9
- package/dist/cjs/ai/utils.js.map +1 -1
- package/dist/cjs/canvas/utils/Image/imageProperties.d.ts.map +1 -1
- package/dist/cjs/canvas/utils/Image/imageProperties.js +4 -6
- package/dist/cjs/canvas/utils/Image/imageProperties.js.map +1 -1
- package/dist/cjs/canvas/utils/types.d.ts +26 -0
- package/dist/cjs/canvas/utils/types.d.ts.map +1 -1
- package/dist/cjs/canvas/utils/types.js.map +1 -1
- package/dist/cjs/index.d.ts +9 -12
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +22 -18
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/cjs/utils.d.ts +2 -2
- package/dist/cjs/utils.d.ts.map +1 -1
- package/dist/cjs/utils.js +2 -2
- package/dist/cjs/utils.js.map +1 -1
- package/dist/esm/ai/ApexAI.d.ts +132 -1
- package/dist/esm/ai/ApexAI.d.ts.map +1 -1
- package/dist/esm/ai/ApexAI.js +234 -190
- package/dist/esm/ai/ApexAI.js.map +1 -1
- package/dist/esm/ai/ApexModules.d.ts +7 -3
- package/dist/esm/ai/ApexModules.d.ts.map +1 -1
- package/dist/esm/ai/ApexModules.js +40 -7
- package/dist/esm/ai/ApexModules.js.map +1 -1
- package/dist/esm/ai/buttons/tools.d.ts.map +1 -1
- package/dist/esm/ai/buttons/tools.js +1 -0
- package/dist/esm/ai/buttons/tools.js.map +1 -1
- package/dist/esm/ai/functions/readFiles.d.ts.map +1 -1
- package/dist/esm/ai/functions/readFiles.js +12 -27
- package/dist/esm/ai/functions/readFiles.js.map +1 -1
- package/dist/esm/ai/functions/validOptions.d.ts +18 -10
- package/dist/esm/ai/functions/validOptions.d.ts.map +1 -1
- package/dist/esm/ai/functions/validOptions.js +82 -44
- package/dist/esm/ai/functions/validOptions.js.map +1 -1
- package/dist/esm/ai/modals-chat/electronHub/speechModels.d.ts +2 -2
- package/dist/esm/ai/modals-chat/electronHub/speechModels.d.ts.map +1 -1
- package/dist/esm/ai/modals-chat/groq/whisper.d.ts +3 -0
- package/dist/esm/ai/modals-chat/groq/whisper.d.ts.map +1 -1
- package/dist/esm/ai/modals-chat/groq/whisper.js +30 -21
- package/dist/esm/ai/modals-chat/groq/whisper.js.map +1 -1
- package/dist/esm/ai/utils.d.ts +2 -6
- package/dist/esm/ai/utils.d.ts.map +1 -1
- package/dist/esm/ai/utils.js +2 -9
- package/dist/esm/ai/utils.js.map +1 -1
- package/dist/esm/canvas/utils/Image/imageProperties.d.ts.map +1 -1
- package/dist/esm/canvas/utils/Image/imageProperties.js +4 -6
- package/dist/esm/canvas/utils/Image/imageProperties.js.map +1 -1
- package/dist/esm/canvas/utils/types.d.ts +26 -0
- package/dist/esm/canvas/utils/types.d.ts.map +1 -1
- package/dist/esm/canvas/utils/types.js.map +1 -1
- package/dist/esm/index.d.ts +9 -12
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +22 -18
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/esm/utils.d.ts +2 -2
- package/dist/esm/utils.d.ts.map +1 -1
- package/dist/esm/utils.js +2 -2
- package/dist/esm/utils.js.map +1 -1
- package/lib/ai/ApexAI.ts +442 -195
- package/lib/ai/ApexModules.ts +45 -12
- package/lib/ai/buttons/tools.ts +1 -0
- package/lib/ai/functions/readFiles.ts +14 -31
- package/lib/ai/functions/validOptions.ts +96 -49
- package/lib/ai/modals-chat/electronHub/speechModels.ts +2 -2
- package/lib/ai/modals-chat/groq/whisper.ts +34 -20
- package/lib/ai/utils.ts +3 -10
- package/lib/canvas/utils/Image/imageProperties.ts +5 -6
- package/lib/canvas/utils/types.ts +21 -1
- package/lib/index.ts +44 -28
- package/lib/utils.ts +2 -2
- package/package.json +2 -5
- package/dist/cjs/ai/functions/chunkString.d.ts +0 -2
- package/dist/cjs/ai/functions/chunkString.d.ts.map +0 -1
- package/dist/cjs/ai/functions/chunkString.js +0 -7
- package/dist/cjs/ai/functions/chunkString.js.map +0 -1
- package/dist/cjs/ai/functions/draw.d.ts +0 -10
- package/dist/cjs/ai/functions/draw.d.ts.map +0 -1
- package/dist/cjs/ai/functions/draw.js +0 -649
- package/dist/cjs/ai/functions/draw.js.map +0 -1
- package/dist/cjs/ai/functions/imageReader.d.ts +0 -3
- package/dist/cjs/ai/functions/imageReader.d.ts.map +0 -1
- package/dist/cjs/ai/functions/imageReader.js +0 -22
- package/dist/cjs/ai/functions/imageReader.js.map +0 -1
- package/dist/cjs/ai/functions/shouldDrawImage.d.ts +0 -2
- package/dist/cjs/ai/functions/shouldDrawImage.d.ts.map +0 -1
- package/dist/cjs/ai/functions/shouldDrawImage.js +0 -10
- package/dist/cjs/ai/functions/shouldDrawImage.js.map +0 -1
- package/dist/cjs/ai/modals-chat/others/otherModels.d.ts +0 -9
- package/dist/cjs/ai/modals-chat/others/otherModels.d.ts.map +0 -1
- package/dist/cjs/ai/modals-chat/others/otherModels.js +0 -101
- package/dist/cjs/ai/modals-chat/others/otherModels.js.map +0 -1
- package/dist/esm/ai/functions/chunkString.d.ts +0 -2
- package/dist/esm/ai/functions/chunkString.d.ts.map +0 -1
- package/dist/esm/ai/functions/chunkString.js +0 -7
- package/dist/esm/ai/functions/chunkString.js.map +0 -1
- package/dist/esm/ai/functions/draw.d.ts +0 -10
- package/dist/esm/ai/functions/draw.d.ts.map +0 -1
- package/dist/esm/ai/functions/draw.js +0 -649
- package/dist/esm/ai/functions/draw.js.map +0 -1
- package/dist/esm/ai/functions/imageReader.d.ts +0 -3
- package/dist/esm/ai/functions/imageReader.d.ts.map +0 -1
- package/dist/esm/ai/functions/imageReader.js +0 -22
- package/dist/esm/ai/functions/imageReader.js.map +0 -1
- package/dist/esm/ai/functions/shouldDrawImage.d.ts +0 -2
- package/dist/esm/ai/functions/shouldDrawImage.d.ts.map +0 -1
- package/dist/esm/ai/functions/shouldDrawImage.js +0 -10
- package/dist/esm/ai/functions/shouldDrawImage.js.map +0 -1
- package/dist/esm/ai/modals-chat/others/otherModels.d.ts +0 -9
- package/dist/esm/ai/modals-chat/others/otherModels.d.ts.map +0 -1
- package/dist/esm/ai/modals-chat/others/otherModels.js +0 -101
- package/dist/esm/ai/modals-chat/others/otherModels.js.map +0 -1
- package/lib/ai/functions/chunkString.ts +0 -3
- package/lib/ai/functions/draw.ts +0 -695
- package/lib/ai/functions/imageReader.ts +0 -24
- package/lib/ai/functions/shouldDrawImage.ts +0 -7
- package/lib/ai/modals-chat/others/otherModels.ts +0 -115
package/dist/cjs/ai/ApexAI.d.ts
CHANGED
|
@@ -1,2 +1,133 @@
|
|
|
1
|
-
|
|
1
|
+
import { Message } from "discord.js";
|
|
2
|
+
export interface Options {
|
|
3
|
+
/**
|
|
4
|
+
* Configuration options related to voice functionality.
|
|
5
|
+
* @param voice.textVoice Configuration options for text-to-voice functionality.
|
|
6
|
+
* @param voice.textVoice.enable Whether text-to-voice functionality is enabled.
|
|
7
|
+
* @param voice.textVoice.voiceModel The voice model to be used.
|
|
8
|
+
* @param voice.textVoice.character The character name.
|
|
9
|
+
*/
|
|
10
|
+
voice?: {
|
|
11
|
+
enable?: boolean;
|
|
12
|
+
voiceModel?: "elevenlabs" | "myshell-tts" | "deepinfra-tts" | "whisper-large-v3" | "distil-large-v3" | string;
|
|
13
|
+
characterName?: string;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Configuration options related to image generation.
|
|
17
|
+
* @param imagine.enable Whether image generation is enabled.
|
|
18
|
+
* @param imagine.drawTrigger The trigger phrases for initiating image generation.
|
|
19
|
+
* @param imagine.imageModal The model for the image generation.
|
|
20
|
+
* @param imagine.numOfImages The number of images to generate.
|
|
21
|
+
* @param imagine.nsfw Configuration options for NSFW filtering.
|
|
22
|
+
* @param imagine.nsfw.enable Whether NSFW filtering is enabled.
|
|
23
|
+
* @param imagine.nsfw.keywords Keywords for NSFW filtering.
|
|
24
|
+
* @param imagine.enhancer.enable Whether image enhancement is enabled (rewrites your prompt in more descriptive way).
|
|
25
|
+
* @param imagine.enhancer.negative_prompt The negative prompt for image enhancement only for (Prodia models).
|
|
26
|
+
*/
|
|
27
|
+
imagine?: {
|
|
28
|
+
enable: boolean;
|
|
29
|
+
drawTrigger: string[];
|
|
30
|
+
imageModel: string;
|
|
31
|
+
numOfImages: number;
|
|
32
|
+
ApiKeys?: {
|
|
33
|
+
electronHubKey?: string;
|
|
34
|
+
};
|
|
35
|
+
nsfw?: {
|
|
36
|
+
enable?: boolean;
|
|
37
|
+
keywords?: string[];
|
|
38
|
+
deepCheck?: boolean;
|
|
39
|
+
};
|
|
40
|
+
enhancer?: {
|
|
41
|
+
enable: boolean;
|
|
42
|
+
negative_prompt?: string;
|
|
43
|
+
width?: number;
|
|
44
|
+
height?: number;
|
|
45
|
+
format?: "jpeg" | "png";
|
|
46
|
+
quality?: number;
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Configuration options related to chat functionality.
|
|
51
|
+
* @param chat.chatModel The chat model to be used.
|
|
52
|
+
* @param chat.readFiles Whether to read files.
|
|
53
|
+
* @param chat.readImages Whether to read images.
|
|
54
|
+
* @param chat.personality The personality for the chat.
|
|
55
|
+
* @param chat.API_KEY The API key for accessing the chat service.
|
|
56
|
+
* @param chat.lang The Language of the voice message sent.
|
|
57
|
+
* @param chat.memory Configuration options for memory.
|
|
58
|
+
* @param chat.memory.memoryOn Whether memory is enabled.
|
|
59
|
+
* @param chat.memory.id The ID for memory.
|
|
60
|
+
* @param chat.typeWriting Configuration options for typing effect.
|
|
61
|
+
* @param chat.typeWriting.enable Whether the typing effect is enabled.
|
|
62
|
+
* @param chat.typeWriting.speed The speed of typing.
|
|
63
|
+
* @param chat.typeWriting.delay The delay for typing.
|
|
64
|
+
*/
|
|
65
|
+
chat?: {
|
|
66
|
+
enable?: boolean;
|
|
67
|
+
chatModel?: string;
|
|
68
|
+
readFiles?: boolean;
|
|
69
|
+
readImages?: boolean;
|
|
70
|
+
instruction?: string;
|
|
71
|
+
Api_Keys?: {
|
|
72
|
+
groq_API?: string;
|
|
73
|
+
electronHub_Key?: string;
|
|
74
|
+
};
|
|
75
|
+
memory?: {
|
|
76
|
+
memoryOn?: boolean;
|
|
77
|
+
id?: string;
|
|
78
|
+
};
|
|
79
|
+
typeWriting?: {
|
|
80
|
+
enable?: boolean;
|
|
81
|
+
speed?: number;
|
|
82
|
+
delay?: number;
|
|
83
|
+
};
|
|
84
|
+
};
|
|
85
|
+
/**
|
|
86
|
+
* Additional configuration options.
|
|
87
|
+
* @param others.messageType Configuration options for message types.
|
|
88
|
+
* @param others.messageType.type The type of message.
|
|
89
|
+
* @param others.messageType.intialContent The initial content of the message.
|
|
90
|
+
* @param others.buttons Buttons configuration.
|
|
91
|
+
* @param others.keywords Keywords for response.
|
|
92
|
+
* @param others.keywordResponses Responses for keywords.
|
|
93
|
+
* @param others.loader Configuration options for loader.
|
|
94
|
+
* @param others.loader.enable Whether the loader is enabled.
|
|
95
|
+
* @param others.loader.loadingMessage The loading message.
|
|
96
|
+
* @param others.loader.loadingTimer The loading timer.
|
|
97
|
+
* @param others.channel Configuration options for channels.
|
|
98
|
+
* @param others.channel.enable Whether channels are enabled.
|
|
99
|
+
* @param others.channel.id The ID of the channels.
|
|
100
|
+
* @param others.permissions Configuration options for permissions.
|
|
101
|
+
* @param others.permissions.enable Whether permissions are enabled.
|
|
102
|
+
* @param others.permissions.role The role for permissions.
|
|
103
|
+
* @param others.permissions.permission The permission.
|
|
104
|
+
* @param others.permissions.blockedUsers Blocked users.
|
|
105
|
+
*/
|
|
106
|
+
others?: {
|
|
107
|
+
messageType?: {
|
|
108
|
+
type?: string;
|
|
109
|
+
intialContent?: string;
|
|
110
|
+
sendAs?: string | "embed" | "content";
|
|
111
|
+
};
|
|
112
|
+
onMention?: boolean;
|
|
113
|
+
buttons?: any[];
|
|
114
|
+
keywordResponses?: Record<string, string>;
|
|
115
|
+
loader?: {
|
|
116
|
+
enable?: boolean;
|
|
117
|
+
loadingMessage?: string;
|
|
118
|
+
loadingTimer?: number;
|
|
119
|
+
};
|
|
120
|
+
channel?: {
|
|
121
|
+
enable?: boolean;
|
|
122
|
+
id?: string[];
|
|
123
|
+
};
|
|
124
|
+
permissions?: {
|
|
125
|
+
enable?: boolean;
|
|
126
|
+
role?: string[];
|
|
127
|
+
permission?: string[];
|
|
128
|
+
blockedUsers?: string[];
|
|
129
|
+
};
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
export declare function ApexAI(message: Message, ApexOptions: Options): Promise<import("discord.js").OmitPartialGroupDMChannel<Message<boolean>> | undefined>;
|
|
2
133
|
//# sourceMappingURL=ApexAI.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApexAI.d.ts","sourceRoot":"","sources":["../../../lib/ai/ApexAI.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ApexAI.d.ts","sourceRoot":"","sources":["../../../lib/ai/ApexAI.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/ai/ApexAI.js
CHANGED
|
@@ -1,196 +1,240 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
// import { Hercai } from "hercai";
|
|
3
|
-
// import {
|
|
4
|
-
// toDraw,
|
|
5
|
-
// aiImagine,
|
|
6
|
-
// typeWriter,
|
|
7
|
-
// groqAnalyzer,
|
|
8
|
-
// readFile
|
|
9
|
-
// } from "./utils";
|
|
10
|
-
// import {
|
|
11
|
-
// ModalBuilder,
|
|
12
|
-
// TextInputBuilder,
|
|
13
|
-
// TextInputStyle,
|
|
14
|
-
// ActionRowBuilder,
|
|
15
|
-
// Message,
|
|
16
|
-
// PermissionResolvable
|
|
17
|
-
// } from "discord.js";
|
|
18
|
-
// import { filters } from "./buttons/tools";
|
|
19
|
-
// import { imageTools } from "./buttons/drawMenu";
|
|
20
|
-
// import { whisper } from "./modals-chat/groq/whisper";
|
|
21
|
-
// import { validateModels} from "./functions/validOptions";
|
|
22
|
-
// import { chatHercai } from "./modals-chat/hercai/chatModels";
|
|
23
|
-
// import { otherChatModels } from "./modals-chat/others/otherModels";
|
|
24
|
-
// import { chatGroq } from "./modals-chat/groq/chatgroq";
|
|
25
|
-
// import { electronChat } from "./modals-chat/electronHub/chatmodels";
|
|
26
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
3
|
exports.ApexAI = ApexAI;
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
//
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
4
|
+
const utils_1 = require("./utils");
|
|
5
|
+
const discord_js_1 = require("discord.js");
|
|
6
|
+
const tools_1 = require("./buttons/tools");
|
|
7
|
+
const drawMenu_1 = require("./buttons/drawMenu");
|
|
8
|
+
const whisper_1 = require("./modals-chat/groq/whisper");
|
|
9
|
+
async function ApexAI(message, ApexOptions) {
|
|
10
|
+
if (!message.guild)
|
|
11
|
+
return;
|
|
12
|
+
await (0, drawMenu_1.imageTools)(message.client, discord_js_1.ModalBuilder, discord_js_1.TextInputBuilder, discord_js_1.TextInputStyle, discord_js_1.ActionRowBuilder);
|
|
13
|
+
await (0, tools_1.filters)(message.client);
|
|
14
|
+
let prompt = message.content || "";
|
|
15
|
+
const { others, chat, voice, imagine } = ApexOptions;
|
|
16
|
+
const { permissions, channel, messageType, onMention, loader, buttons } = others ?? {};
|
|
17
|
+
const { Api_Keys, typeWriting } = chat ?? {};
|
|
18
|
+
if (permissions?.enable) {
|
|
19
|
+
const userRoles = message.member?.roles.cache.map((role) => role.id);
|
|
20
|
+
const hasPermission = permissions.role?.some((roleId) => userRoles?.includes(roleId)) ?? false;
|
|
21
|
+
const hasRequiredPerms = permissions.permission?.some((perm) => message.member?.permissions.has(perm)) ?? false;
|
|
22
|
+
const isBlocked = permissions.blockedUsers?.includes(message.author.id) ?? false;
|
|
23
|
+
if (!hasPermission || !hasRequiredPerms || isBlocked)
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
if (channel?.enable && !channel.id?.includes(message.channel.id))
|
|
27
|
+
return;
|
|
28
|
+
if (onMention && prompt.startsWith(`<@${message.client.user.id}>`)) {
|
|
29
|
+
prompt = prompt.replace(`<@${message.client.user.id}>`, "").trim();
|
|
30
|
+
}
|
|
31
|
+
if (message.channel.isTextBased() && "sendTyping" in message.channel)
|
|
32
|
+
await message.channel.sendTyping();
|
|
33
|
+
if (loader?.enable) {
|
|
34
|
+
const loadingMessage = await message.reply({
|
|
35
|
+
content: loader.loadingMessage,
|
|
36
|
+
allowedMentions: { repliedUser: false },
|
|
37
|
+
});
|
|
38
|
+
setTimeout(() => loadingMessage.delete().catch(console.error), loader.loadingTimer || 3000);
|
|
39
|
+
}
|
|
40
|
+
if (message.attachments.size > 0) {
|
|
41
|
+
for (const attachment of message.attachments.values()) {
|
|
42
|
+
try {
|
|
43
|
+
const url = attachment.url;
|
|
44
|
+
const contentType = attachment.contentType || "";
|
|
45
|
+
const fileSize = attachment.size;
|
|
46
|
+
const maxSize = 25 * 1024 * 1024;
|
|
47
|
+
if (contentType.startsWith("audio/")) {
|
|
48
|
+
if (fileSize > maxSize) {
|
|
49
|
+
console.error("Audio file exceeds 25MB.");
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
prompt += `\n> Transcribed from audio:\n${await (0, whisper_1.whisper)(prompt, url)}`;
|
|
53
|
+
}
|
|
54
|
+
else if (["image/png", "image/jpeg", "image/jpg", "image/webp"].includes(contentType)) {
|
|
55
|
+
if (!Api_Keys?.groq_API) {
|
|
56
|
+
console.error("Missing Groq API Key.");
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
prompt += `\n> Image analysis:\n${await (0, utils_1.groqAnalyzer)({ imgURL: url, ApiKey: Api_Keys.groq_API })}`;
|
|
60
|
+
}
|
|
61
|
+
else if (attachment.name.endsWith(".pdf") || attachment.name.endsWith(".txt")) {
|
|
62
|
+
const fileType = attachment.name.endsWith(".pdf") ? "pdf" : "txt";
|
|
63
|
+
const fileContent = await (0, utils_1.readFile)(url, fileType);
|
|
64
|
+
prompt += `\n\n- 📜 ${attachment.name} content:\n${fileContent}`;
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
prompt += `\n> ❌ Unsupported file type uploaded: ${contentType}`;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
catch (e) {
|
|
71
|
+
console.error("Error processing attachment:", e);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
let prevReply = "";
|
|
76
|
+
if (message.reference?.messageId) {
|
|
77
|
+
const channel = message?.guild?.channels?.cache?.get(message.channel.id);
|
|
78
|
+
const messageId = message?.reference?.messageId;
|
|
79
|
+
// @ts-ignore
|
|
80
|
+
const fetchedMessage = await channel?.messages?.fetch(messageId);
|
|
81
|
+
if (fetchedMessage) {
|
|
82
|
+
prevReply += fetchedMessage.content || "";
|
|
83
|
+
const firstAttachment = fetchedMessage.attachments?.first();
|
|
84
|
+
if (firstAttachment && /\.(png|jpg|jpeg|webp)$/i.test(firstAttachment.url)) {
|
|
85
|
+
prevReply += await (0, utils_1.groqAnalyzer)({
|
|
86
|
+
imgURL: firstAttachment.url,
|
|
87
|
+
ApiKey: Api_Keys?.groq_API,
|
|
88
|
+
prompt,
|
|
89
|
+
});
|
|
90
|
+
prompt += `\n- 📷 Image analysis:\n${prevReply}`;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
if (others?.keywordResponses) {
|
|
95
|
+
for (const [keyword, response] of Object.entries(others.keywordResponses)) {
|
|
96
|
+
if (prompt.toLowerCase().includes(keyword.toLowerCase())) {
|
|
97
|
+
return await message.reply({
|
|
98
|
+
content: response,
|
|
99
|
+
allowedMentions: { repliedUser: false },
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
let aiResponse = "";
|
|
105
|
+
const chatEnabled = chat?.enable ?? false;
|
|
106
|
+
const voiceEnabled = voice?.enable ?? false;
|
|
107
|
+
const imageEnabled = imagine?.enable ?? false;
|
|
108
|
+
let genImage = [];
|
|
109
|
+
if (message.channel.isTextBased() && "sendTyping" in message.channel)
|
|
110
|
+
await message.channel.sendTyping();
|
|
111
|
+
if (chatEnabled && voiceEnabled) {
|
|
112
|
+
return await message.reply({
|
|
113
|
+
content: "❌ Error: Both Chat and Voice cannot be enabled at the same time.",
|
|
114
|
+
allowedMentions: { repliedUser: false },
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
if (chatEnabled) {
|
|
118
|
+
let instruction = chat?.instruction;
|
|
119
|
+
if (imageEnabled) {
|
|
120
|
+
const enhancer = imagine?.enhancer?.enable ? imagine.enhancer : undefined;
|
|
121
|
+
let tempEnhancer;
|
|
122
|
+
if (enhancer) {
|
|
123
|
+
const enhancementRequest = `Rewrite this text below in a more descriptive way, making it clearer to be visualized correctly by an AI image generator. Use stronger words and return only the enhanced prompt—nothing more, nothing less.\n\n`;
|
|
124
|
+
tempEnhancer = await (0, utils_1.ApexChat)("v3-32k", prompt, { instruction: enhancementRequest });
|
|
125
|
+
}
|
|
126
|
+
genImage = await (0, utils_1.ApexImagine)(imagine?.imageModel, tempEnhancer || prompt, enhancer);
|
|
127
|
+
instruction += `\n\nThe image has already been generated. Do not attempt to generate or describe another image. Instead, provide feedback, thoughts, or a critique based on the given prompt:\n\n`;
|
|
128
|
+
}
|
|
129
|
+
aiResponse = await (0, utils_1.ApexChat)(chat?.chatModel, prompt, { instruction, memory: chat?.memory?.memoryOn, userId: chat?.memory?.id, limit: 15 });
|
|
130
|
+
}
|
|
131
|
+
else if (voiceEnabled) {
|
|
132
|
+
let instruction = chat?.instruction;
|
|
133
|
+
if (imageEnabled) {
|
|
134
|
+
const enhancer = imagine?.enhancer?.enable ? imagine.enhancer : undefined;
|
|
135
|
+
let tempEnhancer;
|
|
136
|
+
if (enhancer) {
|
|
137
|
+
const enhancementRequest = `Rewrite this text below in a more descriptive way, making it clearer to be visualized correctly by an AI image generator. Use stronger words and return only the enhanced prompt—nothing more, nothing less.\n\n`;
|
|
138
|
+
tempEnhancer = await (0, utils_1.ApexChat)("v3-32k", prompt, { instruction: enhancementRequest });
|
|
139
|
+
}
|
|
140
|
+
genImage = await (0, utils_1.ApexImagine)(imagine?.imageModel, tempEnhancer || prompt, enhancer);
|
|
141
|
+
instruction += `\n\nThe image has already been generated. Do not attempt to generate or describe another image. Instead, provide feedback, thoughts, or a critique based on the given prompt:\n\n`;
|
|
142
|
+
}
|
|
143
|
+
aiResponse = await (0, utils_1.ApexChat)(chat?.chatModel, prompt, { instruction, memory: chat?.memory?.memoryOn, userId: chat?.memory?.id, limit: 15 });
|
|
144
|
+
aiResponse = await (0, utils_1.ApexText2Speech)({ modelName: voice?.voiceModel, inputText: aiResponse, personality: voice?.characterName });
|
|
145
|
+
}
|
|
146
|
+
else if (imageEnabled) {
|
|
147
|
+
const enhancer = imagine?.enhancer?.enable ? imagine.enhancer : undefined;
|
|
148
|
+
let tempEnhancer;
|
|
149
|
+
if (enhancer) {
|
|
150
|
+
const enhancementRequest = `Rewrite this text below in a more descriptive way, making it clearer to be visualized correctly by an AI image generator. Use stronger words and return only the enhanced prompt—nothing more, nothing less.\n\n${prompt}`;
|
|
151
|
+
tempEnhancer = await (0, utils_1.ApexChat)("v3-32k", prompt, { instruction: enhancementRequest });
|
|
152
|
+
}
|
|
153
|
+
genImage = await (0, utils_1.ApexImagine)(imagine?.imageModel, tempEnhancer || prompt, enhancer);
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
return await message.reply({
|
|
157
|
+
content: "❌ Error: No valid AI features are enabled.",
|
|
158
|
+
allowedMentions: { repliedUser: false },
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
const imageAttachments = [];
|
|
162
|
+
if (genImage.length > 0) {
|
|
163
|
+
for (const imageUrl of genImage) {
|
|
164
|
+
imageAttachments.push(new discord_js_1.AttachmentBuilder(imageUrl, { name: `image-${Date.now()}.png` }));
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
let voiceAttachment = null;
|
|
168
|
+
if (voiceEnabled && aiResponse instanceof Buffer) {
|
|
169
|
+
voiceAttachment = new discord_js_1.AttachmentBuilder(aiResponse, { name: "ai_voice.mp3" });
|
|
170
|
+
}
|
|
171
|
+
const chunkMessage = (text, maxLength = 2000) => {
|
|
172
|
+
const chunks = [];
|
|
173
|
+
while (text.length > maxLength) {
|
|
174
|
+
let sliceIndex = text.lastIndexOf("\n", maxLength);
|
|
175
|
+
if (sliceIndex === -1)
|
|
176
|
+
sliceIndex = maxLength;
|
|
177
|
+
chunks.push(text.slice(0, sliceIndex));
|
|
178
|
+
text = text.slice(sliceIndex);
|
|
179
|
+
}
|
|
180
|
+
if (text.length > 0)
|
|
181
|
+
chunks.push(text);
|
|
182
|
+
return chunks;
|
|
183
|
+
};
|
|
184
|
+
const finalText = typeof aiResponse === "string" ? aiResponse : "";
|
|
185
|
+
const messageChunks = chunkMessage(finalText);
|
|
186
|
+
const sendMessage = async (content) => {
|
|
187
|
+
if (!content.trim())
|
|
188
|
+
return;
|
|
189
|
+
if (others?.messageType?.sendAs === "embed") {
|
|
190
|
+
const embed = new discord_js_1.EmbedBuilder()
|
|
191
|
+
.setColor(0x0099ff)
|
|
192
|
+
.setDescription(content)
|
|
193
|
+
.setFooter({ text: "AI Response" });
|
|
194
|
+
if (others?.messageType?.type === "send") {
|
|
195
|
+
return message.channel.send({ embeds: [embed] });
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
return message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } });
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
else {
|
|
202
|
+
if (others?.messageType?.type === "send") {
|
|
203
|
+
return message.channel.send({ content });
|
|
204
|
+
}
|
|
205
|
+
else {
|
|
206
|
+
return message.reply({ content, allowedMentions: { repliedUser: false } });
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
};
|
|
210
|
+
const sendTypeWritingMessage = async (content) => {
|
|
211
|
+
if (!chat?.typeWriting?.enable) {
|
|
212
|
+
return sendMessage(content);
|
|
213
|
+
}
|
|
214
|
+
let currentMessage = "";
|
|
215
|
+
const speed = chat.typeWriting.speed ?? 50;
|
|
216
|
+
const delay = chat.typeWriting.delay ?? 500;
|
|
217
|
+
for (const char of content) {
|
|
218
|
+
currentMessage += char;
|
|
219
|
+
if (message.channel.isTextBased()) {
|
|
220
|
+
await message.channel.sendTyping();
|
|
221
|
+
}
|
|
222
|
+
await new Promise((resolve) => setTimeout(resolve, speed));
|
|
223
|
+
}
|
|
224
|
+
await sendMessage(currentMessage);
|
|
225
|
+
};
|
|
226
|
+
(async () => {
|
|
227
|
+
if (imageAttachments.length > 0) {
|
|
228
|
+
await message.channel.send({ files: imageAttachments });
|
|
229
|
+
}
|
|
230
|
+
for (const chunk of messageChunks) {
|
|
231
|
+
await sendTypeWritingMessage(chunk);
|
|
232
|
+
await new Promise((resolve) => setTimeout(resolve, chat?.typeWriting?.delay ?? 500));
|
|
233
|
+
}
|
|
234
|
+
if (voiceAttachment) {
|
|
235
|
+
await message.channel.send({ files: [voiceAttachment] });
|
|
236
|
+
}
|
|
237
|
+
})();
|
|
194
238
|
}
|
|
195
239
|
;
|
|
196
240
|
//# sourceMappingURL=ApexAI.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApexAI.js","sourceRoot":"","sources":["../../../lib/ai/ApexAI.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ApexAI.js","sourceRoot":"","sources":["../../../lib/ai/ApexAI.ts"],"names":[],"mappings":"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"}
|