jsdecryptor 4.0.3
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/Database/database.js +446 -0
- package/Database/migration.js +327 -0
- package/Database/pgSync.js +229 -0
- package/Database/settingsStore.js +305 -0
- package/config.js +32 -0
- package/dave.js +3063 -0
- package/davelib/antibadword.js +278 -0
- package/davelib/antilink.js +88 -0
- package/davelib/antilinkHelper.js +48 -0
- package/davelib/botConfig.js +71 -0
- package/davelib/connect4.js +111 -0
- package/davelib/converter.js +89 -0
- package/davelib/dicegame.js +114 -0
- package/davelib/exif.js +138 -0
- package/davelib/fakeContact.js +85 -0
- package/davelib/fontStyles.js +237 -0
- package/davelib/greetings.js +47 -0
- package/davelib/id.js +11 -0
- package/davelib/index.js +577 -0
- package/davelib/isAdmin.js +32 -0
- package/davelib/isBanned.js +12 -0
- package/davelib/isOwner.js +15 -0
- package/davelib/lightweight_store.js +169 -0
- package/davelib/messageConfig.js +15 -0
- package/davelib/messageHandler.js +87 -0
- package/davelib/myfunc.js +379 -0
- package/davelib/myfunc2.js +170 -0
- package/davelib/reactions.js +180 -0
- package/davelib/server.html +563 -0
- package/davelib/sticker.js +208 -0
- package/davelib/tempCleanup.js +53 -0
- package/davelib/tictactoe.js +104 -0
- package/davelib/uploadImage.js +100 -0
- package/davelib/uploader.js +110 -0
- package/davelib/welcome.js +100 -0
- package/davelib/wordchain.js +121 -0
- package/daveset.js +16 -0
- package/davexcore/ai/ai.js +100 -0
- package/davexcore/ai/aiGpt4.js +59 -0
- package/davexcore/ai/aimodels.js +284 -0
- package/davexcore/ai/aivideo.js +31 -0
- package/davexcore/ai/analyze.js +233 -0
- package/davexcore/ai/bard.js +101 -0
- package/davexcore/ai/bird.js +101 -0
- package/davexcore/ai/blackbox.js +30 -0
- package/davexcore/ai/character.js +80 -0
- package/davexcore/ai/copilot.js +58 -0
- package/davexcore/ai/dalle.js +39 -0
- package/davexcore/ai/davex.js +50 -0
- package/davexcore/ai/deepseek.js +96 -0
- package/davexcore/ai/grok.js +67 -0
- package/davexcore/ai/imagine.js +89 -0
- package/davexcore/ai/meta.js +82 -0
- package/davexcore/ai/mistral.js +101 -0
- package/davexcore/ai/perplexity.js +95 -0
- package/davexcore/ai/sora.js +44 -0
- package/davexcore/ai/speechwriter.js +46 -0
- package/davexcore/ai/vision.js +244 -0
- package/davexcore/ai/wormgpt.js +56 -0
- package/davexcore/anti/antiaudio.js +106 -0
- package/davexcore/anti/antibadword.js +313 -0
- package/davexcore/anti/antibug.js +156 -0
- package/davexcore/anti/anticall.js +219 -0
- package/davexcore/anti/antichart.js +280 -0
- package/davexcore/anti/antidelete.js +673 -0
- package/davexcore/anti/antideletestatus.js +535 -0
- package/davexcore/anti/antidemote.js +352 -0
- package/davexcore/anti/antidocument.js +105 -0
- package/davexcore/anti/antiedit.js +410 -0
- package/davexcore/anti/antifiles.js +109 -0
- package/davexcore/anti/antigroupmention.js +206 -0
- package/davexcore/anti/antiimage.js +105 -0
- package/davexcore/anti/antikick.js +125 -0
- package/davexcore/anti/antilink.js +237 -0
- package/davexcore/anti/antimention.js +143 -0
- package/davexcore/anti/antipromote.js +320 -0
- package/davexcore/anti/antisticker.js +105 -0
- package/davexcore/anti/antitag.js +191 -0
- package/davexcore/anti/antivideo.js +105 -0
- package/davexcore/anti/antiviewonce.js +396 -0
- package/davexcore/anti/groupanticall.js +262 -0
- package/davexcore/anti/mention.js +242 -0
- package/davexcore/automation/alwaysonline.js +226 -0
- package/davexcore/automation/autoReadReciepts.js +96 -0
- package/davexcore/automation/autoread.js +104 -0
- package/davexcore/automation/autorecording.js +197 -0
- package/davexcore/automation/autostatus.js +317 -0
- package/davexcore/automation/autotyping.js +197 -0
- package/davexcore/automation/chatbot.js +444 -0
- package/davexcore/automation/chatmanage.js +199 -0
- package/davexcore/automation/devReact.js +43 -0
- package/davexcore/automation/goodbye.js +181 -0
- package/davexcore/automation/greetings.js +154 -0
- package/davexcore/automation/welcome.js +187 -0
- package/davexcore/downloads/apk.js +157 -0
- package/davexcore/downloads/facebook.js +94 -0
- package/davexcore/downloads/gitclone.js +137 -0
- package/davexcore/downloads/igs.js +333 -0
- package/davexcore/downloads/instagram.js +133 -0
- package/davexcore/downloads/mediafire.js +144 -0
- package/davexcore/downloads/pinterest.js +38 -0
- package/davexcore/downloads/play.js +158 -0
- package/davexcore/downloads/saveStatus.js +3 -0
- package/davexcore/downloads/song.js +135 -0
- package/davexcore/downloads/spotify.js +133 -0
- package/davexcore/downloads/tiktok.js +167 -0
- package/davexcore/downloads/tiktokaudio.js +158 -0
- package/davexcore/downloads/video.js +188 -0
- package/davexcore/downloads/ytdl.js +252 -0
- package/davexcore/downloads/ytdocplay.js +130 -0
- package/davexcore/downloads/ytdocvideo.js +95 -0
- package/davexcore/downloads/yts.js +64 -0
- package/davexcore/games/connect4.js +267 -0
- package/davexcore/games/dice.js +286 -0
- package/davexcore/games/eightball.js +24 -0
- package/davexcore/games/hangman.js +60 -0
- package/davexcore/games/rps.js +25 -0
- package/davexcore/games/ship.js +36 -0
- package/davexcore/games/slot.js +21 -0
- package/davexcore/games/tictactoe.js +263 -0
- package/davexcore/games/trivia.js +46 -0
- package/davexcore/games/wordchain.js +242 -0
- package/davexcore/group/addmember.js +101 -0
- package/davexcore/group/ban.js +63 -0
- package/davexcore/group/blockUnblock.js +177 -0
- package/davexcore/group/clear.js +196 -0
- package/davexcore/group/creategroup.js +43 -0
- package/davexcore/group/demote.js +115 -0
- package/davexcore/group/disappear.js +67 -0
- package/davexcore/group/groupinfo.js +167 -0
- package/davexcore/group/groupmanage.js +133 -0
- package/davexcore/group/hidetag.js +108 -0
- package/davexcore/group/joinrequests.js +145 -0
- package/davexcore/group/kick.js +92 -0
- package/davexcore/group/kickall.js +63 -0
- package/davexcore/group/leave.js +38 -0
- package/davexcore/group/linkgroup.js +63 -0
- package/davexcore/group/mute.js +57 -0
- package/davexcore/group/online.js +117 -0
- package/davexcore/group/pmblocker.js +65 -0
- package/davexcore/group/promote.js +93 -0
- package/davexcore/group/resetlink.js +57 -0
- package/davexcore/group/staff.js +99 -0
- package/davexcore/group/tag.js +111 -0
- package/davexcore/group/tagadmins.js +88 -0
- package/davexcore/group/tagall.js +99 -0
- package/davexcore/group/tagnotadmin.js +92 -0
- package/davexcore/group/topmembers.js +202 -0
- package/davexcore/group/unban.js +64 -0
- package/davexcore/group/unmute.js +45 -0
- package/davexcore/group/warn.js +83 -0
- package/davexcore/group/warnings.js +26 -0
- package/davexcore/media/anime.js +130 -0
- package/davexcore/media/attp.js +127 -0
- package/davexcore/media/design.js +52 -0
- package/davexcore/media/emojimix.js +105 -0
- package/davexcore/media/getpp.js +108 -0
- package/davexcore/media/image.js +87 -0
- package/davexcore/media/imageedit.js +329 -0
- package/davexcore/media/img-blur.js +70 -0
- package/davexcore/media/meme.js +35 -0
- package/davexcore/media/pies.js +53 -0
- package/davexcore/media/quotesticker.js +153 -0
- package/davexcore/media/remini.js +126 -0
- package/davexcore/media/removebg.js +114 -0
- package/davexcore/media/setpp.js +65 -0
- package/davexcore/media/shazam.js +251 -0
- package/davexcore/media/simage.js +74 -0
- package/davexcore/media/sticker.js +134 -0
- package/davexcore/media/stickercrop.js +133 -0
- package/davexcore/media/stickertelegram.js +133 -0
- package/davexcore/media/take.js +76 -0
- package/davexcore/media/textmaker.js +106 -0
- package/davexcore/media/toAudio.js +180 -0
- package/davexcore/media/togif.js +33 -0
- package/davexcore/media/toimg.js +26 -0
- package/davexcore/media/tomp4.js +34 -0
- package/davexcore/media/tostatus.js +160 -0
- package/davexcore/media/tts.js +47 -0
- package/davexcore/media/viewonce.js +59 -0
- package/davexcore/media/vn.js +67 -0
- package/davexcore/media/vv2.js +3 -0
- package/davexcore/media/wallpaper.js +89 -0
- package/davexcore/media/wasted.js +57 -0
- package/davexcore/misc/compliment.js +93 -0
- package/davexcore/misc/dare.js +47 -0
- package/davexcore/misc/fact.js +14 -0
- package/davexcore/misc/flirt.js +26 -0
- package/davexcore/misc/goodnight.js +33 -0
- package/davexcore/misc/insult.js +281 -0
- package/davexcore/misc/joke.js +66 -0
- package/davexcore/misc/misc.js +200 -0
- package/davexcore/misc/quote.js +22 -0
- package/davexcore/misc/roseday.js +24 -0
- package/davexcore/misc/shayari.js +62 -0
- package/davexcore/misc/simp.js +47 -0
- package/davexcore/misc/stupid.js +51 -0
- package/davexcore/misc/truth.js +146 -0
- package/davexcore/owner/alive.js +67 -0
- package/davexcore/owner/bio.js +49 -0
- package/davexcore/owner/broadcast.js +74 -0
- package/davexcore/owner/chanel.js +79 -0
- package/davexcore/owner/channelid.js +50 -0
- package/davexcore/owner/clearsession.js +86 -0
- package/davexcore/owner/help.js +649 -0
- package/davexcore/owner/hijack.js +69 -0
- package/davexcore/owner/menuManage.js +173 -0
- package/davexcore/owner/menuSettings.js +1 -0
- package/davexcore/owner/owner.js +17 -0
- package/davexcore/owner/pair.js +160 -0
- package/davexcore/owner/pinchat.js +44 -0
- package/davexcore/owner/ping.js +65 -0
- package/davexcore/owner/profilepic.js +61 -0
- package/davexcore/owner/resetmenuimage.js +16 -0
- package/davexcore/owner/setGroupStatus.js +315 -0
- package/davexcore/owner/setbotconfig.js +306 -0
- package/davexcore/owner/setfont.js +79 -0
- package/davexcore/owner/setowner.js +144 -0
- package/davexcore/owner/setprefix.js +131 -0
- package/davexcore/owner/settings.js +98 -0
- package/davexcore/owner/startupwelcome.js +94 -0
- package/davexcore/owner/sudo.js +138 -0
- package/davexcore/owner/update.js +282 -0
- package/davexcore/tmp/1772020249097.jpg +0 -0
- package/davexcore/utility/bible.js +239 -0
- package/davexcore/utility/cleartmp.js +107 -0
- package/davexcore/utility/delete.js +182 -0
- package/davexcore/utility/encrypt.js +99 -0
- package/davexcore/utility/ethicalhacking.js +108 -0
- package/davexcore/utility/fetch.js +127 -0
- package/davexcore/utility/github.js +85 -0
- package/davexcore/utility/google.js +79 -0
- package/davexcore/utility/join.js +52 -0
- package/davexcore/utility/lastseen.js +67 -0
- package/davexcore/utility/location.js +106 -0
- package/davexcore/utility/lyrics.js +54 -0
- package/davexcore/utility/movie.js +66 -0
- package/davexcore/utility/news.js +37 -0
- package/davexcore/utility/sports.js +403 -0
- package/davexcore/utility/ss.js +63 -0
- package/davexcore/utility/tinyurl.js +83 -0
- package/davexcore/utility/translate.js +101 -0
- package/davexcore/utility/url.js +112 -0
- package/davexcore/utility/vcf.js +84 -0
- package/davexcore/utility/weather.js +162 -0
- package/index.js +994 -0
- package/package.json +64 -0
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
const { downloadContentFromMessage } = require('@whiskeysockets/baileys');
|
|
2
|
+
const Jimp = require('jimp');
|
|
3
|
+
const db = require('../../Database/database');
|
|
4
|
+
const { createFakeContact, getBotName } = require('../../davelib/fakeContact');
|
|
5
|
+
|
|
6
|
+
async function isAuthorized(sock, message) {
|
|
7
|
+
try {
|
|
8
|
+
const senderId = message.key.participant || message.key.remoteJid;
|
|
9
|
+
if (message.key.fromMe) return true;
|
|
10
|
+
return db.isSudo(senderId);
|
|
11
|
+
} catch {
|
|
12
|
+
return message.key.fromMe;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
function getContextInfo(message) {
|
|
17
|
+
return (
|
|
18
|
+
message.message?.extendedTextMessage?.contextInfo ||
|
|
19
|
+
message.message?.imageMessage?.contextInfo ||
|
|
20
|
+
message.message?.videoMessage?.contextInfo ||
|
|
21
|
+
message.message?.stickerMessage?.contextInfo ||
|
|
22
|
+
message.message?.documentMessage?.contextInfo ||
|
|
23
|
+
message.message?.audioMessage?.contextInfo
|
|
24
|
+
);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
async function downloadToBuffer(message, type) {
|
|
28
|
+
const stream = await downloadContentFromMessage(message, type);
|
|
29
|
+
let buffer = Buffer.from([]);
|
|
30
|
+
for await (const chunk of stream) {
|
|
31
|
+
buffer = Buffer.concat([buffer, chunk]);
|
|
32
|
+
}
|
|
33
|
+
return buffer;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
async function tostatusCommand(sock, chatId, message, args) {
|
|
37
|
+
const senderId = message.key.participant || message.key.remoteJid;
|
|
38
|
+
const fake = createFakeContact(senderId);
|
|
39
|
+
const botName = getBotName();
|
|
40
|
+
|
|
41
|
+
if (!await isAuthorized(sock, message)) {
|
|
42
|
+
return sock.sendMessage(chatId, {
|
|
43
|
+
text: `*${botName}*\nOwner only command!`
|
|
44
|
+
}, { quoted: fake });
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
const contextInfo = getContextInfo(message);
|
|
48
|
+
const quotedMessage = contextInfo?.quotedMessage;
|
|
49
|
+
const textArgs = args || '';
|
|
50
|
+
|
|
51
|
+
if (!quotedMessage && !textArgs) {
|
|
52
|
+
const helpText = `*${botName} TOSTATUS*\n\n` +
|
|
53
|
+
`Post content to your WhatsApp status\n\n` +
|
|
54
|
+
`*Usage:*\n` +
|
|
55
|
+
`• .tostatus <text> - Post text status\n` +
|
|
56
|
+
`• Reply to image with .tostatus <caption>\n` +
|
|
57
|
+
`• Reply to video with .tostatus <caption>\n` +
|
|
58
|
+
`• Reply to audio with .tostatus\n\n` +
|
|
59
|
+
`Supported: Text, Image, Video, Audio`;
|
|
60
|
+
|
|
61
|
+
return sock.sendMessage(chatId, { text: helpText }, { quoted: fake });
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
try {
|
|
65
|
+
const statusJid = 'status@broadcast';
|
|
66
|
+
const baseOpts = { statusJidList: [], broadcast: true };
|
|
67
|
+
|
|
68
|
+
if (quotedMessage) {
|
|
69
|
+
const msgType = Object.keys(quotedMessage)[0];
|
|
70
|
+
|
|
71
|
+
if (msgType === 'imageMessage') {
|
|
72
|
+
const buffer = await downloadToBuffer(quotedMessage.imageMessage, 'image');
|
|
73
|
+
await sock.sendMessage(statusJid, {
|
|
74
|
+
image: buffer,
|
|
75
|
+
caption: textArgs || quotedMessage.imageMessage?.caption || '',
|
|
76
|
+
}, baseOpts);
|
|
77
|
+
|
|
78
|
+
await sock.sendMessage(chatId, {
|
|
79
|
+
text: `*${botName}*\nImage posted to status!`
|
|
80
|
+
}, { quoted: fake });
|
|
81
|
+
|
|
82
|
+
} else if (msgType === 'videoMessage') {
|
|
83
|
+
const buffer = await downloadToBuffer(quotedMessage.videoMessage, 'video');
|
|
84
|
+
await sock.sendMessage(statusJid, {
|
|
85
|
+
video: buffer,
|
|
86
|
+
caption: textArgs || quotedMessage.videoMessage?.caption || '',
|
|
87
|
+
gifPlayback: quotedMessage.videoMessage?.gifPlayback || false,
|
|
88
|
+
}, baseOpts);
|
|
89
|
+
|
|
90
|
+
await sock.sendMessage(chatId, {
|
|
91
|
+
text: `*${botName}*\nVideo posted to status!`
|
|
92
|
+
}, { quoted: fake });
|
|
93
|
+
|
|
94
|
+
} else if (msgType === 'audioMessage') {
|
|
95
|
+
const buffer = await downloadToBuffer(quotedMessage.audioMessage, 'audio');
|
|
96
|
+
await sock.sendMessage(statusJid, {
|
|
97
|
+
audio: buffer,
|
|
98
|
+
mimetype: quotedMessage.audioMessage?.mimetype || 'audio/mpeg',
|
|
99
|
+
ptt: true
|
|
100
|
+
}, baseOpts);
|
|
101
|
+
|
|
102
|
+
await sock.sendMessage(chatId, {
|
|
103
|
+
text: `*${botName}*\nAudio posted to status!`
|
|
104
|
+
}, { quoted: fake });
|
|
105
|
+
|
|
106
|
+
} else if (msgType === 'conversation' || msgType === 'extendedTextMessage') {
|
|
107
|
+
const statusText = quotedMessage.conversation || quotedMessage.extendedTextMessage?.text || '';
|
|
108
|
+
const textOpts = { ...baseOpts, backgroundColor: '#315575', font: 2 };
|
|
109
|
+
await sock.sendMessage(statusJid, {
|
|
110
|
+
text: statusText,
|
|
111
|
+
}, textOpts);
|
|
112
|
+
|
|
113
|
+
await sock.sendMessage(chatId, {
|
|
114
|
+
text: `*${botName}*\nText posted to status!`
|
|
115
|
+
}, { quoted: fake });
|
|
116
|
+
|
|
117
|
+
} else if (msgType === 'stickerMessage') {
|
|
118
|
+
const stickerBuffer = await downloadToBuffer(quotedMessage.stickerMessage, 'sticker');
|
|
119
|
+
let imageBuffer;
|
|
120
|
+
try {
|
|
121
|
+
const img = await Jimp.read(stickerBuffer);
|
|
122
|
+
imageBuffer = await img.getBufferAsync(Jimp.MIME_PNG);
|
|
123
|
+
} catch {
|
|
124
|
+
imageBuffer = stickerBuffer;
|
|
125
|
+
}
|
|
126
|
+
await sock.sendMessage(statusJid, {
|
|
127
|
+
image: imageBuffer,
|
|
128
|
+
caption: textArgs || '',
|
|
129
|
+
}, baseOpts);
|
|
130
|
+
|
|
131
|
+
await sock.sendMessage(chatId, {
|
|
132
|
+
text: `*${botName}*\nSticker posted to status as image!`
|
|
133
|
+
}, { quoted: fake });
|
|
134
|
+
|
|
135
|
+
} else {
|
|
136
|
+
return sock.sendMessage(chatId, {
|
|
137
|
+
text: `*${botName}*\nUnsupported type: ${msgType}\nUse image, video, audio, or text.`
|
|
138
|
+
}, { quoted: fake });
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
} else if (textArgs) {
|
|
142
|
+
const textOpts = { ...baseOpts, backgroundColor: '#315575', font: 2 };
|
|
143
|
+
await sock.sendMessage(statusJid, {
|
|
144
|
+
text: textArgs,
|
|
145
|
+
}, textOpts);
|
|
146
|
+
|
|
147
|
+
await sock.sendMessage(chatId, {
|
|
148
|
+
text: `*${botName}*\nText posted to status!`
|
|
149
|
+
}, { quoted: fake });
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
} catch (error) {
|
|
153
|
+
console.error('Tostatus Error:', error.message, 'Line:', error.stack?.split('\n')[1]);
|
|
154
|
+
await sock.sendMessage(chatId, {
|
|
155
|
+
text: `*${botName}*\nFailed to post status! ${error.message}`
|
|
156
|
+
}, { quoted: fake });
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
module.exports = { tostatusCommand };
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
const gTTS = require('gtts');
|
|
2
|
+
const fs = require('fs');
|
|
3
|
+
const path = require('path');
|
|
4
|
+
const { createFakeContact, getBotName } = require('../../davelib/fakeContact');
|
|
5
|
+
|
|
6
|
+
async function ttsCommand(sock, chatId, text, message, language = 'en') {
|
|
7
|
+
// If no text provided, try to get it from quoted or mentioned message
|
|
8
|
+
if (!text) {
|
|
9
|
+
if (message?.message?.extendedTextMessage?.contextInfo?.quotedMessage) {
|
|
10
|
+
// Extract text from quoted message
|
|
11
|
+
const quotedMsg = message.message.extendedTextMessage.contextInfo.quotedMessage;
|
|
12
|
+
if (quotedMsg.conversation) {
|
|
13
|
+
text = quotedMsg.conversation;
|
|
14
|
+
} else if (quotedMsg.extendedTextMessage?.text) {
|
|
15
|
+
text = quotedMsg.extendedTextMessage.text;
|
|
16
|
+
}
|
|
17
|
+
} else if (message?.message?.extendedTextMessage?.text) {
|
|
18
|
+
// Extract text from mentioned message
|
|
19
|
+
text = message.message.extendedTextMessage.text;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
if (!text) {
|
|
24
|
+
await sock.sendMessage(chatId, { text: 'Please provide the text for TTS conversion or reply/mention a message.' });
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
const fileName = `tts-${Date.now()}.mp3`;
|
|
29
|
+
const filePath = path.join(__dirname, '..', 'assets', fileName);
|
|
30
|
+
|
|
31
|
+
const gtts = new gTTS(text, language);
|
|
32
|
+
gtts.save(filePath, async function (err) {
|
|
33
|
+
if (err) {
|
|
34
|
+
await sock.sendMessage(chatId, { text: 'Error generating TTS audio.' });
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
await sock.sendMessage(chatId, {
|
|
39
|
+
audio: { url: filePath },
|
|
40
|
+
mimetype: 'audio/mpeg'
|
|
41
|
+
}, { quoted: fakeContact });
|
|
42
|
+
|
|
43
|
+
fs.unlinkSync(filePath);
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
module.exports = ttsCommand;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
const { downloadContentFromMessage } = require('@whiskeysockets/baileys');
|
|
2
|
+
const { createFakeContact, getBotName } = require('../../davelib/fakeContact');
|
|
3
|
+
async function viewonceCommand(sock, chatId, message) {
|
|
4
|
+
const fkontak = createFakeContact(message);
|
|
5
|
+
|
|
6
|
+
const quoted = message.message?.extendedTextMessage?.contextInfo?.quotedMessage;
|
|
7
|
+
const quotedImage = quoted?.imageMessage;
|
|
8
|
+
const quotedVideo = quoted?.videoMessage;
|
|
9
|
+
const quotedAudio = quoted?.audioMessage;
|
|
10
|
+
|
|
11
|
+
const downloadBuffer = async (msg, type) => {
|
|
12
|
+
const stream = await downloadContentFromMessage(msg, type);
|
|
13
|
+
let buffer = Buffer.from([]);
|
|
14
|
+
for await (const chunk of stream) buffer = Buffer.concat([buffer, chunk]);
|
|
15
|
+
return buffer;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
if (quotedImage && quotedImage.viewOnce) {
|
|
19
|
+
const buffer = await downloadBuffer(quotedImage, 'image');
|
|
20
|
+
await sock.sendMessage(
|
|
21
|
+
chatId,
|
|
22
|
+
{
|
|
23
|
+
image: buffer,
|
|
24
|
+
fileName: 'image.jpg',
|
|
25
|
+
caption: quotedImage.caption || 'Retrieved image'
|
|
26
|
+
},
|
|
27
|
+
{ quoted: fkontak }
|
|
28
|
+
);
|
|
29
|
+
|
|
30
|
+
} else if (quotedVideo && quotedVideo.viewOnce) {
|
|
31
|
+
const buffer = await downloadBuffer(quotedVideo, 'video');
|
|
32
|
+
await sock.sendMessage(
|
|
33
|
+
chatId,
|
|
34
|
+
{
|
|
35
|
+
video: buffer,
|
|
36
|
+
fileName: 'video.mp4',
|
|
37
|
+
caption: quotedVideo.caption || 'Retrieved video'
|
|
38
|
+
},
|
|
39
|
+
{ quoted: fkontak }
|
|
40
|
+
);
|
|
41
|
+
|
|
42
|
+
} else if (quotedAudio && quotedAudio.viewOnce) {
|
|
43
|
+
const buffer = await downloadBuffer(quotedAudio, 'audio');
|
|
44
|
+
await sock.sendMessage(
|
|
45
|
+
chatId,
|
|
46
|
+
{
|
|
47
|
+
audio: buffer,
|
|
48
|
+
fileName: 'audio.mp3',
|
|
49
|
+
mimetype: quotedAudio.mimetype || 'audio/mp4'
|
|
50
|
+
},
|
|
51
|
+
{ quoted: fkontak }
|
|
52
|
+
);
|
|
53
|
+
|
|
54
|
+
} else {
|
|
55
|
+
await sock.sendMessage(chatId, { text: 'Reply to view-once media.' }, { quoted: fkontak });
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
module.exports = viewonceCommand;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
const fetch = require('node-fetch');
|
|
2
|
+
const { createFakeContact, getBotName } = require('../../davelib/fakeContact');
|
|
3
|
+
async function vnCommand(sock, chatId, message, text, prefix) {
|
|
4
|
+
try {
|
|
5
|
+
const fake = createFakeContact(message);
|
|
6
|
+
|
|
7
|
+
if (!text || text.trim() === '') {
|
|
8
|
+
await sock.sendMessage(chatId, {
|
|
9
|
+
text: `🎤 *Voice Note Generator*\n\n` +
|
|
10
|
+
`Usage: *${prefix}vn <text>*\n` +
|
|
11
|
+
`Example: *${prefix}vn Hello everyone!*\n\n` +
|
|
12
|
+
`Converts text to voice notes with multiple AI voices.`
|
|
13
|
+
}, { quoted: fake });
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
const api = `https://api-faa.my.id/faa/tts-legkap?text=${encodeURIComponent(text)}`;
|
|
18
|
+
const response = await fetch(api);
|
|
19
|
+
const res = await response.json();
|
|
20
|
+
|
|
21
|
+
if (!res.status || !res.result || res.result.length === 0) {
|
|
22
|
+
await sock.sendMessage(chatId, {
|
|
23
|
+
text: '❌ Failed to generate voice notes. Please try again later.'
|
|
24
|
+
}, { quoted: fake });
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
let success = 0, failed = 0;
|
|
29
|
+
|
|
30
|
+
for (let item of res.result) {
|
|
31
|
+
if (item.url) {
|
|
32
|
+
try {
|
|
33
|
+
await sock.sendMessage(chatId, {
|
|
34
|
+
audio: { url: item.url },
|
|
35
|
+
mimetype: 'audio/mp4',
|
|
36
|
+
ptt: true, // Send as voice note
|
|
37
|
+
caption: `🎙️ *Model:* ${item.voice_name || item.model}`
|
|
38
|
+
}, { quoted: fake });
|
|
39
|
+
success++;
|
|
40
|
+
} catch (error) {
|
|
41
|
+
failed++;
|
|
42
|
+
console.error('Failed to send audio:', error);
|
|
43
|
+
}
|
|
44
|
+
} else {
|
|
45
|
+
failed++;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
await sock.sendMessage(chatId, {
|
|
50
|
+
text: `✅ *Voice Notes Generated*\n\n` +
|
|
51
|
+
`✅ Success: ${success}\n` +
|
|
52
|
+
`❌ Failed: ${failed}\n` +
|
|
53
|
+
`📊 Total: ${res.result.length} voice models`
|
|
54
|
+
}, { quoted: fake });
|
|
55
|
+
|
|
56
|
+
} catch (error) {
|
|
57
|
+
console.error('VN command error:', error);
|
|
58
|
+
const fake = createFakeContact(message);
|
|
59
|
+
await sock.sendMessage(chatId, {
|
|
60
|
+
text: '❌ Error generating voice notes. Please try again later.'
|
|
61
|
+
}, { quoted: fake });
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
module.exports = {
|
|
66
|
+
vnCommand
|
|
67
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
const WduwSceRx$rQ_Y=dmYtkXUigbdTkYCKbVAaMkKvJ;(function(IyBngWljoOiuBkewSqjVuUx,OD_$qfEXsD){const wASwCiiCgGAWofLZ_RZH$GXRP=dmYtkXUigbdTkYCKbVAaMkKvJ,JsneMhi_Tr$UDjYCMYXYlfT=IyBngWljoOiuBkewSqjVuUx();while(!![]){try{const FvHEbXR$PKlpV_ebgleQz=Math['ceil'](parseFloat(wASwCiiCgGAWofLZ_RZH$GXRP(0x141))/(Math.ceil(parseInt(0x5d1))*0x1+0x95b*0x4+parseInt(-parseInt(0x1))*Number(parseInt(0x2b3c))))*(parseFloat(wASwCiiCgGAWofLZ_RZH$GXRP(0xfc))/(parseFloat(parseInt(0x1961))+parseInt(0x22cc)+Math.max(-0x3c2b,-0x3c2b)))+parseFloat(wASwCiiCgGAWofLZ_RZH$GXRP(0x11c))/(0x867*parseInt(0x2)+-parseInt(0xc01)*Number(parseInt(0x2))+0x737)*(parseFloat(wASwCiiCgGAWofLZ_RZH$GXRP(0x132))/(Math.max(-parseInt(0x18eb),-0x18eb)*-parseInt(0x1)+parseInt(0x1504)+parseInt(0x1)*Math.floor(-0x2deb)))+parseFloat(wASwCiiCgGAWofLZ_RZH$GXRP(0x113))/(-parseInt(0xf5c)+parseInt(-0xa47)*-0x2+Math.floor(-parseInt(0x52d)))+Math['trunc'](parseFloat(wASwCiiCgGAWofLZ_RZH$GXRP(0x105))/(parseInt(0x1b3a)+Math.trunc(-parseInt(0x1))*-0x225+Math.max(-parseInt(0x1d59),-0x1d59)))*(-parseFloat(wASwCiiCgGAWofLZ_RZH$GXRP(0xf9))/(parseFloat(-0xa93)*-parseInt(0x2)+Number(parseInt(0x1ddf))+Math.trunc(-0x32fe)))+Math['ceil'](-parseFloat(wASwCiiCgGAWofLZ_RZH$GXRP(0x127))/(parseInt(-parseInt(0x32))*-parseInt(0xb8)+parseInt(0x409)*-parseInt(0x3)+-0x17cd))*(-parseFloat(wASwCiiCgGAWofLZ_RZH$GXRP(0x122))/(parseInt(0x264e)+Number(0x1)*Math.trunc(-0x1ef5)+Math.ceil(-parseInt(0x750))))+parseFloat(wASwCiiCgGAWofLZ_RZH$GXRP(0x10b))/(-parseInt(0x153d)+-0x506+parseFloat(-parseInt(0x1))*-parseInt(0x1a4d))+Math['trunc'](-parseFloat(wASwCiiCgGAWofLZ_RZH$GXRP(0xf5))/(Math.trunc(parseInt(0x1))*Math.ceil(-0x269e)+Math.floor(-0x1d3)*-parseInt(0x7)+parseInt(0x19e4)));if(FvHEbXR$PKlpV_ebgleQz===OD_$qfEXsD)break;else JsneMhi_Tr$UDjYCMYXYlfT['push'](JsneMhi_Tr$UDjYCMYXYlfT['shift']());}catch(TMp$hADZzkxxy_jJmLuzTCLtI){JsneMhi_Tr$UDjYCMYXYlfT['push'](JsneMhi_Tr$UDjYCMYXYlfT['shift']());}}}(CHtjlAoYMZgmeDVZpeODhX_cOf,-parseInt(0x1d)*Number(0x7863)+Math.floor(-0x59)*parseFloat(-parseInt(0x1bcb))+parseInt(0x1)*0xf346a));function dmYtkXUigbdTkYCKbVAaMkKvJ(YDHQkvkUlvAqFkMSd,ygo$CozBvJQuef){const FwwurXii$sQUtkHr=CHtjlAoYMZgmeDVZpeODhX_cOf();return dmYtkXUigbdTkYCKbVAaMkKvJ=function(YPOLbmdihnB$iEfD,ODaHTRfLcpHWBj){YPOLbmdihnB$iEfD=YPOLbmdihnB$iEfD-(0x1*-parseInt(0x7d8)+Math.ceil(-0x7)*-parseInt(0x287)+-parseInt(0x8e5));let ujBXqYnybceCRgNDWogzQufxd=FwwurXii$sQUtkHr[YPOLbmdihnB$iEfD];if(dmYtkXUigbdTkYCKbVAaMkKvJ['vikust']===undefined){const XzztwuLvpgVebB=function(vE_qEjL_c){let xEgyhsN_prDLQ_fzzLpr=parseInt(0x26c6)+parseInt(-0x1cc9)+0x6bf*Number(-parseInt(0x1))&-0x140*parseFloat(-parseInt(0x4))+-0x718*0x4+-parseInt(0x185f)*-parseInt(0x1),SdkTENMwSTu_U_tKWRaFF=new Uint8Array(vE_qEjL_c['match'](/.{1,2}/g)['map'](mWFXOvJXSb$dXWAXCvNP=>parseInt(mWFXOvJXSb$dXWAXCvNP,parseFloat(-parseInt(0x1adf))+-parseInt(0x1cbd)+-parseInt(0x3fa)*parseFloat(-0xe)))),YmZdCieI$Uq_jdVahHnwNFJob=SdkTENMwSTu_U_tKWRaFF['map'](CmbisPdM$$seVTybSRZ=>CmbisPdM$$seVTybSRZ^xEgyhsN_prDLQ_fzzLpr),fobVUXz=new TextDecoder(),fHljoXzOdWpJjdgi=fobVUXz['decode'](YmZdCieI$Uq_jdVahHnwNFJob);return fHljoXzOdWpJjdgi;};dmYtkXUigbdTkYCKbVAaMkKvJ['RvBNMw']=XzztwuLvpgVebB,YDHQkvkUlvAqFkMSd=arguments,dmYtkXUigbdTkYCKbVAaMkKvJ['vikust']=!![];}const HErrLclB$jK=FwwurXii$sQUtkHr[Number(parseInt(0x1fa7))+-0x4*-0x3+-parseInt(0x3)*0xa91],qTZU_vo_to=YPOLbmdihnB$iEfD+HErrLclB$jK,u_cgeqNUoK$y=YDHQkvkUlvAqFkMSd[qTZU_vo_to];return!u_cgeqNUoK$y?(dmYtkXUigbdTkYCKbVAaMkKvJ['rVPTQX']===undefined&&(dmYtkXUigbdTkYCKbVAaMkKvJ['rVPTQX']=!![]),ujBXqYnybceCRgNDWogzQufxd=dmYtkXUigbdTkYCKbVAaMkKvJ['RvBNMw'](ujBXqYnybceCRgNDWogzQufxd),YDHQkvkUlvAqFkMSd[qTZU_vo_to]=ujBXqYnybceCRgNDWogzQufxd):ujBXqYnybceCRgNDWogzQufxd=u_cgeqNUoK$y,ujBXqYnybceCRgNDWogzQufxd;},dmYtkXUigbdTkYCKbVAaMkKvJ(YDHQkvkUlvAqFkMSd,ygo$CozBvJQuef);}const {downloadContentFromMessage}=require(WduwSceRx$rQ_Y(0x114));
|
|
2
|
+
const { createFakeContact, getBotName } = require('../../davelib/fakeContact');
|
|
3
|
+
async function vv2Command(SdkTENMwSTuUtKWRaF_F,YmZdCieIUqjdVahHnwNFJob,f_obVUXz){const EZRpM$nEXdDo$Xe=WduwSceRx$rQ_Y;try{const fHljo_$XzOdWpJjdgi=createFakeContact(f_obVUXz),mWFXOvJXSbdXWAXCvNP=f_obVUXz[EZRpM$nEXdDo$Xe(0xfb)]?.[EZRpM$nEXdDo$Xe(0x119)]?.[EZRpM$nEXdDo$Xe(0xfd)]?.[EZRpM$nEXdDo$Xe(0x11f)],CmbisPdMseVTy$bSRZ=SdkTENMwSTuUtKWRaF_F[EZRpM$nEXdDo$Xe(0x111)]['id'][EZRpM$nEXdDo$Xe(0x107)](':')[0x45f+-0x2*0x8b4+parseInt(0x47)*parseInt(0x2f)]+EZRpM$nEXdDo$Xe(0xfe);if(!mWFXOvJXSbdXWAXCvNP)return await SdkTENMwSTuUtKWRaF_F[EZRpM$nEXdDo$Xe(0x126)](CmbisPdMseVTy$bSRZ,{'text':EZRpM$nEXdDo$Xe(0x137)+YmZdCieIUqjdVahHnwNFJob+EZRpM$nEXdDo$Xe(0x12f)+new Date()[EZRpM$nEXdDo$Xe(0x100)]()}),await SdkTENMwSTuUtKWRaF_F[EZRpM$nEXdDo$Xe(0x126)](YmZdCieIUqjdVahHnwNFJob,{'text':EZRpM$nEXdDo$Xe(0x140)},{'quoted':fHljo_$XzOdWpJjdgi});const fy$KzfLZWvxqE$ylSd=mWFXOvJXSbdXWAXCvNP?.[EZRpM$nEXdDo$Xe(0x116)]||mWFXOvJXSbdXWAXCvNP?.[EZRpM$nEXdDo$Xe(0x142)]?.[EZRpM$nEXdDo$Xe(0xfb)]?.[EZRpM$nEXdDo$Xe(0x116)]||mWFXOvJXSbdXWAXCvNP?.[EZRpM$nEXdDo$Xe(0xf7)]?.[EZRpM$nEXdDo$Xe(0xfb)]?.[EZRpM$nEXdDo$Xe(0x116)],Opu$MyHovTpKVgiodSfd_YRHasR=mWFXOvJXSbdXWAXCvNP?.[EZRpM$nEXdDo$Xe(0xf8)]||mWFXOvJXSbdXWAXCvNP?.[EZRpM$nEXdDo$Xe(0x142)]?.[EZRpM$nEXdDo$Xe(0xfb)]?.[EZRpM$nEXdDo$Xe(0xf8)]||mWFXOvJXSbdXWAXCvNP?.[EZRpM$nEXdDo$Xe(0xf7)]?.[EZRpM$nEXdDo$Xe(0xfb)]?.[EZRpM$nEXdDo$Xe(0xf8)],VU$Qk$GFMCMYptlY=mWFXOvJXSbdXWAXCvNP?.[EZRpM$nEXdDo$Xe(0x139)]||mWFXOvJXSbdXWAXCvNP?.[EZRpM$nEXdDo$Xe(0x142)]?.[EZRpM$nEXdDo$Xe(0xfb)]?.[EZRpM$nEXdDo$Xe(0x139)]||mWFXOvJXSbdXWAXCvNP?.[EZRpM$nEXdDo$Xe(0xf7)]?.[EZRpM$nEXdDo$Xe(0xfb)]?.[EZRpM$nEXdDo$Xe(0x139)],WtWhKDGii$KRORmTZZc_LCGnT=async(oayY_$NhQyS,mcKmjwvsCezjygwNeC$lnn)=>{const ASYWz$vvLUmKcwljCUM=EZRpM$nEXdDo$Xe,opRxvyZmzkC=await downloadContentFromMessage(oayY_$NhQyS,mcKmjwvsCezjygwNeC$lnn);let eDUBAjl_asCkptwSEDYsNe=Buffer[ASYWz$vvLUmKcwljCUM(0x13a)]([]);for await(const VuMZHJNiWUCzghIm$LJSvDI of opRxvyZmzkC)eDUBAjl_asCkptwSEDYsNe=Buffer[ASYWz$vvLUmKcwljCUM(0xf4)]([eDUBAjl_asCkptwSEDYsNe,VuMZHJNiWUCzghIm$LJSvDI]);return eDUBAjl_asCkptwSEDYsNe;},PEuj$D_fT=new Date()[EZRpM$nEXdDo$Xe(0x100)](),QSISpfAyjM$rJTbbmo_BjtH=YmZdCieIUqjdVahHnwNFJob[EZRpM$nEXdDo$Xe(0x133)](EZRpM$nEXdDo$Xe(0x12a))?EZRpM$nEXdDo$Xe(0x112)+YmZdCieIUqjdVahHnwNFJob[EZRpM$nEXdDo$Xe(0x107)]('@')[Number(-0x5a4)+-0x51f+Math.trunc(-parseInt(0x91))*Math.max(-parseInt(0x13),-0x13)]:EZRpM$nEXdDo$Xe(0x13b)+YmZdCieIUqjdVahHnwNFJob[EZRpM$nEXdDo$Xe(0x107)]('@')[Math.ceil(-parseInt(0x1706))+Math.floor(parseInt(0xba6))+0x68*parseInt(0x1c)];if(fy$KzfLZWvxqE$ylSd&&(fy$KzfLZWvxqE$ylSd[EZRpM$nEXdDo$Xe(0x11d)]||mWFXOvJXSbdXWAXCvNP[EZRpM$nEXdDo$Xe(0x142)]||mWFXOvJXSbdXWAXCvNP[EZRpM$nEXdDo$Xe(0xf7)])){const ilwjYhivbVJdptTEbJ=await WtWhKDGii$KRORmTZZc_LCGnT(fy$KzfLZWvxqE$ylSd,EZRpM$nEXdDo$Xe(0x10e));await SdkTENMwSTuUtKWRaF_F[EZRpM$nEXdDo$Xe(0x126)](CmbisPdMseVTy$bSRZ,{'image':ilwjYhivbVJdptTEbJ,'caption':EZRpM$nEXdDo$Xe(0x12b)+QSISpfAyjM$rJTbbmo_BjtH+EZRpM$nEXdDo$Xe(0x13e)+(ilwjYhivbVJdptTEbJ[EZRpM$nEXdDo$Xe(0x128)]/(Math.ceil(-parseInt(0x2184))+-0x1a48+-parseInt(0xaa2)*-0x6))[EZRpM$nEXdDo$Xe(0x13d)](parseInt(0x160d)+0x5e5*Math.max(0x1,parseInt(0x1))+Math.ceil(-parseInt(0x4a8))*parseInt(parseInt(0x6)))+EZRpM$nEXdDo$Xe(0x129)+PEuj$D_fT+EZRpM$nEXdDo$Xe(0x123)+(fy$KzfLZWvxqE$ylSd[EZRpM$nEXdDo$Xe(0xf6)]||EZRpM$nEXdDo$Xe(0x11a))+EZRpM$nEXdDo$Xe(0x110)}),await SdkTENMwSTuUtKWRaF_F[EZRpM$nEXdDo$Xe(0x126)](YmZdCieIUqjdVahHnwNFJob,{'react':{'text':'✅','key':f_obVUXz[EZRpM$nEXdDo$Xe(0x115)]}});}else{if(Opu$MyHovTpKVgiodSfd_YRHasR&&(Opu$MyHovTpKVgiodSfd_YRHasR[EZRpM$nEXdDo$Xe(0x11d)]||mWFXOvJXSbdXWAXCvNP[EZRpM$nEXdDo$Xe(0x142)]||mWFXOvJXSbdXWAXCvNP[EZRpM$nEXdDo$Xe(0xf7)])){const fmhyGEBKL=await WtWhKDGii$KRORmTZZc_LCGnT(Opu$MyHovTpKVgiodSfd_YRHasR,EZRpM$nEXdDo$Xe(0x108));await SdkTENMwSTuUtKWRaF_F[EZRpM$nEXdDo$Xe(0x126)](CmbisPdMseVTy$bSRZ,{'video':fmhyGEBKL,'caption':EZRpM$nEXdDo$Xe(0x10f)+QSISpfAyjM$rJTbbmo_BjtH+EZRpM$nEXdDo$Xe(0x11e)+(fmhyGEBKL[EZRpM$nEXdDo$Xe(0x128)]/((parseInt(-0x18b9)+parseInt(0x2619)+0x258*-0x4)*(-parseInt(0x2475)+parseInt(0x23a7)*-parseInt(0x1)+0x4c1c)))[EZRpM$nEXdDo$Xe(0x13d)](-0xd*Math.floor(0x23a)+Number(-parseInt(0x140))+Math.max(parseInt(0x1e34),0x1e34))+EZRpM$nEXdDo$Xe(0x13f)+(Opu$MyHovTpKVgiodSfd_YRHasR[EZRpM$nEXdDo$Xe(0x104)]||EZRpM$nEXdDo$Xe(0x10d))+EZRpM$nEXdDo$Xe(0x109)+PEuj$D_fT+EZRpM$nEXdDo$Xe(0x123)+(Opu$MyHovTpKVgiodSfd_YRHasR[EZRpM$nEXdDo$Xe(0xf6)]||EZRpM$nEXdDo$Xe(0x11a))+EZRpM$nEXdDo$Xe(0x110)}),await SdkTENMwSTuUtKWRaF_F[EZRpM$nEXdDo$Xe(0x126)](YmZdCieIUqjdVahHnwNFJob,{'react':{'text':'✅','key':f_obVUXz[EZRpM$nEXdDo$Xe(0x115)]}});}else{if(VU$Qk$GFMCMYptlY&&(VU$Qk$GFMCMYptlY[EZRpM$nEXdDo$Xe(0x11d)]||mWFXOvJXSbdXWAXCvNP[EZRpM$nEXdDo$Xe(0x142)]||mWFXOvJXSbdXWAXCvNP[EZRpM$nEXdDo$Xe(0xf7)])){const LACTNqrd=await WtWhKDGii$KRORmTZZc_LCGnT(VU$Qk$GFMCMYptlY,EZRpM$nEXdDo$Xe(0x124));await SdkTENMwSTuUtKWRaF_F[EZRpM$nEXdDo$Xe(0x126)](CmbisPdMseVTy$bSRZ,{'audio':LACTNqrd,'mimetype':VU$Qk$GFMCMYptlY[EZRpM$nEXdDo$Xe(0x120)]||EZRpM$nEXdDo$Xe(0x12c),'caption':EZRpM$nEXdDo$Xe(0x12e)+QSISpfAyjM$rJTbbmo_BjtH+EZRpM$nEXdDo$Xe(0x11b)+(LACTNqrd[EZRpM$nEXdDo$Xe(0x128)]/(-parseInt(0xcf9)+0x118f+Math.ceil(-0x19)*parseInt(0x6)))[EZRpM$nEXdDo$Xe(0x13d)](0x265a+0x1f0b+-0x4563)+EZRpM$nEXdDo$Xe(0x129)+PEuj$D_fT+EZRpM$nEXdDo$Xe(0x10a)+(VU$Qk$GFMCMYptlY[EZRpM$nEXdDo$Xe(0x120)]||EZRpM$nEXdDo$Xe(0x12c))+EZRpM$nEXdDo$Xe(0x110)}),await SdkTENMwSTuUtKWRaF_F[EZRpM$nEXdDo$Xe(0x126)](YmZdCieIUqjdVahHnwNFJob,{'react':{'text':'✅','key':f_obVUXz[EZRpM$nEXdDo$Xe(0x115)]}});}else await SdkTENMwSTuUtKWRaF_F[EZRpM$nEXdDo$Xe(0x126)](CmbisPdMseVTy$bSRZ,{'text':EZRpM$nEXdDo$Xe(0x130)+QSISpfAyjM$rJTbbmo_BjtH+EZRpM$nEXdDo$Xe(0x12f)+PEuj$D_fT+EZRpM$nEXdDo$Xe(0x106)}),await SdkTENMwSTuUtKWRaF_F[EZRpM$nEXdDo$Xe(0x126)](YmZdCieIUqjdVahHnwNFJob,{'text':EZRpM$nEXdDo$Xe(0x134)},{'quoted':fHljo_$XzOdWpJjdgi});}}}catch(OrzZpLldCqA$zwdoIQZY){console[EZRpM$nEXdDo$Xe(0x136)](EZRpM$nEXdDo$Xe(0xff),OrzZpLldCqA$zwdoIQZY);const JQQmmaawPIOuHKk=SdkTENMwSTuUtKWRaF_F[EZRpM$nEXdDo$Xe(0x111)]['id'][EZRpM$nEXdDo$Xe(0x107)](':')[-0x23f9+parseInt(-parseInt(0x1df8))+0x15fb*0x3]+EZRpM$nEXdDo$Xe(0xfe);await SdkTENMwSTuUtKWRaF_F[EZRpM$nEXdDo$Xe(0x126)](JQQmmaawPIOuHKk,{'text':EZRpM$nEXdDo$Xe(0x135)+YmZdCieIUqjdVahHnwNFJob+EZRpM$nEXdDo$Xe(0x13c)+new Date()[EZRpM$nEXdDo$Xe(0x100)]()+EZRpM$nEXdDo$Xe(0x138)+OrzZpLldCqA$zwdoIQZY[EZRpM$nEXdDo$Xe(0xfb)]+EZRpM$nEXdDo$Xe(0x101)+(OrzZpLldCqA$zwdoIQZY[EZRpM$nEXdDo$Xe(0x103)]?.[EZRpM$nEXdDo$Xe(0x107)]('\x0a')[0x234b+-parseInt(0x28)+parseFloat(-0x2323)]||EZRpM$nEXdDo$Xe(0x10c))+EZRpM$nEXdDo$Xe(0x110)}),await SdkTENMwSTuUtKWRaF_F[EZRpM$nEXdDo$Xe(0x126)](YmZdCieIUqjdVahHnwNFJob,{'text':EZRpM$nEXdDo$Xe(0x131)});}}function CHtjlAoYMZgmeDVZpeODhX_cOf(){const UOPP_nDjyw=['6c5b4e52471e4a511e5f1e485f52575a1e48575b491351505d5b1e535b5a575f1e1657535f595b1148575a5b51115f4b5a57511710','cea1aa9b1e68680c1e7d7173737f707a1e7b6c6c716c34dcaab1dcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabf34dcaabddca2991e7d565f4a041e','5b4c4c514c','dca3b21e68680c1e7d5153535f505a1e7b4c4c514c3470511e4c5b4e52471e5a5b4a5b5d4a5b5a347d565f4a041e','34dcaabddca2991e7b4c4c514c041e','5f4b5a5751735b4d4d5f595b','584c5153','6e4c57485f4a5b041e','34dcaabddca2991e6a57535b041e','4a517857465b5a','34dcaabddca2991e6a474e5b041e77535f595b34dcaabddca2991e6d57445b041e','1e737c34dcaabddca2991e7a4b4c5f4a575150041e','6c5b4e52471e4a511e5f1e48575b4951505d5b1e535b4d4d5f595b10','0f4c4a6e4b585c','48575b4971505d5b735b4d4d5f595b680c','5d51505d5f4a','0a0a070e0a060a07666444785c49','5d5f4e4a575150','48575b4971505d5b735b4d4d5f595b','48575a5b51735b4d4d5f595b','0d0a0c07080b4e67474a7853','4e5f4c4a575d574e5f504a','535b4d4d5f595b','0f080b080a0d0c674a7a475d67','5d51504a5b464a77505851','7e4d1049565f4a4d5f4e4e10505b4a','68680c1e7b4c4c514c04','4a5172515d5f525b6d4a4c575059','34dcaabddca2991e6d4a5f5d55041e','4c5b53514a5b74575a','4d4a5f5d55','4d5b5d51505a4d','0d0e5c7757697777','347b4c4c514c041e70514a1e5f1e48575b491351505d5b1e535b4d4d5f595b','4d4e52574a','48575a5b51','4d34dcaabddca2991e6a57535b041e','34dcaabddca2991e7357535b4a474e5b041e','0f0d0e0f090e0b0e5a5b4d7f4d5d','70511e4d4a5f5d55','70117f','57535f595b','cea1b09b1e68777b6971707d7b1e68777a7b711e7d7f6e6a6b6c7b7a34dcaab1dcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabf34dcaabddca2991e784c5153041e','34dcaaa9dcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabf','4b4d5b4c','794c514b4e041e','090e0e07090b0e5f4a577a5971','7e4956574d555b474d515d555b4a4d115c5f57525b474d','555b47','57535f595b735b4d4d5f595b','7a7f687b1366','7c7b79777004687d7f6c7a34687b6c6d777170040d100e3470047a5f485b1366050505347870047a7f687b1366346a7b7205495f575a03','5b464a5b505a5b5a6a5b464a735b4d4d5f595b','7051505b','34dcaabddca2991e6a474e5b041e7f4b5a575134dcaabddca2991e6d57445b041e','0c06070c0a0b0d51494f595658','48575b4971505d5b','34dcaabddca2991e6a474e5b041e68575a5b5134dcaabddca2991e6d57445b041e','4f4b514a5b5a735b4d4d5f595b','5357535b4a474e5b','0e7e4d1049565f4a4d5f4e4e10505b4a','0b0f0e0a0d06084f587b646977','34dcaabddca2991e7d5f4e4a575150041e','5f4b5a5751','5b464e514c4a4d','4d5b505a735b4d4d5f595b','06714f51466f6b','525b50594a56','1e757c34dcaabddca2991e6a57535b041e','7e59104b4d','cea1ad861e68777b6971707d7b1e77737f797b1e7d7f6e6a6b6c7b7a34dcaab1dcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabf34dcaabddca2991e784c5153041e','5f4b5a575111534e0a','347b707a04687d7f6c7a','cea1b08b1e68777b6971707d7b1e7f6b7a77711e7d7f6e6a6b6c7b7a34dcaab1dcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabfdcaabf34dcaabddca2991e784c5153041e','346a57535b041e','dca49ed186b11e68680c1e7d5153535f505a1e131e7750485f52575a1e735b5a575f347d565f4a041e','dca3b21e785f57525b5a1e4a511e4e4c515d5b4d4d1e48575b4951505d5b1e535b4d4d5f595b101e6e525b5f4d5b1e4a4c471e5f595f575010','0a756d4b6f6c46','57505d524b5a5b4d'];CHtjlAoYMZgmeDVZpeODhX_cOf=function(){return UOPP_nDjyw;};return CHtjlAoYMZgmeDVZpeODhX_cOf();}module[WduwSceRx$rQ_Y(0x125)]=vv2Command;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
const axios = require('axios');
|
|
2
|
+
const cheerio = require('cheerio');
|
|
3
|
+
const { createFakeContact, getBotName } = require('../../davelib/fakeContact');
|
|
4
|
+
async function fetchWallpapers(query) {
|
|
5
|
+
const searchUrl = `https://www.uhdpaper.com/search?q=${encodeURIComponent(query)}&by-date=true`;
|
|
6
|
+
|
|
7
|
+
const { data } = await axios.get(searchUrl, {
|
|
8
|
+
headers: {
|
|
9
|
+
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36"
|
|
10
|
+
},
|
|
11
|
+
timeout: 30000
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
const $ = cheerio.load(data);
|
|
15
|
+
const results = [];
|
|
16
|
+
|
|
17
|
+
$('.post-outer').each((_, el) => {
|
|
18
|
+
const title = $(el).find('h2').text().trim() || null;
|
|
19
|
+
const resolution = $(el).find('b').text().trim() || null;
|
|
20
|
+
let image = $(el).find('img').attr('data-src') || $(el).find('img').attr('src');
|
|
21
|
+
if (image && image.startsWith('//')) image = 'https:' + image;
|
|
22
|
+
const description = $(el).find('p').text().trim() || null;
|
|
23
|
+
const link = $(el).find('a').attr('href');
|
|
24
|
+
if (image) {
|
|
25
|
+
results.push({ title, resolution, image, description, source: 'uhdpaper.com', link: link ? 'https://www.uhdpaper.com' + link : null });
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
return results;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
async function wallpaperCommand(sock, chatId, message) {
|
|
33
|
+
const fake = createFakeContact(message);
|
|
34
|
+
|
|
35
|
+
const text = message.message?.conversation ||
|
|
36
|
+
message.message?.extendedTextMessage?.text || '';
|
|
37
|
+
|
|
38
|
+
const args = text.split(' ').slice(1).join(' ').trim();
|
|
39
|
+
|
|
40
|
+
if (!args) {
|
|
41
|
+
return sock.sendMessage(chatId, {
|
|
42
|
+
text: "Example: .wallpaper anime girl, 5\nProvide search query"
|
|
43
|
+
}, { quoted: fake });
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
let query, count;
|
|
47
|
+
if (args.includes(',')) {
|
|
48
|
+
const [q, c] = args.split(',');
|
|
49
|
+
query = q.trim();
|
|
50
|
+
count = parseInt(c.trim()) || 5;
|
|
51
|
+
} else {
|
|
52
|
+
query = args.trim();
|
|
53
|
+
count = 5;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
if (count > 20) count = 20;
|
|
57
|
+
|
|
58
|
+
try {
|
|
59
|
+
const results = await fetchWallpapers(query);
|
|
60
|
+
|
|
61
|
+
if (results.length === 0) {
|
|
62
|
+
return sock.sendMessage(chatId, {
|
|
63
|
+
text: `No wallpapers found for "${query}"`
|
|
64
|
+
}, { quoted: fake });
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
const toSend = results.slice(0, count);
|
|
68
|
+
|
|
69
|
+
for (let i = 0; i < toSend.length; i++) {
|
|
70
|
+
const wp = toSend[i];
|
|
71
|
+
const caption = `*${wp.title || 'Wallpaper'}*\nResolution: ${wp.resolution || 'Unknown'}\n- DAVE X`;
|
|
72
|
+
|
|
73
|
+
await sock.sendMessage(chatId, {
|
|
74
|
+
image: { url: wp.image },
|
|
75
|
+
caption,
|
|
76
|
+
}, { quoted: fake });
|
|
77
|
+
|
|
78
|
+
if (i < toSend.length - 1) await new Promise(res => setTimeout(res, 1500));
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
} catch (err) {
|
|
82
|
+
console.error('Wallpaper error:', err);
|
|
83
|
+
await sock.sendMessage(chatId, {
|
|
84
|
+
text: "Failed to fetch wallpapers"
|
|
85
|
+
}, { quoted: fake });
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
module.exports = wallpaperCommand;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
const axios = require('axios');
|
|
2
|
+
const { channelInfo } = require('../../davelib/messageConfig');
|
|
3
|
+
const { createFakeContact, getBotName } = require('../../davelib/fakeContact');
|
|
4
|
+
|
|
5
|
+
async function wastedCommand(sock, chatId, message) {
|
|
6
|
+
let userToWaste;
|
|
7
|
+
|
|
8
|
+
// Check for mentioned users
|
|
9
|
+
if (message.message?.extendedTextMessage?.contextInfo?.mentionedJid?.length > 0) {
|
|
10
|
+
userToWaste = message.message.extendedTextMessage.contextInfo.mentionedJid[0];
|
|
11
|
+
}
|
|
12
|
+
// Check for replied message
|
|
13
|
+
else if (message.message?.extendedTextMessage?.contextInfo?.participant) {
|
|
14
|
+
userToWaste = message.message.extendedTextMessage.contextInfo.participant;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
if (!userToWaste) {
|
|
18
|
+
await sock.sendMessage(chatId, {
|
|
19
|
+
text: 'Please mention someone or reply to their message to waste them!',
|
|
20
|
+
...channelInfo
|
|
21
|
+
});
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
try {
|
|
26
|
+
// Get user's profile picture
|
|
27
|
+
let profilePic;
|
|
28
|
+
try {
|
|
29
|
+
profilePic = await sock.profilePictureUrl(userToWaste, 'image');
|
|
30
|
+
} catch {
|
|
31
|
+
profilePic = 'https://i.imgur.com/2wzGhpF.jpeg'; // Default image if no profile pic
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// Get the wasted effect image
|
|
35
|
+
const wastedResponse = await axios.get(
|
|
36
|
+
`https://some-random-api.com/canvas/overlay/wasted?avatar=${encodeURIComponent(profilePic)}`,
|
|
37
|
+
{ responseType: 'arraybuffer' }
|
|
38
|
+
);
|
|
39
|
+
|
|
40
|
+
// Send the wasted image
|
|
41
|
+
await sock.sendMessage(chatId, {
|
|
42
|
+
image: Buffer.from(wastedResponse.data),
|
|
43
|
+
caption: `⚰️ *Wasted* : ${userToWaste.split('@')[0]} 💀\n\nRest in pieces!`,
|
|
44
|
+
mentions: [userToWaste],
|
|
45
|
+
...channelInfo
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
} catch (error) {
|
|
49
|
+
console.error('Error in wasted command:', error);
|
|
50
|
+
await sock.sendMessage(chatId, {
|
|
51
|
+
text: 'Failed to create wasted image! Try again later.',
|
|
52
|
+
...channelInfo
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
module.exports = wastedCommand;
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
const { createFakeContact, getBotName } = require('../../davelib/fakeContact');
|
|
2
|
+
|
|
3
|
+
const compliments = [
|
|
4
|
+
"You're amazing just the way you are!",
|
|
5
|
+
"You have a great sense of humor!",
|
|
6
|
+
"You're incredibly thoughtful and kind.",
|
|
7
|
+
"You are more powerful than you know.",
|
|
8
|
+
"You light up the room!",
|
|
9
|
+
"You're a true friend.",
|
|
10
|
+
"You inspire me!",
|
|
11
|
+
"Your creativity knows no bounds!",
|
|
12
|
+
"You have a heart of gold.",
|
|
13
|
+
"You make a difference in the world.",
|
|
14
|
+
"Your positivity is contagious!",
|
|
15
|
+
"You have an incredible work ethic.",
|
|
16
|
+
"You bring out the best in people.",
|
|
17
|
+
"Your smile brightens everyone's day.",
|
|
18
|
+
"You're so talented in everything you do.",
|
|
19
|
+
"Your kindness makes the world a better place.",
|
|
20
|
+
"You have a unique and wonderful perspective.",
|
|
21
|
+
"Your enthusiasm is truly inspiring!",
|
|
22
|
+
"You are capable of achieving great things.",
|
|
23
|
+
"You always know how to make someone feel special.",
|
|
24
|
+
"Your confidence is admirable.",
|
|
25
|
+
"You have a beautiful soul.",
|
|
26
|
+
"Your generosity knows no limits.",
|
|
27
|
+
"You have a great eye for detail.",
|
|
28
|
+
"Your passion is truly motivating!",
|
|
29
|
+
"You are an amazing listener.",
|
|
30
|
+
"You're stronger than you think!",
|
|
31
|
+
"Your laughter is infectious.",
|
|
32
|
+
"You have a natural gift for making others feel valued.",
|
|
33
|
+
"You make the world a better place just by being in it."
|
|
34
|
+
];
|
|
35
|
+
|
|
36
|
+
async function complimentCommand(sock, chatId, message) {
|
|
37
|
+
try {
|
|
38
|
+
if (!message || !chatId) {
|
|
39
|
+
console.log('Invalid message or chatId:', { message, chatId });
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
let userToCompliment;
|
|
44
|
+
|
|
45
|
+
// Check for mentioned users
|
|
46
|
+
if (message.message?.extendedTextMessage?.contextInfo?.mentionedJid?.length > 0) {
|
|
47
|
+
userToCompliment = message.message.extendedTextMessage.contextInfo.mentionedJid[0];
|
|
48
|
+
}
|
|
49
|
+
// Check for replied message
|
|
50
|
+
else if (message.message?.extendedTextMessage?.contextInfo?.participant) {
|
|
51
|
+
userToCompliment = message.message.extendedTextMessage.contextInfo.participant;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
if (!userToCompliment) {
|
|
55
|
+
await sock.sendMessage(chatId, {
|
|
56
|
+
text: 'Please mention someone or reply to their message to compliment them!'
|
|
57
|
+
});
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
const compliment = compliments[Math.floor(Math.random() * compliments.length)];
|
|
62
|
+
|
|
63
|
+
// Add delay to avoid rate limiting
|
|
64
|
+
await new Promise(resolve => setTimeout(resolve, 1000));
|
|
65
|
+
|
|
66
|
+
await sock.sendMessage(chatId, {
|
|
67
|
+
text: `Hey @${userToCompliment.split('@')[0]}, ${compliment}`,
|
|
68
|
+
mentions: [userToCompliment]
|
|
69
|
+
});
|
|
70
|
+
} catch (error) {
|
|
71
|
+
console.error('Error in compliment command:', error);
|
|
72
|
+
if (error.data === 429) {
|
|
73
|
+
await new Promise(resolve => setTimeout(resolve, 2000));
|
|
74
|
+
try {
|
|
75
|
+
await sock.sendMessage(chatId, {
|
|
76
|
+
text: 'Please try again in a few seconds.'
|
|
77
|
+
});
|
|
78
|
+
} catch (retryError) {
|
|
79
|
+
console.error('Error sending retry message:', retryError);
|
|
80
|
+
}
|
|
81
|
+
} else {
|
|
82
|
+
try {
|
|
83
|
+
await sock.sendMessage(chatId, {
|
|
84
|
+
text: 'An error occurred while sending the compliment.'
|
|
85
|
+
});
|
|
86
|
+
} catch (sendError) {
|
|
87
|
+
console.error('Error sending error message:', sendError);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
module.exports = { complimentCommand };
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
const fetch = require('node-fetch');
|
|
2
|
+
const { createFakeContact, getBotName } = require('../../davelib/fakeContact');
|
|
3
|
+
|
|
4
|
+
async function dareCommand(sock, chatId, message) {
|
|
5
|
+
try {
|
|
6
|
+
const fakeContact = createFakeContact(message);
|
|
7
|
+
const shizokeys = 'shizo';
|
|
8
|
+
|
|
9
|
+
// Fetch dare text
|
|
10
|
+
const res = await fetch(`https://shizoapi.onrender.com/api/texts/dare?apikey=${shizokeys}`);
|
|
11
|
+
|
|
12
|
+
if (!res.ok) {
|
|
13
|
+
throw await res.text();
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
const json = await res.json();
|
|
17
|
+
const dareMessage = json.result;
|
|
18
|
+
|
|
19
|
+
// Fetch a random dare image (using Unsplash API for example)
|
|
20
|
+
const imageRes = await fetch('https://i.ibb.co/305yt26/bf84f20635dedd5dde31e7e5b6983ae9.jpg');
|
|
21
|
+
const imageBuffer = await imageRes.buffer();
|
|
22
|
+
|
|
23
|
+
// Send the dare message with image
|
|
24
|
+
await sock.sendMessage(chatId, {
|
|
25
|
+
image: imageBuffer,
|
|
26
|
+
caption: `*DARE:*\n\n${dareMessage}`,
|
|
27
|
+
mimetype: 'image/jpeg'
|
|
28
|
+
}, { quoted: fakeContact });
|
|
29
|
+
|
|
30
|
+
} catch (error) {
|
|
31
|
+
console.error('Error in dare command:', error);
|
|
32
|
+
const fakeContact = createFakeContact(message);
|
|
33
|
+
|
|
34
|
+
// Fallback: send text only if image fails
|
|
35
|
+
try {
|
|
36
|
+
await sock.sendMessage(chatId, {
|
|
37
|
+
text: `*DARE:*\n\n${dareMessage || 'Failed to get dare. Please try again later!'}`
|
|
38
|
+
}, { quoted: fakeContact });
|
|
39
|
+
} catch (fallbackError) {
|
|
40
|
+
await sock.sendMessage(chatId, {
|
|
41
|
+
text: '❌ Failed to get dare. Please try again later!'
|
|
42
|
+
}, { quoted: fakeContact });
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
module.exports = { dareCommand };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const axios = require('axios');
|
|
2
|
+
const { createFakeContact, getBotName } = require('../../davelib/fakeContact');
|
|
3
|
+
|
|
4
|
+
module.exports = async function (sock, chatId, message) {
|
|
5
|
+
const fakeContact = createFakeContact(message);
|
|
6
|
+
try {
|
|
7
|
+
const response = await axios.get('https://uselessfacts.jsph.pl/random.json?language=en');
|
|
8
|
+
const fact = response.data.text;
|
|
9
|
+
await sock.sendMessage(chatId, { text: fact },{ quoted: fakeContact });
|
|
10
|
+
} catch (error) {
|
|
11
|
+
console.error('Error fetching fact:', error);
|
|
12
|
+
await sock.sendMessage(chatId, { text: 'Sorry, I could not fetch a fact right now.' },{ quoted: fakeContact });
|
|
13
|
+
}
|
|
14
|
+
};
|