-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathreaction.js
103 lines (87 loc) Β· 3.87 KB
/
reaction.js
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
const axios = require('axios');
const { zokou } = require("../framework/zokou");
const fs = require("fs-extra");
const { exec } = require("child_process");
const child_process = require('child_process');
const {unlink } = require ('fs').promises ;
// fonction sleep
const sleep = (ms) =>{
return new Promise((resolve) =>{ setTimeout (resolve, ms)})
}
// Fonction pour la conversion de GIF en vidΓ©o et rΓ©cupΓ©ration du buffer vidΓ©o
const GIFBufferToVideoBuffer = async (image) => {
const filename = `${Math.random().toString(36)}`;
await fs.writeFileSync(`./${filename}.gif`, image);
child_process.exec(
`ffmpeg -i ./${filename}.gif -movflags faststart -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" ./${filename}.mp4`
);
await sleep(4000);
var buffer5 = await fs.readFileSync(`./${filename}.mp4`);
Promise.all([unlink(`./${filename}.mp4`), unlink(`./${filename}.gif`)]);
return buffer5;
};
const generateReactionCommand = (reactionName, reactionEmoji) => {
zokou({
nomCom: reactionName,
categorie: "Reaction",
reaction: reactionEmoji,
},
async (origineMessage, zk, commandeOptions) => {
const { auteurMessage, auteurMsgRepondu, repondre, ms, msgRepondu } = commandeOptions;
const url = `https://api.waifu.pics/sfw/${reactionName}`;
try {
const response = await axios.get(url);
const imageUrl = response.data.url;
// Obtenir le buffer du GIF en utilisant la fonction getBuffer
const gifBufferResponse = await axios.get(imageUrl, {
responseType: 'arraybuffer' }) ;
const gifBuffer = await gifBufferResponse.data;
// Convertir le GIF en vidΓ©o et obtenir le buffer vidΓ©o
const videoBuffer = await GIFBufferToVideoBuffer(gifBuffer);
// Envoyer la vidΓ©o avec Zokou
if (msgRepondu) {
var txt =` @${auteurMessage.split("@")[0]} ${reactionName} @${auteurMsgRepondu.split("@")[0]}`
zk.sendMessage(origineMessage, { video: videoBuffer,gifPlayback: true,caption:txt,mentions:[auteurMessage,auteurMsgRepondu] }, { quoted: ms });
} else {
const videoMessage = {
video: videoBuffer,
gifPlayback: true,
caption: `@${auteurMessage.split("@")[0]} ${reactionName} everyone`,
mentions: [auteurMessage]
};
zk.sendMessage(origineMessage, videoMessage, { quoted: ms });
}
} catch (error) {
repondre('Error occurred while retrieving the data. :' + error);
console.log(error);
}
});
};
// ... (utilisation de la fonction generateReactionCommand pour crΓ©er des commandes de rΓ©action)
generateReactionCommand("bully", "π");
generateReactionCommand("cuddle", "π€");
generateReactionCommand("cry", "π’");
generateReactionCommand("hug", "π");
generateReactionCommand("awoo", "πΊ");
generateReactionCommand("kiss", "π");
generateReactionCommand("lick", "π
");
generateReactionCommand("pat", "π");
generateReactionCommand("smug", "π");
generateReactionCommand("bonk", "π¨");
generateReactionCommand("yeet", "π");
generateReactionCommand("blush", "π");
generateReactionCommand("smile", "π");
generateReactionCommand("wave", "π");
generateReactionCommand("highfive");
generateReactionCommand("handhold");
generateReactionCommand("nom","π
" );
generateReactionCommand("bite", "π¦·");
generateReactionCommand("glomp", "π€");
generateReactionCommand("slap", "π");
generateReactionCommand("kill", "π");
generateReactionCommand("kick", "π¦΅");
generateReactionCommand("happy", "π");
generateReactionCommand("wink", "π");
generateReactionCommand("poke", "π");
generateReactionCommand("dance", "π");
generateReactionCommand("cringe", "π¬");