whatsauto.js 1.3.0 → 2.0.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/dist/Defaults/index.d.ts +1 -1
- package/dist/Defaults/index.d.ts.map +1 -1
- package/dist/Defaults/index.js +8 -13
- package/dist/Error/index.js +2 -7
- package/dist/Logger/index.d.ts +1 -1
- package/dist/Logger/index.d.ts.map +1 -1
- package/dist/Logger/index.js +10 -11
- package/dist/Types/index.d.ts +15 -11
- package/dist/Types/index.d.ts.map +1 -1
- package/dist/Types/index.js +1 -2
- package/dist/Utils/helper.d.ts +3 -2
- package/dist/Utils/helper.d.ts.map +1 -1
- package/dist/Utils/helper.js +56 -96
- package/dist/Utils/index.d.ts +1 -1
- package/dist/Utils/index.d.ts.map +1 -1
- package/dist/Utils/index.js +1 -17
- package/dist/Utils/make-stiker.d.ts +1 -1
- package/dist/Utils/make-stiker.d.ts.map +1 -1
- package/dist/Utils/make-stiker.js +35 -50
- package/dist/WhatsApp/AutoWA.d.ts +17 -17
- package/dist/WhatsApp/AutoWA.d.ts.map +1 -1
- package/dist/WhatsApp/AutoWA.js +737 -798
- package/dist/WhatsApp/AutoWAEvent.js +3 -8
- package/dist/WhatsApp/index.d.ts +2 -2
- package/dist/WhatsApp/index.d.ts.map +1 -1
- package/dist/WhatsApp/index.js +4 -21
- package/dist/index.d.ts +5 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -22
- package/package.json +15 -5
- package/dist/Utils/set-credentials-dir.d.ts +0 -2
- package/dist/Utils/set-credentials-dir.d.ts.map +0 -1
- package/dist/Utils/set-credentials-dir.js +0 -15
- package/dist/WhatsApp/AutoWAManager.d.ts +0 -12
- package/dist/WhatsApp/AutoWAManager.d.ts.map +0 -1
- package/dist/WhatsApp/AutoWAManager.js +0 -68
package/dist/Defaults/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IGroupMemberUpdate, IWAutoMessage, IWAutoDeleteMessage, WAutoMessageUpdated } from "../Types";
|
|
1
|
+
import { IGroupMemberUpdate, IWAutoMessage, IWAutoDeleteMessage, WAutoMessageUpdated } from "../Types/index.js";
|
|
2
2
|
export declare abstract class CREDENTIALS {
|
|
3
3
|
static DIR_NAME: string;
|
|
4
4
|
static PREFIX: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Defaults/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Defaults/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAE3B,8BAAsB,WAAW;IAC/B,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAc;IACrC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAY;CAClC;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,UAAU,EAAE,EAAE,CAAC;IACf,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IACb,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC;IACzB,SAAS,EAAE,EAAE,CAAC;IACd,YAAY,EAAE,EAAE,CAAC;IAEjB,OAAO,EAAE,CAAC,aAAa,CAAC,CAAC;IACzB,eAAe,EAAE,CAAC,aAAa,CAAC,CAAC;IACjC,iBAAiB,EAAE,CAAC,aAAa,CAAC,CAAC;IACnC,kBAAkB,EAAE,CAAC,aAAa,CAAC,CAAC;IACpC,wBAAwB,EAAE,CAAC,aAAa,CAAC,CAAC;IAC1C,0BAA0B,EAAE,CAAC,aAAa,CAAC,CAAC;IAC5C,cAAc,EAAE,CAAC,aAAa,CAAC,CAAC;IAChC,oBAAoB,EAAE,CAAC,aAAa,CAAC,CAAC;IACtC,sBAAsB,EAAE,CAAC,aAAa,CAAC,CAAC;IACxC,KAAK,EAAE,CAAC,aAAa,CAAC,CAAC;IACvB,gBAAgB,EAAE,CAAC,aAAa,CAAC,CAAC;IAClC,YAAY,EAAE,CAAC,aAAa,CAAC,CAAC;IAC9B,QAAQ,EAAE,CAAC,aAAa,CAAC,CAAC;IAC1B,mBAAmB,EAAE,CAAC,aAAa,CAAC,CAAC;IACrC,eAAe,EAAE,CAAC,aAAa,CAAC,CAAC;IACjC,gBAAgB,EAAE,CAAC,aAAa,CAAC,CAAC;IAClC,yBAAyB,EAAE,CAAC,aAAa,CAAC,CAAC;IAC3C,qBAAqB,EAAE,CAAC,aAAa,CAAC,CAAC;IACvC,kBAAkB,EAAE,CAAC,aAAa,CAAC,CAAC;IACpC,2BAA2B,EAAE,CAAC,aAAa,CAAC,CAAC;IAC7C,uBAAuB,EAAE,CAAC,aAAa,CAAC,CAAC;IAEzC,iBAAiB,EAAE,CAAC,mBAAmB,CAAC,CAAC;IACzC,qBAAqB,EAAE,CAAC,kBAAkB,CAAC,CAAC;IAE5C,iBAAiB,EAAE,CAAC,mBAAmB,CAAC,CAAC;CAC1C,CAAC;AAEF,8BAAsB,QAAQ;IAC5B,MAAM,CAAC,mBAAmB,cAAe,MAAM,KAAG,MAAM,CACgB;IAExE,MAAM,CAAC,eAAe,cAAe,MAAM,KAAG,MAAM,CACN;IAE9C,MAAM,CAAC,kBAAkB,UAAW,MAAM,EAAE,GAAG,MAAM,YAGpC;IAEjB,MAAM,CAAC,kBAAkB,UAAW,MAAM,EAAE,GAAG,MAAM,YAGnC;CACnB"}
|
package/dist/Defaults/index.js
CHANGED
|
@@ -1,15 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
class CREDENTIALS {
|
|
1
|
+
export class CREDENTIALS {
|
|
2
|
+
static DIR_NAME = "wa_creds";
|
|
3
|
+
static PREFIX = "_creds";
|
|
5
4
|
}
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
export class Messages {
|
|
6
|
+
static sessionAlreadyExist = (sessionId) => `Session ID "${sessionId}" is already exist, Try another Session ID.`;
|
|
7
|
+
static sessionNotFound = (sessionId) => `Session with ID "${sessionId}" Not Exist!`;
|
|
8
|
+
static paremetersRequired = (props) => `Parameter ${typeof props == "string" ? props : props instanceof Array ? props.join(", ") : ""} is required`;
|
|
9
|
+
static paremetersNotValid = (props) => `Parameter ${typeof props == "string" ? props : props instanceof Array ? props.join(", ") : ""} is not valid`;
|
|
10
10
|
}
|
|
11
|
-
exports.Messages = Messages;
|
|
12
|
-
Messages.sessionAlreadyExist = (sessionId) => `Session ID "${sessionId}" is already exist, Try another Session ID.`;
|
|
13
|
-
Messages.sessionNotFound = (sessionId) => `Session with ID "${sessionId}" Not Exist!`;
|
|
14
|
-
Messages.paremetersRequired = (props) => `Parameter ${typeof props == "string" ? props : props instanceof Array ? props.join(", ") : ""} is required`;
|
|
15
|
-
Messages.paremetersNotValid = (props) => `Parameter ${typeof props == "string" ? props : props instanceof Array ? props.join(", ") : ""} is not valid`;
|
package/dist/Error/index.js
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ValidationError = exports.AutoWAError = void 0;
|
|
4
|
-
class AutoWAError extends Error {
|
|
1
|
+
export class AutoWAError extends Error {
|
|
5
2
|
constructor(message) {
|
|
6
3
|
super(message);
|
|
7
4
|
this.name = "AutoWAError";
|
|
@@ -11,8 +8,7 @@ class AutoWAError extends Error {
|
|
|
11
8
|
return error instanceof AutoWAError || error instanceof Error;
|
|
12
9
|
}
|
|
13
10
|
}
|
|
14
|
-
|
|
15
|
-
class ValidationError extends Error {
|
|
11
|
+
export class ValidationError extends Error {
|
|
16
12
|
constructor(message) {
|
|
17
13
|
super(message);
|
|
18
14
|
this.name = "ValidationError";
|
|
@@ -22,4 +18,3 @@ class ValidationError extends Error {
|
|
|
22
18
|
return error instanceof ValidationError || error instanceof Error;
|
|
23
19
|
}
|
|
24
20
|
}
|
|
25
|
-
exports.ValidationError = ValidationError;
|
package/dist/Logger/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Logger/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Logger/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,MAAM,CAAC,OAAO,OAAO,MAAM;IACzB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,MAAM,CAAS;gBAEX,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAKxC,OAAO,CAAC,aAAa;IAgBd,KAAK,CAAC,OAAO,EAAE,GAAG;IAIlB,IAAI,CAAC,OAAO,EAAE,GAAG;IAIjB,IAAI,CAAC,OAAO,EAAE,GAAG;IAIjB,KAAK,CAAC,OAAO,EAAE,GAAG;CAG1B"}
|
package/dist/Logger/index.js
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { blue, red, green, yellow, gray, cyan } from "colorette";
|
|
2
|
+
export default class Logger {
|
|
3
|
+
name;
|
|
4
|
+
autoWA;
|
|
5
5
|
constructor(name, autoWA) {
|
|
6
6
|
this.name = name;
|
|
7
7
|
this.autoWA = autoWA;
|
|
8
8
|
}
|
|
9
9
|
formatMessage(level, message) {
|
|
10
10
|
const levelColors = {
|
|
11
|
-
DEBUG:
|
|
12
|
-
INFO:
|
|
13
|
-
WARN:
|
|
14
|
-
ERROR:
|
|
11
|
+
DEBUG: blue,
|
|
12
|
+
INFO: green,
|
|
13
|
+
WARN: yellow,
|
|
14
|
+
ERROR: red,
|
|
15
15
|
};
|
|
16
16
|
const timestamp = new Date().toISOString();
|
|
17
17
|
const tag = levelColors[level](`[${level}]`);
|
|
18
|
-
const scope =
|
|
18
|
+
const scope = cyan(`[${this.name}]`);
|
|
19
19
|
const msg = typeof message === "string" ? message : JSON.stringify(message, null, 2);
|
|
20
|
-
return `${
|
|
20
|
+
return `${gray(timestamp)} ${tag} ${scope} ${msg}`;
|
|
21
21
|
}
|
|
22
22
|
debug(message) {
|
|
23
23
|
this.autoWA.options.logging && console.debug(this.formatMessage("DEBUG", message));
|
|
@@ -32,4 +32,3 @@ class Logger {
|
|
|
32
32
|
this.autoWA.options.logging && console.error(this.formatMessage("ERROR", message));
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
-
exports.default = Logger;
|
package/dist/Types/index.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { ParticipantAction, WAMessageUpdate, proto } from "@whiskeysockets/baileys";
|
|
1
|
+
import { GroupParticipant, ParticipantAction, WAMessage, WAMessageKey, WAMessageUpdate, proto } from "@whiskeysockets/baileys";
|
|
2
2
|
export interface IWAutoSendMessage {
|
|
3
3
|
to: string | number;
|
|
4
4
|
text?: string;
|
|
5
5
|
isGroup?: boolean;
|
|
6
|
-
answering?:
|
|
6
|
+
answering?: WAMessage;
|
|
7
7
|
mentions?: string[];
|
|
8
8
|
}
|
|
9
9
|
export interface IWAutoForwardMessage {
|
|
10
10
|
to: string | number;
|
|
11
|
-
msg:
|
|
11
|
+
msg: WAMessage;
|
|
12
12
|
isGroup?: boolean;
|
|
13
13
|
mentions?: string[];
|
|
14
14
|
}
|
|
@@ -58,23 +58,23 @@ export interface IRepliable {
|
|
|
58
58
|
/**
|
|
59
59
|
* reply this message with text
|
|
60
60
|
*/
|
|
61
|
-
replyWithText: (text: string, opts?: Partial<IWAutoSendMessage>) => Promise<
|
|
61
|
+
replyWithText: (text: string, opts?: Partial<IWAutoSendMessage>) => Promise<WAMessage>;
|
|
62
62
|
/**
|
|
63
63
|
* reply this message with Audio
|
|
64
64
|
*/
|
|
65
|
-
replyWithAudio: (media: string | Buffer, data?: Partial<IWAutoSendMedia>) => Promise<
|
|
65
|
+
replyWithAudio: (media: string | Buffer, data?: Partial<IWAutoSendMedia>) => Promise<WAMessage>;
|
|
66
66
|
/**
|
|
67
67
|
* reply this message with Video
|
|
68
68
|
*/
|
|
69
|
-
replyWithVideo: (media: string | Buffer, data?: Partial<IWAutoSendMedia>) => Promise<
|
|
69
|
+
replyWithVideo: (media: string | Buffer, data?: Partial<IWAutoSendMedia>) => Promise<WAMessage>;
|
|
70
70
|
/**
|
|
71
71
|
* reply this message with Image
|
|
72
72
|
*/
|
|
73
|
-
replyWithImage: (media: string | Buffer, data?: Partial<IWAutoSendMedia>) => Promise<
|
|
73
|
+
replyWithImage: (media: string | Buffer, data?: Partial<IWAutoSendMedia>) => Promise<WAMessage>;
|
|
74
74
|
/**
|
|
75
75
|
* reply this message with Sticker
|
|
76
76
|
*/
|
|
77
|
-
replyWithSticker: (sticker: Buffer | null, data?: Partial<IWAutoSendSticker & IStickerOptions>) => Promise<
|
|
77
|
+
replyWithSticker: (sticker: Buffer | null, data?: Partial<IWAutoSendSticker & IStickerOptions>) => Promise<WAMessage>;
|
|
78
78
|
/**
|
|
79
79
|
* reply this message with Typing
|
|
80
80
|
*/
|
|
@@ -84,7 +84,11 @@ export interface IRepliable {
|
|
|
84
84
|
*/
|
|
85
85
|
replyWithRecording: (callback: () => Promise<void>) => Promise<void>;
|
|
86
86
|
}
|
|
87
|
-
export interface IWAutoMessage extends
|
|
87
|
+
export interface IWAutoMessage extends WAMessage, IRepliable {
|
|
88
|
+
/**
|
|
89
|
+
* This Message ID
|
|
90
|
+
*/
|
|
91
|
+
key: WAMessageKey;
|
|
88
92
|
/**
|
|
89
93
|
* Your Session ID
|
|
90
94
|
*/
|
|
@@ -129,7 +133,7 @@ export interface IWAutoMessage extends proto.IWebMessageInfo, IRepliable {
|
|
|
129
133
|
/**
|
|
130
134
|
* react this message
|
|
131
135
|
*/
|
|
132
|
-
react: (reaction: string) => Promise<
|
|
136
|
+
react: (reaction: string) => Promise<WAMessage>;
|
|
133
137
|
/**
|
|
134
138
|
* read this message
|
|
135
139
|
*/
|
|
@@ -188,7 +192,7 @@ export interface IGroupMemberUpdate extends IRepliable {
|
|
|
188
192
|
*/
|
|
189
193
|
id: string;
|
|
190
194
|
author: string;
|
|
191
|
-
participants:
|
|
195
|
+
participants: GroupParticipant[];
|
|
192
196
|
action: ParticipantAction;
|
|
193
197
|
}
|
|
194
198
|
export interface IWAutoGroupMemberActionOptions {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Types/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Types/index.ts"],"names":[],"mappings":"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"}
|
package/dist/Types/index.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
export {};
|
package/dist/Utils/helper.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { proto } from "@whiskeysockets/baileys";
|
|
2
|
-
import { IWAutoMessage, IWAutoPhoneToJid, WAutoMessageUpdated } from "../Types";
|
|
1
|
+
import { proto, WAMessage } from "@whiskeysockets/baileys";
|
|
2
|
+
import { IWAutoMessage, IWAutoPhoneToJid, WAutoMessageUpdated } from "../Types/index.js";
|
|
3
3
|
export declare const getMediaMimeType: (msg: IWAutoMessage) => string;
|
|
4
4
|
export declare const parseMessageStatusCodeToReadable: (code: proto.WebMessageInfo.Status) => WAutoMessageUpdated["messageStatus"];
|
|
5
5
|
export declare const phoneToJid: ({ from, isGroup, reverse, }: IWAutoPhoneToJid) => string;
|
|
@@ -21,4 +21,5 @@ export declare const getBuffer: (url: string) => Promise<Buffer>;
|
|
|
21
21
|
export declare function getRandomFromArrays<T extends unknown[][]>(...arrays: T): {
|
|
22
22
|
[K in keyof T]: T[K] extends (infer U)[] ? U : never;
|
|
23
23
|
};
|
|
24
|
+
export declare function getContextInfo(msg: WAMessage): any;
|
|
24
25
|
//# 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;
|
|
1
|
+
{"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../src/Utils/helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAOzF,eAAO,MAAM,gBAAgB,QAAS,aAAa,KAAG,MAwBrD,CAAC;AAEF,eAAO,MAAM,gCAAgC,SACrC,KAAK,CAAC,cAAc,CAAC,MAAM,KAChC,mBAAmB,CAAC,eAAe,CAerC,CAAC;AAEF,eAAO,MAAM,UAAU,gCAIpB,gBAAgB,KAAG,MAerB,CAAC;AAEF,eAAO,MAAM,WAAW,cAAoB,MAAM,qBAMjD,CAAC;AAEF,eAAO,MAAM,EAAE;mBACE,GAAG,KAAG,OAAO;sBAGV,GAAG,KAAG,OAAO;iBAGlB,GAAG,KAAG,OAAO;qBAGT,GAAG,KAAG,OAAO;kBAGhB,GAAG,KAAG,OAAO;CAG5B,CAAC;AAEF,eAAO,MAAM,EAAE;kBACC,GAAG,KAAG,MAAM;qBAIT,GAAG,iBAAgB,GAAG,KAAe,MAAM,GAAG,MAAM,GAAG,SAAS;CAIlF,CAAC;AAEF,eAAO,MAAM,cAAc,cAAwB,MAAM,YASxD,CAAC;AAEF,eAAO,MAAM,iBAAiB,YAAa,MAAM,SAOhD,CAAC;AAEF,eAAO,MAAM,SAAS,QAAe,MAAM,KAAG,OAAO,CAAC,MAAM,CAS3D,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,EACvD,GAAG,MAAM,EAAE,CAAC,GACX;KACA,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK;CACrD,CAKA;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,SAAS,OAU5C"}
|
package/dist/Utils/helper.js
CHANGED
|
@@ -1,90 +1,43 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
36
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
37
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
38
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
39
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
40
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
41
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
42
|
-
});
|
|
43
|
-
};
|
|
44
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
45
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
46
|
-
};
|
|
47
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
48
|
-
exports.getBuffer = exports.setCredentialsDir = exports.isSessionExist = exports.to = exports.is = exports.createDelay = exports.phoneToJid = exports.parseMessageStatusCodeToReadable = exports.getMediaMimeType = void 0;
|
|
49
|
-
exports.getRandomFromArrays = getRandomFromArrays;
|
|
50
|
-
const baileys_1 = require("@whiskeysockets/baileys");
|
|
51
|
-
const Error_1 = require("../Error");
|
|
52
|
-
const fs = __importStar(require("fs"));
|
|
53
|
-
const path_1 = __importDefault(require("path"));
|
|
54
|
-
const Defaults_1 = require("../Defaults");
|
|
55
|
-
const axios_1 = __importDefault(require("axios"));
|
|
56
|
-
const getMediaMimeType = (msg) => {
|
|
57
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
58
|
-
if (!(msg === null || msg === void 0 ? void 0 : msg.message))
|
|
1
|
+
import { proto } from "@whiskeysockets/baileys";
|
|
2
|
+
import { ValidationError } from "../Error/index.js";
|
|
3
|
+
import * as fs from "fs";
|
|
4
|
+
import path from "path";
|
|
5
|
+
import { CREDENTIALS } from "../Defaults/index.js";
|
|
6
|
+
import axios from "axios";
|
|
7
|
+
export const getMediaMimeType = (msg) => {
|
|
8
|
+
if (!msg?.message)
|
|
59
9
|
return "";
|
|
60
|
-
if (
|
|
61
|
-
msg =
|
|
62
|
-
else if (
|
|
63
|
-
msg =
|
|
64
|
-
const { imageMessage, stickerMessage, videoMessage, documentMessage, audioMessage, documentWithCaptionMessage, } = msg
|
|
65
|
-
return
|
|
10
|
+
if (msg.message?.documentWithCaptionMessage)
|
|
11
|
+
msg = { ...msg, message: msg.message.documentWithCaptionMessage.message };
|
|
12
|
+
else if (msg.message?.ephemeralMessage)
|
|
13
|
+
msg = { ...msg, message: msg.message.ephemeralMessage.message };
|
|
14
|
+
const { imageMessage, stickerMessage, videoMessage, documentMessage, audioMessage, documentWithCaptionMessage, } = msg?.message;
|
|
15
|
+
return to.string(imageMessage?.mimetype ??
|
|
16
|
+
stickerMessage?.mimetype ??
|
|
17
|
+
audioMessage?.mimetype ??
|
|
18
|
+
videoMessage?.mimetype ??
|
|
19
|
+
documentMessage?.mimetype ??
|
|
20
|
+
documentWithCaptionMessage?.message?.documentMessage?.mimetype);
|
|
66
21
|
};
|
|
67
|
-
|
|
68
|
-
const parseMessageStatusCodeToReadable = (code) => {
|
|
22
|
+
export const parseMessageStatusCodeToReadable = (code) => {
|
|
69
23
|
switch (code) {
|
|
70
|
-
case
|
|
24
|
+
case proto.WebMessageInfo.Status.PENDING:
|
|
71
25
|
return "pending";
|
|
72
|
-
case
|
|
26
|
+
case proto.WebMessageInfo.Status.SERVER_ACK:
|
|
73
27
|
return "server";
|
|
74
|
-
case
|
|
28
|
+
case proto.WebMessageInfo.Status.DELIVERY_ACK:
|
|
75
29
|
return "delivered";
|
|
76
|
-
case
|
|
30
|
+
case proto.WebMessageInfo.Status.READ:
|
|
77
31
|
return "read";
|
|
78
|
-
case
|
|
32
|
+
case proto.WebMessageInfo.Status.PLAYED:
|
|
79
33
|
return "played";
|
|
80
34
|
default:
|
|
81
35
|
return "error";
|
|
82
36
|
}
|
|
83
37
|
};
|
|
84
|
-
|
|
85
|
-
const phoneToJid = ({ from, isGroup = false, reverse = false, }) => {
|
|
38
|
+
export const phoneToJid = ({ from, isGroup = false, reverse = false, }) => {
|
|
86
39
|
if (!from)
|
|
87
|
-
throw new
|
|
40
|
+
throw new ValidationError('"from" parameter is required!');
|
|
88
41
|
const number = from.toString();
|
|
89
42
|
if (number.includes("@broadcast"))
|
|
90
43
|
return number;
|
|
@@ -100,14 +53,12 @@ const phoneToJid = ({ from, isGroup = false, reverse = false, }) => {
|
|
|
100
53
|
}
|
|
101
54
|
return formatted;
|
|
102
55
|
};
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
return yield new Promise((resolve) => setTimeout(() => {
|
|
56
|
+
export const createDelay = async (duration = 1000) => {
|
|
57
|
+
return await new Promise((resolve) => setTimeout(() => {
|
|
106
58
|
resolve(true);
|
|
107
59
|
}, duration));
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
exports.is = {
|
|
60
|
+
};
|
|
61
|
+
export const is = {
|
|
111
62
|
array: (array) => {
|
|
112
63
|
return typeof array === "object" && array != null && array.length > 0;
|
|
113
64
|
},
|
|
@@ -124,7 +75,7 @@ exports.is = {
|
|
|
124
75
|
return typeof str === "string";
|
|
125
76
|
},
|
|
126
77
|
};
|
|
127
|
-
|
|
78
|
+
export const to = {
|
|
128
79
|
string: (str) => {
|
|
129
80
|
if (typeof str === "string")
|
|
130
81
|
return str;
|
|
@@ -136,39 +87,48 @@ exports.to = {
|
|
|
136
87
|
return defaultValue;
|
|
137
88
|
},
|
|
138
89
|
};
|
|
139
|
-
const isSessionExist = function (sessionId) {
|
|
140
|
-
if (fs.existsSync(
|
|
141
|
-
fs.existsSync(
|
|
142
|
-
fs.readdirSync(
|
|
90
|
+
export const isSessionExist = function (sessionId) {
|
|
91
|
+
if (fs.existsSync(path.resolve(CREDENTIALS.DIR_NAME)) &&
|
|
92
|
+
fs.existsSync(path.resolve(CREDENTIALS.DIR_NAME, sessionId + CREDENTIALS.PREFIX)) &&
|
|
93
|
+
fs.readdirSync(path.resolve(CREDENTIALS.DIR_NAME, sessionId + CREDENTIALS.PREFIX)).length) {
|
|
143
94
|
return true;
|
|
144
95
|
}
|
|
145
96
|
return false;
|
|
146
97
|
};
|
|
147
|
-
|
|
148
|
-
const setCredentialsDir = (dirname) => {
|
|
98
|
+
export const setCredentialsDir = (dirname) => {
|
|
149
99
|
if (typeof dirname !== "string") {
|
|
150
|
-
throw new
|
|
100
|
+
throw new ValidationError("Parameter dirname must be a string!");
|
|
151
101
|
}
|
|
152
102
|
else if (dirname === "") {
|
|
153
|
-
throw new
|
|
103
|
+
throw new ValidationError("Parameter dirname must not be empty!");
|
|
154
104
|
}
|
|
155
|
-
|
|
105
|
+
CREDENTIALS.DIR_NAME = dirname;
|
|
156
106
|
};
|
|
157
|
-
|
|
158
|
-
const getBuffer = (url) => __awaiter(void 0, void 0, void 0, function* () {
|
|
107
|
+
export const getBuffer = async (url) => {
|
|
159
108
|
try {
|
|
160
|
-
const response =
|
|
109
|
+
const response = await axios.get(url, {
|
|
161
110
|
responseType: "arraybuffer",
|
|
162
111
|
});
|
|
163
112
|
return Buffer.from(response.data);
|
|
164
113
|
}
|
|
165
114
|
catch (error) { }
|
|
166
115
|
return null;
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
function getRandomFromArrays(...arrays) {
|
|
116
|
+
};
|
|
117
|
+
export function getRandomFromArrays(...arrays) {
|
|
170
118
|
return arrays.map((arr) => {
|
|
171
119
|
const randomIndex = Math.floor(Math.random() * arr.length);
|
|
172
120
|
return arr[randomIndex];
|
|
173
121
|
});
|
|
174
122
|
}
|
|
123
|
+
export function getContextInfo(msg) {
|
|
124
|
+
let m = msg.message;
|
|
125
|
+
if (!m)
|
|
126
|
+
return null;
|
|
127
|
+
// unwrap ephemeral / viewOnce
|
|
128
|
+
if (m.ephemeralMessage)
|
|
129
|
+
m = m.ephemeralMessage.message;
|
|
130
|
+
if (m.viewOnceMessage)
|
|
131
|
+
m = m.viewOnceMessage.message;
|
|
132
|
+
const type = Object.keys(m)[0];
|
|
133
|
+
return m[type]?.contextInfo || null;
|
|
134
|
+
}
|
package/dist/Utils/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from "./helper";
|
|
1
|
+
export * from "./helper.js";
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
|
package/dist/Utils/index.js
CHANGED
|
@@ -1,17 +1 @@
|
|
|
1
|
-
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./helper"), exports);
|
|
1
|
+
export * from "./helper.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IStickerOptions } from "../Types";
|
|
1
|
+
import { IStickerOptions } from "../Types/index.js";
|
|
2
2
|
export declare const makeWebpBuffer: (options: IStickerOptions) => Promise<Buffer | null>;
|
|
3
3
|
export declare const generateStickerID: () => string;
|
|
4
4
|
//# 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":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"make-stiker.d.ts","sourceRoot":"","sources":["../../src/Utils/make-stiker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAYpD,eAAO,MAAM,cAAc,YAAmB,eAAe,KAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAwEpF,CAAC;AAEF,eAAO,MAAM,iBAAiB,QAAO,MAA2D,CAAC"}
|
|
@@ -1,38 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.generateStickerID = exports.makeWebpBuffer = void 0;
|
|
16
|
-
const fs_1 = __importDefault(require("fs"));
|
|
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"));
|
|
24
|
-
const makeWebpBuffer = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
1
|
+
import fs from "fs";
|
|
2
|
+
import { randomBytes } from "crypto";
|
|
3
|
+
import FileType from "file-type";
|
|
4
|
+
import webpmux from "node-webpmux";
|
|
5
|
+
import { tmpdir } from "os";
|
|
6
|
+
import { ensureDir, remove } from "fs-extra";
|
|
7
|
+
import { join } from "path";
|
|
8
|
+
import Ffmpeg from "fluent-ffmpeg";
|
|
9
|
+
const { Image } = webpmux;
|
|
10
|
+
const { fromBuffer } = FileType;
|
|
11
|
+
export const makeWebpBuffer = async (options) => {
|
|
25
12
|
const getRandomName = () => `${Math.random().toString(36).slice(2)}.webp`;
|
|
26
13
|
let buffer = null;
|
|
27
14
|
let { media, pack = "", author = "" } = options;
|
|
28
15
|
if (!media)
|
|
29
16
|
return buffer;
|
|
30
|
-
const tempDir =
|
|
31
|
-
|
|
32
|
-
const inputName = typeof media == "string" ? media :
|
|
33
|
-
const webpName =
|
|
17
|
+
const tempDir = join(tmpdir(), `webp_${Math.random().toString(36).slice(2)}`);
|
|
18
|
+
await ensureDir(tempDir);
|
|
19
|
+
const inputName = typeof media == "string" ? media : join(tempDir, getRandomName());
|
|
20
|
+
const webpName = join(tempDir, getRandomName());
|
|
34
21
|
const data = JSON.stringify({
|
|
35
|
-
"sticker-pack-id":
|
|
22
|
+
"sticker-pack-id": generateStickerID(),
|
|
36
23
|
"sticker-pack-name": pack,
|
|
37
24
|
"sticker-pack-publisher": author,
|
|
38
25
|
emojis: ["🐾"],
|
|
@@ -45,37 +32,37 @@ const makeWebpBuffer = (options) => __awaiter(void 0, void 0, void 0, function*
|
|
|
45
32
|
Buffer.from(data, "utf-8"),
|
|
46
33
|
]);
|
|
47
34
|
exif.writeUIntLE(new TextEncoder().encode(data).length, 14, 4);
|
|
48
|
-
const getStickerBuffer = (buffer) =>
|
|
49
|
-
const img = new
|
|
50
|
-
|
|
35
|
+
const getStickerBuffer = async (buffer) => {
|
|
36
|
+
const img = new Image();
|
|
37
|
+
await img.load(buffer);
|
|
51
38
|
img.exif = exif;
|
|
52
|
-
return
|
|
53
|
-
}
|
|
39
|
+
return await img.save(null);
|
|
40
|
+
};
|
|
54
41
|
if (Buffer.isBuffer(media)) {
|
|
55
|
-
|
|
42
|
+
fs.writeFileSync(inputName, media);
|
|
56
43
|
}
|
|
57
44
|
else if (typeof media == "string") {
|
|
58
|
-
media =
|
|
45
|
+
media = fs.readFileSync(media);
|
|
59
46
|
}
|
|
60
47
|
else {
|
|
61
48
|
return buffer;
|
|
62
49
|
}
|
|
63
|
-
const { mime } =
|
|
50
|
+
const { mime } = await fromBuffer(media);
|
|
64
51
|
if (mime.includes("webp")) {
|
|
65
|
-
return
|
|
52
|
+
return await getStickerBuffer(media);
|
|
66
53
|
}
|
|
67
54
|
return new Promise((resolve) => {
|
|
68
|
-
(
|
|
55
|
+
Ffmpeg(inputName)
|
|
69
56
|
.input(inputName)
|
|
70
|
-
.on("error", () =>
|
|
71
|
-
|
|
57
|
+
.on("error", async () => {
|
|
58
|
+
await remove(tempDir);
|
|
72
59
|
resolve(buffer);
|
|
73
|
-
})
|
|
74
|
-
.on("end", () =>
|
|
75
|
-
buffer =
|
|
76
|
-
|
|
60
|
+
})
|
|
61
|
+
.on("end", async () => {
|
|
62
|
+
buffer = await getStickerBuffer(fs.readFileSync(webpName));
|
|
63
|
+
await remove(tempDir);
|
|
77
64
|
resolve(buffer);
|
|
78
|
-
})
|
|
65
|
+
})
|
|
79
66
|
.addOutputOptions([
|
|
80
67
|
"-vcodec",
|
|
81
68
|
"libwebp",
|
|
@@ -85,7 +72,5 @@ const makeWebpBuffer = (options) => __awaiter(void 0, void 0, void 0, function*
|
|
|
85
72
|
.toFormat("webp")
|
|
86
73
|
.save(webpName);
|
|
87
74
|
});
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
const generateStickerID = () => `whatsauto.js|${(0, crypto_1.randomBytes)(16).toString("hex")}`;
|
|
91
|
-
exports.generateStickerID = generateStickerID;
|
|
75
|
+
};
|
|
76
|
+
export const generateStickerID = () => `whatsauto.js|${randomBytes(16).toString("hex")}`;
|