whatsauto.js 1.0.8 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -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 (sticker) {
119
+ if (hasMedia) {
120
120
  // reply this message with audio
121
121
  await msg.replyWithSticker(sticker);
122
122
  }
@@ -1,4 +1,5 @@
1
1
  import { ParticipantAction, WAMessageUpdate, proto } from "@whiskeysockets/baileys";
2
+ import { IStickerOptions } from "wa-sticker-formatter";
2
3
  export interface IWAutoSendMessage {
3
4
  to: string | number;
4
5
  text?: string;
@@ -22,9 +23,22 @@ export interface IWAutoSendMedia extends IWAutoSendMessage {
22
23
  * Media you want to send
23
24
  */
24
25
  media: string | Buffer;
26
+ sticker?: Buffer;
25
27
  voiceNote?: boolean;
26
28
  failMsg?: string;
27
29
  }
30
+ export interface IWAutoSendSticker extends IWAutoSendMessage {
31
+ /**
32
+ * media you want to be sticker
33
+ */
34
+ media?: Buffer | string;
35
+ /**
36
+ * Sticker you want to send
37
+ */
38
+ sticker?: Buffer | null;
39
+ hasMedia?: boolean;
40
+ failMsg?: string;
41
+ }
28
42
  export interface IWAutoSendTyping extends IWAutoSendMessage {
29
43
  /**
30
44
  * Duration of your typing display
@@ -61,7 +75,7 @@ export interface Repliable {
61
75
  /**
62
76
  * reply this message with Sticker
63
77
  */
64
- replyWithSticker: (sticker: Buffer | null, data?: Partial<IWAutoSendMedia & IStickerOptions>) => Promise<proto.WebMessageInfo>;
78
+ replyWithSticker: (sticker: Buffer | null, data?: Partial<IWAutoSendSticker & IStickerOptions>) => Promise<proto.WebMessageInfo>;
65
79
  /**
66
80
  * reply this message with Typing
67
81
  */
@@ -123,8 +137,9 @@ export interface IWAutoMessage extends proto.IWebMessageInfo, Repliable {
123
137
  read: () => Promise<void>;
124
138
  /**
125
139
  * convert this message to sticker
140
+ * @returns [sticker: Buffer, hasMedia: boolean]
126
141
  */
127
- toSticker: (props?: Omit<IStickerOptions, "media">) => Promise<Buffer | null>;
142
+ toSticker: (props?: IStickerOptions) => Promise<[Buffer | null, boolean]>;
128
143
  /**
129
144
  * forward this message
130
145
  */
@@ -167,14 +182,6 @@ export interface IWAutoSessionConfig {
167
182
  */
168
183
  phoneNumber?: string;
169
184
  }
170
- export interface IStickerOptions {
171
- media: string | Buffer;
172
- pack?: string;
173
- author?: string;
174
- transparent?: boolean;
175
- bgColor?: string;
176
- sticker?: Buffer;
177
- }
178
185
  export interface GroupMemberUpdate extends Repliable {
179
186
  sessionId: string;
180
187
  /**
@@ -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,4 +1,5 @@
1
- import { IStickerOptions } from "../Types";
2
- export declare const makeWebpBuffer: (options: IStickerOptions) => Promise<Buffer | null>;
3
- export declare const generateStickerID: () => string;
1
+ import { IStickerOptions } from "wa-sticker-formatter";
2
+ export declare const makeWebpBuffer: ({ media, ...opts }: IStickerOptions & {
3
+ media?: string | Buffer;
4
+ }) => Promise<Buffer | null>;
4
5
  //# sourceMappingURL=make-stiker.d.ts.map
@@ -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,CAoEpF,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":"AACA,OAAO,EAAiB,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEtE,eAAO,MAAM,cAAc,uBAGxB,eAAe,GAAG;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB,KAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAcxB,CAAC"}
@@ -8,77 +8,35 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
+ var __rest = (this && this.__rest) || function (s, e) {
12
+ var t = {};
13
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
14
+ t[p] = s[p];
15
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
16
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
17
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
18
+ t[p[i]] = s[p[i]];
19
+ }
20
+ return t;
21
+ };
11
22
  var __importDefault = (this && this.__importDefault) || function (mod) {
12
23
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
24
  };
14
25
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.generateStickerID = exports.makeWebpBuffer = void 0;
16
- const ffmpeg = require("fluent-ffmpeg");
17
- const { Image } = require("node-webpmux");
26
+ exports.makeWebpBuffer = void 0;
18
27
  const fs_1 = __importDefault(require("fs"));
19
- const crypto_1 = require("crypto");
20
- const makeWebpBuffer = (options) => __awaiter(void 0, void 0, void 0, function* () {
21
- const getRandomName = () => `./${Date.now()}${Math.random() * 1000}.webp`;
22
- const randomName = getRandomName();
28
+ const wa_sticker_formatter_1 = require("wa-sticker-formatter");
29
+ const makeWebpBuffer = (_a) => __awaiter(void 0, void 0, void 0, function* () {
30
+ var { media } = _a, opts = __rest(_a, ["media"]);
23
31
  let buffer = null;
24
- const { media, pack = "", author = "", transparent = true, bgColor = "white" } = options;
25
- if (!media)
26
- return buffer;
27
- const tempName = typeof media == "string" ? media : getRandomName();
28
- const data = JSON.stringify({
29
- "sticker-pack-id": (0, exports.generateStickerID)(),
30
- "sticker-pack-name": pack,
31
- "sticker-pack-publisher": author,
32
- emojis: ["🐾"],
33
- });
34
- const exif = Buffer.concat([
35
- Buffer.from([
36
- 0x49, 0x49, 0x2a, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x41, 0x57, 0x07, 0x00, 0x00,
37
- 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00,
38
- ]),
39
- Buffer.from(data, "utf-8"),
40
- ]);
41
- exif.writeUIntLE(new TextEncoder().encode(data).length, 14, 4);
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");
32
+ try {
33
+ if (!media)
34
+ return buffer;
35
+ if (typeof media == "string")
36
+ media = fs_1.default.readFileSync(media);
37
+ buffer = yield (0, wa_sticker_formatter_1.createSticker)(media, Object.assign({ categories: ["⭐️"] }, opts));
45
38
  }
46
- return new Promise((resolve) => {
47
- ffmpeg(tempName)
48
- .input(tempName)
49
- .on("error", () => {
50
- fs_1.default.unlinkSync(tempName);
51
- if (fs_1.default.existsSync(randomName))
52
- fs_1.default.unlinkSync(randomName);
53
- resolve(buffer);
54
- })
55
- .on("end", () => __awaiter(void 0, void 0, void 0, function* () {
56
- let image = yield (() => __awaiter(void 0, void 0, void 0, function* () {
57
- try {
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);
70
- resolve(buffer);
71
- }))
72
- .addOutputOptions([
73
- `-vcodec`,
74
- `libwebp`,
75
- `-lavfi`,
76
- `scale='min(320,iw)':min'(320,ih)':force_original_aspect_ratio=decrease,fps=15, pad=320:320:-1:-1:${backgroundColor}, split [a][b]; [a] palettegen=reserve_transparent=on:transparency_color=ffffff [p]; [b][p] paletteuse`,
77
- ])
78
- .toFormat("webp")
79
- .save(randomName);
80
- });
39
+ catch (error) { }
40
+ return buffer;
81
41
  });
82
42
  exports.makeWebpBuffer = makeWebpBuffer;
83
- const generateStickerID = () => `WhatsAuto.js|${(0, crypto_1.randomBytes)(16).toString("hex")}`;
84
- exports.generateStickerID = generateStickerID;
@@ -1,6 +1,7 @@
1
1
  import { WASocket } from "@whiskeysockets/baileys";
2
- import { IWAutoSendMessage, IWAutoSendTyping, IWAutoSessionConfig, IWAutoMessage, IStickerOptions, WAutoGroupMemberActionOptions, IWAutoSendMedia, IWAutoPhoneToJid, IWAutoForwardMessage } from "../Types";
2
+ import { IWAutoSendMessage, IWAutoSendTyping, IWAutoSessionConfig, IWAutoMessage, WAutoGroupMemberActionOptions, IWAutoSendMedia, IWAutoPhoneToJid, IWAutoForwardMessage, IWAutoSendSticker } from "../Types";
3
3
  import AutoWAEvent from "./AutoWAEvent";
4
+ import { IStickerOptions } from "wa-sticker-formatter";
4
5
  export declare class AutoWA {
5
6
  private logger;
6
7
  private callback;
@@ -32,7 +33,7 @@ export declare class AutoWA {
32
33
  sendTyping({ to, duration, isGroup }: IWAutoSendTyping): Promise<void>;
33
34
  sendRecording({ to, duration, isGroup }: IWAutoSendTyping): Promise<void>;
34
35
  readMessage(msgs: IWAutoMessage[]): Promise<void>;
35
- sendSticker({ to, isGroup, media, sticker, failMsg, ...props }: IWAutoSendMedia & IStickerOptions): Promise<import("@whiskeysockets/baileys").proto.WebMessageInfo>;
36
+ sendSticker({ to, isGroup, sticker, media, failMsg, hasMedia, ...props }: IWAutoSendSticker & IStickerOptions): Promise<import("@whiskeysockets/baileys").proto.WebMessageInfo>;
36
37
  forwardMessage({ to, msg, isGroup, ...props }: IWAutoForwardMessage): Promise<import("@whiskeysockets/baileys").proto.WebMessageInfo>;
37
38
  getProfileInfo(target: string): Promise<{
38
39
  profilePictureUrl: string;
@@ -1 +1 @@
1
- {"version":3,"file":"AutoWA.d.ts","sourceRoot":"","sources":["../../src/WhatsApp/AutoWA.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AutoWA.d.ts","sourceRoot":"","sources":["../../src/WhatsApp/AutoWA.ts"],"names":[],"mappings":"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"}
@@ -74,8 +74,7 @@ const P = require("pino")({
74
74
  class AutoWA {
75
75
  constructor(sessionId, options) {
76
76
  this.defaultStickerProps = {
77
- media: "",
78
- pack: "WhatsAuto.js",
77
+ pack: "whatsauto.js",
79
78
  author: "freack21",
80
79
  };
81
80
  if ((0, helper_1.isSessionExist)(sessionId) && _1.sessions.get(sessionId))
@@ -257,26 +256,26 @@ class AutoWA {
257
256
  ? mediaTypes.indexOf(mimeType.split("/")[0])
258
257
  : 3];
259
258
  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); });
259
+ msg.toSticker = () => __awaiter(this, void 0, void 0, function* () { return Promise.resolve([null, false]); });
261
260
  if (msg.hasMedia) {
262
261
  msg.downloadMedia = (...args_1) => __awaiter(this, [...args_1], void 0, function* (opts = {}) { return this.downloadMedia(msg, opts, ext); });
263
262
  }
264
263
  if (msg.hasMedia || ((_a = msg.quotedMessage) === null || _a === void 0 ? void 0 : _a.hasMedia)) {
265
264
  msg.toSticker = (props) => __awaiter(this, void 0, void 0, function* () {
266
- let mediaPath;
265
+ let mediaBuf;
267
266
  if (msg.hasMedia && ["image", "video"].includes(msg.mediaType)) {
268
- mediaPath = yield msg.downloadMedia();
267
+ mediaBuf = yield msg.downloadMedia({ asBuffer: true });
269
268
  }
270
269
  else if (msg.quotedMessage &&
271
270
  msg.quotedMessage.hasMedia &&
272
271
  ["image", "video"].includes(msg.quotedMessage.mediaType)) {
273
- mediaPath = yield msg.quotedMessage.downloadMedia();
272
+ mediaBuf = yield msg.quotedMessage.downloadMedia({ asBuffer: true });
274
273
  }
275
- if (!mediaPath)
276
- return null;
277
- const stickerProps = Object.assign(Object.assign(Object.assign({}, this.defaultStickerProps), props), { media: mediaPath });
274
+ if (!mediaBuf)
275
+ return [null, false];
276
+ const stickerProps = Object.assign(Object.assign(Object.assign({}, this.defaultStickerProps), props), { media: mediaBuf });
278
277
  const buffer = yield (0, make_stiker_1.makeWebpBuffer)(stickerProps);
279
- return buffer;
278
+ return [buffer, true];
280
279
  });
281
280
  }
282
281
  };
@@ -484,7 +483,7 @@ class AutoWA {
484
483
  const buf = yield (0, baileys_1.downloadMediaMessage)(msg, "buffer", {});
485
484
  if (opts.asBuffer)
486
485
  return Promise.resolve(buf);
487
- fs_1.default.writeFileSync(filePath, buf.toString("base64"), "base64");
486
+ fs_1.default.writeFileSync(filePath, buf);
488
487
  return Promise.resolve(filePath);
489
488
  });
490
489
  }
@@ -697,26 +696,24 @@ class AutoWA {
697
696
  }
698
697
  sendSticker(_a) {
699
698
  return __awaiter(this, void 0, void 0, function* () {
700
- var { to, isGroup, media, sticker, failMsg } = _a, props = __rest(_a, ["to", "isGroup", "media", "sticker", "failMsg"]);
699
+ var { to, isGroup, sticker, media, failMsg, hasMedia } = _a, props = __rest(_a, ["to", "isGroup", "sticker", "media", "failMsg", "hasMedia"]);
701
700
  const { receiver, msg } = yield this.validateReceiver({
702
701
  from: to,
703
702
  isGroup,
704
703
  });
705
704
  if (msg)
706
705
  throw new Error_1.AutoWAError(msg);
707
- let buf;
706
+ if (!media && !sticker && !hasMedia)
707
+ throw new Error_1.AutoWAError("'media' or 'sticker' parameter must be filled");
708
708
  if (!sticker) {
709
- if (!media)
710
- throw new Error_1.AutoWAError("'media' or 'sticker' parameter must be filled");
711
- if (!(typeof media === "string" || Buffer.isBuffer(media))) {
712
- throw new Error_1.AutoWAError("'media' parameter must be String or Buffer");
709
+ if (!(typeof media === "string" || Buffer.isBuffer(media)) && !hasMedia) {
710
+ throw new Error_1.AutoWAError("'media' parameter must be string or buffer");
713
711
  }
714
712
  const stickerProps = Object.assign(Object.assign(Object.assign({}, this.defaultStickerProps), { media }), props);
715
- buf = yield (0, make_stiker_1.makeWebpBuffer)(stickerProps);
716
- if (buf === null) {
717
- return yield this.sendText(Object.assign({ to, text: failMsg || "There is error while creating the sticker🥹", isGroup }, props));
718
- }
719
- sticker = buf;
713
+ sticker = yield (0, make_stiker_1.makeWebpBuffer)(stickerProps);
714
+ }
715
+ if (!sticker || !Buffer.isBuffer(sticker)) {
716
+ return yield this.sendText(Object.assign({ to, text: failMsg || "There is error while creating the sticker🥹", isGroup }, props));
720
717
  }
721
718
  try {
722
719
  return yield this.sock.sendMessage(receiver, {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "whatsauto.js",
3
- "version": "1.0.8",
3
+ "version": "1.1.0",
4
4
  "description": "Easy WhatsApp Automation with Session",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",