jsdecryptor 4.0.3 → 4.0.4

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 (113) hide show
  1. package/Database/database.js +1 -446
  2. package/Database/migration.js +1 -327
  3. package/Database/pgSync.js +1 -229
  4. package/Database/settingsStore.js +1 -305
  5. package/config.js +1 -32
  6. package/dave.js +1 -3063
  7. package/davelib/botConfig.js +1 -71
  8. package/davelib/greetings.js +1 -47
  9. package/davelib/id.js +1 -11
  10. package/davelib/index.js +1 -577
  11. package/davelib/isAdmin.js +1 -32
  12. package/davelib/isBanned.js +1 -12
  13. package/davelib/isOwner.js +1 -15
  14. package/davelib/messageConfig.js +1 -15
  15. package/davelib/messageHandler.js +1 -87
  16. package/davelib/reactions.js +1 -180
  17. package/davelib/welcome.js +1 -100
  18. package/daveset.js +1 -16
  19. package/davexcore/anti/antiaudio.js +1 -106
  20. package/davexcore/anti/antibadword.js +1 -313
  21. package/davexcore/anti/antibug.js +1 -156
  22. package/davexcore/anti/anticall.js +1 -219
  23. package/davexcore/anti/antichart.js +1 -280
  24. package/davexcore/anti/antidelete.js +1 -673
  25. package/davexcore/anti/antideletestatus.js +1 -535
  26. package/davexcore/anti/antidemote.js +1 -352
  27. package/davexcore/anti/antidocument.js +1 -105
  28. package/davexcore/anti/antiedit.js +1 -410
  29. package/davexcore/anti/antifiles.js +1 -109
  30. package/davexcore/anti/antigroupmention.js +1 -206
  31. package/davexcore/anti/antiimage.js +1 -105
  32. package/davexcore/anti/antikick.js +1 -125
  33. package/davexcore/anti/antilink.js +1 -237
  34. package/davexcore/anti/antimention.js +1 -143
  35. package/davexcore/anti/antipromote.js +1 -320
  36. package/davexcore/anti/antisticker.js +1 -105
  37. package/davexcore/anti/antitag.js +1 -191
  38. package/davexcore/anti/antivideo.js +1 -105
  39. package/davexcore/anti/antiviewonce.js +1 -396
  40. package/davexcore/anti/groupanticall.js +1 -262
  41. package/davexcore/anti/mention.js +1 -242
  42. package/davexcore/automation/alwaysonline.js +1 -226
  43. package/davexcore/automation/autoReadReciepts.js +1 -96
  44. package/davexcore/automation/autoread.js +1 -104
  45. package/davexcore/automation/autorecording.js +1 -197
  46. package/davexcore/automation/autostatus.js +1 -317
  47. package/davexcore/automation/autotyping.js +1 -197
  48. package/davexcore/automation/chatbot.js +1 -444
  49. package/davexcore/automation/chatmanage.js +1 -199
  50. package/davexcore/automation/devReact.js +1 -43
  51. package/davexcore/automation/goodbye.js +1 -181
  52. package/davexcore/automation/greetings.js +1 -154
  53. package/davexcore/automation/welcome.js +1 -187
  54. package/davexcore/group/addmember.js +1 -101
  55. package/davexcore/group/ban.js +1 -63
  56. package/davexcore/group/blockUnblock.js +1 -177
  57. package/davexcore/group/clear.js +1 -196
  58. package/davexcore/group/creategroup.js +1 -43
  59. package/davexcore/group/demote.js +1 -115
  60. package/davexcore/group/disappear.js +1 -67
  61. package/davexcore/group/groupinfo.js +1 -167
  62. package/davexcore/group/groupmanage.js +1 -133
  63. package/davexcore/group/hidetag.js +1 -108
  64. package/davexcore/group/joinrequests.js +1 -145
  65. package/davexcore/group/kick.js +1 -92
  66. package/davexcore/group/kickall.js +1 -63
  67. package/davexcore/group/leave.js +1 -38
  68. package/davexcore/group/linkgroup.js +1 -63
  69. package/davexcore/group/mute.js +1 -57
  70. package/davexcore/group/online.js +1 -117
  71. package/davexcore/group/pmblocker.js +1 -65
  72. package/davexcore/group/promote.js +1 -93
  73. package/davexcore/group/resetlink.js +1 -57
  74. package/davexcore/group/staff.js +1 -99
  75. package/davexcore/group/tag.js +1 -111
  76. package/davexcore/group/tagadmins.js +1 -88
  77. package/davexcore/group/tagall.js +1 -99
  78. package/davexcore/group/tagnotadmin.js +1 -92
  79. package/davexcore/group/topmembers.js +1 -202
  80. package/davexcore/group/unban.js +1 -64
  81. package/davexcore/group/unmute.js +1 -45
  82. package/davexcore/group/warn.js +1 -83
  83. package/davexcore/group/warnings.js +1 -26
  84. package/davexcore/owner/alive.js +1 -67
  85. package/davexcore/owner/bio.js +1 -49
  86. package/davexcore/owner/broadcast.js +1 -74
  87. package/davexcore/owner/chanel.js +1 -79
  88. package/davexcore/owner/channelid.js +1 -50
  89. package/davexcore/owner/clearsession.js +1 -86
  90. package/davexcore/owner/help.js +1 -649
  91. package/davexcore/owner/hijack.js +1 -69
  92. package/davexcore/owner/menuManage.js +1 -173
  93. package/davexcore/owner/menuSettings.js +1 -1
  94. package/davexcore/owner/owner.js +1 -17
  95. package/davexcore/owner/pair.js +1 -160
  96. package/davexcore/owner/pinchat.js +1 -44
  97. package/davexcore/owner/ping.js +1 -65
  98. package/davexcore/owner/profilepic.js +1 -61
  99. package/davexcore/owner/resetmenuimage.js +1 -16
  100. package/davexcore/owner/setGroupStatus.js +1 -315
  101. package/davexcore/owner/setbotconfig.js +1 -306
  102. package/davexcore/owner/setfont.js +1 -79
  103. package/davexcore/owner/setowner.js +1 -144
  104. package/davexcore/owner/setprefix.js +1 -131
  105. package/davexcore/owner/settings.js +1 -98
  106. package/davexcore/owner/startupwelcome.js +1 -94
  107. package/davexcore/owner/sudo.js +1 -138
  108. package/davexcore/owner/update.js +1 -282
  109. package/davexcore/utility/bible.js +1 -239
  110. package/davexcore/utility/encrypt.js +1 -99
  111. package/davexcore/utility/sports.js +1 -403
  112. package/index.js +1 -994
  113. package/package.json +1 -1
package/dave.js CHANGED
@@ -1,3063 +1 @@
1
- const path = require('path');
2
- const fs = require('fs');
3
- const chalk = require('chalk').default || require('chalk');
4
-
5
- // ========== TEMP FOLDER SETUP ==========
6
- const customTemp = path.join(process.cwd(), 'temp');
7
- if (!fs.existsSync(customTemp)) fs.mkdirSync(customTemp, { recursive: true });
8
- process.env.TMPDIR = customTemp;
9
- process.env.TEMP = customTemp;
10
- process.env.TMP = customTemp;
11
-
12
- // Clean temp folder every 1 hour (aggressive for free panels)
13
- setInterval(() => {
14
- fs.readdir(customTemp, (err, files) => {
15
- if (err) return;
16
- for (const file of files) {
17
- const filePath = path.join(customTemp, file);
18
- fs.stat(filePath, (err, stats) => {
19
- if (!err && Date.now() - stats.mtimeMs > 1 * 60 * 60 * 1000) {
20
- fs.unlink(filePath, () => {});
21
- }
22
- });
23
- }
24
- });
25
- console.log('🧹 Temp folder auto-cleaned');
26
- }, 1 * 60 * 60 * 1000);
27
-
28
- // Store original console.log (before any overrides from index.js)
29
- const originalConsoleLog = console.log;
30
-
31
- // ========== GROUP NAME & LID RESOLUTION CACHES ==========
32
- const groupNameCache = new Map();
33
- const GROUP_CACHE_TTL = 2 * 60 * 1000;
34
- const MAX_GROUP_CACHE = 25;
35
- setInterval(() => { if (groupNameCache.size > MAX_GROUP_CACHE) groupNameCache.clear(); }, 3 * 60 * 1000);
36
- async function getGroupName(sock, chatId) {
37
- const cached = groupNameCache.get(chatId);
38
- if (cached && Date.now() - cached.ts < GROUP_CACHE_TTL) return cached.name;
39
- try {
40
- const meta = await sock.groupMetadata(chatId);
41
- const name = meta?.subject || chatId.split('@')[0];
42
- groupNameCache.set(chatId, { name, ts: Date.now() });
43
- return name;
44
- } catch {
45
- return chatId.split('@')[0];
46
- }
47
- }
48
-
49
- const lidPhoneCache = new Map();
50
- const LID_CACHE_TTL = 5 * 60 * 1000;
51
- const MAX_LID_CACHE = 40;
52
- setInterval(() => { if (lidPhoneCache.size > MAX_LID_CACHE) lidPhoneCache.clear(); }, 5 * 60 * 1000);
53
- let lidGroupScanDone = false;
54
- let lidGroupScanTs = 0;
55
-
56
- function cacheLidPhone(lidNum, phoneNum) {
57
- if (!lidNum || !phoneNum || lidNum === phoneNum) return;
58
- if (phoneNum.includes('lid')) return;
59
- if (lidNum.length <= 15 && /^\d+$/.test(lidNum)) return;
60
- lidPhoneCache.set(lidNum, { phone: phoneNum, ts: Date.now() });
61
- }
62
-
63
- function isLidJid(jid) {
64
- if (!jid) return false;
65
- if (jid.includes('@lid')) return true;
66
- const num = jid.split('@')[0].split(':')[0];
67
- if (num.length > 15) return true;
68
- if (!/^\d+$/.test(num)) return true;
69
- return false;
70
- }
71
-
72
- async function resolvePhoneFromLid(sock, lidJid) {
73
- if (!lidJid) return null;
74
- const lidNum = lidJid.split('@')[0].split(':')[0];
75
-
76
- const cached = lidPhoneCache.get(lidNum);
77
- if (cached && Date.now() - cached.ts < LID_CACHE_TTL) return cached.phone;
78
-
79
- if (sock?.signalRepository?.lidMapping?.getPNForLID) {
80
- try {
81
- const formats = [
82
- lidJid,
83
- `${lidNum}:0@lid`,
84
- `${lidNum}@lid`
85
- ];
86
- for (const fmt of formats) {
87
- try {
88
- const pn = await sock.signalRepository.lidMapping.getPNForLID(fmt);
89
- if (pn) {
90
- const num = String(pn).split('@')[0].replace(/[^0-9]/g, '');
91
- if (num.length >= 7 && num.length <= 15 && num !== lidNum) {
92
- cacheLidPhone(lidNum, num);
93
- return num;
94
- }
95
- }
96
- } catch {}
97
- }
98
- } catch {}
99
- }
100
-
101
- if (!lidGroupScanDone || Date.now() - lidGroupScanTs > 30 * 60 * 1000) {
102
- try {
103
- const groups = await sock.groupFetchAllParticipating();
104
- for (const gid of Object.keys(groups)) {
105
- const participants = groups[gid].participants || [];
106
- for (const p of participants) {
107
- const pid = (p.id || '').split('@')[0].split(':')[0];
108
- const pLid = (p.lid || '').split('@')[0].split(':')[0];
109
-
110
- let phoneNum = null;
111
- if (pid && !pid.includes('lid') && pid.length >= 7 && pid.length <= 15 && /^\d+$/.test(pid)) {
112
- phoneNum = pid;
113
- }
114
-
115
- let lidVal = null;
116
- if (pLid && pLid.length >= 5) lidVal = pLid;
117
- if (!lidVal && (p.id || '').includes('@lid')) lidVal = pid;
118
- if (!lidVal && pid.length > 15) lidVal = pid;
119
-
120
- if (phoneNum && lidVal) {
121
- cacheLidPhone(lidVal, phoneNum);
122
- }
123
-
124
- if (lidVal && !phoneNum && sock?.signalRepository?.lidMapping?.getPNForLID) {
125
- try {
126
- const fullLid = p.lid || p.id;
127
- const pn = await sock.signalRepository.lidMapping.getPNForLID(fullLid);
128
- if (pn) {
129
- const num = String(pn).split('@')[0].replace(/[^0-9]/g, '');
130
- if (num.length >= 7 && num.length <= 15) {
131
- cacheLidPhone(lidVal, num);
132
- }
133
- }
134
- } catch {}
135
- }
136
- }
137
- }
138
- lidGroupScanDone = true;
139
- lidGroupScanTs = Date.now();
140
- } catch (e) {}
141
- }
142
-
143
- const resolved = lidPhoneCache.get(lidNum);
144
- if (resolved) return resolved.phone;
145
-
146
- if (sock?.onWhatsApp) {
147
- try {
148
- const results = await sock.onWhatsApp(lidJid);
149
- if (results?.[0]?.jid) {
150
- const num = results[0].jid.split('@')[0].replace(/[^0-9]/g, '');
151
- if (num.length >= 7 && num.length <= 15 && num !== lidNum) {
152
- cacheLidPhone(lidNum, num);
153
- return num;
154
- }
155
- }
156
- } catch {}
157
- }
158
-
159
- return lidNum;
160
- }
161
-
162
- async function resolveParticipantNumber(sock, participant) {
163
- if (!participant) return '';
164
- const num = participant.split('@')[0].split(':')[0];
165
- if (isLidJid(participant)) {
166
- const resolved = await resolvePhoneFromLid(sock, participant);
167
- return resolved || num;
168
- }
169
- return num;
170
- }
171
-
172
- // ========== GLITCH TEXT FUNCTION ==========
173
- const glitchText = (text) => {
174
- return chalk.hex('#00ffff').bold(text) + chalk.hex('#ff00ff')('_');
175
- };
176
-
177
- // ========== MODULE IMPORTS ==========
178
- const { getBotName, createFakeContact } = require('./davelib/fakeContact');
179
- const settings = require('./daveset');
180
- require('./config.js');
181
- const { isBanned } = require('./davelib/isBanned');
182
- const yts = require('yt-search');
183
- const { fetchBuffer, smsg, fetchJson, sleep, formatSize, randomKarakter } = require('./davelib/myfunc');
184
- const fetch = require('node-fetch');
185
- const ytdl = require('ytdl-core');
186
- const axios = require('axios');
187
- const ffmpeg = require('fluent-ffmpeg');
188
- const { jidDecode } = require('@whiskeysockets/baileys');
189
- const { isSudo } = require('./davelib/index');
190
- const isAdmin = require('./davelib/isAdmin');
191
-
192
- // Message Handler
193
- const {
194
- getMessageText,
195
- isEditedMessage,
196
- getEditedMessageText,
197
- extractCommand,
198
- shouldProcessEditedMessage
199
- } = require('./davelib/messageHandler');
200
-
201
- // ========== COMMAND IMPORTS ==========
202
-
203
- // === CORE & BOT MANAGEMENT ===
204
- const { getPrefix, handleSetPrefixCommand } = require('./davexcore/owner/setprefix');
205
- const { getOwnerName, handleSetOwnerCommand } = require('./davexcore/owner/setowner');
206
- const {
207
- setbotconfigCommand,
208
- setbotnameCommand,
209
- setmenuimageCommand
210
- } = require('./davexcore/owner/setbotconfig');
211
- const ownerCommand = require('./davexcore/owner/owner');
212
- const pingCommand = require('./davexcore/owner/ping');
213
- const aliveCommand = require('./davexcore/owner/alive');
214
- const updateCommand = require('./davexcore/owner/update');
215
- const settingsCommand = require('./davexcore/owner/settings');
216
- const { sudoCommand } = require('./davexcore/owner/sudo');
217
- const clearSessionCommand = require('./davexcore/owner/clearsession');
218
- const { menuManageCommand } = require('./davexcore/owner/menuManage');
219
- const helpCommand = require('./davexcore/owner/help');
220
- const bioCommand = require('./davexcore/owner/bio');
221
- const setfontCommand = require('./davexcore/owner/setfont');
222
- const { pinchatCommand, unpinchatCommand } = require('./davexcore/owner/pinchat');
223
- const disappearCommand = require('./davexcore/group/disappear');
224
-
225
- // === MODERATION COMMANDS ===
226
- const banCommand = require('./davexcore/group/ban');
227
- const unbanCommand = require('./davexcore/group/unban');
228
- const muteCommand = require('./davexcore/group/mute');
229
- const unmuteCommand = require('./davexcore/group/unmute');
230
- const kickCommand = require('./davexcore/group/kick');
231
- const warnCommand = require('./davexcore/group/warn');
232
- const warningsCommand = require('./davexcore/group/warnings');
233
- const { promoteCommand, handlePromotionEvent } = require('./davexcore/group/promote');
234
- const { demoteCommand, handleDemotionEvent } = require('./davexcore/group/demote');
235
- const { clearCommand } = require('./davexcore/group/clear');
236
- const kickAllCommand = require('./davexcore/group/kickall');
237
- const { blockCommand, unblockCommand, blocklistCommand } = require('./davexcore/group/blockUnblock');
238
- const { removeProfilePicCommand, setProfilePicPrivacyCommand } = require('./davexcore/owner/profilepic');
239
-
240
- // === GROUP MANAGEMENT ===
241
- const groupInfoCommand = require('./davexcore/group/groupinfo');
242
- const staffCommand = require('./davexcore/group/staff');
243
- const resetlinkCommand = require('./davexcore/group/resetlink');
244
- const linkgroupCommand = require('./davexcore/group/linkgroup');
245
- const creategroupCommand = require('./davexcore/group/creategroup');
246
- const leaveGroupCommand = require('./davexcore/group/leave');
247
- const {
248
- setGroupDescription,
249
- setGroupName,
250
- setGroupPhoto
251
- } = require('./davexcore/group/groupmanage');
252
- const { tagAllCommand } = require('./davexcore/group/tagall');
253
- const tagCommand = require('./davexcore/group/tag');
254
- const tagNotAdminCommand = require('./davexcore/group/tagnotadmin');
255
- const hideTagCommand = require('./davexcore/group/hidetag');
256
- const { addMemberCommand } = require('./davexcore/group/addmember');
257
-
258
- // === ANTI-FEATURES ===
259
- const { handleAntiLinkDetection, handleAntilinkCommand } = require('./davexcore/anti/antilink');
260
- const { handleAntiStatusMention, antigroupmentionCommand } = require('./davexcore/anti/antigroupmention');
261
- const { handleChartDetection, antichartCommand } = require('./davexcore/anti/antichart');
262
- const { handleAntitagCommand, handleTagDetection } = require('./davexcore/anti/antitag');
263
- const { handleAntiBadwordCommand, handleBadwordDetection, antibadwordCommand } = require('./davexcore/anti/antibadword');
264
- const { handleMentionDetection, mentionToggleCommand, setMentionCommand } = require('./davexcore/anti/mention');
265
- const { antimentionCommand, handleMentionDetection: handleNewMentionDetection } = require('./davexcore/anti/antimention');
266
- const { antipromoteCommand, handleAntipromote } = require('./davexcore/anti/antipromote');
267
- const { antidemoteCommand, handleAntidemote } = require('./davexcore/anti/antidemote');
268
- const { antibugCommand, handleBugDetection } = require('./davexcore/anti/antibug');
269
- const { antivideoCommand, handleVideoDetection } = require('./davexcore/anti/antivideo');
270
- const { antidocumentCommand, handleDocumentDetection } = require('./davexcore/anti/antidocument');
271
- const { antifilesCommand, handleFilesDetection } = require('./davexcore/anti/antifiles');
272
- const { antistickerCommand, handleStickerDetection } = require('./davexcore/anti/antisticker');
273
- const { antiimageCommand, handleImageDetection } = require('./davexcore/anti/antiimage');
274
- const { antiaudioCommand, handleAudioDetection } = require('./davexcore/anti/antiaudio');
275
- const { antikickCommand, handleAntikick, getGroupConfig: getAntikickConfig } = require('./davexcore/anti/antikick');
276
- const { getGroupConfig } = require('./Database/settingsStore');
277
- const { getBotMode, setBotMode } = require('./Database/database');
278
- const { handleAntideleteCommand, handleMessageRevocation, storeMessage } = require('./davexcore/anti/antidelete');
279
- const { antieditCommand, storeOriginalMessage, handleEditedMessage, handleMessageUpdate } = require('./davexcore/anti/antiedit');
280
- const { handleAntiviewonce, antiviewonceCommand } = require('./davexcore/anti/antiviewonce');
281
- const { handleStatusAntideleteCommand, handleStatusDeletion, storeStatusMessage } = require('./davexcore/anti/antideletestatus');
282
-
283
- // === AUTOMATION FEATURES ===
284
- const { autotypingCommand, isAutotypingEnabled, handleAutotypingForMessage } = require('./davexcore/automation/autotyping');
285
- const { autoreadCommand, isAutoreadEnabled, handleAutoread } = require('./davexcore/automation/autoread');
286
- const { autorecordingCommand, isAutorecordingEnabled, handleAutorecordingForMessage } = require('./davexcore/automation/autorecording');
287
- const { autoStatusCommand, handleStatusUpdate } = require('./davexcore/automation/autostatus');
288
- const { welcomeCommand, handleJoinEvent } = require('./davexcore/automation/welcome');
289
- const { goodbyeCommand, handleLeaveEvent } = require('./davexcore/automation/goodbye');
290
- const { handleChatbotCommand, handleChatbotResponse } = require('./davexcore/automation/chatbot');
291
- const { addCommandReaction, handleAreactCommand } = require('./davelib/reactions');
292
- const { incrementMessageCount, topMembers } = require('./davexcore/group/topmembers');
293
- const { pmblockerCommand } = require('./davexcore/group/pmblocker');
294
- const { anticallCommand, setcallmsgCommand, handleIncomingCall, readState: readAnticallState } = require('./davexcore/anti/anticall');
295
- const { groupanticallCommand, handleGroupCall } = require('./davexcore/anti/groupanticall');
296
- const { startupWelcomeCommand } = require('./davexcore/owner/startupwelcome');
297
- const { broadcastCommand } = require('./davexcore/owner/broadcast');
298
- const { alwaysonlineCommand, alwaysofflineCommand, initPresenceOnConnect } = require('./davexcore/automation/alwaysonline');
299
- const { pinCommand, unpinCommand, archiveCommand, unarchiveCommand, disappearingCommand } = require('./davexcore/automation/chatmanage');
300
- const { autoreadReceiptsCommand } = require('./davexcore/automation/autoReadReciepts');
301
- const lastseenCommand = require('./davexcore/utility/lastseen');
302
-
303
-
304
- // === MEDIA & ENTERTAINMENT ===
305
- const stickerCommand = require('./davexcore/media/sticker');
306
- const simageCommand = require('./davexcore/media/simage');
307
- const attpCommand = require('./davexcore/media/attp');
308
- const emojimixCommand = require('./davexcore/media/emojimix');
309
- const stickerTelegramCommand = require('./davexcore/media/stickertelegram');
310
- const stickercropCommand = require('./davexcore/media/stickercrop');
311
- const { qcCommand } = require('./davexcore/media/quotesticker');
312
- const ttsCommand = require('./davexcore/media/tts');
313
- const memeCommand = require('./davexcore/media/meme');
314
- const songCommand = require('./davexcore/downloads/song');
315
- const videoCommand = require('./davexcore/downloads/video');
316
- const playCommand = require('./davexcore/downloads/play');
317
- const { ytplayCommand, ytsongCommand } = require('./davexcore/downloads/ytdl');
318
- const ytsCommand = require('./davexcore/downloads/yts');
319
- const { tiktokCommand } = require('./davexcore/downloads/tiktok');
320
- const tiktokaudioCommand = require('./davexcore/downloads/tiktokaudio');
321
- const spotifyCommand = require('./davexcore/downloads/spotify');
322
- const ytdocvideoCommand = require('./davexcore/downloads/ytdocvideo');
323
- const ytdocplayCommand = require('./davexcore/downloads/ytdocplay');
324
- const shazamCommand = require('./davexcore/media/shazam');
325
- const instagramCommand = require('./davexcore/downloads/instagram');
326
- const { igsCommand } = require('./davexcore/downloads/igs');
327
- const facebookCommand = require('./davexcore/downloads/facebook');
328
- const movieCommand = require('./davexcore/utility/movie');
329
- const { animeCommand } = require('./davexcore/media/anime');
330
- const { piesCommand, piesAlias } = require('./davexcore/media/pies');
331
- const imagineCommand = require('./davexcore/ai/imagine');
332
- const soraCommand = require('./davexcore/ai/sora');
333
- const mediafireCommand = require('./davexcore/downloads/mediafire');
334
-
335
- // === AI & TOOLS ===
336
- const perplexityCommand = require('./davexcore/ai/perplexity');
337
- const aiCommand = require('./davexcore/ai/ai');
338
- const visionCommand = require('./davexcore/ai/vision');
339
- const metaiCommand = require('./davexcore/ai/meta');
340
- const grokCommand = require('./davexcore/ai/grok');
341
- const blackboxCommand = require('./davexcore/ai/blackbox');
342
- const birdCommand = require('./davexcore/ai/bird');
343
- const speechwriterCommand = require('./davexcore/ai/speechwriter');
344
- const mistralCommand = require('./davexcore/ai/mistral');
345
- const locationCommand = require('./davexcore/utility/location');
346
- const gpt4Command = require('./davexcore/ai/aiGpt4');
347
- const wormgptCommand = require('./davexcore/ai/wormgpt');
348
- const copilotCommand = require('./davexcore/ai/copilot');
349
- const { handleTranslateCommand } = require('./davexcore/utility/translate');
350
- // At the top with other imports
351
- const deepseekCommand = require('./davexcore/ai/deepseek');
352
- const { handleSsCommand } = require('./davexcore/utility/ss');
353
- const googleCommand = require('./davexcore/utility/google');
354
- const githubCommand = require('./davexcore/utility/github');
355
- const gitcloneCommand = require('./davexcore/downloads/gitclone');
356
- const apkCommand = require('./davexcore/downloads/apk');
357
- const urlCommand = require('./davexcore/utility/url');
358
- const { shortenUrlCommand } = require('./davexcore/utility/tinyurl');
359
- const { analyzeCommand } = require('./davexcore/ai/analyze');
360
- const encryptCommand = require('./davexcore/utility/encrypt');
361
- const fetchCommand = require('./davexcore/utility/fetch');
362
- const removebgCommand = require('./davexcore/media/removebg');
363
- const { reminiCommand } = require('./davexcore/media/remini');
364
- const { nightCommand, prettyCommand, uglyCommand } = require('./davexcore/media/imageedit');
365
- const blurCommand = require('./davexcore/media/img-blur');
366
- const textmakerCommand = require('./davexcore/media/textmaker');
367
- const characterCommand = require('./davexcore/ai/character');
368
- const wastedCommand = require('./davexcore/media/wasted');
369
- const setProfilePicture = require('./davexcore/media/setpp');
370
- const getppCommand = require('./davexcore/media/getpp');
371
- const viewOnceCommand = require('./davexcore/media/viewonce');
372
- const toAudioCommand = require('./davexcore/media/toAudio');
373
- const setGroupStatusCommand = require('./davexcore/owner/setGroupStatus');
374
- const imageCommand = require('./davexcore/media/image');
375
- const hijackCommand = require('./davexcore/owner/hijack');
376
-
377
- // === GAMES & FUN ===
378
- const { startHangman, guessLetter } = require('./davexcore/games/hangman');
379
- const { startTrivia, answerTrivia } = require('./davexcore/games/trivia');
380
- const { tictactoeCommand, tictactoeAICommand, handleTicTacToeMove, handleTicTacToeJoin, tictactoeEndCommand } = require('./davexcore/games/tictactoe');
381
- const { connectFourCommand, handleConnectFourMove } = require('./davexcore/games/connect4');
382
- const { wcgCommand, wcgAICommand, wcgBeginCommand, wcgEndCommand, wcgScoresCommand, handleWcgJoin, handleWcgWord, hasWcgGame, hasWaitingWcgGame } = require('./davexcore/games/wordchain');
383
- const { diceCommand, diceAICommand, handleDiceJoin, handleDiceBegin, handleDiceRoll, diceEndCommand, hasDiceGame } = require('./davexcore/games/dice');
384
- const { acceptCommand, rejectCommand, acceptAllCommand, rejectAllCommand, listRequestsCommand } = require('./davexcore/group/joinrequests');
385
- const tagAdminsCommand = require('./davexcore/group/tagadmins');
386
- const onlineCommand = require('./davexcore/group/online');
387
- const jokeCommand = require('./davexcore/misc/joke');
388
- const quoteCommand = require('./davexcore/misc/quote');
389
- const factCommand = require('./davexcore/misc/fact');
390
- const { complimentCommand } = require('./davexcore/misc/compliment');
391
- const { insultCommand } = require('./davexcore/misc/insult');
392
- const { eightBallCommand } = require('./davexcore/games/eightball');
393
- const { lyricsCommand } = require('./davexcore/utility/lyrics');
394
- const { dareCommand } = require('./davexcore/misc/dare');
395
- const { truthCommand } = require('./davexcore/misc/truth');
396
- const { flirtCommand } = require('./davexcore/misc/flirt');
397
- const shipCommand = require('./davexcore/games/ship');
398
- const { simpCommand } = require('./davexcore/misc/simp');
399
- const { stupidCommand } = require('./davexcore/misc/stupid');
400
- const pairCommand = require('./davexcore/owner/pair');
401
-
402
- // === UTILITIES ===
403
- const deleteCommand = require('./davexcore/utility/delete');
404
- const weatherCommand = require('./davexcore/utility/weather');
405
- const newsCommand = require('./davexcore/utility/news');
406
- const channelidCommand = require('./davexcore/owner/channelid');
407
- const { chaneljidCommand } = require('./davexcore/owner/chanel');
408
- const vcfCommand = require('./davexcore/utility/vcf');
409
- const wallpaperCommand = require('./davexcore/media/wallpaper');
410
- const takeCommand = require('./davexcore/media/take');
411
- const clearTmpCommand = require('./davexcore/utility/cleartmp');
412
- const { tostatusCommand } = require('./davexcore/media/tostatus');
413
- const saveStatusCommand = require('./davexcore/downloads/saveStatus');
414
- const vv2Command = require('./davexcore/media/vv2');
415
- const { vnCommand } = require('./davexcore/media/vn');
416
-
417
- // === MISC COMMANDS ===
418
- const { miscCommand } = require('./davexcore/misc/misc');
419
- const { goodnightCommand } = require('./davexcore/misc/goodnight');
420
- const { shayariCommand } = require('./davexcore/misc/shayari');
421
- const { rosedayCommand } = require('./davexcore/misc/roseday');
422
-
423
- // === SPORTS ===
424
- const {
425
- eplStandingsCommand,
426
- bundesligaStandingsCommand,
427
- laligaStandingsCommand,
428
- serieAStandingsCommand,
429
- ligue1StandingsCommand,
430
- matchesCommand
431
- } = require('./davexcore/utility/sports');
432
-
433
- // === RELIGIOUS ===
434
- const {
435
- bibleCommand,
436
- bibleListCommand,
437
- quranCommand
438
- } = require('./davexcore/utility/bible');
439
-
440
- // === DEV REACT ===
441
- const handleDevReact = require('./davexcore/automation/devReact');
442
-
443
- // === NEW COMMANDS ===
444
- const joinCommand = require('./davexcore/utility/join');
445
- const davexCommand = require('./davexcore/ai/davex');
446
- const dalleCommand = require('./davexcore/ai/dalle');
447
- const bardCommand = require('./davexcore/ai/bard');
448
- const { llamaCommand, mixtralCommand, qwenCommand, claudeCommand, gpt4oCommand, gemmaCommand } = require('./davexcore/ai/aimodels');
449
- const aivideoCommand = require('./davexcore/ai/aivideo');
450
- const { goodmorningCommand, goodafternoonCommand, goodeveningCommand } = require('./davexcore/automation/greetings');
451
- const { logoCommand, carbonCommand } = require('./davexcore/media/design');
452
- const { tomp4Command } = require('./davexcore/media/tomp4');
453
- const { togifCommand } = require('./davexcore/media/togif');
454
- const toimgCommand = require('./davexcore/media/toimg');
455
- const { ipLookupCommand, whoIsCommand, reverseipCommand } = require('./davexcore/utility/ethicalhacking');
456
- const resetMenuImageCommand = require('./davexcore/owner/resetmenuimage');
457
- const pinterestCommand = require('./davexcore/downloads/pinterest');
458
- const rpsCommand = require('./davexcore/games/rps');
459
- const slotCommand = require('./davexcore/games/slot');
460
-
461
- // ========== GLOBAL SETTINGS ==========
462
- global.packname = settings?.packname || "DAVE-X";
463
- global.author = settings?.author || "DAVE-X BOT";
464
- global.channelLink = "https://whatsapp.com/channel/0029VbApvFQ2Jl84lhONkc3k";
465
- global.ytchanel = "";
466
-
467
- const channelInfo = {};
468
-
469
- // Override console.log with glitch frame for message logging
470
- console.log = function(...args) {
471
- // Skip if it's our custom logs (to avoid recursion)
472
- if (args[0] && typeof args[0] === 'string' && args[0].includes('┌─────────────────')) {
473
- originalConsoleLog.apply(console, args);
474
- return;
475
- }
476
-
477
- // Check if this is a message/command log
478
- const message = args.join(' ');
479
- if (message.includes('[CMD]') || message.includes('[MSG]')) {
480
- // These are handled separately in the message handler
481
- originalConsoleLog.apply(console, args);
482
- } else {
483
- originalConsoleLog.apply(console, args);
484
- }
485
- };
486
-
487
- // ========== MESSAGE HANDLER ==========
488
- async function handleMessages(sock, messageUpdate, printLog) {
489
- try {
490
- global.sock = sock;
491
-
492
- const { messages, type } = messageUpdate;
493
- if (type !== 'notify') return;
494
-
495
- const message = messages[0];
496
- if (!message?.message) return;
497
-
498
- if (!message._editedCommandOnly) {
499
- // Handle automation features
500
- await handleAutoread(sock, message);
501
- await handleDevReact(sock, message);
502
-
503
- // Store messages for anti-features
504
- if (message.message) {
505
- storeMessage(sock, message);
506
- await storeStatusMessage(sock, message);
507
- await handleAntiviewonce(sock, message);
508
- }
509
-
510
- // Store for antiedit tracking (edits handled via messages.update in index.js)
511
- storeOriginalMessage(message);
512
-
513
- // Handle status deletions
514
- await handleStatusDeletion(sock, message);
515
-
516
- if (message.message?.protocolMessage?.type === 14) {
517
- const editUpdate = {
518
- key: message.message.protocolMessage.key || message.key,
519
- update: { message: message.message }
520
- };
521
- await handleEditedMessage(sock, editUpdate);
522
- const _editedText = getEditedMessageText(message);
523
- const _prefix = getPrefix();
524
- const _isCommand = _editedText && (_prefix === '' || _editedText.startsWith(_prefix));
525
- if (!_isCommand) return;
526
- }
527
-
528
- if (message.message?.protocolMessage?.type === 0) {
529
- await handleMessageRevocation(sock, message);
530
- return;
531
- }
532
- }
533
-
534
- const chatId = message.key.remoteJid;
535
- const senderId = message.key.participant || message.key.remoteJid;
536
- let senderNumber = (senderId || '').split(':')[0].split('@')[0];
537
-
538
- if (isLidJid(senderId)) {
539
- try {
540
- const resolved = await resolvePhoneFromLid(sock, senderId);
541
- if (resolved && resolved !== senderNumber && /^\d{7,15}$/.test(resolved)) {
542
- senderNumber = resolved;
543
- }
544
- } catch {}
545
- }
546
-
547
- const pushName = message.pushName || senderNumber;
548
-
549
- const prefix = getPrefix();
550
- const isPrefixless = prefix === '';
551
- const isGroup = chatId.endsWith('@g.us');
552
- const senderIsSudo = await isSudo(senderId);
553
-
554
- const msgType = Object.keys(message.message || {}).find(k =>
555
- k !== 'messageContextInfo' && k !== 'senderKeyDistributionMessage'
556
- ) || 'unknown';
557
-
558
- let userMessage = getMessageText(message);
559
-
560
- // Check for edited messages
561
- if (shouldProcessEditedMessage(message, prefix)) {
562
- const editedText = getEditedMessageText(message);
563
- if (editedText) {
564
- userMessage = editedText;
565
- console.log(chalk.cyan(`[EDIT] Processed edited message: ${userMessage}`));
566
- }
567
- }
568
-
569
- let groupName = '';
570
- if (isGroup) {
571
- groupName = await getGroupName(sock, chatId);
572
- }
573
-
574
- // ========== GLITCH FRAME LOGGING FOR EVERY MESSAGE ==========
575
- if (message.message) {
576
- const mtype = Object.keys(message.message)[0].replace('Message', '').replace('ExtendedText', 'Text');
577
- const messageContent = userMessage || mtype || 'Unknown';
578
-
579
- console.log(chalk.bgHex('#0a0a0a').hex('#00ff00')('┌───────────────── MESSAGE ─────────────────┐'));
580
- console.log(chalk.bgHex('#0a0a0a').hex('#ff00ff')(` ⚡ ${glitchText('INCOMING TRANSMISSION')}`));
581
- console.log(chalk.bgHex('#0a0a0a').hex('#00ffff')('├─────────────────────────────────────────────┤'));
582
-
583
- const entries = [
584
- ['🕐', 'TIMESTAMP', new Date().toLocaleString()],
585
- ['📡', 'CONTENT', messageContent.substring(0, 50) + (messageContent.length > 50 ? '...' : '')],
586
- ['👤', 'USER', pushName],
587
- ['🔢', 'NUMBER', `+${senderNumber}`], // Shows real number with + prefix
588
- ...(isGroup ? [
589
- ['👥', 'GROUP', groupName],
590
- ['🔗', 'GROUP_ID', chatId.split('@')[0]]
591
- ] : [
592
- ['💬', 'CHAT', 'PRIVATE']
593
- ]),
594
- ['📱', 'TYPE', mtype]
595
- ];
596
-
597
- entries.forEach(([icon, label, value]) => {
598
- console.log(
599
- chalk.bgHex('#0a0a0a').hex('#ffff00')(` ${icon} `) +
600
- chalk.bgHex('#0a0a0a').hex('#00ff00')(`${label}:`) +
601
- chalk.bgHex('#0a0a0a').hex('#ffffff')(` ${value}`)
602
- );
603
- });
604
-
605
- console.log(chalk.bgHex('#0a0a0a').hex('#00ff00')('└─────────────────────────────────────────────┘\n'));
606
- }
607
-
608
- const fake = createFakeContact(message);
609
-
610
- // Check bot mode access
611
- try {
612
- const botMode = getBotMode();
613
- if (botMode === 'group' && !isGroup) return;
614
- if (botMode === 'pm' && isGroup) return;
615
- if (botMode === 'private' && !message.key.fromMe && !senderIsSudo) return;
616
- } catch (error) {
617
- // Non-fatal — default to allowing all messages
618
- }
619
-
620
- // Check if user is banned
621
- if (isBanned(senderId) && !userMessage.startsWith(`${prefix}unban`)) {
622
- if (Math.random() < 0.1) {
623
- await sock.sendMessage(chatId, {
624
- text: 'You are banned from using the bot. Contact an admin to get unbanned.',
625
- ...channelInfo
626
- });
627
- }
628
- return;
629
- }
630
-
631
- // Handle game moves (Tic Tac Toe & Connect Four)
632
- if (/^[1-9]$/.test(userMessage)) {
633
- const tttResult = await handleTicTacToeMove(sock, chatId, senderId, userMessage);
634
- if (!tttResult && parseInt(userMessage) <= 7) {
635
- await handleConnectFourMove(sock, chatId, senderId, userMessage);
636
- }
637
- }
638
-
639
- // Handle Word Chain game words (single words during active game)
640
- if (hasWcgGame && hasWcgGame(chatId) && /^[a-zA-Z]+$/.test(userMessage.trim())) {
641
- await handleWcgWord(sock, chatId, senderId, userMessage.trim(), fake);
642
- }
643
-
644
- // Increment message count for top members
645
- if (!message.key.fromMe && !message._editedCommandOnly) incrementMessageCount(chatId, senderId);
646
-
647
- // ====== ANTI FEATURES DETECTION ======
648
- if (isGroup) {
649
- // Run anti-link detection
650
- await handleAntiLinkDetection(sock, message);
651
-
652
- // Run anti status mention detection
653
- await handleAntiStatusMention(sock, message);
654
-
655
- // Check message type for anti-features
656
- const isSticker = message.message?.stickerMessage;
657
- const isImage = message.message?.imageMessage;
658
- const isVideo = message.message?.videoMessage;
659
- const isAudio = message.message?.audioMessage || message.message?.pttMessage;
660
- const isDocument = message.message?.documentMessage;
661
- const hasText = userMessage && userMessage.trim() !== '';
662
-
663
- // Anti-sticker detection
664
- if (isSticker) {
665
- await handleStickerDetection(sock, chatId, message, senderId);
666
- }
667
-
668
- // Anti-image detection
669
- if (isImage) {
670
- await handleImageDetection(sock, chatId, message, senderId);
671
- }
672
-
673
- // Anti-video detection
674
- if (isVideo) {
675
- await handleVideoDetection(sock, chatId, message, senderId);
676
- }
677
-
678
- // Anti-audio detection
679
- if (isAudio) {
680
- await handleAudioDetection(sock, chatId, message, senderId);
681
- }
682
-
683
- // Anti-document detection
684
- if (isDocument) {
685
- await handleDocumentDetection(sock, chatId, message, senderId);
686
- }
687
-
688
- // Anti-files detection (for any file)
689
- if (isSticker || isImage || isVideo || isAudio || isDocument) {
690
- await handleFilesDetection(sock, chatId, message, senderId);
691
- }
692
-
693
- // ANTICHART DETECTION - runs on ALL message types (once)
694
- await handleChartDetection(sock, chatId, message, senderId);
695
-
696
- // Bug detection runs on ALL message types (not just text)
697
- await handleBugDetection(sock, chatId, message, senderId);
698
-
699
- // Run text-based detections
700
- if (hasText) {
701
- await handleBadwordDetection(sock, chatId, message, userMessage, senderId);
702
- await handleNewMentionDetection(sock, chatId, message, senderId);
703
- }
704
- }
705
- // ====== END ANTI FEATURES DETECTION ======
706
-
707
- // PM Blocker check
708
- if (!isGroup && !message.key.fromMe && !senderIsSudo) {
709
- try {
710
- const pmState = readPmBlockerState();
711
- if (pmState.enabled) {
712
- await sock.sendMessage(chatId, { text: pmState.message || 'Private messages are blocked. Please contact the owner in groups only.' });
713
- try { await sock.updateBlockStatus(chatId, 'block'); } catch (e) { }
714
- return;
715
- }
716
- } catch (e) { }
717
- }
718
-
719
- // Auto typing and recording features
720
- if (isAutotypingEnabled()) {
721
- await handleAutotypingForMessage(sock, chatId);
722
- }
723
-
724
- if (isAutorecordingEnabled()) {
725
- await handleAutorecordingForMessage(sock, chatId);
726
- }
727
-
728
- if (userMessage) {
729
- const lowerMsg = userMessage.trim().toLowerCase();
730
- if (lowerMsg === 'resetprefix' || lowerMsg === 'getprefix' || lowerMsg === 'prefix') {
731
- const currentPrefix = getPrefix() || '.';
732
- const botName = getBotName();
733
- const isOwner = message.key.fromMe || senderId === `${settings.ownerNumber}@s.whatsapp.net` || senderIsSudo;
734
- if (lowerMsg === 'resetprefix' && isOwner) {
735
- const { setPrefix } = require('./davexcore/owner/setprefix');
736
- setPrefix('.');
737
- await sock.sendMessage(chatId, { text: `*${botName}*\nPrefix has been reset to: .` }, { quoted: fake });
738
- } else {
739
- await sock.sendMessage(chatId, { text: `*${botName}*\nCurrent prefix: ${currentPrefix === '' ? 'None (prefixless)' : currentPrefix}\n\nType "resetprefix" to reset to default (.)` }, { quoted: fake });
740
- }
741
- return;
742
- }
743
- }
744
-
745
- // Extract command
746
- let command, args, fullArgs;
747
- if (userMessage) {
748
- const extracted = extractCommand(userMessage, prefix);
749
- command = extracted.command;
750
- args = extracted.args;
751
- fullArgs = extracted.fullArgs;
752
-
753
- if (command) {
754
- const chatLabel = isGroup ? chatId.split('@')[0] : 'DM';
755
- const typeLabel = msgType.replace('Message', '').replace('extendedText', 'text');
756
- const cmdLine = `${prefix}${command}${fullArgs ? ' ' + fullArgs.substring(0, 50) + (fullArgs.length > 50 ? '...' : '') : ''}`;
757
-
758
- // Command log with glitch frame
759
- console.log(chalk.bgHex('#0a0a0a').hex('#00ff00')('┌───────────────── COMMAND ─────────────────┐'));
760
- console.log(chalk.bgHex('#0a0a0a').hex('#ff00ff')(` ⚡ ${glitchText('COMMAND EXECUTED')}`));
761
- console.log(chalk.bgHex('#0a0a0a').hex('#00ffff')('├─────────────────────────────────────────────┤'));
762
-
763
- const cmdEntries = [
764
- ['🕐', 'TIME', new Date().toLocaleString()],
765
- ['⚡', 'COMMAND', `${prefix}${command}`],
766
- ['📝', 'ARGS', fullArgs || 'None'],
767
- ['👤', 'USER', pushName],
768
- ['🔢', 'NUMBER', `+${senderNumber}`],
769
- ['📍', 'CHAT', chatLabel],
770
- ['📱', 'TYPE', typeLabel]
771
- ];
772
-
773
- cmdEntries.forEach(([icon, label, value]) => {
774
- console.log(
775
- chalk.bgHex('#0a0a0a').hex('#ffff00')(` ${icon} `) +
776
- chalk.bgHex('#0a0a0a').hex('#00ff00')(`${label}:`) +
777
- chalk.bgHex('#0a0a0a').hex('#ffffff')(` ${value}`)
778
- );
779
- });
780
-
781
- console.log(chalk.bgHex('#0a0a0a').hex('#00ff00')('└─────────────────────────────────────────────┘\n'));
782
- }
783
- }
784
-
785
- // If no command but has text, handle chatbot/tag detection
786
- if (!command && userMessage) {
787
- if (isGroup) {
788
- await handleAntiLinkDetection(sock, message);
789
- await handleChatbotResponse(sock, chatId, message, userMessage, senderId);
790
- await handleTagDetection(sock, message);
791
- await handleMentionDetection(sock, chatId, message);
792
- }
793
- return;
794
- }
795
-
796
- if (!command) return;
797
-
798
- // Define command categories
799
- const adminCommands = [
800
- 'mute', 'unmute', 'ban', 'unban', 'promote', 'demote', 'kick',
801
- 'linkgroup', 'linkgc', 'tagall', 'tagnotadmin', 'hidetag', 'antilink',
802
- 'antitag', 'setgdesc', 'setgname', 'setgpp', 'antikick',
803
- 'antipromote', 'antidemote', 'antibug', 'antigroupmention', 'groupmention',
804
- 'antimention', 'antiaudio', 'antivideo', 'antidocument',
805
- 'antifiles', 'antisticker', 'antiimage', 'antibadword',
806
- 'antichart', 'antiforward', 'welcome', 'goodbye',
807
- 'add', 'groupinfo', 'infogroup', 'infogrupo', 'admin', 'listadmin',
808
- 'staff', 'reset', 'revoke', 'resetlink', 'tagadmins', 'admins',
809
- 'accept', 'approve', 'reject', 'decline', 'acceptall', 'rejectall',
810
- 'listrequests', 'requests', 'joinrequests', 'online',
811
- 'warn', 'warnings', 'kickall', 'tag', 'clear',
812
- 'chatbot', 'ship'
813
- ];
814
-
815
- const ownerCommands = [
816
- 'mode', 'autostatus', 'antidelete', 'cleartmp', 'setpp',
817
- 'tostatus', 'clearsession', 'areact', 'autoreact', 'autotyping',
818
- 'autoread', 'pmblocker', 'setbotconfig', 'setbotname',
819
- 'setmenuimage', 'setfont', 'font', 'hijack', 'pair', 'autorecording', 'chatbot',
820
- 'autocall', 'broadcast', 'creategroup', 'setowner', 'setprefix',
821
- 'vv2', 'antiedit', 'antiviewonce', 'antideletestatus', 'sad', 'ads', 'startupwelcome',
822
- 'alwaysonline', 'alwaysoffline', 'pin', 'unpin', 'archive',
823
- 'unarchive', 'disappearing', 'readreceipts', 'autoreadreceipts',
824
- 'setbio', 'bio', 'removebio', 'resetbio', 'clearbio',
825
- 'pinchat', 'pinconvo', 'unpinchat', 'unpinconvo',
826
- 'disappear', 'ephemeral', 'menuset', 'menuconfig', 'menustyle'
827
- ];
828
-
829
- const isAdminCommand = adminCommands.includes(command);
830
- const isOwnerCommand = ownerCommands.includes(command);
831
-
832
- if (!isGroup && isAdminCommand) {
833
- await sock.sendMessage(chatId, {
834
- text: 'This command can only be used in groups, not in private chats!'
835
- }, { quoted: fake });
836
- return;
837
- }
838
-
839
- let isSenderAdmin = false;
840
- let isBotAdmin = false;
841
-
842
- if (isGroup && isAdminCommand) {
843
- const adminStatus = await isAdmin(sock, chatId, senderId, message);
844
- isSenderAdmin = adminStatus.isSenderAdmin;
845
- isBotAdmin = adminStatus.isBotAdmin;
846
-
847
- if (!isBotAdmin && command !== 'welcome' && command !== 'goodbye') {
848
- await sock.sendMessage(chatId, { text: 'Please make the bot an admin to use admin commands.' }, { quoted: fake });
849
- return;
850
- }
851
-
852
- if (
853
- ['mute', 'unmute', 'ban', 'unban', 'promote', 'demote', 'kick', 'hijack',
854
- 'antilink', 'antitag', 'antikick', 'antipromote', 'antidemote', 'antibug',
855
- 'antigroupmention', 'groupmention', 'antimention', 'antiaudio', 'antivideo', 'antidocument',
856
- 'antifiles', 'antisticker', 'antiimage', 'antibadword', 'antichart', 'antiforward', 'add',
857
- 'kickall', 'resetlink', 'reset', 'revoke', 'setgdesc', 'setgname', 'setgpp',
858
- 'accept', 'approve', 'reject', 'decline', 'acceptall', 'rejectall',
859
- 'listrequests', 'requests', 'joinrequests', 'warn'].includes(command)
860
- ) {
861
- if (!isSenderAdmin && !message.key.fromMe) {
862
- await sock.sendMessage(chatId, {
863
- text: 'Sorry, only group admins can use this command.',
864
- ...channelInfo
865
- }, { quoted: fake });
866
- return;
867
- }
868
- }
869
- }
870
-
871
- if (isOwnerCommand) {
872
- if (!message.key.fromMe && !senderIsSudo) {
873
- await sock.sendMessage(chatId, { text: 'This command is only available for the owner or sudo!' }, { quoted: fake });
874
- return;
875
- }
876
- }
877
-
878
- let commandExecuted = false;
879
-
880
- // ========== COMMAND SWITCH CASE ==========
881
- switch (command) {
882
- // === BOT MANAGEMENT ===
883
- case 'setprefix':
884
- await handleSetPrefixCommand(sock, chatId, message);
885
- commandExecuted = true;
886
- break;
887
-
888
- case 'setowner':
889
- await handleSetOwnerCommand(sock, chatId, senderId, message, userMessage, prefix);
890
- commandExecuted = true;
891
- break;
892
-
893
- case 'owner':
894
- await ownerCommand(sock, chatId);
895
- commandExecuted = true;
896
- break;
897
-
898
- case 'ping':
899
- case 'p':
900
- await pingCommand(sock, chatId, message);
901
- commandExecuted = true;
902
- break;
903
-
904
- case 'uptime':
905
- case 'alive':
906
- case 'up':
907
- case 'runtime':
908
- await aliveCommand(sock, chatId, message);
909
- commandExecuted = true;
910
- break;
911
-
912
- case 'help':
913
- case 'menu':
914
- case 'h':
915
- case 'allmenu':
916
- await helpCommand(sock, chatId, message);
917
- commandExecuted = true;
918
- break;
919
-
920
- case 'menuconfig':
921
- case 'menustyle':
922
- case 'menuset':
923
- case 'setmenu':
924
- await menuManageCommand(sock, chatId, message, args);
925
- commandExecuted = true;
926
- break;
927
-
928
- case 'settings':
929
- case 'getsettings':
930
- await settingsCommand(sock, chatId, message);
931
- commandExecuted = true;
932
- break;
933
-
934
- case 'sudo':
935
- case 'addsudo':
936
- case 'delsudo':
937
- case 'removesudo':
938
- case 'listsudo':
939
- if (command === 'addsudo') {
940
- const rawText = message.message?.conversation || message.message?.extendedTextMessage?.text || '';
941
- const rest = rawText.trim().split(/\s+/).slice(1).join(' ');
942
- message.message = message.message || {};
943
- if (message.message.conversation !== undefined) {
944
- message.message.conversation = `${prefix}sudo add ${rest}`;
945
- } else if (message.message.extendedTextMessage) {
946
- message.message.extendedTextMessage.text = `${prefix}sudo add ${rest}`;
947
- }
948
- } else if (command === 'delsudo' || command === 'removesudo') {
949
- const rawText = message.message?.conversation || message.message?.extendedTextMessage?.text || '';
950
- const rest = rawText.trim().split(/\s+/).slice(1).join(' ');
951
- message.message = message.message || {};
952
- if (message.message.conversation !== undefined) {
953
- message.message.conversation = `${prefix}sudo del ${rest}`;
954
- } else if (message.message.extendedTextMessage) {
955
- message.message.extendedTextMessage.text = `${prefix}sudo del ${rest}`;
956
- }
957
- } else if (command === 'listsudo') {
958
- message.message = message.message || {};
959
- if (message.message.conversation !== undefined) {
960
- message.message.conversation = `${prefix}sudo list`;
961
- } else if (message.message.extendedTextMessage) {
962
- message.message.extendedTextMessage.text = `${prefix}sudo list`;
963
- }
964
- }
965
- await sudoCommand(sock, chatId, message);
966
- commandExecuted = true;
967
- break;
968
-
969
- case 'clearsession':
970
- case 'clearsesi':
971
- await clearSessionCommand(sock, chatId, message);
972
- commandExecuted = true;
973
- break;
974
-
975
- case 'mode':
976
- {
977
- if (!message.key.fromMe && !senderIsSudo) {
978
- await sock.sendMessage(chatId, {
979
- text: `✦ Only the owner can change bot mode`
980
- }, { quoted: fake });
981
- return;
982
- }
983
-
984
- const action = args[0]?.toLowerCase();
985
- const validModes = ['private', 'public', 'group', 'pm'];
986
-
987
- const modeDescriptions = {
988
- private: `Now only you can use the bot`,
989
- public: `Everyone can now use the bot`,
990
- group: `Bot will now only work in groups`,
991
- pm: `Bot will now only work in private chats`
992
- };
993
-
994
- if (!action) {
995
- const currentMode = getBotMode();
996
- await sock.sendMessage(chatId, {
997
- text: `✦ Current mode: ${currentMode}
998
-
999
- To change mode:
1000
- ${prefix}mode private
1001
- ${prefix}mode public
1002
- ${prefix}mode group
1003
- ${prefix}mode pm
1004
-
1005
- Example: ${prefix}mode group`
1006
- }, { quoted: fake });
1007
- return;
1008
- }
1009
-
1010
- if (!validModes.includes(action)) {
1011
- await sock.sendMessage(chatId, {
1012
- text: `✦ Use one of these: private, public, group, pm
1013
-
1014
- Example: ${prefix}mode group`
1015
- }, { quoted: fake });
1016
- return;
1017
- }
1018
-
1019
- try {
1020
- setBotMode(action);
1021
- await sock.sendMessage(chatId, {
1022
- text: `✦ Mode set to ${action}\n${modeDescriptions[action]}`
1023
- }, { quoted: fake });
1024
- } catch (error) {
1025
- console.error('Error updating access mode:', error);
1026
- await sock.sendMessage(chatId, {
1027
- text: `✦ Something went wrong updating the mode`
1028
- }, { quoted: fake });
1029
- }
1030
- }
1031
- commandExecuted = true;
1032
- break;
1033
- case 'update':
1034
- case 'start':
1035
- case 'restart':
1036
- {
1037
- const zipArg = args[0] && args[0].startsWith('http') ? args[0] : '';
1038
- await updateCommand(sock, chatId, message, senderIsSudo, zipArg);
1039
- }
1040
- commandExecuted = true;
1041
- break;
1042
-
1043
- // === MODERATION COMMANDS ===
1044
- case 'ban':
1045
- await banCommand(sock, chatId, message);
1046
- commandExecuted = true;
1047
- break;
1048
-
1049
- case 'unban':
1050
- await unbanCommand(sock, chatId, message);
1051
- commandExecuted = true;
1052
- break;
1053
-
1054
- case 'mute':
1055
- {
1056
- const muteArg = args[0];
1057
- const muteDuration = muteArg !== undefined ? parseInt(muteArg, 10) : undefined;
1058
- if (muteArg !== undefined && (isNaN(muteDuration) || muteDuration <= 0)) {
1059
- await sock.sendMessage(chatId, { text: 'Please provide a valid number of minutes or use .mute with no number to mute immediately.' }, { quoted: fake });
1060
- } else {
1061
- await muteCommand(sock, chatId, senderId, message, muteDuration);
1062
- }
1063
- }
1064
- commandExecuted = true;
1065
- break;
1066
-
1067
- case 'unmute':
1068
- await unmuteCommand(sock, chatId, senderId);
1069
- commandExecuted = true;
1070
- break;
1071
-
1072
- case 'kick':
1073
- const mentionedJidListKick = message.message.extendedTextMessage?.contextInfo?.mentionedJid || [];
1074
- await kickCommand(sock, chatId, senderId, mentionedJidListKick, message);
1075
- commandExecuted = true;
1076
- break;
1077
-
1078
- case 'warn':
1079
- const mentionedJidListWarn = message.message.extendedTextMessage?.contextInfo?.mentionedJid || [];
1080
- await warnCommand(sock, chatId, senderId, mentionedJidListWarn, message);
1081
- commandExecuted = true;
1082
- break;
1083
-
1084
- case 'warnings':
1085
- const mentionedJidListWarnings = message.message.extendedTextMessage?.contextInfo?.mentionedJid || [];
1086
- await warningsCommand(sock, chatId, mentionedJidListWarnings);
1087
- commandExecuted = true;
1088
- break;
1089
-
1090
- case 'promote':
1091
- const mentionedJidListPromote = message.message.extendedTextMessage?.contextInfo?.mentionedJid || [];
1092
- await promoteCommand(sock, chatId, mentionedJidListPromote, message);
1093
- commandExecuted = true;
1094
- break;
1095
-
1096
- case 'demote':
1097
- const mentionedJidListDemote = message.message.extendedTextMessage?.contextInfo?.mentionedJid || [];
1098
- await demoteCommand(sock, chatId, mentionedJidListDemote, message);
1099
- commandExecuted = true;
1100
- break;
1101
-
1102
- case 'clear':
1103
- if (isGroup) await clearCommand(sock, chatId);
1104
- commandExecuted = true;
1105
- break;
1106
-
1107
- case 'removeall':
1108
- case 'killall':
1109
- await kickAllCommand(sock, chatId, message);
1110
- commandExecuted = true;
1111
- break;
1112
-
1113
- case 'block':
1114
- await blockCommand(sock, chatId, message);
1115
- commandExecuted = true;
1116
- break;
1117
- case 'lastseen':
1118
- await lastseenCommand(sock, chatId, message);
1119
- commandExecuted = true;
1120
- break;
1121
- case 'unblock':
1122
- await unblockCommand(sock, chatId, message);
1123
- commandExecuted = true;
1124
- break;
1125
-
1126
- case 'blocklist':
1127
- case 'listblock':
1128
- await blocklistCommand(sock, chatId, message);
1129
- commandExecuted = true;
1130
- break;
1131
-
1132
- case 'removepp':
1133
- case 'removeprofilepic':
1134
- case 'removepfp':
1135
- await removeProfilePicCommand(sock, chatId, message);
1136
- commandExecuted = true;
1137
- break;
1138
-
1139
- case 'ppnone':
1140
- case 'profilepicnone':
1141
- case 'pfpnone':
1142
- await setProfilePicPrivacyCommand(sock, chatId, message, 'none');
1143
- commandExecuted = true;
1144
- break;
1145
-
1146
- case 'ppall':
1147
- case 'profilepicall':
1148
- case 'pfpall':
1149
- await setProfilePicPrivacyCommand(sock, chatId, message, 'all');
1150
- commandExecuted = true;
1151
- break;
1152
-
1153
- case 'ppcontacts':
1154
- case 'profilepiccontacts':
1155
- await setProfilePicPrivacyCommand(sock, chatId, message, 'contacts');
1156
- commandExecuted = true;
1157
- break;
1158
-
1159
- case 'pp':
1160
- case 'profilepic': {
1161
- const ppArg = (fullArgs || '').trim().toLowerCase();
1162
- if (ppArg === 'all') {
1163
- await setProfilePicPrivacyCommand(sock, chatId, message, 'all');
1164
- } else if (ppArg === 'none') {
1165
- await setProfilePicPrivacyCommand(sock, chatId, message, 'none');
1166
- } else if (ppArg === 'contacts') {
1167
- await setProfilePicPrivacyCommand(sock, chatId, message, 'contacts');
1168
- } else {
1169
- const _bn = getBotName();
1170
- const _fk = createFakeContact(message);
1171
- await sock.sendMessage(chatId, {
1172
- text: `✦ *${_bn}* | Profile Pic Privacy\n\n.pp all — everyone can see\n.pp none — nobody can see\n.pp contacts — contacts only\n.removepp — remove profile picture`
1173
- }, { quoted: _fk });
1174
- }
1175
- commandExecuted = true;
1176
- break;
1177
- }
1178
-
1179
- // === GROUP MANAGEMENT ===
1180
- case 'groupinfo':
1181
- case 'infogroup':
1182
- case 'infogrupo':
1183
- await groupInfoCommand(sock, chatId, message);
1184
- commandExecuted = true;
1185
- break;
1186
-
1187
- case 'admin':
1188
- case 'listadmin':
1189
- case 'staff':
1190
- await staffCommand(sock, chatId, message);
1191
- commandExecuted = true;
1192
- break;
1193
-
1194
- case 'reset':
1195
- case 'revoke':
1196
- case 'resetlink':
1197
- await resetlinkCommand(sock, chatId, senderId);
1198
- commandExecuted = true;
1199
- break;
1200
-
1201
- case 'linkgroup':
1202
- case 'linkgc':
1203
- await linkgroupCommand(sock, chatId, message);
1204
- commandExecuted = true;
1205
- break;
1206
-
1207
- case 'creategroup':
1208
- case 'creategc':
1209
- await creategroupCommand(sock, chatId, message);
1210
- commandExecuted = true;
1211
- break;
1212
-
1213
- case 'join':
1214
- await joinCommand(sock, chatId, message);
1215
- commandExecuted = true;
1216
- break;
1217
-
1218
- case 'left':
1219
- case 'leave':
1220
- await leaveGroupCommand(sock, chatId, message);
1221
- commandExecuted = true;
1222
- break;
1223
-
1224
- case 'setgdesc':
1225
- await setGroupDescription(sock, chatId, senderId, fullArgs, message);
1226
- commandExecuted = true;
1227
- break;
1228
-
1229
- case 'setgname':
1230
- case 'setgroupname':
1231
- case 'groupname':
1232
- await setGroupName(sock, chatId, senderId, fullArgs, message);
1233
- commandExecuted = true;
1234
- break;
1235
-
1236
- case 'setgpp':
1237
- await setGroupPhoto(sock, chatId, senderId, message);
1238
- commandExecuted = true;
1239
- break;
1240
-
1241
- case 'tagall':
1242
- if (isSenderAdmin || message.key.fromMe) {
1243
- await tagAllCommand(sock, chatId, senderId, message);
1244
- } else {
1245
- await sock.sendMessage(chatId, { text: '_Only admins can use this command_' }, { quoted: fake });
1246
- }
1247
- commandExecuted = true;
1248
- break;
1249
-
1250
- case 'tagnotadmin':
1251
- await tagNotAdminCommand(sock, chatId, senderId, message);
1252
- commandExecuted = true;
1253
- break;
1254
- case 'hidetag':
1255
- {
1256
- const messageText = fullArgs;
1257
- const replyMessage = message.message?.extendedTextMessage?.contextInfo?.quotedMessage || null;
1258
- await hideTagCommand(sock, chatId, senderId, messageText, replyMessage, message);
1259
- }
1260
- commandExecuted = true;
1261
- break;
1262
-
1263
- case 'tag':
1264
- const messageText = fullArgs;
1265
- const replyMessage = message.message?.extendedTextMessage?.contextInfo?.quotedMessage || null;
1266
- await tagCommand(sock, chatId, senderId, messageText, replyMessage, message);
1267
- commandExecuted = true;
1268
- break;
1269
-
1270
- case 'tagadmins':
1271
- case 'admins':
1272
- await tagAdminsCommand(sock, chatId, senderId, message, fullArgs);
1273
- commandExecuted = true;
1274
- break;
1275
-
1276
- case 'online':
1277
- await onlineCommand(sock, chatId, senderId, message);
1278
- commandExecuted = true;
1279
- break;
1280
-
1281
- case 'accept':
1282
- case 'approve':
1283
- await acceptCommand(sock, chatId, senderId, fullArgs, message, fake);
1284
- commandExecuted = true;
1285
- break;
1286
-
1287
- case 'reject':
1288
- case 'decline':
1289
- await rejectCommand(sock, chatId, senderId, fullArgs, message, fake);
1290
- commandExecuted = true;
1291
- break;
1292
-
1293
- case 'acceptall':
1294
- await acceptAllCommand(sock, chatId, senderId, message, fake);
1295
- commandExecuted = true;
1296
- break;
1297
-
1298
- case 'rejectall':
1299
- await rejectAllCommand(sock, chatId, senderId, message, fake);
1300
- commandExecuted = true;
1301
- break;
1302
-
1303
- case 'listrequests':
1304
- case 'requests':
1305
- case 'joinrequests':
1306
- await listRequestsCommand(sock, chatId, senderId, message, fake);
1307
- commandExecuted = true;
1308
- break;
1309
-
1310
- case 'add':
1311
- await addMemberCommand(sock, chatId, message, fullArgs, prefix, senderId, isSenderAdmin, isBotAdmin, isGroup);
1312
- commandExecuted = true;
1313
- break;
1314
-
1315
- // === ANTI-FEATURES ===
1316
- case 'antilink':
1317
- const antilinkAdminStatus = await isAdmin(sock, chatId, senderId);
1318
- const antilinkIsSenderAdmin = antilinkAdminStatus.isSenderAdmin;
1319
- const antilinkIsBotAdmin = antilinkAdminStatus.isBotAdmin;
1320
-
1321
- if (!antilinkIsBotAdmin) {
1322
- await sock.sendMessage(chatId, {
1323
- text: '❌ Bot must be admin to use anti-link!'
1324
- }, { quoted: fake });
1325
- return;
1326
- }
1327
-
1328
- const antilinkSubCmd = args[0]?.toLowerCase();
1329
- if (!['status', 'help'].includes(antilinkSubCmd) && !antilinkIsSenderAdmin && !message.key.fromMe) {
1330
- await sock.sendMessage(chatId, {
1331
- text: '❌ Only group admins can configure anti-link!'
1332
- }, { quoted: fake });
1333
- return;
1334
- }
1335
-
1336
- await handleAntilinkCommand(sock, chatId, userMessage, senderId, antilinkIsSenderAdmin);
1337
- commandExecuted = true;
1338
- break;
1339
-
1340
- case 'antigroupmention':
1341
- case 'groupmention':
1342
- const agmAdminStatus = await isAdmin(sock, chatId, senderId);
1343
- const agmIsSenderAdmin = agmAdminStatus.isSenderAdmin;
1344
- const agmIsBotAdmin = agmAdminStatus.isBotAdmin;
1345
-
1346
- if (!agmIsBotAdmin) {
1347
- await sock.sendMessage(chatId, {
1348
- text: '❌ Bot must be admin to use anti-group mention!'
1349
- }, { quoted: fake });
1350
- return;
1351
- }
1352
-
1353
- if (!agmIsSenderAdmin && !message.key.fromMe) {
1354
- await sock.sendMessage(chatId, {
1355
- text: '❌ Only group admins can configure anti-group mention!'
1356
- }, { quoted: fake });
1357
- return;
1358
- }
1359
-
1360
- await antigroupmentionCommand(sock, chatId, message, senderId);
1361
- commandExecuted = true;
1362
- break;
1363
-
1364
- case 'antichart':
1365
- case 'antiforward':
1366
- const antichartAdminStatus = await isAdmin(sock, chatId, senderId);
1367
- const antichartIsSenderAdmin = antichartAdminStatus.isSenderAdmin;
1368
- const antichartIsBotAdmin = antichartAdminStatus.isBotAdmin;
1369
-
1370
- if (!antichartIsBotAdmin) {
1371
- await sock.sendMessage(chatId, {
1372
- text: '❌ Bot must be admin to use anti-chart!'
1373
- }, { quoted: fake });
1374
- return;
1375
- }
1376
-
1377
- if (!antichartIsSenderAdmin && !message.key.fromMe) {
1378
- await sock.sendMessage(chatId, {
1379
- text: '❌ Only group admins can configure anti-chart!'
1380
- }, { quoted: fake });
1381
- return;
1382
- }
1383
-
1384
- await antichartCommand(sock, chatId, message, senderId, antichartIsSenderAdmin, fullArgs);
1385
- commandExecuted = true;
1386
- break;
1387
-
1388
- case 'antitag':
1389
- if (!isBotAdmin) {
1390
- await sock.sendMessage(chatId, {
1391
- text: 'Please make the bot an admin first.',
1392
- ...channelInfo
1393
- }, { quoted: fake });
1394
- return;
1395
- }
1396
- await handleAntitagCommand(sock, chatId, userMessage, senderId, isSenderAdmin, message);
1397
- commandExecuted = true;
1398
- break;
1399
-
1400
- case 'antiedit':
1401
- if (!message.key.fromMe && !senderIsSudo) {
1402
- await sock.sendMessage(chatId, {
1403
- text: `Owner only command!`
1404
- }, { quoted: fake });
1405
- return;
1406
- }
1407
- await antieditCommand(sock, chatId, message, fullArgs);
1408
- commandExecuted = true;
1409
- break;
1410
-
1411
- case 'antideletestatus':
1412
- case 'antistatus delete':
1413
- case 'ads':
1414
- if (!message.key.fromMe && !senderIsSudo) {
1415
- await sock.sendMessage(chatId, {
1416
- text: '❌ This command is only available for the owner or sudo!'
1417
- }, { quoted: fake });
1418
- return;
1419
- }
1420
- await handleStatusAntideleteCommand(sock, chatId, message, fullArgs);
1421
- commandExecuted = true;
1422
- break;
1423
-
1424
- case 'antidelete':
1425
- await handleAntideleteCommand(sock, chatId, message, fullArgs);
1426
- commandExecuted = true;
1427
- break;
1428
-
1429
- case 'antiviewonce':
1430
- await antiviewonceCommand(sock, chatId, message, fullArgs);
1431
- commandExecuted = true;
1432
- break;
1433
-
1434
- case 'mention':
1435
- {
1436
- const isOwner = message.key.fromMe || senderIsSudo;
1437
- await mentionToggleCommand(sock, chatId, message, fullArgs, isOwner);
1438
- }
1439
- commandExecuted = true;
1440
- break;
1441
-
1442
- case 'setmention':
1443
- {
1444
- const isOwner = message.key.fromMe || senderIsSudo;
1445
- await setMentionCommand(sock, chatId, message, isOwner);
1446
- }
1447
- commandExecuted = true;
1448
- break;
1449
-
1450
- case 'antibadword':
1451
- await antibadwordCommand(sock, chatId, message, fullArgs);
1452
- commandExecuted = true;
1453
- break;
1454
-
1455
- case 'antimention':
1456
- await antimentionCommand(sock, chatId, message, senderId);
1457
- commandExecuted = true;
1458
- break;
1459
-
1460
- case 'antipromote':
1461
- await antipromoteCommand(sock, chatId, message, senderId);
1462
- commandExecuted = true;
1463
- break;
1464
-
1465
- case 'antidemote':
1466
- await antidemoteCommand(sock, chatId, message, senderId);
1467
- commandExecuted = true;
1468
- break;
1469
-
1470
- case 'antibug':
1471
- await antibugCommand(sock, chatId, userMessage, senderId, isSenderAdmin, message);
1472
- commandExecuted = true;
1473
- break;
1474
-
1475
- case 'antikick':
1476
- await antikickCommand(sock, chatId, message, senderId, isSenderAdmin);
1477
- commandExecuted = true;
1478
- break;
1479
-
1480
- case 'antiaudio':
1481
- await antiaudioCommand(sock, chatId, userMessage, senderId, isSenderAdmin, message);
1482
- commandExecuted = true;
1483
- break;
1484
-
1485
- case 'antivideo':
1486
- await antivideoCommand(sock, chatId, userMessage, senderId, isSenderAdmin, message);
1487
- commandExecuted = true;
1488
- break;
1489
-
1490
- case 'antidocument':
1491
- await antidocumentCommand(sock, chatId, userMessage, senderId, isSenderAdmin, message);
1492
- commandExecuted = true;
1493
- break;
1494
-
1495
- case 'antifiles':
1496
- await antifilesCommand(sock, chatId, userMessage, senderId, isSenderAdmin, message);
1497
- commandExecuted = true;
1498
- break;
1499
-
1500
- case 'antisticker':
1501
- await antistickerCommand(sock, chatId, userMessage, senderId, isSenderAdmin, message);
1502
- commandExecuted = true;
1503
- break;
1504
-
1505
- case 'antiimage':
1506
- await antiimageCommand(sock, chatId, userMessage, senderId, isSenderAdmin, message);
1507
- commandExecuted = true;
1508
- break;
1509
-
1510
- // === AUTOMATION FEATURES ===
1511
- case 'autotyping':
1512
- await autotypingCommand(sock, chatId, message);
1513
- commandExecuted = true;
1514
- break;
1515
-
1516
- case 'autoread':
1517
- await autoreadCommand(sock, chatId, message);
1518
- commandExecuted = true;
1519
- break;
1520
-
1521
- case 'autorecording':
1522
- await autorecordingCommand(sock, chatId, message);
1523
- commandExecuted = true;
1524
- break;
1525
-
1526
- case 'alwaysonline':
1527
- await alwaysonlineCommand(sock, chatId, message);
1528
- commandExecuted = true;
1529
- break;
1530
- case 'offline':
1531
- case 'alwaysoffline':
1532
- await alwaysofflineCommand(sock, chatId, message);
1533
- commandExecuted = true;
1534
- break;
1535
-
1536
- case 'pin':
1537
- await pinCommand(sock, chatId, message);
1538
- commandExecuted = true;
1539
- break;
1540
-
1541
- case 'unpin':
1542
- await unpinCommand(sock, chatId, message);
1543
- commandExecuted = true;
1544
- break;
1545
-
1546
- case 'archive':
1547
- await archiveCommand(sock, chatId, message);
1548
- commandExecuted = true;
1549
- break;
1550
-
1551
- case 'unarchive':
1552
- await unarchiveCommand(sock, chatId, message);
1553
- commandExecuted = true;
1554
- break;
1555
-
1556
- case 'disappearing':
1557
- await disappearCommand(sock, chatId, message, args);
1558
- commandExecuted = true;
1559
- break;
1560
-
1561
- case 'readreceipts':
1562
- case 'autoreadreceipts':
1563
- await autoreadReceiptsCommand(sock, chatId, message);
1564
- commandExecuted = true;
1565
- break;
1566
-
1567
- case 'autostatus':
1568
- case 'autoviewstatus':
1569
- case 'autostatusview':
1570
- await autoStatusCommand(sock, chatId, message, args);
1571
- commandExecuted = true;
1572
- break;
1573
-
1574
- case 'welcome':
1575
- if (isGroup) {
1576
- if (!isSenderAdmin) {
1577
- const adminStatus = await isAdmin(sock, chatId, senderId);
1578
- isSenderAdmin = adminStatus.isSenderAdmin;
1579
- }
1580
-
1581
- if (isSenderAdmin || message.key.fromMe) {
1582
- await welcomeCommand(sock, chatId, message);
1583
- } else {
1584
- await sock.sendMessage(chatId, { text: 'Sorry, only group admins can use this command.' }, { quoted: fake });
1585
- }
1586
- } else {
1587
- await sock.sendMessage(chatId, { text: 'This command can only be used in groups.' }, { quoted: fake });
1588
- }
1589
- commandExecuted = true;
1590
- break;
1591
-
1592
- case 'goodbye':
1593
- if (isGroup) {
1594
- if (!isSenderAdmin) {
1595
- const adminStatus = await isAdmin(sock, chatId, senderId);
1596
- isSenderAdmin = adminStatus.isSenderAdmin;
1597
- }
1598
-
1599
- if (isSenderAdmin || message.key.fromMe) {
1600
- await goodbyeCommand(sock, chatId, message);
1601
- } else {
1602
- await sock.sendMessage(chatId, { text: 'Sorry, only group admins can use this command.' }, { quoted: fake });
1603
- }
1604
- } else {
1605
- await sock.sendMessage(chatId, { text: 'This command can only be used in groups.' }, { quoted: fake });
1606
- }
1607
- commandExecuted = true;
1608
- break;
1609
-
1610
- case 'chatbot':
1611
- const chatbotAdminStatus = await isAdmin(sock, chatId, senderId);
1612
- if (!chatbotAdminStatus.isSenderAdmin && !message.key.fromMe) {
1613
- await sock.sendMessage(chatId, { text: '*Only admins or bot owner can use this command*' }, { quoted: fake });
1614
- return;
1615
- }
1616
- await handleChatbotCommand(sock, chatId, message, fullArgs);
1617
- commandExecuted = true;
1618
- break;
1619
-
1620
- case 'topmembers':
1621
- topMembers(sock, chatId, isGroup, message);
1622
- commandExecuted = true;
1623
- break;
1624
-
1625
- case 'pmblocker':
1626
- if (!message.key.fromMe && !senderIsSudo) {
1627
- await sock.sendMessage(chatId, { text: 'Only owner or sudo can use pmblocker.' }, { quoted: fake });
1628
- commandExecuted = true;
1629
- break;
1630
- }
1631
- await pmblockerCommand(sock, chatId, message, fullArgs);
1632
- commandExecuted = true;
1633
- break;
1634
-
1635
- case 'anticall':
1636
- if (!message.key.fromMe && !senderIsSudo) {
1637
- await sock.sendMessage(chatId, { text: 'Only owner/sudo can use anticall.' }, { quoted: fake });
1638
- break;
1639
- }
1640
- await anticallCommand(sock, chatId, message, fullArgs);
1641
- commandExecuted = true;
1642
- break;
1643
-
1644
- case 'setcallmsg':
1645
- if (!message.key.fromMe && !senderIsSudo) {
1646
- await sock.sendMessage(chatId, { text: 'Only owner/sudo can use setcallmsg.' }, { quoted: fake });
1647
- break;
1648
- }
1649
- await setcallmsgCommand(sock, chatId, message, fullArgs);
1650
- commandExecuted = true;
1651
- break;
1652
-
1653
- case 'groupanticall':
1654
- case 'gcanticall':
1655
- case 'ganticall':
1656
- await groupanticallCommand(sock, chatId, message, fullArgs);
1657
- commandExecuted = true;
1658
- break;
1659
-
1660
- case 'startupwelcome':
1661
- case 'startupmsg':
1662
- await startupWelcomeCommand(sock, chatId, message);
1663
- commandExecuted = true;
1664
- break;
1665
-
1666
- case 'broadcast':
1667
- case 'bc':
1668
- await broadcastCommand(sock, chatId, message);
1669
- commandExecuted = true;
1670
- break;
1671
-
1672
- case 'areact':
1673
- case 'autoreact':
1674
- case 'autoreaction':
1675
- const isOwnerOrSudo = message.key.fromMe || senderIsSudo;
1676
- await handleAreactCommand(sock, chatId, message, isOwnerOrSudo);
1677
- commandExecuted = true;
1678
- break;
1679
-
1680
- // === MEDIA & ENTERTAINMENT ===
1681
- case 'sticker':
1682
- case 's':
1683
- await stickerCommand(sock, chatId, message);
1684
- commandExecuted = true;
1685
- break;
1686
-
1687
- case 'simage':
1688
- case 'toimage':
1689
- {
1690
- const quotedMessage = message.message?.extendedTextMessage?.contextInfo?.quotedMessage;
1691
- if (quotedMessage?.stickerMessage) {
1692
- await simageCommand(sock, quotedMessage, chatId);
1693
- } else {
1694
- await sock.sendMessage(chatId, { text: 'Please reply to a sticker with the toimage command to convert it.' }, { quoted: fake });
1695
- }
1696
- commandExecuted = true;
1697
- }
1698
- break;
1699
-
1700
- case 'attp':
1701
- await attpCommand(sock, chatId, message);
1702
- commandExecuted = true;
1703
- break;
1704
-
1705
- case 'emojimix':
1706
- case 'emix':
1707
- await emojimixCommand(sock, chatId, message);
1708
- commandExecuted = true;
1709
- break;
1710
-
1711
- case 'tg':
1712
- case 'tgsticker':
1713
- await stickerTelegramCommand(sock, chatId, message);
1714
- commandExecuted = true;
1715
- break;
1716
-
1717
- case 'crop':
1718
- await stickercropCommand(sock, chatId, message);
1719
- commandExecuted = true;
1720
- break;
1721
-
1722
- case 'qc':
1723
- case 'qcstc':
1724
- case 'qcstick':
1725
- case 'quotesticker':
1726
- await qcCommand(sock, chatId, message, fullArgs);
1727
- commandExecuted = true;
1728
- break;
1729
-
1730
- case 'tts':
1731
- const ttsText = fullArgs;
1732
- await ttsCommand(sock, chatId, ttsText, message);
1733
- commandExecuted = true;
1734
- break;
1735
-
1736
- case 'meme':
1737
- await memeCommand(sock, chatId, message);
1738
- commandExecuted = true;
1739
- break;
1740
-
1741
- case 'song':
1742
- case 'mp3':
1743
- await songCommand(sock, chatId, message);
1744
- commandExecuted = true;
1745
- break;
1746
-
1747
- case 'video':
1748
- await videoCommand(sock, chatId, message);
1749
- commandExecuted = true;
1750
- break;
1751
-
1752
- case 'play':
1753
- await playCommand(sock, chatId, message);
1754
- commandExecuted = true;
1755
- break;
1756
-
1757
- case 'ytmp4':
1758
- case 'ytv':
1759
- await ytplayCommand(sock, chatId, message);
1760
- commandExecuted = true;
1761
- break;
1762
-
1763
- case 'ytaudio':
1764
- case 'ytplay':
1765
- await ytsongCommand(sock, chatId, message);
1766
- commandExecuted = true;
1767
- break;
1768
-
1769
- case 'yts':
1770
- case 'ytsearch':
1771
- await ytsCommand(sock, chatId, senderId, message, userMessage);
1772
- commandExecuted = true;
1773
- break;
1774
-
1775
- case 'tiktok':
1776
- case 'tt':
1777
- await tiktokCommand(sock, chatId, message);
1778
- commandExecuted = true;
1779
- break;
1780
-
1781
- case 'tiktokaudio':
1782
- case 'ttaudio':
1783
- case 'ttm':
1784
- case 'tiktokmusic':
1785
- await tiktokaudioCommand(sock, chatId, message);
1786
- commandExecuted = true;
1787
- break;
1788
-
1789
- case 'spotify':
1790
- await spotifyCommand(sock, chatId, message);
1791
- commandExecuted = true;
1792
- break;
1793
-
1794
- case 'ytdocvideo':
1795
- await ytdocvideoCommand(sock, chatId, message);
1796
- commandExecuted = true;
1797
- break;
1798
-
1799
- case 'ytdocplay':
1800
- await ytdocplayCommand(sock, chatId, message);
1801
- commandExecuted = true;
1802
- break;
1803
-
1804
- case 'shazam':
1805
- case 'whatsong':
1806
- case 'find':
1807
- await shazamCommand(sock, chatId, message);
1808
- commandExecuted = true;
1809
- break;
1810
-
1811
- case 'instagram':
1812
- case 'insta':
1813
- case 'ig':
1814
- await instagramCommand(sock, chatId, message);
1815
- commandExecuted = true;
1816
- break;
1817
-
1818
- case 'igs':
1819
- await igsCommand(sock, chatId, message, true);
1820
- commandExecuted = true;
1821
- break;
1822
-
1823
- case 'fb':
1824
- case 'facebook':
1825
- await facebookCommand(sock, chatId, message);
1826
- commandExecuted = true;
1827
- break;
1828
-
1829
- case 'movie':
1830
- await movieCommand(sock, chatId, message);
1831
- commandExecuted = true;
1832
- break;
1833
-
1834
- case 'animu':
1835
- await animeCommand(sock, chatId, message, args);
1836
- commandExecuted = true;
1837
- break;
1838
-
1839
- case 'nom':
1840
- case 'poke':
1841
- case 'cry':
1842
- case 'hug':
1843
- case 'pat':
1844
- case 'kiss':
1845
- case 'wink':
1846
- case 'facepalm':
1847
- case 'face-palm':
1848
- case 'loli':
1849
- let animeSub = command;
1850
- if (animeSub === 'facepalm') animeSub = 'face-palm';
1851
- await animeCommand(sock, chatId, message, [animeSub]);
1852
- commandExecuted = true;
1853
- break;
1854
-
1855
- case 'pies':
1856
- await piesCommand(sock, chatId, message, args);
1857
- commandExecuted = true;
1858
- break;
1859
-
1860
- case userMessage === '.china':
1861
- await piesAlias(sock, chatId, message, 'china');
1862
- commandExecuted = true;
1863
- break;
1864
- case userMessage === '.indonesia':
1865
- await piesAlias(sock, chatId, message, 'indonesia');
1866
- commandExecuted = true;
1867
- break;
1868
- case userMessage === '.japan':
1869
- await piesAlias(sock, chatId, message, 'japan');
1870
- commandExecuted = true;
1871
- break;
1872
- case userMessage === '.korea':
1873
- await piesAlias(sock, chatId, message, 'korea');
1874
- commandExecuted = true;
1875
- break;
1876
- case userMessage === '.hijab':
1877
- await piesAlias(sock, chatId, message, 'hijab');
1878
- commandExecuted = true;
1879
- break;
1880
-
1881
- case 'imagine':
1882
- case 'flux':
1883
- case 'dalle':
1884
- await imagineCommand(sock, chatId, message);
1885
- commandExecuted = true;
1886
- break;
1887
-
1888
- case 'sora':
1889
- await soraCommand(sock, chatId, message);
1890
- commandExecuted = true;
1891
- break;
1892
-
1893
- case 'mediafire':
1894
- await mediafireCommand(sock, chatId, message);
1895
- commandExecuted = true;
1896
- break;
1897
- // === AI & TOOLS ===
1898
- case 'ai':
1899
- await gpt4Command(sock, chatId, message);
1900
- commandExecuted = true;
1901
- break;
1902
-
1903
- case 'gpt':
1904
- case 'gemini':
1905
- await aiCommand(sock, chatId, message);
1906
- commandExecuted = true;
1907
- break;
1908
-
1909
- case 'wormgpt':
1910
- await wormgptCommand(sock, chatId, message);
1911
- commandExecuted = true;
1912
- break;
1913
-
1914
- case 'copilot':
1915
- await copilotCommand(sock, chatId, message);
1916
- commandExecuted = true;
1917
- break;
1918
-
1919
- case 'deepseek':
1920
- await deepseekCommand(sock, chatId, message, args);
1921
- commandExecuted = true;
1922
- break;
1923
-
1924
- case 'llama':
1925
- await llamaCommand(sock, chatId, message, args);
1926
- commandExecuted = true;
1927
- break;
1928
- case 'mixtral':
1929
- await mixtralCommand(sock, chatId, message, args);
1930
- commandExecuted = true;
1931
- break;
1932
-
1933
- case 'qwen':
1934
- await qwenCommand(sock, chatId, message, args);
1935
- commandExecuted = true;
1936
- break;
1937
-
1938
- case 'claude':
1939
- await claudeCommand(sock, chatId, message, args);
1940
- commandExecuted = true;
1941
- break;
1942
-
1943
- case 'gpt4o':
1944
- await gpt4oCommand(sock, chatId, message, args);
1945
- commandExecuted = true;
1946
- break;
1947
-
1948
- case 'mistral':
1949
- await mistralCommand(sock, chatId, message, args);
1950
- commandExecuted = true;
1951
- break;
1952
-
1953
- case 'gemma':
1954
- await gemmaCommand(sock, chatId, message, args);
1955
- commandExecuted = true;
1956
- break;
1957
-
1958
- case 'translate':
1959
- case 'trt':
1960
- await handleTranslateCommand(sock, chatId, message, fullArgs);
1961
- commandExecuted = true;
1962
- break;
1963
-
1964
- case 'ss':
1965
- case 'ssweb':
1966
- case 'screenshot':
1967
- await handleSsCommand(sock, chatId, message, fullArgs);
1968
- commandExecuted = true;
1969
- break;
1970
-
1971
- // === NEW AI COMMANDS ===
1972
- case 'davex':
1973
- await davexCommand(sock, chatId, message, args);
1974
- commandExecuted = true;
1975
- break;
1976
-
1977
- case 'dalle2':
1978
- await dalleCommand(sock, chatId, message, args);
1979
- commandExecuted = true;
1980
- break;
1981
-
1982
- case 'blackbox':
1983
- case 'bb':
1984
- await blackboxCommand(sock, chatId, message, args);
1985
- commandExecuted = true;
1986
- break;
1987
-
1988
- case 'bard':
1989
- await bardCommand(sock, chatId, message, args);
1990
- commandExecuted = true;
1991
- break;
1992
-
1993
- case 'aivideo':
1994
- case 'avideo':
1995
- await aivideoCommand(sock, chatId, message, args);
1996
- commandExecuted = true;
1997
- break;
1998
-
1999
- case 'perplexity':
2000
- await perplexityCommand(sock, chatId, message, args);
2001
- commandExecuted = true;
2002
- break;
2003
-
2004
- case 'grok':
2005
- await grokCommand(sock, chatId, message, args);
2006
- commandExecuted = true;
2007
- break;
2008
-
2009
- case 'bird':
2010
- await birdCommand(sock, chatId, message, args);
2011
- commandExecuted = true;
2012
- break;
2013
-
2014
- case 'speechwriter':
2015
- await speechwriterCommand(sock, chatId, message, args);
2016
- commandExecuted = true;
2017
- break;
2018
-
2019
- case 'location':
2020
- case 'pinlocation':
2021
- case 'getlocation':
2022
- await locationCommand(sock, chatId, message, args);
2023
- commandExecuted = true;
2024
- break;
2025
-
2026
- case 'meta':
2027
- case 'metai':
2028
- await metaiCommand(sock, chatId, message, args);
2029
- commandExecuted = true;
2030
- break;
2031
-
2032
- case 'vision':
2033
- await visionCommand(sock, chatId, message, args);
2034
- commandExecuted = true;
2035
- break;
2036
-
2037
-
2038
- // === GREETINGS ===
2039
- case 'goodmorning':
2040
- case 'gm':
2041
- await goodmorningCommand(sock, chatId, message);
2042
- commandExecuted = true;
2043
- break;
2044
- case 'goodafternoon':
2045
- case 'ga':
2046
- await goodafternoonCommand(sock, chatId, message);
2047
- commandExecuted = true;
2048
- break;
2049
- case 'goodevening':
2050
- case 'ge':
2051
- await goodeveningCommand(sock, chatId, message);
2052
- commandExecuted = true;
2053
- break;
2054
-
2055
- // === DESIGN TOOLS ===
2056
- case 'logo':
2057
- await logoCommand(sock, chatId, message, args);
2058
- commandExecuted = true;
2059
- break;
2060
- case 'carbon':
2061
- await carbonCommand(sock, chatId, message, args);
2062
- commandExecuted = true;
2063
- break;
2064
-
2065
- // === MEDIA CONVERSION ===
2066
- case 'tomp4':
2067
- case 'tovideo':
2068
- await tomp4Command(sock, chatId, message);
2069
- commandExecuted = true;
2070
- break;
2071
- case 'togif':
2072
- await togifCommand(sock, chatId, message);
2073
- commandExecuted = true;
2074
- break;
2075
- case 'toimg':
2076
- await toimgCommand(sock, chatId, message);
2077
- commandExecuted = true;
2078
- break;
2079
-
2080
- // === ETHICAL HACKING ===
2081
- case 'iplookup':
2082
- case 'ip':
2083
- await ipLookupCommand(sock, chatId, message, args);
2084
- commandExecuted = true;
2085
- break;
2086
- case 'whois':
2087
- await whoIsCommand(sock, chatId, message, args);
2088
- commandExecuted = true;
2089
- break;
2090
- case 'reverseip':
2091
- await reverseipCommand(sock, chatId, message, args);
2092
- commandExecuted = true;
2093
- break;
2094
-
2095
- // === SEARCH ===
2096
- case 'pinterest':
2097
- case 'pint':
2098
- await pinterestCommand(sock, chatId, message, args);
2099
- commandExecuted = true;
2100
- break;
2101
-
2102
- // === GAMES ===
2103
- case 'rps':
2104
- await rpsCommand(sock, chatId, message, args);
2105
- commandExecuted = true;
2106
- break;
2107
- case 'slot':
2108
- case 'slots':
2109
- await slotCommand(sock, chatId, message);
2110
- commandExecuted = true;
2111
- break;
2112
-
2113
- // === OWNER TOOLS ===
2114
- case 'resetmenuimage':
2115
- await resetMenuImageCommand(sock, chatId, message);
2116
- commandExecuted = true;
2117
- break;
2118
-
2119
- case 'setbio':
2120
- case 'bio':
2121
- await bioCommand(sock, chatId, message, args, fullArgs);
2122
- commandExecuted = true;
2123
- break;
2124
-
2125
- case 'removebio':
2126
- case 'resetbio':
2127
- case 'clearbio':
2128
- await bioCommand(sock, chatId, message, ['remove'], fullArgs);
2129
- commandExecuted = true;
2130
- break;
2131
-
2132
- case 'pinchat':
2133
- case 'pinconvo':
2134
- await pinchatCommand(sock, chatId, message, args);
2135
- commandExecuted = true;
2136
- break;
2137
-
2138
- case 'unpinchat':
2139
- case 'unpinconvo':
2140
- await unpinchatCommand(sock, chatId, message, args);
2141
- commandExecuted = true;
2142
- break;
2143
-
2144
- case 'disappear':
2145
- case 'ephemeral':
2146
- await disappearCommand(sock, chatId, message, args);
2147
- commandExecuted = true;
2148
- break;
2149
-
2150
- case 'google':
2151
- case 'search':
2152
- case 'g':
2153
- await googleCommand(sock, chatId, message);
2154
- commandExecuted = true;
2155
- break;
2156
-
2157
- case 'git':
2158
- case 'github':
2159
- case 'sc':
2160
- case 'freebot':
2161
- case 'script':
2162
- case 'repo':
2163
- await githubCommand(sock, chatId, message);
2164
- commandExecuted = true;
2165
- break;
2166
-
2167
- case 'gitclone':
2168
- await gitcloneCommand(sock, chatId, message);
2169
- commandExecuted = true;
2170
- break;
2171
-
2172
- case 'apk':
2173
- await apkCommand(sock, chatId, message);
2174
- commandExecuted = true;
2175
- break;
2176
-
2177
- case 'tourl':
2178
- case 'url':
2179
- await urlCommand(sock, chatId, message);
2180
- commandExecuted = true;
2181
- break;
2182
-
2183
- case 'shorten':
2184
- case 'shortlink':
2185
- case 'tinyurl':
2186
- case 'short':
2187
- const urlText = userMessage.slice(command.length).trim();
2188
- await shortenUrlCommand(sock, chatId, message, urlText);
2189
- commandExecuted = true;
2190
- break;
2191
-
2192
- case 'analyze':
2193
- case 'analysis':
2194
- case 'analyzer':
2195
- await analyzeCommand(sock, chatId, message, fullArgs, prefix);
2196
- commandExecuted = true;
2197
- break;
2198
-
2199
- case 'encrypt':
2200
- await encryptCommand(sock, chatId, message);
2201
- commandExecuted = true;
2202
- break;
2203
-
2204
- case 'fetch':
2205
- case 'inspect':
2206
- await fetchCommand(sock, chatId, message);
2207
- commandExecuted = true;
2208
- break;
2209
-
2210
- case 'removebg':
2211
- case 'rmbg':
2212
- case 'nobg':
2213
- await removebgCommand.exec(sock, message, args);
2214
- commandExecuted = true;
2215
- break;
2216
-
2217
- case 'remini':
2218
- case 'enhance':
2219
- case 'upscale':
2220
- await reminiCommand(sock, chatId, message, args);
2221
- commandExecuted = true;
2222
- break;
2223
-
2224
- case 'night':
2225
- await nightCommand(sock, chatId, message, fullArgs);
2226
- commandExecuted = true;
2227
- break;
2228
-
2229
- case 'pretty':
2230
- case 'beautiful':
2231
- await prettyCommand(sock, chatId, message, fullArgs);
2232
- commandExecuted = true;
2233
- break;
2234
-
2235
- case 'ugly':
2236
- await uglyCommand(sock, chatId, message, fullArgs);
2237
- commandExecuted = true;
2238
- break;
2239
-
2240
- case 'blur':
2241
- const quotedMessage = message.message?.extendedTextMessage?.contextInfo?.quotedMessage;
2242
- await blurCommand(sock, chatId, message, quotedMessage);
2243
- commandExecuted = true;
2244
- break;
2245
-
2246
- case 'textmaker':
2247
- // Handle all textmaker styles
2248
- const style = command;
2249
- if ([
2250
- 'metallic', 'ice', 'snow', 'impressive', 'matrix', 'light',
2251
- 'neon', 'devil', 'purple', 'thunder', 'leaves', '1917',
2252
- 'arena', 'hacker', 'sand', 'blackpink', 'glitch', 'fire'
2253
- ].includes(style)) {
2254
- await textmakerCommand(sock, chatId, message, userMessage, style);
2255
- }
2256
- commandExecuted = true;
2257
- break;
2258
-
2259
- case 'character':
2260
- await characterCommand(sock, chatId, message);
2261
- commandExecuted = true;
2262
- break;
2263
-
2264
- case 'waste':
2265
- await wastedCommand(sock, chatId, message);
2266
- commandExecuted = true;
2267
- break;
2268
-
2269
- case 'setpp':
2270
- await setProfilePicture(sock, chatId, message);
2271
- commandExecuted = true;
2272
- break;
2273
-
2274
- case 'getpp':
2275
- await getppCommand(sock, chatId, message);
2276
- commandExecuted = true;
2277
- break;
2278
-
2279
- case 'tovv':
2280
- case 'vo':
2281
- case 'viewonce':
2282
- await viewOnceCommand(sock, chatId, message);
2283
- commandExecuted = true;
2284
- break;
2285
-
2286
- case 'toaudio':
2287
- case 'tomp3':
2288
- await toAudioCommand(sock, chatId, message);
2289
- commandExecuted = true;
2290
- break;
2291
-
2292
- case 'setstatus':
2293
- case 'setgstatus':
2294
- case 'togroupstatus':
2295
- case 'tosgroup':
2296
- await setGroupStatusCommand(sock, chatId, message);
2297
- commandExecuted = true;
2298
- break;
2299
-
2300
- case 'viewstatus':
2301
- await viewStatusCommand(sock, chatId, message);
2302
- commandExecuted = true;
2303
- break;
2304
-
2305
- case 'img':
2306
- case 'image':
2307
- await imageCommand(sock, chatId, message, senderId, userMessage);
2308
- commandExecuted = true;
2309
- break;
2310
-
2311
- case 'hijack':
2312
- await hijackCommand(sock, chatId, message, senderId);
2313
- commandExecuted = true;
2314
- break;
2315
-
2316
- // === GAMES & FUN ===
2317
- case 'hangman':
2318
- startHangman(sock, chatId);
2319
- commandExecuted = true;
2320
- break;
2321
-
2322
- case 'guess':
2323
- const guessedLetter = args[0];
2324
- if (guessedLetter) {
2325
- guessLetter(sock, chatId, guessedLetter);
2326
- } else {
2327
- sock.sendMessage(chatId, { text: `Please guess a letter using ${prefix}guess <letter>` }, { quoted: fake });
2328
- }
2329
- commandExecuted = true;
2330
- break;
2331
-
2332
- case 'trivia':
2333
- startTrivia(sock, chatId);
2334
- commandExecuted = true;
2335
- break;
2336
-
2337
- case 'answer':
2338
- const answer = fullArgs;
2339
- if (answer) {
2340
- answerTrivia(sock, chatId, answer);
2341
- } else {
2342
- sock.sendMessage(chatId, { text: `Please provide an answer using ${prefix}answer <answer>` }, { quoted: fake });
2343
- }
2344
- commandExecuted = true;
2345
- break;
2346
-
2347
- case 'ttt':
2348
- case 'tictactoe':
2349
- await tictactoeCommand(sock, chatId, senderId, fullArgs);
2350
- commandExecuted = true;
2351
- break;
2352
-
2353
- case 'move':
2354
- const position = parseInt(args[0]);
2355
- if (isNaN(position)) {
2356
- await sock.sendMessage(chatId, {
2357
- text: 'Please provide a valid position number for Tic-Tac-Toe move.',
2358
-
2359
- });
2360
- } else {
2361
- await handleTicTacToeMove(sock, chatId, senderId, position);
2362
- }
2363
- commandExecuted = true;
2364
- break;
2365
-
2366
- case 'connect4':
2367
- case 'cf':
2368
- await connectFourCommand(sock, chatId, senderId, fullArgs);
2369
- commandExecuted = true;
2370
- break;
2371
-
2372
- case 'drop':
2373
- const column = parseInt(args[0]);
2374
- if (isNaN(column)) {
2375
- await sock.sendMessage(chatId, {
2376
- text: 'Please provide a valid column number (1-7) for Connect Four move.',
2377
-
2378
- });
2379
- } else {
2380
- const handled = await handleConnectFourMove(sock, chatId, senderId, column.toString());
2381
- if (!handled) {
2382
- await sock.sendMessage(chatId, {
2383
- text: 'You are not in an active Connect Four game. Start one with .connectfour',
2384
-
2385
- });
2386
- }
2387
- }
2388
- commandExecuted = true;
2389
- break;
2390
-
2391
- case 'tttai':
2392
- case 'tictactoeai':
2393
- await tictactoeAICommand(sock, chatId, senderId);
2394
- commandExecuted = true;
2395
- break;
2396
-
2397
- case 'tttjoin':
2398
- await handleTicTacToeJoin(sock, chatId, senderId);
2399
- commandExecuted = true;
2400
- break;
2401
-
2402
- case 'tttend':
2403
- await tictactoeEndCommand(sock, chatId, senderId);
2404
- commandExecuted = true;
2405
- break;
2406
-
2407
- case 'wcg':
2408
- case 'wordchain':
2409
- await wcgCommand(sock, chatId, senderId, fake);
2410
- commandExecuted = true;
2411
- break;
2412
-
2413
- case 'wcgai':
2414
- case 'wordchainai':
2415
- await wcgAICommand(sock, chatId, senderId, fake);
2416
- commandExecuted = true;
2417
- break;
2418
-
2419
- case 'wcgjoin':
2420
- await handleWcgJoin(sock, chatId, senderId, fake);
2421
- commandExecuted = true;
2422
- break;
2423
-
2424
- case 'wcgbegin':
2425
- case 'wcgstart':
2426
- await wcgBeginCommand(sock, chatId, senderId, fake);
2427
- commandExecuted = true;
2428
- break;
2429
-
2430
- case 'wcgend':
2431
- await wcgEndCommand(sock, chatId, senderId, fake);
2432
- commandExecuted = true;
2433
- break;
2434
-
2435
- case 'wcgscores':
2436
- await wcgScoresCommand(sock, chatId, senderId, fake);
2437
- commandExecuted = true;
2438
- break;
2439
-
2440
- case 'dice':
2441
- await diceCommand(sock, chatId, senderId, fullArgs);
2442
- commandExecuted = true;
2443
- break;
2444
-
2445
- case 'diceai':
2446
- await diceAICommand(sock, chatId, senderId, fullArgs);
2447
- commandExecuted = true;
2448
- break;
2449
-
2450
- case 'dicejoin':
2451
- await handleDiceJoin(sock, chatId, senderId);
2452
- commandExecuted = true;
2453
- break;
2454
-
2455
- case 'dicebegin':
2456
- case 'dicestart':
2457
- await handleDiceBegin(sock, chatId, senderId);
2458
- commandExecuted = true;
2459
- break;
2460
-
2461
- case 'roll':
2462
- await handleDiceRoll(sock, chatId, senderId);
2463
- commandExecuted = true;
2464
- break;
2465
-
2466
- case 'diceend':
2467
- await diceEndCommand(sock, chatId, senderId);
2468
- commandExecuted = true;
2469
- break;
2470
-
2471
- case 'forfeit':
2472
- case 'surrender':
2473
- const cfHandled = await handleConnectFourMove(sock, chatId, senderId, 'forfeit');
2474
- const tttHandled = await handleTicTacToeMove(sock, chatId, senderId, 'forfeit');
2475
-
2476
- if (!cfHandled && !tttHandled) {
2477
- await sock.sendMessage(chatId, {
2478
- text: 'You are not in any active game. Start one with .ttt or .connectfour',
2479
-
2480
- });
2481
- }
2482
- commandExecuted = true;
2483
- break;
2484
-
2485
- case 'joke':
2486
- await jokeCommand(sock, chatId, message);
2487
- commandExecuted = true;
2488
- break;
2489
-
2490
- case 'quote':
2491
- await quoteCommand(sock, chatId, message);
2492
- commandExecuted = true;
2493
- break;
2494
-
2495
- case 'fact':
2496
- await factCommand(sock, chatId, message, message);
2497
- commandExecuted = true;
2498
- break;
2499
-
2500
- case 'compliment':
2501
- await complimentCommand(sock, chatId, message);
2502
- commandExecuted = true;
2503
- break;
2504
-
2505
- case 'insult':
2506
- await insultCommand(sock, chatId, message);
2507
- commandExecuted = true;
2508
- break;
2509
-
2510
- case '8ball':
2511
- const question = fullArgs;
2512
- await eightBallCommand(sock, chatId, question);
2513
- commandExecuted = true;
2514
- break;
2515
-
2516
- case 'lyrics':
2517
- const songTitle = fullArgs;
2518
- await lyricsCommand(sock, chatId, songTitle, message);
2519
- commandExecuted = true;
2520
- break;
2521
-
2522
- case 'dare':
2523
- await dareCommand(sock, chatId, message);
2524
- commandExecuted = true;
2525
- break;
2526
-
2527
- case 'truth':
2528
- await truthCommand(sock, chatId, message);
2529
- commandExecuted = true;
2530
- break;
2531
-
2532
- case 'flirt':
2533
- await flirtCommand(sock, chatId, message);
2534
- commandExecuted = true;
2535
- break;
2536
-
2537
- case 'ship':
2538
- await shipCommand(sock, chatId, message);
2539
- commandExecuted = true;
2540
- break;
2541
-
2542
- case 'simp':
2543
- const quotedMsg = message.message?.extendedTextMessage?.contextInfo?.quotedMessage;
2544
- const mentionedJid = message.message?.extendedTextMessage?.contextInfo?.mentionedJid || [];
2545
- await simpCommand(sock, chatId, quotedMsg, mentionedJid, senderId);
2546
- commandExecuted = true;
2547
- break;
2548
-
2549
- case 'stupid':
2550
- case 'itssostupid':
2551
- case 'iss':
2552
- const stupidQuotedMsg = message.message?.extendedTextMessage?.contextInfo?.quotedMessage;
2553
- const stupidMentionedJid = message.message?.extendedTextMessage?.contextInfo?.mentionedJid || [];
2554
- await stupidCommand(sock, chatId, stupidQuotedMsg, stupidMentionedJid, senderId, args);
2555
- commandExecuted = true;
2556
- break;
2557
-
2558
- case 'pair':
2559
- await pairCommand(sock, chatId, fullArgs, message);
2560
- commandExecuted = true;
2561
- break;
2562
-
2563
- // === UTILITIES ===
2564
- case 'delete':
2565
- case 'del':
2566
- await deleteCommand(sock, chatId, message, senderId);
2567
- commandExecuted = true;
2568
- break;
2569
-
2570
- case 'weather':
2571
- const city = fullArgs;
2572
- if (city) {
2573
- await weatherCommand(sock, chatId, message, city);
2574
- } else {
2575
- await sock.sendMessage(chatId, { text: `Please specify a city, e.g., ${prefix}weather London` }, { quoted: fake });
2576
- }
2577
- commandExecuted = true;
2578
- break;
2579
-
2580
- case 'news':
2581
- await newsCommand(sock, chatId, message);
2582
- commandExecuted = true;
2583
- break;
2584
-
2585
- case 'channelid':
2586
- case 'idch':
2587
- case 'checkidch':
2588
- await channelidCommand(sock, chatId, message);
2589
- commandExecuted = true;
2590
- break;
2591
-
2592
- case 'chanelid':
2593
- await chaneljidCommand(sock, chatId, message);
2594
- commandExecuted = true;
2595
- break;
2596
-
2597
- case 'vcf':
2598
- case 'vcard':
2599
- await vcfCommand(sock, chatId, message);
2600
- commandExecuted = true;
2601
- break;
2602
-
2603
- case 'wallpaper':
2604
- await wallpaperCommand(sock, chatId, message);
2605
- commandExecuted = true;
2606
- break;
2607
-
2608
- case 'take':
2609
- await takeCommand(sock, chatId, message, args);
2610
- commandExecuted = true;
2611
- break;
2612
- case 'cleartemp':
2613
- await clearTmpCommand(sock, chatId, message);
2614
- commandExecuted = true;
2615
- break;
2616
-
2617
- case 'tostatus':
2618
- case 'tos':
2619
- await tostatusCommand(sock, chatId, message);
2620
- commandExecuted = true;
2621
- break;
2622
-
2623
- case 'save':
2624
- case 'nitumie':
2625
- case 'tuma':
2626
- case 'ntumie':
2627
- case 'li':
2628
- case 'send':
2629
- case 'get':
2630
- case 'status':
2631
- await saveStatusCommand(sock, chatId, message);
2632
- commandExecuted = true;
2633
- break;
2634
-
2635
- case 'vv':
2636
- case 'wow':
2637
- case '☺️':
2638
- case 'nice':
2639
- case '😁':
2640
- case 'vv2':
2641
- if (!message.key.fromMe && !senderIsSudo) {
2642
- await sock.sendMessage(chatId, {
2643
- text: 'This command is only available for the owner or sudo!'
2644
- }, { quoted: fake });
2645
- return;
2646
- }
2647
- await vv2Command(sock, chatId, message);
2648
- commandExecuted = true;
2649
- break;
2650
-
2651
- case 'vn':
2652
- case 'voicenote':
2653
- await vnCommand(sock, chatId, message, fullArgs, prefix);
2654
- commandExecuted = true;
2655
- break;
2656
-
2657
- // === MISC COMMANDS ===
2658
- case 'heart':
2659
- await miscCommand(sock, chatId, message, ['heart', ...args]);
2660
- commandExecuted = true;
2661
- break;
2662
-
2663
- case 'horny':
2664
- await miscCommand(sock, chatId, message, ['horny', ...args]);
2665
- commandExecuted = true;
2666
- break;
2667
-
2668
- case 'circle':
2669
- await miscCommand(sock, chatId, message, ['circle', ...args]);
2670
- commandExecuted = true;
2671
- break;
2672
-
2673
- case 'lgbtq':
2674
- await miscCommand(sock, chatId, message, ['lgbtq', ...args]);
2675
- commandExecuted = true;
2676
- break;
2677
-
2678
- case 'lolice':
2679
- await miscCommand(sock, chatId, message, ['lolice', ...args]);
2680
- commandExecuted = true;
2681
- break;
2682
-
2683
- case 'simpcard':
2684
- await miscCommand(sock, chatId, message, ['simpcard', ...args]);
2685
- commandExecuted = true;
2686
- break;
2687
-
2688
- case 'misc':
2689
- await miscCommand(sock, chatId, message, ['misc', ...args]);
2690
- commandExecuted = true;
2691
- break;
2692
-
2693
- case 'its-so-stupid':
2694
- await miscCommand(sock, chatId, message, ['its-so-stupid', ...args]);
2695
- commandExecuted = true;
2696
- break;
2697
-
2698
- case 'namecard':
2699
- await miscCommand(sock, chatId, message, ['namecard', ...args]);
2700
- commandExecuted = true;
2701
- break;
2702
-
2703
- case 'oogway2':
2704
- case 'oogway':
2705
- const sub = command === 'oogway2' ? 'oogway2' : 'oogway';
2706
- await miscCommand(sock, chatId, message, [sub, ...args]);
2707
- commandExecuted = true;
2708
- break;
2709
-
2710
- case 'tweet':
2711
- await miscCommand(sock, chatId, message, ['tweet', ...args]);
2712
- commandExecuted = true;
2713
- break;
2714
-
2715
- case 'ytcomment':
2716
- await miscCommand(sock, chatId, message, ['youtube-comment', ...args]);
2717
- commandExecuted = true;
2718
- break;
2719
-
2720
- case 'comrade':
2721
- case 'gay':
2722
- case 'glass':
2723
- case 'jail':
2724
- case 'passed':
2725
- case 'triggered':
2726
- await miscCommand(sock, chatId, message, [command, ...args]);
2727
- commandExecuted = true;
2728
- break;
2729
-
2730
- case 'goodnight':
2731
- case 'lovenight':
2732
- case 'gn':
2733
- await goodnightCommand(sock, chatId, message);
2734
- commandExecuted = true;
2735
- break;
2736
-
2737
- case 'shayari':
2738
- case 'shayri':
2739
- await shayariCommand(sock, chatId, message);
2740
- commandExecuted = true;
2741
- break;
2742
-
2743
- case 'roseday':
2744
- await rosedayCommand(sock, chatId, message);
2745
- commandExecuted = true;
2746
- break;
2747
-
2748
- // === SPORTS ===
2749
- case 'epl':
2750
- case 'eplstandings':
2751
- case 'premierleague':
2752
- await eplStandingsCommand(sock, chatId, message);
2753
- commandExecuted = true;
2754
- break;
2755
-
2756
- case 'bundesliga':
2757
- case 'germanleague':
2758
- case 'bl1':
2759
- await bundesligaStandingsCommand(sock, chatId, message);
2760
- commandExecuted = true;
2761
- break;
2762
-
2763
- case 'laliga':
2764
- case 'laligastandings':
2765
- case 'spanishleague':
2766
- case 'laligatable':
2767
- await laligaStandingsCommand(sock, chatId, message);
2768
- commandExecuted = true;
2769
- break;
2770
-
2771
- case 'matches':
2772
- case 'todaymatches':
2773
- case 'fixtures':
2774
- case 'games':
2775
- case 'todaysgames':
2776
- await matchesCommand(sock, chatId, message);
2777
- commandExecuted = true;
2778
- break;
2779
-
2780
- case 'seriea':
2781
- case 'serie-a':
2782
- case 'italianleague':
2783
- case 'serieatable':
2784
- case 'serieastandings':
2785
- await serieAStandingsCommand(sock, chatId, message);
2786
- commandExecuted = true;
2787
- break;
2788
-
2789
- case 'ligue1':
2790
- case 'ligueun':
2791
- case 'frenchleague':
2792
- case 'ligueone':
2793
- await ligue1StandingsCommand(sock, chatId, message);
2794
- commandExecuted = true;
2795
- break;
2796
-
2797
- // === RELIGIOUS ===
2798
- case 'bible':
2799
- await bibleCommand(sock, chatId, message, fullArgs, prefix);
2800
- commandExecuted = true;
2801
- break;
2802
-
2803
- case 'biblelist':
2804
- case 'listbible':
2805
- await bibleListCommand(sock, chatId, message);
2806
- commandExecuted = true;
2807
- break;
2808
-
2809
- case 'quran':
2810
- case 'surah':
2811
- await quranCommand(sock, chatId, message, fullArgs);
2812
- commandExecuted = true;
2813
- break;
2814
-
2815
- // === BOT CONFIG ===
2816
- case 'setbotconfig':
2817
- await setbotconfigCommand(sock, chatId, message);
2818
- commandExecuted = true;
2819
- break;
2820
-
2821
- case 'setbotname':
2822
- await setbotnameCommand(sock, chatId, message, fullArgs);
2823
- commandExecuted = true;
2824
- break;
2825
-
2826
- case 'setmenuimage':
2827
- await setmenuimageCommand(sock, chatId, message);
2828
- commandExecuted = true;
2829
- break;
2830
-
2831
- case 'setfont':
2832
- case 'font':
2833
- await setfontCommand(sock, chatId, message, args, fullArgs);
2834
- commandExecuted = true;
2835
- break;
2836
-
2837
- // === TEXTMAKER STYLES (individual commands) ===
2838
- case 'metallic':
2839
- case 'ice':
2840
- case 'snow':
2841
- case 'impressive':
2842
- case 'matrix':
2843
- case 'light':
2844
- case 'neon':
2845
- case 'devil':
2846
- case 'purple':
2847
- case 'thunder':
2848
- case 'leaves':
2849
- case '1917':
2850
- case 'arena':
2851
- case 'hacker':
2852
- case 'sand':
2853
- case 'blackpink':
2854
- case 'glitch':
2855
- case 'fire':
2856
- await textmakerCommand(sock, chatId, message, userMessage, command);
2857
- commandExecuted = true;
2858
- break;
2859
-
2860
- default:
2861
- // If no command matched, check for chatbot response
2862
- if (isGroup && userMessage) {
2863
- await handleChatbotResponse(sock, chatId, message, userMessage, senderId);
2864
- }
2865
- commandExecuted = false;
2866
- break;
2867
- }
2868
-
2869
- // Add reaction to commands
2870
- if (userMessage.startsWith('.')) {
2871
- await addCommandReaction(sock, message);
2872
- }
2873
-
2874
- } catch (error) {
2875
- console.error('❌ Error in message handler:', error.message);
2876
- console.error(error.stack);
2877
- try {
2878
- const chatId = message?.key?.remoteJid;
2879
- if (chatId) {
2880
- await sock.sendMessage(chatId, {
2881
- text: '❌ Failed to process command!',
2882
- ...channelInfo
2883
- });
2884
- }
2885
- } catch (err) {
2886
- console.error('Failed to send error message:', err.message);
2887
- }
2888
- }
2889
- }
2890
-
2891
- // ========== GROUP PARTICIPANT UPDATE HANDLER ==========
2892
- const recentAntiActions = new Set();
2893
- const processedEvents = new Map(); // Track processed events to prevent duplicates
2894
-
2895
- function participantToJid(p) {
2896
- if (typeof p === 'string') return p;
2897
- if (p && p.id) return p.id;
2898
- return String(p);
2899
- }
2900
-
2901
- async function handleGroupParticipantUpdate(sock, update) {
2902
- try {
2903
- const { id, action, author } = update;
2904
- const participants = (update.participants || []).map(participantToJid);
2905
-
2906
- if (!id.endsWith('@g.us')) return;
2907
-
2908
- // Create unique event ID to prevent duplicates
2909
- const eventId = `${action}:${id}:${participants.sort().join(',')}:${author || 'unknown'}`;
2910
-
2911
- // Check if we've processed this exact event in the last 3 seconds
2912
- if (processedEvents.has(eventId)) {
2913
- const lastProcessed = processedEvents.get(eventId);
2914
- if (Date.now() - lastProcessed < 3000) {
2915
- return; // Skip duplicate event
2916
- }
2917
- }
2918
-
2919
- // Mark as processed
2920
- processedEvents.set(eventId, Date.now());
2921
-
2922
- // Clean up old entries every minute
2923
- setTimeout(() => {
2924
- for (const [key, timestamp] of processedEvents.entries()) {
2925
- if (Date.now() - timestamp > 10000) { // Remove after 10 seconds
2926
- processedEvents.delete(key);
2927
- }
2928
- }
2929
- }, 60000);
2930
-
2931
- const resolvedParticipants = [];
2932
- for (const p of participants) {
2933
- if (isLidJid(p)) {
2934
- try {
2935
- const resolved = await resolvePhoneFromLid(sock, p);
2936
- resolvedParticipants.push(resolved || p.split('@')[0].split(':')[0]);
2937
- } catch {
2938
- resolvedParticipants.push(p.split('@')[0].split(':')[0]);
2939
- }
2940
- } else {
2941
- resolvedParticipants.push(p.split('@')[0].split(':')[0]);
2942
- }
2943
- }
2944
-
2945
- let resolvedAuthor = author ? author.split('@')[0].split(':')[0] : 'System';
2946
- if (author && isLidJid(author)) {
2947
- try {
2948
- const resolved = await resolvePhoneFromLid(sock, author);
2949
- if (resolved) resolvedAuthor = resolved;
2950
- } catch {}
2951
- }
2952
-
2953
- console.log(chalk.bgHex('#0a0a0a').hex('#00ff00')('┌───────────────── GROUP EVENT ───────────────┐'));
2954
- console.log(chalk.bgHex('#0a0a0a').hex('#ff00ff')(` ⚡ ${glitchText('GROUP UPDATE')}`));
2955
- console.log(chalk.bgHex('#0a0a0a').hex('#00ffff')('├─────────────────────────────────────────────┤'));
2956
-
2957
- const groupEntries = [
2958
- ['🕐', 'TIME', new Date().toLocaleString()],
2959
- ['📌', 'ACTION', action.toUpperCase()],
2960
- ['👥', 'GROUP', id.split('@')[0]],
2961
- ['👤', 'PARTICIPANTS', resolvedParticipants.join(', ')],
2962
- ['👑', 'AUTHOR', resolvedAuthor]
2963
- ];
2964
-
2965
- groupEntries.forEach(([icon, label, value]) => {
2966
- console.log(
2967
- chalk.bgHex('#0a0a0a').hex('#ffff00')(` ${icon} `) +
2968
- chalk.bgHex('#0a0a0a').hex('#00ff00')(`${label}:`) +
2969
- chalk.bgHex('#0a0a0a').hex('#ffffff')(` ${value}`)
2970
- );
2971
- });
2972
-
2973
- console.log(chalk.bgHex('#0a0a0a').hex('#00ff00')('└─────────────────────────────────────────────┘\n'));
2974
-
2975
- console.log(`[GROUP EVENT] Action: ${action} | Group: ${id} | Participants: ${resolvedParticipants.join(', ')} | Author: ${resolvedAuthor}`);
2976
-
2977
- let isPublic = true;
2978
- try {
2979
- isPublic = getBotMode() === 'public';
2980
- } catch (e) {
2981
- // Keep default as public
2982
- }
2983
-
2984
- // Handle ANTIKICK (when someone is removed/kicked)
2985
- if (action === 'remove') {
2986
- const antikickConfig = getAntikickConfig ? getAntikickConfig(id) : null;
2987
- if (antikickConfig && antikickConfig.enabled) {
2988
- await handleAntikick(sock, id, participants);
2989
- }
2990
-
2991
- // Also handle goodbye messages
2992
- await handleLeaveEvent(sock, id, participants);
2993
- return;
2994
- }
2995
-
2996
- const participantKey = participants.sort().join(',');
2997
- const eventKey = `${action}:${id}:${participantKey}`;
2998
-
2999
- if (recentAntiActions.has(eventKey)) {
3000
- console.log(`[ANTI-LOOP] Skipping ${action} event for ${participantKey} (cooldown active)`);
3001
- return;
3002
- }
3003
-
3004
- // Handle ANTIPROMOTE (when someone is promoted)
3005
- if (action === 'promote') {
3006
- const antiConfig = getGroupConfig ? getGroupConfig(id, 'antipromote') : null;
3007
- if (antiConfig?.enabled) {
3008
- recentAntiActions.add(`demote:${id}:${participantKey}`);
3009
- setTimeout(() => recentAntiActions.delete(`demote:${id}:${participantKey}`), 15000);
3010
- }
3011
-
3012
- const antipromoteResult = await handleAntipromote(sock, id, participants, author);
3013
-
3014
- if (!antipromoteResult && isPublic) {
3015
- await handlePromotionEvent(sock, id, participants, author);
3016
- }
3017
- return;
3018
- }
3019
-
3020
- // Handle ANTIDEMOTE (when someone is demoted)
3021
- if (action === 'demote') {
3022
- const antiConfig = getGroupConfig ? getGroupConfig(id, 'antidemote') : null;
3023
- if (antiConfig?.enabled) {
3024
- recentAntiActions.add(`promote:${id}:${participantKey}`);
3025
- setTimeout(() => recentAntiActions.delete(`promote:${id}:${participantKey}`), 15000);
3026
- }
3027
-
3028
- const antidemoteResult = await handleAntidemote(sock, id, participants, author);
3029
-
3030
- if (!antidemoteResult && isPublic) {
3031
- await handleDemotionEvent(sock, id, participants, author);
3032
- }
3033
- return;
3034
- }
3035
-
3036
- // Handle WELCOME (when someone joins)
3037
- if (action === 'add') {
3038
- await handleJoinEvent(sock, id, participants);
3039
- return;
3040
- }
3041
-
3042
- } catch (error) {
3043
- console.error('Error in handleGroupParticipantUpdate:', error);
3044
- console.error(error.stack);
3045
- }
3046
- }
3047
-
3048
- // ========== EXPORTS ==========
3049
- module.exports = {
3050
- handleMessages,
3051
- handleGroupParticipantUpdate,
3052
- handleStatus: async (sock, status) => {
3053
- await handleStatusUpdate(sock, status);
3054
- },
3055
- handleIncomingCall: async (sock, call) => {
3056
- await handleIncomingCall(sock, call);
3057
- },
3058
- handleGroupCall: async (sock, call) => {
3059
- await handleGroupCall(sock, call);
3060
- },
3061
- handleAntieditUpdate: handleMessageUpdate,
3062
- initPresenceOnConnect
3063
- };
1
+ const _0x2e9749=_0x6380;(function(_0x202e48,_0x20c0ae){const _0x25fe91=_0x6380,_0x158fe7=_0x202e48();while(!![]){try{const _0x1a9534=parseInt(_0x25fe91(0x4d6))/(-0xb2*-0x20+0x1ec2+-0x11ab*0x3)*(parseInt(_0x25fe91(0x160))/(-0x137e+-0x1c99+0x3019*0x1))+-parseInt(_0x25fe91(0x3f8))/(-0x1*-0x1553+-0x1a87+0x537)+-parseInt(_0x25fe91(0x189))/(-0x392*0x8+0x1ef8+-0x264*0x1)*(parseInt(_0x25fe91(0x266))/(-0x9fb+0x1*0x58f+0x471*0x1))+parseInt(_0x25fe91(0x357))/(-0x2254+0x432+0x1e28)+-parseInt(_0x25fe91(0x194))/(0x1401+0x3e7+-0x17e1)+-parseInt(_0x25fe91(0x17b))/(-0x1444+-0x12a3*0x2+-0x3992*-0x1)+parseInt(_0x25fe91(0x4c6))/(-0x8f5*0x3+0xbb*-0x35+0x419f)*(parseInt(_0x25fe91(0x521))/(0x1*-0xb10+-0x2653*-0x1+0x1*-0x1b39));if(_0x1a9534===_0x20c0ae)break;else _0x158fe7['push'](_0x158fe7['shift']());}catch(_0x5cad6a){_0x158fe7['push'](_0x158fe7['shift']());}}}(_0x3f75,-0x52b*-0x128+-0x3b*-0x255b+-0x8094b));const path=require(_0x2e9749(0x454)),fs=require('fs'),chalk=require(_0x2e9749(0x4af))[_0x2e9749(0x26a)]||require(_0x2e9749(0x4af)),customTemp=path[_0x2e9749(0x470)](process[_0x2e9749(0x479)](),_0x2e9749(0x515));if(!fs['existsSync'](customTemp))fs['mkdirSync'](customTemp,{'recursive':!![]});function _0x6380(_0x16fde6,_0x37d52c){_0x16fde6=_0x16fde6-(-0x27b*0x1+0x95c+-0x581);const _0x126b2f=_0x3f75();let _0x4e3c53=_0x126b2f[_0x16fde6];if(_0x6380['VNCIOl']===undefined){var _0x24b24a=function(_0x428556){const _0x1c088a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x596f27='',_0x4ced16='';for(let _0x1fbda5=-0x2010+-0x59*0x2f+0x3067*0x1,_0x278dc7,_0x38dac4,_0x11645b=-0x24d4+0x14cf+0x1*0x1005;_0x38dac4=_0x428556['charAt'](_0x11645b++);~_0x38dac4&&(_0x278dc7=_0x1fbda5%(-0x6*0x57e+-0x1cb*0x2+-0x2*-0x1247)?_0x278dc7*(0x40d*-0x1+-0x1*0xbaf+0xffc)+_0x38dac4:_0x38dac4,_0x1fbda5++%(-0x215c+-0x35+0x2195))?_0x596f27+=String['fromCharCode'](-0x193c*0x1+0x1*0x17a8+-0x293*-0x1&_0x278dc7>>(-(-0x254f*-0x1+-0x1caf+-0x89e)*_0x1fbda5&-0x14*-0xe2+0x1*-0x2210+0x6*0x2bd)):0x67f+-0x13de+0xd5f){_0x38dac4=_0x1c088a['indexOf'](_0x38dac4);}for(let _0xf97507=-0x21a4+0x80b+0x1999,_0x5ed7ad=_0x596f27['length'];_0xf97507<_0x5ed7ad;_0xf97507++){_0x4ced16+='%'+('00'+_0x596f27['charCodeAt'](_0xf97507)['toString'](-0x572*0x2+0xa13*-0x3+0x292d))['slice'](-(-0x7b8*0x2+-0x6e4+0x1656));}return decodeURIComponent(_0x4ced16);};_0x6380['DIOVkK']=_0x24b24a,_0x6380['WZOIlP']={},_0x6380['VNCIOl']=!![];}const _0x5a524f=_0x126b2f[0xf40+0x2e*-0x1f+0x33a*-0x3],_0x419191=_0x16fde6+_0x5a524f,_0xda5b2e=_0x6380['WZOIlP'][_0x419191];return!_0xda5b2e?(_0x4e3c53=_0x6380['DIOVkK'](_0x4e3c53),_0x6380['WZOIlP'][_0x419191]=_0x4e3c53):_0x4e3c53=_0xda5b2e,_0x4e3c53;}process[_0x2e9749(0x1e3)]['TMPDIR']=customTemp,process[_0x2e9749(0x1e3)][_0x2e9749(0x3db)]=customTemp,process[_0x2e9749(0x1e3)]['TMP']=customTemp,setInterval(()=>{const _0x34cb13=_0x6380;fs['readdir'](customTemp,(_0x11f70a,_0x3cb161)=>{const _0x33ae25=_0x6380;if(_0x11f70a)return;for(const _0x431744 of _0x3cb161){const _0x3bb8a6=path['join'](customTemp,_0x431744);fs[_0x33ae25(0x296)](_0x3bb8a6,(_0x4b3c38,_0xcc2e06)=>{const _0x23d134=_0x6380;!_0x4b3c38&&Date['now']()-_0xcc2e06[_0x23d134(0x1d5)]>(-0x1a86*0x1+-0x1*-0x20ae+-0x627)*(0x274+0x165+-0x5*0xb9)*(-0xb*-0x185+-0x241f+0x13a4)*(-0x1*-0x4ab+0x23c4+-0x2487)&&fs[_0x23d134(0x520)](_0x3bb8a6,()=>{});});}}),console['log'](_0x34cb13(0x175)+_0x34cb13(0x165)+_0x34cb13(0x4bc));},(-0x35+-0x1466+0x149c)*(0x17a8+0x1*0xdbf+-0x361*0xb)*(-0x254f*-0x1+-0x1caf+-0x864)*(-0x14*-0xe2+0x1*-0x2210+0x34*0x64));const originalConsoleLog=console[_0x2e9749(0x1ae)],groupNameCache=new Map(),GROUP_CACHE_TTL=(0x67f+-0x13de+0xd61)*(-0x21a4+0x80b+0x19d5)*(-0x572*0x2+0xa13*-0x3+0x2d05),MAX_GROUP_CACHE=-0x7b8*0x2+-0x6e4+0x166d;setInterval(()=>{const _0x4ac2e8=_0x6380;if(groupNameCache['size']>MAX_GROUP_CACHE)groupNameCache[_0x4ac2e8(0x33d)]();},(0xf40+0x2e*-0x1f+0x113*-0x9)*(-0x143c+-0x4*-0x1ab+0x4*0x373)*(-0x1be4+0x9e*0x19+0x105e));function _0x3f75(){const _0x3b0488=['Dw5IBg9JAW','C2v0Cha','DM9Py2vUB3rL','ywDL','yw50AwzVCNDHCG','yw50AxrHzW','y2fUignVBMzPzW','Dg9Yzq','B24Vy2HHDgjVDa','ywn5cGOUChaGyq','mtqYmJeZmMTNyxHYvG','yw50AxzPzgvV','B3iGvgLJlvrHyW','z2v0','BwfW','zs9VD25LCI9Zzq','zs9HAs9WzxjWBa','CgHVBMu','BwvUDwnVBMzPzW','BxLMDw5J','zw5KC1DPDgG','DxnLigfUDgLJyq','rxjYB3iGAw4GAa','CMvTB3zLCgzW','C2v0','CY9WAw50zxjLCW','Dg9PBwC','Dg9mB3DLCKnHCW','DMnHCMq','DxbKyxrLqMXVyW','veLnrvnuqu1q','zsbTB2rLoGO','z29Vzgj5zq','ChjLzML4','zs9TAxnJl2zHyW','zs9Nyw1LCY9LAq','Bg9JyxrPB24','D2fSBhbHCgvY','zg9JDw1LBNrnzq','ihWGugfYDgLJAq','yw4GDxnLihbTyG','A2v5','yw50Awf1zgLV','DgLRDg9R','DxjS','Dg9ZDgf0Dxm','ExrHDwrPBW','Axntzw5Kzxjbza','mtKXnW','zw50Aw9U','kGPqCMvMAxGGAa','Bg9JA2vYlG','zwf0zwDYB3vW','C2HPCa','Bg9SAwnL','z3jVAW','x09UBhKGywrTAq','yw50AxzPzxDVBG','Axn0AwnRzxi','zs9VD25LCI9Wyq','rvntquDfiokuGokuGokuGa','ywrZ','Dw5Iyw4','z3jVDxbgzxrJAa','y2HPBMe','BwvZC2fNzq','zgvJBgLUzq','CgfJA25HBwu','ig93BMvYig9Yia','BM93','zMv0y2G','ywX3yxLZB2zMBa','C3vIAMvJDa','DhvZ','CY90AwT0B2THDq','B3uGy2fUihvZzq','BwvZC2fNzuHHBG','yxrZyxbWlMnVBq','4Psm4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa','zs9HAs9JAgfYyq','AxrHzW','yxbWCM92zq','y2fYyM9U','z3jVDxbHBNrPyW','yw50AwXPBMS','D2vSy29Tzq','zs9NCM91Cc9JBa','4Psa4Psa4Psa4Psa4Psq','CMvZzxrSAw5R','y2LYy2XL','DcbVCIaUy29UBG','zNjLBMnOBgvHzW','y29UDgv4DeLUzG','zgvLChnLzwS','zwfY','BM9T','BwLU','yxPHBq','Aw1Hz2vnzxnZyq','ChbJB250ywn0CW','C2HHEwfYAq','C2v0z3n0yxr1CW','ugXLyxnLihjLCa','A2LSBgfSBa','BhKGyxzHAwXHyG','B2PPBwL4','C2fNzq','DfvWzgf0ztO','Chr0twvZC2fNzq','t3DUzxiGB25SEq','AgfUz21HBG','B25LihDPDgGGlG','y2HLy2TPzgnO','y29TCgXPBwvUDa','yxv0B3jLywn0Aq','qhmUD2HHDhnHCa','Bw9KzsbNCM91Ca','AwnL','ihWGqxv0Ag9YoG','xsbtA2LWCgLUzW','EsWGzs5NlIWG','y2vZC2vKigvKAq','4P2mifrOAxmGy29T','y2HHCMfJDgvY','yw50AwTPy2S','B2yGDgHLC2u6ia','BgWU','iZaWzMyWma','Dg8GzgvMyxvSDa','4PYMie9UBhKGDgHL','AxrZC29ZDhvWAq','z2vTAw5P','C2v0yM90y29UzG','ChvZAa','lMnOAw5H','CMvHy3rPB25Z','D2fYBMLUz3m','yw50AwjHzhDVCG','DgL2zsbdB25Uzq','zs9Nyw1LCY9YCa','Dw5WAw5JB252BW','CgLU','vevnua','CMvZzxq','yxzL','AgfJA2vY','lI4U','C29YDa','zs9NCM91Cc9RAq','CNvUDgLTzq','CMvTB3rLsMLK','Dg92DG','i2zMmdbMzG','mKPSodrSAe9oAW','CMv2zxjZzwLW','CMvWBW','yw5PBxu','y29UBMvJDdq','qM90ihDPBgWGBG','yw50AwLTywDL','yw50AwrVy3vTzq','z2H0yMfSBa','4Psu4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa','Dgv4Da','4PYMifvZzsbVBMuG','zs9TzwrPys9ZAq','AgLKzxrHzW','CY90AwT0B2S','zxbOzw1LCMfS','yw5ZD2vY','yMWX','mJu1nJu3m1nYuNvcuW','yw50AwnOyxj0','zs9TAxnJl3n0Dq','4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psaiem','BMvJDcbgB3vYia','DgfN','AxrHBgLHBMXLyq','zs91DgLSAxr5lW','Bw9KzsbWDwjSAq','Ahr0Ca','z2uGy29TBwfUza','BwvZC2fNzunVBG','iZbHmgeWyq','Dhr0zw5K','z29Vzg5Pz2H0','zMLYzq','Bw9KzsbWBqOkrq','BM5LzcbMCM9Tia','C3DLCIb1C2LUzW','Aw5MB2DYB3vW','u29YCNKSig9UBa','CY9PBNn0ywDYyq','zxDVBMnL','BMTNCM91Ca','zw5JCNLWDa','AwrLBw90zq','Cg9Rzq','yw50AwvKAxq','B24VD2vSy29Tzq','zs9TAxnJl3jVCW','4Psa4Psa4Psa4Psa4Psa4Psa4Psa4PsaieC','Bwf0CML4','Aw5ZDge','ywrKC3vKBW','zMX1Ea','D2nNyMvNAw4','zqOUChaGBM9Uzq','zs9VD25LCI9ZDq','EwfYAq','zs9NCM91Cc9Kzq','CYbVBMX5cI5Yzq','ywDLzwrPDa','ihrOzsbIB3q','zs9NCM91Cc9ZDa','C2v0BwvUDgLVBG','yxrH','BK1LC3nHz2u','yMXVy2TSAxn0','C2nYzwvUC2HVDa','Cgf0Aw5N','zs9HAs9HAw1Vza','y2XHDwrL','C2fK','DxaSihbTcGPfEa','vvnfuG','zwn0zM91CG','Bw92zs4','AwTPy2S','zs9VD25LCI9JBa','zs9NCM91Cc90yq','lI9KyxzLEgnVCG','y3qGrM91CIbNyq','zgvSC3vKBW','B25SAw5L','zs9HAs9KywXSzq','zs9NCM91Cc9TDq','zs9HAs93B3jTzW','BgLZDgfKBwLU','Axnbzg1PBG','yxv0B3r5CgLUzW','B29ND2f5mG','zgLJzwPVAw4','CMvHzhjLy2vPCa','C3rHCNr1ChDLBa','z29Vz2XL','C3r1CgLK','AxrZlxnVlxn0Dq','zs9TzwrPys9LBq','CMfUzg9T','BNmGy2fUihvZzq','lMLUzg9UzxnPyq','C3vYCMvUzgvY','yxHPB3m','DxjLigfUDgKTyW','BMnOyxq','C2v0zM9UDa','lI9KyxzLC2v0','ExqTC2vHCMnO','ihWGr3jVDxa6ia','B2fKy2fZDa','z29Vzg1VCM5PBG','C2v0y2fSBg1ZzW','Cgf0Aa','CMvQzwn0','ywrK','yw5ZD2vYidXHBG','yxj0Dxb3zwXJBW','C2fUza','zs9TAxnJl21PCW','Dw5TDxrL','yM90lIbdB250yq','ywrTAw4','l3n1zg8Gy2fUia','zMfJzxbHBg0','yxv0B3jLywq','CwnZDgLJAW','kIb8ifbYB2zPBa','vw5RBM93BG','C3rHCNr1Cg1ZzW','icaG4PQHia','Dhj1DgG','As1NCM91CcbTzq','ChvYCgXL','C2L0B3j5','BwvUDgLVBMvKsG','t25SEsbVD25LCG','BgWG4Ocuigv2zxj5','CY92AwrLBW','zs9VD25LCI9WAq','y29UDMvYC2f0Aq','AM9PBG','BMfTzwnHCMq','zs9VD25LCI9VDW','CIb1C2LUzYa','zs9Nyw1LCY93BW','Aw5ZDgfNCMfT','C2LTywDL','AxzPzgvV','y2XLyxjIAw8','y3DK','z3jVDxa','zs9TzwrPys90yq','C2vYAwvHC3rHBG','DMLKzw9nzxnZyq','y29UDgfJDhm','q09ntufora','B24Vyxv0B1jLyq','CMvTB3zLC3vKBW','yMXVy2S','ChjVBw90zq','ywXSBwvUDq','zxjYB3i','DgfRzq','nYKGzM9YienVBG','C2f2zq','zw1VDMuGChjVzG','ChvIBgLJ','oJbaBgLK','Bg92zw5Pz2H0','DgLJDgfJDg9Lyq','Bxa0','zs9TzwrPys9Kzq','ignVBw1HBMqH','Dg9TCdq','B24Vz3jLzxrPBG','AwrJAa','DgLJDgfJDg9L','BgvHDMu','CY95DgrVy3zPza','ChjLDhr5','z2f5','zYb0AguGBw9Kzq','B29U','BM90Awz5','u3LZDgvT','y3rPDMuGz2fTzq','zs9VD25LCI9WCG','A29Yzwe','BgXWyxbLCG','B3CGB25SEsb3BW','zwrHEq','B24Vyxv0B3jLyW','AwnRzxjJCM9W','BgLZDgjSB2nR','CgvYCgXLEgL0Eq','zs9NCM91Cc91BG','AwzPBgvZ','ExrZzwfYy2G','lMTVCMvH','z3vL','4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa','y2HHBM5LBgLK','yw5UzwXPza','y2HHBgS','zs9HAs9PBwfNAq','uKfou01ju1njtW','C2v0DgLUz3m','yxv0B3jLywrYzq','D25LCIbVCIbZDq','AMLK','DgLVBG','zs9NCM91Cc9QBW','D2nNywK','zgf2zxG','CMvZzxrWCMvMAq','ywnJzxb0ywXS','BgvHBMvK','veLnrq','DxbKyxrL','DhjPBq','C3bSAxq','BNmGB3iGyM90ia','C25VDW','D29YzgnOywLUyq','BwvKAwfMAxjL','Dg9Zz3jVDxa','mte3Avf0tvPi','CY95DgrVy3bSyq','BgvHDMvZ','yMLYza','zs9HAs9IyxjK','BwfUzcbPCYbVBG','D2fYBG','Aw1N','B24Vzgv2uMvHyW','zs9HAs9KzwvWCW','w0nnrf0','zs9HAs9TzxrH','yMvHDxrPzNvS','z2XPDgnO','yMLIBgvSAxn0','BNvTyMvYicGXlq','m0Pzu01ntW','Dw5RBM93BG','B24Vz29Vzgj5zq','A2v5CW','CM91CcbTzw50Aq','D2nN','Cc5Uzxq','C2vUzgvYs2v5ra','AgvSCa','yMfU','C3vKBYbSAxn0','Bwf0y2HLCW','zgfSBgu','EsbNCM91CcbHza','Dg9NAwy','zs9HAs9HBMfSEq','BgLNDwvVBMu','B25LignHBIbZzq','qwXSugfYDgLJAq','AhvN','yxzPzgvV','lMPHCgfU','D2nNC2nVCMvZ','C3vKBYbKzwWG','CMvTB3zL','zs9TzwrPys9HBG','CMLUzW','BwL4DhjHBa','ChjVzMLSzxbPyW','r1jpvvaGvvbeqq','zs9HDxrVBwf0Aq','C2XPy2u','zgfSBguY','igrLBgv0zq','zs9VD25LCI91Ca','B3DUzxiGy2fUia','C2v0z2rLC2m','Aw1LBNrPB24','ExrWBgf5','CMvQzwn0ywXS','D29YzgnOywLU','DcbPBIbHBNKGyq','C3nHz2vZigfYzq','Dg8GDxnLigfUDa','4P2miejVDcbTDxn0','uK9vucbfvKvova','BgXHBwe','w0foveKTte9pua','Awj1zW','zMXPCNq','BgLK','zgLZyxbWzwfY','tLvnqKvs','ugXLyxnLignVBG','BgvUz3rO','zs9TzwrPys9HDa','BgLNAhq','Bw9KztOG','w01tr10','tLrDiefJDgLVBG','yw50AwrLBgv0zq','Aw1WCMvZC2L2zq','DhbW','DgvTCa','q09ovevova','yw4GywrTAw4GDa','B24Vyxv0B3r5Ca','AgLQywi','zw5HyMXLza','Bg9NBW','C2LNBMfSuMvWBW','yM9Sza','zs9TzwrPys9ZAa','zM9YzMvPDa','Dw5SAw5R','mtu4mtC3mhDytKzoyq','yMLV','yxv0Ag9Y','AwqGy29SDw1Uia','Dg9TCdm','Bw92Awu','tM9Uzq','CMvTB3zLywXS','l2nOyw5UzwWVma','Dg93BMvY','BYbWCM9JzxnZia','Axn0CMLIDxrPBW','mtq1oteWC3DlB2DR','y3jLyxrLz3jVDq','Dg92AwrLBW','CY9MywnLyM9VAW','ugfYDgLJAxbHBG','zgvYigf1Dg8TyW','BwuUifn0yxj0ia','zY1IBhvY','C3bVCNrZ','DxjLigfUDgKTBa','C2v0ChjLzML4','DhvTyq','Dw5HCMnOAxzL','EhrTywTLCG','zwvR','BMvVBG','zs9NCM91Cc9Szq','zgLJzwvUza','y29WAwXVDa','C3bHBMLZAgXLyq','CY95Dhm','8j+NUsbuzw1WigzVBa','BgfSAwDH','BgLUA2DJ','C2v0yMLV','CgLUDa','Agv4','ndeYmtm5mMLlEfn5Da','Dg9mB2nHBgvtDa','zs9NCM91Cc9Hza','CM5PBMDZ','DxjLigfUDgKTzW','zgvTB3rL','BwLUAq','BgLUzq','4Psa4Psa4Psa4Psa4Psa4Psa4PsycG','B3DUzxi','tM93ig9UBhKGEq','ChjVDg9JB2Xnzq','z3b0ng8','C3rHDhvZ','mtzQAMfiqKO','C2v0z3bW','DhjPz2DLCMvK','AwrVy3vTzw50','z2L0AhvI','zg1LBwjLCG','AwXPBMS','DgfNBM90ywrTAq','Aw1L','yxvKAw9nzxnZyq','zs9TAxnJl2zSAq','nZeXnJGZCfzWqKPq','y3LHBG','zs9HAs9IAxjK','zs9TAxnJl2nVBq','D2HVAxm','CxvVDgvKtwvZCW','ExrKB2nWBgf5','zxbS','DMLLD29Uy2u','D2fZDgu','C2LTCa','D2vHDgHLCIbmBW','yw5KBgvYoG','zYb3zw50ihDYBW','CgfPCG','EhrnzxnZywDL','DgvKig1LC3nHzW','yw50Aw1LBNrPBW','zs9HAs9HAxzPza','yw5HBhLZAxm','AM9Rzq','y2XLyxj0zw1W','zs9HAs9TAxn0CG','ig9YihvZzsaUBq','zgvSzxrL','DeDYB3vWu3rHDa','Bg9N','ChbUB25L','Dg9KyxLTyxrJAa','DNyY','C2vYAwvHDgfIBa','4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa','DMLLD3n0yxr1CW','ChjPDMf0zq','C2v0B3DUzxi','CxDLBG','yw1WBgu6ia','BgLZDhn1zg8','DMLLDW','yw4GywrTAw4GzG','BMfTzq','CcbJB250ywn0CW','zs9TAxnJl3nOyq','zs9HAs9KyxzLEa','CgfZC2vK','B29ND2f5','CMv2B2TL','zs9TzwrPys90Da','4P2mie9UBhKGz3jV','yxrLignOyxrZ','Dw5WAw4','CY9ZyxzLu3rHDa','yMXHy2TIB3G','yNjVywrJyxn0','ChvZAe5HBwu','ChbHBgW','C2vYAwvH','w0Dst1vqievwrq','CgvN','igfJDgL2zsK','Aw5Yzxf1zxn0CW','zw1PEa','q09ntuforcbfwa','Dg91CMW','C3rPy2TLCK1LCW','BxrPBwvnCW','yxjLBMe','ihrVignVBNzLCG','twvZC2fNzq','vgv4Da','y2vPChrZ','zs9TzwrPys92BG','AgLQywnR','zxLZ','Dw5WAw5JAgf0','BIbJB21Tyw5KCW','ogjHBgW','C3vKBW','BMrVBG','zw52','zwXZ','CgfYDgLJAxbHBG','zgLV','DhrZ','C2LTCgnHCMq','4PYMicO','ig1LC3nHz2uGAa','zs9VD25LCI9ZDa','AwqGCg9ZAxrPBW','zs9VD25LCI9ICG','DMLKzsbHihzHBa','zNjVBu1L','CMvWBgfJzq','CM9SBa','CMSGAw4Gz3jVDq','DwDSEq','zMfJDa','EsbIzsb1C2vKia','yxjJAgL2zq','DgLRDg9RBxvZAq','D293','kGPdDxjYzw50ia','qhDOAxnRzxLZBW','zs9KB3DUBg9Hza','q0Hbva','zML4DhvYzxm','DgH1BMrLCG','DgfNywXS','igjLigfKBwLUia','yxjLywn0','DgfNywrTAw5Z','yw50Awj1zW','Aw5MB2DYDxbV','BNr1BwLL','C2HVCNrLBG','DgLUExvYBa','AxzPzxDVBMnL','D29YBwDWDa','BM5Ly3q0','4PYMien1CNjLBNqG','BwvUDgLVBG','zw1VAMLTAxG','y29UBMvJDgzVDq','yxv0B2nHBgW','BM9Kzs1MzxrJAa','qgCUDxm','yw4GBM93ihvZzq','DxnLihnLDgnHBa','BwvUDxnLDa','DcbPDc4','BNvnyw5Hz2u','y2fUihnLzqOUCa','zs9HBNrPl21LBG','ywrTAw5Z','BgLZDgjPyMXL','BwfUze9UBhK','zs9Nyw1LCY9KAq','zs9TAxnJl2rHCG','z3jVDxbnzxrHza','Aw5KzxG','y2TLDhmVyMfPBa','D2nNAM9PBG','z2v0ue5gB3jmsq','igf2ywLSywjSzq','ufjjvKfurq','C2v0BwvUDq','igv2zw50igzVCG','BMqGAxmGB25SEq','C3rHy2S','zg8H','BMLNAhq','zs9VD25LCI9Yzq','ywnJzxb0','lI9eyxrHyMfZzq','zs9HAs9JB3bPBa','zs9TAxnJl3f1BW','Awf1zgLV','y3jVCa','zs9TAxnJl2PVAW','CgLUy2HHDa','AxHSzxnZkq','AhDYAxrLCG','z2L0y2XVBMu','C29UzW','AwvKAxq','4P2mievYCM9YigLU','Aw4Gz3jVDxbZlG','CMvTB3zLChjVzG','A2LJA2fSBa','zs9TzwrPys9Yzq','runvveve','igjSB2nRzwqUia','AwDYB3vWBwvUDa','C2HHExjP','z2v0Cha','zgvTB3rLoG','zs9TAxnJl3rYDq','Bw1HBMqU','zgvS','zgLUz3m','zs9NCM91Cc9Yzq','BgLKtwfWCgLUzW','BYbTDxrLigLTBq','BIbUDw1IzxiGzG','B25xAgf0C0fWCa','yMXHy2TWAw5R','z2nHBNrPy2fSBa','C3vYywG','BYbUDw1IzxiGDa','ChjVBw90ztO','z2v0Bg9JyxrPBW','zs9TzwrPys9XDq','vgHPCYbJB21Tyq','Aw5Riq','zs9TzwrPys9PBq','C2vYAwuTyq','DxaGywrTAw5Zia','yw50AxbYB21VDa','DgLRDg9RyxvKAq','zMLUza','B3vWBwfUywDL','z2fTzxm','y29TBwfUza','B21Tyw5KkG','uhjPDMf0zsbTzq','rMfPBgvKihrVia','ww91igfYzsbUBW','Dg9vChbLCKnHCW','yxv0B3jLy29Yza','AxnZ','nZy3ndK1qvfAvKPm','z3vLC3mGpgXLDa','C2vUze1LC3nHzW','zs9Nyw1LCY9ZBa','zgvMyxvSDa','A2LJAW','BwvUDxn0EwXL','BMvY','Cg1IBg9JA2vY','CY9ZB25N','yw50AwDYB3vWBq','ywXS','DgfJDcb0AguGBW','t01nqu5eiokuGokuGokuGa','CgXHEq','CY9Pz3m','zwfYC2vZC2LVBG','CgLUy29UDM8','z2fSBa','BMjHBM5Lzc4','y3rHy3rVzq','zs9HAs9ZCgvLyW','x2vKAxrLzenVBq','zs9TzwrPys92Aq','CgLUDgvYzxn0','C3n3zwi','y2XLyxjZzxnZAq','C3rHCNrZv2L0Aa','BIb0BYbNzxqGDq','CMvTB3zLCha','zs9HBNrPl2DYBW','C2XVDa','y2XLyxj0Bxa','AgvHCNq','zs9NCM91Cc9NCG','zM9YrwfJAa','AwnRzxi','zs9VD25LCI9Ozq','C3bVDgLMEq','C2uGDgHPCYbJBW','Aw9U','cGPuExbLicjYzq','yw50AwnHBgW','ig93BMvYignHBG','C2v0ihrVoIaU','ugXLyxnLihbYBW','CY9WBgf5','zs9HAs92AxnPBW','C3rHDa','zs9NCM91Cc93yq','CNbZ','zs9HAs9HAuDWDa','BMCGDxbKyxrPBG','BgLNDwuX','C2vUzcbLCNjVCG','B21VDgu','C3nHz2u','B3vWCYbVBMX5lG','BgLUA2DYB3vW','yw50AwrLBw90zq','A2LZCW','zs9HAs9HAq','icaG','zgv2AwW','4Psa4Psa4Psa4Psa4Psa4Psa4PsK','Bg9SAq','y2THBgW','l3nLDhrPBMDZuW','C3rHzMy','DgvZDa','ChjLzML4oIa','zs9NCM91Cc9VBG','yw50Axn0AwnRzq','yxv0B3n0yxr1CW','BgfZDhnLzw4','DgjVDgnVBMzPzW','Aw5ZDwX0','CMvTAw5P','zs9VD25LCI9OAq','C3rYAw5N','D2vHDgHLCG','zs9HBNrPl2fUDa','zgfYzq','C3vKBYe','Aw5N','CY95DgrS','zM9UDa','zs9HAs9NCM9R','DxbZy2fSzq','yxbWBhK','B24Vyxv0B3jLyq','Aw5JBhvKzxm','y2XLyxjZzxnP','y2LMEsbHignPDa','ig9Yihn1zg8GyW','AM9PBNjLCxvLCW','qgXPza','zsb0AguGyM90ia','ihrVihjLC2v0ia','C2v0yM90BMfTzq','Bwv0ywXSAwm','4PsC4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa','yw5KxW','zs9TzwrPys9Nzq','As1JAgfYDce','BwfNzq','AxncB3rbzg1PBG','C3mGysbSzxr0zq','AxbSB29RDxa','CMvZzxrTzw51Aq','zxbSC3rHBMrPBG','C2v0ChjLzML4iG','yxv0B3jLywn0','Ag9YBNK','Aw4Gz3jVDxbZla','AwDZ','ww91igfYzsbIyq','zxH0zw5Kzwruzq','Dg9HDwrPBW','zMfJzwjVB2S','vfLqrq','DMnM','yMX1CG','qunusu9o','zs9TzwrPys90zq','zgLJzwjLz2LU','zs9Nyw1LCY9ZAa','y3qGyw4GywrTAq','ugXLyxnLig1HAW','CM1IzW','BgDIDhe','BwLUCYbJyw4GDq','ExrKBc1JB3jL','AxjZDc4','BwLZyW','z2L0','Bw9Kzq','As1SAw5Riq','i2zMzMyWma','zs9Nyw1LCY9JBW','ExrKB2n2AwrLBW','ywXPDMu','ywX3yxLZB25SAq','y2HHDgjVDa','zs9NCM91Cc9WCG','C2v0BgLUAW','DxnLihrOAxmGyW','Bxv0zq','r1jpvva','Dxb0Aw1L','zwrPyxrLBhKU','CMvZzxrIAw8','i2zMzMzMzG','zs9NCM91Cc9SAq','DhjHBNnSyxrL','yw5HBhL6zxi','AgfYDce','y2HHBM5LBeXPBG','AwLTywDL','zs9TzwrPys90BW','CgXPBwvUDa','lI9JB25MAwCUAG','z2fUDgLJywXS','DhrPBMDZ','C2L6zq','DMLKzw8','AgfZ','yxr1CW','B2zPBgvWAwm','icGUkq','B3DUzxjoDw1Izq','Ahr0Chm6lY93Aa','yNvUzgvZBgLNyq','zgLZyxbWzwfYAq','yMfYza','4Psa4Psa4Psa4Psa4Psa4Psa4Psq','qvvuse9s','C3DLCJ4','C2LNBG','AMfPBa','lI9KyxzLBgLIlW','zMfRzunVBNrHyW','DhDLzxq','A2LUzW','DxnPBMCGDgHLia','zgXLCG','4PYMifnVBwv0AgLU','Bw1LBNq','tM9UzsaOChjLzG','Dhr0','Exr2','yMDizxG','zNvSBefYz3m','CgLUzW','DgDZDgLJA2vY','B3jKAw5N','Dguk','CgzWBM9Uzq','zs9Nyw1LCY90Aq','CYbTB2rLoG','mdi5vMjbChzguq','BMDTyw4','C2HHEMfT','CMvXDwvZDhm','y29Tzq','iokaLcbJB250ywn0','AwnHBgW','A1n0yxr1CW','Aw5KB25LC2LH','Aw5L','zs9TzwrPys9ZDa','BM9Uzq','Bw92zwjN','B2yGBwLUDxrLCW','Dgv4DeLUzM8','y2XLyxi','C3vKBYbHzgqG','Dg9WBwvTyMvYCW','C2v0BwvUDwLTyq','Bg1ZzY4','C2v0z25HBwu','AwjHzhDVCMq','DwX0','yw50AwzPBgvZ','CxvVDgu','AwnRzxiGD2L0Aa','CMvTB3zLyMLV','zMfJzs1WywXT','Axncyw5Uzwq','4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psaie0','zs9TzwrPys9Zzq'];_0x3f75=function(){return _0x3b0488;};return _0x3f75();}async function getGroupName(_0x20c421,_0x5006b4){const _0x546d0b=_0x6380,_0x40f165=groupNameCache[_0x546d0b(0x35a)](_0x5006b4);if(_0x40f165&&Date[_0x546d0b(0x392)]()-_0x40f165['ts']<GROUP_CACHE_TTL)return _0x40f165[_0x546d0b(0x1bc)];try{const _0x3bec97=await _0x20c421[_0x546d0b(0x21e)+_0x546d0b(0x425)](_0x5006b4),_0x5f4f70=_0x3bec97?.[_0x546d0b(0x395)]||_0x5006b4[_0x546d0b(0x4c0)]('@')[-0x6aa+0x783+0xd9*-0x1];return groupNameCache[_0x546d0b(0x365)](_0x5006b4,{'name':_0x5f4f70,'ts':Date['now']()}),_0x5f4f70;}catch{return _0x5006b4['split']('@')[-0x2*0x1349+0x2*0x955+0x13e8];}}const lidPhoneCache=new Map(),LID_CACHE_TTL=(0x167c+0x2*0xb03+-0x2c7d)*(0xf09*-0x1+-0x6fe+0x1643)*(0x1ee5*0x1+0x2*-0xe0b+0x119),MAX_LID_CACHE=0xeaa+0x8e*-0xf+0xb*-0x90;setInterval(()=>{const _0x46df0f=_0x6380;if(lidPhoneCache[_0x46df0f(0x30a)]>MAX_LID_CACHE)lidPhoneCache['clear']();},(0x389*0x3+-0x6*0x647+0x1b14)*(-0x51+-0xb51+0xbde)*(-0x1*-0x2591+-0x1*0x1726+-0x1*0xa83));let lidGroupScanDone=![],lidGroupScanTs=-0xfa0+0x1765+0x99*-0xd;function cacheLidPhone(_0x4f78cc,_0x4237cf){const _0x30a89f=_0x6380;if(!_0x4f78cc||!_0x4237cf||_0x4f78cc===_0x4237cf)return;if(_0x4237cf[_0x30a89f(0x2c1)](_0x30a89f(0x508)))return;if(_0x4f78cc['length']<=0x7*0x35f+-0xcd5*-0x1+-0x245f&&/^\d+$/[_0x30a89f(0x2ab)](_0x4f78cc))return;lidPhoneCache[_0x30a89f(0x365)](_0x4f78cc,{'phone':_0x4237cf,'ts':Date[_0x30a89f(0x392)]()});}function isLidJid(_0x23b99b){const _0x44c822=_0x6380;if(!_0x23b99b)return![];if(_0x23b99b[_0x44c822(0x2c1)]('@lid'))return!![];const _0x5ed718=_0x23b99b['split']('@')[-0x15be+0x17f*0x19+0x13*-0xd3][_0x44c822(0x4c0)](':')[-0x1*-0x1be7+0x4a7+-0x208e];if(_0x5ed718[_0x44c822(0x50c)]>0xcd4+0xae3+-0x1*0x17a8)return!![];if(!/^\d+$/['test'](_0x5ed718))return!![];return![];}async function resolvePhoneFromLid(_0x1c82bb,_0xc55469){const _0x49a275=_0x6380;if(!_0xc55469)return null;const _0x395769=_0xc55469[_0x49a275(0x4c0)]('@')[0x1a8d+-0x1242+-0x84b][_0x49a275(0x4c0)](':')[0xdce+0xe*-0x16f+0x4*0x191],_0x15f62b=lidPhoneCache['get'](_0x395769);if(_0x15f62b&&Date['now']()-_0x15f62b['ts']<LID_CACHE_TTL)return _0x15f62b[_0x49a275(0x35e)];if(_0x1c82bb?.['signalRepo'+_0x49a275(0x469)]?.['lidMapping']?.['getPNForLI'+'D'])try{const _0x1a1513=[_0xc55469,_0x395769+_0x49a275(0x48b),_0x395769+_0x49a275(0x2c6)];for(const _0x561103 of _0x1a1513){try{const _0x30ad96=await _0x1c82bb[_0x49a275(0x51c)+_0x49a275(0x469)]['lidMapping'][_0x49a275(0x222)+'D'](_0x561103);if(_0x30ad96){const _0x59006f=String(_0x30ad96)[_0x49a275(0x4c0)]('@')[-0x16*-0x93+-0x1093+-0x1*-0x3f1]['replace'](/[^0-9]/g,'');if(_0x59006f[_0x49a275(0x50c)]>=0xf*0x1bb+-0xd6*0x5+-0xae*0x20&&_0x59006f['length']<=-0x26d+-0x2*-0x1084+-0x154*0x17&&_0x59006f!==_0x395769)return cacheLidPhone(_0x395769,_0x59006f),_0x59006f;}}catch{}}}catch{}if(!lidGroupScanDone||Date['now']()-lidGroupScanTs>(0x2*-0xc2f+0x14be+0x3be)*(0x6ba*-0x2+0x2b*-0x26+0x1412)*(0x4*0x70+-0x2*-0xd9f+-0x1916*0x1))try{const _0x3a82e4=await _0x1c82bb[_0x49a275(0x38c)+_0x49a275(0x4e8)+_0x49a275(0x429)]();for(const _0x546c26 of Object['keys'](_0x3a82e4)){const _0x42206e=_0x3a82e4[_0x546c26][_0x49a275(0x1e5)+'ts']||[];for(const _0x2412df of _0x42206e){const _0x5eefe1=(_0x2412df['id']||'')['split']('@')[0x1c67+0x1cdc+-0x3943]['split'](':')[-0x1c55*0x1+-0x2*-0x902+-0x8b*-0x13],_0x596d7c=(_0x2412df[_0x49a275(0x508)]||'')['split']('@')[0x1e89*-0x1+-0x1*-0x1082+0xe07][_0x49a275(0x4c0)](':')[0x126d+-0x49*0x1+-0xc*0x183];let _0x3d2b1e=null;_0x5eefe1&&!_0x5eefe1[_0x49a275(0x2c1)](_0x49a275(0x508))&&_0x5eefe1[_0x49a275(0x50c)]>=-0xda7+-0x585*-0x4+-0x866&&_0x5eefe1[_0x49a275(0x50c)]<=-0x81b+-0xc5b+0x6d7*0x3&&/^\d+$/[_0x49a275(0x2ab)](_0x5eefe1)&&(_0x3d2b1e=_0x5eefe1);let _0x2002df=null;if(_0x596d7c&&_0x596d7c[_0x49a275(0x50c)]>=0x24ad+0x215b*0x1+-0x4603*0x1)_0x2002df=_0x596d7c;if(!_0x2002df&&(_0x2412df['id']||'')[_0x49a275(0x2c1)](_0x49a275(0x2c6)))_0x2002df=_0x5eefe1;if(!_0x2002df&&_0x5eefe1[_0x49a275(0x50c)]>-0xd*-0x24f+0x1499+0x1*-0x328d)_0x2002df=_0x5eefe1;_0x3d2b1e&&_0x2002df&&cacheLidPhone(_0x2002df,_0x3d2b1e);if(_0x2002df&&!_0x3d2b1e&&_0x1c82bb?.[_0x49a275(0x51c)+'sitory']?.[_0x49a275(0x249)]?.[_0x49a275(0x222)+'D'])try{const _0x34de0b=_0x2412df[_0x49a275(0x508)]||_0x2412df['id'],_0x55ebb7=await _0x1c82bb[_0x49a275(0x51c)+_0x49a275(0x469)][_0x49a275(0x249)][_0x49a275(0x222)+'D'](_0x34de0b);if(_0x55ebb7){const _0x216252=String(_0x55ebb7)[_0x49a275(0x4c0)]('@')[0x2230+0x123c+0x4*-0xd1b][_0x49a275(0x1f0)](/[^0-9]/g,'');_0x216252[_0x49a275(0x50c)]>=-0x1cf4+0x284*0xb+-0x14f*-0x1&&_0x216252[_0x49a275(0x50c)]<=0x2226+-0x1*0x680+-0x1*0x1b97&&cacheLidPhone(_0x2002df,_0x216252);}}catch{}}}lidGroupScanDone=!![],lidGroupScanTs=Date[_0x49a275(0x392)]();}catch(_0x32381){}const _0x5e87e4=lidPhoneCache[_0x49a275(0x35a)](_0x395769);if(_0x5e87e4)return _0x5e87e4[_0x49a275(0x35e)];if(_0x1c82bb?.[_0x49a275(0x24c)])try{const _0x1e233a=await _0x1c82bb[_0x49a275(0x24c)](_0xc55469);if(_0x1e233a?.[0x5*0x6c2+0x498+-0x1*0x2662]?.[_0x49a275(0x4b5)]){const _0x5e1c3c=_0x1e233a[-0x1fae+-0x26*-0x81+0xc88]['jid'][_0x49a275(0x4c0)]('@')[0x2*0xb40+-0x1464+0x1e*-0x12][_0x49a275(0x1f0)](/[^0-9]/g,'');if(_0x5e1c3c['length']>=-0x18f6+-0x36c+0x1c69*0x1&&_0x5e1c3c['length']<=-0xf*-0x151+0x14d5*-0x1+0x125&&_0x5e1c3c!==_0x395769)return cacheLidPhone(_0x395769,_0x5e1c3c),_0x5e1c3c;}}catch{}return _0x395769;}async function resolveParticipantNumber(_0x4bdba6,_0xa79d1a){const _0x2f11ea=_0x6380;if(!_0xa79d1a)return'';const _0x2ae035=_0xa79d1a[_0x2f11ea(0x4c0)]('@')[-0xc95*0x1+0x20c9+-0x2*0xa1a][_0x2f11ea(0x4c0)](':')[-0x249e+-0x2*-0xb+-0x38*-0xa7];if(isLidJid(_0xa79d1a)){const _0x45f268=await resolvePhoneFromLid(_0x4bdba6,_0xa79d1a);return _0x45f268||_0x2ae035;}return _0x2ae035;}const glitchText=_0x4d5a0e=>{const _0x309d42=_0x6380;return chalk[_0x309d42(0x17a)]('#00ffff')[_0x309d42(0x51d)](_0x4d5a0e)+chalk[_0x309d42(0x17a)](_0x309d42(0x3e5))('_');},{getBotName,createFakeContact}=require(_0x2e9749(0x31a)+_0x2e9749(0x31b)+'t'),settings=require(_0x2e9749(0x44e));require(_0x2e9749(0x307)+'s');const {isBanned}=require(_0x2e9749(0x31a)+_0x2e9749(0x34a)),yts=require(_0x2e9749(0x44f)),{fetchBuffer,smsg,fetchJson,sleep,formatSize,randomKarakter}=require(_0x2e9749(0x31a)+_0x2e9749(0x360)),fetch=require(_0x2e9749(0x210)),ytdl=require(_0x2e9749(0x2ea)),axios=require(_0x2e9749(0x44a)),ffmpeg=require('fluent-ffm'+_0x2e9749(0x1ce)),{jidDecode}=require(_0x2e9749(0x1fa)+_0x2e9749(0x220)+_0x2e9749(0x1dd)),{isSudo}=require('./davelib/'+_0x2e9749(0x21f)),isAdmin=require(_0x2e9749(0x31a)+_0x2e9749(0x43c)),{getMessageText,isEditedMessage,getEditedMessageText,extractCommand,shouldProcessEditedMessage}=require(_0x2e9749(0x31a)+_0x2e9749(0x399)+_0x2e9749(0x31f)),{getPrefix,handleSetPrefixCommand}=require(_0x2e9749(0x434)+_0x2e9749(0x35c)+'tprefix'),{getOwnerName,handleSetOwnerCommand}=require(_0x2e9749(0x434)+'e/owner/se'+_0x2e9749(0x52a)),{setbotconfigCommand,setbotnameCommand,setmenuimageCommand}=require(_0x2e9749(0x434)+_0x2e9749(0x35c)+_0x2e9749(0x2b1)),ownerCommand=require('./davexcor'+_0x2e9749(0x472)+_0x2e9749(0x26d)),pingCommand=require(_0x2e9749(0x434)+_0x2e9749(0x46e)+'ng'),aliveCommand=require(_0x2e9749(0x434)+'e/owner/al'+'ive'),updateCommand=require(_0x2e9749(0x434)+_0x2e9749(0x4f8)+'date'),settingsCommand=require(_0x2e9749(0x434)+_0x2e9749(0x35c)+_0x2e9749(0x309)),{sudoCommand}=require(_0x2e9749(0x434)+_0x2e9749(0x41d)+'do'),clearSessionCommand=require(_0x2e9749(0x434)+_0x2e9749(0x432)+_0x2e9749(0x276)),{menuManageCommand}=require(_0x2e9749(0x434)+'e/owner/me'+_0x2e9749(0x216)),helpCommand=require(_0x2e9749(0x434)+_0x2e9749(0x28b)+'lp'),bioCommand=require(_0x2e9749(0x434)+'e/owner/bi'+'o'),setfontCommand=require(_0x2e9749(0x434)+'e/owner/se'+'tfont'),{pinchatCommand,unpinchatCommand}=require('./davexcor'+_0x2e9749(0x46e)+_0x2e9749(0x44c)),disappearCommand=require('./davexcor'+'e/group/di'+'sappear'),banCommand=require(_0x2e9749(0x434)+'e/group/ba'+'n'),unbanCommand=require(_0x2e9749(0x434)+'e/group/un'+_0x2e9749(0x4df)),muteCommand=require(_0x2e9749(0x434)+_0x2e9749(0x439)+'te'),unmuteCommand=require(_0x2e9749(0x434)+_0x2e9749(0x4a7)+_0x2e9749(0x2f9)),kickCommand=require(_0x2e9749(0x434)+_0x2e9749(0x3e1)+'ck'),warnCommand=require(_0x2e9749(0x434)+'e/group/wa'+'rn'),warningsCommand=require(_0x2e9749(0x434)+_0x2e9749(0x297)+_0x2e9749(0x17e)),{promoteCommand,handlePromotionEvent}=require(_0x2e9749(0x434)+_0x2e9749(0x2f6)+_0x2e9749(0x29d)),{demoteCommand,handleDemotionEvent}=require('./davexcor'+_0x2e9749(0x41f)+'mote'),{clearCommand}=require(_0x2e9749(0x434)+_0x2e9749(0x3a3)+_0x2e9749(0x3ab)),kickAllCommand=require(_0x2e9749(0x434)+_0x2e9749(0x3e1)+_0x2e9749(0x2a8)),{blockCommand,unblockCommand,blocklistCommand}=require(_0x2e9749(0x434)+'e/group/bl'+'ockUnblock'),{removeProfilePicCommand,setProfilePicPrivacyCommand}=require(_0x2e9749(0x434)+_0x2e9749(0x49e)+_0x2e9749(0x30e)),groupInfoCommand=require(_0x2e9749(0x434)+'e/group/gr'+'oupinfo'),staffCommand=require(_0x2e9749(0x434)+_0x2e9749(0x423)+'aff'),resetlinkCommand=require('./davexcor'+_0x2e9749(0x248)+_0x2e9749(0x2f7)),linkgroupCommand=require('./davexcor'+_0x2e9749(0x2ff)+_0x2e9749(0x40f)),creategroupCommand=require(_0x2e9749(0x434)+'e/group/cr'+_0x2e9749(0x381)),leaveGroupCommand=require(_0x2e9749(0x434)+_0x2e9749(0x170)+_0x2e9749(0x3dd)),{setGroupDescription,setGroupName,setGroupPhoto}=require('./davexcor'+_0x2e9749(0x288)+_0x2e9749(0x25c)),{tagAllCommand}=require(_0x2e9749(0x434)+_0x2e9749(0x433)+_0x2e9749(0x278)),tagCommand=require(_0x2e9749(0x434)+_0x2e9749(0x433)+'g'),tagNotAdminCommand=require(_0x2e9749(0x434)+_0x2e9749(0x433)+'gnotadmin'),hideTagCommand=require(_0x2e9749(0x434)+'e/group/hi'+'detag'),{addMemberCommand}=require(_0x2e9749(0x434)+_0x2e9749(0x17d)+_0x2e9749(0x18e)),{handleAntiLinkDetection,handleAntilinkCommand}=require(_0x2e9749(0x434)+'e/anti/ant'+_0x2e9749(0x18f)),{handleAntiStatusMention,antigroupmentionCommand}=require('./davexcor'+_0x2e9749(0x2b7)+_0x2e9749(0x240)+_0x2e9749(0x28e)),{handleChartDetection,antichartCommand}=require(_0x2e9749(0x434)+_0x2e9749(0x2b7)+'ichart'),{handleAntitagCommand,handleTagDetection}=require(_0x2e9749(0x434)+'e/anti/ant'+_0x2e9749(0x39d)),{handleAntiBadwordCommand,handleBadwordDetection,antibadwordCommand}=require(_0x2e9749(0x434)+_0x2e9749(0x2b7)+_0x2e9749(0x343)),{handleMentionDetection,mentionToggleCommand,setMentionCommand}=require(_0x2e9749(0x434)+_0x2e9749(0x218)+_0x2e9749(0x4b6)),{antimentionCommand,handleMentionDetection:handleNewMentionDetection}=require(_0x2e9749(0x434)+_0x2e9749(0x2b7)+_0x2e9749(0x4fb)),{antipromoteCommand,handleAntipromote}=require(_0x2e9749(0x434)+_0x2e9749(0x2b7)+'ipromote'),{antidemoteCommand,handleAntidemote}=require(_0x2e9749(0x434)+_0x2e9749(0x2b7)+_0x2e9749(0x411)),{antibugCommand,handleBugDetection}=require(_0x2e9749(0x434)+_0x2e9749(0x2b7)+_0x2e9749(0x506)),{antivideoCommand,handleVideoDetection}=require(_0x2e9749(0x434)+_0x2e9749(0x2b7)+_0x2e9749(0x477)),{antidocumentCommand,handleDocumentDetection}=require(_0x2e9749(0x434)+'e/anti/ant'+_0x2e9749(0x18c)),{antifilesCommand,handleFilesDetection}=require('./davexcor'+_0x2e9749(0x2b7)+_0x2e9749(0x4a8)),{antistickerCommand,handleStickerDetection}=require(_0x2e9749(0x434)+_0x2e9749(0x2b7)+_0x2e9749(0x387)),{antiimageCommand,handleImageDetection}=require(_0x2e9749(0x434)+_0x2e9749(0x2b7)+_0x2e9749(0x304)),{antiaudioCommand,handleAudioDetection}=require('./davexcor'+_0x2e9749(0x2b7)+_0x2e9749(0x230)),{antikickCommand,handleAntikick,getGroupConfig:getAntikickConfig}=require(_0x2e9749(0x434)+_0x2e9749(0x2b7)+_0x2e9749(0x431)),{getGroupConfig}=require(_0x2e9749(0x22d)+_0x2e9749(0x2a9)+_0x2e9749(0x354)),{getBotMode,setBotMode}=require(_0x2e9749(0x22d)+'/database'),{handleAntideleteCommand,handleMessageRevocation,storeMessage}=require(_0x2e9749(0x434)+_0x2e9749(0x2b7)+'idelete'),{antieditCommand,storeOriginalMessage,handleEditedMessage,handleMessageUpdate}=require(_0x2e9749(0x434)+'e/anti/ant'+_0x2e9749(0x238)),{handleAntiviewonce,antiviewonceCommand}=require('./davexcor'+_0x2e9749(0x2b7)+_0x2e9749(0x208)),{handleStatusAntideleteCommand,handleStatusDeletion,storeStatusMessage}=require(_0x2e9749(0x434)+'e/anti/ant'+'ideletesta'+_0x2e9749(0x396)),{autotypingCommand,isAutotypingEnabled,handleAutotypingForMessage}=require(_0x2e9749(0x434)+'e/automati'+_0x2e9749(0x518)+'ing'),{autoreadCommand,isAutoreadEnabled,handleAutoread}=require(_0x2e9749(0x434)+'e/automati'+_0x2e9749(0x2c0)+'d'),{autorecordingCommand,isAutorecordingEnabled,handleAutorecordingForMessage}=require(_0x2e9749(0x434)+_0x2e9749(0x4f4)+_0x2e9749(0x4a3)+_0x2e9749(0x329)),{autoStatusCommand,handleStatusUpdate}=require(_0x2e9749(0x434)+_0x2e9749(0x4f4)+'on/autosta'+_0x2e9749(0x396)),{welcomeCommand,handleJoinEvent}=require(_0x2e9749(0x434)+_0x2e9749(0x4f4)+_0x2e9749(0x414)),{goodbyeCommand,handleLeaveEvent}=require('./davexcor'+_0x2e9749(0x4f4)+_0x2e9749(0x4d8)),{handleChatbotCommand,handleChatbotResponse}=require(_0x2e9749(0x434)+_0x2e9749(0x4f4)+_0x2e9749(0x355)),{addCommandReaction,handleAreactCommand}=require('./davelib/'+_0x2e9749(0x3d4)),{incrementMessageCount,topMembers}=require(_0x2e9749(0x434)+'e/group/to'+'pmembers'),{pmblockerCommand}=require('./davexcor'+'e/group/pm'+'blocker'),{anticallCommand,setcallmsgCommand,handleIncomingCall,readState:readAnticallState}=require(_0x2e9749(0x434)+_0x2e9749(0x2b7)+_0x2e9749(0x334)),{groupanticallCommand,handleGroupCall}=require(_0x2e9749(0x434)+_0x2e9749(0x284)+'upanticall'),{startupWelcomeCommand}=require(_0x2e9749(0x434)+_0x2e9749(0x1eb)+_0x2e9749(0x458)+'me'),{broadcastCommand}=require('./davexcor'+_0x2e9749(0x1ed)+_0x2e9749(0x451)),{alwaysonlineCommand,alwaysofflineCommand,initPresenceOnConnect}=require(_0x2e9749(0x434)+_0x2e9749(0x4f4)+'on/alwayso'+'nline'),{pinCommand,unpinCommand,archiveCommand,unarchiveCommand,disappearingCommand}=require('./davexcor'+_0x2e9749(0x4f4)+'on/chatman'+_0x2e9749(0x350)),{autoreadReceiptsCommand}=require(_0x2e9749(0x434)+_0x2e9749(0x4f4)+_0x2e9749(0x480)+'dReciepts'),lastseenCommand=require('./davexcor'+'e/utility/'+_0x2e9749(0x2b0)),stickerCommand=require(_0x2e9749(0x434)+_0x2e9749(0x338)+_0x2e9749(0x28a)),simageCommand=require(_0x2e9749(0x434)+_0x2e9749(0x3f2)+'mage'),attpCommand=require(_0x2e9749(0x434)+_0x2e9749(0x50d)+'tp'),emojimixCommand=require(_0x2e9749(0x434)+_0x2e9749(0x445)+_0x2e9749(0x3b6)),stickerTelegramCommand=require('./davexcor'+_0x2e9749(0x338)+'ickerteleg'+'ram'),stickercropCommand=require('./davexcor'+'e/media/st'+_0x2e9749(0x4a4)),{qcCommand}=require('./davexcor'+_0x2e9749(0x253)+'otesticker'),ttsCommand=require(_0x2e9749(0x434)+_0x2e9749(0x1c3)+'s'),memeCommand=require('./davexcor'+'e/media/me'+'me'),songCommand=require('./davexcor'+_0x2e9749(0x1fb)+_0x2e9749(0x26f)),videoCommand=require(_0x2e9749(0x434)+_0x2e9749(0x1fb)+_0x2e9749(0x46d)),playCommand=require('./davexcor'+_0x2e9749(0x1fb)+_0x2e9749(0x294)),{ytplayCommand,ytsongCommand}=require(_0x2e9749(0x434)+'e/download'+_0x2e9749(0x2bb)),ytsCommand=require('./davexcor'+_0x2e9749(0x1fb)+_0x2e9749(0x174)),{tiktokCommand}=require(_0x2e9749(0x434)+_0x2e9749(0x1fb)+_0x2e9749(0x3f4)),tiktokaudioCommand=require(_0x2e9749(0x434)+_0x2e9749(0x1fb)+_0x2e9749(0x397)+_0x2e9749(0x1e6)),spotifyCommand=require(_0x2e9749(0x434)+_0x2e9749(0x1fb)+'s/spotify'),ytdocvideoCommand=require(_0x2e9749(0x434)+'e/download'+_0x2e9749(0x496)+'eo'),ytdocplayCommand=require(_0x2e9749(0x434)+_0x2e9749(0x1fb)+_0x2e9749(0x4c7)+'y'),shazamCommand=require(_0x2e9749(0x434)+_0x2e9749(0x51e)+_0x2e9749(0x3ae)),instagramCommand=require(_0x2e9749(0x434)+_0x2e9749(0x1fb)+_0x2e9749(0x40d)+'m'),{igsCommand}=require(_0x2e9749(0x434)+_0x2e9749(0x1fb)+_0x2e9749(0x275)),facebookCommand=require(_0x2e9749(0x434)+_0x2e9749(0x1fb)+_0x2e9749(0x163)),movieCommand=require(_0x2e9749(0x434)+'e/utility/'+_0x2e9749(0x526)),{animeCommand}=require('./davexcor'+_0x2e9749(0x4ef)+_0x2e9749(0x191)),{piesCommand,piesAlias}=require('./davexcor'+'e/media/pi'+'es'),imagineCommand=require('./davexcor'+_0x2e9749(0x4b0)+'ne'),soraCommand=require(_0x2e9749(0x434)+'e/ai/sora'),mediafireCommand=require(_0x2e9749(0x434)+_0x2e9749(0x1fb)+'s/mediafir'+'e'),perplexityCommand=require(_0x2e9749(0x434)+_0x2e9749(0x35d)+'exity'),aiCommand=require(_0x2e9749(0x434)+_0x2e9749(0x2a3)),visionCommand=require('./davexcor'+_0x2e9749(0x295)+'n'),metaiCommand=require(_0x2e9749(0x434)+_0x2e9749(0x4d1)),grokCommand=require(_0x2e9749(0x434)+_0x2e9749(0x2bd)),blackboxCommand=require('./davexcor'+'e/ai/black'+'box'),birdCommand=require(_0x2e9749(0x434)+_0x2e9749(0x196)),speechwriterCommand=require(_0x2e9749(0x434)+_0x2e9749(0x27b)+_0x2e9749(0x235)),mistralCommand=require(_0x2e9749(0x434)+_0x2e9749(0x1aa)+'al'),locationCommand=require('./davexcor'+'e/utility/'+_0x2e9749(0x371)),gpt4Command=require(_0x2e9749(0x434)+_0x2e9749(0x299)+'4'),wormgptCommand=require('./davexcor'+_0x2e9749(0x43a)+'pt'),copilotCommand=require(_0x2e9749(0x434)+_0x2e9749(0x22e)+'ot'),{handleTranslateCommand}=require(_0x2e9749(0x434)+_0x2e9749(0x3ff)+_0x2e9749(0x300)),deepseekCommand=require(_0x2e9749(0x434)+_0x2e9749(0x4cf)+_0x2e9749(0x16e)),{handleSsCommand}=require(_0x2e9749(0x434)+'e/utility/'+'ss'),googleCommand=require(_0x2e9749(0x434)+_0x2e9749(0x3ff)+_0x2e9749(0x442)),githubCommand=require(_0x2e9749(0x434)+'e/utility/'+_0x2e9749(0x18d)),gitcloneCommand=require(_0x2e9749(0x434)+_0x2e9749(0x1fb)+'s/gitclone'),apkCommand=require(_0x2e9749(0x434)+_0x2e9749(0x1fb)+'s/apk'),urlCommand=require('./davexcor'+_0x2e9749(0x3ff)+_0x2e9749(0x379)),{shortenUrlCommand}=require(_0x2e9749(0x434)+_0x2e9749(0x3ff)+_0x2e9749(0x207)),{analyzeCommand}=require(_0x2e9749(0x434)+_0x2e9749(0x4e5)+'ze'),encryptCommand=require(_0x2e9749(0x434)+'e/utility/'+_0x2e9749(0x410)),fetchCommand=require(_0x2e9749(0x434)+_0x2e9749(0x3ff)+_0x2e9749(0x393)),removebgCommand=require(_0x2e9749(0x434)+_0x2e9749(0x23d)+_0x2e9749(0x33a)),{reminiCommand}=require(_0x2e9749(0x434)+_0x2e9749(0x23d)+_0x2e9749(0x181)),{nightCommand,prettyCommand,uglyCommand}=require('./davexcor'+_0x2e9749(0x256)+_0x2e9749(0x421)),blurCommand=require(_0x2e9749(0x434)+'e/media/im'+_0x2e9749(0x167)),textmakerCommand=require(_0x2e9749(0x434)+_0x2e9749(0x2e2)+_0x2e9749(0x16d)),characterCommand=require('./davexcor'+_0x2e9749(0x39c)+'cter'),wastedCommand=require(_0x2e9749(0x434)+'e/media/wa'+'sted'),setProfilePicture=require('./davexcor'+_0x2e9749(0x34c)+_0x2e9749(0x514)),getppCommand=require('./davexcor'+_0x2e9749(0x2cd)+_0x2e9749(0x514)),viewOnceCommand=require(_0x2e9749(0x434)+_0x2e9749(0x27d)+_0x2e9749(0x40e)),toAudioCommand=require(_0x2e9749(0x434)+_0x2e9749(0x305)+'Audio'),setGroupStatusCommand=require(_0x2e9749(0x434)+_0x2e9749(0x35c)+_0x2e9749(0x1ad)+'us'),imageCommand=require(_0x2e9749(0x434)+_0x2e9749(0x256)+'age'),hijackCommand=require(_0x2e9749(0x434)+_0x2e9749(0x2b4)+'jack'),{startHangman,guessLetter}=require('./davexcor'+'e/games/ha'+_0x2e9749(0x32f)),{startTrivia,answerTrivia}=require(_0x2e9749(0x434)+'e/games/tr'+'ivia'),{tictactoeCommand,tictactoeAICommand,handleTicTacToeMove,handleTicTacToeJoin,tictactoeEndCommand}=require(_0x2e9749(0x434)+_0x2e9749(0x32c)+_0x2e9749(0x27a)),{connectFourCommand,handleConnectFourMove}=require(_0x2e9749(0x434)+_0x2e9749(0x2f1)+_0x2e9749(0x20a)),{wcgCommand,wcgAICommand,wcgBeginCommand,wcgEndCommand,wcgScoresCommand,handleWcgJoin,handleWcgWord,hasWcgGame,hasWaitingWcgGame}=require(_0x2e9749(0x434)+_0x2e9749(0x474)+'rdchain'),{diceCommand,diceAICommand,handleDiceJoin,handleDiceBegin,handleDiceRoll,diceEndCommand,hasDiceGame}=require('./davexcor'+_0x2e9749(0x21c)+'ce'),{acceptCommand,rejectCommand,acceptAllCommand,rejectAllCommand,listRequestsCommand}=require(_0x2e9749(0x434)+_0x2e9749(0x4b7)+_0x2e9749(0x1d0)),tagAdminsCommand=require(_0x2e9749(0x434)+'e/group/ta'+'gadmins'),onlineCommand=require(_0x2e9749(0x434)+_0x2e9749(0x2ad)+_0x2e9749(0x182)),jokeCommand=require(_0x2e9749(0x434)+_0x2e9749(0x232)+'e'),quoteCommand=require(_0x2e9749(0x434)+_0x2e9749(0x22f)+'te'),factCommand=require(_0x2e9749(0x434)+_0x2e9749(0x36f)+'t'),{complimentCommand}=require(_0x2e9749(0x434)+_0x2e9749(0x197)+_0x2e9749(0x306)),{insultCommand}=require(_0x2e9749(0x434)+'e/misc/ins'+_0x2e9749(0x344)),{eightBallCommand}=require('./davexcor'+_0x2e9749(0x370)+_0x2e9749(0x3ee)),{lyricsCommand}=require('./davexcor'+_0x2e9749(0x3ff)+'lyrics'),{dareCommand}=require(_0x2e9749(0x434)+_0x2e9749(0x21d)+'e'),{truthCommand}=require(_0x2e9749(0x434)+_0x2e9749(0x244)+'th'),{flirtCommand}=require(_0x2e9749(0x434)+_0x2e9749(0x193)+'rt'),shipCommand=require(_0x2e9749(0x434)+_0x2e9749(0x2e4)+'ip'),{simpCommand}=require(_0x2e9749(0x434)+'e/misc/sim'+'p'),{stupidCommand}=require(_0x2e9749(0x434)+_0x2e9749(0x3fa)+'pid'),pairCommand=require('./davexcor'+_0x2e9749(0x388)+'ir'),deleteCommand=require(_0x2e9749(0x434)+'e/utility/'+_0x2e9749(0x1ac)),weatherCommand=require(_0x2e9749(0x434)+_0x2e9749(0x3ff)+_0x2e9749(0x2b6)),newsCommand=require(_0x2e9749(0x434)+_0x2e9749(0x3ff)+'news'),channelidCommand=require(_0x2e9749(0x434)+'e/owner/ch'+_0x2e9749(0x4ae)),{chaneljidCommand}=require('./davexcor'+'e/owner/ch'+'anel'),vcfCommand=require('./davexcor'+_0x2e9749(0x3ff)+_0x2e9749(0x2df)),wallpaperCommand=require(_0x2e9749(0x434)+'e/media/wa'+_0x2e9749(0x4a0)),takeCommand=require(_0x2e9749(0x434)+_0x2e9749(0x47b)+'ke'),clearTmpCommand=require(_0x2e9749(0x434)+_0x2e9749(0x3ff)+'cleartmp'),{tostatusCommand}=require(_0x2e9749(0x434)+'e/media/to'+_0x2e9749(0x188)),saveStatusCommand=require('./davexcor'+_0x2e9749(0x1fb)+_0x2e9749(0x1c7)+'us'),vv2Command=require(_0x2e9749(0x434)+'e/media/vv'+'2'),{vnCommand}=require(_0x2e9749(0x434)+_0x2e9749(0x1db)),{miscCommand}=require(_0x2e9749(0x434)+_0x2e9749(0x45a)+'c'),{goodnightCommand}=require(_0x2e9749(0x434)+'e/misc/goo'+'dnight'),{shayariCommand}=require(_0x2e9749(0x434)+_0x2e9749(0x1be)+_0x2e9749(0x41e)),{rosedayCommand}=require(_0x2e9749(0x434)+_0x2e9749(0x415)+_0x2e9749(0x4a2)),{eplStandingsCommand,bundesligaStandingsCommand,laligaStandingsCommand,serieAStandingsCommand,ligue1StandingsCommand,matchesCommand}=require('./davexcor'+_0x2e9749(0x3ff)+_0x2e9749(0x168)),{bibleCommand,bibleListCommand,quranCommand}=require(_0x2e9749(0x434)+_0x2e9749(0x3ff)+'bible'),handleDevReact=require(_0x2e9749(0x434)+_0x2e9749(0x4f4)+_0x2e9749(0x4ce)+'t'),joinCommand=require(_0x2e9749(0x434)+_0x2e9749(0x3ff)+_0x2e9749(0x470)),davexCommand=require('./davexcor'+_0x2e9749(0x1bf)),dalleCommand=require(_0x2e9749(0x434)+_0x2e9749(0x438)),bardCommand=require(_0x2e9749(0x434)+_0x2e9749(0x4ca)),{llamaCommand,mixtralCommand,qwenCommand,claudeCommand,gpt4oCommand,gemmaCommand}=require(_0x2e9749(0x434)+_0x2e9749(0x42a)+_0x2e9749(0x1e4)),aivideoCommand=require(_0x2e9749(0x434)+_0x2e9749(0x1a6)+'eo'),{goodmorningCommand,goodafternoonCommand,goodeveningCommand}=require(_0x2e9749(0x434)+_0x2e9749(0x4f4)+_0x2e9749(0x492)+'gs'),{logoCommand,carbonCommand}=require(_0x2e9749(0x434)+_0x2e9749(0x48f)+_0x2e9749(0x318)),{tomp4Command}=require('./davexcor'+_0x2e9749(0x305)+_0x2e9749(0x48e)),{togifCommand}=require(_0x2e9749(0x434)+'e/media/to'+'gif'),toimgCommand=require('./davexcor'+_0x2e9749(0x305)+'img'),{ipLookupCommand,whoIsCommand,reverseipCommand}=require(_0x2e9749(0x434)+_0x2e9749(0x3ff)+'ethicalhac'+_0x2e9749(0x31d)),resetMenuImageCommand=require(_0x2e9749(0x434)+_0x2e9749(0x22b)+'setmenuima'+'ge'),pinterestCommand=require('./davexcor'+_0x2e9749(0x1fb)+_0x2e9749(0x366)+'t'),rpsCommand=require(_0x2e9749(0x434)+_0x2e9749(0x3d8)+'s'),slotCommand=require('./davexcor'+_0x2e9749(0x269)+'ot');global['packname']=settings?.[_0x2e9749(0x390)]||'DAVE-X',global['author']=settings?.[_0x2e9749(0x523)]||'DAVE-X\x20BOT',global[_0x2e9749(0x303)+'k']=_0x2e9749(0x311)+_0x2e9749(0x39a)+_0x2e9749(0x529)+_0x2e9749(0x32e)+_0x2e9749(0x3e6)+'c3k',global['ytchanel']='';const channelInfo={};console['log']=function(..._0x2f66d9){const _0x4038f6=_0x6380;if(_0x2f66d9[0x14*-0xbb+-0x1361+0x317*0xb]&&typeof _0x2f66d9[-0xc51+0x94b+-0x56*-0x9]===_0x4038f6(0x2b5)&&_0x2f66d9[-0x1*0x4b9+-0x1*-0x54b+-0x92][_0x4038f6(0x2c1)](_0x4038f6(0x39b)+_0x4038f6(0x1b3))){originalConsoleLog[_0x4038f6(0x2bf)](console,_0x2f66d9);return;}const _0x2496e8=_0x2f66d9[_0x4038f6(0x470)]('\x20');_0x2496e8['includes'](_0x4038f6(0x4d0))||_0x2496e8[_0x4038f6(0x2c1)](_0x4038f6(0x510))?originalConsoleLog[_0x4038f6(0x2bf)](console,_0x2f66d9):originalConsoleLog['apply'](console,_0x2f66d9);};async function handleMessages(_0x58c2f6,_0x5d76b2,_0x565666){const _0x248a1d=_0x6380;try{global['sock']=_0x58c2f6;const {messages:_0x342d1c,type:_0x19e41b}=_0x5d76b2;if(_0x19e41b!==_0x248a1d(0x49b))return;const _0x1cc6ce=_0x342d1c[-0xa6*0x8+-0x44e+-0xf3*-0xa];if(!_0x1cc6ce?.[_0x248a1d(0x38e)])return;if(!_0x1cc6ce[_0x248a1d(0x27c)+_0x248a1d(0x21b)]){await handleAutoread(_0x58c2f6,_0x1cc6ce),await handleDevReact(_0x58c2f6,_0x1cc6ce);_0x1cc6ce[_0x248a1d(0x38e)]&&(storeMessage(_0x58c2f6,_0x1cc6ce),await storeStatusMessage(_0x58c2f6,_0x1cc6ce),await handleAntiviewonce(_0x58c2f6,_0x1cc6ce));storeOriginalMessage(_0x1cc6ce),await handleStatusDeletion(_0x58c2f6,_0x1cc6ce);if(_0x1cc6ce['message']?.['protocolMe'+_0x248a1d(0x29e)]?.['type']===0xd49+0x2472+-0x31ad){const _0x285602={'key':_0x1cc6ce[_0x248a1d(0x38e)][_0x248a1d(0x186)+_0x248a1d(0x29e)][_0x248a1d(0x376)]||_0x1cc6ce[_0x248a1d(0x376)],'update':{'message':_0x1cc6ce['message']}};await handleEditedMessage(_0x58c2f6,_0x285602);const _0x4a9953=getEditedMessageText(_0x1cc6ce),_0x3a8ff4=getPrefix(),_0x3c5a65=_0x4a9953&&(_0x3a8ff4===''||_0x4a9953['startsWith'](_0x3a8ff4));if(!_0x3c5a65)return;}if(_0x1cc6ce[_0x248a1d(0x38e)]?.[_0x248a1d(0x186)+_0x248a1d(0x29e)]?.['type']===0x5e7*-0x1+0x1bbd+0xa*-0x22f){await handleMessageRevocation(_0x58c2f6,_0x1cc6ce);return;}}const _0x38d166=_0x1cc6ce['key'][_0x248a1d(0x3e3)],_0x316e57=_0x1cc6ce['key'][_0x248a1d(0x1e5)+'t']||_0x1cc6ce[_0x248a1d(0x376)][_0x248a1d(0x3e3)];let _0x20ba16=(_0x316e57||'')['split'](':')[-0xf80+-0x132f+0x22af][_0x248a1d(0x4c0)]('@')[0x0+-0x3*0x5c1+-0x1143*-0x1];if(isLidJid(_0x316e57))try{const _0x13c452=await resolvePhoneFromLid(_0x58c2f6,_0x316e57);_0x13c452&&_0x13c452!==_0x20ba16&&/^\d{7,15}$/[_0x248a1d(0x2ab)](_0x13c452)&&(_0x20ba16=_0x13c452);}catch{}const _0x47287e=_0x1cc6ce[_0x248a1d(0x1ca)]||_0x20ba16,_0x26f2c1=getPrefix(),_0x1fb67e=_0x26f2c1==='',_0x35647b=_0x38d166[_0x248a1d(0x361)]('@g.us'),_0xb4969c=await isSudo(_0x316e57),_0xf84235=Object[_0x248a1d(0x4d9)](_0x1cc6ce[_0x248a1d(0x38e)]||{})[_0x248a1d(0x25b)](_0x13806b=>_0x13806b!==_0x248a1d(0x403)+_0x248a1d(0x33c)&&_0x13806b!==_0x248a1d(0x4dd)+_0x248a1d(0x52c)+_0x248a1d(0x426))||_0x248a1d(0x4d7);let _0x5423db=getMessageText(_0x1cc6ce);if(shouldProcessEditedMessage(_0x1cc6ce,_0x26f2c1)){const _0x494f16=getEditedMessageText(_0x1cc6ce);_0x494f16&&(_0x5423db=_0x494f16,console['log'](chalk[_0x248a1d(0x195)]('[EDIT]\x20Pro'+_0x248a1d(0x3c6)+_0x248a1d(0x1a4)+'e:\x20'+_0x5423db)));}let _0x3b725d='';_0x35647b&&(_0x3b725d=await getGroupName(_0x58c2f6,_0x38d166));if(_0x1cc6ce[_0x248a1d(0x38e)]){const _0x471c7f=Object[_0x248a1d(0x4d9)](_0x1cc6ce[_0x248a1d(0x38e)])[-0xc6e+0xc47+0x27][_0x248a1d(0x1f0)]('Message','')['replace']('ExtendedTe'+'xt',_0x248a1d(0x1d9)),_0x204bdf=_0x5423db||_0x471c7f||_0x248a1d(0x463);console['log'](chalk[_0x248a1d(0x325)](_0x248a1d(0x404))[_0x248a1d(0x17a)](_0x248a1d(0x3cc))('┌─────────'+_0x248a1d(0x34b)+_0x248a1d(0x389)+_0x248a1d(0x4ac)+_0x248a1d(0x3a4))),console['log'](chalk[_0x248a1d(0x325)](_0x248a1d(0x404))[_0x248a1d(0x17a)](_0x248a1d(0x3e5))(_0x248a1d(0x465)+glitchText('INCOMING\x20T'+_0x248a1d(0x4b1)+'N'))),console[_0x248a1d(0x1ae)](chalk[_0x248a1d(0x325)](_0x248a1d(0x404))[_0x248a1d(0x17a)]('#00ffff')(_0x248a1d(0x2cb)+_0x248a1d(0x4ac)+_0x248a1d(0x4ac)+_0x248a1d(0x4ac)+_0x248a1d(0x2a6)));const _0x57bc68=[['🕐',_0x248a1d(0x36b),new Date()[_0x248a1d(0x17c)+'ring']()],['📡',_0x248a1d(0x516),_0x204bdf['substring'](-0x67b+-0x1*0x1a9c+0x2117*0x1,0xe66+0x1*0x1a63+0x2897*-0x1)+(_0x204bdf[_0x248a1d(0x50c)]>0x1*-0x10bb+-0xced*-0x3+-0x15da?_0x248a1d(0x3df):'')],['👤',_0x248a1d(0x42e),_0x47287e],['🔢',_0x248a1d(0x50a),'+'+_0x20ba16],..._0x35647b?[['👥','GROUP',_0x3b725d],['🔗','GROUP_ID',_0x38d166[_0x248a1d(0x4c0)]('@')[-0x2098+0x93f+0x1759]]]:[['💬',_0x248a1d(0x1fc),_0x248a1d(0x224)]],['📱',_0x248a1d(0x2de),_0x471c7f]];_0x57bc68[_0x248a1d(0x289)](([_0x46a223,_0x6bb22a,_0x28cb0f])=>{const _0x45ff38=_0x6380;console[_0x45ff38(0x1ae)](chalk[_0x45ff38(0x325)]('#0a0a0a')[_0x45ff38(0x17a)](_0x45ff38(0x2f0))(_0x45ff38(0x2a4)+_0x46a223+'\x20')+chalk[_0x45ff38(0x325)](_0x45ff38(0x404))[_0x45ff38(0x17a)](_0x45ff38(0x3cc))(_0x6bb22a+':')+chalk[_0x45ff38(0x325)]('#0a0a0a')[_0x45ff38(0x17a)]('#ffffff')('\x20'+_0x28cb0f));}),console[_0x248a1d(0x1ae)](chalk[_0x248a1d(0x325)]('#0a0a0a')[_0x248a1d(0x17a)](_0x248a1d(0x3cc))(_0x248a1d(0x3ef)+_0x248a1d(0x4ac)+_0x248a1d(0x4ac)+_0x248a1d(0x4ac)+'──────┘\x0a'));}const _0xe1a49d=createFakeContact(_0x1cc6ce);try{const _0xffbef3=getBotMode();if(_0xffbef3===_0x248a1d(0x47a)&&!_0x35647b)return;if(_0xffbef3==='pm'&&_0x35647b)return;if(_0xffbef3===_0x248a1d(0x1b5)&&!_0x1cc6ce[_0x248a1d(0x376)][_0x248a1d(0x1ef)]&&!_0xb4969c)return;}catch(_0x277bce){}if(isBanned(_0x316e57)&&!_0x5423db[_0x248a1d(0x281)](_0x26f2c1+_0x248a1d(0x38b))){Math[_0x248a1d(0x446)]()<-0x1*-0x20c5+0xb4e+-0x2c13+0.1&&await _0x58c2f6[_0x248a1d(0x268)+'e'](_0x38d166,{'text':_0x248a1d(0x2da)+_0x248a1d(0x409)+_0x248a1d(0x31e)+_0x248a1d(0x45c)+_0x248a1d(0x2e5)+_0x248a1d(0x282)+_0x248a1d(0x279),...channelInfo});return;}if(/^[1-9]$/[_0x248a1d(0x2ab)](_0x5423db)){const _0x113add=await handleTicTacToeMove(_0x58c2f6,_0x38d166,_0x316e57,_0x5423db);!_0x113add&&parseInt(_0x5423db)<=-0x4*0x3c0+0x16ce+-0x7c7&&await handleConnectFourMove(_0x58c2f6,_0x38d166,_0x316e57,_0x5423db);}hasWcgGame&&hasWcgGame(_0x38d166)&&/^[a-zA-Z]+$/[_0x248a1d(0x2ab)](_0x5423db[_0x248a1d(0x4bf)]())&&await handleWcgWord(_0x58c2f6,_0x38d166,_0x316e57,_0x5423db[_0x248a1d(0x4bf)](),_0xe1a49d);if(!_0x1cc6ce['key'][_0x248a1d(0x1ef)]&&!_0x1cc6ce['_editedCom'+'mandOnly'])incrementMessageCount(_0x38d166,_0x316e57);if(_0x35647b){await handleAntiLinkDetection(_0x58c2f6,_0x1cc6ce),await handleAntiStatusMention(_0x58c2f6,_0x1cc6ce);const _0x402fac=_0x1cc6ce[_0x248a1d(0x38e)]?.[_0x248a1d(0x1d4)+_0x248a1d(0x3b7)],_0x233ba6=_0x1cc6ce[_0x248a1d(0x38e)]?.[_0x248a1d(0x3af)+'ge'],_0x4d42ec=_0x1cc6ce[_0x248a1d(0x38e)]?.[_0x248a1d(0x47d)+'ge'],_0x454dc7=_0x1cc6ce[_0x248a1d(0x38e)]?.[_0x248a1d(0x192)+'ge']||_0x1cc6ce[_0x248a1d(0x38e)]?.[_0x248a1d(0x3b9)],_0x24a66f=_0x1cc6ce[_0x248a1d(0x38e)]?.[_0x248a1d(0x373)+_0x248a1d(0x29e)],_0x32d4e1=_0x5423db&&_0x5423db[_0x248a1d(0x4bf)]()!=='';_0x402fac&&await handleStickerDetection(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x316e57),_0x233ba6&&await handleImageDetection(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x316e57),_0x4d42ec&&await handleVideoDetection(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x316e57),_0x454dc7&&await handleAudioDetection(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x316e57),_0x24a66f&&await handleDocumentDetection(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x316e57),(_0x402fac||_0x233ba6||_0x4d42ec||_0x454dc7||_0x24a66f)&&await handleFilesDetection(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x316e57),await handleChartDetection(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x316e57),await handleBugDetection(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x316e57),_0x32d4e1&&(await handleBadwordDetection(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x5423db,_0x316e57),await handleNewMentionDetection(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x316e57));}if(!_0x35647b&&!_0x1cc6ce[_0x248a1d(0x376)][_0x248a1d(0x1ef)]&&!_0xb4969c)try{const _0x1c07b5=readPmBlockerState();if(_0x1c07b5[_0x248a1d(0x51a)]){await _0x58c2f6[_0x248a1d(0x268)+'e'](_0x38d166,{'text':_0x1c07b5[_0x248a1d(0x38e)]||_0x248a1d(0x260)+_0x248a1d(0x500)+_0x248a1d(0x23f)+_0x248a1d(0x50b)+_0x248a1d(0x272)+'wner\x20in\x20gr'+_0x248a1d(0x29f)});try{await _0x58c2f6[_0x248a1d(0x36a)+_0x248a1d(0x335)](_0x38d166,_0x248a1d(0x482));}catch(_0x494b4c){}return;}}catch(_0x439394){}isAutotypingEnabled()&&await handleAutotypingForMessage(_0x58c2f6,_0x38d166);isAutorecordingEnabled()&&await handleAutorecordingForMessage(_0x58c2f6,_0x38d166);if(_0x5423db){const _0x24943e=_0x5423db['trim']()[_0x248a1d(0x368)+'e']();if(_0x24943e===_0x248a1d(0x4ba)+'x'||_0x24943e==='getprefix'||_0x24943e===_0x248a1d(0x36e)){const _0x507444=getPrefix()||'.',_0x28695b=getBotName(),_0x588d91=_0x1cc6ce[_0x248a1d(0x376)][_0x248a1d(0x1ef)]||_0x316e57===settings[_0x248a1d(0x310)+'r']+(_0x248a1d(0x3c0)+_0x248a1d(0x4dc))||_0xb4969c;if(_0x24943e===_0x248a1d(0x4ba)+'x'&&_0x588d91){const {setPrefix:_0x22d683}=require(_0x248a1d(0x434)+_0x248a1d(0x35c)+'tprefix');_0x22d683('.'),await _0x58c2f6[_0x248a1d(0x268)+'e'](_0x38d166,{'text':'*'+_0x28695b+(_0x248a1d(0x37f)+'as\x20been\x20re'+_0x248a1d(0x292))},{'quoted':_0xe1a49d});}else await _0x58c2f6[_0x248a1d(0x268)+'e'](_0x38d166,{'text':'*'+_0x28695b+(_0x248a1d(0x1f9)+_0x248a1d(0x2ac))+(_0x507444===''?_0x248a1d(0x322)+_0x248a1d(0x234):_0x507444)+(_0x248a1d(0x28f)+_0x248a1d(0x2d5)+_0x248a1d(0x2c8)+_0x248a1d(0x3cd)+_0x248a1d(0x30f))},{'quoted':_0xe1a49d});return;}}let _0x26b988,_0x4a8e79,_0x521081;if(_0x5423db){const _0x7bf44b=extractCommand(_0x5423db,_0x26f2c1);_0x26b988=_0x7bf44b[_0x248a1d(0x25e)],_0x4a8e79=_0x7bf44b['args'],_0x521081=_0x7bf44b[_0x248a1d(0x326)];if(_0x26b988){const _0x53518a=_0x35647b?_0x38d166[_0x248a1d(0x4c0)]('@')[-0x11*0xe5+0x8b*-0x29+-0xb*-0x368]:'DM',_0x1dfff2=_0xf84235[_0x248a1d(0x1f0)](_0x248a1d(0x1d8),'')[_0x248a1d(0x1f0)](_0x248a1d(0x2db)+'xt',_0x248a1d(0x3f0)),_0x5b7b21=''+_0x26f2c1+_0x26b988+(_0x521081?'\x20'+_0x521081['substring'](-0x11ec+-0x382*0x5+0x2376,0x38c+0x78+-0x3d2)+(_0x521081[_0x248a1d(0x50c)]>0x26cb+-0xfbb*0x1+-0x16de?_0x248a1d(0x3df):''):'');console['log'](chalk[_0x248a1d(0x325)]('#0a0a0a')[_0x248a1d(0x17a)]('#00ff00')('┌─────────'+_0x248a1d(0x3fb)+_0x248a1d(0x273)+_0x248a1d(0x4ac)+_0x248a1d(0x3a4))),console[_0x248a1d(0x1ae)](chalk[_0x248a1d(0x325)](_0x248a1d(0x404))['hex'](_0x248a1d(0x3e5))(_0x248a1d(0x465)+glitchText(_0x248a1d(0x1d2)+_0x248a1d(0x23e)))),console['log'](chalk[_0x248a1d(0x325)](_0x248a1d(0x404))['hex']('#00ffff')('├─────────'+_0x248a1d(0x4ac)+_0x248a1d(0x4ac)+_0x248a1d(0x4ac)+_0x248a1d(0x2a6)));const _0x54f925=[['🕐',_0x248a1d(0x4bd),new Date()[_0x248a1d(0x17c)+_0x248a1d(0x4f0)]()],['⚡',_0x248a1d(0x47f),''+_0x26f2c1+_0x26b988],['📝','ARGS',_0x521081||_0x248a1d(0x527)],['👤','USER',_0x47287e],['🔢',_0x248a1d(0x50a),'+'+_0x20ba16],['📍',_0x248a1d(0x1fc),_0x53518a],['📱','TYPE',_0x1dfff2]];_0x54f925[_0x248a1d(0x289)](([_0x778386,_0xab1342,_0x56208a])=>{const _0x59f36e=_0x6380;console[_0x59f36e(0x1ae)](chalk['bgHex'](_0x59f36e(0x404))[_0x59f36e(0x17a)]('#ffff00')(_0x59f36e(0x2a4)+_0x778386+'\x20')+chalk[_0x59f36e(0x325)](_0x59f36e(0x404))[_0x59f36e(0x17a)]('#00ff00')(_0xab1342+':')+chalk[_0x59f36e(0x325)](_0x59f36e(0x404))[_0x59f36e(0x17a)](_0x59f36e(0x2fe))('\x20'+_0x56208a));}),console['log'](chalk[_0x248a1d(0x325)](_0x248a1d(0x404))['hex'](_0x248a1d(0x3cc))('└─────────'+_0x248a1d(0x4ac)+_0x248a1d(0x4ac)+_0x248a1d(0x4ac)+_0x248a1d(0x183)));}}if(!_0x26b988&&_0x5423db){_0x35647b&&(await handleAntiLinkDetection(_0x58c2f6,_0x1cc6ce),await handleChatbotResponse(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x5423db,_0x316e57),await handleTagDetection(_0x58c2f6,_0x1cc6ce),await handleMentionDetection(_0x58c2f6,_0x38d166,_0x1cc6ce));return;}if(!_0x26b988)return;const _0x460f00=[_0x248a1d(0x2f9),_0x248a1d(0x45b),'ban',_0x248a1d(0x38b),_0x248a1d(0x483),_0x248a1d(0x180),_0x248a1d(0x26b),_0x248a1d(0x2a0),_0x248a1d(0x177),_0x248a1d(0x1ff),_0x248a1d(0x190)+'n',_0x248a1d(0x3f3),'antilink',_0x248a1d(0x352),_0x248a1d(0x4fa),_0x248a1d(0x342),'setgpp',_0x248a1d(0x3c9),_0x248a1d(0x259)+'e',_0x248a1d(0x2a1),_0x248a1d(0x203),_0x248a1d(0x270)+_0x248a1d(0x37e),'groupmenti'+'on',_0x248a1d(0x1a5)+'n',_0x248a1d(0x377),_0x248a1d(0x358),'antidocume'+'nt',_0x248a1d(0x345),'antisticke'+'r','antiimage','antibadwor'+'d',_0x248a1d(0x3f9),'antiforwar'+'d',_0x248a1d(0x3a2),_0x248a1d(0x36d),_0x248a1d(0x456),'groupinfo','infogroup',_0x248a1d(0x204),_0x248a1d(0x45d),_0x248a1d(0x43b),_0x248a1d(0x2aa),_0x248a1d(0x3dc),'revoke',_0x248a1d(0x3a5),_0x248a1d(0x202),_0x248a1d(0x219),_0x248a1d(0x22c),_0x248a1d(0x39e),'reject','decline','acceptall','rejectall','listreques'+'ts',_0x248a1d(0x331),'joinreques'+'ts',_0x248a1d(0x437),_0x248a1d(0x4cc),_0x248a1d(0x3d5),'kickall',_0x248a1d(0x3fd),'clear',_0x248a1d(0x2f5),_0x248a1d(0x382)],_0x432748=[_0x248a1d(0x2ee),_0x248a1d(0x2af),_0x248a1d(0x512),_0x248a1d(0x286),_0x248a1d(0x34e),_0x248a1d(0x37a),_0x248a1d(0x280)+'on',_0x248a1d(0x201),_0x248a1d(0x2d6),_0x248a1d(0x43d),_0x248a1d(0x460),_0x248a1d(0x26e),'setbotconf'+'ig',_0x248a1d(0x2c9),_0x248a1d(0x340)+'ge',_0x248a1d(0x44d),_0x248a1d(0x2bc),_0x248a1d(0x1dc),_0x248a1d(0x1a2),_0x248a1d(0x264)+'ing',_0x248a1d(0x2f5),_0x248a1d(0x20f),_0x248a1d(0x1c9),'creategrou'+'p','setowner','setprefix',_0x248a1d(0x1b1),'antiedit',_0x248a1d(0x386)+'ce',_0x248a1d(0x512)+_0x248a1d(0x188),_0x248a1d(0x42c),_0x248a1d(0x38a),'startupwel'+_0x248a1d(0x332),_0x248a1d(0x2f4)+'ne',_0x248a1d(0x394)+'ine',_0x248a1d(0x3da),_0x248a1d(0x1c6),'archive',_0x248a1d(0x16c),_0x248a1d(0x313)+'ng','readreceip'+'ts',_0x248a1d(0x4b3)+_0x248a1d(0x1da),'setbio',_0x248a1d(0x522),_0x248a1d(0x348),_0x248a1d(0x2fd),_0x248a1d(0x478),'pinchat',_0x248a1d(0x277),_0x248a1d(0x1de),_0x248a1d(0x3d9),_0x248a1d(0x509),_0x248a1d(0x3f5),'menuset',_0x248a1d(0x35f),_0x248a1d(0x26c)],_0x1b9163=_0x460f00[_0x248a1d(0x2c1)](_0x26b988),_0x1938fd=_0x432748[_0x248a1d(0x2c1)](_0x26b988);if(!_0x35647b&&_0x1b9163){await _0x58c2f6[_0x248a1d(0x268)+'e'](_0x38d166,{'text':_0x248a1d(0x254)+'nd\x20can\x20onl'+_0x248a1d(0x1f5)+_0x248a1d(0x2d8)+'\x20not\x20in\x20pr'+'ivate\x20chat'+'s!'},{'quoted':_0xe1a49d});return;}let _0x4e731a=![],_0x4a2ca9=![];if(_0x35647b&&_0x1b9163){const _0x5c4ef5=await isAdmin(_0x58c2f6,_0x38d166,_0x316e57,_0x1cc6ce);_0x4e731a=_0x5c4ef5[_0x248a1d(0x37c)+'min'],_0x4a2ca9=_0x5c4ef5[_0x248a1d(0x2d0)];if(!_0x4a2ca9&&_0x26b988!==_0x248a1d(0x3a2)&&_0x26b988!=='goodbye'){await _0x58c2f6[_0x248a1d(0x268)+'e'](_0x38d166,{'text':'Please\x20mak'+_0x248a1d(0x2c7)+_0x248a1d(0x517)+'o\x20use\x20admi'+_0x248a1d(0x1df)+'.'},{'quoted':_0xe1a49d});return;}if([_0x248a1d(0x2f9),_0x248a1d(0x45b),'ban',_0x248a1d(0x38b),_0x248a1d(0x483),_0x248a1d(0x180),'kick',_0x248a1d(0x1dc),_0x248a1d(0x3a1),_0x248a1d(0x352),_0x248a1d(0x3c9),_0x248a1d(0x259)+'e','antidemote',_0x248a1d(0x203),_0x248a1d(0x270)+_0x248a1d(0x37e),'groupmenti'+'on',_0x248a1d(0x1a5)+'n',_0x248a1d(0x377),_0x248a1d(0x358),_0x248a1d(0x3ed)+'nt',_0x248a1d(0x345),_0x248a1d(0x2ae)+'r','antiimage','antibadwor'+'d','antichart',_0x248a1d(0x351)+'d',_0x248a1d(0x456),_0x248a1d(0x23c),_0x248a1d(0x3a5),_0x248a1d(0x3dc),_0x248a1d(0x1c2),_0x248a1d(0x4fa),_0x248a1d(0x342),_0x248a1d(0x18a),'accept',_0x248a1d(0x39e),_0x248a1d(0x455),_0x248a1d(0x38f),'acceptall',_0x248a1d(0x4fd),'listreques'+'ts',_0x248a1d(0x331),_0x248a1d(0x2c5)+'ts','warn'][_0x248a1d(0x2c1)](_0x26b988)){if(!_0x4e731a&&!_0x1cc6ce['key']['fromMe']){await _0x58c2f6['sendMessag'+'e'](_0x38d166,{'text':_0x248a1d(0x40c)+_0x248a1d(0x4e3)+'mins\x20can\x20u'+'se\x20this\x20co'+'mmand.',...channelInfo},{'quoted':_0xe1a49d});return;}}}if(_0x1938fd){if(!_0x1cc6ce[_0x248a1d(0x376)][_0x248a1d(0x1ef)]&&!_0xb4969c){await _0x58c2f6[_0x248a1d(0x268)+'e'](_0x38d166,{'text':_0x248a1d(0x254)+_0x248a1d(0x227)+_0x248a1d(0x223)+'\x20for\x20the\x20o'+'wner\x20or\x20su'+_0x248a1d(0x229)},{'quoted':_0xe1a49d});return;}}let _0x41101e=![];switch(_0x26b988){case _0x248a1d(0x16a):await handleSetPrefixCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x1b6):await handleSetOwnerCommand(_0x58c2f6,_0x38d166,_0x316e57,_0x1cc6ce,_0x5423db,_0x26f2c1),_0x41101e=!![];break;case _0x248a1d(0x184):await ownerCommand(_0x58c2f6,_0x38d166),_0x41101e=!![];break;case _0x248a1d(0x327):case'p':await pingCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x2fb):case _0x248a1d(0x2f3):case'up':case _0x248a1d(0x3e2):await aliveCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x4de):case'menu':case'h':case _0x248a1d(0x484):await helpCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x35f):case'menustyle':case _0x248a1d(0x214):case _0x248a1d(0x225):await menuManageCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x4a8e79),_0x41101e=!![];break;case _0x248a1d(0x4b2):case'getsetting'+'s':await settingsCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x1e1):case _0x248a1d(0x419):case _0x248a1d(0x436):case _0x248a1d(0x481):case _0x248a1d(0x1b9):if(_0x26b988==='addsudo'){const _0x21209b=_0x1cc6ce[_0x248a1d(0x38e)]?.[_0x248a1d(0x46f)+'on']||_0x1cc6ce[_0x248a1d(0x38e)]?.['extendedTe'+'xtMessage']?.[_0x248a1d(0x3f0)]||'',_0x4d20dd=_0x21209b[_0x248a1d(0x4bf)]()[_0x248a1d(0x4c0)](/\s+/)[_0x248a1d(0x4f5)](0x9aa+-0x166c+0xcc3)['join']('\x20');_0x1cc6ce[_0x248a1d(0x38e)]=_0x1cc6ce[_0x248a1d(0x38e)]||{};if(_0x1cc6ce[_0x248a1d(0x38e)][_0x248a1d(0x46f)+'on']!==undefined)_0x1cc6ce['message'][_0x248a1d(0x46f)+'on']=_0x26f2c1+_0x248a1d(0x33e)+_0x4d20dd;else _0x1cc6ce['message'][_0x248a1d(0x2db)+_0x248a1d(0x1a3)]&&(_0x1cc6ce[_0x248a1d(0x38e)][_0x248a1d(0x2db)+_0x248a1d(0x1a3)][_0x248a1d(0x3f0)]=_0x26f2c1+'sudo\x20add\x20'+_0x4d20dd);}else{if(_0x26b988==='delsudo'||_0x26b988===_0x248a1d(0x481)){const _0x1151b8=_0x1cc6ce[_0x248a1d(0x38e)]?.[_0x248a1d(0x46f)+'on']||_0x1cc6ce['message']?.['extendedTe'+_0x248a1d(0x1a3)]?.[_0x248a1d(0x3f0)]||'',_0x5a2f2c=_0x1151b8[_0x248a1d(0x4bf)]()[_0x248a1d(0x4c0)](/\s+/)[_0x248a1d(0x4f5)](-0x249f+-0x1107+0x35a7)[_0x248a1d(0x470)]('\x20');_0x1cc6ce[_0x248a1d(0x38e)]=_0x1cc6ce['message']||{};if(_0x1cc6ce[_0x248a1d(0x38e)][_0x248a1d(0x46f)+'on']!==undefined)_0x1cc6ce[_0x248a1d(0x38e)][_0x248a1d(0x46f)+'on']=_0x26f2c1+_0x248a1d(0x4ed)+_0x5a2f2c;else _0x1cc6ce['message'][_0x248a1d(0x2db)+_0x248a1d(0x1a3)]&&(_0x1cc6ce[_0x248a1d(0x38e)][_0x248a1d(0x2db)+_0x248a1d(0x1a3)]['text']=_0x26f2c1+_0x248a1d(0x4ed)+_0x5a2f2c);}else{if(_0x26b988===_0x248a1d(0x1b9)){_0x1cc6ce[_0x248a1d(0x38e)]=_0x1cc6ce[_0x248a1d(0x38e)]||{};if(_0x1cc6ce[_0x248a1d(0x38e)]['conversati'+'on']!==undefined)_0x1cc6ce[_0x248a1d(0x38e)]['conversati'+'on']=_0x26f2c1+_0x248a1d(0x4e0);else _0x1cc6ce[_0x248a1d(0x38e)][_0x248a1d(0x2db)+_0x248a1d(0x1a3)]&&(_0x1cc6ce[_0x248a1d(0x38e)][_0x248a1d(0x2db)+_0x248a1d(0x1a3)][_0x248a1d(0x3f0)]=_0x26f2c1+_0x248a1d(0x4e0));}}}await sudoCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x280)+'on':case _0x248a1d(0x2c2):await clearSessionCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x2ee):{if(!_0x1cc6ce['key'][_0x248a1d(0x1ef)]&&!_0xb4969c){await _0x58c2f6[_0x248a1d(0x268)+'e'](_0x38d166,{'text':_0x248a1d(0x3ce)+_0x248a1d(0x291)+'\x20change\x20bo'+'t\x20mode'},{'quoted':_0xe1a49d});return;}const _0x4dbbd2=_0x4a8e79[-0x25ce+0x135*-0x15+0x3f27]?.[_0x248a1d(0x368)+'e'](),_0x5debed=['private',_0x248a1d(0x48a),'group','pm'],_0x2eea44={'private':_0x248a1d(0x185)+_0x248a1d(0x398)+_0x248a1d(0x422),'public':'Everyone\x20c'+_0x248a1d(0x212)+_0x248a1d(0x422),'group':'Bot\x20will\x20n'+_0x248a1d(0x4a1)+_0x248a1d(0x1f2)+'ps','pm':_0x248a1d(0x3eb)+'ow\x20only\x20wo'+'rk\x20in\x20priv'+_0x248a1d(0x1c5)};if(!_0x4dbbd2){const _0x4bcbdd=getBotMode();await _0x58c2f6[_0x248a1d(0x268)+'e'](_0x38d166,{'text':_0x248a1d(0x20b)+_0x248a1d(0x50f)+_0x4bcbdd+('\x0a\x0aTo\x20chang'+_0x248a1d(0x36c))+_0x26f2c1+('mode\x20priva'+_0x248a1d(0x32a))+_0x26f2c1+(_0x248a1d(0x400)+'c\x0a')+_0x26f2c1+(_0x248a1d(0x3c1)+'\x0a')+_0x26f2c1+(_0x248a1d(0x408)+'xample:\x20')+_0x26f2c1+_0x248a1d(0x3c1)},{'quoted':_0xe1a49d});return;}if(!_0x5debed[_0x248a1d(0x2c1)](_0x4dbbd2)){await _0x58c2f6[_0x248a1d(0x268)+'e'](_0x38d166,{'text':_0x248a1d(0x3f1)+_0x248a1d(0x3ca)+'private,\x20p'+'ublic,\x20gro'+_0x248a1d(0x42d)+_0x248a1d(0x1b8)+_0x26f2c1+_0x248a1d(0x3c1)},{'quoted':_0xe1a49d});return;}try{setBotMode(_0x4dbbd2),await _0x58c2f6[_0x248a1d(0x268)+'e'](_0x38d166,{'text':'✦\x20Mode\x20set'+'\x20to\x20'+_0x4dbbd2+'\x0a'+_0x2eea44[_0x4dbbd2]},{'quoted':_0xe1a49d});}catch(_0x547f4a){console[_0x248a1d(0x485)]('Error\x20upda'+'ting\x20acces'+_0x248a1d(0x32d),_0x547f4a),await _0x58c2f6[_0x248a1d(0x268)+'e'](_0x38d166,{'text':_0x248a1d(0x320)+_0x248a1d(0x1a1)+_0x248a1d(0x29a)+_0x248a1d(0x499)},{'quoted':_0xe1a49d});}}_0x41101e=!![];break;case _0x248a1d(0x4be):case'start':case'restart':{const _0x8de2df=_0x4a8e79[-0x1*-0x1b2c+-0x25b0+0xa84]&&_0x4a8e79[-0x948+-0x5f5+0xf3d][_0x248a1d(0x281)](_0x248a1d(0x401))?_0x4a8e79[-0xe61+0x1187*-0x1+-0x4*-0x7fa]:'';await updateCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0xb4969c,_0x8de2df);}_0x41101e=!![];break;case _0x248a1d(0x4df):await banCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case'unban':await unbanCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x2f9):{const _0x201148=_0x4a8e79[0x4*-0x2af+-0x1b0c*-0x1+-0x1050],_0x19a5f8=_0x201148!==undefined?parseInt(_0x201148,-0x26a7+0x12a7+0x140a):undefined;_0x201148!==undefined&&(isNaN(_0x19a5f8)||_0x19a5f8<=0x22*0x1c+0x1*-0x1127+0xd6f)?await _0x58c2f6[_0x248a1d(0x268)+'e'](_0x38d166,{'text':_0x248a1d(0x293)+_0x248a1d(0x1ee)+'id\x20number\x20'+_0x248a1d(0x33b)+_0x248a1d(0x1ab)+'ute\x20with\x20n'+_0x248a1d(0x250)+_0x248a1d(0x24a)+_0x248a1d(0x2fc)},{'quoted':_0xe1a49d}):await muteCommand(_0x58c2f6,_0x38d166,_0x316e57,_0x1cc6ce,_0x19a5f8);}_0x41101e=!![];break;case _0x248a1d(0x45b):await unmuteCommand(_0x58c2f6,_0x38d166,_0x316e57),_0x41101e=!![];break;case _0x248a1d(0x26b):const _0x2817b4=_0x1cc6ce['message'][_0x248a1d(0x2db)+_0x248a1d(0x1a3)]?.[_0x248a1d(0x3a9)+'o']?.[_0x248a1d(0x46a)+'id']||[];await kickCommand(_0x58c2f6,_0x38d166,_0x316e57,_0x2817b4,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x4cc):const _0x1a6436=_0x1cc6ce[_0x248a1d(0x38e)]['extendedTe'+'xtMessage']?.['contextInf'+'o']?.[_0x248a1d(0x46a)+'id']||[];await warnCommand(_0x58c2f6,_0x38d166,_0x316e57,_0x1a6436,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x3d5):const _0xb6ef3=_0x1cc6ce[_0x248a1d(0x38e)]['extendedTe'+_0x248a1d(0x1a3)]?.['contextInf'+'o']?.[_0x248a1d(0x46a)+'id']||[];await warningsCommand(_0x58c2f6,_0x38d166,_0xb6ef3),_0x41101e=!![];break;case _0x248a1d(0x483):const _0xe6cd89=_0x1cc6ce[_0x248a1d(0x38e)][_0x248a1d(0x2db)+'xtMessage']?.[_0x248a1d(0x3a9)+'o']?.[_0x248a1d(0x46a)+'id']||[];await promoteCommand(_0x58c2f6,_0x38d166,_0xe6cd89,_0x1cc6ce),_0x41101e=!![];break;case'demote':const _0x23b930=_0x1cc6ce[_0x248a1d(0x38e)][_0x248a1d(0x2db)+_0x248a1d(0x1a3)]?.['contextInf'+'o']?.['mentionedJ'+'id']||[];await demoteCommand(_0x58c2f6,_0x38d166,_0x23b930,_0x1cc6ce),_0x41101e=!![];break;case'clear':if(_0x35647b)await clearCommand(_0x58c2f6,_0x38d166);_0x41101e=!![];break;case _0x248a1d(0x528):case _0x248a1d(0x3b4):await kickAllCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case'block':await blockCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x2b0):await lastseenCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x34d):await unblockCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x427):case _0x248a1d(0x4a5):await blocklistCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x283):case _0x248a1d(0x23b)+'ilepic':case _0x248a1d(0x364):await removeProfilePicCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x1af):case _0x248a1d(0x4f2)+'none':case _0x248a1d(0x32b):await setProfilePicPrivacyCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x248a1d(0x339)),_0x41101e=!![];break;case _0x248a1d(0x1cb):case _0x248a1d(0x4f2)+_0x248a1d(0x271):case'pfpall':await setProfilePicPrivacyCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,'all'),_0x41101e=!![];break;case _0x248a1d(0x3b0):case _0x248a1d(0x4f2)+_0x248a1d(0x47e):await setProfilePicPrivacyCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x248a1d(0x47e)),_0x41101e=!![];break;case'pp':case _0x248a1d(0x4f2):{const _0x170180=(_0x521081||'')['trim']()[_0x248a1d(0x368)+'e']();if(_0x170180===_0x248a1d(0x271))await setProfilePicPrivacyCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x248a1d(0x271));else{if(_0x170180===_0x248a1d(0x339))await setProfilePicPrivacyCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,'none');else{if(_0x170180===_0x248a1d(0x47e))await setProfilePicPrivacyCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x248a1d(0x47e));else{const _0x5d1efb=getBotName(),_0x1a01b8=createFakeContact(_0x1cc6ce);await _0x58c2f6[_0x248a1d(0x268)+'e'](_0x38d166,{'text':_0x248a1d(0x1e9)+_0x5d1efb+(_0x248a1d(0x462)+'e\x20Pic\x20Priv'+_0x248a1d(0x356)+_0x248a1d(0x46c)+_0x248a1d(0x4e7)+_0x248a1d(0x41c)+'\x20—\x20nobody\x20'+_0x248a1d(0x217)+_0x248a1d(0x1bd)+_0x248a1d(0x333)+_0x248a1d(0x420)+'movepp\x20—\x20r'+_0x248a1d(0x489)+'ile\x20pictur'+'e')},{'quoted':_0x1a01b8});}}}_0x41101e=!![];break;}case'groupinfo':case _0x248a1d(0x40b):case'infogrupo':await groupInfoCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x45d):case'listadmin':case _0x248a1d(0x2aa):await staffCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case'reset':case'revoke':case _0x248a1d(0x3a5):await resetlinkCommand(_0x58c2f6,_0x38d166,_0x316e57),_0x41101e=!![];break;case _0x248a1d(0x2a0):case _0x248a1d(0x177):await linkgroupCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x161)+'p':case'creategc':await creategroupCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case'join':await joinCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case'left':case _0x248a1d(0x495):await leaveGroupCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x4fa):await setGroupDescription(_0x58c2f6,_0x38d166,_0x316e57,_0x521081,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x342):case'setgroupna'+'me':case'groupname':await setGroupName(_0x58c2f6,_0x38d166,_0x316e57,_0x521081,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x18a):await setGroupPhoto(_0x58c2f6,_0x38d166,_0x316e57,_0x1cc6ce),_0x41101e=!![];break;case'tagall':_0x4e731a||_0x1cc6ce[_0x248a1d(0x376)][_0x248a1d(0x1ef)]?await tagAllCommand(_0x58c2f6,_0x38d166,_0x316e57,_0x1cc6ce):await _0x58c2f6[_0x248a1d(0x268)+'e'](_0x38d166,{'text':_0x248a1d(0x385)+_0x248a1d(0x447)+'\x20this\x20comm'+_0x248a1d(0x2cc)},{'quoted':_0xe1a49d});_0x41101e=!![];break;case'tagnotadmi'+'n':await tagNotAdminCommand(_0x58c2f6,_0x38d166,_0x316e57,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x3f3):{const _0x4f5356=_0x521081,_0x51eed5=_0x1cc6ce[_0x248a1d(0x38e)]?.[_0x248a1d(0x2db)+_0x248a1d(0x1a3)]?.[_0x248a1d(0x3a9)+'o']?.['quotedMess'+'age']||null;await hideTagCommand(_0x58c2f6,_0x38d166,_0x316e57,_0x4f5356,_0x51eed5,_0x1cc6ce);}_0x41101e=!![];break;case _0x248a1d(0x3fd):const _0x567fe7=_0x521081,_0x333b21=_0x1cc6ce[_0x248a1d(0x38e)]?.[_0x248a1d(0x2db)+_0x248a1d(0x1a3)]?.[_0x248a1d(0x3a9)+'o']?.['quotedMess'+_0x248a1d(0x350)]||null;await tagCommand(_0x58c2f6,_0x38d166,_0x316e57,_0x567fe7,_0x333b21,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x202):case _0x248a1d(0x219):await tagAdminsCommand(_0x58c2f6,_0x38d166,_0x316e57,_0x1cc6ce,_0x521081),_0x41101e=!![];break;case _0x248a1d(0x437):await onlineCommand(_0x58c2f6,_0x38d166,_0x316e57,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x22c):case _0x248a1d(0x39e):await acceptCommand(_0x58c2f6,_0x38d166,_0x316e57,_0x521081,_0x1cc6ce,_0xe1a49d),_0x41101e=!![];break;case _0x248a1d(0x455):case'decline':await rejectCommand(_0x58c2f6,_0x38d166,_0x316e57,_0x521081,_0x1cc6ce,_0xe1a49d),_0x41101e=!![];break;case _0x248a1d(0x4bb):await acceptAllCommand(_0x58c2f6,_0x38d166,_0x316e57,_0x1cc6ce,_0xe1a49d),_0x41101e=!![];break;case _0x248a1d(0x4fd):await rejectAllCommand(_0x58c2f6,_0x38d166,_0x316e57,_0x1cc6ce,_0xe1a49d),_0x41101e=!![];break;case'listreques'+'ts':case _0x248a1d(0x331):case _0x248a1d(0x2c5)+'ts':await listRequestsCommand(_0x58c2f6,_0x38d166,_0x316e57,_0x1cc6ce,_0xe1a49d),_0x41101e=!![];break;case _0x248a1d(0x456):await addMemberCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x521081,_0x26f2c1,_0x316e57,_0x4e731a,_0x4a2ca9,_0x35647b),_0x41101e=!![];break;case'antilink':const _0x501508=await isAdmin(_0x58c2f6,_0x38d166,_0x316e57),_0x2ac537=_0x501508['isSenderAd'+'min'],_0x5d3974=_0x501508['isBotAdmin'];if(!_0x5d3974){await _0x58c2f6[_0x248a1d(0x268)+'e'](_0x38d166,{'text':'❌\x20Bot\x20must'+'\x20be\x20admin\x20'+'to\x20use\x20ant'+_0x248a1d(0x2ef)},{'quoted':_0xe1a49d});return;}const _0x4c36f4=_0x4a8e79[0x2b*-0x12+-0x1*0x1e0b+-0x2111*-0x1]?.['toLowerCas'+'e']();if(![_0x248a1d(0x188),'help'][_0x248a1d(0x2c1)](_0x4c36f4)&&!_0x2ac537&&!_0x1cc6ce[_0x248a1d(0x376)][_0x248a1d(0x1ef)]){await _0x58c2f6['sendMessag'+'e'](_0x38d166,{'text':'❌\x20Only\x20gro'+'up\x20admins\x20'+_0x248a1d(0x353)+_0x248a1d(0x169)+_0x248a1d(0x255)},{'quoted':_0xe1a49d});return;}await handleAntilinkCommand(_0x58c2f6,_0x38d166,_0x5423db,_0x316e57,_0x2ac537),_0x41101e=!![];break;case _0x248a1d(0x270)+_0x248a1d(0x37e):case'groupmenti'+'on':const _0x25a5a2=await isAdmin(_0x58c2f6,_0x38d166,_0x316e57),_0x541ecf=_0x25a5a2[_0x248a1d(0x37c)+'min'],_0x5100fa=_0x25a5a2[_0x248a1d(0x2d0)];if(!_0x5100fa){await _0x58c2f6[_0x248a1d(0x268)+'e'](_0x38d166,{'text':_0x248a1d(0x502)+_0x248a1d(0x200)+'to\x20use\x20ant'+_0x248a1d(0x467)+'ntion!'},{'quoted':_0xe1a49d});return;}if(!_0x541ecf&&!_0x1cc6ce[_0x248a1d(0x376)][_0x248a1d(0x1ef)]){await _0x58c2f6['sendMessag'+'e'](_0x38d166,{'text':_0x248a1d(0x1c4)+_0x248a1d(0x258)+_0x248a1d(0x353)+_0x248a1d(0x17f)+_0x248a1d(0x4da)+'on!'},{'quoted':_0xe1a49d});return;}await antigroupmentionCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x316e57),_0x41101e=!![];break;case _0x248a1d(0x3f9):case'antiforwar'+'d':const _0x2398d4=await isAdmin(_0x58c2f6,_0x38d166,_0x316e57),_0x128e64=_0x2398d4['isSenderAd'+_0x248a1d(0x3ad)],_0x566f75=_0x2398d4[_0x248a1d(0x2d0)];if(!_0x566f75){await _0x58c2f6[_0x248a1d(0x268)+'e'](_0x38d166,{'text':_0x248a1d(0x502)+_0x248a1d(0x200)+_0x248a1d(0x501)+_0x248a1d(0x2ce)},{'quoted':_0xe1a49d});return;}if(!_0x128e64&&!_0x1cc6ce[_0x248a1d(0x376)][_0x248a1d(0x1ef)]){await _0x58c2f6[_0x248a1d(0x268)+'e'](_0x38d166,{'text':'❌\x20Only\x20gro'+_0x248a1d(0x258)+_0x248a1d(0x353)+_0x248a1d(0x44b)+_0x248a1d(0x302)},{'quoted':_0xe1a49d});return;}await antichartCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x316e57,_0x128e64,_0x521081),_0x41101e=!![];break;case _0x248a1d(0x352):if(!_0x4a2ca9){await _0x58c2f6[_0x248a1d(0x268)+'e'](_0x38d166,{'text':_0x248a1d(0x2e6)+'e\x20the\x20bot\x20'+_0x248a1d(0x1bb)+_0x248a1d(0x2eb),...channelInfo},{'quoted':_0xe1a49d});return;}await handleAntitagCommand(_0x58c2f6,_0x38d166,_0x5423db,_0x316e57,_0x4e731a,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x413):if(!_0x1cc6ce[_0x248a1d(0x376)][_0x248a1d(0x1ef)]&&!_0xb4969c){await _0x58c2f6['sendMessag'+'e'](_0x38d166,{'text':_0x248a1d(0x3ba)+_0x248a1d(0x490)},{'quoted':_0xe1a49d});return;}await antieditCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x521081),_0x41101e=!![];break;case _0x248a1d(0x512)+_0x248a1d(0x188):case'antistatus'+_0x248a1d(0x4f7):case _0x248a1d(0x38a):if(!_0x1cc6ce[_0x248a1d(0x376)]['fromMe']&&!_0xb4969c){await _0x58c2f6[_0x248a1d(0x268)+'e'](_0x38d166,{'text':_0x248a1d(0x3c7)+_0x248a1d(0x4cb)+_0x248a1d(0x3b5)+'le\x20for\x20the'+_0x248a1d(0x391)+_0x248a1d(0x2b9)},{'quoted':_0xe1a49d});return;}await handleStatusAntideleteCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x521081),_0x41101e=!![];break;case _0x248a1d(0x512):await handleAntideleteCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x521081),_0x41101e=!![];break;case _0x248a1d(0x386)+'ce':await antiviewonceCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x521081),_0x41101e=!![];break;case _0x248a1d(0x20c):{const _0xfa75b=_0x1cc6ce[_0x248a1d(0x376)]['fromMe']||_0xb4969c;await mentionToggleCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x521081,_0xfa75b);}_0x41101e=!![];break;case _0x248a1d(0x424):{const _0x3b5781=_0x1cc6ce['key']['fromMe']||_0xb4969c;await setMentionCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x3b5781);}_0x41101e=!![];break;case _0x248a1d(0x3d6)+'d':await antibadwordCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x521081),_0x41101e=!![];break;case'antimentio'+'n':await antimentionCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x316e57),_0x41101e=!![];break;case _0x248a1d(0x259)+'e':await antipromoteCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x316e57),_0x41101e=!![];break;case'antidemote':await antidemoteCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x316e57),_0x41101e=!![];break;case _0x248a1d(0x203):await antibugCommand(_0x58c2f6,_0x38d166,_0x5423db,_0x316e57,_0x4e731a,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x3c9):await antikickCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x316e57,_0x4e731a),_0x41101e=!![];break;case _0x248a1d(0x377):await antiaudioCommand(_0x58c2f6,_0x38d166,_0x5423db,_0x316e57,_0x4e731a,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x358):await antivideoCommand(_0x58c2f6,_0x38d166,_0x5423db,_0x316e57,_0x4e731a,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x3ed)+'nt':await antidocumentCommand(_0x58c2f6,_0x38d166,_0x5423db,_0x316e57,_0x4e731a,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x345):await antifilesCommand(_0x58c2f6,_0x38d166,_0x5423db,_0x316e57,_0x4e731a,_0x1cc6ce),_0x41101e=!![];break;case'antisticke'+'r':await antistickerCommand(_0x58c2f6,_0x38d166,_0x5423db,_0x316e57,_0x4e731a,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x3ec):await antiimageCommand(_0x58c2f6,_0x38d166,_0x5423db,_0x316e57,_0x4e731a,_0x1cc6ce),_0x41101e=!![];break;case'autotyping':await autotypingCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case'autoread':await autoreadCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x264)+_0x248a1d(0x2ba):await autorecordingCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x2f4)+'ne':await alwaysonlineCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case'offline':case _0x248a1d(0x394)+_0x248a1d(0x337):await alwaysofflineCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x3da):await pinCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case'unpin':await unpinCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x1f6):await archiveCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case'unarchive':await unarchiveCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case'disappeari'+'ng':await disappearCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x4a8e79),_0x41101e=!![];break;case _0x248a1d(0x440)+'ts':case _0x248a1d(0x4b3)+_0x248a1d(0x1da):await autoreadReceiptsCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x2af):case'autoviewst'+_0x248a1d(0x30d):case _0x248a1d(0x2af)+_0x248a1d(0x1ba):await autoStatusCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x4a8e79),_0x41101e=!![];break;case _0x248a1d(0x3a2):if(_0x35647b){if(!_0x4e731a){const _0x50d8e9=await isAdmin(_0x58c2f6,_0x38d166,_0x316e57);_0x4e731a=_0x50d8e9[_0x248a1d(0x37c)+_0x248a1d(0x3ad)];}_0x4e731a||_0x1cc6ce[_0x248a1d(0x376)]['fromMe']?await welcomeCommand(_0x58c2f6,_0x38d166,_0x1cc6ce):await _0x58c2f6[_0x248a1d(0x268)+'e'](_0x38d166,{'text':_0x248a1d(0x40c)+_0x248a1d(0x4e3)+_0x248a1d(0x2e9)+_0x248a1d(0x28d)+_0x248a1d(0x245)},{'quoted':_0xe1a49d});}else await _0x58c2f6['sendMessag'+'e'](_0x38d166,{'text':_0x248a1d(0x254)+'nd\x20can\x20onl'+'y\x20be\x20used\x20'+_0x248a1d(0x23a)},{'quoted':_0xe1a49d});_0x41101e=!![];break;case _0x248a1d(0x36d):if(_0x35647b){if(!_0x4e731a){const _0x9b236d=await isAdmin(_0x58c2f6,_0x38d166,_0x316e57);_0x4e731a=_0x9b236d['isSenderAd'+_0x248a1d(0x3ad)];}_0x4e731a||_0x1cc6ce[_0x248a1d(0x376)][_0x248a1d(0x1ef)]?await goodbyeCommand(_0x58c2f6,_0x38d166,_0x1cc6ce):await _0x58c2f6['sendMessag'+'e'](_0x38d166,{'text':_0x248a1d(0x40c)+_0x248a1d(0x4e3)+'mins\x20can\x20u'+_0x248a1d(0x28d)+'mmand.'},{'quoted':_0xe1a49d});}else await _0x58c2f6['sendMessag'+'e'](_0x38d166,{'text':_0x248a1d(0x254)+'nd\x20can\x20onl'+_0x248a1d(0x1f5)+'in\x20groups.'},{'quoted':_0xe1a49d});_0x41101e=!![];break;case _0x248a1d(0x2f5):const _0x367d49=await isAdmin(_0x58c2f6,_0x38d166,_0x316e57);if(!_0x367d49['isSenderAd'+_0x248a1d(0x3ad)]&&!_0x1cc6ce[_0x248a1d(0x376)][_0x248a1d(0x1ef)]){await _0x58c2f6[_0x248a1d(0x268)+'e'](_0x38d166,{'text':'*Only\x20admi'+_0x248a1d(0x4c1)+_0x248a1d(0x4f9)+_0x248a1d(0x2f8)+_0x248a1d(0x25f)},{'quoted':_0xe1a49d});return;}await handleChatbotCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x521081),_0x41101e=!![];break;case _0x248a1d(0x33f):topMembers(_0x58c2f6,_0x38d166,_0x35647b,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x26e):if(!_0x1cc6ce[_0x248a1d(0x376)][_0x248a1d(0x1ef)]&&!_0xb4969c){await _0x58c2f6[_0x248a1d(0x268)+'e'](_0x38d166,{'text':_0x248a1d(0x46b)+_0x248a1d(0x2c4)+_0x248a1d(0x375)+_0x248a1d(0x380)},{'quoted':_0xe1a49d}),_0x41101e=!![];break;}await pmblockerCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x521081),_0x41101e=!![];break;case _0x248a1d(0x290):if(!_0x1cc6ce['key'][_0x248a1d(0x1ef)]&&!_0xb4969c){await _0x58c2f6[_0x248a1d(0x268)+'e'](_0x38d166,{'text':_0x248a1d(0x46b)+'/sudo\x20can\x20'+_0x248a1d(0x362)+_0x248a1d(0x3cb)},{'quoted':_0xe1a49d});break;}await anticallCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x521081),_0x41101e=!![];break;case _0x248a1d(0x453):if(!_0x1cc6ce[_0x248a1d(0x376)]['fromMe']&&!_0xb4969c){await _0x58c2f6[_0x248a1d(0x268)+'e'](_0x38d166,{'text':_0x248a1d(0x46b)+_0x248a1d(0x45e)+_0x248a1d(0x213)+_0x248a1d(0x341)},{'quoted':_0xe1a49d});break;}await setcallmsgCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x521081),_0x41101e=!![];break;case _0x248a1d(0x3a0)+'all':case _0x248a1d(0x24e):case _0x248a1d(0x308):await groupanticallCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x521081),_0x41101e=!![];break;case _0x248a1d(0x441)+_0x248a1d(0x332):case _0x248a1d(0x464):await startupWelcomeCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x1c9):case'bc':await broadcastCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case'areact':case _0x248a1d(0x2d6):case _0x248a1d(0x3bf)+'on':const _0x55f01f=_0x1cc6ce['key']['fromMe']||_0xb4969c;await handleAreactCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x55f01f),_0x41101e=!![];break;case'sticker':case's':await stickerCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x476):case'toimage':{const _0x2c312a=_0x1cc6ce[_0x248a1d(0x38e)]?.[_0x248a1d(0x2db)+_0x248a1d(0x1a3)]?.[_0x248a1d(0x3a9)+'o']?.['quotedMess'+'age'];_0x2c312a?.[_0x248a1d(0x1d4)+_0x248a1d(0x3b7)]?await simageCommand(_0x58c2f6,_0x2c312a,_0x38d166):await _0x58c2f6['sendMessag'+'e'](_0x38d166,{'text':_0x248a1d(0x3b3)+'ly\x20to\x20a\x20st'+_0x248a1d(0x347)+'\x20the\x20toima'+_0x248a1d(0x402)+_0x248a1d(0x1d7)+_0x248a1d(0x215)},{'quoted':_0xe1a49d}),_0x41101e=!![];}break;case'attp':await attpCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x20d):case _0x248a1d(0x1d1):await emojimixCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case'tg':case _0x248a1d(0x328):await stickerTelegramCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x231):await stickercropCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case'qc':case'qcstc':case _0x248a1d(0x461):case'quotestick'+'er':await qcCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x521081),_0x41101e=!![];break;case _0x248a1d(0x1e7):const _0x2b1799=_0x521081;await ttsCommand(_0x58c2f6,_0x38d166,_0x2b1799,_0x1cc6ce),_0x41101e=!![];break;case'meme':await memeCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x237):case'mp3':await songCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x30b):await videoCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x274):await playCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case'ytmp4':case _0x248a1d(0x324):await ytplayCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x37b):case _0x248a1d(0x4fc):await ytsongCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case'yts':case _0x248a1d(0x4a9):await ytsCommand(_0x58c2f6,_0x38d166,_0x316e57,_0x1cc6ce,_0x5423db),_0x41101e=!![];break;case _0x248a1d(0x378):case'tt':await tiktokCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x25a)+'o':case'ttaudio':case'ttm':case _0x248a1d(0x1f7)+'c':await tiktokaudioCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x28c):await spotifyCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x2f2):await ytdocvideoCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x19a):await ytdocplayCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x330):case'whatsong':case _0x248a1d(0x25b):await shazamCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x475):case _0x248a1d(0x418):case'ig':await instagramCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x2d9):await igsCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,!![]),_0x41101e=!![];break;case'fb':case _0x248a1d(0x2dd):await facebookCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x526):await movieCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x3e9):await animeCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x4a8e79),_0x41101e=!![];break;case _0x248a1d(0x3ac):case _0x248a1d(0x412):case'cry':case _0x248a1d(0x4e9):case'pat':case _0x248a1d(0x2a2):case'wink':case _0x248a1d(0x45f):case _0x248a1d(0x349):case _0x248a1d(0x2a7):let _0x3e6cfd=_0x26b988;if(_0x3e6cfd===_0x248a1d(0x45f))_0x3e6cfd=_0x248a1d(0x349);await animeCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,[_0x3e6cfd]),_0x41101e=!![];break;case'pies':await piesCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x4a8e79),_0x41101e=!![];break;case _0x5423db===_0x248a1d(0x3d3):await piesAlias(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x248a1d(0x38d)),_0x41101e=!![];break;case _0x5423db===_0x248a1d(0x448):await piesAlias(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x248a1d(0x336)),_0x41101e=!![];break;case _0x5423db===_0x248a1d(0x4eb):await piesAlias(_0x58c2f6,_0x38d166,_0x1cc6ce,'japan'),_0x41101e=!![];break;case _0x5423db===_0x248a1d(0x4aa):await piesAlias(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x248a1d(0x49f)),_0x41101e=!![];break;case _0x5423db==='.hijab':await piesAlias(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x248a1d(0x519)),_0x41101e=!![];break;case'imagine':case _0x248a1d(0x41a):case _0x248a1d(0x4e2):await imagineCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case'sora':await soraCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x4c4):await mediafireCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case'ai':await gpt4Command(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case'gpt':case _0x248a1d(0x3d0):await aiCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x209):await wormgptCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x172):await copilotCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x3aa):await deepseekCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x4a8e79),_0x41101e=!![];break;case _0x248a1d(0x504):await llamaCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x4a8e79),_0x41101e=!![];break;case _0x248a1d(0x4f1):await mixtralCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x4a8e79),_0x41101e=!![];break;case _0x248a1d(0x1b7):await qwenCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x4a8e79),_0x41101e=!![];break;case _0x248a1d(0x42b):await claudeCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x4a8e79),_0x41101e=!![];break;case _0x248a1d(0x187):await gpt4oCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x4a8e79),_0x41101e=!![];break;case'mistral':await mistralCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x4a8e79),_0x41101e=!![];break;case'gemma':await gemmaCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x4a8e79),_0x41101e=!![];break;case'translate':case'trt':await handleTranslateCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x521081),_0x41101e=!![];break;case'ss':case _0x248a1d(0x27f):case _0x248a1d(0x428):await handleSsCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x521081),_0x41101e=!![];break;case _0x248a1d(0x4b9):await davexCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x4a8e79),_0x41101e=!![];break;case _0x248a1d(0x4f6):await dalleCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x4a8e79),_0x41101e=!![];break;case _0x248a1d(0x1c8):case'bb':await blackboxCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x4a8e79),_0x41101e=!![];break;case _0x248a1d(0x314):await bardCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x4a8e79),_0x41101e=!![];break;case'aivideo':case _0x248a1d(0x4ea):await aivideoCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x4a8e79),_0x41101e=!![];break;case _0x248a1d(0x4a6):await perplexityCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x4a8e79),_0x41101e=!![];break;case _0x248a1d(0x384):await grokCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x4a8e79),_0x41101e=!![];break;case _0x248a1d(0x4c9):await birdCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x4a8e79),_0x41101e=!![];break;case'speechwrit'+'er':await speechwriterCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x4a8e79),_0x41101e=!![];break;case'location':case'pinlocatio'+'n':case _0x248a1d(0x252)+'n':await locationCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x4a8e79),_0x41101e=!![];break;case'meta':case'metai':await metaiCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x4a8e79),_0x41101e=!![];break;case'vision':await visionCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x4a8e79),_0x41101e=!![];break;case _0x248a1d(0x452)+'g':case'gm':await goodmorningCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case'goodaftern'+_0x248a1d(0x49a):case'ga':await goodafternoonCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case'goodevenin'+'g':case'ge':await goodeveningCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x51b):await logoCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x4a8e79),_0x41101e=!![];break;case _0x248a1d(0x39f):await carbonCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x4a8e79),_0x41101e=!![];break;case _0x248a1d(0x491):case _0x248a1d(0x162):await tomp4Command(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x4e4):await togifCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x367):await toimgCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x2d2):case'ip':await ipLookupCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x4a8e79),_0x41101e=!![];break;case _0x248a1d(0x198):await whoIsCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x4a8e79),_0x41101e=!![];break;case _0x248a1d(0x3e7):await reverseipCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x4a8e79),_0x41101e=!![];break;case _0x248a1d(0x27e):case _0x248a1d(0x179):await pinterestCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x4a8e79),_0x41101e=!![];break;case _0x248a1d(0x298):await rpsCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x4a8e79),_0x41101e=!![];break;case _0x248a1d(0x285):case'slots':await slotCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x2d3)+_0x248a1d(0x2cf):await resetMenuImageCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x178):case _0x248a1d(0x522):await bioCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x4a8e79,_0x521081),_0x41101e=!![];break;case _0x248a1d(0x348):case'resetbio':case _0x248a1d(0x478):await bioCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,[_0x248a1d(0x4ee)],_0x521081),_0x41101e=!![];break;case _0x248a1d(0x233):case'pinconvo':await pinchatCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x4a8e79),_0x41101e=!![];break;case _0x248a1d(0x1de):case _0x248a1d(0x3d9):await unpinchatCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x4a8e79),_0x41101e=!![];break;case'disappear':case'ephemeral':await disappearCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x4a8e79),_0x41101e=!![];break;case _0x248a1d(0x442):case'search':case'g':await googleCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x2ed):case _0x248a1d(0x18d):case'sc':case'freebot':case'script':case _0x248a1d(0x3e8):await githubCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x236):await gitcloneCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case'apk':await apkCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x1d3):case _0x248a1d(0x379):await urlCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x206):case'shortlink':case _0x248a1d(0x207):case'short':const _0x2c3ed7=_0x5423db['slice'](_0x26b988[_0x248a1d(0x50c)])['trim']();await shortenUrlCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x2c3ed7),_0x41101e=!![];break;case'analyze':case _0x248a1d(0x1a7):case _0x248a1d(0x301):await analyzeCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x521081,_0x26f2c1),_0x41101e=!![];break;case _0x248a1d(0x410):await encryptCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x393):case'inspect':await fetchCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case'removebg':case _0x248a1d(0x2e7):case'nobg':await removebgCommand['exec'](_0x58c2f6,_0x1cc6ce,_0x4a8e79),_0x41101e=!![];break;case _0x248a1d(0x2b3):case'enhance':case _0x248a1d(0x2be):await reminiCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x4a8e79),_0x41101e=!![];break;case _0x248a1d(0x22a):await nightCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x521081),_0x41101e=!![];break;case _0x248a1d(0x497):case _0x248a1d(0x4d2):await prettyCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x521081),_0x41101e=!![];break;case _0x248a1d(0x1f3):await uglyCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x521081),_0x41101e=!![];break;case _0x248a1d(0x2e0):const _0x145e30=_0x1cc6ce[_0x248a1d(0x38e)]?.['extendedTe'+'xtMessage']?.['contextInf'+'o']?.[_0x248a1d(0x199)+_0x248a1d(0x350)];await blurCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x145e30),_0x41101e=!![];break;case'textmaker':const _0x24e620=_0x26b988;[_0x248a1d(0x2ca),_0x248a1d(0x3c2),_0x248a1d(0x4c2),_0x248a1d(0x513),_0x248a1d(0x417),_0x248a1d(0x50e),_0x248a1d(0x16f),_0x248a1d(0x2a5),_0x248a1d(0x468),_0x248a1d(0x1fe),_0x248a1d(0x4c8),_0x248a1d(0x37d),_0x248a1d(0x1d6),_0x248a1d(0x3de),_0x248a1d(0x459),_0x248a1d(0x24d),_0x248a1d(0x4d3),_0x248a1d(0x407)][_0x248a1d(0x2c1)](_0x24e620)&&await textmakerCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x5423db,_0x24e620);_0x41101e=!![];break;case _0x248a1d(0x3c8):await characterCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x19d):await wastedCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x34e):await setProfilePicture(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x242):await getppCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x3e4):case'vo':case _0x248a1d(0x19c):await viewOnceCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x2dc):case _0x248a1d(0x525):await toAudioCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case'setstatus':case _0x248a1d(0x3b2):case'togroupsta'+_0x248a1d(0x396):case _0x248a1d(0x4c5):await setGroupStatusCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x1b4):await viewStatusCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x4cd):case'image':await imageCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x316e57,_0x5423db),_0x41101e=!![];break;case _0x248a1d(0x1dc):await hijackCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x316e57),_0x41101e=!![];break;case _0x248a1d(0x3bb):startHangman(_0x58c2f6,_0x38d166),_0x41101e=!![];break;case'guess':const _0x4f99b0=_0x4a8e79[0x1*-0x161+-0x51*0x47+0x17d8];_0x4f99b0?guessLetter(_0x58c2f6,_0x38d166,_0x4f99b0):_0x58c2f6[_0x248a1d(0x268)+'e'](_0x38d166,{'text':'Please\x20gue'+_0x248a1d(0x2d1)+_0x248a1d(0x473)+_0x26f2c1+(_0x248a1d(0x267)+'ter>')},{'quoted':_0xe1a49d});_0x41101e=!![];break;case'trivia':startTrivia(_0x58c2f6,_0x38d166),_0x41101e=!![];break;case _0x248a1d(0x3f6):const _0x718788=_0x521081;_0x718788?answerTrivia(_0x58c2f6,_0x38d166,_0x718788):_0x58c2f6[_0x248a1d(0x268)+'e'](_0x38d166,{'text':_0x248a1d(0x293)+'vide\x20an\x20an'+_0x248a1d(0x40a)+'\x20'+_0x26f2c1+(_0x248a1d(0x457)+_0x248a1d(0x317))},{'quoted':_0xe1a49d});_0x41101e=!![];break;case _0x248a1d(0x323):case _0x248a1d(0x494):await tictactoeCommand(_0x58c2f6,_0x38d166,_0x316e57,_0x521081),_0x41101e=!![];break;case'move':const _0x30fd69=parseInt(_0x4a8e79[0xe5+-0xb14+0xa2f]);isNaN(_0x30fd69)?await _0x58c2f6[_0x248a1d(0x268)+'e'](_0x38d166,{'text':'Please\x20pro'+'vide\x20a\x20val'+_0x248a1d(0x1ec)+_0x248a1d(0x24b)+_0x248a1d(0x359)+'-Toe\x20move.'}):await handleTicTacToeMove(_0x58c2f6,_0x38d166,_0x316e57,_0x30fd69);_0x41101e=!![];break;case _0x248a1d(0x3ea):case'cf':await connectFourCommand(_0x58c2f6,_0x38d166,_0x316e57,_0x521081),_0x41101e=!![];break;case'drop':const _0x13ff26=parseInt(_0x4a8e79[-0x59*0x33+-0x1fa9*-0x1+-0xdee]);if(isNaN(_0x13ff26))await _0x58c2f6[_0x248a1d(0x268)+'e'](_0x38d166,{'text':'Please\x20pro'+_0x248a1d(0x1ee)+_0x248a1d(0x524)+_0x248a1d(0x4d5)+_0x248a1d(0x487)+_0x248a1d(0x3fc)+_0x248a1d(0x430)});else{const _0x4481c8=await handleConnectFourMove(_0x58c2f6,_0x38d166,_0x316e57,_0x13ff26['toString']());!_0x4481c8&&await _0x58c2f6[_0x248a1d(0x268)+'e'](_0x38d166,{'text':_0x248a1d(0x262)+'t\x20in\x20an\x20ac'+_0x248a1d(0x3d7)+_0x248a1d(0x435)+_0x248a1d(0x166)+_0x248a1d(0x3bc)+_0x248a1d(0x20e)+'r'});}_0x41101e=!![];break;case'tttai':case _0x248a1d(0x48d)+'i':await tictactoeAICommand(_0x58c2f6,_0x38d166,_0x316e57),_0x41101e=!![];break;case'tttjoin':await handleTicTacToeJoin(_0x58c2f6,_0x38d166,_0x316e57),_0x41101e=!![];break;case _0x248a1d(0x405):await tictactoeEndCommand(_0x58c2f6,_0x38d166,_0x316e57),_0x41101e=!![];break;case _0x248a1d(0x4db):case _0x248a1d(0x4fe):await wcgCommand(_0x58c2f6,_0x38d166,_0x316e57,_0xe1a49d),_0x41101e=!![];break;case _0x248a1d(0x4b8):case _0x248a1d(0x4c3)+'i':await wcgAICommand(_0x58c2f6,_0x38d166,_0x316e57,_0xe1a49d),_0x41101e=!![];break;case _0x248a1d(0x221):await handleWcgJoin(_0x58c2f6,_0x38d166,_0x316e57,_0xe1a49d),_0x41101e=!![];break;case _0x248a1d(0x41b):case'wcgstart':await wcgBeginCommand(_0x58c2f6,_0x38d166,_0x316e57,_0xe1a49d),_0x41101e=!![];break;case'wcgend':await wcgEndCommand(_0x58c2f6,_0x38d166,_0x316e57,_0xe1a49d),_0x41101e=!![];break;case _0x248a1d(0x4ec):await wcgScoresCommand(_0x58c2f6,_0x38d166,_0x316e57,_0xe1a49d),_0x41101e=!![];break;case'dice':await diceCommand(_0x58c2f6,_0x38d166,_0x316e57,_0x521081),_0x41101e=!![];break;case'diceai':await diceAICommand(_0x58c2f6,_0x38d166,_0x316e57,_0x521081),_0x41101e=!![];break;case _0x248a1d(0x43f):await handleDiceJoin(_0x58c2f6,_0x38d166,_0x316e57),_0x41101e=!![];break;case _0x248a1d(0x2e3):case'dicestart':await handleDiceBegin(_0x58c2f6,_0x38d166,_0x316e57),_0x41101e=!![];break;case _0x248a1d(0x1f1):await handleDiceRoll(_0x58c2f6,_0x38d166,_0x316e57),_0x41101e=!![];break;case _0x248a1d(0x171):await diceEndCommand(_0x58c2f6,_0x38d166,_0x316e57),_0x41101e=!![];break;case _0x248a1d(0x51f):case _0x248a1d(0x449):const _0x1cbeb9=await handleConnectFourMove(_0x58c2f6,_0x38d166,_0x316e57,'forfeit'),_0xfd9e6e=await handleTicTacToeMove(_0x58c2f6,_0x38d166,_0x316e57,_0x248a1d(0x51f));!_0x1cbeb9&&!_0xfd9e6e&&await _0x58c2f6[_0x248a1d(0x268)+'e'](_0x38d166,{'text':_0x248a1d(0x262)+_0x248a1d(0x4ff)+_0x248a1d(0x49d)+'.\x20Start\x20on'+'e\x20with\x20.tt'+_0x248a1d(0x3a7)+_0x248a1d(0x42f)});_0x41101e=!![];break;case _0x248a1d(0x1a8):await jokeCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x346):await quoteCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x1f4):await factCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x3be):await complimentCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x2b2):await insultCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x1e0):const _0x36a25c=_0x521081;await eightBallCommand(_0x58c2f6,_0x38d166,_0x36a25c),_0x41101e=!![];break;case'lyrics':const _0x883938=_0x521081;await lyricsCommand(_0x58c2f6,_0x38d166,_0x883938,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x2b8):await dareCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x466):await truthCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x507):await flirtCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case'ship':await shipCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x19e):const _0x475d8b=_0x1cc6ce[_0x248a1d(0x38e)]?.['extendedTe'+'xtMessage']?.[_0x248a1d(0x3a9)+'o']?.[_0x248a1d(0x199)+'age'],_0x10080c=_0x1cc6ce[_0x248a1d(0x38e)]?.[_0x248a1d(0x2db)+_0x248a1d(0x1a3)]?.['contextInf'+'o']?.[_0x248a1d(0x46a)+'id']||[];await simpCommand(_0x58c2f6,_0x38d166,_0x475d8b,_0x10080c,_0x316e57),_0x41101e=!![];break;case _0x248a1d(0x443):case _0x248a1d(0x3cf)+'d':case _0x248a1d(0x265):const _0x4b1244=_0x1cc6ce[_0x248a1d(0x38e)]?.[_0x248a1d(0x2db)+_0x248a1d(0x1a3)]?.[_0x248a1d(0x3a9)+'o']?.[_0x248a1d(0x199)+_0x248a1d(0x350)],_0x580654=_0x1cc6ce[_0x248a1d(0x38e)]?.['extendedTe'+_0x248a1d(0x1a3)]?.[_0x248a1d(0x3a9)+'o']?.[_0x248a1d(0x46a)+'id']||[];await stupidCommand(_0x58c2f6,_0x38d166,_0x4b1244,_0x580654,_0x316e57,_0x4a8e79),_0x41101e=!![];break;case'pair':await pairCommand(_0x58c2f6,_0x38d166,_0x521081,_0x1cc6ce),_0x41101e=!![];break;case'delete':case _0x248a1d(0x246):await deleteCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x316e57),_0x41101e=!![];break;case _0x248a1d(0x2b6):const _0x2de93c=_0x521081;_0x2de93c?await weatherCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x2de93c):await _0x58c2f6[_0x248a1d(0x268)+'e'](_0x38d166,{'text':'Please\x20spe'+_0x248a1d(0x2c3)+_0x248a1d(0x3c5)+_0x26f2c1+(_0x248a1d(0x19f)+_0x248a1d(0x1e2))},{'quoted':_0xe1a49d});_0x41101e=!![];break;case'news':await newsCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x4ad):case _0x248a1d(0x493):case _0x248a1d(0x3bd):await channelidCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case'chanelid':await chaneljidCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x2df):case _0x248a1d(0x369):await vcfCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x372):await wallpaperCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x486):await takeCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x4a8e79),_0x41101e=!![];break;case _0x248a1d(0x1a9):await clearTmpCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x37a):case'tos':await tostatusCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x488):case'nitumie':case _0x248a1d(0x16b):case _0x248a1d(0x205):case'li':case'send':case _0x248a1d(0x35a):case _0x248a1d(0x188):await saveStatusCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case'vv':case _0x248a1d(0x1f8):case'☺️':case'nice':case'😁':case _0x248a1d(0x1b1):if(!_0x1cc6ce['key'][_0x248a1d(0x1ef)]&&!_0xb4969c){await _0x58c2f6[_0x248a1d(0x268)+'e'](_0x38d166,{'text':_0x248a1d(0x254)+'nd\x20is\x20only'+'\x20available'+'\x20for\x20the\x20o'+_0x248a1d(0x4b4)+_0x248a1d(0x229)},{'quoted':_0xe1a49d});return;}await vv2Command(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case'vn':case _0x248a1d(0x34f):await vnCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x521081,_0x26f2c1),_0x41101e=!![];break;case _0x248a1d(0x287):await miscCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,[_0x248a1d(0x287),..._0x4a8e79]),_0x41101e=!![];break;case'horny':await miscCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,[_0x248a1d(0x2d7),..._0x4a8e79]),_0x41101e=!![];break;case _0x248a1d(0x3a6):await miscCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,[_0x248a1d(0x3a6),..._0x4a8e79]),_0x41101e=!![];break;case _0x248a1d(0x2e8):await miscCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,[_0x248a1d(0x2e8),..._0x4a8e79]),_0x41101e=!![];break;case _0x248a1d(0x383):await miscCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,[_0x248a1d(0x383),..._0x4a8e79]),_0x41101e=!![];break;case _0x248a1d(0x1e8):await miscCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,[_0x248a1d(0x1e8),..._0x4a8e79]),_0x41101e=!![];break;case _0x248a1d(0x2ec):await miscCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,[_0x248a1d(0x2ec),..._0x4a8e79]),_0x41101e=!![];break;case _0x248a1d(0x444)+'pid':await miscCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,[_0x248a1d(0x444)+'pid',..._0x4a8e79]),_0x41101e=!![];break;case'namecard':await miscCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,[_0x248a1d(0x471),..._0x4a8e79]),_0x41101e=!![];break;case _0x248a1d(0x43e):case _0x248a1d(0x1c1):const _0x27b278=_0x26b988==='oogway2'?'oogway2':_0x248a1d(0x1c1);await miscCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,[_0x27b278,..._0x4a8e79]),_0x41101e=!![];break;case _0x248a1d(0x31c):await miscCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,[_0x248a1d(0x31c),..._0x4a8e79]),_0x41101e=!![];break;case'ytcomment':await miscCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,['youtube-co'+_0x248a1d(0x321),..._0x4a8e79]),_0x41101e=!![];break;case'comrade':case _0x248a1d(0x498):case'glass':case _0x248a1d(0x319):case _0x248a1d(0x1c0):case _0x248a1d(0x18b):await miscCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,[_0x26b988,..._0x4a8e79]),_0x41101e=!![];break;case _0x248a1d(0x406):case _0x248a1d(0x48c):case'gn':await goodnightCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x3b1):case _0x248a1d(0x241):await shayariCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case'roseday':await rosedayCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x19b):case _0x248a1d(0x2d4)+'gs':case'premierlea'+_0x248a1d(0x4ab):await eplStandingsCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x312):case'germanleag'+'ue':case _0x248a1d(0x3f7):await bundesligaStandingsCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x176):case'laligastan'+_0x248a1d(0x247):case _0x248a1d(0x173)+_0x248a1d(0x4ab):case'laligatabl'+'e':await laligaStandingsCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x4e1):case _0x248a1d(0x1b0)+'es':case _0x248a1d(0x1fd):case _0x248a1d(0x25d):case'todaysgame'+'s':await matchesCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x1cc):case _0x248a1d(0x257):case _0x248a1d(0x3fe)+_0x248a1d(0x4ab):case _0x248a1d(0x1b2)+'e':case _0x248a1d(0x47c)+_0x248a1d(0x247):await serieAStandingsCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x29b):case'ligueun':case _0x248a1d(0x3a8)+'ue':case _0x248a1d(0x4e6):await ligue1StandingsCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case'bible':await bibleCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x521081,_0x26f2c1),_0x41101e=!![];break;case _0x248a1d(0x4d4):case _0x248a1d(0x21a):await bibleListCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case'quran':case _0x248a1d(0x24f):await quranCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x521081),_0x41101e=!![];break;case _0x248a1d(0x3d1)+'ig':await setbotconfigCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case _0x248a1d(0x2c9):await setbotnameCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x521081),_0x41101e=!![];break;case _0x248a1d(0x340)+'ge':await setmenuimageCommand(_0x58c2f6,_0x38d166,_0x1cc6ce),_0x41101e=!![];break;case'setfont':case'font':await setfontCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x4a8e79,_0x521081),_0x41101e=!![];break;case _0x248a1d(0x2ca):case'ice':case'snow':case _0x248a1d(0x513):case _0x248a1d(0x417):case _0x248a1d(0x50e):case _0x248a1d(0x16f):case _0x248a1d(0x2a5):case _0x248a1d(0x468):case'thunder':case _0x248a1d(0x4c8):case'1917':case _0x248a1d(0x1d6):case _0x248a1d(0x3de):case _0x248a1d(0x459):case'blackpink':case _0x248a1d(0x4d3):case _0x248a1d(0x407):await textmakerCommand(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x5423db,_0x26b988),_0x41101e=!![];break;default:_0x35647b&&_0x5423db&&await handleChatbotResponse(_0x58c2f6,_0x38d166,_0x1cc6ce,_0x5423db,_0x316e57);_0x41101e=![];break;}_0x5423db[_0x248a1d(0x281)]('.')&&await addCommandReaction(_0x58c2f6,_0x1cc6ce);}catch(_0x167858){console[_0x248a1d(0x485)](_0x248a1d(0x239)+_0x248a1d(0x1ea)+_0x248a1d(0x1a0),_0x167858['message']),console[_0x248a1d(0x485)](_0x167858[_0x248a1d(0x228)]);try{const _0x45e2d9=message?.[_0x248a1d(0x376)]?.[_0x248a1d(0x3e3)];_0x45e2d9&&await _0x58c2f6['sendMessag'+'e'](_0x45e2d9,{'text':'❌\x20Failed\x20t'+_0x248a1d(0x52b)+'command!',...channelInfo});}catch(_0x1a698a){console['error'](_0x248a1d(0x261)+_0x248a1d(0x29c)+'\x20message:',_0x1a698a['message']);}}}const recentAntiActions=new Set(),processedEvents=new Map();function participantToJid(_0x18e34c){const _0x4ca1fc=_0x6380;if(typeof _0x18e34c===_0x4ca1fc(0x2b5))return _0x18e34c;if(_0x18e34c&&_0x18e34c['id'])return _0x18e34c['id'];return String(_0x18e34c);}async function handleGroupParticipantUpdate(_0x33bdfe,_0x3de273){const _0x51e7fa=_0x6380;try{const {id:_0x1e1f55,action:_0x4c5b37,author:_0x29be78}=_0x3de273,_0x4b3f65=(_0x3de273[_0x51e7fa(0x1e5)+'ts']||[])[_0x51e7fa(0x35b)](participantToJid);if(!_0x1e1f55[_0x51e7fa(0x361)](_0x51e7fa(0x211)))return;const _0x2a70a7=_0x4c5b37+':'+_0x1e1f55+':'+_0x4b3f65[_0x51e7fa(0x3e0)]()['join'](',')+':'+(_0x29be78||'unknown');if(processedEvents[_0x51e7fa(0x30c)](_0x2a70a7)){const _0x980872=processedEvents[_0x51e7fa(0x35a)](_0x2a70a7);if(Date[_0x51e7fa(0x392)]()-_0x980872<-0x2406+0x1334+0x1a*0x119)return;}processedEvents['set'](_0x2a70a7,Date['now']()),setTimeout(()=>{const _0x5439c3=_0x6380;for(const [_0x58d2a5,_0xed77da]of processedEvents['entries']()){Date[_0x5439c3(0x392)]()-_0xed77da>-0x3*0x739+0x1d1*0x1+-0x3aea*-0x1&&processedEvents[_0x5439c3(0x1ac)](_0x58d2a5);}},-0x7221*-0x1+0x18ee0+-0x116a1*0x1);const _0x504f68=[];for(const _0x4d0adf of _0x4b3f65){if(isLidJid(_0x4d0adf))try{const _0x3d1bad=await resolvePhoneFromLid(_0x33bdfe,_0x4d0adf);_0x504f68['push'](_0x3d1bad||_0x4d0adf[_0x51e7fa(0x4c0)]('@')[0x1ab*-0xb+0xcad+0x5ac]['split'](':')[0x10*-0x205+-0x8e*-0x3d+-0x186]);}catch{_0x504f68[_0x51e7fa(0x3d2)](_0x4d0adf['split']('@')[-0xba*0x8+0x1b51+-0x1581*0x1][_0x51e7fa(0x4c0)](':')[0xd*0x259+-0x1e26+0x5*-0x13]);}else _0x504f68[_0x51e7fa(0x3d2)](_0x4d0adf[_0x51e7fa(0x4c0)]('@')[-0x9*0x22d+-0x1b1b+0x2eb0][_0x51e7fa(0x4c0)](':')[0x12d2*0x1+-0x22e7+0x1015]);}let _0x39be02=_0x29be78?_0x29be78[_0x51e7fa(0x4c0)]('@')[0x96d*-0x2+0xf3f+0x39b][_0x51e7fa(0x4c0)](':')[0xc77*-0x1+0x35*0xb0+0x13*-0x143]:_0x51e7fa(0x49c);if(_0x29be78&&isLidJid(_0x29be78))try{const _0x2dcf49=await resolvePhoneFromLid(_0x33bdfe,_0x29be78);if(_0x2dcf49)_0x39be02=_0x2dcf49;}catch{}console[_0x51e7fa(0x1ae)](chalk[_0x51e7fa(0x325)](_0x51e7fa(0x404))['hex'](_0x51e7fa(0x3cc))(_0x51e7fa(0x39b)+_0x51e7fa(0x416)+_0x51e7fa(0x503)+'\x20─────────'+_0x51e7fa(0x315))),console[_0x51e7fa(0x1ae)](chalk[_0x51e7fa(0x325)](_0x51e7fa(0x404))[_0x51e7fa(0x17a)](_0x51e7fa(0x3e5))(_0x51e7fa(0x465)+glitchText(_0x51e7fa(0x4f3)+'TE'))),console[_0x51e7fa(0x1ae)](chalk[_0x51e7fa(0x325)](_0x51e7fa(0x404))[_0x51e7fa(0x17a)]('#00ffff')(_0x51e7fa(0x2cb)+_0x51e7fa(0x4ac)+'──────────'+_0x51e7fa(0x4ac)+_0x51e7fa(0x2a6)));const _0x106115=[['🕐',_0x51e7fa(0x4bd),new Date()[_0x51e7fa(0x17c)+_0x51e7fa(0x4f0)]()],['📌',_0x51e7fa(0x2e1),_0x4c5b37[_0x51e7fa(0x263)+'e']()],['👥',_0x51e7fa(0x2fa),_0x1e1f55['split']('@')[0x16*0x1bf+-0x263d+-0x1*0x2d]],['👤','PARTICIPAN'+'TS',_0x504f68[_0x51e7fa(0x470)](',\x20')],['👑',_0x51e7fa(0x316),_0x39be02]];_0x106115[_0x51e7fa(0x289)](([_0x55308f,_0x167b00,_0xfcc60c])=>{const _0xa1d30d=_0x6380;console[_0xa1d30d(0x1ae)](chalk[_0xa1d30d(0x325)]('#0a0a0a')[_0xa1d30d(0x17a)](_0xa1d30d(0x2f0))(_0xa1d30d(0x2a4)+_0x55308f+'\x20')+chalk[_0xa1d30d(0x325)](_0xa1d30d(0x404))['hex'](_0xa1d30d(0x3cc))(_0x167b00+':')+chalk[_0xa1d30d(0x325)](_0xa1d30d(0x404))[_0xa1d30d(0x17a)](_0xa1d30d(0x2fe))('\x20'+_0xfcc60c));}),console[_0x51e7fa(0x1ae)](chalk[_0x51e7fa(0x325)](_0x51e7fa(0x404))[_0x51e7fa(0x17a)](_0x51e7fa(0x3cc))(_0x51e7fa(0x3ef)+_0x51e7fa(0x4ac)+_0x51e7fa(0x4ac)+_0x51e7fa(0x4ac)+'──────┘\x0a')),console[_0x51e7fa(0x1ae)](_0x51e7fa(0x1cd)+_0x51e7fa(0x511)+':\x20'+_0x4c5b37+_0x51e7fa(0x450)+_0x1e1f55+(_0x51e7fa(0x374)+'pants:\x20')+_0x504f68[_0x51e7fa(0x470)](',\x20')+(_0x51e7fa(0x3c3)+'\x20')+_0x39be02);let _0x340ada=!![];try{_0x340ada=getBotMode()===_0x51e7fa(0x48a);}catch(_0x4d2ac5){}if(_0x4c5b37===_0x51e7fa(0x4ee)){const _0x32b757=getAntikickConfig?getAntikickConfig(_0x1e1f55):null;_0x32b757&&_0x32b757[_0x51e7fa(0x51a)]&&await handleAntikick(_0x33bdfe,_0x1e1f55,_0x4b3f65);await handleLeaveEvent(_0x33bdfe,_0x1e1f55,_0x4b3f65);return;}const _0x399632=_0x4b3f65[_0x51e7fa(0x3e0)]()[_0x51e7fa(0x470)](','),_0x3bb4c8=_0x4c5b37+':'+_0x1e1f55+':'+_0x399632;if(recentAntiActions['has'](_0x3bb4c8)){console[_0x51e7fa(0x1ae)](_0x51e7fa(0x505)+_0x51e7fa(0x3c4)+'\x20'+_0x4c5b37+(_0x51e7fa(0x226)+'\x20')+_0x399632+('\x20(cooldown'+_0x51e7fa(0x1cf)));return;}if(_0x4c5b37===_0x51e7fa(0x483)){const _0x2bf00f=getGroupConfig?getGroupConfig(_0x1e1f55,'antipromot'+'e'):null;_0x2bf00f?.[_0x51e7fa(0x51a)]&&(recentAntiActions[_0x51e7fa(0x456)](_0x51e7fa(0x243)+_0x1e1f55+':'+_0x399632),setTimeout(()=>recentAntiActions[_0x51e7fa(0x1ac)](_0x51e7fa(0x243)+_0x1e1f55+':'+_0x399632),0x1*0x448a+-0x97*-0x1f+0xb*-0x291));const _0x14966e=await handleAntipromote(_0x33bdfe,_0x1e1f55,_0x4b3f65,_0x29be78);!_0x14966e&&_0x340ada&&await handlePromotionEvent(_0x33bdfe,_0x1e1f55,_0x4b3f65,_0x29be78);return;}if(_0x4c5b37===_0x51e7fa(0x180)){const _0xda22bf=getGroupConfig?getGroupConfig(_0x1e1f55,_0x51e7fa(0x2a1)):null;_0xda22bf?.[_0x51e7fa(0x51a)]&&(recentAntiActions[_0x51e7fa(0x456)](_0x51e7fa(0x251)+_0x1e1f55+':'+_0x399632),setTimeout(()=>recentAntiActions[_0x51e7fa(0x1ac)](_0x51e7fa(0x251)+_0x1e1f55+':'+_0x399632),0x38e1+0x3c38+0x11*-0x371));const _0x152853=await handleAntidemote(_0x33bdfe,_0x1e1f55,_0x4b3f65,_0x29be78);!_0x152853&&_0x340ada&&await handleDemotionEvent(_0x33bdfe,_0x1e1f55,_0x4b3f65,_0x29be78);return;}if(_0x4c5b37==='add'){await handleJoinEvent(_0x33bdfe,_0x1e1f55,_0x4b3f65);return;}}catch(_0x3a6e32){console[_0x51e7fa(0x485)](_0x51e7fa(0x363)+'andleGroup'+_0x51e7fa(0x164)+_0x51e7fa(0x3b8),_0x3a6e32),console[_0x51e7fa(0x485)](_0x3a6e32[_0x51e7fa(0x228)]);}}module['exports']={'handleMessages':handleMessages,'handleGroupParticipantUpdate':handleGroupParticipantUpdate,'handleStatus':async(_0x17d53a,_0x3f2c10)=>{await handleStatusUpdate(_0x17d53a,_0x3f2c10);},'handleIncomingCall':async(_0x2f6296,_0x105dcf)=>{await handleIncomingCall(_0x2f6296,_0x105dcf);},'handleGroupCall':async(_0x162764,_0xad5d75)=>{await handleGroupCall(_0x162764,_0xad5d75);},'handleAntieditUpdate':handleMessageUpdate,'initPresenceOnConnect':initPresenceOnConnect};