whatsauto.js 0.0.0
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/README.md +37 -0
- package/dist/Defaults/index.d.ts +32 -0
- package/dist/Defaults/index.d.ts.map +1 -0
- package/dist/Defaults/index.js +37 -0
- package/dist/Error/index.d.ts +9 -0
- package/dist/Error/index.d.ts.map +1 -0
- package/dist/Error/index.js +25 -0
- package/dist/Logger/index.d.ts +8 -0
- package/dist/Logger/index.d.ts.map +1 -0
- package/dist/Logger/index.js +17 -0
- package/dist/Messaging/index.d.ts +33 -0
- package/dist/Messaging/index.d.ts.map +1 -0
- package/dist/Messaging/index.js +245 -0
- package/dist/Socket/index.d.ts +29 -0
- package/dist/Socket/index.d.ts.map +1 -0
- package/dist/Socket/index.js +374 -0
- package/dist/Types/index.d.ts +89 -0
- package/dist/Types/index.d.ts.map +1 -0
- package/dist/Types/index.js +2 -0
- package/dist/Utils/create-delay.d.ts +2 -0
- package/dist/Utils/create-delay.d.ts.map +1 -0
- package/dist/Utils/create-delay.js +18 -0
- package/dist/Utils/error.d.ts +4 -0
- package/dist/Utils/error.d.ts.map +1 -0
- package/dist/Utils/error.js +8 -0
- package/dist/Utils/helper.d.ts +22 -0
- package/dist/Utils/helper.d.ts.map +1 -0
- package/dist/Utils/helper.js +129 -0
- package/dist/Utils/index.d.ts +3 -0
- package/dist/Utils/index.d.ts.map +1 -0
- package/dist/Utils/index.js +18 -0
- package/dist/Utils/is-exist.d.ts +3 -0
- package/dist/Utils/is-exist.d.ts.map +1 -0
- package/dist/Utils/is-exist.js +38 -0
- package/dist/Utils/message-status.d.ts +4 -0
- package/dist/Utils/message-status.d.ts.map +1 -0
- package/dist/Utils/message-status.js +18 -0
- package/dist/Utils/phone-to-jid.d.ts +5 -0
- package/dist/Utils/phone-to-jid.d.ts.map +1 -0
- package/dist/Utils/phone-to-jid.js +30 -0
- package/dist/Utils/save-media.d.ts +5 -0
- package/dist/Utils/save-media.d.ts.map +1 -0
- package/dist/Utils/save-media.js +49 -0
- package/dist/Utils/set-credentials-dir.d.ts +3 -0
- package/dist/Utils/set-credentials-dir.d.ts.map +1 -0
- package/dist/Utils/set-credentials-dir.js +14 -0
- package/dist/Utils/tools.d.ts +12 -0
- package/dist/Utils/tools.d.ts.map +1 -0
- package/dist/Utils/tools.js +34 -0
- package/dist/WhatsApp/AutoWA.d.ts +38 -0
- package/dist/WhatsApp/AutoWA.d.ts.map +1 -0
- package/dist/WhatsApp/AutoWA.js +545 -0
- package/dist/WhatsApp/AutoWAEvent.d.ts +28 -0
- package/dist/WhatsApp/AutoWAEvent.d.ts.map +1 -0
- package/dist/WhatsApp/AutoWAEvent.js +66 -0
- package/dist/WhatsApp/AutoWAManager.d.ts +12 -0
- package/dist/WhatsApp/AutoWAManager.d.ts.map +1 -0
- package/dist/WhatsApp/AutoWAManager.js +68 -0
- package/dist/WhatsApp/action.d.ts +1 -0
- package/dist/WhatsApp/action.d.ts.map +1 -0
- package/dist/WhatsApp/action.js +272 -0
- package/dist/WhatsApp/auto-wa-event.d.ts +26 -0
- package/dist/WhatsApp/auto-wa-event.d.ts.map +1 -0
- package/dist/WhatsApp/auto-wa-event.js +60 -0
- package/dist/WhatsApp/auto-wa-manager.d.ts +12 -0
- package/dist/WhatsApp/auto-wa-manager.d.ts.map +1 -0
- package/dist/WhatsApp/auto-wa-manager.js +68 -0
- package/dist/WhatsApp/auto-wa.d.ts +36 -0
- package/dist/WhatsApp/auto-wa.d.ts.map +1 -0
- package/dist/WhatsApp/auto-wa.js +497 -0
- package/dist/WhatsApp/event.d.ts +24 -0
- package/dist/WhatsApp/event.d.ts.map +1 -0
- package/dist/WhatsApp/event.js +54 -0
- package/dist/WhatsApp/index.d.ts +3 -0
- package/dist/WhatsApp/index.d.ts.map +1 -0
- package/dist/WhatsApp/index.js +18 -0
- package/dist/WhatsApp/multi-auto-wa.d.ts +14 -0
- package/dist/WhatsApp/multi-auto-wa.d.ts.map +1 -0
- package/dist/WhatsApp/multi-auto-wa.js +86 -0
- package/dist/WhatsApp/setup.d.ts +1 -0
- package/dist/WhatsApp/setup.d.ts.map +1 -0
- package/dist/WhatsApp/setup.js +221 -0
- package/dist/WhatsApp/undefined.jpeg +0 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/package.json +38 -0
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.AutoWAManager = void 0;
|
|
16
|
+
const path_1 = __importDefault(require("path"));
|
|
17
|
+
const Defaults_1 = require("../Defaults");
|
|
18
|
+
const AutoWA_1 = require("./AutoWA");
|
|
19
|
+
const fs_1 = __importDefault(require("fs"));
|
|
20
|
+
class AutoWAManager {
|
|
21
|
+
addSessions(autoWAs) {
|
|
22
|
+
for (const autoWA of autoWAs) {
|
|
23
|
+
this.addSession(autoWA);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
addSession(autoWA) {
|
|
27
|
+
this.sessions.set(autoWA.sessionId, autoWA);
|
|
28
|
+
}
|
|
29
|
+
isSessionExist(sessionId) {
|
|
30
|
+
if (fs_1.default.existsSync(path_1.default.resolve(Defaults_1.CREDENTIALS.DIR_NAME)) &&
|
|
31
|
+
fs_1.default.existsSync(path_1.default.resolve(Defaults_1.CREDENTIALS.DIR_NAME, sessionId + Defaults_1.CREDENTIALS.PREFIX)) &&
|
|
32
|
+
fs_1.default.readdirSync(path_1.default.resolve(Defaults_1.CREDENTIALS.DIR_NAME, sessionId + Defaults_1.CREDENTIALS.PREFIX)).length) {
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
startSessions() {
|
|
38
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
39
|
+
for (const session of this.getSessions()) {
|
|
40
|
+
const { sessionId, options } = this.getSession(session);
|
|
41
|
+
const autoWA = new AutoWA_1.AutoWA(sessionId, options, this);
|
|
42
|
+
yield autoWA.initialize();
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
deleteSession(sessionId) {
|
|
47
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
48
|
+
const session = this.getSession(sessionId);
|
|
49
|
+
try {
|
|
50
|
+
yield (session === null || session === void 0 ? void 0 : session.logout());
|
|
51
|
+
}
|
|
52
|
+
catch (error) { }
|
|
53
|
+
session === null || session === void 0 ? void 0 : session.end();
|
|
54
|
+
this.sessions.delete(sessionId);
|
|
55
|
+
const dir = path_1.default.resolve(Defaults_1.CREDENTIALS.DIR_NAME, sessionId + Defaults_1.CREDENTIALS.PREFIX);
|
|
56
|
+
if (fs_1.default.existsSync(dir)) {
|
|
57
|
+
fs_1.default.rmSync(dir, { force: true, recursive: true });
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
getSessions() {
|
|
62
|
+
return Array.from(this.sessions.keys());
|
|
63
|
+
}
|
|
64
|
+
getSession(sessionId) {
|
|
65
|
+
return this.sessions.get(sessionId);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
exports.AutoWAManager = AutoWAManager;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=action.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../src/WhatsApp/action.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// import { proto } from "@whiskeysockets/baileys";
|
|
3
|
+
// import { Messages } from "../Defaults";
|
|
4
|
+
// import { getSession } from "./setup";
|
|
5
|
+
// import { SendMediaTypes, SendMessageTypes, SendReadTypes, SendTypingTypes } from "../Types";
|
|
6
|
+
// import { phoneToJid, createDelay, isExist } from "../Utils";
|
|
7
|
+
// import mime from "mime";
|
|
8
|
+
// import { WhatsAppError } from "../Error";
|
|
9
|
+
// export const sendTextMessage = async ({
|
|
10
|
+
// sessionId,
|
|
11
|
+
// to,
|
|
12
|
+
// text = "",
|
|
13
|
+
// isGroup = false,
|
|
14
|
+
// ...props
|
|
15
|
+
// }: SendMessageTypes): Promise<proto.WebMessageInfo | undefined> => {
|
|
16
|
+
// const session = getSession(sessionId);
|
|
17
|
+
// if (!session) throw new WhatsAppError(Messages.sessionNotFound(sessionId));
|
|
18
|
+
// to = phoneToJid({ to, isGroup });
|
|
19
|
+
// return await session.sendMessage(
|
|
20
|
+
// to,
|
|
21
|
+
// {
|
|
22
|
+
// text: text,
|
|
23
|
+
// },
|
|
24
|
+
// {
|
|
25
|
+
// quoted: props.answering,
|
|
26
|
+
// }
|
|
27
|
+
// );
|
|
28
|
+
// };
|
|
29
|
+
// export const sendImage = async ({
|
|
30
|
+
// sessionId,
|
|
31
|
+
// to,
|
|
32
|
+
// text = "",
|
|
33
|
+
// isGroup = false,
|
|
34
|
+
// media,
|
|
35
|
+
// ...props
|
|
36
|
+
// }: SendMediaTypes): Promise<proto.WebMessageInfo | undefined> => {
|
|
37
|
+
// const session = getSession(sessionId);
|
|
38
|
+
// if (!session) throw new WhatsAppError(Messages.sessionNotFound(sessionId));
|
|
39
|
+
// const oldPhone = to;
|
|
40
|
+
// to = phoneToJid({ to, isGroup });
|
|
41
|
+
// const isRegistered = await isExist({
|
|
42
|
+
// sessionId,
|
|
43
|
+
// to,
|
|
44
|
+
// isGroup,
|
|
45
|
+
// });
|
|
46
|
+
// if (!isRegistered) {
|
|
47
|
+
// throw new WhatsAppError(`${oldPhone} is not registered on Whatsapp`);
|
|
48
|
+
// }
|
|
49
|
+
// if (!media) throw new WhatsAppError("parameter media must be Buffer or String URL");
|
|
50
|
+
// return await session.sendMessage(
|
|
51
|
+
// to,
|
|
52
|
+
// {
|
|
53
|
+
// image:
|
|
54
|
+
// typeof media == "string"
|
|
55
|
+
// ? {
|
|
56
|
+
// url: media,
|
|
57
|
+
// }
|
|
58
|
+
// : media,
|
|
59
|
+
// caption: text,
|
|
60
|
+
// },
|
|
61
|
+
// {
|
|
62
|
+
// quoted: props.answering,
|
|
63
|
+
// }
|
|
64
|
+
// );
|
|
65
|
+
// };
|
|
66
|
+
// export const sendVideo = async ({
|
|
67
|
+
// sessionId,
|
|
68
|
+
// to,
|
|
69
|
+
// text = "",
|
|
70
|
+
// isGroup = false,
|
|
71
|
+
// media,
|
|
72
|
+
// ...props
|
|
73
|
+
// }: SendMediaTypes): Promise<proto.WebMessageInfo | undefined> => {
|
|
74
|
+
// const session = getSession(sessionId);
|
|
75
|
+
// if (!session) throw new WhatsAppError(Messages.sessionNotFound(sessionId));
|
|
76
|
+
// const oldPhone = to;
|
|
77
|
+
// to = phoneToJid({ to, isGroup });
|
|
78
|
+
// const isRegistered = await isExist({
|
|
79
|
+
// sessionId,
|
|
80
|
+
// to,
|
|
81
|
+
// isGroup,
|
|
82
|
+
// });
|
|
83
|
+
// if (!isRegistered) {
|
|
84
|
+
// throw new WhatsAppError(`${oldPhone} is not registered on Whatsapp`);
|
|
85
|
+
// }
|
|
86
|
+
// if (!media) throw new WhatsAppError("parameter media must be Buffer or String URL");
|
|
87
|
+
// return await session.sendMessage(
|
|
88
|
+
// to,
|
|
89
|
+
// {
|
|
90
|
+
// video:
|
|
91
|
+
// typeof media == "string"
|
|
92
|
+
// ? {
|
|
93
|
+
// url: media,
|
|
94
|
+
// }
|
|
95
|
+
// : media,
|
|
96
|
+
// caption: text,
|
|
97
|
+
// },
|
|
98
|
+
// {
|
|
99
|
+
// quoted: props.answering,
|
|
100
|
+
// }
|
|
101
|
+
// );
|
|
102
|
+
// };
|
|
103
|
+
// export const sendDocument = async ({
|
|
104
|
+
// sessionId,
|
|
105
|
+
// to,
|
|
106
|
+
// text = "",
|
|
107
|
+
// isGroup = false,
|
|
108
|
+
// media,
|
|
109
|
+
// filename,
|
|
110
|
+
// ...props
|
|
111
|
+
// }: SendMediaTypes & {
|
|
112
|
+
// filename: string;
|
|
113
|
+
// }): Promise<proto.WebMessageInfo | undefined> => {
|
|
114
|
+
// const session = getSession(sessionId);
|
|
115
|
+
// if (!session) throw new WhatsAppError(Messages.sessionNotFound(sessionId));
|
|
116
|
+
// const oldPhone = to;
|
|
117
|
+
// to = phoneToJid({ to, isGroup });
|
|
118
|
+
// const isRegistered = await isExist({
|
|
119
|
+
// sessionId,
|
|
120
|
+
// to,
|
|
121
|
+
// isGroup,
|
|
122
|
+
// });
|
|
123
|
+
// if (!isRegistered) {
|
|
124
|
+
// throw new WhatsAppError(`${oldPhone} is not registered on Whatsapp`);
|
|
125
|
+
// }
|
|
126
|
+
// if (!media) {
|
|
127
|
+
// throw new WhatsAppError(`Invalid Media`);
|
|
128
|
+
// }
|
|
129
|
+
// const mimetype = mime.getType(filename);
|
|
130
|
+
// if (!mimetype) {
|
|
131
|
+
// throw new WhatsAppError(`Filename must include valid extension`);
|
|
132
|
+
// }
|
|
133
|
+
// return await session.sendMessage(
|
|
134
|
+
// to,
|
|
135
|
+
// {
|
|
136
|
+
// fileName: filename,
|
|
137
|
+
// document:
|
|
138
|
+
// typeof media == "string"
|
|
139
|
+
// ? {
|
|
140
|
+
// url: media,
|
|
141
|
+
// }
|
|
142
|
+
// : media,
|
|
143
|
+
// mimetype: mimetype,
|
|
144
|
+
// caption: text,
|
|
145
|
+
// },
|
|
146
|
+
// {
|
|
147
|
+
// quoted: props.answering,
|
|
148
|
+
// }
|
|
149
|
+
// );
|
|
150
|
+
// };
|
|
151
|
+
// export const sendVoiceNote = async ({
|
|
152
|
+
// sessionId,
|
|
153
|
+
// to,
|
|
154
|
+
// isGroup = false,
|
|
155
|
+
// media,
|
|
156
|
+
// ...props
|
|
157
|
+
// }: Omit<SendMediaTypes, "text">): Promise<proto.WebMessageInfo | undefined> => {
|
|
158
|
+
// const session = getSession(sessionId);
|
|
159
|
+
// if (!session) throw new WhatsAppError(Messages.sessionNotFound(sessionId));
|
|
160
|
+
// const oldPhone = to;
|
|
161
|
+
// to = phoneToJid({ to, isGroup });
|
|
162
|
+
// const isRegistered = await isExist({
|
|
163
|
+
// sessionId,
|
|
164
|
+
// to,
|
|
165
|
+
// isGroup,
|
|
166
|
+
// });
|
|
167
|
+
// if (!isRegistered) {
|
|
168
|
+
// throw new WhatsAppError(`${oldPhone} is not registered on Whatsapp`);
|
|
169
|
+
// }
|
|
170
|
+
// if (!media) {
|
|
171
|
+
// throw new WhatsAppError(`Invalid Media`);
|
|
172
|
+
// }
|
|
173
|
+
// return await session.sendMessage(
|
|
174
|
+
// to,
|
|
175
|
+
// {
|
|
176
|
+
// audio:
|
|
177
|
+
// typeof media == "string"
|
|
178
|
+
// ? {
|
|
179
|
+
// url: media,
|
|
180
|
+
// }
|
|
181
|
+
// : media,
|
|
182
|
+
// ptt: true,
|
|
183
|
+
// },
|
|
184
|
+
// {
|
|
185
|
+
// quoted: props.answering,
|
|
186
|
+
// }
|
|
187
|
+
// );
|
|
188
|
+
// };
|
|
189
|
+
// export const sendSticker = async ({
|
|
190
|
+
// sessionId,
|
|
191
|
+
// to,
|
|
192
|
+
// isGroup,
|
|
193
|
+
// media,
|
|
194
|
+
// ...props
|
|
195
|
+
// }: SendMediaTypes): Promise<proto.WebMessageInfo | undefined> => {
|
|
196
|
+
// const session = getSession(sessionId);
|
|
197
|
+
// if (!session) throw new WhatsAppError(Messages.sessionNotFound(sessionId));
|
|
198
|
+
// const oldPhone = to;
|
|
199
|
+
// to = phoneToJid({ to, isGroup });
|
|
200
|
+
// const isRegistered = await isExist({
|
|
201
|
+
// sessionId,
|
|
202
|
+
// to,
|
|
203
|
+
// isGroup,
|
|
204
|
+
// });
|
|
205
|
+
// if (!isRegistered) {
|
|
206
|
+
// throw new WhatsAppError(`${oldPhone} is not registered on Whatsapp`);
|
|
207
|
+
// }
|
|
208
|
+
// if (!media) {
|
|
209
|
+
// throw new WhatsAppError(`Invalid Media`);
|
|
210
|
+
// }
|
|
211
|
+
// return await session.sendMessage(
|
|
212
|
+
// to,
|
|
213
|
+
// {
|
|
214
|
+
// sticker:
|
|
215
|
+
// typeof media == "string"
|
|
216
|
+
// ? {
|
|
217
|
+
// url: media,
|
|
218
|
+
// }
|
|
219
|
+
// : media,
|
|
220
|
+
// },
|
|
221
|
+
// {
|
|
222
|
+
// quoted: props.answering,
|
|
223
|
+
// }
|
|
224
|
+
// );
|
|
225
|
+
// };
|
|
226
|
+
// /**
|
|
227
|
+
// * Give typing effect to target
|
|
228
|
+
// *
|
|
229
|
+
// * Looks like human typing
|
|
230
|
+
// *
|
|
231
|
+
// *
|
|
232
|
+
// * @param sessionId - Session ID
|
|
233
|
+
// * @param to - Target
|
|
234
|
+
// * @param duration - Duration in miliseconds typing effect will appear
|
|
235
|
+
// */
|
|
236
|
+
// export const sendTyping = async ({
|
|
237
|
+
// sessionId,
|
|
238
|
+
// to,
|
|
239
|
+
// duration = 1000,
|
|
240
|
+
// isGroup = false,
|
|
241
|
+
// }: SendTypingTypes) => {
|
|
242
|
+
// const oldPhone = to;
|
|
243
|
+
// to = phoneToJid({ to, isGroup });
|
|
244
|
+
// const session = getSession(sessionId);
|
|
245
|
+
// if (!session) throw new WhatsAppError(Messages.sessionNotFound(sessionId));
|
|
246
|
+
// const isRegistered = await isExist({
|
|
247
|
+
// sessionId,
|
|
248
|
+
// to,
|
|
249
|
+
// isGroup,
|
|
250
|
+
// });
|
|
251
|
+
// if (!isRegistered) {
|
|
252
|
+
// throw new WhatsAppError(`${oldPhone} is not registered on Whatsapp`);
|
|
253
|
+
// }
|
|
254
|
+
// await session.sendPresenceUpdate("composing", to);
|
|
255
|
+
// await createDelay(duration);
|
|
256
|
+
// await session.sendPresenceUpdate("available", to);
|
|
257
|
+
// };
|
|
258
|
+
// /**
|
|
259
|
+
// * Give typing effect to target
|
|
260
|
+
// *
|
|
261
|
+
// * Looks like human typing
|
|
262
|
+
// *
|
|
263
|
+
// *
|
|
264
|
+
// * @param sessionId - Session ID
|
|
265
|
+
// * @param to - Target
|
|
266
|
+
// * @param duration - Duration in miliseconds typing effect will appear
|
|
267
|
+
// */
|
|
268
|
+
// export const readMessage = async ({ sessionId, key }: SendReadTypes) => {
|
|
269
|
+
// const session = getSession(sessionId);
|
|
270
|
+
// if (!session) throw new WhatsAppError(Messages.sessionNotFound(sessionId));
|
|
271
|
+
// await session.readMessages([key]);
|
|
272
|
+
// };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { IWAutoMessageReceived, IWAutoMessageSent, WAutoMessageUpdated } from "../Types";
|
|
2
|
+
export default class AutoWAEvent {
|
|
3
|
+
private callback;
|
|
4
|
+
constructor(callback: Map<string, Function>);
|
|
5
|
+
onQRUpdated: (listener: ({ sessionId, qr }: {
|
|
6
|
+
sessionId: string;
|
|
7
|
+
qr: string;
|
|
8
|
+
}) => any) => void;
|
|
9
|
+
onConnected: (listener: (sessionId: string) => any) => void;
|
|
10
|
+
onDisconnected: (listener: (sessionId: string) => any) => void;
|
|
11
|
+
onConnecting: (listener: (sessionId: string) => any) => void;
|
|
12
|
+
onMessageUpdate: (listener: (data: WAutoMessageUpdated) => any) => void;
|
|
13
|
+
onPairingCode: (listener: (sessionId: string, code: string) => any) => void;
|
|
14
|
+
onMessage: (listener: (msg: IWAutoMessageReceived) => any) => void;
|
|
15
|
+
onGroupMessage: (listener: (msg: IWAutoMessageReceived) => any) => void;
|
|
16
|
+
onPrivateMessage: (listener: (msg: IWAutoMessageReceived) => any) => void;
|
|
17
|
+
onMessageReceived: (listener: (msg: IWAutoMessageReceived) => any) => void;
|
|
18
|
+
onGroupMessageReceived: (listener: (msg: IWAutoMessageReceived) => any) => void;
|
|
19
|
+
onPrivateMessageReceived: (listener: (msg: IWAutoMessageReceived) => any) => void;
|
|
20
|
+
onMessageSent: (listener: (msg: IWAutoMessageSent) => any) => void;
|
|
21
|
+
onGroupMessageSent: (listener: (msg: IWAutoMessageSent) => any) => void;
|
|
22
|
+
onPrivateMessageSent: (listener: (msg: IWAutoMessageSent) => any) => void;
|
|
23
|
+
onStoryReceived: (listener: (msg: IWAutoMessageReceived) => any) => void;
|
|
24
|
+
onStorySent: (listener: (msg: IWAutoMessageSent) => any) => void;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=auto-wa-event.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auto-wa-event.d.ts","sourceRoot":"","sources":["../../src/WhatsApp/auto-wa-event.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAEzF,MAAM,CAAC,OAAO,OAAO,WAAW;IAC9B,OAAO,CAAC,QAAQ,CAAwB;gBAE5B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC;IAI3C,WAAW,aAAc,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,KAAK,GAAG,UAEpF;IAEF,WAAW,aAAc,CAAC,SAAS,EAAE,MAAM,KAAK,GAAG,UAEjD;IAEF,cAAc,aAAc,CAAC,SAAS,EAAE,MAAM,KAAK,GAAG,UAEpD;IAEF,YAAY,aAAc,CAAC,SAAS,EAAE,MAAM,KAAK,GAAG,UAElD;IAEF,eAAe,aAAc,CAAC,IAAI,EAAE,mBAAmB,KAAK,GAAG,UAE7D;IAEF,aAAa,aAAc,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,GAAG,UAEjE;IAEF,SAAS,aAAc,CAAC,GAAG,EAAE,qBAAqB,KAAK,GAAG,UAExD;IAEF,cAAc,aAAc,CAAC,GAAG,EAAE,qBAAqB,KAAK,GAAG,UAE7D;IAEF,gBAAgB,aAAc,CAAC,GAAG,EAAE,qBAAqB,KAAK,GAAG,UAE/D;IAEF,iBAAiB,aAAc,CAAC,GAAG,EAAE,qBAAqB,KAAK,GAAG,UAEhE;IAEF,sBAAsB,aAAc,CAAC,GAAG,EAAE,qBAAqB,KAAK,GAAG,UAErE;IAEF,wBAAwB,aAAc,CAAC,GAAG,EAAE,qBAAqB,KAAK,GAAG,UAEvE;IAEF,aAAa,aAAc,CAAC,GAAG,EAAE,iBAAiB,KAAK,GAAG,UAExD;IAEF,kBAAkB,aAAc,CAAC,GAAG,EAAE,iBAAiB,KAAK,GAAG,UAE7D;IAEF,oBAAoB,aAAc,CAAC,GAAG,EAAE,iBAAiB,KAAK,GAAG,UAE/D;IAEF,eAAe,aAAc,CAAC,GAAG,EAAE,qBAAqB,KAAK,GAAG,UAE9D;IAEF,WAAW,aAAc,CAAC,GAAG,EAAE,iBAAiB,KAAK,GAAG,UAEtD;CACH"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const Defaults_1 = require("../Defaults");
|
|
4
|
+
class AutoWAEvent {
|
|
5
|
+
constructor(callback) {
|
|
6
|
+
this.onQRUpdated = (listener) => {
|
|
7
|
+
this.callback.set(Defaults_1.CALLBACK_KEY.ON_QR, listener);
|
|
8
|
+
};
|
|
9
|
+
this.onConnected = (listener) => {
|
|
10
|
+
this.callback.set(Defaults_1.CALLBACK_KEY.ON_CONNECTED, listener);
|
|
11
|
+
};
|
|
12
|
+
this.onDisconnected = (listener) => {
|
|
13
|
+
this.callback.set(Defaults_1.CALLBACK_KEY.ON_DISCONNECTED, listener);
|
|
14
|
+
};
|
|
15
|
+
this.onConnecting = (listener) => {
|
|
16
|
+
this.callback.set(Defaults_1.CALLBACK_KEY.ON_CONNECTING, listener);
|
|
17
|
+
};
|
|
18
|
+
this.onMessageUpdate = (listener) => {
|
|
19
|
+
this.callback.set(Defaults_1.CALLBACK_KEY.ON_MESSAGE_UPDATED, listener);
|
|
20
|
+
};
|
|
21
|
+
this.onPairingCode = (listener) => {
|
|
22
|
+
this.callback.set(Defaults_1.CALLBACK_KEY.ON_PAIRING_CODE, listener);
|
|
23
|
+
};
|
|
24
|
+
this.onMessage = (listener) => {
|
|
25
|
+
this.callback.set(Defaults_1.CALLBACK_KEY.ON_MESSAGE, listener);
|
|
26
|
+
};
|
|
27
|
+
this.onGroupMessage = (listener) => {
|
|
28
|
+
this.callback.set(Defaults_1.CALLBACK_KEY.ON_GROUP_MESSAGE, listener);
|
|
29
|
+
};
|
|
30
|
+
this.onPrivateMessage = (listener) => {
|
|
31
|
+
this.callback.set(Defaults_1.CALLBACK_KEY.ON_PRIVATE_MESSAGE, listener);
|
|
32
|
+
};
|
|
33
|
+
this.onMessageReceived = (listener) => {
|
|
34
|
+
this.callback.set(Defaults_1.CALLBACK_KEY.ON_MESSAGE_RECEIVED, listener);
|
|
35
|
+
};
|
|
36
|
+
this.onGroupMessageReceived = (listener) => {
|
|
37
|
+
this.callback.set(Defaults_1.CALLBACK_KEY.ON_GROUP_MESSAGE_RECEIVED, listener);
|
|
38
|
+
};
|
|
39
|
+
this.onPrivateMessageReceived = (listener) => {
|
|
40
|
+
this.callback.set(Defaults_1.CALLBACK_KEY.ON_PRIVATE_MESSAGE_RECEIVED, listener);
|
|
41
|
+
};
|
|
42
|
+
this.onMessageSent = (listener) => {
|
|
43
|
+
this.callback.set(Defaults_1.CALLBACK_KEY.ON_MESSAGE_SENT, listener);
|
|
44
|
+
};
|
|
45
|
+
this.onGroupMessageSent = (listener) => {
|
|
46
|
+
this.callback.set(Defaults_1.CALLBACK_KEY.ON_GROUP_MESSAGE_SENT, listener);
|
|
47
|
+
};
|
|
48
|
+
this.onPrivateMessageSent = (listener) => {
|
|
49
|
+
this.callback.set(Defaults_1.CALLBACK_KEY.ON_PRIVATE_MESSAGE_SENT, listener);
|
|
50
|
+
};
|
|
51
|
+
this.onStoryReceived = (listener) => {
|
|
52
|
+
this.callback.set(Defaults_1.CALLBACK_KEY.ON_STORY_RECEIVED, listener);
|
|
53
|
+
};
|
|
54
|
+
this.onStorySent = (listener) => {
|
|
55
|
+
this.callback.set(Defaults_1.CALLBACK_KEY.ON_STORY_SENT, listener);
|
|
56
|
+
};
|
|
57
|
+
this.callback = callback;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.default = AutoWAEvent;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AutoWA } from "./AutoWA";
|
|
2
|
+
export declare class AutoWAManager {
|
|
3
|
+
private sessions;
|
|
4
|
+
addSessions(autoWAs: AutoWA[]): void;
|
|
5
|
+
addSession(autoWA: AutoWA): void;
|
|
6
|
+
isSessionExist(sessionId: string): boolean;
|
|
7
|
+
startSessions(): Promise<void>;
|
|
8
|
+
deleteSession(sessionId: string): Promise<void>;
|
|
9
|
+
getSessions(): string[];
|
|
10
|
+
getSession(sessionId: string): AutoWA;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=auto-wa-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auto-wa-manager.d.ts","sourceRoot":"","sources":["../../src/WhatsApp/auto-wa-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAGnC,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAsB;IAE/B,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE;IAM7B,UAAU,CAAC,MAAM,EAAE,MAAM;IAIzB,cAAc,CAAC,SAAS,EAAE,MAAM;IAW1B,aAAa;IASb,aAAa,CAAC,SAAS,EAAE,MAAM;IAarC,WAAW;IAIX,UAAU,CAAC,SAAS,EAAE,MAAM;CAGpC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.AutoWAManager = void 0;
|
|
16
|
+
const path_1 = __importDefault(require("path"));
|
|
17
|
+
const Defaults_1 = require("../Defaults");
|
|
18
|
+
const auto_wa_1 = require("./auto-wa");
|
|
19
|
+
const fs_1 = __importDefault(require("fs"));
|
|
20
|
+
class AutoWAManager {
|
|
21
|
+
addSessions(autoWAs) {
|
|
22
|
+
for (const autoWA of autoWAs) {
|
|
23
|
+
this.addSession(autoWA);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
addSession(autoWA) {
|
|
27
|
+
this.sessions.set(autoWA.sessionId, autoWA);
|
|
28
|
+
}
|
|
29
|
+
isSessionExist(sessionId) {
|
|
30
|
+
if (fs_1.default.existsSync(path_1.default.resolve(Defaults_1.CREDENTIALS.DIR_NAME)) &&
|
|
31
|
+
fs_1.default.existsSync(path_1.default.resolve(Defaults_1.CREDENTIALS.DIR_NAME, sessionId + Defaults_1.CREDENTIALS.PREFIX)) &&
|
|
32
|
+
fs_1.default.readdirSync(path_1.default.resolve(Defaults_1.CREDENTIALS.DIR_NAME, sessionId + Defaults_1.CREDENTIALS.PREFIX)).length) {
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
startSessions() {
|
|
38
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
39
|
+
for (const session of this.getSessions()) {
|
|
40
|
+
const { sessionId, options } = this.getSession(session);
|
|
41
|
+
const autoWA = new auto_wa_1.AutoWA(sessionId, options, this);
|
|
42
|
+
yield autoWA.initialize();
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
deleteSession(sessionId) {
|
|
47
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
48
|
+
const session = this.getSession(sessionId);
|
|
49
|
+
try {
|
|
50
|
+
yield (session === null || session === void 0 ? void 0 : session.logout());
|
|
51
|
+
}
|
|
52
|
+
catch (error) { }
|
|
53
|
+
session === null || session === void 0 ? void 0 : session.end();
|
|
54
|
+
this.sessions.delete(sessionId);
|
|
55
|
+
const dir = path_1.default.resolve(Defaults_1.CREDENTIALS.DIR_NAME, sessionId + Defaults_1.CREDENTIALS.PREFIX);
|
|
56
|
+
if (fs_1.default.existsSync(dir)) {
|
|
57
|
+
fs_1.default.rmSync(dir, { force: true, recursive: true });
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
getSessions() {
|
|
62
|
+
return Array.from(this.sessions.keys());
|
|
63
|
+
}
|
|
64
|
+
getSession(sessionId) {
|
|
65
|
+
return this.sessions.get(sessionId);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
exports.AutoWAManager = AutoWAManager;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { proto } from "@whiskeysockets/baileys";
|
|
2
|
+
import { IWAutoSendMedia, IWAutoSendMessage, IWAutoSendRead, IWAutoSendTyping, IWAutoSessionConfig } from "../Types";
|
|
3
|
+
import AutoWAEvent from "./auto-wa-event";
|
|
4
|
+
import { AutoWAManager } from "./auto-wa-manager";
|
|
5
|
+
import { IStickerOptions } from "wa-sticker-formatter";
|
|
6
|
+
export declare class AutoWA {
|
|
7
|
+
private logger;
|
|
8
|
+
private callback;
|
|
9
|
+
private retryCount;
|
|
10
|
+
private sock;
|
|
11
|
+
sessionId: string;
|
|
12
|
+
options: IWAutoSessionConfig;
|
|
13
|
+
event: AutoWAEvent;
|
|
14
|
+
private myManager?;
|
|
15
|
+
constructor(sessionId: string, options?: IWAutoSessionConfig, manager?: AutoWAManager);
|
|
16
|
+
initialize(): Promise<void>;
|
|
17
|
+
private startWhatsApp;
|
|
18
|
+
private startSocket;
|
|
19
|
+
private setupWASocket;
|
|
20
|
+
logout(): Promise<void>;
|
|
21
|
+
end(): void;
|
|
22
|
+
isExist({ to, isGroup }: IWAutoSendMessage): Promise<boolean>;
|
|
23
|
+
private downloadMedia;
|
|
24
|
+
private validateReceiver;
|
|
25
|
+
sendTextMessage({ to, text, isGroup, ...props }: IWAutoSendMessage): Promise<proto.WebMessageInfo | undefined>;
|
|
26
|
+
sendImage({ to, text, isGroup, media, ...props }: IWAutoSendMedia): Promise<proto.WebMessageInfo | undefined>;
|
|
27
|
+
sendVideo({ to, text, isGroup, media, ...props }: IWAutoSendMedia): Promise<proto.WebMessageInfo | undefined>;
|
|
28
|
+
sendDocument({ to, text, isGroup, media, filename, ...props }: IWAutoSendMedia & {
|
|
29
|
+
filename: string;
|
|
30
|
+
}): Promise<proto.WebMessageInfo | undefined>;
|
|
31
|
+
sendVoiceNote({ to, isGroup, media, ...props }: Omit<IWAutoSendMedia, "text">): Promise<proto.WebMessageInfo | undefined>;
|
|
32
|
+
sendSticker({ to, isGroup, media, pack, author, type, categories, quality, ...props }: IWAutoSendMedia & IStickerOptions): Promise<proto.WebMessageInfo | undefined>;
|
|
33
|
+
sendTyping({ to, duration, isGroup }: IWAutoSendTyping): Promise<void>;
|
|
34
|
+
readMessage({ key }: IWAutoSendRead): Promise<void>;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=auto-wa.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auto-wa.d.ts","sourceRoot":"","sources":["../../src/WhatsApp/auto-wa.ts"],"names":[],"mappings":"AAGA,OAAqB,EAOnB,KAAK,EAEN,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAGL,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EAGpB,MAAM,UAAU,CAAC;AAOlB,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAgB,EAAE,eAAe,EAAgB,MAAM,sBAAsB,CAAC;AAM9E,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAwB;IACxC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,IAAI,CAAW;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,mBAAmB,CAAC;IAC7B,KAAK,EAAE,WAAW,CAAC;IAE1B,OAAO,CAAC,SAAS,CAAC,CAAgB;gBAGhC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,mBAAuC,EAChD,OAAO,CAAC,EAAE,aAAa;IAWZ,UAAU;YAIT,aAAa;YAoBb,WAAW;YAmBX,aAAa;IAmNd,MAAM;IAIZ,GAAG;IAIG,OAAO,CAAC,EAAE,EAAE,EAAE,OAAe,EAAE,EAAE,iBAAiB;YAiBjD,aAAa;YAOb,gBAAgB;IAqBjB,eAAe,CAAC,EAC3B,EAAE,EACF,IAAS,EACT,OAAe,EACf,GAAG,KAAK,EACT,EAAE,iBAAiB,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,GAAG,SAAS,CAAC;IAkBnD,SAAS,CAAC,EACrB,EAAE,EACF,IAAS,EACT,OAAe,EACf,KAAK,EACL,GAAG,KAAK,EACT,EAAE,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,GAAG,SAAS,CAAC;IA0BjD,SAAS,CAAC,EACrB,EAAE,EACF,IAAS,EACT,OAAe,EACf,KAAK,EACL,GAAG,KAAK,EACT,EAAE,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,GAAG,SAAS,CAAC;IA0BjD,YAAY,CAAC,EACxB,EAAE,EACF,IAAS,EACT,OAAe,EACf,KAAK,EACL,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,eAAe,GAAG;QACnB,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,GAAG,SAAS,CAAC;IA+BhC,aAAa,CAAC,EACzB,EAAE,EACF,OAAe,EACf,KAAK,EACL,GAAG,KAAK,EACT,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,GAAG,SAAS,CAAC;IA0B/D,WAAW,CAAC,EACvB,EAAE,EACF,OAAO,EACP,KAAK,EACL,IAAqB,EACrB,MAAmB,EACnB,IAA2B,EAC3B,UAAmB,EACnB,OAAa,EACb,GAAG,KAAK,EACT,EAAE,eAAe,GAAG,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,GAAG,SAAS,CAAC;IAsBnE,UAAU,CAAC,EAAE,EAAE,EAAE,QAAe,EAAE,OAAe,EAAE,EAAE,gBAAgB;IAYrE,WAAW,CAAC,EAAE,GAAG,EAAE,EAAE,cAAc;CAGjD"}
|