whatsauto.js 1.0.2 → 1.0.4

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
@@ -34,7 +34,103 @@ Additionally, WhatsAuto.js uses the Object-Oriented Programming (OOP) paradigm,
34
34
 
35
35
  ## 🪧 Examples
36
36
 
37
- Coming soon..
37
+ ### Make WA Session / Client
38
+
39
+ ```ts
40
+ import AutoWA from "whatsauto.js";
41
+
42
+ // using QR (default)
43
+ const autoWA = new AutoWA("session_name", { printQR: true });
44
+ // or
45
+ const autoWA = new AutoWA("session_name");
46
+ // or, using pair code (experimental)
47
+ const autoWA = new AutoWA("session_name", { phoneNumber: "628xxxx" });
48
+
49
+ // listen to some event
50
+ const ev = autoWA.event;
51
+
52
+ ev.onConnected(() => {
53
+ console.log("Client Ready!");
54
+ });
55
+
56
+ ev.onMessage(async (msg) => {
57
+ console.log(msg.text);
58
+ });
59
+
60
+ // initialize session
61
+ await autoWA.initialize();
62
+ ```
63
+
64
+ ### Session Parameters
65
+
66
+ ```ts
67
+ {
68
+ /**
69
+ * Print logs into Terminal
70
+ */
71
+ logging?: boolean; // true, false
72
+ /**
73
+ * Print QR Code into Terminal
74
+ */
75
+ printQR?: boolean; // true, false
76
+ /**
77
+ * Phone number for session with pairing code
78
+ */
79
+ phoneNumber?: string; // 62822xxxxx (62 is your country code)
80
+ }
81
+ ```
82
+
83
+ ### IWAutoMessage APIs
84
+
85
+ ```ts
86
+ ev.onMessageReceived(async (msg) => {
87
+ // read this message
88
+ await msg.read();
89
+
90
+ if (msg.text == "react")
91
+ // react this message
92
+ await msg.react("🐾");
93
+
94
+ if (msg.text == "text")
95
+ // reply this message with text
96
+ await msg.replyWithText("Hello!");
97
+
98
+ if (msg.text == "image")
99
+ // reply this message with image
100
+ await msg.replyWithImage("https://picsum.photos/536/354");
101
+
102
+ if (msg.text == "video")
103
+ // reply this message with video
104
+ await msg.replyWithVideo(
105
+ "https://github.com/rafaelreis-hotmart/Audio-Sample-files/raw/master/sample.mp4"
106
+ );
107
+
108
+ if (msg.text == "audio")
109
+ // reply this message with audio
110
+ await msg.replyWithAudio(
111
+ "https://github.com/rafaelreis-hotmart/Audio-Sample-files/raw/master/sample.mp3"
112
+ );
113
+
114
+ if (msg.text == "sticker") {
115
+ // convert this message to sticker buffer (if its has media)
116
+ const sticker = await msg.toSticker();
117
+ // or
118
+ // const sticker = await msg.toSticker({ pack: "whatsauto.js", author: "freack21" });
119
+ if (sticker) {
120
+ // reply this message with audio
121
+ await msg.replyWithSticker(sticker);
122
+ }
123
+ }
124
+
125
+ if (msg.text == "typing")
126
+ // reply this message with typing presence
127
+ await msg.replyWithTyping(1000); // 1000ms / 1s
128
+
129
+ if (msg.text == "recording")
130
+ // reply this message with recording presence
131
+ await msg.replyWithRecording(1000); // 1000ms / 1s
132
+ });
133
+ ```
38
134
 
39
135
  ## 🧾 Disclaimer
40
136
 
@@ -6,6 +6,11 @@ export interface IWAutoSendMessage {
6
6
  answering?: proto.IWebMessageInfo;
7
7
  mentions?: string[];
8
8
  }
9
+ export interface IWAutoPhoneToJid {
10
+ from: string | number;
11
+ isGroup?: boolean;
12
+ reverse?: boolean;
13
+ }
9
14
  export interface IWAutoSendMedia extends IWAutoSendMessage {
10
15
  /**
11
16
  * Media you want to send
@@ -20,6 +25,16 @@ export interface IWAutoSendTyping extends IWAutoSendMessage {
20
25
  */
21
26
  duration: number;
22
27
  }
28
+ export interface IWAutoDownloadMedia {
29
+ /**
30
+ * path of your downloaded media
31
+ */
32
+ path?: string;
33
+ /**
34
+ * return this function as buffer
35
+ */
36
+ asBuffer?: boolean;
37
+ }
23
38
  export interface Repliable {
24
39
  /**
25
40
  * reply this message with text
@@ -28,19 +43,19 @@ export interface Repliable {
28
43
  /**
29
44
  * reply this message with Audio
30
45
  */
31
- replyWithAudio: (data: IWAutoSendMedia) => Promise<proto.WebMessageInfo>;
46
+ replyWithAudio: (media: string | Buffer, data?: IWAutoSendMedia) => Promise<proto.WebMessageInfo>;
32
47
  /**
33
48
  * reply this message with Video
34
49
  */
35
- replyWithVideo: (data: IWAutoSendMedia) => Promise<proto.WebMessageInfo>;
50
+ replyWithVideo: (media: string | Buffer, data?: IWAutoSendMedia) => Promise<proto.WebMessageInfo>;
36
51
  /**
37
52
  * reply this message with Image
38
53
  */
39
- replyWithImage: (data: IWAutoSendMedia) => Promise<proto.WebMessageInfo>;
54
+ replyWithImage: (media: string | Buffer, data?: IWAutoSendMedia) => Promise<proto.WebMessageInfo>;
40
55
  /**
41
56
  * reply this message with Sticker
42
57
  */
43
- replyWithSticker: (data: Partial<IWAutoSendMedia & IStickerOptions>) => Promise<proto.WebMessageInfo>;
58
+ replyWithSticker: (sticker: Buffer | null, data?: Partial<IWAutoSendMedia & IStickerOptions>) => Promise<proto.WebMessageInfo>;
44
59
  /**
45
60
  * reply this message with Typing
46
61
  */
@@ -89,9 +104,9 @@ export interface IWAutoMessage extends proto.IWebMessageInfo, Repliable {
89
104
  quotedMessage: IWAutoMessage;
90
105
  /**
91
106
  * @param path save media location path without extension
92
- * @example "./my_media"
107
+ * @example "my_media"
93
108
  */
94
- downloadMedia: (path?: string) => Promise<string>;
109
+ downloadMedia: (opts?: IWAutoDownloadMedia) => Promise<string | Buffer>;
95
110
  /**
96
111
  * react this message
97
112
  */
@@ -100,6 +115,10 @@ export interface IWAutoMessage extends proto.IWebMessageInfo, Repliable {
100
115
  * read this message
101
116
  */
102
117
  read: () => Promise<void>;
118
+ /**
119
+ * convert this message to sticker
120
+ */
121
+ toSticker: (props?: Omit<IStickerOptions, "media">) => Promise<Buffer | null>;
103
122
  }
104
123
  export interface IWAutoMessageReceived extends IWAutoMessage {
105
124
  /**
@@ -139,11 +158,12 @@ export interface IWAutoSessionConfig {
139
158
  phoneNumber?: string;
140
159
  }
141
160
  export interface IStickerOptions {
142
- filePath: string;
161
+ media: string | Buffer;
143
162
  pack?: string;
144
163
  author?: string;
145
164
  transparent?: boolean;
146
165
  bgColor?: string;
166
+ sticker?: Buffer;
147
167
  }
148
168
  export interface GroupMemberUpdate extends Repliable {
149
169
  sessionId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Types/index.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,8 @@
1
1
  import { proto } from "@whiskeysockets/baileys";
2
- import { IWAutoMessage, WAutoMessageUpdated } from "../Types";
2
+ import { IWAutoMessage, IWAutoPhoneToJid, WAutoMessageUpdated } from "../Types";
3
3
  export declare const getMediaMimeType: (msg: IWAutoMessage) => string;
4
4
  export declare const parseMessageStatusCodeToReadable: (code: proto.WebMessageInfo.Status) => WAutoMessageUpdated["messageStatus"];
5
- export declare const phoneToJid: ({ to, isGroup, reverse, }: {
6
- to: string | number;
7
- isGroup?: boolean;
8
- reverse?: boolean;
9
- }) => string;
5
+ export declare const phoneToJid: ({ from, isGroup, reverse, }: IWAutoPhoneToJid) => string;
10
6
  export declare const createDelay: (duration?: number) => Promise<unknown>;
11
7
  export declare const is: {
12
8
  array: (array: any) => boolean;
@@ -21,4 +17,5 @@ export declare const to: {
21
17
  };
22
18
  export declare const isSessionExist: (sessionId: string) => boolean;
23
19
  export declare const setCredentialsDir: (dirname: string) => void;
20
+ export declare const getBuffer: (url: string) => Promise<Buffer>;
24
21
  //# 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,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAM9D,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,8BAIpB;IACD,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,KAAG,MAgBH,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"}
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,MAgBrB,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"}
@@ -45,12 +45,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
45
45
  return (mod && mod.__esModule) ? mod : { "default": mod };
46
46
  };
47
47
  Object.defineProperty(exports, "__esModule", { value: true });
48
- exports.setCredentialsDir = exports.isSessionExist = exports.to = exports.is = exports.createDelay = exports.phoneToJid = exports.parseMessageStatusCodeToReadable = exports.getMediaMimeType = void 0;
48
+ exports.getBuffer = exports.setCredentialsDir = exports.isSessionExist = exports.to = exports.is = exports.createDelay = exports.phoneToJid = exports.parseMessageStatusCodeToReadable = exports.getMediaMimeType = void 0;
49
49
  const baileys_1 = require("@whiskeysockets/baileys");
50
50
  const Error_1 = require("../Error");
51
51
  const fs = __importStar(require("fs"));
52
52
  const path_1 = __importDefault(require("path"));
53
53
  const Defaults_1 = require("../Defaults");
54
+ const axios_1 = __importDefault(require("axios"));
54
55
  const getMediaMimeType = (msg) => {
55
56
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
56
57
  if (!(msg === null || msg === void 0 ? void 0 : msg.message))
@@ -80,10 +81,10 @@ const parseMessageStatusCodeToReadable = (code) => {
80
81
  }
81
82
  };
82
83
  exports.parseMessageStatusCodeToReadable = parseMessageStatusCodeToReadable;
83
- const phoneToJid = ({ to, isGroup = false, reverse = false, }) => {
84
- if (!to)
85
- throw new Error_1.ValidationError('"to" parameter is required!');
86
- let number = to.toString();
84
+ const phoneToJid = ({ from, isGroup = false, reverse = false, }) => {
85
+ if (!from)
86
+ throw new Error_1.ValidationError('"from" parameter is required!');
87
+ let number = from.toString();
87
88
  if (number.includes("@broadcast"))
88
89
  return number;
89
90
  if (isGroup || number.includes("@g.us")) {
@@ -157,3 +158,14 @@ const setCredentialsDir = (dirname) => {
157
158
  Defaults_1.CREDENTIALS.DIR_NAME = dirname;
158
159
  };
159
160
  exports.setCredentialsDir = setCredentialsDir;
161
+ const getBuffer = (url) => __awaiter(void 0, void 0, void 0, function* () {
162
+ try {
163
+ const response = yield axios_1.default.get(url, {
164
+ responseType: "arraybuffer",
165
+ });
166
+ return Buffer.from(response.data);
167
+ }
168
+ catch (error) { }
169
+ return null;
170
+ });
171
+ exports.getBuffer = getBuffer;
@@ -1 +1 @@
1
- {"version":3,"file":"make-stiker.d.ts","sourceRoot":"","sources":["../../src/Utils/make-stiker.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG3C,eAAO,MAAM,cAAc,YAAmB,eAAe,KAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CA4DpF,CAAC;AAEF,eAAO,MAAM,iBAAiB,QAAO,MAA2D,CAAC"}
1
+ {"version":3,"file":"make-stiker.d.ts","sourceRoot":"","sources":["../../src/Utils/make-stiker.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG3C,eAAO,MAAM,cAAc,YAAmB,eAAe,KAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAoEpF,CAAC;AAEF,eAAO,MAAM,iBAAiB,QAAO,MAA2D,CAAC"}
@@ -18,15 +18,17 @@ const { Image } = require("node-webpmux");
18
18
  const fs_1 = __importDefault(require("fs"));
19
19
  const crypto_1 = require("crypto");
20
20
  const makeWebpBuffer = (options) => __awaiter(void 0, void 0, void 0, function* () {
21
- const randomName = `./${Date.now()}${Math.random() * 1000}.webp`;
21
+ const getRandomName = () => `./${Date.now()}${Math.random() * 1000}.webp`;
22
+ const randomName = getRandomName();
22
23
  let buffer = null;
23
- const { filePath, pack = "", author = "", transparent = true, bgColor = "white" } = options;
24
- if (!filePath)
24
+ const { media, pack = "", author = "", transparent = true, bgColor = "white" } = options;
25
+ if (!media)
25
26
  return buffer;
27
+ const tempName = typeof media == "string" ? media : getRandomName();
26
28
  const data = JSON.stringify({
27
29
  "sticker-pack-id": (0, exports.generateStickerID)(),
28
- "sticker-pack-name": author,
29
- "sticker-pack-publisher": pack,
30
+ "sticker-pack-name": pack,
31
+ "sticker-pack-publisher": author,
30
32
  emojis: ["🐾"],
31
33
  });
32
34
  const exif = Buffer.concat([
@@ -38,11 +40,14 @@ const makeWebpBuffer = (options) => __awaiter(void 0, void 0, void 0, function*
38
40
  ]);
39
41
  exif.writeUIntLE(new TextEncoder().encode(data).length, 14, 4);
40
42
  const backgroundColor = transparent ? "color=white@0.0" : `color=${bgColor}`;
43
+ if (Buffer.isBuffer(media)) {
44
+ fs_1.default.writeFileSync(tempName, media.toString("base64"), "base64");
45
+ }
41
46
  return new Promise((resolve) => {
42
- ffmpeg(filePath)
43
- .input(filePath)
47
+ ffmpeg(tempName)
48
+ .input(tempName)
44
49
  .on("error", () => {
45
- fs_1.default.unlinkSync(filePath);
50
+ fs_1.default.unlinkSync(tempName);
46
51
  if (fs_1.default.existsSync(randomName))
47
52
  fs_1.default.unlinkSync(randomName);
48
53
  resolve(buffer);
@@ -60,7 +65,7 @@ const makeWebpBuffer = (options) => __awaiter(void 0, void 0, void 0, function*
60
65
  }))();
61
66
  image.exif = exif;
62
67
  buffer = yield image.save(null);
63
- fs_1.default.unlinkSync(filePath);
68
+ fs_1.default.unlinkSync(tempName);
64
69
  fs_1.default.unlinkSync(randomName);
65
70
  resolve(buffer);
66
71
  }))
@@ -1,5 +1,5 @@
1
1
  import { WASocket, proto } from "@whiskeysockets/baileys";
2
- import { IWAutoSendMessage, IWAutoSendTyping, IWAutoSessionConfig, IWAutoMessage, IStickerOptions, WAutoGroupMemberActionOptions, IWAutoSendMedia } from "../Types";
2
+ import { IWAutoSendMessage, IWAutoSendTyping, IWAutoSessionConfig, IWAutoMessage, IStickerOptions, WAutoGroupMemberActionOptions, IWAutoSendMedia, IWAutoPhoneToJid } from "../Types";
3
3
  import AutoWAEvent from "./AutoWAEvent";
4
4
  export declare class AutoWA {
5
5
  private logger;
@@ -10,6 +10,7 @@ export declare class AutoWA {
10
10
  options: IWAutoSessionConfig;
11
11
  event: AutoWAEvent;
12
12
  private pairingCode?;
13
+ defaultStickerProps: IStickerOptions;
13
14
  constructor(sessionId: string, options?: IWAutoSessionConfig);
14
15
  setLogging(logging: boolean): Promise<void>;
15
16
  initialize(): Promise<void>;
@@ -17,21 +18,21 @@ export declare class AutoWA {
17
18
  private startSocket;
18
19
  private setupWASocket;
19
20
  destroy(): Promise<void>;
20
- isExist({ to, isGroup }: IWAutoSendMessage): Promise<boolean>;
21
+ isExist({ from, isGroup }: IWAutoPhoneToJid): Promise<boolean>;
21
22
  private downloadMedia;
22
23
  private validateReceiver;
23
24
  sendText({ to, text, isGroup, ...props }: IWAutoSendMessage): Promise<proto.WebMessageInfo | undefined>;
24
- sendImage({ to, text, isGroup, media, ...props }: IWAutoSendMedia): Promise<proto.WebMessageInfo | undefined>;
25
- sendVideo({ to, text, isGroup, media, ...props }: IWAutoSendMedia): Promise<proto.WebMessageInfo | undefined>;
26
- sendDocument({ to, text, isGroup, media, filename, ...props }: IWAutoSendMedia & {
25
+ sendImage({ to, text, isGroup, media, failMsg, ...props }: IWAutoSendMedia): Promise<proto.WebMessageInfo | undefined>;
26
+ sendVideo({ to, text, isGroup, media, failMsg, ...props }: IWAutoSendMedia): Promise<proto.WebMessageInfo | undefined>;
27
+ sendDocument({ to, text, isGroup, media, filename, failMsg, ...props }: IWAutoSendMedia & {
27
28
  filename: string;
28
29
  }): Promise<proto.WebMessageInfo | undefined>;
29
- sendAudio({ to, isGroup, media, voiceNote, ...props }: Omit<IWAutoSendMedia, "text">): Promise<proto.WebMessageInfo | undefined>;
30
+ sendAudio({ to, isGroup, media, voiceNote, failMsg, ...props }: Omit<IWAutoSendMedia, "text">): Promise<proto.WebMessageInfo | undefined>;
30
31
  sendReaction({ to, text, isGroup, answering }: IWAutoSendMessage): Promise<proto.WebMessageInfo>;
31
32
  sendTyping({ to, duration, isGroup }: IWAutoSendTyping): Promise<void>;
32
33
  sendRecording({ to, duration, isGroup }: IWAutoSendTyping): Promise<void>;
33
34
  readMessage(msgs: IWAutoMessage[]): Promise<void>;
34
- sendSticker({ to, isGroup, filePath, pack, author, failMsg, ...props }: IWAutoSendMedia & IStickerOptions): Promise<proto.WebMessageInfo | undefined>;
35
+ sendSticker({ to, isGroup, media, sticker, failMsg, ...props }: IWAutoSendMedia & IStickerOptions): Promise<proto.WebMessageInfo | undefined>;
35
36
  getProfileInfo(target: string): Promise<{
36
37
  profilePictureUrl: string;
37
38
  status: {
@@ -1 +1 @@
1
- {"version":3,"file":"AutoWA.d.ts","sourceRoot":"","sources":["../../src/WhatsApp/AutoWA.ts"],"names":[],"mappings":"AAGA,OAAqB,EACnB,QAAQ,EAMR,KAAK,EAEN,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAGL,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,EAGb,eAAe,EAEf,6BAA6B,EAC7B,eAAe,EAChB,MAAM,UAAU,CAAC;AAQlB,OAAO,WAAW,MAAM,eAAe,CAAC;AASxC,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;gBAEjB,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB;IAqB/C,UAAU,CAAC,OAAO,EAAE,OAAO;IAI3B,UAAU;YAKT,aAAa;YAiBb,WAAW;YAyBX,aAAa;IA6Sd,OAAO;IAkBP,OAAO,CAAC,EAAE,EAAE,EAAE,OAAe,EAAE,EAAE,iBAAiB;YAkBjD,aAAa;YAOb,gBAAgB;IAqBjB,QAAQ,CAAC,EACpB,EAAE,EACF,IAAS,EACT,OAAe,EACf,GAAG,KAAK,EACT,EAAE,iBAAiB,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,GAAG,SAAS,CAAC;IAmBnD,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;IA2BjD,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;IA2BjD,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;IAgChC,SAAS,CAAC,EACrB,EAAE,EACF,OAAe,EACf,KAAK,EACL,SAAiB,EACjB,GAAG,KAAK,EACT,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,GAAG,SAAS,CAAC;IA2B/D,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,QAAQ,EACR,IAAqB,EACrB,MAAmB,EACnB,OAAO,EACP,GAAG,KAAK,EACT,EAAE,eAAe,GAAG,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,GAAG,SAAS,CAAC;IA+BnE,cAAc,CAAC,MAAM,EAAE,MAAM;;;;;;;IAiB7B,gBAAgB,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,6BAA6B;;;wBApmBtD,yBAAI;;IA+mBlB,qBAAqB,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,6BAA6B;;;wBA/mB3D,yBAAI;;IA0nBlB,kBAAkB,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,6BAA6B;;;wBA1nBxD,yBAAI;;IAqoBlB,iBAAiB,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,6BAA6B;;;wBAroBvD,yBAAI;;CA+oBhC"}
1
+ {"version":3,"file":"AutoWA.d.ts","sourceRoot":"","sources":["../../src/WhatsApp/AutoWA.ts"],"names":[],"mappings":"AAGA,OAAqB,EACnB,QAAQ,EAMR,KAAK,EAEN,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAGL,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,EAGb,eAAe,EAEf,6BAA6B,EAC7B,eAAe,EACf,gBAAgB,EAEjB,MAAM,UAAU,CAAC;AASlB,OAAO,WAAW,MAAM,eAAe,CAAC;AASxC,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;YAyBX,aAAa;IAoVd,OAAO;IAyBP,OAAO,CAAC,EAAE,IAAI,EAAE,OAAe,EAAE,EAAE,gBAAgB;YAkBlD,aAAa;YAUb,gBAAgB;IAqBjB,QAAQ,CAAC,EACpB,EAAE,EACF,IAAS,EACT,OAAe,EACf,GAAG,KAAK,EACT,EAAE,iBAAiB,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,GAAG,SAAS,CAAC;IAmBnD,SAAS,CAAC,EACrB,EAAE,EACF,IAAS,EACT,OAAe,EACf,KAAK,EACL,OAAO,EACP,GAAG,KAAK,EACT,EAAE,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,GAAG,SAAS,CAAC;IAmCjD,SAAS,CAAC,EACrB,EAAE,EACF,IAAS,EACT,OAAe,EACf,KAAK,EACL,OAAO,EACP,GAAG,KAAK,EACT,EAAE,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,GAAG,SAAS,CAAC;IAmCjD,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,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,GAAG,SAAS,CAAC;IAwChC,SAAS,CAAC,EACrB,EAAE,EACF,OAAe,EACf,KAAK,EACL,SAAiB,EACjB,OAAO,EACP,GAAG,KAAK,EACT,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,GAAG,SAAS,CAAC;IAmC/D,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,KAAK,EACL,OAAO,EACP,OAAO,EACP,GAAG,KAAK,EACT,EAAE,eAAe,GAAG,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,GAAG,SAAS,CAAC;IAqDnE,cAAc,CAAC,MAAM,EAAE,MAAM;;;;;;;IAiB7B,gBAAgB,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,6BAA6B;;;wBAltBpB,yBAC9D;;IA4tBc,qBAAqB,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,6BAA6B;;;wBA7tBzB,yBAC9D;;IAuuBc,kBAAkB,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,6BAA6B;;;wBAxuBtB,yBAC9D;;IAkvBc,iBAAiB,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,6BAA6B;;;wBAnvBrB,yBAC9D;;CA4vBA"}
@@ -73,6 +73,11 @@ const P = require("pino")({
73
73
  });
74
74
  class AutoWA {
75
75
  constructor(sessionId, options) {
76
+ this.defaultStickerProps = {
77
+ media: "",
78
+ pack: "WhatsAuto.js",
79
+ author: "freack21",
80
+ };
76
81
  if ((0, helper_1.isSessionExist)(sessionId) && _1.sessions.get(sessionId))
77
82
  throw new Error_1.ValidationError(Defaults_1.Messages.sessionAlreadyExist(sessionId));
78
83
  const defaultOptions = {
@@ -106,7 +111,7 @@ class AutoWA {
106
111
  throw new Error_1.ValidationError(Defaults_1.Messages.paremetersNotValid("phoneNumber"));
107
112
  options.printQR = false;
108
113
  options.phoneNumber = (0, helper_1.phoneToJid)({
109
- to: options.phoneNumber,
114
+ from: options.phoneNumber,
110
115
  });
111
116
  }
112
117
  return this.startSocket(sessionId, options);
@@ -143,7 +148,7 @@ class AutoWA {
143
148
  !this.pairingCode &&
144
149
  !this.sock.authState.creds.registered) {
145
150
  try {
146
- this.pairingCode = yield this.sock.requestPairingCode(this.options.phoneNumber);
151
+ this.pairingCode = yield this.sock.requestPairingCode((0, helper_1.phoneToJid)({ from: this.options.phoneNumber, reverse: true }));
147
152
  this.logger.info(`Pairing Code: ${this.pairingCode}`);
148
153
  (_a = this.callback.get(Defaults_1.CALLBACK_KEY.ON_PAIRING_CODE)) === null || _a === void 0 ? void 0 : _a(this.pairingCode);
149
154
  this.retryCount = 0;
@@ -195,7 +200,6 @@ class AutoWA {
195
200
  }
196
201
  }));
197
202
  this.sock.ev.on("creds.update", () => __awaiter(this, void 0, void 0, function* () {
198
- this.logger.info("Creds Updated!");
199
203
  yield saveCreds();
200
204
  }));
201
205
  this.sock.ev.on("messages.update", (message) => __awaiter(this, void 0, void 0, function* () {
@@ -242,6 +246,7 @@ class AutoWA {
242
246
  msg.text = text;
243
247
  const mediaTypes = ["image", "audio", "video", "document"];
244
248
  const setupMsgMedia = (msg) => {
249
+ var _a;
245
250
  const mimeType = (0, helper_1.getMediaMimeType)(msg);
246
251
  const ext = mime_1.default.getExtension(mimeType);
247
252
  msg.hasMedia = mimeType !== "";
@@ -251,18 +256,38 @@ class AutoWA {
251
256
  mediaTypes[mediaTypes.indexOf(mimeType.split("/")[0]) !== -1
252
257
  ? mediaTypes.indexOf(mimeType.split("/")[0])
253
258
  : 3];
254
- msg.downloadMedia = (path) => ((path) => __awaiter(this, void 0, void 0, function* () { return (path = ""); }))(path);
255
- if (msg.hasMedia)
256
- msg.downloadMedia = (path = "my_media") => this.downloadMedia(msg, path + "." + ext);
259
+ msg.downloadMedia = () => __awaiter(this, void 0, void 0, function* () { return Promise.resolve(""); });
260
+ msg.toSticker = () => __awaiter(this, void 0, void 0, function* () { return Promise.resolve(null); });
261
+ if (msg.hasMedia) {
262
+ msg.downloadMedia = (...args_1) => __awaiter(this, [...args_1], void 0, function* (opts = {}) { return this.downloadMedia(msg, opts, ext); });
263
+ }
264
+ if (msg.hasMedia || ((_a = msg.quotedMessage) === null || _a === void 0 ? void 0 : _a.hasMedia)) {
265
+ msg.toSticker = (props) => __awaiter(this, void 0, void 0, function* () {
266
+ let mediaPath;
267
+ if (msg.hasMedia && ["image", "video"].includes(msg.mediaType)) {
268
+ mediaPath = yield msg.downloadMedia();
269
+ }
270
+ else if (msg.quotedMessage &&
271
+ msg.quotedMessage.hasMedia &&
272
+ ["image", "video"].includes(msg.quotedMessage.mediaType)) {
273
+ mediaPath = yield msg.quotedMessage.downloadMedia();
274
+ }
275
+ if (!mediaPath)
276
+ return null;
277
+ const stickerProps = Object.assign(Object.assign(Object.assign({}, this.defaultStickerProps), props), { media: mediaPath });
278
+ const buffer = yield (0, make_stiker_1.makeWebpBuffer)(stickerProps);
279
+ return buffer;
280
+ });
281
+ }
257
282
  };
258
- setupMsgMedia(msg);
259
283
  msg.quotedMessage && setupMsgMedia(msg.quotedMessage);
284
+ setupMsgMedia(msg);
260
285
  const from = ((_0 = msg.key) === null || _0 === void 0 ? void 0 : _0.remoteJid) || "";
261
286
  const participant = ((_2 = msg.key) === null || _2 === void 0 ? void 0 : _2.participant) || "";
262
287
  const isGroup = from.includes("@g.us");
263
288
  const isStory = from.includes("status@broadcast");
264
289
  const isReaction = ((_3 = msg.message) === null || _3 === void 0 ? void 0 : _3.reactionMessage) ? true : false;
265
- const myJid = (0, helper_1.phoneToJid)({ to: this.sock.user.id.split(":")[0] });
290
+ const myJid = (0, helper_1.phoneToJid)({ from: this.sock.user.id.split(":")[0] });
266
291
  msg.isGroup = isGroup;
267
292
  msg.isStory = isStory;
268
293
  msg.isReaction = isReaction;
@@ -274,17 +299,17 @@ class AutoWA {
274
299
  msg.replyWithText = (text, opts) => __awaiter(this, void 0, void 0, function* () {
275
300
  return yield this.sendText(Object.assign(Object.assign({}, opts), { text, to: from, answering: msg }));
276
301
  });
277
- msg.replyWithAudio = (opts) => __awaiter(this, void 0, void 0, function* () {
278
- return yield this.sendAudio(Object.assign(Object.assign({}, opts), { to: from, answering: msg }));
302
+ msg.replyWithAudio = (media, opts) => __awaiter(this, void 0, void 0, function* () {
303
+ return yield this.sendAudio(Object.assign(Object.assign({ media }, opts), { to: from, answering: msg }));
279
304
  });
280
- msg.replyWithImage = (opts) => __awaiter(this, void 0, void 0, function* () {
281
- return yield this.sendImage(Object.assign(Object.assign({}, opts), { to: from, answering: msg }));
305
+ msg.replyWithImage = (media, opts) => __awaiter(this, void 0, void 0, function* () {
306
+ return yield this.sendImage(Object.assign(Object.assign({ media }, opts), { to: from, answering: msg }));
282
307
  });
283
- msg.replyWithVideo = (opts) => __awaiter(this, void 0, void 0, function* () {
284
- return yield this.sendVideo(Object.assign(Object.assign({}, opts), { to: from, answering: msg }));
308
+ msg.replyWithVideo = (media, opts) => __awaiter(this, void 0, void 0, function* () {
309
+ return yield this.sendVideo(Object.assign(Object.assign({ media }, opts), { to: from, answering: msg }));
285
310
  });
286
- msg.replyWithSticker = (opts) => __awaiter(this, void 0, void 0, function* () {
287
- return yield this.sendSticker(Object.assign(Object.assign({}, opts), { to: from, answering: msg }));
311
+ msg.replyWithSticker = (sticker, opts) => __awaiter(this, void 0, void 0, function* () {
312
+ return yield this.sendSticker(Object.assign(Object.assign({ sticker }, opts), { to: from, answering: msg }));
288
313
  });
289
314
  msg.replyWithTyping = (duration) => __awaiter(this, void 0, void 0, function* () {
290
315
  return yield this.sendTyping({ to: from, duration });
@@ -370,17 +395,17 @@ class AutoWA {
370
395
  msg.replyWithText = (text, opts) => __awaiter(this, void 0, void 0, function* () {
371
396
  return yield this.sendText(Object.assign(Object.assign({}, opts), { text, to: data.id }));
372
397
  });
373
- msg.replyWithAudio = (opts) => __awaiter(this, void 0, void 0, function* () {
374
- return yield this.sendAudio(Object.assign(Object.assign({}, opts), { to: data.id }));
398
+ msg.replyWithAudio = (media, opts) => __awaiter(this, void 0, void 0, function* () {
399
+ return yield this.sendAudio(Object.assign(Object.assign({ media }, opts), { to: data.id }));
375
400
  });
376
- msg.replyWithImage = (opts) => __awaiter(this, void 0, void 0, function* () {
377
- return yield this.sendImage(Object.assign(Object.assign({}, opts), { to: data.id }));
401
+ msg.replyWithImage = (media, opts) => __awaiter(this, void 0, void 0, function* () {
402
+ return yield this.sendImage(Object.assign(Object.assign({ media }, opts), { to: data.id }));
378
403
  });
379
- msg.replyWithVideo = (opts) => __awaiter(this, void 0, void 0, function* () {
380
- return yield this.sendVideo(Object.assign(Object.assign({}, opts), { to: data.id }));
404
+ msg.replyWithVideo = (media, opts) => __awaiter(this, void 0, void 0, function* () {
405
+ return yield this.sendVideo(Object.assign(Object.assign({ media }, opts), { to: data.id }));
381
406
  });
382
- msg.replyWithSticker = (opts) => __awaiter(this, void 0, void 0, function* () {
383
- return yield this.sendSticker(Object.assign(Object.assign({}, opts), { to: data.id }));
407
+ msg.replyWithSticker = (sticker, opts) => __awaiter(this, void 0, void 0, function* () {
408
+ return yield this.sendSticker(Object.assign(Object.assign({ sticker }, opts), { to: data.id }));
384
409
  });
385
410
  msg.replyWithTyping = (duration) => __awaiter(this, void 0, void 0, function* () {
386
411
  return yield this.sendTyping({ to: data.id, duration });
@@ -402,28 +427,35 @@ class AutoWA {
402
427
  destroy() {
403
428
  return __awaiter(this, void 0, void 0, function* () {
404
429
  this.logger.info("Destroying...");
430
+ let error = false;
431
+ let msg = "";
405
432
  try {
406
433
  yield this.sock.logout();
407
434
  }
408
- catch (error) {
409
- const msg = `Logout failed: ${error.message}`;
435
+ catch (err) {
436
+ msg = `Logout failed: ${err.message}`;
437
+ error = true;
438
+ }
439
+ finally {
440
+ this.sock.end(undefined);
441
+ const dir = path_1.default.resolve(Defaults_1.CREDENTIALS.DIR_NAME, this.sessionId + Defaults_1.CREDENTIALS.PREFIX);
442
+ if (fs_1.default.existsSync(dir)) {
443
+ fs_1.default.rmSync(dir, { force: true, recursive: true });
444
+ }
445
+ this.logger.info("Destroyed!");
446
+ }
447
+ if (error) {
410
448
  this.logger.error(msg);
411
449
  throw new Error_1.AutoWAError(msg);
412
450
  }
413
- this.sock.end(undefined);
414
- const dir = path_1.default.resolve(Defaults_1.CREDENTIALS.DIR_NAME, this.sessionId + Defaults_1.CREDENTIALS.PREFIX);
415
- if (fs_1.default.existsSync(dir)) {
416
- fs_1.default.rmSync(dir, { force: true, recursive: true });
417
- }
418
- this.logger.info("Destroyed!");
419
451
  });
420
452
  }
421
453
  isExist(_a) {
422
- return __awaiter(this, arguments, void 0, function* ({ to, isGroup = false }) {
454
+ return __awaiter(this, arguments, void 0, function* ({ from, isGroup = false }) {
423
455
  var _b, _c;
424
456
  try {
425
457
  const receiver = (0, helper_1.phoneToJid)({
426
- to,
458
+ from: from,
427
459
  isGroup,
428
460
  });
429
461
  if (receiver.includes("@broadcast")) {
@@ -441,20 +473,22 @@ class AutoWA {
441
473
  }
442
474
  });
443
475
  }
444
- downloadMedia(msg, mediaPath) {
476
+ downloadMedia(msg, opts, ext) {
445
477
  return __awaiter(this, void 0, void 0, function* () {
446
- const filePath = path_1.default.join(process.cwd(), mediaPath);
478
+ const filePath = path_1.default.join(process.cwd(), (opts.path || "my_media") + "." + ext);
447
479
  const buf = yield (0, baileys_1.downloadMediaMessage)(msg, "buffer", {});
480
+ if (opts.asBuffer)
481
+ return Promise.resolve(buf);
448
482
  fs_1.default.writeFileSync(filePath, buf.toString("base64"), "base64");
449
483
  return Promise.resolve(filePath);
450
484
  });
451
485
  }
452
486
  validateReceiver(_a) {
453
- return __awaiter(this, arguments, void 0, function* ({ to, isGroup = false }) {
454
- const oldPhone = to;
455
- to = (0, helper_1.phoneToJid)({ to, isGroup });
487
+ return __awaiter(this, arguments, void 0, function* ({ from, isGroup = false }) {
488
+ const oldPhone = from;
489
+ from = (0, helper_1.phoneToJid)({ from, isGroup });
456
490
  const isRegistered = yield this.isExist({
457
- to,
491
+ from,
458
492
  isGroup,
459
493
  });
460
494
  if (!isRegistered) {
@@ -463,7 +497,7 @@ class AutoWA {
463
497
  };
464
498
  }
465
499
  return {
466
- receiver: to,
500
+ receiver: from,
467
501
  };
468
502
  });
469
503
  }
@@ -471,7 +505,7 @@ class AutoWA {
471
505
  return __awaiter(this, void 0, void 0, function* () {
472
506
  var { to, text = "", isGroup = false } = _a, props = __rest(_a, ["to", "text", "isGroup"]);
473
507
  const { receiver, msg } = yield this.validateReceiver({
474
- to,
508
+ from: to,
475
509
  isGroup,
476
510
  });
477
511
  if (msg)
@@ -486,109 +520,129 @@ class AutoWA {
486
520
  }
487
521
  sendImage(_a) {
488
522
  return __awaiter(this, void 0, void 0, function* () {
489
- var { to, text = "", isGroup = false, media } = _a, props = __rest(_a, ["to", "text", "isGroup", "media"]);
523
+ var { to, text = "", isGroup = false, media, failMsg } = _a, props = __rest(_a, ["to", "text", "isGroup", "media", "failMsg"]);
490
524
  if (!media)
491
525
  throw new Error_1.AutoWAError("'media' parameter must be Buffer or String URL");
492
526
  const { receiver, msg } = yield this.validateReceiver({
493
- to,
527
+ from: to,
494
528
  isGroup,
495
529
  });
496
530
  if (msg)
497
531
  throw new Error_1.AutoWAError(msg);
498
- return yield this.sock.sendMessage(receiver, {
499
- image: typeof media == "string"
500
- ? {
501
- url: media,
502
- }
503
- : media,
504
- caption: text,
505
- mentions: props.mentions,
506
- }, {
507
- quoted: props.answering,
508
- });
532
+ try {
533
+ return yield this.sock.sendMessage(receiver, {
534
+ image: typeof media == "string"
535
+ ? {
536
+ url: media,
537
+ }
538
+ : media,
539
+ caption: text,
540
+ mentions: props.mentions,
541
+ }, {
542
+ quoted: props.answering,
543
+ });
544
+ }
545
+ catch (error) {
546
+ return yield this.sendText(Object.assign({ to: receiver, text: failMsg || "There is error while trying to send the image🥹" }, props));
547
+ }
509
548
  });
510
549
  }
511
550
  sendVideo(_a) {
512
551
  return __awaiter(this, void 0, void 0, function* () {
513
- var { to, text = "", isGroup = false, media } = _a, props = __rest(_a, ["to", "text", "isGroup", "media"]);
552
+ var { to, text = "", isGroup = false, media, failMsg } = _a, props = __rest(_a, ["to", "text", "isGroup", "media", "failMsg"]);
514
553
  if (!media)
515
554
  throw new Error_1.AutoWAError("'media' parameter must be Buffer or String URL");
516
555
  const { receiver, msg } = yield this.validateReceiver({
517
- to,
556
+ from: to,
518
557
  isGroup,
519
558
  });
520
559
  if (msg)
521
560
  throw new Error_1.AutoWAError(msg);
522
- return yield this.sock.sendMessage(receiver, {
523
- video: typeof media == "string"
524
- ? {
525
- url: media,
526
- }
527
- : media,
528
- caption: text,
529
- mentions: props.mentions,
530
- }, {
531
- quoted: props.answering,
532
- });
561
+ try {
562
+ return yield this.sock.sendMessage(receiver, {
563
+ video: typeof media == "string"
564
+ ? {
565
+ url: media,
566
+ }
567
+ : media,
568
+ caption: text,
569
+ mentions: props.mentions,
570
+ }, {
571
+ quoted: props.answering,
572
+ });
573
+ }
574
+ catch (error) {
575
+ return yield this.sendText(Object.assign({ to: receiver, text: failMsg || "There is error while trying to send the video🥹" }, props));
576
+ }
533
577
  });
534
578
  }
535
579
  sendDocument(_a) {
536
580
  return __awaiter(this, void 0, void 0, function* () {
537
- var { to, text = "", isGroup = false, media, filename } = _a, props = __rest(_a, ["to", "text", "isGroup", "media", "filename"]);
581
+ var { to, text = "", isGroup = false, media, filename, failMsg } = _a, props = __rest(_a, ["to", "text", "isGroup", "media", "filename", "failMsg"]);
538
582
  if (!media)
539
583
  throw new Error_1.AutoWAError("'media' parameter must be Buffer or String URL");
540
584
  const mimetype = mime_1.default.getType(filename);
541
585
  if (!mimetype)
542
586
  throw new Error_1.AutoWAError(`Filename must include valid extension`);
543
587
  const { receiver, msg } = yield this.validateReceiver({
544
- to,
588
+ from: to,
545
589
  isGroup,
546
590
  });
547
591
  if (msg)
548
592
  throw new Error_1.AutoWAError(msg);
549
- return yield this.sock.sendMessage(receiver, {
550
- fileName: filename,
551
- document: typeof media == "string"
552
- ? {
553
- url: media,
554
- }
555
- : media,
556
- mimetype: mimetype,
557
- caption: text,
558
- mentions: props.mentions,
559
- }, {
560
- quoted: props.answering,
561
- });
593
+ try {
594
+ return yield this.sock.sendMessage(receiver, {
595
+ fileName: filename,
596
+ document: typeof media == "string"
597
+ ? {
598
+ url: media,
599
+ }
600
+ : media,
601
+ mimetype: mimetype,
602
+ caption: text,
603
+ mentions: props.mentions,
604
+ }, {
605
+ quoted: props.answering,
606
+ });
607
+ }
608
+ catch (error) {
609
+ return yield this.sendText(Object.assign({ to: receiver, text: failMsg || "There is error while trying to send the document" }, props));
610
+ }
562
611
  });
563
612
  }
564
613
  sendAudio(_a) {
565
614
  return __awaiter(this, void 0, void 0, function* () {
566
- var { to, isGroup = false, media, voiceNote = false } = _a, props = __rest(_a, ["to", "isGroup", "media", "voiceNote"]);
615
+ var { to, isGroup = false, media, voiceNote = false, failMsg } = _a, props = __rest(_a, ["to", "isGroup", "media", "voiceNote", "failMsg"]);
567
616
  if (!media)
568
617
  throw new Error_1.AutoWAError("'media' parameter must be Buffer or String URL");
569
618
  const { receiver, msg } = yield this.validateReceiver({
570
- to,
619
+ from: to,
571
620
  isGroup,
572
621
  });
573
622
  if (msg)
574
623
  throw new Error_1.AutoWAError(msg);
575
- return yield this.sock.sendMessage(receiver, {
576
- audio: typeof media == "string"
577
- ? {
578
- url: media,
579
- }
580
- : media,
581
- ptt: voiceNote,
582
- mentions: props.mentions,
583
- }, {
584
- quoted: props.answering,
585
- });
624
+ try {
625
+ return yield this.sock.sendMessage(receiver, {
626
+ audio: typeof media == "string"
627
+ ? {
628
+ url: media,
629
+ }
630
+ : media,
631
+ ptt: voiceNote,
632
+ mentions: props.mentions,
633
+ }, {
634
+ quoted: props.answering,
635
+ });
636
+ }
637
+ catch (error) {
638
+ return yield this.sendText(Object.assign({ to: receiver, text: failMsg || "There is error while trying to send the audio🥹" }, props));
639
+ }
586
640
  });
587
641
  }
588
642
  sendReaction(_a) {
589
643
  return __awaiter(this, arguments, void 0, function* ({ to, text, isGroup = false, answering }) {
590
644
  const { receiver, msg } = yield this.validateReceiver({
591
- to,
645
+ from: to,
592
646
  isGroup,
593
647
  });
594
648
  if (msg)
@@ -604,7 +658,7 @@ class AutoWA {
604
658
  sendTyping(_a) {
605
659
  return __awaiter(this, arguments, void 0, function* ({ to, duration = 1000, isGroup = false }) {
606
660
  const { receiver, msg } = yield this.validateReceiver({
607
- to,
661
+ from: to,
608
662
  isGroup,
609
663
  });
610
664
  if (msg)
@@ -617,7 +671,7 @@ class AutoWA {
617
671
  sendRecording(_a) {
618
672
  return __awaiter(this, arguments, void 0, function* ({ to, duration = 1000, isGroup = false }) {
619
673
  const { receiver, msg } = yield this.validateReceiver({
620
- to,
674
+ from: to,
621
675
  isGroup,
622
676
  });
623
677
  if (msg)
@@ -634,31 +688,44 @@ class AutoWA {
634
688
  }
635
689
  sendSticker(_a) {
636
690
  return __awaiter(this, void 0, void 0, function* () {
637
- var { to, isGroup, filePath, pack = "WhatsAuto.js", author = "freack21", failMsg } = _a, props = __rest(_a, ["to", "isGroup", "filePath", "pack", "author", "failMsg"]);
638
- if (!filePath)
639
- throw new Error_1.AutoWAError("'filePath' parameter must be String to file path");
691
+ var { to, isGroup, media, sticker, failMsg } = _a, props = __rest(_a, ["to", "isGroup", "media", "sticker", "failMsg"]);
640
692
  const { receiver, msg } = yield this.validateReceiver({
641
- to,
693
+ from: to,
642
694
  isGroup,
643
695
  });
644
696
  if (msg)
645
697
  throw new Error_1.AutoWAError(msg);
646
- const buffer = yield (0, make_stiker_1.makeWebpBuffer)(Object.assign({ filePath, pack, author }, props));
647
- if (buffer === null) {
648
- return yield this.sendText(Object.assign({ to, text: failMsg || "The server failed to create a sticker🥹", isGroup }, props));
698
+ let buf;
699
+ if (!sticker) {
700
+ if (!media)
701
+ throw new Error_1.AutoWAError("'media' or 'sticker' parameter must be filled");
702
+ if (!(typeof media === "string" || Buffer.isBuffer(media))) {
703
+ throw new Error_1.AutoWAError("'media' parameter must be String or Buffer");
704
+ }
705
+ const stickerProps = Object.assign(Object.assign(Object.assign({}, this.defaultStickerProps), { media }), props);
706
+ buf = yield (0, make_stiker_1.makeWebpBuffer)(stickerProps);
707
+ if (buf === null) {
708
+ return yield this.sendText(Object.assign({ to, text: failMsg || "There is error while creating the sticker🥹", isGroup }, props));
709
+ }
710
+ sticker = buf;
711
+ }
712
+ try {
713
+ return yield this.sock.sendMessage(receiver, {
714
+ sticker,
715
+ mentions: props.mentions,
716
+ }, {
717
+ quoted: props.answering,
718
+ });
719
+ }
720
+ catch (error) {
721
+ return yield this.sendText(Object.assign({ to: receiver, text: failMsg || "There is error while trying to send the sticker🥹" }, props));
649
722
  }
650
- return yield this.sock.sendMessage(receiver, {
651
- sticker: buffer,
652
- mentions: props.mentions,
653
- }, {
654
- quoted: props.answering,
655
- });
656
723
  });
657
724
  }
658
725
  getProfileInfo(target) {
659
726
  return __awaiter(this, void 0, void 0, function* () {
660
727
  const { receiver, msg } = yield this.validateReceiver({
661
- to: target,
728
+ from: target,
662
729
  });
663
730
  if (msg)
664
731
  throw new Error_1.AutoWAError(msg);
@@ -675,48 +742,48 @@ class AutoWA {
675
742
  addMemberToGroup(_a) {
676
743
  return __awaiter(this, arguments, void 0, function* ({ participants, to }) {
677
744
  const { receiver: group, msg } = yield this.validateReceiver({
678
- to,
745
+ from: to,
679
746
  isGroup: true,
680
747
  });
681
748
  if (msg)
682
749
  throw new Error_1.AutoWAError(msg);
683
- participants = participants.map((d) => (0, helper_1.phoneToJid)({ to: d }));
750
+ participants = participants.map((d) => (0, helper_1.phoneToJid)({ from: d }));
684
751
  return yield this.sock.groupParticipantsUpdate(group, participants, "add");
685
752
  });
686
753
  }
687
754
  removeMemberFromGroup(_a) {
688
755
  return __awaiter(this, arguments, void 0, function* ({ participants, to }) {
689
756
  const { receiver: group, msg } = yield this.validateReceiver({
690
- to,
757
+ from: to,
691
758
  isGroup: true,
692
759
  });
693
760
  if (msg)
694
761
  throw new Error_1.AutoWAError(msg);
695
- participants = participants.map((d) => (0, helper_1.phoneToJid)({ to: d }));
762
+ participants = participants.map((d) => (0, helper_1.phoneToJid)({ from: d }));
696
763
  return yield this.sock.groupParticipantsUpdate(group, participants, "remove");
697
764
  });
698
765
  }
699
766
  promoteMemberGroup(_a) {
700
767
  return __awaiter(this, arguments, void 0, function* ({ participants, to }) {
701
768
  const { receiver: group, msg } = yield this.validateReceiver({
702
- to,
769
+ from: to,
703
770
  isGroup: true,
704
771
  });
705
772
  if (msg)
706
773
  throw new Error_1.AutoWAError(msg);
707
- participants = participants.map((d) => (0, helper_1.phoneToJid)({ to: d }));
774
+ participants = participants.map((d) => (0, helper_1.phoneToJid)({ from: d }));
708
775
  return yield this.sock.groupParticipantsUpdate(group, participants, "promote");
709
776
  });
710
777
  }
711
778
  demoteMemberGroup(_a) {
712
779
  return __awaiter(this, arguments, void 0, function* ({ participants, to }) {
713
780
  const { receiver: group, msg } = yield this.validateReceiver({
714
- to,
781
+ from: to,
715
782
  isGroup: true,
716
783
  });
717
784
  if (msg)
718
785
  throw new Error_1.AutoWAError(msg);
719
- participants = participants.map((d) => (0, helper_1.phoneToJid)({ to: d }));
786
+ participants = participants.map((d) => (0, helper_1.phoneToJid)({ from: d }));
720
787
  return yield this.sock.groupParticipantsUpdate(group, participants, "demote");
721
788
  });
722
789
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "whatsauto.js",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "Easy WhatsApp Automation with Session",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",