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,62 @@
|
|
|
1
|
+
const fetch = require('node-fetch');
|
|
2
|
+
const { createFakeContact, getBotName } = require('../../davelib/fakeContact');
|
|
3
|
+
|
|
4
|
+
async function shayariCommand(sock, chatId, message) {
|
|
5
|
+
try {
|
|
6
|
+
// Fetch English Shayari from API
|
|
7
|
+
const response = await fetch('https://english-shayari-apis.onrender.com/shayari');
|
|
8
|
+
const data = await response.json();
|
|
9
|
+
|
|
10
|
+
if (!data || !data.shayari) {
|
|
11
|
+
throw new Error('Invalid response from API');
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
// Background images for Shayari (you can replace with your own image URLs)
|
|
15
|
+
const shayariImages = [
|
|
16
|
+
'https://images.unsplash.com/photo-1519681393784-d120267933ba',
|
|
17
|
+
'https://images.unsplash.com/photo-1506318137071-a8e063b4bec0',
|
|
18
|
+
'https://images.unsplash.com/photo-1462331940025-496dfbfc7564',
|
|
19
|
+
'https://images.unsplash.com/photo-1518709268805-4e9042af2176'
|
|
20
|
+
];
|
|
21
|
+
|
|
22
|
+
// Select random image
|
|
23
|
+
const randomImage = shayariImages[Math.floor(Math.random() * shayariImages.length)];
|
|
24
|
+
|
|
25
|
+
const buttons = [
|
|
26
|
+
{ buttonId: '.shayari', buttonText: { displayText: 'Shayari 🪄' }, type: 1 },
|
|
27
|
+
{ buttonId: '.roseday', buttonText: { displayText: '🌹 RoseDay' }, type: 1 },
|
|
28
|
+
{ buttonId: '.more', buttonText: { displayText: 'More ➕' }, type: 1 }
|
|
29
|
+
];
|
|
30
|
+
|
|
31
|
+
// Send image with caption as Shayari
|
|
32
|
+
await sock.sendMessage(chatId, {
|
|
33
|
+
image: { url: randomImage },
|
|
34
|
+
caption: `💫 *Shayari for You* 💫\n\n${data.shayari}\n\n_✨ Let the words touch your heart ✨_`,
|
|
35
|
+
buttons: buttons,
|
|
36
|
+
headerType: 1
|
|
37
|
+
}, { quoted: fakeContact });
|
|
38
|
+
|
|
39
|
+
} catch (error) {
|
|
40
|
+
console.error('Error in shayari command:', error);
|
|
41
|
+
|
|
42
|
+
// Fallback Shayari in case API fails
|
|
43
|
+
const fallbackShayaris = [
|
|
44
|
+
"Stars whisper secrets to the night,\nYour smile makes everything bright ✨",
|
|
45
|
+
"In the garden of life, you're the rarest flower,\nSpreading beauty hour by hour 🌸",
|
|
46
|
+
"The moon envies your gentle glow,\nFor in your presence, all blessings flow 🌙",
|
|
47
|
+
"Words may fail to express what I feel,\nBut my heart knows your love is real 💖"
|
|
48
|
+
];
|
|
49
|
+
|
|
50
|
+
const randomShayari = fallbackShayaris[Math.floor(Math.random() * fallbackShayaris.length)];
|
|
51
|
+
|
|
52
|
+
await sock.sendMessage(chatId, {
|
|
53
|
+
text: `*Shayari for You*\n\n${randomShayari}\n\n_Let the words touch your heart_`,
|
|
54
|
+
buttons: [
|
|
55
|
+
{ buttonId: '.shayari', buttonText: { displayText: 'Try Again 🔄' }, type: 1 },
|
|
56
|
+
{ buttonId: '.roseday', buttonText: { displayText: '🌹 RoseDay' }, type: 1 }
|
|
57
|
+
]
|
|
58
|
+
}, { quoted: fakeContact });
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
module.exports = { shayariCommand };
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
const fetch = require('node-fetch');
|
|
2
|
+
const { createFakeContact, getBotName } = require('../../davelib/fakeContact');
|
|
3
|
+
|
|
4
|
+
async function simpCommand(sock, chatId, quotedMsg, mentionedJid, sender) {
|
|
5
|
+
try {
|
|
6
|
+
// Determine the target user
|
|
7
|
+
let who = quotedMsg
|
|
8
|
+
? quotedMsg.sender
|
|
9
|
+
: mentionedJid && mentionedJid[0]
|
|
10
|
+
? mentionedJid[0]
|
|
11
|
+
: sender;
|
|
12
|
+
|
|
13
|
+
// Get the profile picture URL
|
|
14
|
+
let avatarUrl;
|
|
15
|
+
try {
|
|
16
|
+
avatarUrl = await sock.profilePictureUrl(who, 'image');
|
|
17
|
+
} catch (error) {
|
|
18
|
+
console.error('Error fetching profile picture:', error);
|
|
19
|
+
avatarUrl = 'https://telegra.ph/file/24fa902ead26340f3df2c.png'; // Default avatar
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
// Fetch the simp card from the API
|
|
23
|
+
const apiUrl = `https://some-random-api.com/canvas/misc/simpcard?avatar=${encodeURIComponent(avatarUrl)}`;
|
|
24
|
+
const response = await fetch(apiUrl);
|
|
25
|
+
|
|
26
|
+
if (!response.ok) {
|
|
27
|
+
throw new Error(`API responded with status: ${response.status}`);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// Get the image buffer
|
|
31
|
+
const imageBuffer = await response.buffer();
|
|
32
|
+
|
|
33
|
+
// Send the image with caption
|
|
34
|
+
await sock.sendMessage(chatId, {
|
|
35
|
+
image: imageBuffer,
|
|
36
|
+
caption: '*your religion is simping*'
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
} catch (error) {
|
|
40
|
+
console.error('Error in simp command:', error);
|
|
41
|
+
await sock.sendMessage(chatId, {
|
|
42
|
+
text: '❌ Sorry, I couldn\'t generate the simp card. Please try again later!'
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
module.exports = { simpCommand };
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
const fetch = require('node-fetch');
|
|
2
|
+
const { createFakeContact, getBotName } = require('../../davelib/fakeContact');
|
|
3
|
+
|
|
4
|
+
async function stupidCommand(sock, chatId, quotedMsg, mentionedJid, sender, args) {
|
|
5
|
+
try {
|
|
6
|
+
// Determine the target user
|
|
7
|
+
let who = quotedMsg
|
|
8
|
+
? quotedMsg.sender
|
|
9
|
+
: mentionedJid && mentionedJid[0]
|
|
10
|
+
? mentionedJid[0]
|
|
11
|
+
: sender;
|
|
12
|
+
|
|
13
|
+
// Get the text for the stupid card (default to "im+stupid" if not provided)
|
|
14
|
+
let text = args && args.length > 0 ? args.join(' ') : 'im+stupid';
|
|
15
|
+
|
|
16
|
+
// Get the profile picture URL
|
|
17
|
+
let avatarUrl;
|
|
18
|
+
try {
|
|
19
|
+
avatarUrl = await sock.profilePictureUrl(who, 'image');
|
|
20
|
+
} catch (error) {
|
|
21
|
+
console.error('Error fetching profile picture:', error);
|
|
22
|
+
avatarUrl = 'https://telegra.ph/file/24fa902ead26340f3df2c.png'; // Default avatar
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// Fetch the stupid card from the API
|
|
26
|
+
const apiUrl = `https://some-random-api.com/canvas/misc/its-so-stupid?avatar=${encodeURIComponent(avatarUrl)}&dog=${encodeURIComponent(text)}`;
|
|
27
|
+
const response = await fetch(apiUrl);
|
|
28
|
+
|
|
29
|
+
if (!response.ok) {
|
|
30
|
+
throw new Error(`API responded with status: ${response.status}`);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// Get the image buffer
|
|
34
|
+
const imageBuffer = await response.buffer();
|
|
35
|
+
|
|
36
|
+
// Send the image with caption
|
|
37
|
+
await sock.sendMessage(chatId, {
|
|
38
|
+
image: imageBuffer,
|
|
39
|
+
caption: `*@${who.split('@')[0]}*`,
|
|
40
|
+
mentions: [who]
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
} catch (error) {
|
|
44
|
+
console.error('Error in stupid command:', error);
|
|
45
|
+
await sock.sendMessage(chatId, {
|
|
46
|
+
text: '❌ Sorry, I couldn\'t generate the stupid card. Please try again later!'
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
module.exports = { stupidCommand };
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
const fs = require('fs');
|
|
2
|
+
const path = require('path');
|
|
3
|
+
const { createFakeContact, getBotName } = require('../../davelib/fakeContact');
|
|
4
|
+
|
|
5
|
+
async function truthCommand(sock, chatId, message) {
|
|
6
|
+
try {
|
|
7
|
+
const fakeContact = createFakeContact(message);
|
|
8
|
+
const truths = [
|
|
9
|
+
"What's the most embarrassing thing that's happened to you recently?",
|
|
10
|
+
"Have you ever had a crush on a teacher? Tell us about it.",
|
|
11
|
+
"What's the biggest lie you've ever told your parents?",
|
|
12
|
+
"What's the most childish thing you still do?",
|
|
13
|
+
"Have you ever pretended to be sick to get out of something?",
|
|
14
|
+
"What's the weirdest food combination you enjoy?",
|
|
15
|
+
"What's a secret you've never told anyone?",
|
|
16
|
+
"What's the most trouble you've ever been in?",
|
|
17
|
+
"Have you ever cheated on a test?",
|
|
18
|
+
"What's your most irrational fear?",
|
|
19
|
+
"What's the cringiest thing you did to try to impress someone?",
|
|
20
|
+
"What's something you've stolen and never returned?",
|
|
21
|
+
"Have you ever had a dream about someone in this chat?",
|
|
22
|
+
"What's the worst date you've ever been on?",
|
|
23
|
+
"What's a habit you have that you're embarrassed about?",
|
|
24
|
+
"What's the most embarrassing song on your playlist?",
|
|
25
|
+
"Have you ever been caught doing something you shouldn't have?",
|
|
26
|
+
"What's the silliest thing you've cried over?",
|
|
27
|
+
"What's something you're secretly proud of?",
|
|
28
|
+
"What's the most embarrassing nickname you've ever had?",
|
|
29
|
+
"Have you ever ghosted someone? Why?",
|
|
30
|
+
"What's the most awkward thing that's happened to you on a date?",
|
|
31
|
+
"What's something you Google that you'd be embarrassed if people saw?",
|
|
32
|
+
"What's your guilty pleasure TV show?",
|
|
33
|
+
"What's the strangest thing you find attractive in someone?",
|
|
34
|
+
"What's the most embarrassing text you've sent to the wrong person?",
|
|
35
|
+
"Have you ever had a crush on a friend's significant other?",
|
|
36
|
+
"What's the worst lie you've told to get out of plans?",
|
|
37
|
+
"What's something you do when you're alone that you'd never do in public?",
|
|
38
|
+
"What's the most embarrassing thing your parents have caught you doing?",
|
|
39
|
+
"Have you ever pretended to know a song or movie when you didn't?",
|
|
40
|
+
"What's the most money you've ever spent on something stupid?",
|
|
41
|
+
"What's your biggest insecurity?",
|
|
42
|
+
"Have you ever had a crush on a cartoon character?",
|
|
43
|
+
"What's the most embarrassing thing you've posted on social media?",
|
|
44
|
+
"What's a skill you pretend to have but actually don't?",
|
|
45
|
+
"Have you ever laughed at something inappropriate? When?",
|
|
46
|
+
"What's the most childish argument you've ever had?",
|
|
47
|
+
"What's something you believed as a child that you now realize was ridiculous?",
|
|
48
|
+
"Have you ever had a wardrobe malfunction in public?",
|
|
49
|
+
"What's the most embarrassing thing you've done while drunk or tired?",
|
|
50
|
+
"What's a secret talent you have that no one knows about?",
|
|
51
|
+
"Have you ever been attracted to someone you shouldn't be?",
|
|
52
|
+
"What's the worst present you've ever given someone?",
|
|
53
|
+
"What's the most embarrassing thing you've searched on the internet?",
|
|
54
|
+
"Have you ever had a crush on a celebrity that you're now embarrassed about?",
|
|
55
|
+
"What's something you've done that you thought was cool but was actually cringe?",
|
|
56
|
+
"What's the most embarrassing thing you've done for attention?",
|
|
57
|
+
"Have you ever fallen in public? Tell us about it.",
|
|
58
|
+
"What's the weirdest dream you've ever had?",
|
|
59
|
+
"What's a food you hate but pretend to like?",
|
|
60
|
+
"Have you ever had a crush on a video game character?",
|
|
61
|
+
"What's the most embarrassing thing you've said to someone you liked?",
|
|
62
|
+
"What's something you're still embarrassed about from years ago?",
|
|
63
|
+
"Have you ever been caught checking someone out?",
|
|
64
|
+
"What's the worst fashion phase you went through?",
|
|
65
|
+
"What's the most embarrassing thing you've done on a first date?",
|
|
66
|
+
"Have you ever cried during a movie? Which one?",
|
|
67
|
+
"What's something you're still scared of as an adult?",
|
|
68
|
+
"What's the most embarrassing thing you've done to fit in?",
|
|
69
|
+
"Have you ever had a crush on a friend's sibling?",
|
|
70
|
+
"What's the worst pickup line you've ever used?",
|
|
71
|
+
"What's something you've done that you hope your parents never find out about?",
|
|
72
|
+
"Have you ever been caught in a lie? What was it about?",
|
|
73
|
+
"What's the most embarrassing thing you've worn?",
|
|
74
|
+
"What's a secret hobby you have?",
|
|
75
|
+
"Have you ever had a dream that felt too real? Describe it.",
|
|
76
|
+
"What's the most embarrassing thing you've done for money?",
|
|
77
|
+
"What's something you're too embarrassed to ask someone to teach you?",
|
|
78
|
+
"Have you ever had a crush on a coworker or classmate?",
|
|
79
|
+
"What's the worst joke you've ever told?",
|
|
80
|
+
"What's the most embarrassing thing you've done while trying to be romantic?",
|
|
81
|
+
"Have you ever been rejected? How did it happen?",
|
|
82
|
+
"What's something you've broken and never told anyone about?",
|
|
83
|
+
"What's the most embarrassing thing you've done to avoid someone?",
|
|
84
|
+
"Have you ever had a celebrity crush that everyone else finds weird?",
|
|
85
|
+
"What's the worst advice you've ever given someone?",
|
|
86
|
+
"What's something you're secretly competitive about?",
|
|
87
|
+
"Have you ever pretended to be someone else online?",
|
|
88
|
+
"What's the most embarrassing thing you've done to get revenge?",
|
|
89
|
+
"What's a childhood habit you still haven't broken?",
|
|
90
|
+
"Have you ever had a crush on a fictional character?",
|
|
91
|
+
"What's the most embarrassing thing you've confessed to someone?",
|
|
92
|
+
"What's something you've lied about on your resume?",
|
|
93
|
+
"Have you ever been caught singing or dancing when you thought no one was watching?",
|
|
94
|
+
"What's the most embarrassing thing you've done to win an argument?",
|
|
95
|
+
"What's a secret dream or goal you've never shared?",
|
|
96
|
+
"Have you ever had a crush on someone much older or younger?",
|
|
97
|
+
"What's the worst gift you've ever received?",
|
|
98
|
+
"What's something you're embarrassed to admit you don't know how to do?",
|
|
99
|
+
"Have you ever been caught doing something embarrassing on camera?",
|
|
100
|
+
"What's the most embarrassing thing you've done to get attention from a crush?",
|
|
101
|
+
"What's a secret fear you have about relationships?",
|
|
102
|
+
"Have you ever had a crush on two best friends at the same time?",
|
|
103
|
+
"What's the most embarrassing thing you've done while trying to be cool?",
|
|
104
|
+
"What's something you're secretly jealous of?",
|
|
105
|
+
"Have you ever had a dream that changed how you felt about someone?"
|
|
106
|
+
];
|
|
107
|
+
|
|
108
|
+
// Get random truth
|
|
109
|
+
const randomIndex = Math.floor(Math.random() * truths.length);
|
|
110
|
+
const truthMessage = `🔮 *TRUTH CHALLENGE* 🔮\n\n${truths[randomIndex]}\n\n*Be honest!* 💫`;
|
|
111
|
+
|
|
112
|
+
// Try to send with image, fallback to text only if image fails
|
|
113
|
+
try {
|
|
114
|
+
// You can replace this with your own image path or URL
|
|
115
|
+
const imagePath = path.join(__dirname, '../assets/menu1.jpg');
|
|
116
|
+
|
|
117
|
+
// Check if image exists, if not use a default image or send text only
|
|
118
|
+
if (fs.existsSync(imagePath)) {
|
|
119
|
+
await sock.sendMessage(chatId, {
|
|
120
|
+
image: { url: imagePath },
|
|
121
|
+
caption: truthMessage,
|
|
122
|
+
mentions: [message.key.participant || message.key.remoteJid]
|
|
123
|
+
}, { quoted: fakeContact });
|
|
124
|
+
} else {
|
|
125
|
+
// If no image found, try to use a colorful message with emojis
|
|
126
|
+
await sock.sendMessage(chatId, {
|
|
127
|
+
text: `${truthMessage}`
|
|
128
|
+
}, { quoted: fakeContact });
|
|
129
|
+
}
|
|
130
|
+
} catch (imageError) {
|
|
131
|
+
console.error('Image error, sending text only:', imageError);
|
|
132
|
+
// Fallback to text only if image fails
|
|
133
|
+
await sock.sendMessage(chatId, {
|
|
134
|
+
text: truthMessage
|
|
135
|
+
}, { quoted: fakeContact });
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
} catch (error) {
|
|
139
|
+
console.error('Error in truth command:', error);
|
|
140
|
+
await sock.sendMessage(chatId, {
|
|
141
|
+
text: '❌ Failed to get truth. Please try again later!'
|
|
142
|
+
}, { quoted: fakeContact });
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
module.exports = { truthCommand };
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
const fs = require('fs');
|
|
2
|
+
const path = require('path');
|
|
3
|
+
const settings = require("../../daveset");
|
|
4
|
+
const os = require("os");
|
|
5
|
+
const { createFakeContact, getBotName } = require('../../davelib/fakeContact');
|
|
6
|
+
const { getPrefix } = require('../owner/setprefix'); // Add this import
|
|
7
|
+
|
|
8
|
+
const detectPlatform = () => {
|
|
9
|
+
if (process.env.DYNO) return "Heroku";
|
|
10
|
+
if (process.env.RENDER) return "Render";
|
|
11
|
+
if (process.env.PREFIX && process.env.PREFIX.includes("termux")) return "Termux";
|
|
12
|
+
if (process.env.PORTS && process.env.CYPHERX_HOST_ID) return "CypherX Platform";
|
|
13
|
+
if (process.env.P_SERVER_UUID) return "Panel";
|
|
14
|
+
if (process.env.LXC) return "Linux Container (LXC)";
|
|
15
|
+
|
|
16
|
+
switch (os.platform()) {
|
|
17
|
+
case "win32": return "Windows";
|
|
18
|
+
case "darwin": return "macOS";
|
|
19
|
+
case "linux": return "Linux";
|
|
20
|
+
default: return "Unknown";
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
function formatUptime(uptime) {
|
|
25
|
+
const seconds = Math.floor(uptime / 1000);
|
|
26
|
+
const days = Math.floor(seconds / (24 * 60 * 60));
|
|
27
|
+
const hours = Math.floor((seconds % (24 * 60 * 60)) / (60 * 60));
|
|
28
|
+
const minutes = Math.floor((seconds % (60 * 60)) / 60);
|
|
29
|
+
const secs = seconds % 60;
|
|
30
|
+
|
|
31
|
+
const parts = [];
|
|
32
|
+
if (days > 0) parts.push(`${days} day${days > 1 ? 's' : ''}`);
|
|
33
|
+
if (hours > 0) parts.push(`${hours} hour${hours > 1 ? 's' : ''}`);
|
|
34
|
+
if (minutes > 0) parts.push(`${minutes} minute${minutes > 1 ? 's' : ''}`);
|
|
35
|
+
if (secs > 0 || parts.length === 0) parts.push(`${secs} second${secs > 1 ? 's' : ''}`);
|
|
36
|
+
|
|
37
|
+
return parts.join(', ');
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
const botStartTime = Date.now();
|
|
41
|
+
async function aliveCommand(sock, chatId, message) {
|
|
42
|
+
try {
|
|
43
|
+
const uptime = Date.now() - botStartTime;
|
|
44
|
+
const formattedUptime = formatUptime(uptime);
|
|
45
|
+
const hostName = detectPlatform();
|
|
46
|
+
|
|
47
|
+
const fake = createFakeContact(message);
|
|
48
|
+
const botName = getBotName();
|
|
49
|
+
const prefix = getPrefix() || '.'; // Get prefix from the function
|
|
50
|
+
|
|
51
|
+
const messageText = `╭─❖ *${botName} STATUS* ❖─╮\n` +
|
|
52
|
+
`│ Platform : ${hostName}\n` +
|
|
53
|
+
`│ Uptime : ${formattedUptime}\n` +
|
|
54
|
+
`│ Prefix : ${prefix}\n` +
|
|
55
|
+
`│ Mode : ${global.public ? 'Public' : 'Private'}\n` +
|
|
56
|
+
`╰────────────────────╯\n\n` +
|
|
57
|
+
`${botName} v3.0.4\n` +
|
|
58
|
+
`🤫 Dave Tech - YEAH`;
|
|
59
|
+
|
|
60
|
+
await sock.sendMessage(chatId, { text: messageText }, { quoted: fake });
|
|
61
|
+
|
|
62
|
+
} catch (error) {
|
|
63
|
+
console.error('Error in alive command:', error);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
module.exports = aliveCommand;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
const { createFakeContact, getBotName } = require('../../davelib/fakeContact');
|
|
2
|
+
|
|
3
|
+
async function bioCommand(sock, chatId, message, args, fullArgs) {
|
|
4
|
+
const senderId = message.key.participant || message.key.remoteJid;
|
|
5
|
+
const fake = createFakeContact(senderId);
|
|
6
|
+
const botName = getBotName();
|
|
7
|
+
|
|
8
|
+
if (!message.key.fromMe) {
|
|
9
|
+
await sock.sendMessage(chatId, {
|
|
10
|
+
text: `*${botName}*\n❌ Only the bot owner can change the bio.`
|
|
11
|
+
}, { quoted: fake });
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const clearKeywords = ['remove', 'reset', 'clear', 'none', 'delete'];
|
|
16
|
+
const firstWord = (args[0] || '').toLowerCase();
|
|
17
|
+
|
|
18
|
+
// If first word is a clear keyword (and nothing else, or alone), clear the bio
|
|
19
|
+
if (clearKeywords.includes(firstWord) && args.length <= 1) {
|
|
20
|
+
await sock.sendMessage(chatId, { react: { text: '⏳', key: message.key } });
|
|
21
|
+
await sock.updateProfileStatus('');
|
|
22
|
+
await sock.sendMessage(chatId, {
|
|
23
|
+
text: `*${botName}*\n✅ Bio has been cleared.`
|
|
24
|
+
}, { quoted: fake });
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
// Everything after the command is the bio text
|
|
29
|
+
// Strip a leading "set" keyword if user typed ".setbio set My bio"
|
|
30
|
+
let bioText = fullArgs || '';
|
|
31
|
+
if (firstWord === 'set') {
|
|
32
|
+
bioText = args.slice(1).join(' ').trim();
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
if (!bioText.trim()) {
|
|
36
|
+
await sock.sendMessage(chatId, {
|
|
37
|
+
text: `*${botName}*\n❌ Provide a bio text.\n\nUsage:\n.setbio <your bio text>\n.removebio — clear bio`
|
|
38
|
+
}, { quoted: fake });
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
await sock.sendMessage(chatId, { react: { text: '⏳', key: message.key } });
|
|
43
|
+
await sock.updateProfileStatus(bioText.trim());
|
|
44
|
+
await sock.sendMessage(chatId, {
|
|
45
|
+
text: `*${botName}*\n✅ Bio updated:\n_${bioText.trim()}_`
|
|
46
|
+
}, { quoted: fake });
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
module.exports = bioCommand;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
const db = require('../../Database/database');
|
|
2
|
+
const { createFakeContact, getBotName } = require('../../davelib/fakeContact');
|
|
3
|
+
|
|
4
|
+
async function broadcastCommand(sock, chatId, message) {
|
|
5
|
+
const senderId = message.key.participant || message.key.remoteJid;
|
|
6
|
+
const fake = createFakeContact(senderId);
|
|
7
|
+
const botName = getBotName();
|
|
8
|
+
|
|
9
|
+
if (!message.key.fromMe && !db.isSudo(senderId)) {
|
|
10
|
+
return sock.sendMessage(chatId, {
|
|
11
|
+
text: `*${botName}*\nOwner only command!`
|
|
12
|
+
}, { quoted: fake });
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const text = message.message?.conversation ||
|
|
16
|
+
message.message?.extendedTextMessage?.text || '';
|
|
17
|
+
|
|
18
|
+
const quotedMessage = message.message?.extendedTextMessage?.contextInfo?.quotedMessage;
|
|
19
|
+
|
|
20
|
+
if (!text && !quotedMessage?.imageMessage) {
|
|
21
|
+
return sock.sendMessage(chatId, {
|
|
22
|
+
text: `*${botName}*\nReply to image or type text to broadcast`
|
|
23
|
+
}, { quoted: fake });
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
try {
|
|
27
|
+
const groups = Object.keys(await sock.groupFetchAllParticipating());
|
|
28
|
+
|
|
29
|
+
await sock.sendMessage(chatId, {
|
|
30
|
+
text: `*${botName}*\n\nBroadcasting to ${groups.length} groups...`
|
|
31
|
+
}, { quoted: fake });
|
|
32
|
+
|
|
33
|
+
const channelInfo = {};
|
|
34
|
+
|
|
35
|
+
const broadcastText = `*${botName} Broadcast*\n\n${text}`;
|
|
36
|
+
|
|
37
|
+
let successCount = 0;
|
|
38
|
+
let failCount = 0;
|
|
39
|
+
|
|
40
|
+
for (let groupId of groups) {
|
|
41
|
+
try {
|
|
42
|
+
await new Promise(resolve => setTimeout(resolve, 1500));
|
|
43
|
+
|
|
44
|
+
if (quotedMessage?.imageMessage) {
|
|
45
|
+
await sock.sendMessage(groupId, {
|
|
46
|
+
image: quotedMessage.imageMessage,
|
|
47
|
+
caption: broadcastText,
|
|
48
|
+
...channelInfo
|
|
49
|
+
});
|
|
50
|
+
} else {
|
|
51
|
+
await sock.sendMessage(groupId, {
|
|
52
|
+
text: broadcastText,
|
|
53
|
+
...channelInfo
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
successCount++;
|
|
57
|
+
} catch (e) {
|
|
58
|
+
failCount++;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
await sock.sendMessage(chatId, {
|
|
63
|
+
text: `*${botName}*\n\nBroadcast complete!\nSuccess: ${successCount}\nFailed: ${failCount}`
|
|
64
|
+
}, { quoted: fake });
|
|
65
|
+
|
|
66
|
+
} catch (error) {
|
|
67
|
+
console.error('Broadcast error:', error.message, 'Line:', error.stack?.split('\n')[1]);
|
|
68
|
+
await sock.sendMessage(chatId, {
|
|
69
|
+
text: `*${botName}*\nBroadcast failed!`
|
|
70
|
+
}, { quoted: fake });
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
module.exports = { broadcastCommand };
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
const { createFakeContact, getBotName } = require('../../davelib/fakeContact');
|
|
2
|
+
// Channel JID Extractor
|
|
3
|
+
async function chaneljidCommand(sock, chatId, message) {
|
|
4
|
+
try {
|
|
5
|
+
const text = message.message?.conversation || message.message?.extendedTextMessage?.text;
|
|
6
|
+
const fake = createFakeContact(message);
|
|
7
|
+
|
|
8
|
+
// Extract args from the message text
|
|
9
|
+
let args = [];
|
|
10
|
+
if (text) {
|
|
11
|
+
// Split text by spaces and remove the command part
|
|
12
|
+
args = text.trim().split(/\s+/).slice(1);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
let targetJid = null;
|
|
16
|
+
|
|
17
|
+
// 1. If a link or JID is provided
|
|
18
|
+
if (args[0]) {
|
|
19
|
+
const input = args[0];
|
|
20
|
+
|
|
21
|
+
// Newsletter JID directly
|
|
22
|
+
if (input.endsWith('@newsletter')) {
|
|
23
|
+
targetJid = input;
|
|
24
|
+
}
|
|
25
|
+
// WhatsApp channel/newsletter link
|
|
26
|
+
else if (input.includes('whatsapp.com/channel/')) {
|
|
27
|
+
const code = input.split('/').pop().trim();
|
|
28
|
+
targetJid = `120363${code}@newsletter`;
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
return await sock.sendMessage(
|
|
32
|
+
chatId,
|
|
33
|
+
{
|
|
34
|
+
text: 'Invalid channel link or JID'
|
|
35
|
+
},
|
|
36
|
+
{ quoted: fake }
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
// 2. If no argument, use current chat JID
|
|
41
|
+
else {
|
|
42
|
+
targetJid = message.key.remoteJid;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// 3. Final validation
|
|
46
|
+
if (!targetJid.endsWith('@newsletter')) {
|
|
47
|
+
return await sock.sendMessage(
|
|
48
|
+
chatId,
|
|
49
|
+
{
|
|
50
|
+
text: 'This is not a WhatsApp channel/newsletter\n\nTip:\n.channeljid <channel link or JID>'
|
|
51
|
+
},
|
|
52
|
+
{ quoted: fake }
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// 4. Output ONLY the JID (clean & obvious)
|
|
57
|
+
await sock.sendMessage(
|
|
58
|
+
chatId,
|
|
59
|
+
{
|
|
60
|
+
text: `${targetJid}`
|
|
61
|
+
},
|
|
62
|
+
{ quoted: fake }
|
|
63
|
+
);
|
|
64
|
+
|
|
65
|
+
} catch (err) {
|
|
66
|
+
console.error('ChannelJID Error:', err);
|
|
67
|
+
const fake = createFakeContact(message);
|
|
68
|
+
|
|
69
|
+
await sock.sendMessage(
|
|
70
|
+
chatId,
|
|
71
|
+
{
|
|
72
|
+
text: 'Failed to fetch channel JID'
|
|
73
|
+
},
|
|
74
|
+
{ quoted: fake }
|
|
75
|
+
);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
module.exports = { chaneljidCommand };
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
const { createFakeContact, getBotName } = require('../../davelib/fakeContact');
|
|
2
|
+
|
|
3
|
+
async function channelidCommand(sock, chatId, message) {
|
|
4
|
+
const fake = createFakeContact(message);
|
|
5
|
+
|
|
6
|
+
const text = message.message?.conversation ||
|
|
7
|
+
message.message?.extendedTextMessage?.text || '';
|
|
8
|
+
|
|
9
|
+
const url = text.split(' ').slice(1).join(' ').trim();
|
|
10
|
+
|
|
11
|
+
if (!url) {
|
|
12
|
+
return sock.sendMessage(chatId, {
|
|
13
|
+
text: `✦ *Channel ID*\n\nUse: .channelid <link>\nExample: .channelid https://whatsapp.com/channel/0029VbApvFQ2Jl84lhONkc3k`
|
|
14
|
+
}, { quoted: fake });
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
if (!url.includes("https://whatsapp.com/channel/")) {
|
|
18
|
+
return sock.sendMessage(chatId, {
|
|
19
|
+
text: `✦ Invalid channel link`
|
|
20
|
+
}, { quoted: fake });
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
try {
|
|
24
|
+
const channelCode = url.split('https://whatsapp.com/channel/')[1];
|
|
25
|
+
|
|
26
|
+
// Try to get channel info
|
|
27
|
+
let channelId = `${channelCode}@newsletter`;
|
|
28
|
+
|
|
29
|
+
try {
|
|
30
|
+
const metadata = await sock.newsletterMetadata("invite", channelCode);
|
|
31
|
+
if (metadata && metadata.id) {
|
|
32
|
+
channelId = metadata.id;
|
|
33
|
+
}
|
|
34
|
+
} catch (error) {
|
|
35
|
+
console.error('Newsletter metadata error:', error);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
await sock.sendMessage(chatId, {
|
|
39
|
+
text: channelId
|
|
40
|
+
}, { quoted: fake });
|
|
41
|
+
|
|
42
|
+
} catch (error) {
|
|
43
|
+
console.error('ChannelID Error:', error);
|
|
44
|
+
await sock.sendMessage(chatId, {
|
|
45
|
+
text: `✦ Failed to get channel ID`
|
|
46
|
+
}, { quoted: fake });
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
module.exports = channelidCommand;
|