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.
Files changed (247) hide show
  1. package/Database/database.js +446 -0
  2. package/Database/migration.js +327 -0
  3. package/Database/pgSync.js +229 -0
  4. package/Database/settingsStore.js +305 -0
  5. package/config.js +32 -0
  6. package/dave.js +3063 -0
  7. package/davelib/antibadword.js +278 -0
  8. package/davelib/antilink.js +88 -0
  9. package/davelib/antilinkHelper.js +48 -0
  10. package/davelib/botConfig.js +71 -0
  11. package/davelib/connect4.js +111 -0
  12. package/davelib/converter.js +89 -0
  13. package/davelib/dicegame.js +114 -0
  14. package/davelib/exif.js +138 -0
  15. package/davelib/fakeContact.js +85 -0
  16. package/davelib/fontStyles.js +237 -0
  17. package/davelib/greetings.js +47 -0
  18. package/davelib/id.js +11 -0
  19. package/davelib/index.js +577 -0
  20. package/davelib/isAdmin.js +32 -0
  21. package/davelib/isBanned.js +12 -0
  22. package/davelib/isOwner.js +15 -0
  23. package/davelib/lightweight_store.js +169 -0
  24. package/davelib/messageConfig.js +15 -0
  25. package/davelib/messageHandler.js +87 -0
  26. package/davelib/myfunc.js +379 -0
  27. package/davelib/myfunc2.js +170 -0
  28. package/davelib/reactions.js +180 -0
  29. package/davelib/server.html +563 -0
  30. package/davelib/sticker.js +208 -0
  31. package/davelib/tempCleanup.js +53 -0
  32. package/davelib/tictactoe.js +104 -0
  33. package/davelib/uploadImage.js +100 -0
  34. package/davelib/uploader.js +110 -0
  35. package/davelib/welcome.js +100 -0
  36. package/davelib/wordchain.js +121 -0
  37. package/daveset.js +16 -0
  38. package/davexcore/ai/ai.js +100 -0
  39. package/davexcore/ai/aiGpt4.js +59 -0
  40. package/davexcore/ai/aimodels.js +284 -0
  41. package/davexcore/ai/aivideo.js +31 -0
  42. package/davexcore/ai/analyze.js +233 -0
  43. package/davexcore/ai/bard.js +101 -0
  44. package/davexcore/ai/bird.js +101 -0
  45. package/davexcore/ai/blackbox.js +30 -0
  46. package/davexcore/ai/character.js +80 -0
  47. package/davexcore/ai/copilot.js +58 -0
  48. package/davexcore/ai/dalle.js +39 -0
  49. package/davexcore/ai/davex.js +50 -0
  50. package/davexcore/ai/deepseek.js +96 -0
  51. package/davexcore/ai/grok.js +67 -0
  52. package/davexcore/ai/imagine.js +89 -0
  53. package/davexcore/ai/meta.js +82 -0
  54. package/davexcore/ai/mistral.js +101 -0
  55. package/davexcore/ai/perplexity.js +95 -0
  56. package/davexcore/ai/sora.js +44 -0
  57. package/davexcore/ai/speechwriter.js +46 -0
  58. package/davexcore/ai/vision.js +244 -0
  59. package/davexcore/ai/wormgpt.js +56 -0
  60. package/davexcore/anti/antiaudio.js +106 -0
  61. package/davexcore/anti/antibadword.js +313 -0
  62. package/davexcore/anti/antibug.js +156 -0
  63. package/davexcore/anti/anticall.js +219 -0
  64. package/davexcore/anti/antichart.js +280 -0
  65. package/davexcore/anti/antidelete.js +673 -0
  66. package/davexcore/anti/antideletestatus.js +535 -0
  67. package/davexcore/anti/antidemote.js +352 -0
  68. package/davexcore/anti/antidocument.js +105 -0
  69. package/davexcore/anti/antiedit.js +410 -0
  70. package/davexcore/anti/antifiles.js +109 -0
  71. package/davexcore/anti/antigroupmention.js +206 -0
  72. package/davexcore/anti/antiimage.js +105 -0
  73. package/davexcore/anti/antikick.js +125 -0
  74. package/davexcore/anti/antilink.js +237 -0
  75. package/davexcore/anti/antimention.js +143 -0
  76. package/davexcore/anti/antipromote.js +320 -0
  77. package/davexcore/anti/antisticker.js +105 -0
  78. package/davexcore/anti/antitag.js +191 -0
  79. package/davexcore/anti/antivideo.js +105 -0
  80. package/davexcore/anti/antiviewonce.js +396 -0
  81. package/davexcore/anti/groupanticall.js +262 -0
  82. package/davexcore/anti/mention.js +242 -0
  83. package/davexcore/automation/alwaysonline.js +226 -0
  84. package/davexcore/automation/autoReadReciepts.js +96 -0
  85. package/davexcore/automation/autoread.js +104 -0
  86. package/davexcore/automation/autorecording.js +197 -0
  87. package/davexcore/automation/autostatus.js +317 -0
  88. package/davexcore/automation/autotyping.js +197 -0
  89. package/davexcore/automation/chatbot.js +444 -0
  90. package/davexcore/automation/chatmanage.js +199 -0
  91. package/davexcore/automation/devReact.js +43 -0
  92. package/davexcore/automation/goodbye.js +181 -0
  93. package/davexcore/automation/greetings.js +154 -0
  94. package/davexcore/automation/welcome.js +187 -0
  95. package/davexcore/downloads/apk.js +157 -0
  96. package/davexcore/downloads/facebook.js +94 -0
  97. package/davexcore/downloads/gitclone.js +137 -0
  98. package/davexcore/downloads/igs.js +333 -0
  99. package/davexcore/downloads/instagram.js +133 -0
  100. package/davexcore/downloads/mediafire.js +144 -0
  101. package/davexcore/downloads/pinterest.js +38 -0
  102. package/davexcore/downloads/play.js +158 -0
  103. package/davexcore/downloads/saveStatus.js +3 -0
  104. package/davexcore/downloads/song.js +135 -0
  105. package/davexcore/downloads/spotify.js +133 -0
  106. package/davexcore/downloads/tiktok.js +167 -0
  107. package/davexcore/downloads/tiktokaudio.js +158 -0
  108. package/davexcore/downloads/video.js +188 -0
  109. package/davexcore/downloads/ytdl.js +252 -0
  110. package/davexcore/downloads/ytdocplay.js +130 -0
  111. package/davexcore/downloads/ytdocvideo.js +95 -0
  112. package/davexcore/downloads/yts.js +64 -0
  113. package/davexcore/games/connect4.js +267 -0
  114. package/davexcore/games/dice.js +286 -0
  115. package/davexcore/games/eightball.js +24 -0
  116. package/davexcore/games/hangman.js +60 -0
  117. package/davexcore/games/rps.js +25 -0
  118. package/davexcore/games/ship.js +36 -0
  119. package/davexcore/games/slot.js +21 -0
  120. package/davexcore/games/tictactoe.js +263 -0
  121. package/davexcore/games/trivia.js +46 -0
  122. package/davexcore/games/wordchain.js +242 -0
  123. package/davexcore/group/addmember.js +101 -0
  124. package/davexcore/group/ban.js +63 -0
  125. package/davexcore/group/blockUnblock.js +177 -0
  126. package/davexcore/group/clear.js +196 -0
  127. package/davexcore/group/creategroup.js +43 -0
  128. package/davexcore/group/demote.js +115 -0
  129. package/davexcore/group/disappear.js +67 -0
  130. package/davexcore/group/groupinfo.js +167 -0
  131. package/davexcore/group/groupmanage.js +133 -0
  132. package/davexcore/group/hidetag.js +108 -0
  133. package/davexcore/group/joinrequests.js +145 -0
  134. package/davexcore/group/kick.js +92 -0
  135. package/davexcore/group/kickall.js +63 -0
  136. package/davexcore/group/leave.js +38 -0
  137. package/davexcore/group/linkgroup.js +63 -0
  138. package/davexcore/group/mute.js +57 -0
  139. package/davexcore/group/online.js +117 -0
  140. package/davexcore/group/pmblocker.js +65 -0
  141. package/davexcore/group/promote.js +93 -0
  142. package/davexcore/group/resetlink.js +57 -0
  143. package/davexcore/group/staff.js +99 -0
  144. package/davexcore/group/tag.js +111 -0
  145. package/davexcore/group/tagadmins.js +88 -0
  146. package/davexcore/group/tagall.js +99 -0
  147. package/davexcore/group/tagnotadmin.js +92 -0
  148. package/davexcore/group/topmembers.js +202 -0
  149. package/davexcore/group/unban.js +64 -0
  150. package/davexcore/group/unmute.js +45 -0
  151. package/davexcore/group/warn.js +83 -0
  152. package/davexcore/group/warnings.js +26 -0
  153. package/davexcore/media/anime.js +130 -0
  154. package/davexcore/media/attp.js +127 -0
  155. package/davexcore/media/design.js +52 -0
  156. package/davexcore/media/emojimix.js +105 -0
  157. package/davexcore/media/getpp.js +108 -0
  158. package/davexcore/media/image.js +87 -0
  159. package/davexcore/media/imageedit.js +329 -0
  160. package/davexcore/media/img-blur.js +70 -0
  161. package/davexcore/media/meme.js +35 -0
  162. package/davexcore/media/pies.js +53 -0
  163. package/davexcore/media/quotesticker.js +153 -0
  164. package/davexcore/media/remini.js +126 -0
  165. package/davexcore/media/removebg.js +114 -0
  166. package/davexcore/media/setpp.js +65 -0
  167. package/davexcore/media/shazam.js +251 -0
  168. package/davexcore/media/simage.js +74 -0
  169. package/davexcore/media/sticker.js +134 -0
  170. package/davexcore/media/stickercrop.js +133 -0
  171. package/davexcore/media/stickertelegram.js +133 -0
  172. package/davexcore/media/take.js +76 -0
  173. package/davexcore/media/textmaker.js +106 -0
  174. package/davexcore/media/toAudio.js +180 -0
  175. package/davexcore/media/togif.js +33 -0
  176. package/davexcore/media/toimg.js +26 -0
  177. package/davexcore/media/tomp4.js +34 -0
  178. package/davexcore/media/tostatus.js +160 -0
  179. package/davexcore/media/tts.js +47 -0
  180. package/davexcore/media/viewonce.js +59 -0
  181. package/davexcore/media/vn.js +67 -0
  182. package/davexcore/media/vv2.js +3 -0
  183. package/davexcore/media/wallpaper.js +89 -0
  184. package/davexcore/media/wasted.js +57 -0
  185. package/davexcore/misc/compliment.js +93 -0
  186. package/davexcore/misc/dare.js +47 -0
  187. package/davexcore/misc/fact.js +14 -0
  188. package/davexcore/misc/flirt.js +26 -0
  189. package/davexcore/misc/goodnight.js +33 -0
  190. package/davexcore/misc/insult.js +281 -0
  191. package/davexcore/misc/joke.js +66 -0
  192. package/davexcore/misc/misc.js +200 -0
  193. package/davexcore/misc/quote.js +22 -0
  194. package/davexcore/misc/roseday.js +24 -0
  195. package/davexcore/misc/shayari.js +62 -0
  196. package/davexcore/misc/simp.js +47 -0
  197. package/davexcore/misc/stupid.js +51 -0
  198. package/davexcore/misc/truth.js +146 -0
  199. package/davexcore/owner/alive.js +67 -0
  200. package/davexcore/owner/bio.js +49 -0
  201. package/davexcore/owner/broadcast.js +74 -0
  202. package/davexcore/owner/chanel.js +79 -0
  203. package/davexcore/owner/channelid.js +50 -0
  204. package/davexcore/owner/clearsession.js +86 -0
  205. package/davexcore/owner/help.js +649 -0
  206. package/davexcore/owner/hijack.js +69 -0
  207. package/davexcore/owner/menuManage.js +173 -0
  208. package/davexcore/owner/menuSettings.js +1 -0
  209. package/davexcore/owner/owner.js +17 -0
  210. package/davexcore/owner/pair.js +160 -0
  211. package/davexcore/owner/pinchat.js +44 -0
  212. package/davexcore/owner/ping.js +65 -0
  213. package/davexcore/owner/profilepic.js +61 -0
  214. package/davexcore/owner/resetmenuimage.js +16 -0
  215. package/davexcore/owner/setGroupStatus.js +315 -0
  216. package/davexcore/owner/setbotconfig.js +306 -0
  217. package/davexcore/owner/setfont.js +79 -0
  218. package/davexcore/owner/setowner.js +144 -0
  219. package/davexcore/owner/setprefix.js +131 -0
  220. package/davexcore/owner/settings.js +98 -0
  221. package/davexcore/owner/startupwelcome.js +94 -0
  222. package/davexcore/owner/sudo.js +138 -0
  223. package/davexcore/owner/update.js +282 -0
  224. package/davexcore/tmp/1772020249097.jpg +0 -0
  225. package/davexcore/utility/bible.js +239 -0
  226. package/davexcore/utility/cleartmp.js +107 -0
  227. package/davexcore/utility/delete.js +182 -0
  228. package/davexcore/utility/encrypt.js +99 -0
  229. package/davexcore/utility/ethicalhacking.js +108 -0
  230. package/davexcore/utility/fetch.js +127 -0
  231. package/davexcore/utility/github.js +85 -0
  232. package/davexcore/utility/google.js +79 -0
  233. package/davexcore/utility/join.js +52 -0
  234. package/davexcore/utility/lastseen.js +67 -0
  235. package/davexcore/utility/location.js +106 -0
  236. package/davexcore/utility/lyrics.js +54 -0
  237. package/davexcore/utility/movie.js +66 -0
  238. package/davexcore/utility/news.js +37 -0
  239. package/davexcore/utility/sports.js +403 -0
  240. package/davexcore/utility/ss.js +63 -0
  241. package/davexcore/utility/tinyurl.js +83 -0
  242. package/davexcore/utility/translate.js +101 -0
  243. package/davexcore/utility/url.js +112 -0
  244. package/davexcore/utility/vcf.js +84 -0
  245. package/davexcore/utility/weather.js +162 -0
  246. package/index.js +994 -0
  247. package/package.json +64 -0
@@ -0,0 +1,26 @@
1
+ const fetch = require('node-fetch');
2
+ const { createFakeContact, getBotName } = require('../../davelib/fakeContact');
3
+
4
+ async function flirtCommand(sock, chatId, message) {
5
+ try {
6
+ const fakeContact = createFakeContact(message);
7
+ const shizokeys = 'shizo';
8
+ const res = await fetch(`https://shizoapi.onrender.com/api/texts/flirt?apikey=${shizokeys}`);
9
+
10
+ if (!res.ok) {
11
+ throw await res.text();
12
+ }
13
+
14
+ const json = await res.json();
15
+ const flirtMessage = json.result;
16
+
17
+ // Send the flirt message
18
+ await sock.sendMessage(chatId, { text: flirtMessage }, { quoted: fakeContact });
19
+ } catch (error) {
20
+ console.error('Error in flirt command:', error);
21
+ const fakeContact = createFakeContact(message);
22
+ await sock.sendMessage(chatId, { text: '❌ Failed to get flirt message. Please try again later!' }, { quoted: fakeContact });
23
+ }
24
+ }
25
+
26
+ module.exports = { flirtCommand };
@@ -0,0 +1,33 @@
1
+ const { createFakeContact, getBotName } = require('../../davelib/fakeContact');
2
+
3
+ const goodnightMessages = [
4
+ "Good night! May your dreams be filled with joy and peace.",
5
+ "Sleep tight! Tomorrow is a brand new day full of opportunities.",
6
+ "Wishing you a restful night and sweet dreams.",
7
+ "Good night! Let go of today's worries and rest well.",
8
+ "May the stars watch over you tonight. Sleep peacefully!",
9
+ "Good night! May you wake up refreshed and ready to conquer the day.",
10
+ "Rest your mind and body tonight. Sweet dreams!",
11
+ "Sending warm wishes for a cozy, peaceful night.",
12
+ "Good night! May your sleep be deep and your dreams be sweet.",
13
+ "Close your eyes and let the calm of the night embrace you. Good night!",
14
+ "Wishing you a night as wonderful as you are. Sleep well!",
15
+ "May tonight bring you the rest you deserve. Good night!",
16
+ "The stars are shining just for you tonight. Sweet dreams!",
17
+ "Good night! Let the moonlight guide you to beautiful dreams.",
18
+ "Time to recharge. Wishing you a peaceful and restful night!"
19
+ ];
20
+
21
+ async function goodnightCommand(sock, chatId, message) {
22
+ const fakeContact = createFakeContact(message);
23
+ const pushName = message.pushName || 'Friend';
24
+ try {
25
+ const randomMsg = goodnightMessages[Math.floor(Math.random() * goodnightMessages.length)];
26
+ await sock.sendMessage(chatId, { text: `${randomMsg}\n\nGood night, ${pushName}!` }, { quoted: fakeContact });
27
+ } catch (error) {
28
+ console.error('Error in goodnight command:', error);
29
+ await sock.sendMessage(chatId, { text: `Good night, ${pushName}! Sleep well and have sweet dreams!` }, { quoted: fakeContact });
30
+ }
31
+ }
32
+
33
+ module.exports = { goodnightCommand };
@@ -0,0 +1,281 @@
1
+ const { createFakeContact, getBotName } = require('../../davelib/fakeContact');
2
+ const insults = [
3
+ {
4
+ text: "You're like a cloud. When you disappear, it's a beautiful day!",
5
+ image: "https://images.unsplash.com/photo-1501630834273-4b5604d2ee31?w=500&h=500&fit=crop"
6
+ },
7
+ {
8
+ text: "You bring everyone so much joy when you leave the room!",
9
+ image: "https://images.unsplash.com/photo-1541417904950-b855846fe074?w=500&h=500&fit=crop"
10
+ },
11
+ {
12
+ text: "I'd agree with you, but then we'd both be wrong.",
13
+ image: "https://images.unsplash.com/photo-1594736797933-d0ea3ff8db41?w=500&h=500&fit=crop"
14
+ },
15
+ {
16
+ text: "You're not stupid; you just have bad luck thinking.",
17
+ image: "https://images.unsplash.com/photo-1571019613454-1cb2f99b2d8b?w=500&h=500&fit=crop"
18
+ },
19
+ {
20
+ text: "Your secrets are always safe with me. I never even listen to them.",
21
+ image: "https://images.unsplash.com/photo-1589652717521-10c0d092dea9?w=500&h=500&fit=crop"
22
+ },
23
+ {
24
+ text: "You're proof that even evolution takes a break sometimes.",
25
+ image: "https://images.unsplash.com/photo-1533738363-b7f9aef128ce?w=500&h=500&fit=crop"
26
+ },
27
+ {
28
+ text: "You have something on your chin... no, the third one down.",
29
+ image: "https://images.unsplash.com/photo-1552058544-f2b08422138a?w=500&h=500&fit=crop"
30
+ },
31
+ {
32
+ text: "You're like a software update. Whenever I see you, I think, 'Do I really need this right now?'",
33
+ image: "https://images.unsplash.com/photo-1556655848-f3a7049793bc?w=500&h=500&fit=crop"
34
+ },
35
+ {
36
+ text: "You bring everyone happiness... you know, when you leave.",
37
+ image: "https://images.unsplash.com/photo-1542362567-b07e54358753?w=500&h=500&fit=crop"
38
+ },
39
+ {
40
+ text: "You're like a penny—two-faced and not worth much.",
41
+ image: "https://images.unsplash.com/photo-1600028068385-5fd58c60f6ac?w=500&h=500&fit=crop"
42
+ },
43
+ {
44
+ text: "You're the human version of a participation trophy.",
45
+ image: "https://images.unsplash.com/photo-1511895426328-dc8714191300?w=500&h=500&fit=crop"
46
+ },
47
+ {
48
+ text: "If ignorance is bliss, you must be the happiest person alive.",
49
+ image: "https://images.unsplash.com/photo-1544725176-7c8e427d3a43?w=500&h=500&fit=crop"
50
+ },
51
+ {
52
+ text: "You have a face for radio and a voice for silent movies.",
53
+ image: "https://images.unsplash.com/photo-1571330735066-03aaa9429d89?w=500&h=500&fit=crop"
54
+ },
55
+ {
56
+ text: "You're like a Monday morning—nobody wants you around.",
57
+ image: "https://images.unsplash.com/photo-1441974231531-c6227db76b6e?w=500&h=500&fit=crop"
58
+ },
59
+ {
60
+ text: "Your personality is like a wet blanket—damp and suffocating.",
61
+ image: "https://images.unsplash.com/photo-1558618047-3c8c76ca7d13?w=500&h=500&fit=crop"
62
+ },
63
+ {
64
+ text: "You're not the sharpest tool in the shed, but at least you're a tool.",
65
+ image: "https://images.unsplash.com/photo-1586985288127-4c49caf13ac8?w=500&h=500&fit=crop"
66
+ },
67
+ {
68
+ text: "You're like a GPS with no signal—constantly lost and annoying.",
69
+ image: "https://images.unsplash.com/photo-1558618666-fcd25856cd8c?w=500&h=500&fit=crop"
70
+ },
71
+ {
72
+ text: "Your brain must be powered by a potato battery.",
73
+ image: "https://images.unsplash.com/photo-1592841200221-7ef6fa2c6b38?w=500&h=500&fit=crop"
74
+ },
75
+ {
76
+ text: "You're like a parking ticket—everyone hates seeing you.",
77
+ image: "https://images.unsplash.com/photo-1569263979103-3750d5c70d4d?w=500&h=500&fit=crop"
78
+ },
79
+ {
80
+ text: "You have the charm of a dead battery.",
81
+ image: "https://images.unsplash.com/photo-1546885642-6732a91620e2?w=500&h=500&fit=crop"
82
+ },
83
+ {
84
+ text: "You're like a screen door on a submarine—completely useless.",
85
+ image: "https://images.unsplash.com/photo-1544551763-46a013bb70d5?w=500&h=500&fit=crop"
86
+ },
87
+ {
88
+ text: "Your conversation skills are like a broken pencil—pointless.",
89
+ image: "https://images.unsplash.com/photo-1513475382585-d06e58bcb0e0?w=500&h=500&fit=crop"
90
+ },
91
+ {
92
+ text: "You're the reason why aliens won't talk to us.",
93
+ image: "https://images.unsplash.com/photo-1446776653964-20c1d3a81b06?w=500&h=500&fit=crop"
94
+ },
95
+ {
96
+ text: "You have the memory of a goldfish and the attention span of a squirrel.",
97
+ image: "https://images.unsplash.com/photo-1575783970733-1aaed45fecb8?w=500&h=500&fit=crop"
98
+ },
99
+ {
100
+ text: "You're like a bad app—always crashing at the worst times.",
101
+ image: "https://images.unsplash.com/photo-1512941937669-90a1b58e7e9c?w=500&h=500&fit=crop"
102
+ },
103
+ {
104
+ text: "Your jokes are so old, they have cobwebs.",
105
+ image: "https://images.unsplash.com/photo-1533090368676-1fd25485db88?w=500&h=500&fit=crop"
106
+ },
107
+ {
108
+ text: "You're like a vacuum cleaner—loud, annoying, and full of dirt.",
109
+ image: "https://images.unsplash.com/photo-1580399636394-3f5b5c53314a?w=500&h=500&fit=crop"
110
+ },
111
+ {
112
+ text: "You have the social skills of a tornado.",
113
+ image: "https://images.unsplash.com/photo-1508606572321-901ea443707f?w=500&h=500&fit=crop"
114
+ },
115
+ {
116
+ text: "You're like a bad haircut—impossible to ignore.",
117
+ image: "https://images.unsplash.com/photo-1560066984-138dadb4c035?w=500&h=500&fit=crop"
118
+ },
119
+ {
120
+ text: "Your ideas are like yesterday's news—old and irrelevant.",
121
+ image: "https://images.unsplash.com/photo-1504711434969-e33886168f5c?w=500&h=500&fit=crop"
122
+ },
123
+ {
124
+ text: "You're the human equivalent of a dial-up internet connection.",
125
+ image: "https://images.unsplash.com/photo-1558494949-ef010cbdcc31?w=500&h=500&fit=crop"
126
+ },
127
+ {
128
+ text: "You have the warmth of an iceberg and the charm of a tax audit.",
129
+ image: "https://images.unsplash.com/photo-1518709268805-4e9042af2176?w=500&h=500&fit=crop"
130
+ },
131
+ {
132
+ text: "You're like a bad sequel—unnecessary and disappointing.",
133
+ image: "https://images.unsplash.com/photo-1489599361624-1d6f0e7ddacc?w=500&h=500&fit=crop"
134
+ },
135
+ {
136
+ text: "Your brain is like a browser with 100 tabs open—nothing's loading.",
137
+ image: "https://images.unsplash.com/photo-1547658719-da2b51169166?w=500&h=500&fit=crop"
138
+ },
139
+ {
140
+ text: "You're the reason they put instructions on toothpaste.",
141
+ image: "https://images.unsplash.com/photo-1628076709546-89e5e6d5b9fb?w=500&h=500&fit=crop"
142
+ },
143
+ {
144
+ text: "You have the personality of a cardboard box.",
145
+ image: "https://images.unsplash.com/photo-1522543551254-efc0e2c8283f?w=500&h=500&fit=crop"
146
+ },
147
+ {
148
+ text: "You're like a weather forecast—usually wrong but still talking.",
149
+ image: "https://images.unsplash.com/photo-1504608524841-42fe6f032b4b?w=500&h=500&fit=crop"
150
+ },
151
+ {
152
+ text: "Your presence is like a pop-up ad—unwanted and irritating.",
153
+ image: "https://images.unsplash.com/photo-1563986768609-322da13575f3?w=500&h=500&fit=crop"
154
+ },
155
+ {
156
+ text: "You're like a broken record—repetitive and annoying.",
157
+ image: "https://images.unsplash.com/photo-1571330735066-03aaa9429d89?w=500&h=500&fit=crop"
158
+ },
159
+ {
160
+ text: "You have the timing of a traffic light that's always red.",
161
+ image: "https://images.unsplash.com/photo-1594736797933-d0ea3ff8db41?w=500&h=500&fit=crop"
162
+ },
163
+ {
164
+ text: "You're the human version of a loading screen—everyone's waiting for you to finish.",
165
+ image: "https://images.unsplash.com/photo-1589652717521-10c0d092dea9?w=500&h=500&fit=crop"
166
+ }
167
+ ];
168
+
169
+ // Fallback images in case primary ones fail
170
+ const fallbackImages = [
171
+ "https://images.unsplash.com/photo-1579546929662-711aa81148cf?w=500&h=500&fit=crop",
172
+ "https://images.unsplash.com/photo-1635070041078-e363dbe005cb?w=500&h=500&fit=crop",
173
+ "https://images.unsplash.com/photo-1550684376-efcbd6e3f031?w=500&h=500&fit=crop",
174
+ "https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?w=500&h=500&fit=crop"
175
+ ];
176
+
177
+ async function downloadImage(url) {
178
+ try {
179
+ const response = await fetch(url);
180
+ if (!response.ok) throw new Error('Failed to download image');
181
+ const buffer = await response.arrayBuffer();
182
+ return Buffer.from(buffer);
183
+ } catch (error) {
184
+ console.error('Error downloading image:', error);
185
+ return null;
186
+ }
187
+ }
188
+
189
+ async function insultCommand(sock, chatId, message) {
190
+ try {
191
+ if (!message || !chatId) {
192
+ console.log('Invalid message or chatId:', { message, chatId });
193
+ return;
194
+ }
195
+
196
+ let userToInsult;
197
+
198
+ // Check for mentioned users
199
+ if (message.message?.extendedTextMessage?.contextInfo?.mentionedJid?.length > 0) {
200
+ userToInsult = message.message.extendedTextMessage.contextInfo.mentionedJid[0];
201
+ }
202
+ // Check for replied message
203
+ else if (message.message?.extendedTextMessage?.contextInfo?.participant) {
204
+ userToInsult = message.message.extendedTextMessage.contextInfo.participant;
205
+ }
206
+
207
+ if (!userToInsult) {
208
+ await sock.sendMessage(chatId, {
209
+ text: 'Please mention someone or reply to their message to insult them!'
210
+ });
211
+ return;
212
+ }
213
+
214
+ const randomInsult = insults[Math.floor(Math.random() * insults.length)];
215
+ const username = userToInsult.split('@')[0];
216
+
217
+ // Add initial delay
218
+ await new Promise(resolve => setTimeout(resolve, 1000));
219
+
220
+ // Try to send with image first
221
+ try {
222
+ const imageBuffer = await downloadImage(randomInsult.image);
223
+
224
+ if (imageBuffer) {
225
+ await sock.sendMessage(chatId, {
226
+ image: imageBuffer,
227
+ caption: `Hey @${username}, ${randomInsult.text}`,
228
+ mentions: [userToInsult]
229
+ });
230
+ } else {
231
+ // Fallback to text only if image download fails
232
+ throw new Error('Image download failed');
233
+ }
234
+
235
+ } catch (imageError) {
236
+ console.log('Image sending failed, falling back to text:', imageError);
237
+
238
+ // Try with fallback image
239
+ const fallbackImageUrl = fallbackImages[Math.floor(Math.random() * fallbackImages.length)];
240
+ const fallbackImageBuffer = await downloadImage(fallbackImageUrl);
241
+
242
+ if (fallbackImageBuffer) {
243
+ await sock.sendMessage(chatId, {
244
+ image: fallbackImageBuffer,
245
+ caption: `Hey @${username}, ${randomInsult.text}`,
246
+ mentions: [userToInsult]
247
+ });
248
+ } else {
249
+ // Final fallback - text only
250
+ await sock.sendMessage(chatId, {
251
+ text: `Hey @${username}, ${randomInsult.text}`,
252
+ mentions: [userToInsult]
253
+ });
254
+ }
255
+ }
256
+
257
+ } catch (error) {
258
+ console.error('Error in insult command:', error);
259
+
260
+ if (error.data === 429) {
261
+ await new Promise(resolve => setTimeout(resolve, 2000));
262
+ try {
263
+ await sock.sendMessage(chatId, {
264
+ text: 'Rate limit exceeded. Please try again in a few seconds.'
265
+ });
266
+ } catch (retryError) {
267
+ console.error('Error sending retry message:', retryError);
268
+ }
269
+ } else {
270
+ try {
271
+ await sock.sendMessage(chatId, {
272
+ text: 'An error occurred while sending the insult. Please try again.'
273
+ });
274
+ } catch (sendError) {
275
+ console.error('Error sending error message:', sendError);
276
+ }
277
+ }
278
+ }
279
+ }
280
+
281
+ module.exports = { insultCommand };
@@ -0,0 +1,66 @@
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
+ // Fetch joke from API
8
+ const response = await axios.get('https://icanhazdadjoke.com/', {
9
+ headers: { Accept: 'application/json' }
10
+ });
11
+ const joke = response.data.joke;
12
+
13
+ // Random funny images related to jokes
14
+ const jokeImages = [
15
+ 'https://images.unsplash.com/photo-1611267254323-4db7b39c732c?w=500&q=80', // Laughing emoji
16
+ 'https://images.unsplash.com/photo-1516589178581-6cd7833ae3b2?w=500&q=80', // Comedy masks
17
+ 'https://images.unsplash.com/photo-1541336032412-2048a678540d?w=500&q=80', // People laughing
18
+ 'https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?w=500&q=80', // Funny face
19
+ 'https://images.unsplash.com/photo-1535223289827-42f1e9919769?w=500&q=80', // Comedy theater
20
+ 'https://images.unsplash.com/photo-1511795409834-ef04bbd61622?w=500&q=80', // Smiling faces
21
+ 'https://images.unsplash.com/photo-1542309667-2a115d1f54c6?w=500&q=80', // Standup comedy
22
+ 'https://images.unsplash.com/photo-1464207687429-7505649dae38?w=500&q=80' // Funny moment
23
+ ];
24
+
25
+ // Select random image
26
+ const randomImage = jokeImages[Math.floor(Math.random() * jokeImages.length)];
27
+
28
+ // Add joke reactions/buttons
29
+ const buttons = [
30
+ { buttonId: '.joke', buttonText: { displayText: 'Another Joke 😂' }, type: 1 },
31
+ { buttonId: '.pun', buttonText: { displayText: 'Puns 🎭' }, type: 1 },
32
+ { buttonId: '.meme', buttonText: { displayText: 'Memes 🤣' }, type: 1 }
33
+ ];
34
+
35
+ // Send image with joke as caption
36
+ await sock.sendMessage(chatId, {
37
+ image: { url: randomImage },
38
+ caption: `😂 *Dad Joke Alert!* 😂\n\n"${joke}"\n\n_😆 Hope that made you smile!_`,
39
+ buttons: buttons,
40
+ headerType: 1
41
+ }, { quoted: fakeContact });
42
+
43
+ } catch (error) {
44
+ console.error('Error fetching joke:', error);
45
+
46
+ // Fallback jokes in case API fails
47
+ const fallbackJokes = [
48
+ "Why don't scientists trust atoms? Because they make up everything!",
49
+ "Why did the scarecrow win an award? He was outstanding in his field!",
50
+ "Why don't eggs tell jokes? They'd crack each other up!",
51
+ "What do you call a fake noodle? An impasta!",
52
+ "Why did the math book look so sad? Because it had too many problems!"
53
+ ];
54
+
55
+ const randomJoke = fallbackJokes[Math.floor(Math.random() * fallbackJokes.length)];
56
+ const fallbackImage = 'https://images.unsplash.com/photo-1611267254323-4db7b39c732c?w=500&q=80';
57
+
58
+ await sock.sendMessage(chatId, {
59
+ image: { url: fallbackImage },
60
+ caption: `😂 *Dad Joke Alert!* 😂\n\n"${randomJoke}"\n\n_😆 API failed but here's a backup joke!_`,
61
+ buttons: [
62
+ { buttonId: '.joke', buttonText: { displayText: 'Try Again 🔄' }, type: 1 }
63
+ ]
64
+ }, { quoted: fakeContact });
65
+ }
66
+ };
@@ -0,0 +1,200 @@
1
+ const axios = require('axios');
2
+ const { downloadContentFromMessage } = require('@whiskeysockets/baileys');
3
+ const { uploadImage } = require('../../davelib/uploadImage');
4
+ const { createFakeContact, getBotName } = require('../../davelib/fakeContact');
5
+
6
+ async function getQuotedOrOwnImageUrl(sock, message) {
7
+ // 1) Quoted image (highest priority)
8
+ const quoted = message.message?.extendedTextMessage?.contextInfo?.quotedMessage;
9
+ if (quoted?.imageMessage) {
10
+ const stream = await downloadContentFromMessage(quoted.imageMessage, 'image');
11
+ const chunks = [];
12
+ for await (const chunk of stream) chunks.push(chunk);
13
+ const buffer = Buffer.concat(chunks);
14
+ return await uploadImage(buffer);
15
+ }
16
+
17
+ // 2) Image in the current message
18
+ if (message.message?.imageMessage) {
19
+ const stream = await downloadContentFromMessage(message.message.imageMessage, 'image');
20
+ const chunks = [];
21
+ for await (const chunk of stream) chunks.push(chunk);
22
+ const buffer = Buffer.concat(chunks);
23
+ return await uploadImage(buffer);
24
+ }
25
+
26
+ // 3) Mentioned or replied participant avatar
27
+ let targetJid;
28
+ const ctx = message.message?.extendedTextMessage?.contextInfo;
29
+ if (ctx?.mentionedJid?.length > 0) {
30
+ targetJid = ctx.mentionedJid[0];
31
+ } else if (ctx?.participant) {
32
+ targetJid = ctx.participant;
33
+ } else {
34
+ targetJid = message.key.participant || message.key.remoteJid;
35
+ }
36
+
37
+ try {
38
+ const url = await sock.profilePictureUrl(targetJid, 'image');
39
+ return url;
40
+ } catch {
41
+ return 'https://i.imgur.com/2wzGhpF.png';
42
+ }
43
+ }
44
+
45
+ async function handleHeart(sock, chatId, message) {
46
+ try {
47
+ const avatarUrl = await getQuotedOrOwnImageUrl(sock, message);
48
+ const url = `https://api.some-random-api.com/canvas/misc/heart?avatar=${encodeURIComponent(avatarUrl)}`;
49
+ const response = await axios.get(url, { responseType: 'arraybuffer' });
50
+ await sock.sendMessage(chatId, { image: Buffer.from(response.data) }, { quoted: fakeContact });
51
+ } catch (error) {
52
+ console.error('Error in misc heart:', error);
53
+ await sock.sendMessage(chatId, { text: '❌ Failed to create heart image. Try again later.' }, { quoted: fakeContact });
54
+ }
55
+ }
56
+
57
+ async function miscCommand(sock, chatId, message, args) {
58
+ const sub = (args[0] || '').toLowerCase();
59
+ const rest = args.slice(1);
60
+
61
+ async function simpleAvatarOnly(endpoint) {
62
+ const avatarUrl = await getQuotedOrOwnImageUrl(sock, message);
63
+ const url = `https://api.some-random-api.com/canvas/misc/${endpoint}?avatar=${encodeURIComponent(avatarUrl)}`;
64
+ const response = await axios.get(url, { responseType: 'arraybuffer' });
65
+ await sock.sendMessage(chatId, { image: Buffer.from(response.data) }, { quoted: fakeContact });
66
+ }
67
+
68
+ try {
69
+ switch (sub) {
70
+ case 'heart':
71
+ await simpleAvatarOnly('heart');
72
+ break;
73
+
74
+ case 'horny':
75
+ await simpleAvatarOnly('horny');
76
+ break;
77
+ case 'circle':
78
+ await simpleAvatarOnly('circle');
79
+ break;
80
+ case 'lgbt':
81
+ await simpleAvatarOnly('lgbt');
82
+ break;
83
+ case 'lied':
84
+ await simpleAvatarOnly('lied');
85
+ break;
86
+ case 'lolice':
87
+ await simpleAvatarOnly('lolice');
88
+ break;
89
+ case 'simpcard':
90
+ await simpleAvatarOnly('simpcard');
91
+ break;
92
+ case 'tonikawa':
93
+ await simpleAvatarOnly('tonikawa');
94
+ break;
95
+
96
+ case 'its-so-stupid': {
97
+ const dog = rest.join(' ').trim();
98
+ if (!dog) {
99
+ await sock.sendMessage(chatId, { text: 'Usage: .misc its-so-stupid <text>' }, { quoted: fakeContact });
100
+ return;
101
+ }
102
+ const avatarUrl = await getQuotedOrOwnImageUrl(sock, message);
103
+ const url = `https://api.some-random-api.com/canvas/misc/its-so-stupid?dog=${encodeURIComponent(dog)}&avatar=${encodeURIComponent(avatarUrl)}`;
104
+ const response = await axios.get(url, { responseType: 'arraybuffer' });
105
+ await sock.sendMessage(chatId, { image: Buffer.from(response.data) }, { quoted: fakeContact });
106
+ break;
107
+ }
108
+
109
+ case 'namecard': {
110
+ // .misc namecard username|birthday|description(optional)
111
+ const joined = rest.join(' ');
112
+ const [username, birthday, description] = joined.split('|').map(s => (s || '').trim());
113
+ if (!username || !birthday) {
114
+ await sock.sendMessage(chatId, { text: 'Usage: .misc namecard username|birthday|description(optional)' }, { quoted: fakeContact });
115
+ return;
116
+ }
117
+ const avatarUrl = await getQuotedOrOwnImageUrl(sock, message);
118
+ const params = new URLSearchParams({ username, birthday, avatar: avatarUrl });
119
+ if (description) params.append('description', description);
120
+ const url = `https://api.some-random-api.com/canvas/misc/namecard?${params.toString()}`;
121
+ const response = await axios.get(url, { responseType: 'arraybuffer' });
122
+ await sock.sendMessage(chatId, { image: Buffer.from(response.data) }, { quoted: fakeContact });
123
+ break;
124
+ }
125
+
126
+
127
+ case 'oogway':
128
+ case 'oogway2': {
129
+ const quote = rest.join(' ').trim();
130
+ if (!quote) {
131
+ await sock.sendMessage(chatId, { text: `Usage: .misc ${sub} <quote>` }, { quoted: fakeContact });
132
+ return;
133
+ }
134
+ const avatarUrl = await getQuotedOrOwnImageUrl(sock, message);
135
+ const url = `https://api.some-random-api.com/canvas/misc/${sub}?quote=${encodeURIComponent(quote)}&avatar=${encodeURIComponent(avatarUrl)}`;
136
+ const response = await axios.get(url, { responseType: 'arraybuffer' });
137
+ await sock.sendMessage(chatId, { image: Buffer.from(response.data) }, { quoted: fakeContact });
138
+ break;
139
+ }
140
+
141
+ case 'tweet': {
142
+ // .misc tweet displayname|username|comment|theme(optional: light/dark)
143
+ const joined = rest.join(' ');
144
+ const [displayname, username, comment, theme] = joined.split('|').map(s => (s || '').trim());
145
+ if (!displayname || !username || !comment) {
146
+ await sock.sendMessage(chatId, { text: 'Usage: .misc tweet displayname|username|comment|theme(optional light/dark)' }, { quoted: fakeContact });
147
+ return;
148
+ }
149
+ const avatarUrl = await getQuotedOrOwnImageUrl(sock, message);
150
+ const params = new URLSearchParams({ displayname, username, comment, avatar: avatarUrl });
151
+ if (theme) params.append('theme', theme);
152
+ const url = `https://api.some-random-api.com/canvas/misc/tweet?${params.toString()}`;
153
+ const response = await axios.get(url, { responseType: 'arraybuffer' });
154
+ await sock.sendMessage(chatId, { image: Buffer.from(response.data) }, { quoted: fakeContact });
155
+ break;
156
+ }
157
+
158
+ case 'youtube-comment': {
159
+ // .misc youtube-comment username|comment
160
+ const joined = rest.join(' ');
161
+ const [username, comment] = joined.split('|').map(s => (s || '').trim());
162
+ if (!username || !comment) {
163
+ await sock.sendMessage(chatId, { text: 'Usage: .misc youtube-comment username|comment' }, { quoted: fakeContact });
164
+ return;
165
+ }
166
+ const avatarUrl = await getQuotedOrOwnImageUrl(sock, message);
167
+ const params = new URLSearchParams({ username, comment, avatar: avatarUrl });
168
+ const url = `https://api.some-random-api.com/canvas/misc/youtube-comment?${params.toString()}`;
169
+ const response = await axios.get(url, { responseType: 'arraybuffer' });
170
+ await sock.sendMessage(chatId, { image: Buffer.from(response.data) }, { quoted: fakeContact });
171
+ break;
172
+ }
173
+ // Overlay endpoints
174
+ case 'comrade':
175
+ case 'gay':
176
+ case 'glass':
177
+ case 'jail':
178
+ case 'passed':
179
+ case 'triggered': {
180
+ const avatarUrl = await getQuotedOrOwnImageUrl(sock, message);
181
+ const overlay = sub; // same name for path
182
+ const url = `https://api.some-random-api.com/canvas/overlay/${overlay}?avatar=${encodeURIComponent(avatarUrl)}`;
183
+ const response = await axios.get(url, { responseType: 'arraybuffer' });
184
+ await sock.sendMessage(chatId, { image: Buffer.from(response.data) }, { quoted: fakeContact });
185
+ break;
186
+ }
187
+
188
+ default:
189
+ await sock.sendMessage(chatId, { text: 'Usage: .misc <heart|horny|circle|lgbt|lesbian|nonbinary|pansexual|transgender|lied|lolice|simpcard|tonikawa|its-so-stupid <text>|namecard u|b|d?|nobitches <text>|oogway <q>|oogway2 <q>|tweet dn|un|c|theme?|youtube-comment un|c>' }, { quoted: fakeContact });
190
+ break;
191
+ }
192
+ } catch (error) {
193
+ console.error('Error in misc command:', error);
194
+ await sock.sendMessage(chatId, { text: '❌ Failed to generate image. Check your parameters and try again.' }, { quoted: fakeContact });
195
+ }
196
+ }
197
+
198
+ module.exports = { miscCommand, handleHeart };
199
+
200
+
@@ -0,0 +1,22 @@
1
+ const fetch = require('node-fetch');
2
+ const { createFakeContact, getBotName } = require('../../davelib/fakeContact');
3
+
4
+ module.exports = async function quoteCommand(sock, chatId, message) {
5
+ try {
6
+ const shizokeys = 'shizo';
7
+ const res = await fetch(`https://shizoapi.onrender.com/api/texts/quotes?apikey=${shizokeys}`);
8
+
9
+ if (!res.ok) {
10
+ throw await res.text();
11
+ }
12
+
13
+ const json = await res.json();
14
+ const quoteMessage = json.result;
15
+
16
+ // Send the quote message
17
+ await sock.sendMessage(chatId, { text: quoteMessage }, { quoted: fakeContact });
18
+ } catch (error) {
19
+ console.error('Error in quote command:', error);
20
+ await sock.sendMessage(chatId, { text: '❌ Failed to get quote. Please try again later!' }, { quoted: fakeContact });
21
+ }
22
+ };
@@ -0,0 +1,24 @@
1
+ const fetch = require('node-fetch');
2
+ const { createFakeContact, getBotName } = require('../../davelib/fakeContact');
3
+
4
+ async function rosedayCommand(sock, chatId, message) {
5
+ try {
6
+
7
+ const res = await fetch(`https://api.princetechn.com/api/fun/roseday?apikey=prince`);
8
+
9
+ if (!res.ok) {
10
+ throw await res.text();
11
+ }
12
+
13
+ const json = await res.json();
14
+ const rosedayMessage = json.result;
15
+
16
+ // Send the roseday message
17
+ await sock.sendMessage(chatId, { text: rosedayMessage }, { quoted: fakeContact });
18
+ } catch (error) {
19
+ console.error('Error in roseday command:', error);
20
+ await sock.sendMessage(chatId, { text: '❌ Failed to get roseday quote. Please try again later!' }, { quoted: fakeContact });
21
+ }
22
+ }
23
+
24
+ module.exports = { rosedayCommand };