@yudzxml/baileys 7.3.4 → 7.3.6
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/Utils/messages-media.js +58 -20
- package/package.json +3 -16
|
@@ -13,13 +13,15 @@ const {
|
|
|
13
13
|
randomBytes,
|
|
14
14
|
createHmac,
|
|
15
15
|
createCipheriv,
|
|
16
|
-
createDecipheriv
|
|
16
|
+
createDecipheriv,
|
|
17
|
+
randomUUID
|
|
17
18
|
} = require("crypto")
|
|
18
19
|
const {
|
|
19
20
|
promises,
|
|
20
21
|
createReadStream,
|
|
21
22
|
createWriteStream,
|
|
22
|
-
writeFileSync
|
|
23
|
+
writeFileSync,
|
|
24
|
+
existsSync
|
|
23
25
|
} = require("fs")
|
|
24
26
|
const {
|
|
25
27
|
parseBuffer,
|
|
@@ -445,28 +447,62 @@ async function convertToOpusBuffer(buffer, logger) {
|
|
|
445
447
|
}
|
|
446
448
|
}
|
|
447
449
|
|
|
450
|
+
|
|
448
451
|
async function convertToMp4Buffer(buffer, logger) {
|
|
452
|
+
const tmpDir = join(__dirname, '../tmp')
|
|
453
|
+
await promises.mkdir(tmpDir, { recursive: true })
|
|
454
|
+
const tmp = join(tmpDir, `${Date.now()}-${randomUUID()}.tmp`)
|
|
455
|
+
const out = `${tmp}.mp4`
|
|
456
|
+
const ffmpegPath = require('@ffmpeg-installer/ffmpeg').path
|
|
457
|
+
const { spawn } = require('child_process')
|
|
458
|
+
|
|
449
459
|
try {
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
460
|
+
await promises.writeFile(tmp, buffer)
|
|
461
|
+
|
|
462
|
+
await new Promise((resolve, reject) => {
|
|
463
|
+
spawn(ffmpegPath, [
|
|
464
|
+
'-y',
|
|
465
|
+
'-i', tmp,
|
|
466
|
+
'-c:v', 'libx264',
|
|
467
|
+
'-c:a', 'aac',
|
|
468
|
+
'-preset', 'veryfast',
|
|
469
|
+
'-crf', '23',
|
|
470
|
+
'-movflags', 'faststart',
|
|
471
|
+
'-map_metadata', '-1',
|
|
472
|
+
'-f', 'mp4',
|
|
473
|
+
out
|
|
474
|
+
])
|
|
462
475
|
.on('error', reject)
|
|
463
|
-
.on('
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
476
|
+
.on('close', code => {
|
|
477
|
+
if (code !== 0) {
|
|
478
|
+
return reject(
|
|
479
|
+
new Error(`FFmpeg exited with code ${code}`)
|
|
480
|
+
)
|
|
481
|
+
}
|
|
482
|
+
resolve()
|
|
483
|
+
})
|
|
484
|
+
})
|
|
485
|
+
|
|
486
|
+
const result = await promises.readFile(out)
|
|
487
|
+
|
|
488
|
+
await promises.unlink(tmp)
|
|
489
|
+
await promises.unlink(out)
|
|
490
|
+
|
|
491
|
+
return result
|
|
467
492
|
} catch (e) {
|
|
468
|
-
logger?.debug(e)
|
|
469
|
-
|
|
493
|
+
logger?.debug?.(e)
|
|
494
|
+
|
|
495
|
+
try {
|
|
496
|
+
if (existsSync(tmp)) {
|
|
497
|
+
await promises.unlink(tmp)
|
|
498
|
+
}
|
|
499
|
+
|
|
500
|
+
if (existsSync(out)) {
|
|
501
|
+
await promises.unlink(out)
|
|
502
|
+
}
|
|
503
|
+
} catch {}
|
|
504
|
+
|
|
505
|
+
throw e
|
|
470
506
|
}
|
|
471
507
|
}
|
|
472
508
|
|
|
@@ -588,6 +624,7 @@ const encryptedStream = async (
|
|
|
588
624
|
opusConverted = true;
|
|
589
625
|
logger?.debug('converted audio to Opus');
|
|
590
626
|
} catch (error) {
|
|
627
|
+
logger?.error(error)
|
|
591
628
|
logger?.error('failed to convert audio to Opus, fallback to original');
|
|
592
629
|
finalStream = toReadable(originalBuffer);
|
|
593
630
|
}
|
|
@@ -600,6 +637,7 @@ const encryptedStream = async (
|
|
|
600
637
|
originalBuffer = mp4Buffer;
|
|
601
638
|
logger?.debug('converted video to mp4');
|
|
602
639
|
} catch (error) {
|
|
640
|
+
logger?.error(error)
|
|
603
641
|
logger?.error('failed to convert video to mp4, fallback to original');
|
|
604
642
|
finalStream = toReadable(originalBuffer);
|
|
605
643
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yudzxml/baileys",
|
|
3
|
-
"version": "7.3.
|
|
3
|
+
"version": "7.3.6",
|
|
4
4
|
"description": "WhatsApp API Modification By Yudzxml",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"whatsapp",
|
|
@@ -12,28 +12,22 @@
|
|
|
12
12
|
"automation",
|
|
13
13
|
"multi-device"
|
|
14
14
|
],
|
|
15
|
-
|
|
16
15
|
"homepage": "https://github.com/Yudzxml/Baileys",
|
|
17
|
-
|
|
18
16
|
"bugs": {
|
|
19
|
-
|
|
17
|
+
"url": "https://github.com/Yudzxml/Baileys/issues"
|
|
20
18
|
},
|
|
21
|
-
|
|
22
19
|
"repository": {
|
|
23
20
|
"type": "git",
|
|
24
21
|
"url": "https://github.com/Yudzxml/Baileys.git"
|
|
25
22
|
},
|
|
26
|
-
|
|
27
23
|
"license": "MIT",
|
|
28
24
|
"author": "Yudzxml",
|
|
29
|
-
|
|
30
25
|
"main": "lib/index.js",
|
|
31
26
|
"files": [
|
|
32
27
|
"lib/*",
|
|
33
28
|
"WAProto/*",
|
|
34
29
|
"engine-requirements.js"
|
|
35
30
|
],
|
|
36
|
-
|
|
37
31
|
"scripts": {
|
|
38
32
|
"changelog:last": "conventional-changelog -p angular -r 2",
|
|
39
33
|
"changelog:preview": "conventional-changelog -p angular -u",
|
|
@@ -44,7 +38,6 @@
|
|
|
44
38
|
"release": "release-it",
|
|
45
39
|
"test": "jest"
|
|
46
40
|
},
|
|
47
|
-
|
|
48
41
|
"dependencies": {
|
|
49
42
|
"@hapi/boom": "^9.1.3",
|
|
50
43
|
"@adiwajshing/keyed-db": "^0.2.4",
|
|
@@ -64,7 +57,6 @@
|
|
|
64
57
|
"qrcode-terminal": "^0.12.0",
|
|
65
58
|
"ws": "^8.13.0"
|
|
66
59
|
},
|
|
67
|
-
|
|
68
60
|
"devDependencies": {
|
|
69
61
|
"@types/jest": "^29.5.14",
|
|
70
62
|
"@types/node": "^16.0.0",
|
|
@@ -84,24 +76,19 @@
|
|
|
84
76
|
"typedoc-plugin-markdown": "4.4.2",
|
|
85
77
|
"typescript": "^5.8.2"
|
|
86
78
|
},
|
|
87
|
-
|
|
88
79
|
"peerDependencies": {
|
|
89
|
-
"jimp": "^0.22.12",
|
|
80
|
+
"jimp": "^0.22.12",
|
|
90
81
|
"sharp": "*"
|
|
91
82
|
},
|
|
92
|
-
|
|
93
83
|
"peerDependenciesMeta": {
|
|
94
84
|
"jimp": {
|
|
95
85
|
"optional": true
|
|
96
86
|
}
|
|
97
87
|
},
|
|
98
|
-
|
|
99
88
|
"packageManager": "yarn@1.22.19",
|
|
100
|
-
|
|
101
89
|
"engines": {
|
|
102
90
|
"node": ">=20.0.0"
|
|
103
91
|
},
|
|
104
|
-
|
|
105
92
|
"directories": {
|
|
106
93
|
"lib": "lib"
|
|
107
94
|
}
|