whatsauto.js 1.1.5 → 1.2.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 CHANGED
@@ -46,14 +46,11 @@ const autoWA = new AutoWA("session_name");
46
46
  // or, using pair code (experimental)
47
47
  const autoWA = new AutoWA("session_name", { phoneNumber: "628xxxx" });
48
48
 
49
- // listen to some event
50
- const ev = autoWA.event;
51
-
52
- ev.onConnected(() => {
49
+ autoWA.on("connected", () => {
53
50
  console.log("Client Ready!");
54
51
  });
55
52
 
56
- ev.onMessage(async (msg) => {
53
+ autoWA.on("message", async (msg) => {
57
54
  console.log(msg.text);
58
55
  });
59
56
 
@@ -83,7 +80,7 @@ await autoWA.initialize();
83
80
  ### IWAutoMessage APIs
84
81
 
85
82
  ```ts
86
- ev.onMessageReceived(async (msg) => {
83
+ autoWA.on("message-received", async (msg) => {
87
84
  // read this message
88
85
  await msg.read();
89
86
 
@@ -1,37 +1,38 @@
1
+ import { GroupMemberUpdate, IWAutoMessage, WAutoMessageUpdated } from "../Types";
1
2
  export declare abstract class CREDENTIALS {
2
3
  static DIR_NAME: string;
3
4
  static PREFIX: string;
4
5
  }
5
- export declare enum CALLBACK_KEY {
6
- ON_MESSAGE = "message",
7
- ON_GROUP_MESSAGE = "group-message",
8
- ON_PRIVATE_MESSAGE = "private-message",
9
- ON_MESSAGE_RECEIVED = "message-received",
10
- ON_GROUP_MESSAGE_RECEIVED = "group-message-received",
11
- ON_PRIVATE_MESSAGE_RECEIVED = "private-message-received",
12
- ON_MESSAGE_SENT = "message-sent",
13
- ON_GROUP_MESSAGE_SENT = "group-message-sent",
14
- ON_PRIVATE_MESSAGE_SENT = "private-message-sent",
15
- ON_STORY = "story",
16
- ON_STORY_RECEIVED = "story-received",
17
- ON_STORY_SENT = "story-sent",
18
- ON_REACTION = "reaction",
19
- ON_REACTION_RECEIVED = "reaction-received",
20
- ON_REACTION_SENT = "reaction-sent",
21
- ON_GROUP_REACTION = "group-reaction",
22
- ON_GROUP_REACTION_RECEIVED = "group-reaction-received",
23
- ON_GROUP_REACTION_SENT = "group-reaction-sent",
24
- ON_PRIVATE_REACTION = "private-reaction",
25
- ON_PRIVATE_REACTION_RECEIVED = "private-reaction-received",
26
- ON_PRIVATE_REACTION_SENT = "private-reaction-sent",
27
- ON_QR = "qr",
28
- ON_CONNECTED = "connected",
29
- ON_DISCONNECTED = "disconnected",
30
- ON_CONNECTING = "connecting",
31
- ON_MESSAGE_UPDATED = "message-updated",
32
- ON_PAIRING_CODE = "pairing-code",
33
- ON_GROUP_MEMBER_UPDATE = "on-group-member-update"
34
- }
6
+ export type AutoWAEvents = {
7
+ connecting: [];
8
+ qr: [string];
9
+ "pairing-code": [string];
10
+ connected: [];
11
+ disconnected: [];
12
+ message: [IWAutoMessage];
13
+ "group-message": [IWAutoMessage];
14
+ "private-message": [IWAutoMessage];
15
+ "message-received": [IWAutoMessage];
16
+ "group-message-received": [IWAutoMessage];
17
+ "private-message-received": [IWAutoMessage];
18
+ "message-sent": [IWAutoMessage];
19
+ "group-message-sent": [IWAutoMessage];
20
+ "private-message-sent": [IWAutoMessage];
21
+ story: [IWAutoMessage];
22
+ "story-received": [IWAutoMessage];
23
+ "story-sent": [IWAutoMessage];
24
+ reaction: [IWAutoMessage];
25
+ "reaction-received": [IWAutoMessage];
26
+ "reaction-sent": [IWAutoMessage];
27
+ "group-reaction": [IWAutoMessage];
28
+ "group-reaction-received": [IWAutoMessage];
29
+ "group-reaction-sent": [IWAutoMessage];
30
+ "private-reaction": [IWAutoMessage];
31
+ "private-reaction-received": [IWAutoMessage];
32
+ "private-reaction-sent": [IWAutoMessage];
33
+ "message-updated": [WAutoMessageUpdated];
34
+ "group-member-update": [GroupMemberUpdate];
35
+ };
35
36
  export declare abstract class Messages {
36
37
  static sessionAlreadyExist: (sessionId: string) => string;
37
38
  static sessionNotFound: (sessionId: string) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Defaults/index.ts"],"names":[],"mappings":"AAAA,8BAAsB,WAAW;IAC/B,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAc;IACrC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAY;CAClC;AAED,oBAAY,YAAY;IACtB,UAAU,YAAY;IACtB,gBAAgB,kBAAkB;IAClC,kBAAkB,oBAAoB;IACtC,mBAAmB,qBAAqB;IACxC,yBAAyB,2BAA2B;IACpD,2BAA2B,6BAA6B;IACxD,eAAe,iBAAiB;IAChC,qBAAqB,uBAAuB;IAC5C,uBAAuB,yBAAyB;IAChD,QAAQ,UAAU;IAClB,iBAAiB,mBAAmB;IACpC,aAAa,eAAe;IAC5B,WAAW,aAAa;IACxB,oBAAoB,sBAAsB;IAC1C,gBAAgB,kBAAkB;IAClC,iBAAiB,mBAAmB;IACpC,0BAA0B,4BAA4B;IACtD,sBAAsB,wBAAwB;IAC9C,mBAAmB,qBAAqB;IACxC,4BAA4B,8BAA8B;IAC1D,wBAAwB,0BAA0B;IAClD,KAAK,OAAO;IACZ,YAAY,cAAc;IAC1B,eAAe,iBAAiB;IAChC,aAAa,eAAe;IAC5B,kBAAkB,oBAAoB;IACtC,eAAe,iBAAiB;IAEhC,sBAAsB,2BAA2B;CAClD;AAED,8BAAsB,QAAQ;IAC5B,MAAM,CAAC,mBAAmB,cAAe,MAAM,KAAG,MAAM,CACgB;IAExE,MAAM,CAAC,eAAe,cAAe,MAAM,KAAG,MAAM,CACN;IAE9C,MAAM,CAAC,kBAAkB,UAAW,MAAM,EAAE,GAAG,MAAM,YAGpC;IAEjB,MAAM,CAAC,kBAAkB,UAAW,MAAM,EAAE,GAAG,MAAM,YAGnC;CACnB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Defaults/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAEjF,8BAAsB,WAAW;IAC/B,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAc;IACrC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAY;CAClC;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,UAAU,EAAE,EAAE,CAAC;IACf,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IACb,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC;IACzB,SAAS,EAAE,EAAE,CAAC;IACd,YAAY,EAAE,EAAE,CAAC;IAEjB,OAAO,EAAE,CAAC,aAAa,CAAC,CAAC;IACzB,eAAe,EAAE,CAAC,aAAa,CAAC,CAAC;IACjC,iBAAiB,EAAE,CAAC,aAAa,CAAC,CAAC;IACnC,kBAAkB,EAAE,CAAC,aAAa,CAAC,CAAC;IACpC,wBAAwB,EAAE,CAAC,aAAa,CAAC,CAAC;IAC1C,0BAA0B,EAAE,CAAC,aAAa,CAAC,CAAC;IAC5C,cAAc,EAAE,CAAC,aAAa,CAAC,CAAC;IAChC,oBAAoB,EAAE,CAAC,aAAa,CAAC,CAAC;IACtC,sBAAsB,EAAE,CAAC,aAAa,CAAC,CAAC;IACxC,KAAK,EAAE,CAAC,aAAa,CAAC,CAAC;IACvB,gBAAgB,EAAE,CAAC,aAAa,CAAC,CAAC;IAClC,YAAY,EAAE,CAAC,aAAa,CAAC,CAAC;IAC9B,QAAQ,EAAE,CAAC,aAAa,CAAC,CAAC;IAC1B,mBAAmB,EAAE,CAAC,aAAa,CAAC,CAAC;IACrC,eAAe,EAAE,CAAC,aAAa,CAAC,CAAC;IACjC,gBAAgB,EAAE,CAAC,aAAa,CAAC,CAAC;IAClC,yBAAyB,EAAE,CAAC,aAAa,CAAC,CAAC;IAC3C,qBAAqB,EAAE,CAAC,aAAa,CAAC,CAAC;IACvC,kBAAkB,EAAE,CAAC,aAAa,CAAC,CAAC;IACpC,2BAA2B,EAAE,CAAC,aAAa,CAAC,CAAC;IAC7C,uBAAuB,EAAE,CAAC,aAAa,CAAC,CAAC;IAEzC,iBAAiB,EAAE,CAAC,mBAAmB,CAAC,CAAC;IACzC,qBAAqB,EAAE,CAAC,iBAAiB,CAAC,CAAC;CAC5C,CAAC;AAEF,8BAAsB,QAAQ;IAC5B,MAAM,CAAC,mBAAmB,cAAe,MAAM,KAAG,MAAM,CACgB;IAExE,MAAM,CAAC,eAAe,cAAe,MAAM,KAAG,MAAM,CACN;IAE9C,MAAM,CAAC,kBAAkB,UAAW,MAAM,EAAE,GAAG,MAAM,YAGpC;IAEjB,MAAM,CAAC,kBAAkB,UAAW,MAAM,EAAE,GAAG,MAAM,YAGnC;CACnB"}
@@ -1,42 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Messages = exports.CALLBACK_KEY = exports.CREDENTIALS = void 0;
3
+ exports.Messages = exports.CREDENTIALS = void 0;
4
4
  class CREDENTIALS {
5
5
  }
6
6
  exports.CREDENTIALS = CREDENTIALS;
7
7
  CREDENTIALS.DIR_NAME = "wa_creds";
8
8
  CREDENTIALS.PREFIX = "_creds";
9
- var CALLBACK_KEY;
10
- (function (CALLBACK_KEY) {
11
- CALLBACK_KEY["ON_MESSAGE"] = "message";
12
- CALLBACK_KEY["ON_GROUP_MESSAGE"] = "group-message";
13
- CALLBACK_KEY["ON_PRIVATE_MESSAGE"] = "private-message";
14
- CALLBACK_KEY["ON_MESSAGE_RECEIVED"] = "message-received";
15
- CALLBACK_KEY["ON_GROUP_MESSAGE_RECEIVED"] = "group-message-received";
16
- CALLBACK_KEY["ON_PRIVATE_MESSAGE_RECEIVED"] = "private-message-received";
17
- CALLBACK_KEY["ON_MESSAGE_SENT"] = "message-sent";
18
- CALLBACK_KEY["ON_GROUP_MESSAGE_SENT"] = "group-message-sent";
19
- CALLBACK_KEY["ON_PRIVATE_MESSAGE_SENT"] = "private-message-sent";
20
- CALLBACK_KEY["ON_STORY"] = "story";
21
- CALLBACK_KEY["ON_STORY_RECEIVED"] = "story-received";
22
- CALLBACK_KEY["ON_STORY_SENT"] = "story-sent";
23
- CALLBACK_KEY["ON_REACTION"] = "reaction";
24
- CALLBACK_KEY["ON_REACTION_RECEIVED"] = "reaction-received";
25
- CALLBACK_KEY["ON_REACTION_SENT"] = "reaction-sent";
26
- CALLBACK_KEY["ON_GROUP_REACTION"] = "group-reaction";
27
- CALLBACK_KEY["ON_GROUP_REACTION_RECEIVED"] = "group-reaction-received";
28
- CALLBACK_KEY["ON_GROUP_REACTION_SENT"] = "group-reaction-sent";
29
- CALLBACK_KEY["ON_PRIVATE_REACTION"] = "private-reaction";
30
- CALLBACK_KEY["ON_PRIVATE_REACTION_RECEIVED"] = "private-reaction-received";
31
- CALLBACK_KEY["ON_PRIVATE_REACTION_SENT"] = "private-reaction-sent";
32
- CALLBACK_KEY["ON_QR"] = "qr";
33
- CALLBACK_KEY["ON_CONNECTED"] = "connected";
34
- CALLBACK_KEY["ON_DISCONNECTED"] = "disconnected";
35
- CALLBACK_KEY["ON_CONNECTING"] = "connecting";
36
- CALLBACK_KEY["ON_MESSAGE_UPDATED"] = "message-updated";
37
- CALLBACK_KEY["ON_PAIRING_CODE"] = "pairing-code";
38
- CALLBACK_KEY["ON_GROUP_MEMBER_UPDATE"] = "on-group-member-update";
39
- })(CALLBACK_KEY || (exports.CALLBACK_KEY = CALLBACK_KEY = {}));
40
9
  class Messages {
41
10
  }
42
11
  exports.Messages = Messages;
@@ -18,4 +18,7 @@ export declare const to: {
18
18
  export declare const isSessionExist: (sessionId: string) => boolean;
19
19
  export declare const setCredentialsDir: (dirname: string) => void;
20
20
  export declare const getBuffer: (url: string) => Promise<Buffer>;
21
+ export declare function getRandomFromArrays<T extends unknown[][]>(...arrays: T): {
22
+ [K in keyof T]: T[K] extends (infer U)[] ? U : never;
23
+ };
21
24
  //# sourceMappingURL=helper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../src/Utils/helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAOhF,eAAO,MAAM,gBAAgB,QAAS,aAAa,KAAG,MAwBrD,CAAC;AAEF,eAAO,MAAM,gCAAgC,SACrC,KAAK,CAAC,cAAc,CAAC,MAAM,KAChC,mBAAmB,CAAC,eAAe,CAerC,CAAC;AAEF,eAAO,MAAM,UAAU,gCAIpB,gBAAgB,KAAG,MAerB,CAAC;AAEF,eAAO,MAAM,WAAW,cAAoB,MAAM,qBAMjD,CAAC;AAEF,eAAO,MAAM,EAAE;mBACE,GAAG,KAAG,OAAO;sBAGV,GAAG,KAAG,OAAO;iBAGlB,GAAG,KAAG,OAAO;qBAGT,GAAG,KAAG,OAAO;kBAGhB,GAAG,KAAG,OAAO;CAG5B,CAAC;AAEF,eAAO,MAAM,EAAE;kBACC,GAAG,KAAG,MAAM;qBAIT,GAAG,iBAAgB,GAAG,KAAe,MAAM,GAAG,MAAM,GAAG,SAAS;CAIlF,CAAC;AAEF,eAAO,MAAM,cAAc,cAAwB,MAAM,YASxD,CAAC;AAEF,eAAO,MAAM,iBAAiB,YAAa,MAAM,SAOhD,CAAC;AAEF,eAAO,MAAM,SAAS,QAAe,MAAM,KAAG,OAAO,CAAC,MAAM,CAS3D,CAAC"}
1
+ {"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../src/Utils/helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAOhF,eAAO,MAAM,gBAAgB,QAAS,aAAa,KAAG,MAwBrD,CAAC;AAEF,eAAO,MAAM,gCAAgC,SACrC,KAAK,CAAC,cAAc,CAAC,MAAM,KAChC,mBAAmB,CAAC,eAAe,CAerC,CAAC;AAEF,eAAO,MAAM,UAAU,gCAIpB,gBAAgB,KAAG,MAerB,CAAC;AAEF,eAAO,MAAM,WAAW,cAAoB,MAAM,qBAMjD,CAAC;AAEF,eAAO,MAAM,EAAE;mBACE,GAAG,KAAG,OAAO;sBAGV,GAAG,KAAG,OAAO;iBAGlB,GAAG,KAAG,OAAO;qBAGT,GAAG,KAAG,OAAO;kBAGhB,GAAG,KAAG,OAAO;CAG5B,CAAC;AAEF,eAAO,MAAM,EAAE;kBACC,GAAG,KAAG,MAAM;qBAIT,GAAG,iBAAgB,GAAG,KAAe,MAAM,GAAG,MAAM,GAAG,SAAS;CAIlF,CAAC;AAEF,eAAO,MAAM,cAAc,cAAwB,MAAM,YASxD,CAAC;AAEF,eAAO,MAAM,iBAAiB,YAAa,MAAM,SAOhD,CAAC;AAEF,eAAO,MAAM,SAAS,QAAe,MAAM,KAAG,OAAO,CAAC,MAAM,CAS3D,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,EACvD,GAAG,MAAM,EAAE,CAAC,GACX;KACA,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK;CACrD,CAKA"}
@@ -46,6 +46,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
46
46
  };
47
47
  Object.defineProperty(exports, "__esModule", { value: true });
48
48
  exports.getBuffer = exports.setCredentialsDir = exports.isSessionExist = exports.to = exports.is = exports.createDelay = exports.phoneToJid = exports.parseMessageStatusCodeToReadable = exports.getMediaMimeType = void 0;
49
+ exports.getRandomFromArrays = getRandomFromArrays;
49
50
  const baileys_1 = require("@whiskeysockets/baileys");
50
51
  const Error_1 = require("../Error");
51
52
  const fs = __importStar(require("fs"));
@@ -165,3 +166,9 @@ const getBuffer = (url) => __awaiter(void 0, void 0, void 0, function* () {
165
166
  return null;
166
167
  });
167
168
  exports.getBuffer = getBuffer;
169
+ function getRandomFromArrays(...arrays) {
170
+ return arrays.map((arr) => {
171
+ const randomIndex = Math.floor(Math.random() * arr.length);
172
+ return arr[randomIndex];
173
+ });
174
+ }
@@ -29,7 +29,7 @@ const makeWebpBuffer = (options) => __awaiter(void 0, void 0, void 0, function*
29
29
  return buffer;
30
30
  const tempDir = (0, path_1.join)((0, os_1.tmpdir)(), `webp_${Math.random().toString(36).slice(2)}`);
31
31
  yield (0, fs_extra_1.ensureDir)(tempDir);
32
- const inputName = (0, path_1.join)(tempDir, typeof media == "string" ? media : getRandomName());
32
+ const inputName = typeof media == "string" ? media : (0, path_1.join)(tempDir, getRandomName());
33
33
  const webpName = (0, path_1.join)(tempDir, getRandomName());
34
34
  const data = JSON.stringify({
35
35
  "sticker-pack-id": (0, exports.generateStickerID)(),
@@ -1,14 +1,14 @@
1
1
  import { WASocket } from "@whiskeysockets/baileys";
2
+ import { AutoWAEvents } from "../Defaults";
2
3
  import { IWAutoSendMessage, IWAutoSendTyping, IWAutoSessionConfig, IWAutoMessage, WAutoGroupMemberActionOptions, IWAutoSendMedia, IWAutoPhoneToJid, IWAutoForwardMessage, IWAutoSendSticker, IStickerOptions } from "../Types";
3
4
  import AutoWAEvent from "./AutoWAEvent";
4
5
  export declare class AutoWA {
5
6
  private logger;
6
- private callback;
7
7
  private retryCount;
8
8
  sock: WASocket;
9
9
  sessionId: string;
10
10
  options: IWAutoSessionConfig;
11
- event: AutoWAEvent;
11
+ events: AutoWAEvent<AutoWAEvents>;
12
12
  private pairingCode?;
13
13
  defaultStickerProps: IStickerOptions;
14
14
  constructor(sessionId: string, options?: IWAutoSessionConfig);
@@ -59,5 +59,10 @@ export declare class AutoWA {
59
59
  jid: string;
60
60
  content: import("@whiskeysockets/baileys").BinaryNode;
61
61
  }[]>;
62
+ on<K extends keyof AutoWAEvents>(event: K, listener: (...args: AutoWAEvents[K]) => void): void;
63
+ once<K extends keyof AutoWAEvents>(event: K, listener: (...args: AutoWAEvents[K]) => void): void;
64
+ off<K extends keyof AutoWAEvents>(event: K, listener: (...args: AutoWAEvents[K]) => void): void;
65
+ emit<K extends keyof AutoWAEvents>(event: K, ...args: AutoWAEvents[K]): boolean;
66
+ removeAllListeners<K extends keyof AutoWAEvents>(event?: K): void;
62
67
  }
63
68
  //# sourceMappingURL=AutoWA.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AutoWA.d.ts","sourceRoot":"","sources":["../../src/WhatsApp/AutoWA.ts"],"names":[],"mappings":"AAGA,OAAqB,EACnB,QAAQ,EAOT,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAEL,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,EAEb,6BAA6B,EAC7B,eAAe,EACf,gBAAgB,EAEhB,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EAChB,MAAM,UAAU,CAAC;AAQlB,OAAO,WAAW,MAAM,eAAe,CAAC;AAUxC,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAwB;IACxC,OAAO,CAAC,UAAU,CAAS;IACpB,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,mBAAmB,CAAC;IAC7B,KAAK,EAAE,WAAW,CAAC;IAC1B,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,mBAAmB,EAAE,eAAe,CAIlC;gBAEU,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB;IAqB/C,UAAU,CAAC,OAAO,EAAE,OAAO;IAI3B,UAAU;YAKT,aAAa;YAiBb,WAAW;YAwBX,aAAa;IAoVd,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO;IA4BtB,OAAO,CAAC,EAAE,IAAI,EAAE,OAAe,EAAE,EAAE,gBAAgB;YAoBlD,aAAa;YAUb,gBAAgB;IAqBjB,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAS,EAAE,OAAe,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB;IAmBxE,SAAS,CAAC,EACrB,EAAE,EACF,IAAS,EACT,OAAe,EACf,KAAK,EACL,OAAO,EACP,GAAG,KAAK,EACT,EAAE,eAAe;IAoCL,SAAS,CAAC,EACrB,EAAE,EACF,IAAS,EACT,OAAe,EACf,KAAK,EACL,OAAO,EACP,GAAG,KAAK,EACT,EAAE,eAAe;IAoCL,YAAY,CAAC,EACxB,EAAE,EACF,IAAS,EACT,OAAe,EACf,KAAK,EACL,QAAQ,EACR,OAAO,EACP,GAAG,KAAK,EACT,EAAE,eAAe,GAAG;QACnB,QAAQ,EAAE,MAAM,CAAC;KAClB;IAyCY,SAAS,CAAC,EACrB,EAAE,EACF,OAAe,EACf,KAAK,EACL,SAAiB,EACjB,OAAO,EACP,GAAG,KAAK,EACT,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC;IAoCnB,YAAY,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAe,EAAE,SAAS,EAAE,EAAE,iBAAiB;IAexE,UAAU,CAAC,EAAE,EAAE,EAAE,QAAe,EAAE,OAAe,EAAE,EAAE,gBAAgB;IAYrE,aAAa,CAAC,EAAE,EAAE,EAAE,QAAe,EAAE,OAAe,EAAE,EAAE,gBAAgB;IAYxE,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE;IAIjC,WAAW,CAAC,EACvB,EAAE,EACF,OAAO,EACP,OAAO,EACP,KAAK,EACL,OAAO,EACP,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,iBAAiB,GAAG,eAAe;IAqDzB,cAAc,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,OAAe,EAAE,GAAG,KAAK,EAAE,EAAE,oBAAoB;IAkB3E,cAAc,CAAC,MAAM,EAAE,MAAM;;;;IAuB7B,YAAY,CAAC,MAAM,EAAE,MAAM;IAgB3B,gBAAgB,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,6BAA6B;;;wBAjwBhD,yBAAI;;IA4wBxB,qBAAqB,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,6BAA6B;;;wBA5wBrD,yBAAI;;IAuxBxB,kBAAkB,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,6BAA6B;;;wBAvxBlD,yBAAI;;IAkyBxB,iBAAiB,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,6BAA6B;;;wBAlyBjD,yBAAI;;CA4yBtC"}
1
+ {"version":3,"file":"AutoWA.d.ts","sourceRoot":"","sources":["../../src/WhatsApp/AutoWA.ts"],"names":[],"mappings":"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"}
@@ -74,6 +74,7 @@ const P = require("pino")({
74
74
  const qrcode = require("qrcode-terminal");
75
75
  class AutoWA {
76
76
  constructor(sessionId, options) {
77
+ this.events = new AutoWAEvent_1.default();
77
78
  this.defaultStickerProps = {
78
79
  pack: "whatsauto.js",
79
80
  author: "freack21",
@@ -87,9 +88,7 @@ class AutoWA {
87
88
  };
88
89
  this.sessionId = sessionId;
89
90
  this.options = Object.assign(Object.assign({}, defaultOptions), options);
90
- this.callback = new Map();
91
91
  this.retryCount = 0;
92
- this.event = new AutoWAEvent_1.default(this.callback);
93
92
  this.logger = new Logger_1.default(sessionId, this);
94
93
  _1.sessions.set(sessionId, this);
95
94
  this.logger.info("Created!");
@@ -123,12 +122,13 @@ class AutoWA {
123
122
  try {
124
123
  const { version } = yield (0, baileys_1.fetchLatestBaileysVersion)();
125
124
  const { state, saveCreds } = yield (0, baileys_1.useMultiFileAuthState)(path_1.default.resolve(Defaults_1.CREDENTIALS.DIR_NAME, sessionId + Defaults_1.CREDENTIALS.PREFIX));
125
+ const [platform, browser] = (0, helper_1.getRandomFromArrays)([baileys_1.Browsers.macOS, baileys_1.Browsers.ubuntu, baileys_1.Browsers.windows], ["Chrome", "Firefox", "Safari"]);
126
126
  this.sock = (0, baileys_1.default)({
127
127
  version,
128
128
  auth: state,
129
129
  logger: P,
130
130
  markOnlineOnConnect: false,
131
- browser: baileys_1.Browsers.baileys(this.sessionId),
131
+ browser: platform(browser),
132
132
  });
133
133
  return this.setupWASocket(saveCreds);
134
134
  }
@@ -141,41 +141,41 @@ class AutoWA {
141
141
  }
142
142
  setupWASocket(saveCreds) {
143
143
  return __awaiter(this, void 0, void 0, function* () {
144
- var _a;
145
144
  try {
146
145
  if (typeof this.options.phoneNumber == "string" &&
147
146
  !this.options.printQR &&
148
147
  !this.pairingCode &&
149
148
  !this.sock.authState.creds.registered) {
149
+ const phoneNumber = (0, helper_1.phoneToJid)({ from: this.options.phoneNumber, reverse: true });
150
150
  try {
151
- this.pairingCode = yield this.sock.requestPairingCode((0, helper_1.phoneToJid)({ from: this.options.phoneNumber, reverse: true }));
151
+ this.pairingCode = yield this.sock.requestPairingCode(phoneNumber);
152
152
  this.logger.info(`Pairing Code: ${this.pairingCode}`);
153
- (_a = this.callback.get(Defaults_1.CALLBACK_KEY.ON_PAIRING_CODE)) === null || _a === void 0 ? void 0 : _a(this.pairingCode);
153
+ this.events.emit("pairing-code", this.pairingCode);
154
154
  this.retryCount = 0;
155
155
  }
156
156
  catch (error) {
157
- this.logger.warn("Retry connecting for Pairing Code...");
158
- yield (0, helper_1.createDelay)(5000);
159
157
  this.retryCount++;
158
+ this.logger.warn(`Retry get pairing code for ${phoneNumber} (${this.retryCount}x)`);
159
+ yield (0, helper_1.createDelay)(1000);
160
160
  return yield this.startSocket(this.sessionId, this.options);
161
161
  }
162
162
  }
163
163
  this.sock.ev.on("connection.update", (update) => __awaiter(this, void 0, void 0, function* () {
164
- var _a, _b, _c, _d, _e, _f;
164
+ var _a, _b;
165
165
  const { connection, lastDisconnect, qr } = update;
166
166
  if (this.options.printQR && qr) {
167
167
  this.logger.info("QR Updated!");
168
168
  if (this.options.printQR) {
169
169
  qrcode.generate(qr, { small: true });
170
170
  }
171
- (_a = this.callback.get(Defaults_1.CALLBACK_KEY.ON_QR)) === null || _a === void 0 ? void 0 : _a(qr);
171
+ this.events.emit("qr", qr);
172
172
  }
173
173
  if (connection == "connecting") {
174
174
  this.logger.info("Connecting...");
175
- (_b = this.callback.get(Defaults_1.CALLBACK_KEY.ON_CONNECTING)) === null || _b === void 0 ? void 0 : _b();
175
+ this.events.emit("connecting");
176
176
  }
177
177
  if (connection === "close" && !this.pairingCode) {
178
- const code = (_d = (_c = lastDisconnect === null || lastDisconnect === void 0 ? void 0 : lastDisconnect.error) === null || _c === void 0 ? void 0 : _c.output) === null || _d === void 0 ? void 0 : _d.statusCode;
178
+ const code = (_b = (_a = lastDisconnect === null || lastDisconnect === void 0 ? void 0 : lastDisconnect.error) === null || _a === void 0 ? void 0 : _a.output) === null || _b === void 0 ? void 0 : _b.statusCode;
179
179
  let shouldRetry = false;
180
180
  if (code != baileys_1.DisconnectReason.loggedOut && this.retryCount < 10) {
181
181
  shouldRetry = true;
@@ -186,9 +186,9 @@ class AutoWA {
186
186
  return yield this.startSocket(this.sessionId, this.options);
187
187
  }
188
188
  else {
189
- this.logger.warn("Disconnected!");
190
189
  this.retryCount = 0;
191
- (_e = this.callback.get(Defaults_1.CALLBACK_KEY.ON_DISCONNECTED)) === null || _e === void 0 ? void 0 : _e();
190
+ this.logger.warn("Disconnected!");
191
+ this.events.emit("disconnected");
192
192
  try {
193
193
  yield this.destroy(true);
194
194
  }
@@ -199,20 +199,19 @@ class AutoWA {
199
199
  if (connection == "open") {
200
200
  this.logger.info("Connected!");
201
201
  this.retryCount = 0;
202
- (_f = this.callback.get(Defaults_1.CALLBACK_KEY.ON_CONNECTED)) === null || _f === void 0 ? void 0 : _f();
202
+ this.events.emit("connected");
203
203
  }
204
204
  }));
205
205
  this.sock.ev.on("creds.update", () => __awaiter(this, void 0, void 0, function* () {
206
206
  yield saveCreds();
207
207
  }));
208
208
  this.sock.ev.on("messages.update", (message) => __awaiter(this, void 0, void 0, function* () {
209
- var _a;
210
209
  const msg = message[0];
211
210
  const data = Object.assign({ sessionId: this.sessionId, messageStatus: (0, helper_1.parseMessageStatusCodeToReadable)(msg.update.status) }, msg);
212
- (_a = this.callback.get(Defaults_1.CALLBACK_KEY.ON_MESSAGE_UPDATED)) === null || _a === void 0 ? void 0 : _a(data);
211
+ this.events.emit("message-updated", data);
213
212
  }));
214
213
  this.sock.ev.on("messages.upsert", (new_message) => __awaiter(this, void 0, void 0, function* () {
215
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13;
214
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
216
215
  if (new_message.type == "append")
217
216
  return;
218
217
  const myJid = (0, helper_1.phoneToJid)({ from: this.sock.user.id });
@@ -244,7 +243,7 @@ class AutoWA {
244
243
  }
245
244
  msg.quotedMessage = quotedMessage;
246
245
  const mediaTypes = ["image", "audio", "video", "document"];
247
- const setupMsg = (msg, parent) => {
246
+ const setupMsg = (msg) => {
248
247
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
249
248
  const text = ((_a = msg.message) === null || _a === void 0 ? void 0 : _a.conversation) ||
250
249
  ((_c = (_b = msg.message) === null || _b === void 0 ? void 0 : _b.extendedTextMessage) === null || _c === void 0 ? void 0 : _c.text) ||
@@ -262,7 +261,7 @@ class AutoWA {
262
261
  mediaTypes[mediaTypes.indexOf(mimeType.split("/")[0]) !== -1
263
262
  ? mediaTypes.indexOf(mimeType.split("/")[0])
264
263
  : 3];
265
- msg.downloadMedia = () => __awaiter(this, void 0, void 0, function* () { return Promise.resolve(""); });
264
+ msg.downloadMedia = () => __awaiter(this, void 0, void 0, function* () { return Promise.resolve(null); });
266
265
  msg.toSticker = () => __awaiter(this, void 0, void 0, function* () { return Promise.resolve([null, false]); });
267
266
  if (msg.hasMedia) {
268
267
  msg.downloadMedia = (...args_1) => __awaiter(this, [...args_1], void 0, function* (opts = {}) { return this.downloadMedia(msg, opts, ext); });
@@ -290,7 +289,6 @@ class AutoWA {
290
289
  const isGroup = from.includes("@g.us");
291
290
  const isStory = from.includes("status@broadcast");
292
291
  const isReaction = ((_o = msg.message) === null || _o === void 0 ? void 0 : _o.reactionMessage) ? true : false;
293
- // if (!parent)
294
292
  if ((_p = msg.key) === null || _p === void 0 ? void 0 : _p.fromMe) {
295
293
  msg.from = from;
296
294
  msg.receiver = from;
@@ -341,67 +339,66 @@ class AutoWA {
341
339
  return yield this.forwardMessage(Object.assign({ to, msg }, opts));
342
340
  });
343
341
  };
344
- msg.quotedMessage && setupMsg(msg.quotedMessage, msg);
342
+ msg.quotedMessage && setupMsg(msg.quotedMessage);
345
343
  setupMsg(msg);
346
344
  const { isStory, isReaction, isGroup } = msg;
347
345
  if (msg.key.fromMe) {
348
- (_s = this.callback.get(Defaults_1.CALLBACK_KEY.ON_MESSAGE_SENT)) === null || _s === void 0 ? void 0 : _s(msg);
346
+ this.events.emit("message-sent", msg);
349
347
  if (isStory) {
350
- (_t = this.callback.get(Defaults_1.CALLBACK_KEY.ON_STORY_SENT)) === null || _t === void 0 ? void 0 : _t(msg);
348
+ this.events.emit("story-sent", msg);
351
349
  }
352
350
  else if (isReaction) {
353
- (_u = this.callback.get(Defaults_1.CALLBACK_KEY.ON_REACTION_SENT)) === null || _u === void 0 ? void 0 : _u(msg);
351
+ this.events.emit("reaction-sent", msg);
354
352
  if (isGroup)
355
- (_v = this.callback.get(Defaults_1.CALLBACK_KEY.ON_GROUP_REACTION_SENT)) === null || _v === void 0 ? void 0 : _v(msg);
353
+ this.events.emit("group-reaction-sent", msg);
356
354
  else
357
- (_w = this.callback.get(Defaults_1.CALLBACK_KEY.ON_PRIVATE_REACTION_SENT)) === null || _w === void 0 ? void 0 : _w(msg);
355
+ this.events.emit("private-reaction-sent", msg);
358
356
  }
359
357
  else if (isGroup) {
360
- (_x = this.callback.get(Defaults_1.CALLBACK_KEY.ON_GROUP_MESSAGE_SENT)) === null || _x === void 0 ? void 0 : _x(msg);
358
+ this.events.emit("group-message-sent", msg);
361
359
  }
362
360
  else {
363
- (_y = this.callback.get(Defaults_1.CALLBACK_KEY.ON_PRIVATE_MESSAGE_SENT)) === null || _y === void 0 ? void 0 : _y(msg);
361
+ this.events.emit("private-message-sent", msg);
364
362
  }
365
363
  }
366
364
  else {
367
- (_z = this.callback.get(Defaults_1.CALLBACK_KEY.ON_MESSAGE_RECEIVED)) === null || _z === void 0 ? void 0 : _z(msg);
365
+ this.events.emit("message-received", msg);
368
366
  if (isStory) {
369
- (_0 = this.callback.get(Defaults_1.CALLBACK_KEY.ON_STORY_RECEIVED)) === null || _0 === void 0 ? void 0 : _0(msg);
367
+ this.events.emit("story-received", msg);
370
368
  }
371
369
  else if (isReaction) {
372
- (_2 = this.callback.get(Defaults_1.CALLBACK_KEY.ON_REACTION_RECEIVED)) === null || _2 === void 0 ? void 0 : _2(msg);
370
+ this.events.emit("reaction-received", msg);
373
371
  if (isGroup)
374
- (_3 = this.callback.get(Defaults_1.CALLBACK_KEY.ON_GROUP_REACTION_RECEIVED)) === null || _3 === void 0 ? void 0 : _3(msg);
372
+ this.events.emit("group-reaction-received", msg);
375
373
  else
376
- (_4 = this.callback.get(Defaults_1.CALLBACK_KEY.ON_PRIVATE_REACTION_RECEIVED)) === null || _4 === void 0 ? void 0 : _4(msg);
374
+ this.events.emit("private-reaction-received", msg);
377
375
  }
378
376
  else if (isGroup) {
379
- (_5 = this.callback.get(Defaults_1.CALLBACK_KEY.ON_GROUP_MESSAGE_RECEIVED)) === null || _5 === void 0 ? void 0 : _5(msg);
377
+ this.events.emit("group-message-received", msg);
380
378
  }
381
379
  else {
382
- (_6 = this.callback.get(Defaults_1.CALLBACK_KEY.ON_PRIVATE_MESSAGE_RECEIVED)) === null || _6 === void 0 ? void 0 : _6(msg);
380
+ this.events.emit("private-message-received", msg);
383
381
  }
384
382
  }
385
383
  if (isStory) {
386
- (_7 = this.callback.get(Defaults_1.CALLBACK_KEY.ON_STORY)) === null || _7 === void 0 ? void 0 : _7(msg);
384
+ this.events.emit("story", msg);
387
385
  }
388
386
  else if (isReaction) {
389
- (_8 = this.callback.get(Defaults_1.CALLBACK_KEY.ON_REACTION)) === null || _8 === void 0 ? void 0 : _8(msg);
387
+ this.events.emit("reaction", msg);
390
388
  if (isGroup)
391
- (_9 = this.callback.get(Defaults_1.CALLBACK_KEY.ON_GROUP_REACTION)) === null || _9 === void 0 ? void 0 : _9(msg);
389
+ this.events.emit("group-reaction", msg);
392
390
  else
393
- (_10 = this.callback.get(Defaults_1.CALLBACK_KEY.ON_PRIVATE_REACTION)) === null || _10 === void 0 ? void 0 : _10(msg);
391
+ this.events.emit("private-reaction", msg);
394
392
  }
395
393
  else if (isGroup) {
396
- (_11 = this.callback.get(Defaults_1.CALLBACK_KEY.ON_GROUP_MESSAGE)) === null || _11 === void 0 ? void 0 : _11(msg);
394
+ this.events.emit("group-message", msg);
397
395
  }
398
396
  else {
399
- (_12 = this.callback.get(Defaults_1.CALLBACK_KEY.ON_PRIVATE_MESSAGE)) === null || _12 === void 0 ? void 0 : _12(msg);
397
+ this.events.emit("private-message", msg);
400
398
  }
401
- (_13 = this.callback.get(Defaults_1.CALLBACK_KEY.ON_MESSAGE)) === null || _13 === void 0 ? void 0 : _13(msg);
399
+ this.events.emit("message", msg);
402
400
  }));
403
401
  this.sock.ev.on("group-participants.update", (data) => __awaiter(this, void 0, void 0, function* () {
404
- var _a;
405
402
  const msg = Object.assign(Object.assign({}, data), { sessionId: this.sessionId });
406
403
  msg.replyWithText = (text, opts) => __awaiter(this, void 0, void 0, function* () {
407
404
  return yield this.sendText(Object.assign(Object.assign({}, opts), { text, to: data.id }));
@@ -424,7 +421,7 @@ class AutoWA {
424
421
  msg.replyWithRecording = (duration) => __awaiter(this, void 0, void 0, function* () {
425
422
  return yield this.sendRecording({ to: data.id, duration });
426
423
  });
427
- (_a = this.callback.get(Defaults_1.CALLBACK_KEY.ON_GROUP_MEMBER_UPDATE)) === null || _a === void 0 ? void 0 : _a(msg);
424
+ this.events.emit("group-member-update", msg);
428
425
  }));
429
426
  return this.sock;
430
427
  }
@@ -851,5 +848,20 @@ class AutoWA {
851
848
  return yield this.sock.groupParticipantsUpdate(group, participants, "demote");
852
849
  });
853
850
  }
851
+ on(event, listener) {
852
+ this.events.on(event, listener);
853
+ }
854
+ once(event, listener) {
855
+ this.events.once(event, listener);
856
+ }
857
+ off(event, listener) {
858
+ this.events.off(event, listener);
859
+ }
860
+ emit(event, ...args) {
861
+ return this.events.emit(event, ...args);
862
+ }
863
+ removeAllListeners(event) {
864
+ this.events.removeAllListeners(event);
865
+ }
854
866
  }
855
867
  exports.AutoWA = AutoWA;
@@ -1,34 +1,9 @@
1
- import { GroupMemberUpdate, IWAutoMessage, WAutoMessageUpdated } from "../Types";
2
- export default class AutoWAEvent {
3
- private callback;
4
- constructor(callback: Map<string, Function>);
5
- onQRUpdated: (listener: (qr: string) => void) => void;
6
- onConnected: (listener: () => void) => void;
7
- onDisconnected: (listener: () => void) => void;
8
- onConnecting: (listener: () => void) => void;
9
- onMessageUpdate: (listener: (data: WAutoMessageUpdated) => void) => void;
10
- onPairingCode: (listener: (code: string) => void) => void;
11
- onMessage: (listener: (msg: IWAutoMessage) => void) => void;
12
- onGroupMessage: (listener: (msg: IWAutoMessage) => void) => void;
13
- onPrivateMessage: (listener: (msg: IWAutoMessage) => void) => void;
14
- onMessageReceived: (listener: (msg: IWAutoMessage) => void) => void;
15
- onGroupMessageReceived: (listener: (msg: IWAutoMessage) => void) => void;
16
- onPrivateMessageReceived: (listener: (msg: IWAutoMessage) => void) => void;
17
- onMessageSent: (listener: (msg: IWAutoMessage) => void) => void;
18
- onGroupMessageSent: (listener: (msg: IWAutoMessage) => void) => void;
19
- onPrivateMessageSent: (listener: (msg: IWAutoMessage) => void) => void;
20
- onStory: (listener: (msg: IWAutoMessage) => void) => void;
21
- onStoryReceived: (listener: (msg: IWAutoMessage) => void) => void;
22
- onStorySent: (listener: (msg: IWAutoMessage) => void) => void;
23
- onReaction: (listener: (msg: IWAutoMessage) => void) => void;
24
- onReactionReceived: (listener: (msg: IWAutoMessage) => void) => void;
25
- onReactionSent: (listener: (msg: IWAutoMessage) => void) => void;
26
- onGroupReaction: (listener: (msg: IWAutoMessage) => void) => void;
27
- onGroupReactionReceived: (listener: (msg: IWAutoMessage) => void) => void;
28
- onGroupReactionSent: (listener: (msg: IWAutoMessage) => void) => void;
29
- onPrivateReaction: (listener: (msg: IWAutoMessage) => void) => void;
30
- onPrivateReactionReceived: (listener: (msg: IWAutoMessage) => void) => void;
31
- onPrivateReactionSent: (listener: (msg: IWAutoMessage) => void) => void;
32
- onGroupMemberUpdate: (listener: (msg: GroupMemberUpdate) => void) => void;
1
+ export default class AutoWAEvent<Events extends Record<string, any[]>> {
2
+ private emitter;
3
+ on<K extends keyof Events>(event: K, listener: (...args: Events[K]) => void): this;
4
+ once<K extends keyof Events>(event: K, listener: (...args: Events[K]) => void): this;
5
+ off<K extends keyof Events>(event: K, listener: (...args: Events[K]) => void): this;
6
+ emit<K extends keyof Events>(event: K, ...args: Events[K]): boolean;
7
+ removeAllListeners<K extends keyof Events>(event?: K): this;
33
8
  }
34
9
  //# sourceMappingURL=AutoWAEvent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AutoWAEvent.d.ts","sourceRoot":"","sources":["../../src/WhatsApp/AutoWAEvent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAEjF,MAAM,CAAC,OAAO,OAAO,WAAW;IAC9B,OAAO,CAAC,QAAQ,CAAwB;gBAE5B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC;IAI3C,WAAW,aAAc,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,UAE3C;IAEF,WAAW,aAAc,MAAM,IAAI,UAEjC;IAEF,cAAc,aAAc,MAAM,IAAI,UAEpC;IAEF,YAAY,aAAc,MAAM,IAAI,UAElC;IAEF,eAAe,aAAc,CAAC,IAAI,EAAE,mBAAmB,KAAK,IAAI,UAE9D;IAEF,aAAa,aAAc,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,UAE/C;IAEF,SAAS,aAAc,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,UAEjD;IAEF,cAAc,aAAc,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,UAEtD;IAEF,gBAAgB,aAAc,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,UAExD;IAEF,iBAAiB,aAAc,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,UAEzD;IAEF,sBAAsB,aAAc,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,UAE9D;IAEF,wBAAwB,aAAc,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,UAEhE;IAEF,aAAa,aAAc,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,UAErD;IAEF,kBAAkB,aAAc,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,UAE1D;IAEF,oBAAoB,aAAc,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,UAE5D;IAEF,OAAO,aAAc,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,UAE/C;IAEF,eAAe,aAAc,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,UAEvD;IAEF,WAAW,aAAc,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,UAEnD;IAEF,UAAU,aAAc,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,UAElD;IAEF,kBAAkB,aAAc,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,UAE1D;IAEF,cAAc,aAAc,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,UAEtD;IAEF,eAAe,aAAc,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,UAEvD;IAEF,uBAAuB,aAAc,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,UAE/D;IAEF,mBAAmB,aAAc,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,UAE3D;IAEF,iBAAiB,aAAc,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,UAEzD;IAEF,yBAAyB,aAAc,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,UAEjE;IAEF,qBAAqB,aAAc,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,UAE7D;IAEF,mBAAmB,aAAc,CAAC,GAAG,EAAE,iBAAiB,KAAK,IAAI,UAE/D;CACH"}
1
+ {"version":3,"file":"AutoWAEvent.d.ts","sourceRoot":"","sources":["../../src/WhatsApp/AutoWAEvent.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,WAAW,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC;IACnE,OAAO,CAAC,OAAO,CAAsB;IAErC,EAAE,CAAC,CAAC,SAAS,MAAM,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI;IAKlF,IAAI,CAAC,CAAC,SAAS,MAAM,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI;IAKpF,GAAG,CAAC,CAAC,SAAS,MAAM,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI;IAKnF,IAAI,CAAC,CAAC,SAAS,MAAM,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO;IAInE,kBAAkB,CAAC,CAAC,SAAS,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI;CAI5D"}
@@ -1,93 +1,28 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const Defaults_1 = require("../Defaults");
3
+ const events_1 = require("events");
4
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.onStory = (listener) => {
52
- this.callback.set(Defaults_1.CALLBACK_KEY.ON_STORY, listener);
53
- };
54
- this.onStoryReceived = (listener) => {
55
- this.callback.set(Defaults_1.CALLBACK_KEY.ON_STORY_RECEIVED, listener);
56
- };
57
- this.onStorySent = (listener) => {
58
- this.callback.set(Defaults_1.CALLBACK_KEY.ON_STORY_SENT, listener);
59
- };
60
- this.onReaction = (listener) => {
61
- this.callback.set(Defaults_1.CALLBACK_KEY.ON_REACTION, listener);
62
- };
63
- this.onReactionReceived = (listener) => {
64
- this.callback.set(Defaults_1.CALLBACK_KEY.ON_REACTION_RECEIVED, listener);
65
- };
66
- this.onReactionSent = (listener) => {
67
- this.callback.set(Defaults_1.CALLBACK_KEY.ON_REACTION_SENT, listener);
68
- };
69
- this.onGroupReaction = (listener) => {
70
- this.callback.set(Defaults_1.CALLBACK_KEY.ON_GROUP_REACTION, listener);
71
- };
72
- this.onGroupReactionReceived = (listener) => {
73
- this.callback.set(Defaults_1.CALLBACK_KEY.ON_GROUP_REACTION_RECEIVED, listener);
74
- };
75
- this.onGroupReactionSent = (listener) => {
76
- this.callback.set(Defaults_1.CALLBACK_KEY.ON_GROUP_REACTION_SENT, listener);
77
- };
78
- this.onPrivateReaction = (listener) => {
79
- this.callback.set(Defaults_1.CALLBACK_KEY.ON_PRIVATE_REACTION, listener);
80
- };
81
- this.onPrivateReactionReceived = (listener) => {
82
- this.callback.set(Defaults_1.CALLBACK_KEY.ON_PRIVATE_REACTION_RECEIVED, listener);
83
- };
84
- this.onPrivateReactionSent = (listener) => {
85
- this.callback.set(Defaults_1.CALLBACK_KEY.ON_PRIVATE_REACTION_SENT, listener);
86
- };
87
- this.onGroupMemberUpdate = (listener) => {
88
- this.callback.set(Defaults_1.CALLBACK_KEY.ON_GROUP_MEMBER_UPDATE, listener);
89
- };
90
- this.callback = callback;
5
+ constructor() {
6
+ this.emitter = new events_1.EventEmitter();
7
+ }
8
+ on(event, listener) {
9
+ this.emitter.on(event, listener);
10
+ return this;
11
+ }
12
+ once(event, listener) {
13
+ this.emitter.once(event, listener);
14
+ return this;
15
+ }
16
+ off(event, listener) {
17
+ this.emitter.off(event, listener);
18
+ return this;
19
+ }
20
+ emit(event, ...args) {
21
+ return this.emitter.emit(event, ...args);
22
+ }
23
+ removeAllListeners(event) {
24
+ this.emitter.removeAllListeners(event);
25
+ return this;
91
26
  }
92
27
  }
93
28
  exports.default = AutoWAEvent;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "whatsauto.js",
3
- "version": "1.1.5",
3
+ "version": "1.2.0",
4
4
  "description": "Easy WhatsApp Automation with Session",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",