@rexxhayanasi/elaina-baileys 1.2.0-rc.7 → 1.2.0-rc.8
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/lib/Socket/business.js +2 -1
- package/lib/Utils/newslettermedia.js +29 -78
- package/package.json +4 -1
package/lib/Socket/business.js
CHANGED
|
@@ -12,7 +12,7 @@ const makeBusinessSocket = (config) => {
|
|
|
12
12
|
syncFullHistory: false,
|
|
13
13
|
shouldIgnoreJid: () => false
|
|
14
14
|
});
|
|
15
|
-
const { authState, query, waUploadToServer } = sock;
|
|
15
|
+
const { authState, query, waUploadToServer, refreshMediaConn } = sock;
|
|
16
16
|
const getCatalog = async ({ jid, limit, cursor }) => {
|
|
17
17
|
var _a;
|
|
18
18
|
jid = jid || ((_a = authState.creds.me) === null || _a === void 0 ? void 0 : _a.id);
|
|
@@ -254,6 +254,7 @@ const makeBusinessSocket = (config) => {
|
|
|
254
254
|
return {
|
|
255
255
|
...sock,
|
|
256
256
|
logger: config.logger,
|
|
257
|
+
refreshMediaConn,
|
|
257
258
|
getOrderDetails,
|
|
258
259
|
getCatalog,
|
|
259
260
|
getCollections,
|
|
@@ -1,103 +1,54 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const { WAProto } = require("../../WAProto");
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.prepareWAMessageMediaNewsletter = exports.getRawMediaUploadDataNewsletter = void 0;
|
|
6
5
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
*/
|
|
11
|
-
function getWAUploadToServerNewsletter(config, refreshMediaConn) {
|
|
12
|
-
return async (buffer, uploadOpts = {}) => {
|
|
13
|
-
if (!Buffer.isBuffer(buffer)) {
|
|
14
|
-
throw new Boom("Newsletter upload expects Buffer");
|
|
15
|
-
}
|
|
6
|
+
const crypto_1 = require("crypto");
|
|
7
|
+
const boom_1 = require("@hapi/boom");
|
|
8
|
+
const WAProto_1 = require("../../WAProto");
|
|
16
9
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
const host = mediaConn.hosts[0];
|
|
23
|
-
const url = `https://${host.hostname}${host.uploadPath}`;
|
|
24
|
-
|
|
25
|
-
const res = await fetch(url, {
|
|
26
|
-
method: "POST",
|
|
27
|
-
body: buffer,
|
|
28
|
-
headers: {
|
|
29
|
-
"Content-Type": "application/octet-stream",
|
|
30
|
-
"Content-Length": buffer.length,
|
|
31
|
-
},
|
|
32
|
-
agent: config.fetchAgent,
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
if (!res.ok) {
|
|
36
|
-
throw new Boom(`Newsletter upload failed: ${res.status}`);
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
const json = await res.json();
|
|
40
|
-
|
|
41
|
-
return {
|
|
42
|
-
mediaUrl: json.url,
|
|
43
|
-
directPath: json.direct_path,
|
|
44
|
-
};
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Ambil metadata RAW newsletter
|
|
50
|
-
*/
|
|
51
|
-
async function getRawMediaUploadDataNewsletter(buffer) {
|
|
52
|
-
const fileSha256 = Crypto.createHash("sha256").update(buffer).digest();
|
|
10
|
+
function getRawMediaUploadDataNewsletter(buffer) {
|
|
11
|
+
if (!Buffer.isBuffer(buffer)) {
|
|
12
|
+
throw new boom_1.Boom("Newsletter media must be Buffer");
|
|
13
|
+
}
|
|
14
|
+
const fileSha256 = (0, crypto_1.createHash)("sha256").update(buffer).digest();
|
|
53
15
|
return {
|
|
54
16
|
buffer,
|
|
55
17
|
fileSha256,
|
|
56
|
-
fileLength: buffer.length
|
|
18
|
+
fileLength: buffer.length
|
|
57
19
|
};
|
|
58
20
|
}
|
|
21
|
+
exports.getRawMediaUploadDataNewsletter = getRawMediaUploadDataNewsletter;
|
|
59
22
|
|
|
60
|
-
/**
|
|
61
|
-
* Builder message newsletter (PTV / media)
|
|
62
|
-
*/
|
|
63
23
|
async function prepareWAMessageMediaNewsletter(message, options) {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
24
|
+
if (!options || typeof options.upload !== "function") {
|
|
25
|
+
throw new boom_1.Boom("upload function is required");
|
|
26
|
+
}
|
|
27
|
+
const mediaType = Object.keys(message || {})[0];
|
|
28
|
+
if (!mediaType) {
|
|
29
|
+
throw new boom_1.Boom("Invalid newsletter media");
|
|
30
|
+
}
|
|
67
31
|
const buffer = message[mediaType];
|
|
68
32
|
if (!Buffer.isBuffer(buffer)) {
|
|
69
|
-
throw new Boom("Newsletter media must be Buffer");
|
|
33
|
+
throw new boom_1.Boom("Newsletter media must be Buffer");
|
|
70
34
|
}
|
|
71
|
-
|
|
72
|
-
const
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
},
|
|
78
|
-
options.refreshMediaConn
|
|
79
|
-
);
|
|
80
|
-
|
|
81
|
-
const uploaded = await upload(buffer);
|
|
82
|
-
|
|
35
|
+
const uploadData = getRawMediaUploadDataNewsletter(buffer);
|
|
36
|
+
const uploaded = await options.upload(buffer, {
|
|
37
|
+
mediaType,
|
|
38
|
+
fileEncSha256B64: uploadData.fileSha256.toString("base64"),
|
|
39
|
+
newsletter: true
|
|
40
|
+
});
|
|
83
41
|
const proto = {};
|
|
84
42
|
proto[`${mediaType}Message`] = {
|
|
85
43
|
url: uploaded.mediaUrl,
|
|
86
44
|
directPath: uploaded.directPath,
|
|
87
45
|
fileSha256: uploadData.fileSha256,
|
|
88
46
|
fileLength: uploadData.fileLength,
|
|
89
|
-
mimetype: options.mimetype
|
|
47
|
+
mimetype: options.mimetype
|
|
90
48
|
};
|
|
91
|
-
|
|
92
49
|
if (mediaType === "video") {
|
|
93
50
|
proto.videoMessage.ptv = true;
|
|
94
51
|
}
|
|
95
|
-
|
|
96
|
-
return WAProto.Message.fromObject(proto);
|
|
52
|
+
return WAProto_1.WAProto.Message.fromObject(proto);
|
|
97
53
|
}
|
|
98
|
-
|
|
99
|
-
module.exports = {
|
|
100
|
-
prepareWAMessageMediaNewsletter,
|
|
101
|
-
getRawMediaUploadDataNewsletter,
|
|
102
|
-
getWAUploadToServerNewsletter,
|
|
103
|
-
};
|
|
54
|
+
exports.prepareWAMessageMediaNewsletter = prepareWAMessageMediaNewsletter;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rexxhayanasi/elaina-baileys",
|
|
3
|
-
"version": "1.2.0-rc.
|
|
3
|
+
"version": "1.2.0-rc.8",
|
|
4
4
|
"description": "Custom Baileys WhatsApp API",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"baileys",
|
|
@@ -17,6 +17,9 @@
|
|
|
17
17
|
],
|
|
18
18
|
"homepage": "https://whatsapp.com/channel/0029Vb70uHbD8SE2w5Q9M107",
|
|
19
19
|
"license": "MIT",
|
|
20
|
+
"publishConfig": {
|
|
21
|
+
"tag": "experimental"
|
|
22
|
+
},
|
|
20
23
|
"author": "RexxHayanasi",
|
|
21
24
|
"main": "lib/index.js",
|
|
22
25
|
"types": "lib/index.d.ts",
|