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.
Files changed (87) hide show
  1. package/README.md +37 -0
  2. package/dist/Defaults/index.d.ts +32 -0
  3. package/dist/Defaults/index.d.ts.map +1 -0
  4. package/dist/Defaults/index.js +37 -0
  5. package/dist/Error/index.d.ts +9 -0
  6. package/dist/Error/index.d.ts.map +1 -0
  7. package/dist/Error/index.js +25 -0
  8. package/dist/Logger/index.d.ts +8 -0
  9. package/dist/Logger/index.d.ts.map +1 -0
  10. package/dist/Logger/index.js +17 -0
  11. package/dist/Messaging/index.d.ts +33 -0
  12. package/dist/Messaging/index.d.ts.map +1 -0
  13. package/dist/Messaging/index.js +245 -0
  14. package/dist/Socket/index.d.ts +29 -0
  15. package/dist/Socket/index.d.ts.map +1 -0
  16. package/dist/Socket/index.js +374 -0
  17. package/dist/Types/index.d.ts +89 -0
  18. package/dist/Types/index.d.ts.map +1 -0
  19. package/dist/Types/index.js +2 -0
  20. package/dist/Utils/create-delay.d.ts +2 -0
  21. package/dist/Utils/create-delay.d.ts.map +1 -0
  22. package/dist/Utils/create-delay.js +18 -0
  23. package/dist/Utils/error.d.ts +4 -0
  24. package/dist/Utils/error.d.ts.map +1 -0
  25. package/dist/Utils/error.js +8 -0
  26. package/dist/Utils/helper.d.ts +22 -0
  27. package/dist/Utils/helper.d.ts.map +1 -0
  28. package/dist/Utils/helper.js +129 -0
  29. package/dist/Utils/index.d.ts +3 -0
  30. package/dist/Utils/index.d.ts.map +1 -0
  31. package/dist/Utils/index.js +18 -0
  32. package/dist/Utils/is-exist.d.ts +3 -0
  33. package/dist/Utils/is-exist.d.ts.map +1 -0
  34. package/dist/Utils/is-exist.js +38 -0
  35. package/dist/Utils/message-status.d.ts +4 -0
  36. package/dist/Utils/message-status.d.ts.map +1 -0
  37. package/dist/Utils/message-status.js +18 -0
  38. package/dist/Utils/phone-to-jid.d.ts +5 -0
  39. package/dist/Utils/phone-to-jid.d.ts.map +1 -0
  40. package/dist/Utils/phone-to-jid.js +30 -0
  41. package/dist/Utils/save-media.d.ts +5 -0
  42. package/dist/Utils/save-media.d.ts.map +1 -0
  43. package/dist/Utils/save-media.js +49 -0
  44. package/dist/Utils/set-credentials-dir.d.ts +3 -0
  45. package/dist/Utils/set-credentials-dir.d.ts.map +1 -0
  46. package/dist/Utils/set-credentials-dir.js +14 -0
  47. package/dist/Utils/tools.d.ts +12 -0
  48. package/dist/Utils/tools.d.ts.map +1 -0
  49. package/dist/Utils/tools.js +34 -0
  50. package/dist/WhatsApp/AutoWA.d.ts +38 -0
  51. package/dist/WhatsApp/AutoWA.d.ts.map +1 -0
  52. package/dist/WhatsApp/AutoWA.js +545 -0
  53. package/dist/WhatsApp/AutoWAEvent.d.ts +28 -0
  54. package/dist/WhatsApp/AutoWAEvent.d.ts.map +1 -0
  55. package/dist/WhatsApp/AutoWAEvent.js +66 -0
  56. package/dist/WhatsApp/AutoWAManager.d.ts +12 -0
  57. package/dist/WhatsApp/AutoWAManager.d.ts.map +1 -0
  58. package/dist/WhatsApp/AutoWAManager.js +68 -0
  59. package/dist/WhatsApp/action.d.ts +1 -0
  60. package/dist/WhatsApp/action.d.ts.map +1 -0
  61. package/dist/WhatsApp/action.js +272 -0
  62. package/dist/WhatsApp/auto-wa-event.d.ts +26 -0
  63. package/dist/WhatsApp/auto-wa-event.d.ts.map +1 -0
  64. package/dist/WhatsApp/auto-wa-event.js +60 -0
  65. package/dist/WhatsApp/auto-wa-manager.d.ts +12 -0
  66. package/dist/WhatsApp/auto-wa-manager.d.ts.map +1 -0
  67. package/dist/WhatsApp/auto-wa-manager.js +68 -0
  68. package/dist/WhatsApp/auto-wa.d.ts +36 -0
  69. package/dist/WhatsApp/auto-wa.d.ts.map +1 -0
  70. package/dist/WhatsApp/auto-wa.js +497 -0
  71. package/dist/WhatsApp/event.d.ts +24 -0
  72. package/dist/WhatsApp/event.d.ts.map +1 -0
  73. package/dist/WhatsApp/event.js +54 -0
  74. package/dist/WhatsApp/index.d.ts +3 -0
  75. package/dist/WhatsApp/index.d.ts.map +1 -0
  76. package/dist/WhatsApp/index.js +18 -0
  77. package/dist/WhatsApp/multi-auto-wa.d.ts +14 -0
  78. package/dist/WhatsApp/multi-auto-wa.d.ts.map +1 -0
  79. package/dist/WhatsApp/multi-auto-wa.js +86 -0
  80. package/dist/WhatsApp/setup.d.ts +1 -0
  81. package/dist/WhatsApp/setup.d.ts.map +1 -0
  82. package/dist/WhatsApp/setup.js +221 -0
  83. package/dist/WhatsApp/undefined.jpeg +0 -0
  84. package/dist/index.d.ts +5 -0
  85. package/dist/index.d.ts.map +1 -0
  86. package/dist/index.js +20 -0
  87. 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"}