forked from Gmaxhacker1/MR-ANYWAY-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsong.js
More file actions
80 lines (56 loc) · 7.95 KB
/
song.js
File metadata and controls
80 lines (56 loc) · 7.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
const { zokou } = require("../framework/zokou");
const yts = require('yt-search');
const ytdl = require('ytdl-core');
const fs = require('fs');
const yt=require("../framework/dl/ytdl-core.js")
const ffmpeg = require("fluent-ffmpeg");
const yts1 = require("youtube-yts");
//var fs =require("fs-extra")
zokou({
nomCom: "song",
categorie: "Search",
reaction: "🎶"
}, async (origineMessage, zk, commandeOptions) => {
const { ms, repondre, arg } = commandeOptions;
if (!arg[0]) {
repondre("wrong!!! Ie. _Play hozambe by Beltah ft shifura._");
return;
}
try {
let topo = arg.join(" ")
const search = await yts(topo);
const videos = search.videos;
if (videos && videos.length > 0 && videos[0]) {
const urlElement = videos[0].url;
let infoMess = {
image: {url : videos[0]. thumbnail},
caption : `\nANYWAY-MD\n\n*Audio name :* _${videos[0].title}_
*Time :* _${videos[0].timestamp}_
*Url :* _${videos[0].url}_
_*©mr anyway*_`
}
zk.sendMessage(origineMessage,infoMess,{quoted:ms}) ;
// Obtenir le flux audio de la vidéo
const audioStream = ytdl(urlElement, { filter: 'audioonly', quality: 'highestaudio' });
// Nom du fichier local pour sauvegarder le fichier audio
const filename = 'audio.mp3';
// Écrire le flux audio dans un fichier local
const fileStream = fs.createWriteStream(filename);
audioStream.pipe(fileStream);
fileStream.on('finish', () => {
// Envoi du fichier audio en utilisant l'URL du fichier local
zk.sendMessage(origineMessage, { audio: { url:"audio.mp3"},mimetype:'audio/mp4' }, { quoted: ms,ptt: false });
console.log("Envoi du fichier audio terminé !");
});
fileStream.on('error', (error) => {
console.error('Erreur lors de l\'écriture du fichier audio :', error);
repondre('Une erreur est survenue lors de l\'écriture du fichier audio.');
});
} else {
repondre('Aucune vidéo trouvée.');
}
} catch (error) {
console.error('Erreur lors de la recherche ou du téléchargement de la vidéo :', error);
repondre('Une erreur est survenue lors de la recherche ou du téléchargement de la vidéo.');
}
});