whatsauto.js 1.0.3 → 1.0.5
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 +53 -5
- package/dist/Types/index.d.ts +37 -7
- package/dist/Types/index.d.ts.map +1 -1
- package/dist/Utils/helper.d.ts +3 -6
- package/dist/Utils/helper.d.ts.map +1 -1
- package/dist/Utils/helper.js +17 -5
- package/dist/Utils/make-stiker.d.ts.map +1 -1
- package/dist/Utils/make-stiker.js +14 -9
- package/dist/WhatsApp/AutoWA.d.ts +13 -11
- package/dist/WhatsApp/AutoWA.d.ts.map +1 -1
- package/dist/WhatsApp/AutoWA.js +216 -120
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -37,7 +37,7 @@ Additionally, WhatsAuto.js uses the Object-Oriented Programming (OOP) paradigm,
|
|
|
37
37
|
### Make WA Session / Client
|
|
38
38
|
|
|
39
39
|
```ts
|
|
40
|
-
import AutoWA from "
|
|
40
|
+
import AutoWA from "whatsauto.js";
|
|
41
41
|
|
|
42
42
|
// using QR (default)
|
|
43
43
|
const autoWA = new AutoWA("session_name", { printQR: true });
|
|
@@ -45,11 +45,7 @@ const autoWA = new AutoWA("session_name", { printQR: true });
|
|
|
45
45
|
const autoWA = new AutoWA("session_name");
|
|
46
46
|
// or, using pair code (experimental)
|
|
47
47
|
const autoWA = new AutoWA("session_name", { phoneNumber: "628xxxx" });
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
> See full session parameters [here](#session-parameters)
|
|
51
48
|
|
|
52
|
-
```ts
|
|
53
49
|
// listen to some event
|
|
54
50
|
const ev = autoWA.event;
|
|
55
51
|
|
|
@@ -84,6 +80,58 @@ await autoWA.initialize();
|
|
|
84
80
|
}
|
|
85
81
|
```
|
|
86
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
|
+
```
|
|
134
|
+
|
|
87
135
|
## 🧾 Disclaimer
|
|
88
136
|
|
|
89
137
|
This library is for educational and research purposes only. Use it responsibly and at your own risk.
|
package/dist/Types/index.d.ts
CHANGED
|
@@ -6,6 +6,17 @@ export interface IWAutoSendMessage {
|
|
|
6
6
|
answering?: proto.IWebMessageInfo;
|
|
7
7
|
mentions?: string[];
|
|
8
8
|
}
|
|
9
|
+
export interface IWAutoForwardMessage {
|
|
10
|
+
to: string | number;
|
|
11
|
+
msg: proto.IWebMessageInfo;
|
|
12
|
+
isGroup?: boolean;
|
|
13
|
+
mentions?: string[];
|
|
14
|
+
}
|
|
15
|
+
export interface IWAutoPhoneToJid {
|
|
16
|
+
from: string | number;
|
|
17
|
+
isGroup?: boolean;
|
|
18
|
+
reverse?: boolean;
|
|
19
|
+
}
|
|
9
20
|
export interface IWAutoSendMedia extends IWAutoSendMessage {
|
|
10
21
|
/**
|
|
11
22
|
* Media you want to send
|
|
@@ -20,6 +31,16 @@ export interface IWAutoSendTyping extends IWAutoSendMessage {
|
|
|
20
31
|
*/
|
|
21
32
|
duration: number;
|
|
22
33
|
}
|
|
34
|
+
export interface IWAutoDownloadMedia {
|
|
35
|
+
/**
|
|
36
|
+
* path of your downloaded media
|
|
37
|
+
*/
|
|
38
|
+
path?: string;
|
|
39
|
+
/**
|
|
40
|
+
* return this function as buffer
|
|
41
|
+
*/
|
|
42
|
+
asBuffer?: boolean;
|
|
43
|
+
}
|
|
23
44
|
export interface Repliable {
|
|
24
45
|
/**
|
|
25
46
|
* reply this message with text
|
|
@@ -28,19 +49,19 @@ export interface Repliable {
|
|
|
28
49
|
/**
|
|
29
50
|
* reply this message with Audio
|
|
30
51
|
*/
|
|
31
|
-
replyWithAudio: (
|
|
52
|
+
replyWithAudio: (media: string | Buffer, data?: Partial<IWAutoSendMedia>) => Promise<proto.WebMessageInfo>;
|
|
32
53
|
/**
|
|
33
54
|
* reply this message with Video
|
|
34
55
|
*/
|
|
35
|
-
replyWithVideo: (
|
|
56
|
+
replyWithVideo: (media: string | Buffer, data?: Partial<IWAutoSendMedia>) => Promise<proto.WebMessageInfo>;
|
|
36
57
|
/**
|
|
37
58
|
* reply this message with Image
|
|
38
59
|
*/
|
|
39
|
-
replyWithImage: (
|
|
60
|
+
replyWithImage: (media: string | Buffer, data?: Partial<IWAutoSendMedia>) => Promise<proto.WebMessageInfo>;
|
|
40
61
|
/**
|
|
41
62
|
* reply this message with Sticker
|
|
42
63
|
*/
|
|
43
|
-
replyWithSticker: (
|
|
64
|
+
replyWithSticker: (sticker: Buffer | null, data?: Partial<IWAutoSendMedia & IStickerOptions>) => Promise<proto.WebMessageInfo>;
|
|
44
65
|
/**
|
|
45
66
|
* reply this message with Typing
|
|
46
67
|
*/
|
|
@@ -89,9 +110,9 @@ export interface IWAutoMessage extends proto.IWebMessageInfo, Repliable {
|
|
|
89
110
|
quotedMessage: IWAutoMessage;
|
|
90
111
|
/**
|
|
91
112
|
* @param path save media location path without extension
|
|
92
|
-
* @example "
|
|
113
|
+
* @example "my_media"
|
|
93
114
|
*/
|
|
94
|
-
downloadMedia: (
|
|
115
|
+
downloadMedia: (opts?: IWAutoDownloadMedia) => Promise<string | Buffer>;
|
|
95
116
|
/**
|
|
96
117
|
* react this message
|
|
97
118
|
*/
|
|
@@ -100,6 +121,14 @@ export interface IWAutoMessage extends proto.IWebMessageInfo, Repliable {
|
|
|
100
121
|
* read this message
|
|
101
122
|
*/
|
|
102
123
|
read: () => Promise<void>;
|
|
124
|
+
/**
|
|
125
|
+
* convert this message to sticker
|
|
126
|
+
*/
|
|
127
|
+
toSticker: (props?: Omit<IStickerOptions, "media">) => Promise<Buffer | null>;
|
|
128
|
+
/**
|
|
129
|
+
* forward this message
|
|
130
|
+
*/
|
|
131
|
+
forward: (to: string | number, props?: Partial<IWAutoForwardMessage>) => Promise<proto.IWebMessageInfo>;
|
|
103
132
|
}
|
|
104
133
|
export interface IWAutoMessageReceived extends IWAutoMessage {
|
|
105
134
|
/**
|
|
@@ -139,11 +168,12 @@ export interface IWAutoSessionConfig {
|
|
|
139
168
|
phoneNumber?: string;
|
|
140
169
|
}
|
|
141
170
|
export interface IStickerOptions {
|
|
142
|
-
|
|
171
|
+
media: string | Buffer;
|
|
143
172
|
pack?: string;
|
|
144
173
|
author?: string;
|
|
145
174
|
transparent?: boolean;
|
|
146
175
|
bgColor?: string;
|
|
176
|
+
sticker?: Buffer;
|
|
147
177
|
}
|
|
148
178
|
export interface GroupMemberUpdate extends Repliable {
|
|
149
179
|
sessionId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAEpF,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,eAAgB,SAAQ,iBAAiB;IACxD;;OAEG;IACH,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,KAAK,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAElG;;OAEG;IACH,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Types/index.ts"],"names":[],"mappings":"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"}
|
package/dist/Utils/helper.d.ts
CHANGED
|
@@ -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: ({
|
|
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;
|
|
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"}
|
package/dist/Utils/helper.js
CHANGED
|
@@ -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 = ({
|
|
84
|
-
if (!
|
|
85
|
-
throw new Error_1.ValidationError('"
|
|
86
|
-
let number =
|
|
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,
|
|
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
|
|
21
|
+
const getRandomName = () => `./${Date.now()}${Math.random() * 1000}.webp`;
|
|
22
|
+
const randomName = getRandomName();
|
|
22
23
|
let buffer = null;
|
|
23
|
-
const {
|
|
24
|
-
if (!
|
|
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":
|
|
29
|
-
"sticker-pack-publisher":
|
|
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(
|
|
43
|
-
.input(
|
|
47
|
+
ffmpeg(tempName)
|
|
48
|
+
.input(tempName)
|
|
44
49
|
.on("error", () => {
|
|
45
|
-
fs_1.default.unlinkSync(
|
|
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(
|
|
68
|
+
fs_1.default.unlinkSync(tempName);
|
|
64
69
|
fs_1.default.unlinkSync(randomName);
|
|
65
70
|
resolve(buffer);
|
|
66
71
|
}))
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { WASocket
|
|
2
|
-
import { IWAutoSendMessage, IWAutoSendTyping, IWAutoSessionConfig, IWAutoMessage, IStickerOptions, WAutoGroupMemberActionOptions, IWAutoSendMedia } from "../Types";
|
|
1
|
+
import { WASocket } from "@whiskeysockets/baileys";
|
|
2
|
+
import { IWAutoSendMessage, IWAutoSendTyping, IWAutoSessionConfig, IWAutoMessage, IStickerOptions, WAutoGroupMemberActionOptions, IWAutoSendMedia, IWAutoPhoneToJid, IWAutoForwardMessage } 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,22 @@ export declare class AutoWA {
|
|
|
17
18
|
private startSocket;
|
|
18
19
|
private setupWASocket;
|
|
19
20
|
destroy(): Promise<void>;
|
|
20
|
-
isExist({
|
|
21
|
+
isExist({ from, isGroup }: IWAutoPhoneToJid): Promise<boolean>;
|
|
21
22
|
private downloadMedia;
|
|
22
23
|
private validateReceiver;
|
|
23
|
-
sendText({ to, text, isGroup, ...props }: IWAutoSendMessage): Promise<proto.WebMessageInfo
|
|
24
|
-
sendImage({ to, text, isGroup, media, ...props }: IWAutoSendMedia): Promise<proto.WebMessageInfo
|
|
25
|
-
sendVideo({ to, text, isGroup, media, ...props }: IWAutoSendMedia): Promise<proto.WebMessageInfo
|
|
26
|
-
sendDocument({ to, text, isGroup, media, filename, ...props }: IWAutoSendMedia & {
|
|
24
|
+
sendText({ to, text, isGroup, ...props }: IWAutoSendMessage): Promise<import("@whiskeysockets/baileys").proto.WebMessageInfo>;
|
|
25
|
+
sendImage({ to, text, isGroup, media, failMsg, ...props }: IWAutoSendMedia): Promise<import("@whiskeysockets/baileys").proto.WebMessageInfo>;
|
|
26
|
+
sendVideo({ to, text, isGroup, media, failMsg, ...props }: IWAutoSendMedia): Promise<import("@whiskeysockets/baileys").proto.WebMessageInfo>;
|
|
27
|
+
sendDocument({ to, text, isGroup, media, filename, failMsg, ...props }: IWAutoSendMedia & {
|
|
27
28
|
filename: string;
|
|
28
|
-
}): Promise<proto.WebMessageInfo
|
|
29
|
-
sendAudio({ to, isGroup, media, voiceNote, ...props }: Omit<IWAutoSendMedia, "text">): Promise<proto.WebMessageInfo
|
|
30
|
-
sendReaction({ to, text, isGroup, answering }: IWAutoSendMessage): Promise<proto.WebMessageInfo>;
|
|
29
|
+
}): Promise<import("@whiskeysockets/baileys").proto.WebMessageInfo>;
|
|
30
|
+
sendAudio({ to, isGroup, media, voiceNote, failMsg, ...props }: Omit<IWAutoSendMedia, "text">): Promise<import("@whiskeysockets/baileys").proto.WebMessageInfo>;
|
|
31
|
+
sendReaction({ to, text, isGroup, answering }: IWAutoSendMessage): Promise<import("@whiskeysockets/baileys").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,
|
|
35
|
+
sendSticker({ to, isGroup, media, sticker, failMsg, ...props }: IWAutoSendMedia & IStickerOptions): Promise<import("@whiskeysockets/baileys").proto.WebMessageInfo>;
|
|
36
|
+
forwardMessage({ to, msg, isGroup, ...props }: IWAutoForwardMessage): Promise<import("@whiskeysockets/baileys").proto.WebMessageInfo>;
|
|
35
37
|
getProfileInfo(target: string): Promise<{
|
|
36
38
|
profilePictureUrl: string;
|
|
37
39
|
status: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutoWA.d.ts","sourceRoot":"","sources":["../../src/WhatsApp/AutoWA.ts"],"names":[],"mappings":"AAGA,OAAqB,EACnB,QAAQ,
|
|
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,EAGL,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,EAGb,eAAe,EAEf,6BAA6B,EAC7B,eAAe,EACf,gBAAgB,EAEhB,oBAAoB,EACrB,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;IAiVd,OAAO;IAyBP,OAAO,CAAC,EAAE,IAAI,EAAE,OAAe,EAAE,EAAE,gBAAgB;YAkBlD,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,KAAK,EACL,OAAO,EACP,OAAO,EACP,GAAG,KAAK,EACT,EAAE,eAAe,GAAG,eAAe;IAsDvB,cAAc,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,OAAe,EAAE,GAAG,KAAK,EAAE,EAAE,oBAAoB;IAkB3E,cAAc,CAAC,MAAM,EAAE,MAAM;;;;;;;IAiB7B,gBAAgB,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,6BAA6B;;;wBAjuBnC,yBAAI;;IA4uBrC,qBAAqB,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,6BAA6B;;;wBA5uBxC,yBAAI;;IAuvBrC,kBAAkB,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,6BAA6B;;;wBAvvBrC,yBAAI;;IAkwBrC,iBAAiB,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,6BAA6B;;;wBAlwBpC,yBAAI;;CA4wBnD"}
|
package/dist/WhatsApp/AutoWA.js
CHANGED
|
@@ -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
|
-
|
|
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 = (
|
|
255
|
-
|
|
256
|
-
|
|
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)({
|
|
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 });
|
|
@@ -298,6 +323,9 @@ class AutoWA {
|
|
|
298
323
|
msg.react = (reaction) => __awaiter(this, void 0, void 0, function* () {
|
|
299
324
|
return yield this.sendReaction({ to: from, answering: msg, text: reaction });
|
|
300
325
|
});
|
|
326
|
+
msg.forward = (to, opts) => __awaiter(this, void 0, void 0, function* () {
|
|
327
|
+
return yield this.forwardMessage(Object.assign({ to, msg }, opts));
|
|
328
|
+
});
|
|
301
329
|
if (msg.key.fromMe) {
|
|
302
330
|
msg = Object.assign(Object.assign({}, msg), { receiver: from, author: myJid });
|
|
303
331
|
(_6 = this.callback.get(Defaults_1.CALLBACK_KEY.ON_MESSAGE_SENT)) === null || _6 === void 0 ? void 0 : _6(msg);
|
|
@@ -370,17 +398,17 @@ class AutoWA {
|
|
|
370
398
|
msg.replyWithText = (text, opts) => __awaiter(this, void 0, void 0, function* () {
|
|
371
399
|
return yield this.sendText(Object.assign(Object.assign({}, opts), { text, to: data.id }));
|
|
372
400
|
});
|
|
373
|
-
msg.replyWithAudio = (opts) => __awaiter(this, void 0, void 0, function* () {
|
|
374
|
-
return yield this.sendAudio(Object.assign(Object.assign({}, opts), { to: data.id }));
|
|
401
|
+
msg.replyWithAudio = (media, opts) => __awaiter(this, void 0, void 0, function* () {
|
|
402
|
+
return yield this.sendAudio(Object.assign(Object.assign({ media }, opts), { to: data.id }));
|
|
375
403
|
});
|
|
376
|
-
msg.replyWithImage = (opts) => __awaiter(this, void 0, void 0, function* () {
|
|
377
|
-
return yield this.sendImage(Object.assign(Object.assign({}, opts), { to: data.id }));
|
|
404
|
+
msg.replyWithImage = (media, opts) => __awaiter(this, void 0, void 0, function* () {
|
|
405
|
+
return yield this.sendImage(Object.assign(Object.assign({ media }, opts), { to: data.id }));
|
|
378
406
|
});
|
|
379
|
-
msg.replyWithVideo = (opts) => __awaiter(this, void 0, void 0, function* () {
|
|
380
|
-
return yield this.sendVideo(Object.assign(Object.assign({}, opts), { to: data.id }));
|
|
407
|
+
msg.replyWithVideo = (media, opts) => __awaiter(this, void 0, void 0, function* () {
|
|
408
|
+
return yield this.sendVideo(Object.assign(Object.assign({ media }, opts), { to: data.id }));
|
|
381
409
|
});
|
|
382
|
-
msg.replyWithSticker = (opts) => __awaiter(this, void 0, void 0, function* () {
|
|
383
|
-
return yield this.sendSticker(Object.assign(Object.assign({}, opts), { to: data.id }));
|
|
410
|
+
msg.replyWithSticker = (sticker, opts) => __awaiter(this, void 0, void 0, function* () {
|
|
411
|
+
return yield this.sendSticker(Object.assign(Object.assign({ sticker }, opts), { to: data.id }));
|
|
384
412
|
});
|
|
385
413
|
msg.replyWithTyping = (duration) => __awaiter(this, void 0, void 0, function* () {
|
|
386
414
|
return yield this.sendTyping({ to: data.id, duration });
|
|
@@ -402,28 +430,35 @@ class AutoWA {
|
|
|
402
430
|
destroy() {
|
|
403
431
|
return __awaiter(this, void 0, void 0, function* () {
|
|
404
432
|
this.logger.info("Destroying...");
|
|
433
|
+
let error = false;
|
|
434
|
+
let msg = "";
|
|
405
435
|
try {
|
|
406
436
|
yield this.sock.logout();
|
|
407
437
|
}
|
|
408
|
-
catch (
|
|
409
|
-
|
|
438
|
+
catch (err) {
|
|
439
|
+
msg = `Logout failed: ${err.message}`;
|
|
440
|
+
error = true;
|
|
441
|
+
}
|
|
442
|
+
finally {
|
|
443
|
+
this.sock.end(undefined);
|
|
444
|
+
const dir = path_1.default.resolve(Defaults_1.CREDENTIALS.DIR_NAME, this.sessionId + Defaults_1.CREDENTIALS.PREFIX);
|
|
445
|
+
if (fs_1.default.existsSync(dir)) {
|
|
446
|
+
fs_1.default.rmSync(dir, { force: true, recursive: true });
|
|
447
|
+
}
|
|
448
|
+
this.logger.info("Destroyed!");
|
|
449
|
+
}
|
|
450
|
+
if (error) {
|
|
410
451
|
this.logger.error(msg);
|
|
411
452
|
throw new Error_1.AutoWAError(msg);
|
|
412
453
|
}
|
|
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
454
|
});
|
|
420
455
|
}
|
|
421
456
|
isExist(_a) {
|
|
422
|
-
return __awaiter(this, arguments, void 0, function* ({
|
|
457
|
+
return __awaiter(this, arguments, void 0, function* ({ from, isGroup = false }) {
|
|
423
458
|
var _b, _c;
|
|
424
459
|
try {
|
|
425
460
|
const receiver = (0, helper_1.phoneToJid)({
|
|
426
|
-
|
|
461
|
+
from: from,
|
|
427
462
|
isGroup,
|
|
428
463
|
});
|
|
429
464
|
if (receiver.includes("@broadcast")) {
|
|
@@ -441,20 +476,22 @@ class AutoWA {
|
|
|
441
476
|
}
|
|
442
477
|
});
|
|
443
478
|
}
|
|
444
|
-
downloadMedia(msg,
|
|
479
|
+
downloadMedia(msg, opts, ext) {
|
|
445
480
|
return __awaiter(this, void 0, void 0, function* () {
|
|
446
|
-
const filePath = path_1.default.join(process.cwd(),
|
|
481
|
+
const filePath = path_1.default.join(process.cwd(), (opts.path || "my_media") + "." + ext);
|
|
447
482
|
const buf = yield (0, baileys_1.downloadMediaMessage)(msg, "buffer", {});
|
|
483
|
+
if (opts.asBuffer)
|
|
484
|
+
return Promise.resolve(buf);
|
|
448
485
|
fs_1.default.writeFileSync(filePath, buf.toString("base64"), "base64");
|
|
449
486
|
return Promise.resolve(filePath);
|
|
450
487
|
});
|
|
451
488
|
}
|
|
452
489
|
validateReceiver(_a) {
|
|
453
|
-
return __awaiter(this, arguments, void 0, function* ({
|
|
454
|
-
const oldPhone =
|
|
455
|
-
|
|
490
|
+
return __awaiter(this, arguments, void 0, function* ({ from, isGroup = false }) {
|
|
491
|
+
const oldPhone = from;
|
|
492
|
+
from = (0, helper_1.phoneToJid)({ from, isGroup });
|
|
456
493
|
const isRegistered = yield this.isExist({
|
|
457
|
-
|
|
494
|
+
from,
|
|
458
495
|
isGroup,
|
|
459
496
|
});
|
|
460
497
|
if (!isRegistered) {
|
|
@@ -463,7 +500,7 @@ class AutoWA {
|
|
|
463
500
|
};
|
|
464
501
|
}
|
|
465
502
|
return {
|
|
466
|
-
receiver:
|
|
503
|
+
receiver: from,
|
|
467
504
|
};
|
|
468
505
|
});
|
|
469
506
|
}
|
|
@@ -471,7 +508,7 @@ class AutoWA {
|
|
|
471
508
|
return __awaiter(this, void 0, void 0, function* () {
|
|
472
509
|
var { to, text = "", isGroup = false } = _a, props = __rest(_a, ["to", "text", "isGroup"]);
|
|
473
510
|
const { receiver, msg } = yield this.validateReceiver({
|
|
474
|
-
to,
|
|
511
|
+
from: to,
|
|
475
512
|
isGroup,
|
|
476
513
|
});
|
|
477
514
|
if (msg)
|
|
@@ -486,109 +523,133 @@ class AutoWA {
|
|
|
486
523
|
}
|
|
487
524
|
sendImage(_a) {
|
|
488
525
|
return __awaiter(this, void 0, void 0, function* () {
|
|
489
|
-
var { to, text = "", isGroup = false, media } = _a, props = __rest(_a, ["to", "text", "isGroup", "media"]);
|
|
526
|
+
var { to, text = "", isGroup = false, media, failMsg } = _a, props = __rest(_a, ["to", "text", "isGroup", "media", "failMsg"]);
|
|
490
527
|
if (!media)
|
|
491
528
|
throw new Error_1.AutoWAError("'media' parameter must be Buffer or String URL");
|
|
492
529
|
const { receiver, msg } = yield this.validateReceiver({
|
|
493
|
-
to,
|
|
530
|
+
from: to,
|
|
494
531
|
isGroup,
|
|
495
532
|
});
|
|
496
533
|
if (msg)
|
|
497
534
|
throw new Error_1.AutoWAError(msg);
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
535
|
+
try {
|
|
536
|
+
return yield this.sock.sendMessage(receiver, {
|
|
537
|
+
image: typeof media == "string"
|
|
538
|
+
? {
|
|
539
|
+
url: media,
|
|
540
|
+
}
|
|
541
|
+
: media,
|
|
542
|
+
caption: text,
|
|
543
|
+
mentions: props.mentions,
|
|
544
|
+
}, {
|
|
545
|
+
quoted: props.answering,
|
|
546
|
+
});
|
|
547
|
+
}
|
|
548
|
+
catch (error) {
|
|
549
|
+
this.logger.error("Failed send media:" + error.message);
|
|
550
|
+
return yield this.sendText(Object.assign({ to: receiver, text: failMsg || "There is error while trying to send the image🥹" }, props));
|
|
551
|
+
}
|
|
509
552
|
});
|
|
510
553
|
}
|
|
511
554
|
sendVideo(_a) {
|
|
512
555
|
return __awaiter(this, void 0, void 0, function* () {
|
|
513
|
-
var { to, text = "", isGroup = false, media } = _a, props = __rest(_a, ["to", "text", "isGroup", "media"]);
|
|
556
|
+
var { to, text = "", isGroup = false, media, failMsg } = _a, props = __rest(_a, ["to", "text", "isGroup", "media", "failMsg"]);
|
|
514
557
|
if (!media)
|
|
515
558
|
throw new Error_1.AutoWAError("'media' parameter must be Buffer or String URL");
|
|
516
559
|
const { receiver, msg } = yield this.validateReceiver({
|
|
517
|
-
to,
|
|
560
|
+
from: to,
|
|
518
561
|
isGroup,
|
|
519
562
|
});
|
|
520
563
|
if (msg)
|
|
521
564
|
throw new Error_1.AutoWAError(msg);
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
565
|
+
try {
|
|
566
|
+
return yield this.sock.sendMessage(receiver, {
|
|
567
|
+
video: typeof media == "string"
|
|
568
|
+
? {
|
|
569
|
+
url: media,
|
|
570
|
+
}
|
|
571
|
+
: media,
|
|
572
|
+
caption: text,
|
|
573
|
+
mentions: props.mentions,
|
|
574
|
+
}, {
|
|
575
|
+
quoted: props.answering,
|
|
576
|
+
});
|
|
577
|
+
}
|
|
578
|
+
catch (error) {
|
|
579
|
+
this.logger.error("Failed send media:" + error.message);
|
|
580
|
+
return yield this.sendText(Object.assign({ to: receiver, text: failMsg || "There is error while trying to send the video🥹" }, props));
|
|
581
|
+
}
|
|
533
582
|
});
|
|
534
583
|
}
|
|
535
584
|
sendDocument(_a) {
|
|
536
585
|
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"]);
|
|
586
|
+
var { to, text = "", isGroup = false, media, filename, failMsg } = _a, props = __rest(_a, ["to", "text", "isGroup", "media", "filename", "failMsg"]);
|
|
538
587
|
if (!media)
|
|
539
588
|
throw new Error_1.AutoWAError("'media' parameter must be Buffer or String URL");
|
|
540
589
|
const mimetype = mime_1.default.getType(filename);
|
|
541
590
|
if (!mimetype)
|
|
542
591
|
throw new Error_1.AutoWAError(`Filename must include valid extension`);
|
|
543
592
|
const { receiver, msg } = yield this.validateReceiver({
|
|
544
|
-
to,
|
|
593
|
+
from: to,
|
|
545
594
|
isGroup,
|
|
546
595
|
});
|
|
547
596
|
if (msg)
|
|
548
597
|
throw new Error_1.AutoWAError(msg);
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
598
|
+
try {
|
|
599
|
+
return yield this.sock.sendMessage(receiver, {
|
|
600
|
+
fileName: filename,
|
|
601
|
+
document: typeof media == "string"
|
|
602
|
+
? {
|
|
603
|
+
url: media,
|
|
604
|
+
}
|
|
605
|
+
: media,
|
|
606
|
+
mimetype: mimetype,
|
|
607
|
+
caption: text,
|
|
608
|
+
mentions: props.mentions,
|
|
609
|
+
}, {
|
|
610
|
+
quoted: props.answering,
|
|
611
|
+
});
|
|
612
|
+
}
|
|
613
|
+
catch (error) {
|
|
614
|
+
this.logger.error("Failed send media:" + error.message);
|
|
615
|
+
return yield this.sendText(Object.assign({ to: receiver, text: failMsg || "There is error while trying to send the document" }, props));
|
|
616
|
+
}
|
|
562
617
|
});
|
|
563
618
|
}
|
|
564
619
|
sendAudio(_a) {
|
|
565
620
|
return __awaiter(this, void 0, void 0, function* () {
|
|
566
|
-
var { to, isGroup = false, media, voiceNote = false } = _a, props = __rest(_a, ["to", "isGroup", "media", "voiceNote"]);
|
|
621
|
+
var { to, isGroup = false, media, voiceNote = false, failMsg } = _a, props = __rest(_a, ["to", "isGroup", "media", "voiceNote", "failMsg"]);
|
|
567
622
|
if (!media)
|
|
568
623
|
throw new Error_1.AutoWAError("'media' parameter must be Buffer or String URL");
|
|
569
624
|
const { receiver, msg } = yield this.validateReceiver({
|
|
570
|
-
to,
|
|
625
|
+
from: to,
|
|
571
626
|
isGroup,
|
|
572
627
|
});
|
|
573
628
|
if (msg)
|
|
574
629
|
throw new Error_1.AutoWAError(msg);
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
630
|
+
try {
|
|
631
|
+
return yield this.sock.sendMessage(receiver, {
|
|
632
|
+
audio: typeof media == "string"
|
|
633
|
+
? {
|
|
634
|
+
url: media,
|
|
635
|
+
}
|
|
636
|
+
: media,
|
|
637
|
+
ptt: voiceNote,
|
|
638
|
+
mentions: props.mentions,
|
|
639
|
+
}, {
|
|
640
|
+
quoted: props.answering,
|
|
641
|
+
});
|
|
642
|
+
}
|
|
643
|
+
catch (error) {
|
|
644
|
+
this.logger.error("Failed send media:" + error.message);
|
|
645
|
+
return yield this.sendText(Object.assign({ to: receiver, text: failMsg || "There is error while trying to send the audio🥹" }, props));
|
|
646
|
+
}
|
|
586
647
|
});
|
|
587
648
|
}
|
|
588
649
|
sendReaction(_a) {
|
|
589
650
|
return __awaiter(this, arguments, void 0, function* ({ to, text, isGroup = false, answering }) {
|
|
590
651
|
const { receiver, msg } = yield this.validateReceiver({
|
|
591
|
-
to,
|
|
652
|
+
from: to,
|
|
592
653
|
isGroup,
|
|
593
654
|
});
|
|
594
655
|
if (msg)
|
|
@@ -604,7 +665,7 @@ class AutoWA {
|
|
|
604
665
|
sendTyping(_a) {
|
|
605
666
|
return __awaiter(this, arguments, void 0, function* ({ to, duration = 1000, isGroup = false }) {
|
|
606
667
|
const { receiver, msg } = yield this.validateReceiver({
|
|
607
|
-
to,
|
|
668
|
+
from: to,
|
|
608
669
|
isGroup,
|
|
609
670
|
});
|
|
610
671
|
if (msg)
|
|
@@ -617,7 +678,7 @@ class AutoWA {
|
|
|
617
678
|
sendRecording(_a) {
|
|
618
679
|
return __awaiter(this, arguments, void 0, function* ({ to, duration = 1000, isGroup = false }) {
|
|
619
680
|
const { receiver, msg } = yield this.validateReceiver({
|
|
620
|
-
to,
|
|
681
|
+
from: to,
|
|
621
682
|
isGroup,
|
|
622
683
|
});
|
|
623
684
|
if (msg)
|
|
@@ -634,31 +695,66 @@ class AutoWA {
|
|
|
634
695
|
}
|
|
635
696
|
sendSticker(_a) {
|
|
636
697
|
return __awaiter(this, void 0, void 0, function* () {
|
|
637
|
-
var { to, isGroup,
|
|
638
|
-
if (!filePath)
|
|
639
|
-
throw new Error_1.AutoWAError("'filePath' parameter must be String to file path");
|
|
698
|
+
var { to, isGroup, media, sticker, failMsg } = _a, props = __rest(_a, ["to", "isGroup", "media", "sticker", "failMsg"]);
|
|
640
699
|
const { receiver, msg } = yield this.validateReceiver({
|
|
641
|
-
to,
|
|
700
|
+
from: to,
|
|
642
701
|
isGroup,
|
|
643
702
|
});
|
|
644
703
|
if (msg)
|
|
645
704
|
throw new Error_1.AutoWAError(msg);
|
|
646
|
-
|
|
647
|
-
if (
|
|
648
|
-
|
|
705
|
+
let buf;
|
|
706
|
+
if (!sticker) {
|
|
707
|
+
if (!media)
|
|
708
|
+
throw new Error_1.AutoWAError("'media' or 'sticker' parameter must be filled");
|
|
709
|
+
if (!(typeof media === "string" || Buffer.isBuffer(media))) {
|
|
710
|
+
throw new Error_1.AutoWAError("'media' parameter must be String or Buffer");
|
|
711
|
+
}
|
|
712
|
+
const stickerProps = Object.assign(Object.assign(Object.assign({}, this.defaultStickerProps), { media }), props);
|
|
713
|
+
buf = yield (0, make_stiker_1.makeWebpBuffer)(stickerProps);
|
|
714
|
+
if (buf === null) {
|
|
715
|
+
return yield this.sendText(Object.assign({ to, text: failMsg || "There is error while creating the sticker🥹", isGroup }, props));
|
|
716
|
+
}
|
|
717
|
+
sticker = buf;
|
|
649
718
|
}
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
719
|
+
try {
|
|
720
|
+
return yield this.sock.sendMessage(receiver, {
|
|
721
|
+
sticker,
|
|
722
|
+
mentions: props.mentions,
|
|
723
|
+
}, {
|
|
724
|
+
quoted: props.answering,
|
|
725
|
+
});
|
|
726
|
+
}
|
|
727
|
+
catch (error) {
|
|
728
|
+
this.logger.error("Failed send media:" + error.message);
|
|
729
|
+
return yield this.sendText(Object.assign({ to: receiver, text: failMsg || "There is error while trying to send the sticker🥹" }, props));
|
|
730
|
+
}
|
|
731
|
+
});
|
|
732
|
+
}
|
|
733
|
+
forwardMessage(_a) {
|
|
734
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
735
|
+
var { to, msg, isGroup = false } = _a, props = __rest(_a, ["to", "msg", "isGroup"]);
|
|
736
|
+
const { receiver, msg: err_msg } = yield this.validateReceiver({
|
|
737
|
+
from: to,
|
|
738
|
+
isGroup,
|
|
655
739
|
});
|
|
740
|
+
if (err_msg)
|
|
741
|
+
throw new Error_1.AutoWAError(err_msg);
|
|
742
|
+
try {
|
|
743
|
+
return yield this.sock.sendMessage(receiver, {
|
|
744
|
+
forward: msg,
|
|
745
|
+
mentions: props.mentions,
|
|
746
|
+
force: true,
|
|
747
|
+
});
|
|
748
|
+
}
|
|
749
|
+
catch (error) {
|
|
750
|
+
this.logger.error("Failed forward a message!");
|
|
751
|
+
}
|
|
656
752
|
});
|
|
657
753
|
}
|
|
658
754
|
getProfileInfo(target) {
|
|
659
755
|
return __awaiter(this, void 0, void 0, function* () {
|
|
660
756
|
const { receiver, msg } = yield this.validateReceiver({
|
|
661
|
-
|
|
757
|
+
from: target,
|
|
662
758
|
});
|
|
663
759
|
if (msg)
|
|
664
760
|
throw new Error_1.AutoWAError(msg);
|
|
@@ -675,48 +771,48 @@ class AutoWA {
|
|
|
675
771
|
addMemberToGroup(_a) {
|
|
676
772
|
return __awaiter(this, arguments, void 0, function* ({ participants, to }) {
|
|
677
773
|
const { receiver: group, msg } = yield this.validateReceiver({
|
|
678
|
-
to,
|
|
774
|
+
from: to,
|
|
679
775
|
isGroup: true,
|
|
680
776
|
});
|
|
681
777
|
if (msg)
|
|
682
778
|
throw new Error_1.AutoWAError(msg);
|
|
683
|
-
participants = participants.map((d) => (0, helper_1.phoneToJid)({
|
|
779
|
+
participants = participants.map((d) => (0, helper_1.phoneToJid)({ from: d }));
|
|
684
780
|
return yield this.sock.groupParticipantsUpdate(group, participants, "add");
|
|
685
781
|
});
|
|
686
782
|
}
|
|
687
783
|
removeMemberFromGroup(_a) {
|
|
688
784
|
return __awaiter(this, arguments, void 0, function* ({ participants, to }) {
|
|
689
785
|
const { receiver: group, msg } = yield this.validateReceiver({
|
|
690
|
-
to,
|
|
786
|
+
from: to,
|
|
691
787
|
isGroup: true,
|
|
692
788
|
});
|
|
693
789
|
if (msg)
|
|
694
790
|
throw new Error_1.AutoWAError(msg);
|
|
695
|
-
participants = participants.map((d) => (0, helper_1.phoneToJid)({
|
|
791
|
+
participants = participants.map((d) => (0, helper_1.phoneToJid)({ from: d }));
|
|
696
792
|
return yield this.sock.groupParticipantsUpdate(group, participants, "remove");
|
|
697
793
|
});
|
|
698
794
|
}
|
|
699
795
|
promoteMemberGroup(_a) {
|
|
700
796
|
return __awaiter(this, arguments, void 0, function* ({ participants, to }) {
|
|
701
797
|
const { receiver: group, msg } = yield this.validateReceiver({
|
|
702
|
-
to,
|
|
798
|
+
from: to,
|
|
703
799
|
isGroup: true,
|
|
704
800
|
});
|
|
705
801
|
if (msg)
|
|
706
802
|
throw new Error_1.AutoWAError(msg);
|
|
707
|
-
participants = participants.map((d) => (0, helper_1.phoneToJid)({
|
|
803
|
+
participants = participants.map((d) => (0, helper_1.phoneToJid)({ from: d }));
|
|
708
804
|
return yield this.sock.groupParticipantsUpdate(group, participants, "promote");
|
|
709
805
|
});
|
|
710
806
|
}
|
|
711
807
|
demoteMemberGroup(_a) {
|
|
712
808
|
return __awaiter(this, arguments, void 0, function* ({ participants, to }) {
|
|
713
809
|
const { receiver: group, msg } = yield this.validateReceiver({
|
|
714
|
-
to,
|
|
810
|
+
from: to,
|
|
715
811
|
isGroup: true,
|
|
716
812
|
});
|
|
717
813
|
if (msg)
|
|
718
814
|
throw new Error_1.AutoWAError(msg);
|
|
719
|
-
participants = participants.map((d) => (0, helper_1.phoneToJid)({
|
|
815
|
+
participants = participants.map((d) => (0, helper_1.phoneToJid)({ from: d }));
|
|
720
816
|
return yield this.sock.groupParticipantsUpdate(group, participants, "demote");
|
|
721
817
|
});
|
|
722
818
|
}
|