whatsauto.js 1.0.8 → 1.1.1
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 +2 -2
- package/dist/Types/index.d.ts +17 -6
- package/dist/Types/index.d.ts.map +1 -1
- package/dist/Utils/make-stiker.d.ts.map +1 -1
- package/dist/Utils/make-stiker.js +39 -32
- package/dist/WhatsApp/AutoWA.d.ts +2 -2
- package/dist/WhatsApp/AutoWA.d.ts.map +1 -1
- package/dist/WhatsApp/AutoWA.js +20 -22
- package/package.json +6 -3
package/README.md
CHANGED
|
@@ -113,10 +113,10 @@ ev.onMessageReceived(async (msg) => {
|
|
|
113
113
|
|
|
114
114
|
if (msg.text == "sticker") {
|
|
115
115
|
// convert this message to sticker buffer (if its has media)
|
|
116
|
-
const sticker = await msg.toSticker();
|
|
116
|
+
const [sticker, hasMedia] = await msg.toSticker();
|
|
117
117
|
// or
|
|
118
118
|
// const sticker = await msg.toSticker({ pack: "whatsauto.js", author: "freack21" });
|
|
119
|
-
if (
|
|
119
|
+
if (hasMedia) {
|
|
120
120
|
// reply this message with audio
|
|
121
121
|
await msg.replyWithSticker(sticker);
|
|
122
122
|
}
|
package/dist/Types/index.d.ts
CHANGED
|
@@ -22,9 +22,22 @@ export interface IWAutoSendMedia extends IWAutoSendMessage {
|
|
|
22
22
|
* Media you want to send
|
|
23
23
|
*/
|
|
24
24
|
media: string | Buffer;
|
|
25
|
+
sticker?: Buffer;
|
|
25
26
|
voiceNote?: boolean;
|
|
26
27
|
failMsg?: string;
|
|
27
28
|
}
|
|
29
|
+
export interface IWAutoSendSticker extends IWAutoSendMessage {
|
|
30
|
+
/**
|
|
31
|
+
* media you want to be sticker
|
|
32
|
+
*/
|
|
33
|
+
media?: Buffer | string;
|
|
34
|
+
/**
|
|
35
|
+
* Sticker you want to send
|
|
36
|
+
*/
|
|
37
|
+
sticker?: Buffer | null;
|
|
38
|
+
hasMedia?: boolean;
|
|
39
|
+
failMsg?: string;
|
|
40
|
+
}
|
|
28
41
|
export interface IWAutoSendTyping extends IWAutoSendMessage {
|
|
29
42
|
/**
|
|
30
43
|
* Duration of your typing display
|
|
@@ -61,7 +74,7 @@ export interface Repliable {
|
|
|
61
74
|
/**
|
|
62
75
|
* reply this message with Sticker
|
|
63
76
|
*/
|
|
64
|
-
replyWithSticker: (sticker: Buffer | null, data?: Partial<
|
|
77
|
+
replyWithSticker: (sticker: Buffer | null, data?: Partial<IWAutoSendSticker & IStickerOptions>) => Promise<proto.WebMessageInfo>;
|
|
65
78
|
/**
|
|
66
79
|
* reply this message with Typing
|
|
67
80
|
*/
|
|
@@ -123,8 +136,9 @@ export interface IWAutoMessage extends proto.IWebMessageInfo, Repliable {
|
|
|
123
136
|
read: () => Promise<void>;
|
|
124
137
|
/**
|
|
125
138
|
* convert this message to sticker
|
|
139
|
+
* @returns [sticker: Buffer, hasMedia: boolean]
|
|
126
140
|
*/
|
|
127
|
-
toSticker: (props?:
|
|
141
|
+
toSticker: (props?: IStickerOptions) => Promise<[Buffer | null, boolean]>;
|
|
128
142
|
/**
|
|
129
143
|
* forward this message
|
|
130
144
|
*/
|
|
@@ -168,12 +182,9 @@ export interface IWAutoSessionConfig {
|
|
|
168
182
|
phoneNumber?: string;
|
|
169
183
|
}
|
|
170
184
|
export interface IStickerOptions {
|
|
171
|
-
media: string | Buffer;
|
|
185
|
+
media: string | Buffer | null;
|
|
172
186
|
pack?: string;
|
|
173
187
|
author?: string;
|
|
174
|
-
transparent?: boolean;
|
|
175
|
-
bgColor?: string;
|
|
176
|
-
sticker?: Buffer;
|
|
177
188
|
}
|
|
178
189
|
export interface GroupMemberUpdate extends Repliable {
|
|
179
190
|
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,oBAAoB;IACnC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,GAAG,EAAE,KAAK,CAAC,eAAe,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;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,mBAAmB;IAClC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;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,CACd,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,IAAI,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,KAC5B,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAEnC;;OAEG;IACH,cAAc,EAAE,CACd,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,IAAI,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,KAC5B,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAEnC;;OAEG;IACH,cAAc,EAAE,CACd,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,IAAI,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,KAC5B,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAEnC;;OAEG;IACH,gBAAgB,EAAE,CAChB,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,IAAI,CAAC,EAAE,OAAO,CAAC,
|
|
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,oBAAoB;IACnC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,GAAG,EAAE,KAAK,CAAC,eAAe,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,eAAgB,SAAQ,iBAAiB;IACxD;;OAEG;IACH,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;IAC1D;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;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,CACd,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,IAAI,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,KAC5B,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAEnC;;OAEG;IACH,cAAc,EAAE,CACd,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,IAAI,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,KAC5B,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAEnC;;OAEG;IACH,cAAc,EAAE,CACd,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,IAAI,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,KAC5B,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAEnC;;OAEG;IACH,gBAAgB,EAAE,CAChB,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,IAAI,CAAC,EAAE,OAAO,CAAC,iBAAiB,GAAG,eAAe,CAAC,KAChD,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAEnC;;OAEG;IACH,eAAe,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAErD;;OAEG;IACH,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,aAAc,SAAQ,KAAK,CAAC,eAAe,EAAE,SAAS;IACrE;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,UAAU,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,aAAa,EAAE,aAAa,CAAC;IAE7B;;;OAGG;IACH,aAAa,EAAE,CAAC,IAAI,CAAC,EAAE,mBAAmB,KAAK,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAExE;;OAEG;IACH,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAE3D;;OAEG;IACH,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1B;;;OAGG;IACH,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,eAAe,KAAK,OAAO,CAAC,CAAC,MAAM,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAE1E;;OAEG;IACH,OAAO,EAAE,CACP,EAAE,EAAE,MAAM,GAAG,MAAM,EACnB,KAAK,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,KAClC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IAC1D;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,oBAAoB,GAAG,qBAAqB,GAAG,iBAAiB,CAAC;AAE7E,MAAM,MAAM,mBAAmB,GAAG,eAAe,GAAG;IAClD;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,aAAa,EAAE,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,MAAM,GAAG,QAAQ,CAAC;CACjF,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAClD,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,iBAAiB,CAAC;CAC3B;AAED,MAAM,WAAW,6BAA6B;IAC5C,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;CACZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"make-stiker.d.ts","sourceRoot":"","sources":["../../src/Utils/make-stiker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"make-stiker.d.ts","sourceRoot":"","sources":["../../src/Utils/make-stiker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAS3C,eAAO,MAAM,cAAc,YAAmB,eAAe,KAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAwEpF,CAAC;AAEF,eAAO,MAAM,iBAAiB,QAAO,MAA2D,CAAC"}
|
|
@@ -13,18 +13,24 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.generateStickerID = exports.makeWebpBuffer = void 0;
|
|
16
|
-
const ffmpeg = require("fluent-ffmpeg");
|
|
17
|
-
const { Image } = require("node-webpmux");
|
|
18
16
|
const fs_1 = __importDefault(require("fs"));
|
|
19
17
|
const crypto_1 = require("crypto");
|
|
18
|
+
const file_type_1 = require("file-type");
|
|
19
|
+
const node_webpmux_1 = require("node-webpmux");
|
|
20
|
+
const os_1 = require("os");
|
|
21
|
+
const fs_extra_1 = require("fs-extra");
|
|
22
|
+
const path_1 = require("path");
|
|
23
|
+
const fluent_ffmpeg_1 = __importDefault(require("fluent-ffmpeg"));
|
|
20
24
|
const makeWebpBuffer = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
21
|
-
const getRandomName = () =>
|
|
22
|
-
const randomName = getRandomName();
|
|
25
|
+
const getRandomName = () => `${Math.random().toString(36).slice(2)}.webp`;
|
|
23
26
|
let buffer = null;
|
|
24
|
-
|
|
27
|
+
let { media, pack = "", author = "" } = options;
|
|
25
28
|
if (!media)
|
|
26
29
|
return buffer;
|
|
27
|
-
const
|
|
30
|
+
const tempDir = (0, path_1.join)((0, os_1.tmpdir)(), `webp_${Math.random().toString(36).slice(2)}`);
|
|
31
|
+
yield (0, fs_extra_1.ensureDir)(tempDir);
|
|
32
|
+
const inputName = (0, path_1.join)(tempDir, typeof media == "string" ? media : getRandomName());
|
|
33
|
+
const webpName = (0, path_1.join)(tempDir, getRandomName());
|
|
28
34
|
const data = JSON.stringify({
|
|
29
35
|
"sticker-pack-id": (0, exports.generateStickerID)(),
|
|
30
36
|
"sticker-pack-name": pack,
|
|
@@ -39,46 +45,47 @@ const makeWebpBuffer = (options) => __awaiter(void 0, void 0, void 0, function*
|
|
|
39
45
|
Buffer.from(data, "utf-8"),
|
|
40
46
|
]);
|
|
41
47
|
exif.writeUIntLE(new TextEncoder().encode(data).length, 14, 4);
|
|
42
|
-
const
|
|
48
|
+
const getStickerBuffer = (buffer) => __awaiter(void 0, void 0, void 0, function* () {
|
|
49
|
+
const img = new node_webpmux_1.Image();
|
|
50
|
+
yield img.load(buffer);
|
|
51
|
+
img.exif = exif;
|
|
52
|
+
return yield img.save(null);
|
|
53
|
+
});
|
|
43
54
|
if (Buffer.isBuffer(media)) {
|
|
44
|
-
fs_1.default.writeFileSync(
|
|
55
|
+
fs_1.default.writeFileSync(inputName, media);
|
|
56
|
+
}
|
|
57
|
+
else if (typeof media == "string") {
|
|
58
|
+
media = fs_1.default.readFileSync(media);
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
return buffer;
|
|
62
|
+
}
|
|
63
|
+
const { mime } = yield (0, file_type_1.fromBuffer)(media);
|
|
64
|
+
if (mime.includes("webp")) {
|
|
65
|
+
return yield getStickerBuffer(media);
|
|
45
66
|
}
|
|
46
67
|
return new Promise((resolve) => {
|
|
47
|
-
|
|
48
|
-
.input(
|
|
49
|
-
.on("error", () => {
|
|
50
|
-
|
|
51
|
-
if (fs_1.default.existsSync(randomName))
|
|
52
|
-
fs_1.default.unlinkSync(randomName);
|
|
68
|
+
(0, fluent_ffmpeg_1.default)(inputName)
|
|
69
|
+
.input(inputName)
|
|
70
|
+
.on("error", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
71
|
+
yield (0, fs_extra_1.remove)(tempDir);
|
|
53
72
|
resolve(buffer);
|
|
54
|
-
})
|
|
73
|
+
}))
|
|
55
74
|
.on("end", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
const img = new Image();
|
|
59
|
-
yield img.load(randomName);
|
|
60
|
-
return img;
|
|
61
|
-
}
|
|
62
|
-
catch (error) {
|
|
63
|
-
return resolve(buffer);
|
|
64
|
-
}
|
|
65
|
-
}))();
|
|
66
|
-
image.exif = exif;
|
|
67
|
-
buffer = yield image.save(null);
|
|
68
|
-
fs_1.default.unlinkSync(tempName);
|
|
69
|
-
fs_1.default.unlinkSync(randomName);
|
|
75
|
+
buffer = yield getStickerBuffer(fs_1.default.readFileSync(webpName));
|
|
76
|
+
yield (0, fs_extra_1.remove)(tempDir);
|
|
70
77
|
resolve(buffer);
|
|
71
78
|
}))
|
|
72
79
|
.addOutputOptions([
|
|
73
80
|
`-vcodec`,
|
|
74
81
|
`libwebp`,
|
|
75
82
|
`-lavfi`,
|
|
76
|
-
`scale='min(
|
|
83
|
+
`scale='min(512,iw)':'min(512,ih)':force_original_aspect_ratio=decrease,fps=15, pad=512:512:-1:-1:color=white@0.0, split [a][b]; [a] palettegen=reserve_transparent=on:transparency_color=ffffff [p]; [b][p] paletteuse`,
|
|
77
84
|
])
|
|
78
85
|
.toFormat("webp")
|
|
79
|
-
.save(
|
|
86
|
+
.save(webpName);
|
|
80
87
|
});
|
|
81
88
|
});
|
|
82
89
|
exports.makeWebpBuffer = makeWebpBuffer;
|
|
83
|
-
const generateStickerID = () => `
|
|
90
|
+
const generateStickerID = () => `whatsauto.js|${(0, crypto_1.randomBytes)(16).toString("hex")}`;
|
|
84
91
|
exports.generateStickerID = generateStickerID;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { WASocket } from "@whiskeysockets/baileys";
|
|
2
|
-
import { IWAutoSendMessage, IWAutoSendTyping, IWAutoSessionConfig, IWAutoMessage,
|
|
2
|
+
import { IWAutoSendMessage, IWAutoSendTyping, IWAutoSessionConfig, IWAutoMessage, WAutoGroupMemberActionOptions, IWAutoSendMedia, IWAutoPhoneToJid, IWAutoForwardMessage, IWAutoSendSticker, IStickerOptions } from "../Types";
|
|
3
3
|
import AutoWAEvent from "./AutoWAEvent";
|
|
4
4
|
export declare class AutoWA {
|
|
5
5
|
private logger;
|
|
@@ -32,7 +32,7 @@ export declare class AutoWA {
|
|
|
32
32
|
sendTyping({ to, duration, isGroup }: IWAutoSendTyping): Promise<void>;
|
|
33
33
|
sendRecording({ to, duration, isGroup }: IWAutoSendTyping): Promise<void>;
|
|
34
34
|
readMessage(msgs: IWAutoMessage[]): Promise<void>;
|
|
35
|
-
sendSticker({ to, isGroup,
|
|
35
|
+
sendSticker({ to, isGroup, sticker, media, failMsg, hasMedia, ...props }: IWAutoSendSticker & IStickerOptions): Promise<import("@whiskeysockets/baileys").proto.WebMessageInfo>;
|
|
36
36
|
forwardMessage({ to, msg, isGroup, ...props }: IWAutoForwardMessage): Promise<import("@whiskeysockets/baileys").proto.WebMessageInfo>;
|
|
37
37
|
getProfileInfo(target: string): Promise<{
|
|
38
38
|
profilePictureUrl: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutoWA.d.ts","sourceRoot":"","sources":["../../src/WhatsApp/AutoWA.ts"],"names":[],"mappings":"AAGA,OAAqB,EACnB,QAAQ,EAOT,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAGL,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,
|
|
1
|
+
{"version":3,"file":"AutoWA.d.ts","sourceRoot":"","sources":["../../src/WhatsApp/AutoWA.ts"],"names":[],"mappings":"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"}
|
package/dist/WhatsApp/AutoWA.js
CHANGED
|
@@ -74,9 +74,9 @@ const P = require("pino")({
|
|
|
74
74
|
class AutoWA {
|
|
75
75
|
constructor(sessionId, options) {
|
|
76
76
|
this.defaultStickerProps = {
|
|
77
|
-
|
|
78
|
-
pack: "WhatsAuto.js",
|
|
77
|
+
pack: "whatsauto.js",
|
|
79
78
|
author: "freack21",
|
|
79
|
+
media: null,
|
|
80
80
|
};
|
|
81
81
|
if ((0, helper_1.isSessionExist)(sessionId) && _1.sessions.get(sessionId))
|
|
82
82
|
throw new Error_1.ValidationError(Defaults_1.Messages.sessionAlreadyExist(sessionId));
|
|
@@ -257,26 +257,26 @@ class AutoWA {
|
|
|
257
257
|
? mediaTypes.indexOf(mimeType.split("/")[0])
|
|
258
258
|
: 3];
|
|
259
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); });
|
|
260
|
+
msg.toSticker = () => __awaiter(this, void 0, void 0, function* () { return Promise.resolve([null, false]); });
|
|
261
261
|
if (msg.hasMedia) {
|
|
262
262
|
msg.downloadMedia = (...args_1) => __awaiter(this, [...args_1], void 0, function* (opts = {}) { return this.downloadMedia(msg, opts, ext); });
|
|
263
263
|
}
|
|
264
264
|
if (msg.hasMedia || ((_a = msg.quotedMessage) === null || _a === void 0 ? void 0 : _a.hasMedia)) {
|
|
265
265
|
msg.toSticker = (props) => __awaiter(this, void 0, void 0, function* () {
|
|
266
|
-
let
|
|
266
|
+
let mediaBuf;
|
|
267
267
|
if (msg.hasMedia && ["image", "video"].includes(msg.mediaType)) {
|
|
268
|
-
|
|
268
|
+
mediaBuf = yield msg.downloadMedia({ asBuffer: true });
|
|
269
269
|
}
|
|
270
270
|
else if (msg.quotedMessage &&
|
|
271
271
|
msg.quotedMessage.hasMedia &&
|
|
272
272
|
["image", "video"].includes(msg.quotedMessage.mediaType)) {
|
|
273
|
-
|
|
273
|
+
mediaBuf = yield msg.quotedMessage.downloadMedia({ asBuffer: true });
|
|
274
274
|
}
|
|
275
|
-
if (!
|
|
276
|
-
return null;
|
|
277
|
-
const stickerProps = Object.assign(Object.assign(Object.assign({}, this.defaultStickerProps), props), { media:
|
|
275
|
+
if (!mediaBuf)
|
|
276
|
+
return [null, false];
|
|
277
|
+
const stickerProps = Object.assign(Object.assign(Object.assign({}, this.defaultStickerProps), props), { media: mediaBuf });
|
|
278
278
|
const buffer = yield (0, make_stiker_1.makeWebpBuffer)(stickerProps);
|
|
279
|
-
return buffer;
|
|
279
|
+
return [buffer, true];
|
|
280
280
|
});
|
|
281
281
|
}
|
|
282
282
|
};
|
|
@@ -484,7 +484,7 @@ class AutoWA {
|
|
|
484
484
|
const buf = yield (0, baileys_1.downloadMediaMessage)(msg, "buffer", {});
|
|
485
485
|
if (opts.asBuffer)
|
|
486
486
|
return Promise.resolve(buf);
|
|
487
|
-
fs_1.default.writeFileSync(filePath, buf
|
|
487
|
+
fs_1.default.writeFileSync(filePath, buf);
|
|
488
488
|
return Promise.resolve(filePath);
|
|
489
489
|
});
|
|
490
490
|
}
|
|
@@ -697,26 +697,24 @@ class AutoWA {
|
|
|
697
697
|
}
|
|
698
698
|
sendSticker(_a) {
|
|
699
699
|
return __awaiter(this, void 0, void 0, function* () {
|
|
700
|
-
var { to, isGroup,
|
|
700
|
+
var { to, isGroup, sticker, media, failMsg, hasMedia } = _a, props = __rest(_a, ["to", "isGroup", "sticker", "media", "failMsg", "hasMedia"]);
|
|
701
701
|
const { receiver, msg } = yield this.validateReceiver({
|
|
702
702
|
from: to,
|
|
703
703
|
isGroup,
|
|
704
704
|
});
|
|
705
705
|
if (msg)
|
|
706
706
|
throw new Error_1.AutoWAError(msg);
|
|
707
|
-
|
|
707
|
+
if (!media && !sticker && !hasMedia)
|
|
708
|
+
throw new Error_1.AutoWAError("'media' or 'sticker' parameter must be filled");
|
|
708
709
|
if (!sticker) {
|
|
709
|
-
if (!media)
|
|
710
|
-
throw new Error_1.AutoWAError("'media'
|
|
711
|
-
if (!(typeof media === "string" || Buffer.isBuffer(media))) {
|
|
712
|
-
throw new Error_1.AutoWAError("'media' parameter must be String or Buffer");
|
|
710
|
+
if (!(typeof media === "string" || Buffer.isBuffer(media)) && !hasMedia) {
|
|
711
|
+
throw new Error_1.AutoWAError("'media' parameter must be string or buffer");
|
|
713
712
|
}
|
|
714
713
|
const stickerProps = Object.assign(Object.assign(Object.assign({}, this.defaultStickerProps), { media }), props);
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
}
|
|
719
|
-
sticker = buf;
|
|
714
|
+
sticker = yield (0, make_stiker_1.makeWebpBuffer)(stickerProps);
|
|
715
|
+
}
|
|
716
|
+
if (!sticker || !Buffer.isBuffer(sticker)) {
|
|
717
|
+
return yield this.sendText(Object.assign({ to, text: failMsg || "There is error while creating the sticker🥹", isGroup }, props));
|
|
720
718
|
}
|
|
721
719
|
try {
|
|
722
720
|
return yield this.sock.sendMessage(receiver, {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "whatsauto.js",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"description": "Easy WhatsApp Automation with Session",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -25,14 +25,17 @@
|
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"@adiwajshing/keyed-db": "^0.2.4",
|
|
27
27
|
"@hapi/boom": "^10.0.1",
|
|
28
|
+
"@types/fluent-ffmpeg": "^2.1.27",
|
|
29
|
+
"@types/fs-extra": "^11.0.4",
|
|
28
30
|
"@whiskeysockets/baileys": "^6.7.9",
|
|
29
31
|
"colorette": "^2.0.20",
|
|
32
|
+
"file-type": "^16.5.3",
|
|
30
33
|
"fluent-ffmpeg": "^2.1.3",
|
|
34
|
+
"fs-extra": "^11.3.0",
|
|
31
35
|
"mime": "^3.0.0",
|
|
32
36
|
"node-webpmux": "^3.2.0",
|
|
33
37
|
"pino": "^9.5.0",
|
|
34
|
-
"qrcode-terminal": "^0.12.0"
|
|
35
|
-
"wa-sticker-formatter": "^4.4.4"
|
|
38
|
+
"qrcode-terminal": "^0.12.0"
|
|
36
39
|
},
|
|
37
40
|
"repository": {
|
|
38
41
|
"type": "git",
|