@periskope/baileys 6.7.19 → 6.8.0-alpha-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/WAProto/GenerateStatics.sh +2 -2
- package/WAProto/index.d.ts +2793 -45578
- package/WAProto/index.js +19344 -147065
- package/lib/Defaults/index.d.ts +5 -0
- package/lib/Defaults/index.d.ts.map +1 -1
- package/lib/Defaults/index.js +8 -2
- package/lib/Defaults/index.js.map +1 -1
- package/lib/Signal/Group/queue-job.d.ts +1 -0
- package/lib/Signal/Group/queue-job.d.ts.map +1 -1
- package/lib/Signal/Group/queue-job.js +3 -0
- package/lib/Signal/Group/queue-job.js.map +1 -1
- package/lib/Signal/Group/sender-key-distribution-message.d.ts.map +1 -1
- package/lib/Signal/Group/sender-key-distribution-message.js +1 -1
- package/lib/Signal/Group/sender-key-distribution-message.js.map +1 -1
- package/lib/Signal/Group/sender-key-message.d.ts.map +1 -1
- package/lib/Signal/Group/sender-key-message.js +1 -1
- package/lib/Signal/Group/sender-key-message.js.map +1 -1
- package/lib/Signal/Group/sender-key-state.d.ts.map +1 -1
- package/lib/Signal/Group/sender-key-state.js +6 -1
- package/lib/Signal/Group/sender-key-state.js.map +1 -1
- package/lib/Signal/libsignal.d.ts.map +1 -1
- package/lib/Signal/libsignal.js +147 -9
- package/lib/Signal/libsignal.js.map +1 -1
- package/lib/Signal/lid-mapping.d.ts +2 -3
- package/lib/Signal/lid-mapping.d.ts.map +1 -0
- package/lib/Signal/lid-mapping.js +23 -55
- package/lib/Signal/lid-mapping.js.map +1 -0
- package/lib/Socket/business.d.ts +18 -7
- package/lib/Socket/business.d.ts.map +1 -1
- package/lib/Socket/business.js +122 -1
- package/lib/Socket/business.js.map +1 -1
- package/lib/Socket/chats.d.ts +8 -2
- package/lib/Socket/chats.d.ts.map +1 -1
- package/lib/Socket/chats.js +39 -2
- package/lib/Socket/chats.js.map +1 -1
- package/lib/Socket/communities.d.ts +17 -4
- package/lib/Socket/communities.d.ts.map +1 -1
- package/lib/Socket/communities.js +45 -1
- package/lib/Socket/communities.js.map +1 -1
- package/lib/Socket/groups.d.ts +7 -2
- package/lib/Socket/groups.d.ts.map +1 -1
- package/lib/Socket/groups.js +1 -1
- package/lib/Socket/groups.js.map +1 -1
- package/lib/Socket/index.d.ts +17 -4
- package/lib/Socket/index.d.ts.map +1 -1
- package/lib/Socket/messages-recv.d.ts +11 -4
- package/lib/Socket/messages-recv.d.ts.map +1 -1
- package/lib/Socket/messages-recv.js +73 -10
- package/lib/Socket/messages-recv.js.map +1 -1
- package/lib/Socket/messages-send.d.ts +11 -4
- package/lib/Socket/messages-send.d.ts.map +1 -1
- package/lib/Socket/messages-send.js +443 -55
- package/lib/Socket/messages-send.js.map +1 -1
- package/lib/Socket/newsletter.d.ts +7 -2
- package/lib/Socket/newsletter.d.ts.map +1 -1
- package/lib/Socket/socket.d.ts +2 -2
- package/lib/Socket/socket.d.ts.map +1 -1
- package/lib/Socket/socket.js +147 -25
- package/lib/Socket/socket.js.map +1 -1
- package/lib/Socket/usync.d.ts +2 -2
- package/lib/Types/Auth.d.ts +1 -0
- package/lib/Types/Auth.d.ts.map +1 -1
- package/lib/Types/Bussines.d.ts +25 -0
- package/lib/Types/Bussines.d.ts.map +1 -0
- package/lib/Types/Bussines.js +2 -0
- package/lib/Types/Bussines.js.map +1 -0
- package/lib/Types/Chat.d.ts +3 -0
- package/lib/Types/Chat.d.ts.map +1 -1
- package/lib/Types/Chat.js.map +1 -1
- package/lib/Types/Message.d.ts +21 -1
- package/lib/Types/Message.d.ts.map +1 -1
- package/lib/Types/Signal.d.ts +20 -0
- package/lib/Types/Signal.d.ts.map +1 -1
- package/lib/Utils/chat-utils.d.ts.map +1 -1
- package/lib/Utils/chat-utils.js +18 -1
- package/lib/Utils/chat-utils.js.map +1 -1
- package/lib/Utils/decode-wa-message.d.ts +5 -0
- package/lib/Utils/decode-wa-message.d.ts.map +1 -1
- package/lib/Utils/decode-wa-message.js +51 -3
- package/lib/Utils/decode-wa-message.js.map +1 -1
- package/lib/Utils/message-retry-manager.d.ts +82 -0
- package/lib/Utils/message-retry-manager.d.ts.map +1 -0
- package/lib/Utils/message-retry-manager.js +149 -0
- package/lib/Utils/message-retry-manager.js.map +1 -0
- package/lib/Utils/messages-media.d.ts.map +1 -1
- package/lib/Utils/messages-media.js +4 -1
- package/lib/Utils/messages-media.js.map +1 -1
- package/lib/Utils/messages.d.ts.map +1 -1
- package/lib/Utils/messages.js +35 -15
- package/lib/Utils/messages.js.map +1 -1
- package/lib/Utils/use-multi-file-auth-state.js +1 -1
- package/lib/Utils/use-multi-file-auth-state.js.map +1 -1
- package/lib/Utils/validate-connection.js +2 -2
- package/lib/Utils/validate-connection.js.map +1 -1
- package/package.json +4 -2
|
@@ -1,34 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.LIDMappingStore = void 0;
|
|
7
|
-
const logger_1 = __importDefault(require("../Utils/logger.js"));
|
|
8
|
-
const WABinary_1 = require("../WABinary/index.js");
|
|
9
|
-
class LIDMappingStore {
|
|
10
|
-
constructor(keys, getLIDFromPN, getPNFromLID) {
|
|
1
|
+
import logger from '../Utils/logger.js';
|
|
2
|
+
import { isJidUser, isLidUser, jidDecode } from '../WABinary/index.js';
|
|
3
|
+
export class LIDMappingStore {
|
|
4
|
+
constructor(keys) {
|
|
11
5
|
this.keys = keys;
|
|
12
|
-
this.getLIDFromPN = getLIDFromPN;
|
|
13
|
-
this.getPNFromLID = getPNFromLID;
|
|
14
6
|
}
|
|
15
7
|
/**
|
|
16
8
|
* Store LID-PN mapping - USER LEVEL
|
|
17
9
|
*/
|
|
18
10
|
async storeLIDPNMapping(lid, pn) {
|
|
19
11
|
// Validate inputs
|
|
20
|
-
if (!((
|
|
21
|
-
|
|
12
|
+
if (!((isLidUser(lid) && isJidUser(pn)) || (isJidUser(lid) && isLidUser(pn)))) {
|
|
13
|
+
logger.warn(`Invalid LID-PN mapping: ${lid}, ${pn}`);
|
|
22
14
|
return;
|
|
23
15
|
}
|
|
24
|
-
const [lidJid, pnJid] =
|
|
25
|
-
const lidDecoded =
|
|
26
|
-
const pnDecoded =
|
|
16
|
+
const [lidJid, pnJid] = isLidUser(lid) ? [lid, pn] : [pn, lid];
|
|
17
|
+
const lidDecoded = jidDecode(lidJid);
|
|
18
|
+
const pnDecoded = jidDecode(pnJid);
|
|
27
19
|
if (!lidDecoded || !pnDecoded)
|
|
28
20
|
return;
|
|
29
21
|
const pnUser = pnDecoded.user;
|
|
30
22
|
const lidUser = lidDecoded.user;
|
|
31
|
-
|
|
23
|
+
logger.trace(`Storing USER LID mapping: PN ${pnUser} → LID ${lidUser}`);
|
|
32
24
|
await this.keys.transaction(async () => {
|
|
33
25
|
await this.keys.set({
|
|
34
26
|
'lid-mapping': {
|
|
@@ -36,36 +28,24 @@ class LIDMappingStore {
|
|
|
36
28
|
[`${lidUser}_reverse`]: pnUser // "102765716062358_reverse" -> "554396160286"
|
|
37
29
|
}
|
|
38
30
|
});
|
|
39
|
-
}
|
|
40
|
-
|
|
31
|
+
});
|
|
32
|
+
logger.trace(`USER LID mapping stored: PN ${pnUser} → LID ${lidUser}`);
|
|
41
33
|
}
|
|
42
34
|
/**
|
|
43
35
|
* Get LID for PN - Returns device-specific LID based on user mapping
|
|
44
36
|
*/
|
|
45
37
|
async getLIDForPN(pn) {
|
|
46
|
-
if (!
|
|
38
|
+
if (!isJidUser(pn))
|
|
47
39
|
return null;
|
|
48
|
-
const decoded =
|
|
40
|
+
const decoded = jidDecode(pn);
|
|
49
41
|
if (!decoded)
|
|
50
42
|
return null;
|
|
51
43
|
// Look up user-level mapping (whatsmeow approach)
|
|
52
44
|
const pnUser = decoded.user;
|
|
53
45
|
const stored = await this.keys.get('lid-mapping', [pnUser]);
|
|
54
|
-
|
|
46
|
+
const lidUser = stored[pnUser];
|
|
55
47
|
if (!lidUser) {
|
|
56
|
-
|
|
57
|
-
const lid = await this.getLIDFromPN(`${pnUser}@s.whatsapp.net`);
|
|
58
|
-
if (lid) {
|
|
59
|
-
const decodedLid = (0, WABinary_1.jidDecode)(lid);
|
|
60
|
-
if (decodedLid) {
|
|
61
|
-
lidUser = decodedLid.user;
|
|
62
|
-
await this.storeLIDPNMapping(`${lidUser}@lid`, `${pnUser}@s.whatsapp.net`);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
if (!lidUser) {
|
|
68
|
-
logger_1.default.trace(`No LID mapping found for PN user ${pnUser}`);
|
|
48
|
+
logger.trace(`No LID mapping found for PN user ${pnUser}`);
|
|
69
49
|
return null;
|
|
70
50
|
}
|
|
71
51
|
if (typeof lidUser !== 'string')
|
|
@@ -73,43 +53,31 @@ class LIDMappingStore {
|
|
|
73
53
|
// Push the PN device ID to the LID to maintain device separation
|
|
74
54
|
const pnDevice = decoded.device !== undefined ? decoded.device : 0;
|
|
75
55
|
const deviceSpecificLid = `${lidUser}:${pnDevice}@lid`;
|
|
76
|
-
|
|
56
|
+
logger.trace(`getLIDForPN: ${pn} → ${deviceSpecificLid} (user mapping with device ${pnDevice})`);
|
|
77
57
|
return deviceSpecificLid;
|
|
78
58
|
}
|
|
79
59
|
/**
|
|
80
60
|
* Get PN for LID - USER LEVEL with device construction
|
|
81
61
|
*/
|
|
82
62
|
async getPNForLID(lid) {
|
|
83
|
-
if (!
|
|
63
|
+
if (!isLidUser(lid))
|
|
84
64
|
return null;
|
|
85
|
-
const decoded =
|
|
65
|
+
const decoded = jidDecode(lid);
|
|
86
66
|
if (!decoded)
|
|
87
67
|
return null;
|
|
88
68
|
// Look up reverse user mapping
|
|
89
69
|
const lidUser = decoded.user;
|
|
90
70
|
const stored = await this.keys.get('lid-mapping', [`${lidUser}_reverse`]);
|
|
91
|
-
|
|
92
|
-
if (!pnUser) {
|
|
93
|
-
if (this.getPNFromLID) {
|
|
94
|
-
const pn = await this.getPNFromLID(`${lidUser}@lid`);
|
|
95
|
-
if (pn) {
|
|
96
|
-
const decodedJid = (0, WABinary_1.jidDecode)(pn);
|
|
97
|
-
if (decodedJid) {
|
|
98
|
-
pnUser = decodedJid.user;
|
|
99
|
-
await this.storeLIDPNMapping(`${lidUser}@lid`, `${pnUser}@s.whatsapp.net`);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
}
|
|
71
|
+
const pnUser = stored[`${lidUser}_reverse`];
|
|
104
72
|
if (!pnUser || typeof pnUser !== 'string') {
|
|
105
|
-
|
|
73
|
+
logger.trace(`No reverse mapping found for LID user: ${lidUser}`);
|
|
106
74
|
return null;
|
|
107
75
|
}
|
|
108
76
|
// Construct device-specific PN JID
|
|
109
77
|
const lidDevice = decoded.device !== undefined ? decoded.device : 0;
|
|
110
78
|
const pnJid = `${pnUser}:${lidDevice}@s.whatsapp.net`;
|
|
111
|
-
|
|
79
|
+
logger.trace(`Found reverse mapping: ${lid} → ${pnJid}`);
|
|
112
80
|
return pnJid;
|
|
113
81
|
}
|
|
114
82
|
}
|
|
115
|
-
|
|
83
|
+
//# sourceMappingURL=lid-mapping.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lid-mapping.js","sourceRoot":"","sources":["../../src/Signal/lid-mapping.ts"],"names":[],"mappings":"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"}
|
package/lib/Socket/business.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { GetCatalogOptions, ProductCreate, ProductUpdate, SocketConfig } from '../Types/index.js';
|
|
1
|
+
import type { GetCatalogOptions, ProductCreate, ProductUpdate, SocketConfig, WAMediaUpload } from '../Types/index.js';
|
|
2
|
+
import type { UpdateBussinesProfileProps } from '../Types/Bussines.js';
|
|
2
3
|
import { type BinaryNode } from '../WABinary/index.js';
|
|
3
4
|
export declare const makeBusinessSocket: (config: SocketConfig) => {
|
|
4
5
|
logger: import("../Utils/logger.js").ILogger;
|
|
@@ -15,6 +16,9 @@ export declare const makeBusinessSocket: (config: SocketConfig) => {
|
|
|
15
16
|
deleted: number;
|
|
16
17
|
}>;
|
|
17
18
|
productUpdate: (productId: string, update: ProductUpdate) => Promise<import("../index.js").Product>;
|
|
19
|
+
updateBussinesProfile: (args: UpdateBussinesProfileProps) => Promise<any>;
|
|
20
|
+
updateCoverPhoto: (photo: WAMediaUpload) => Promise<number>;
|
|
21
|
+
removeCoverPhoto: (id: string) => Promise<any>;
|
|
18
22
|
sendMessageAck: ({ tag, attrs, content }: BinaryNode, errorCode?: number) => Promise<void>;
|
|
19
23
|
sendRetryRequest: (node: BinaryNode, forceIncludeKeys?: boolean) => Promise<void>;
|
|
20
24
|
rejectCall: (callId: string, callFrom: string) => Promise<void>;
|
|
@@ -32,11 +36,13 @@ export declare const makeBusinessSocket: (config: SocketConfig) => {
|
|
|
32
36
|
[_: string]: string;
|
|
33
37
|
}>;
|
|
34
38
|
sendPeerDataOperationMessage: (pdoMessage: import("../index.js").proto.Message.IPeerDataOperationRequestMessage) => Promise<string>;
|
|
35
|
-
createParticipantNodes: (jids: string[], message: import("../index.js").proto.IMessage, extraAttrs?: BinaryNode["attrs"]) => Promise<{
|
|
39
|
+
createParticipantNodes: (jids: string[], message: import("../index.js").proto.IMessage, extraAttrs?: BinaryNode["attrs"], dsmMessage?: import("../index.js").proto.IMessage) => Promise<{
|
|
36
40
|
nodes: BinaryNode[];
|
|
37
41
|
shouldIncludeDeviceIdentity: boolean;
|
|
38
42
|
}>;
|
|
39
|
-
getUSyncDevices: (jids: string[], useCache: boolean, ignoreZeroDevices: boolean) => Promise<import("../index.js").JidWithDevice
|
|
43
|
+
getUSyncDevices: (jids: string[], useCache: boolean, ignoreZeroDevices: boolean) => Promise<(import("../index.js").JidWithDevice & {
|
|
44
|
+
wireJid: string;
|
|
45
|
+
})[]>;
|
|
40
46
|
updateMediaMessage: (message: import("../index.js").proto.IWebMessageInfo) => Promise<import("../index.js").proto.IWebMessageInfo>;
|
|
41
47
|
sendMessage: (jid: string, content: import("../index.js").AnyMessageContent, options?: import("../index.js").MiscMessageGenerationOptions) => Promise<import("../index.js").proto.WebMessageInfo | undefined>;
|
|
42
48
|
newsletterCreate: (name: string, description?: string) => Promise<import("../index.js").NewsletterMetadata>;
|
|
@@ -51,7 +57,7 @@ export declare const makeBusinessSocket: (config: SocketConfig) => {
|
|
|
51
57
|
newsletterUnmute: (jid: string) => Promise<unknown>;
|
|
52
58
|
newsletterUpdateName: (jid: string, name: string) => Promise<unknown>;
|
|
53
59
|
newsletterUpdateDescription: (jid: string, description: string) => Promise<unknown>;
|
|
54
|
-
newsletterUpdatePicture: (jid: string, content:
|
|
60
|
+
newsletterUpdatePicture: (jid: string, content: WAMediaUpload) => Promise<unknown>;
|
|
55
61
|
newsletterRemovePicture: (jid: string) => Promise<unknown>;
|
|
56
62
|
newsletterReactMessage: (jid: string, serverId: string, reaction?: string) => Promise<void>;
|
|
57
63
|
newsletterFetchMessages: (jid: string, count: number, since: number, after: number) => Promise<any>;
|
|
@@ -92,6 +98,9 @@ export declare const makeBusinessSocket: (config: SocketConfig) => {
|
|
|
92
98
|
groupFetchAllParticipating: () => Promise<{
|
|
93
99
|
[_: string]: import("../index.js").GroupMetadata;
|
|
94
100
|
}>;
|
|
101
|
+
createCallLink: (type: "audio" | "video", event?: {
|
|
102
|
+
startTime: number;
|
|
103
|
+
}, timeoutMs?: number) => Promise<string | undefined>;
|
|
95
104
|
getBotListV2: () => Promise<import("../index.js").BotListInfo[]>;
|
|
96
105
|
processingMutex: {
|
|
97
106
|
mutex<T>(code: () => Promise<T> | T): Promise<T>;
|
|
@@ -109,7 +118,7 @@ export declare const makeBusinessSocket: (config: SocketConfig) => {
|
|
|
109
118
|
fetchBlocklist: () => Promise<(string | undefined)[]>;
|
|
110
119
|
fetchStatus: (...jids: string[]) => Promise<import("../index.js").USyncQueryResultList[] | undefined>;
|
|
111
120
|
fetchDisappearingDuration: (...jids: string[]) => Promise<import("../index.js").USyncQueryResultList[] | undefined>;
|
|
112
|
-
updateProfilePicture: (jid: string, content:
|
|
121
|
+
updateProfilePicture: (jid: string, content: WAMediaUpload, dimensions?: {
|
|
113
122
|
width: number;
|
|
114
123
|
height: number;
|
|
115
124
|
}) => Promise<void>;
|
|
@@ -142,6 +151,8 @@ export declare const makeBusinessSocket: (config: SocketConfig) => {
|
|
|
142
151
|
id: string;
|
|
143
152
|
fromMe?: boolean;
|
|
144
153
|
}[], star: boolean) => Promise<void>;
|
|
154
|
+
addOrEditQuickReply: (quickReply: import("../Types/Bussines.js").QuickReplyAction) => Promise<void>;
|
|
155
|
+
removeQuickReply: (timestamp: string) => Promise<void>;
|
|
145
156
|
executeUSyncQuery: (usyncQuery: import("../index.js").USyncQuery) => Promise<import("../index.js").USyncQueryResult | undefined>;
|
|
146
157
|
type: "md";
|
|
147
158
|
ws: import("./Client/index.js").WebSocketClient;
|
|
@@ -160,14 +171,14 @@ export declare const makeBusinessSocket: (config: SocketConfig) => {
|
|
|
160
171
|
user: import("../index.js").Contact | undefined;
|
|
161
172
|
generateMessageTag: () => string;
|
|
162
173
|
query: (node: BinaryNode, timeoutMs?: number) => Promise<any>;
|
|
163
|
-
waitForMessage: <T>(msgId: string, timeoutMs?: number | undefined) => Promise<
|
|
174
|
+
waitForMessage: <T>(msgId: string, timeoutMs?: number | undefined) => Promise<T | undefined>;
|
|
164
175
|
waitForSocketOpen: () => Promise<void>;
|
|
165
176
|
sendRawMessage: (data: Uint8Array | Buffer) => Promise<void>;
|
|
166
177
|
sendNode: (frame: BinaryNode) => Promise<void>;
|
|
167
178
|
logout: (msg?: string) => Promise<void>;
|
|
168
179
|
end: (error: Error | undefined) => void;
|
|
169
180
|
onUnexpectedError: (err: Error | import("@hapi/boom").Boom, msg: string) => void;
|
|
170
|
-
uploadPreKeys: (count?: number) => Promise<void>;
|
|
181
|
+
uploadPreKeys: (count?: number, retryCount?: number) => Promise<void>;
|
|
171
182
|
uploadPreKeysToServerIfRequired: () => Promise<void>;
|
|
172
183
|
requestPairingCode: (phoneNumber: string, customPairingCode?: string) => Promise<string>;
|
|
173
184
|
waitForConnectionUpdate: (check: (u: Partial<import("../index.js").ConnectionState>) => Promise<boolean | undefined>, timeoutMs?: number) => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"business.d.ts","sourceRoot":"","sources":["../../src/Socket/business.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"business.d.ts","sourceRoot":"","sources":["../../src/Socket/business.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAC5G,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAA;AAUnE,OAAO,EAAE,KAAK,UAAU,EAAqC,MAAM,aAAa,CAAA;AAIhF,eAAO,MAAM,kBAAkB,GAAI,QAAQ,YAAY;;+BA2Od,MAAM,eAAe,MAAM;yCAjGjB,iBAAiB;;;;2BAmD/B,MAAM;;;4BAkIL,aAAa;gCAwCT,MAAM,EAAE;;;+BA9ET,MAAM,UAAU,aAAa;kCArR1B,0BAA0B;8BAwE9B,aAAa;2BAoChB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAsS47c,CAAC;;;;;;;;;;0DA5Wh+c,GAAE,0BACE,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CA0Wd,CAAA"}
|
package/lib/Socket/business.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { getRawMediaUploadData } from '../Utils/index.js';
|
|
1
2
|
import { parseCatalogNode, parseCollectionsNode, parseOrderDetailsNode, parseProductNode, toProductNode, uploadingNecessaryImagesOfProduct } from '../Utils/business.js';
|
|
2
3
|
import { jidNormalizedUser, S_WHATSAPP_NET } from '../WABinary/index.js';
|
|
3
4
|
import { getBinaryNodeChild } from '../WABinary/generic-utils.js';
|
|
@@ -5,6 +6,123 @@ import { makeMessagesRecvSocket } from './messages-recv.js';
|
|
|
5
6
|
export const makeBusinessSocket = (config) => {
|
|
6
7
|
const sock = makeMessagesRecvSocket(config);
|
|
7
8
|
const { authState, query, waUploadToServer } = sock;
|
|
9
|
+
const updateBussinesProfile = async (args) => {
|
|
10
|
+
const node = [];
|
|
11
|
+
const simpleFields = ['address', 'email', 'description'];
|
|
12
|
+
node.push(...simpleFields
|
|
13
|
+
.filter(key => args[key])
|
|
14
|
+
.map(key => ({
|
|
15
|
+
tag: key,
|
|
16
|
+
attrs: {},
|
|
17
|
+
content: args[key]
|
|
18
|
+
})));
|
|
19
|
+
if (args.websites) {
|
|
20
|
+
node.push(...args.websites.map(website => ({
|
|
21
|
+
tag: 'website',
|
|
22
|
+
attrs: {},
|
|
23
|
+
content: website
|
|
24
|
+
})));
|
|
25
|
+
}
|
|
26
|
+
if (args.hours) {
|
|
27
|
+
node.push({
|
|
28
|
+
tag: 'business_hours',
|
|
29
|
+
attrs: { timezone: args.hours.timezone },
|
|
30
|
+
content: args.hours.days.map(config => {
|
|
31
|
+
const base = {
|
|
32
|
+
tag: 'business_hours_config',
|
|
33
|
+
attrs: { day_of_week: config.day, mode: config.mode }
|
|
34
|
+
};
|
|
35
|
+
if (config.mode === 'specific_hours') {
|
|
36
|
+
return {
|
|
37
|
+
...base,
|
|
38
|
+
attrs: {
|
|
39
|
+
...base.attrs,
|
|
40
|
+
open_time: config.openTimeInMinutes,
|
|
41
|
+
close_time: config.closeTimeInMinutes
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
return base;
|
|
46
|
+
})
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
const result = await query({
|
|
50
|
+
tag: 'iq',
|
|
51
|
+
attrs: {
|
|
52
|
+
to: S_WHATSAPP_NET,
|
|
53
|
+
type: 'set',
|
|
54
|
+
xmlns: 'w:biz'
|
|
55
|
+
},
|
|
56
|
+
content: [
|
|
57
|
+
{
|
|
58
|
+
tag: 'business_profile',
|
|
59
|
+
attrs: {
|
|
60
|
+
v: '3',
|
|
61
|
+
mutation_type: 'delta'
|
|
62
|
+
},
|
|
63
|
+
content: node
|
|
64
|
+
}
|
|
65
|
+
]
|
|
66
|
+
});
|
|
67
|
+
return result;
|
|
68
|
+
};
|
|
69
|
+
const updateCoverPhoto = async (photo) => {
|
|
70
|
+
const { fileSha256, filePath } = await getRawMediaUploadData(photo, 'biz-cover-photo');
|
|
71
|
+
const fileSha256B64 = fileSha256.toString('base64');
|
|
72
|
+
const { meta_hmac, fbid, ts } = await waUploadToServer(filePath, {
|
|
73
|
+
fileEncSha256B64: fileSha256B64,
|
|
74
|
+
mediaType: 'biz-cover-photo'
|
|
75
|
+
});
|
|
76
|
+
await query({
|
|
77
|
+
tag: 'iq',
|
|
78
|
+
attrs: {
|
|
79
|
+
to: S_WHATSAPP_NET,
|
|
80
|
+
type: 'set',
|
|
81
|
+
xmlns: 'w:biz'
|
|
82
|
+
},
|
|
83
|
+
content: [
|
|
84
|
+
{
|
|
85
|
+
tag: 'business_profile',
|
|
86
|
+
attrs: {
|
|
87
|
+
v: '3',
|
|
88
|
+
mutation_type: 'delta'
|
|
89
|
+
},
|
|
90
|
+
content: [
|
|
91
|
+
{
|
|
92
|
+
tag: 'cover_photo',
|
|
93
|
+
attrs: { id: String(fbid), op: 'update', token: meta_hmac, ts: String(ts) }
|
|
94
|
+
}
|
|
95
|
+
]
|
|
96
|
+
}
|
|
97
|
+
]
|
|
98
|
+
});
|
|
99
|
+
return fbid;
|
|
100
|
+
};
|
|
101
|
+
const removeCoverPhoto = async (id) => {
|
|
102
|
+
return await query({
|
|
103
|
+
tag: 'iq',
|
|
104
|
+
attrs: {
|
|
105
|
+
to: S_WHATSAPP_NET,
|
|
106
|
+
type: 'set',
|
|
107
|
+
xmlns: 'w:biz'
|
|
108
|
+
},
|
|
109
|
+
content: [
|
|
110
|
+
{
|
|
111
|
+
tag: 'business_profile',
|
|
112
|
+
attrs: {
|
|
113
|
+
v: '3',
|
|
114
|
+
mutation_type: 'delta'
|
|
115
|
+
},
|
|
116
|
+
content: [
|
|
117
|
+
{
|
|
118
|
+
tag: 'cover_photo',
|
|
119
|
+
attrs: { op: 'delete', id }
|
|
120
|
+
}
|
|
121
|
+
]
|
|
122
|
+
}
|
|
123
|
+
]
|
|
124
|
+
});
|
|
125
|
+
};
|
|
8
126
|
const getCatalog = async ({ jid, limit, cursor }) => {
|
|
9
127
|
jid = jid || authState.creds.me?.id;
|
|
10
128
|
jid = jidNormalizedUser(jid);
|
|
@@ -249,7 +367,10 @@ export const makeBusinessSocket = (config) => {
|
|
|
249
367
|
getCollections,
|
|
250
368
|
productCreate,
|
|
251
369
|
productDelete,
|
|
252
|
-
productUpdate
|
|
370
|
+
productUpdate,
|
|
371
|
+
updateBussinesProfile,
|
|
372
|
+
updateCoverPhoto,
|
|
373
|
+
removeCoverPhoto
|
|
253
374
|
};
|
|
254
375
|
};
|
|
255
376
|
//# sourceMappingURL=business.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"business.js","sourceRoot":"","sources":["../../src/Socket/business.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"business.js","sourceRoot":"","sources":["../../src/Socket/business.ts"],"names":[],"mappings":"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"}
|
package/lib/Socket/chats.d.ts
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import { Boom } from '@hapi/boom';
|
|
2
2
|
import { proto } from '../../WAProto/index.js';
|
|
3
3
|
import type { BotListInfo, ChatModification, MessageUpsertType, SocketConfig, WABusinessProfile, WAMediaUpload, WAMessage, WAPatchCreate, WAPresence, WAPrivacyCallValue, WAPrivacyGroupAddValue, WAPrivacyMessagesValue, WAPrivacyOnlineValue, WAPrivacyValue, WAReadReceiptsValue } from '../Types/index.js';
|
|
4
|
+
import type { QuickReplyAction } from '../Types/Bussines.js';
|
|
4
5
|
import type { LabelActionBody } from '../Types/Label.js';
|
|
5
6
|
import { type BinaryNode } from '../WABinary/index.js';
|
|
6
7
|
import { USyncQuery } from '../WAUSync/index.js';
|
|
7
8
|
export declare const makeChatsSocket: (config: SocketConfig) => {
|
|
9
|
+
createCallLink: (type: "audio" | "video", event?: {
|
|
10
|
+
startTime: number;
|
|
11
|
+
}, timeoutMs?: number) => Promise<string | undefined>;
|
|
8
12
|
getBotListV2: () => Promise<BotListInfo[]>;
|
|
9
13
|
processingMutex: {
|
|
10
14
|
mutex<T>(code: () => Promise<T> | T): Promise<T>;
|
|
@@ -58,6 +62,8 @@ export declare const makeChatsSocket: (config: SocketConfig) => {
|
|
|
58
62
|
id: string;
|
|
59
63
|
fromMe?: boolean;
|
|
60
64
|
}[], star: boolean) => Promise<void>;
|
|
65
|
+
addOrEditQuickReply: (quickReply: QuickReplyAction) => Promise<void>;
|
|
66
|
+
removeQuickReply: (timestamp: string) => Promise<void>;
|
|
61
67
|
executeUSyncQuery: (usyncQuery: USyncQuery) => Promise<import("../WAUSync/index.js").USyncQueryResult | undefined>;
|
|
62
68
|
type: "md";
|
|
63
69
|
ws: import("./Client/websocket.js").WebSocketClient;
|
|
@@ -76,14 +82,14 @@ export declare const makeChatsSocket: (config: SocketConfig) => {
|
|
|
76
82
|
user: import("../Types/index.js").Contact | undefined;
|
|
77
83
|
generateMessageTag: () => string;
|
|
78
84
|
query: (node: BinaryNode, timeoutMs?: number) => Promise<any>;
|
|
79
|
-
waitForMessage: <T>(msgId: string, timeoutMs?: number | undefined) => Promise<
|
|
85
|
+
waitForMessage: <T>(msgId: string, timeoutMs?: number | undefined) => Promise<T | undefined>;
|
|
80
86
|
waitForSocketOpen: () => Promise<void>;
|
|
81
87
|
sendRawMessage: (data: Uint8Array | Buffer) => Promise<void>;
|
|
82
88
|
sendNode: (frame: BinaryNode) => Promise<void>;
|
|
83
89
|
logout: (msg?: string) => Promise<void>;
|
|
84
90
|
end: (error: Error | undefined) => void;
|
|
85
91
|
onUnexpectedError: (err: Error | Boom, msg: string) => void;
|
|
86
|
-
uploadPreKeys: (count?: number) => Promise<void>;
|
|
92
|
+
uploadPreKeys: (count?: number, retryCount?: number) => Promise<void>;
|
|
87
93
|
uploadPreKeysToServerIfRequired: () => Promise<void>;
|
|
88
94
|
requestPairingCode: (phoneNumber: string, customPairingCode?: string) => Promise<string>;
|
|
89
95
|
waitForConnectionUpdate: (check: (u: Partial<import("../Types/index.js").ConnectionState>) => Promise<boolean | undefined>, timeoutMs?: number) => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chats.d.ts","sourceRoot":"","sources":["../../src/Socket/chats.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAE9C,OAAO,KAAK,EACX,WAAW,EAEX,gBAAgB,EAGhB,iBAAiB,EAEjB,YAAY,EAEZ,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,aAAa,EAEb,UAAU,EACV,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,EACd,mBAAmB,EACnB,MAAM,UAAU,CAAA;AAEjB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAgBrD,OAAO,EACN,KAAK,UAAU,EAOf,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,UAAU,EAAa,MAAM,YAAY,CAAA;AAIlD,eAAO,MAAM,eAAe,GAAI,QAAQ,YAAY;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"chats.d.ts","sourceRoot":"","sources":["../../src/Socket/chats.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAE9C,OAAO,KAAK,EACX,WAAW,EAEX,gBAAgB,EAGhB,iBAAiB,EAEjB,YAAY,EAEZ,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,aAAa,EAEb,UAAU,EACV,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,EACd,mBAAmB,EACnB,MAAM,UAAU,CAAA;AAEjB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAgBrD,OAAO,EACN,KAAK,UAAU,EAOf,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,UAAU,EAAa,MAAM,YAAY,CAAA;AAIlD,eAAO,MAAM,eAAe,GAAI,QAAQ,YAAY;2BAkkBf,OAAO,GAAG,OAAO,UAAU;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,cAAc,MAAM;;;;;;;;;4BAqHnE,aAAa;+BA/FV,UAAU,UAAU,MAAM;+BAyChC,MAAM,YAAY,MAAM;6BAlFpB,MAAM,SAAQ,SAAS,GAAG,OAAO,cAA0B,MAAM;0BA1YpE,MAAM,EAAE;;;;;;2BAeP,MAAM,EAAE;yCAaM,MAAM,EAAE;gCAepD,MAAM,WACF,aAAa,eACT;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;gCAmCN,MAAM;kCA0BJ,MAAM;8BAkBV,MAAM;6BAkBP,MAAM,UAAU,OAAO,GAAG,SAAS;2DAmgBX,OAAO;+BAnuB7B,kBAAkB;mCAJd,sBAAsB;mCAQtB,cAAc;iCAIhB,oBAAoB;yCAIZ,cAAc;iCAItB,cAAc;uCAIR,mBAAmB;oCAItB,sBAAsB;8CAIZ,MAAM;8BAwNtB,MAAM,KAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;;sBAuexD,gBAAgB,OAAO,MAAM;2BArblB,cAAc,GAAG,QAAQ,kBAAkB,MAAM,GAAG,MAAM;4BAwd/D,MAAM,WAAW,KAAK,CAAC,eAAe,CAAC,cAAc;yBAYxD,MAAM;oBAYX,MAAM,UAAU,eAAe;wBAc3B,MAAM,WAAW,MAAM;2BAcpB,MAAM,WAAW,MAAM;2BAcvB,MAAM,aAAa,MAAM,WAAW,MAAM;8BAevC,MAAM,aAAa,MAAM,WAAW,MAAM;gBAhGxD,MAAM,YAAY;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,QAAQ,OAAO;sCA+G7C,gBAAgB;kCAYpB,MAAM;;;;;;;0DAp7B3C,GAAC,0BAA0B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CA6oC9B,CAAA"}
|
package/lib/Socket/chats.js
CHANGED
|
@@ -481,6 +481,24 @@ export const makeChatsSocket = (config) => {
|
|
|
481
481
|
const child = getBinaryNodeChild(result, 'picture');
|
|
482
482
|
return child?.attrs?.url;
|
|
483
483
|
};
|
|
484
|
+
const createCallLink = async (type, event, timeoutMs) => {
|
|
485
|
+
const result = await query({
|
|
486
|
+
tag: 'call',
|
|
487
|
+
attrs: {
|
|
488
|
+
id: generateMessageTag(),
|
|
489
|
+
to: '@call'
|
|
490
|
+
},
|
|
491
|
+
content: [
|
|
492
|
+
{
|
|
493
|
+
tag: 'link_create',
|
|
494
|
+
attrs: { media: type },
|
|
495
|
+
content: event ? [{ tag: 'event', attrs: { start_time: String(event.startTime) } }] : undefined
|
|
496
|
+
}
|
|
497
|
+
]
|
|
498
|
+
}, timeoutMs);
|
|
499
|
+
const child = getBinaryNodeChild(result, 'link_create');
|
|
500
|
+
return child?.attrs?.token;
|
|
501
|
+
};
|
|
484
502
|
const sendPresenceUpdate = async (type, toJid) => {
|
|
485
503
|
const me = authState.creds.me;
|
|
486
504
|
if (type === 'available' || type === 'unavailable') {
|
|
@@ -754,6 +772,22 @@ export const makeChatsSocket = (config) => {
|
|
|
754
772
|
}
|
|
755
773
|
}, jid);
|
|
756
774
|
};
|
|
775
|
+
/**
|
|
776
|
+
* Add or Edit Quick Reply
|
|
777
|
+
*/
|
|
778
|
+
const addOrEditQuickReply = (quickReply) => {
|
|
779
|
+
return chatModify({
|
|
780
|
+
quickReply
|
|
781
|
+
}, '');
|
|
782
|
+
};
|
|
783
|
+
/**
|
|
784
|
+
* Remove Quick Reply
|
|
785
|
+
*/
|
|
786
|
+
const removeQuickReply = (timestamp) => {
|
|
787
|
+
return chatModify({
|
|
788
|
+
quickReply: { timestamp, deleted: true }
|
|
789
|
+
}, '');
|
|
790
|
+
};
|
|
757
791
|
/**
|
|
758
792
|
* queries need to be fired on connection open
|
|
759
793
|
* help ensure parity with WA Web
|
|
@@ -867,7 +901,7 @@ export const makeChatsSocket = (config) => {
|
|
|
867
901
|
syncState = SyncState.AwaitingInitialSync;
|
|
868
902
|
logger.info('Connection is now AwaitingInitialSync, buffering events');
|
|
869
903
|
ev.buffer();
|
|
870
|
-
const willSyncHistory = shouldSyncHistoryMessage(proto.Message.HistorySyncNotification.
|
|
904
|
+
const willSyncHistory = shouldSyncHistoryMessage(proto.Message.HistorySyncNotification.create({
|
|
871
905
|
syncType: proto.HistorySync.HistorySyncType.RECENT
|
|
872
906
|
}));
|
|
873
907
|
if (!willSyncHistory) {
|
|
@@ -890,6 +924,7 @@ export const makeChatsSocket = (config) => {
|
|
|
890
924
|
});
|
|
891
925
|
return {
|
|
892
926
|
...sock,
|
|
927
|
+
createCallLink,
|
|
893
928
|
getBotListV2,
|
|
894
929
|
processingMutex,
|
|
895
930
|
fetchPrivacySettings,
|
|
@@ -928,7 +963,9 @@ export const makeChatsSocket = (config) => {
|
|
|
928
963
|
removeChatLabel,
|
|
929
964
|
addMessageLabel,
|
|
930
965
|
removeMessageLabel,
|
|
931
|
-
star
|
|
966
|
+
star,
|
|
967
|
+
addOrEditQuickReply,
|
|
968
|
+
removeQuickReply
|
|
932
969
|
};
|
|
933
970
|
};
|
|
934
971
|
//# sourceMappingURL=chats.js.map
|