jsdecryptor 4.0.3 → 4.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Database/database.js +1 -446
- package/Database/migration.js +1 -327
- package/Database/pgSync.js +1 -229
- package/Database/settingsStore.js +1 -305
- package/config.js +1 -32
- package/dave.js +1 -3063
- package/davelib/botConfig.js +1 -71
- package/davelib/greetings.js +1 -47
- package/davelib/id.js +1 -11
- package/davelib/index.js +1 -577
- package/davelib/isAdmin.js +1 -32
- package/davelib/isBanned.js +1 -12
- package/davelib/isOwner.js +1 -15
- package/davelib/messageConfig.js +1 -15
- package/davelib/messageHandler.js +1 -87
- package/davelib/reactions.js +1 -180
- package/davelib/welcome.js +1 -100
- package/daveset.js +1 -16
- package/davexcore/anti/antiaudio.js +1 -106
- package/davexcore/anti/antibadword.js +1 -313
- package/davexcore/anti/antibug.js +1 -156
- package/davexcore/anti/anticall.js +1 -219
- package/davexcore/anti/antichart.js +1 -280
- package/davexcore/anti/antidelete.js +1 -673
- package/davexcore/anti/antideletestatus.js +1 -535
- package/davexcore/anti/antidemote.js +1 -352
- package/davexcore/anti/antidocument.js +1 -105
- package/davexcore/anti/antiedit.js +1 -410
- package/davexcore/anti/antifiles.js +1 -109
- package/davexcore/anti/antigroupmention.js +1 -206
- package/davexcore/anti/antiimage.js +1 -105
- package/davexcore/anti/antikick.js +1 -125
- package/davexcore/anti/antilink.js +1 -237
- package/davexcore/anti/antimention.js +1 -143
- package/davexcore/anti/antipromote.js +1 -320
- package/davexcore/anti/antisticker.js +1 -105
- package/davexcore/anti/antitag.js +1 -191
- package/davexcore/anti/antivideo.js +1 -105
- package/davexcore/anti/antiviewonce.js +1 -396
- package/davexcore/anti/groupanticall.js +1 -262
- package/davexcore/anti/mention.js +1 -242
- package/davexcore/automation/alwaysonline.js +1 -226
- package/davexcore/automation/autoReadReciepts.js +1 -96
- package/davexcore/automation/autoread.js +1 -104
- package/davexcore/automation/autorecording.js +1 -197
- package/davexcore/automation/autostatus.js +1 -317
- package/davexcore/automation/autotyping.js +1 -197
- package/davexcore/automation/chatbot.js +1 -444
- package/davexcore/automation/chatmanage.js +1 -199
- package/davexcore/automation/devReact.js +1 -43
- package/davexcore/automation/goodbye.js +1 -181
- package/davexcore/automation/greetings.js +1 -154
- package/davexcore/automation/welcome.js +1 -187
- package/davexcore/group/addmember.js +1 -101
- package/davexcore/group/ban.js +1 -63
- package/davexcore/group/blockUnblock.js +1 -177
- package/davexcore/group/clear.js +1 -196
- package/davexcore/group/creategroup.js +1 -43
- package/davexcore/group/demote.js +1 -115
- package/davexcore/group/disappear.js +1 -67
- package/davexcore/group/groupinfo.js +1 -167
- package/davexcore/group/groupmanage.js +1 -133
- package/davexcore/group/hidetag.js +1 -108
- package/davexcore/group/joinrequests.js +1 -145
- package/davexcore/group/kick.js +1 -92
- package/davexcore/group/kickall.js +1 -63
- package/davexcore/group/leave.js +1 -38
- package/davexcore/group/linkgroup.js +1 -63
- package/davexcore/group/mute.js +1 -57
- package/davexcore/group/online.js +1 -117
- package/davexcore/group/pmblocker.js +1 -65
- package/davexcore/group/promote.js +1 -93
- package/davexcore/group/resetlink.js +1 -57
- package/davexcore/group/staff.js +1 -99
- package/davexcore/group/tag.js +1 -111
- package/davexcore/group/tagadmins.js +1 -88
- package/davexcore/group/tagall.js +1 -99
- package/davexcore/group/tagnotadmin.js +1 -92
- package/davexcore/group/topmembers.js +1 -202
- package/davexcore/group/unban.js +1 -64
- package/davexcore/group/unmute.js +1 -45
- package/davexcore/group/warn.js +1 -83
- package/davexcore/group/warnings.js +1 -26
- package/davexcore/owner/alive.js +1 -67
- package/davexcore/owner/bio.js +1 -49
- package/davexcore/owner/broadcast.js +1 -74
- package/davexcore/owner/chanel.js +1 -79
- package/davexcore/owner/channelid.js +1 -50
- package/davexcore/owner/clearsession.js +1 -86
- package/davexcore/owner/help.js +1 -649
- package/davexcore/owner/hijack.js +1 -69
- package/davexcore/owner/menuManage.js +1 -173
- package/davexcore/owner/menuSettings.js +1 -1
- package/davexcore/owner/owner.js +1 -17
- package/davexcore/owner/pair.js +1 -160
- package/davexcore/owner/pinchat.js +1 -44
- package/davexcore/owner/ping.js +1 -65
- package/davexcore/owner/profilepic.js +1 -61
- package/davexcore/owner/resetmenuimage.js +1 -16
- package/davexcore/owner/setGroupStatus.js +1 -315
- package/davexcore/owner/setbotconfig.js +1 -306
- package/davexcore/owner/setfont.js +1 -79
- package/davexcore/owner/setowner.js +1 -144
- package/davexcore/owner/setprefix.js +1 -131
- package/davexcore/owner/settings.js +1 -98
- package/davexcore/owner/startupwelcome.js +1 -94
- package/davexcore/owner/sudo.js +1 -138
- package/davexcore/owner/update.js +1 -282
- package/davexcore/utility/bible.js +1 -239
- package/davexcore/utility/encrypt.js +1 -99
- package/davexcore/utility/sports.js +1 -403
- package/index.js +1 -994
- package/package.json +1 -1
|
@@ -1,410 +1 @@
|
|
|
1
|
-
const { getOwnerConfig, setOwnerConfig, getGroupConfig, setGroupConfig, parseToggleCommand } = require('../../Database/settingsStore');
|
|
2
|
-
const db = require('../../Database/database');
|
|
3
|
-
const { createFakeContact, getBotName } = require('../../davelib/fakeContact');
|
|
4
|
-
|
|
5
|
-
const originalMessages = new Map();
|
|
6
|
-
const MAX_STORED_MESSAGES = 5000;
|
|
7
|
-
const MESSAGE_RETENTION_MS = 604800000;
|
|
8
|
-
|
|
9
|
-
async function isAuthorized(sock, message) {
|
|
10
|
-
try {
|
|
11
|
-
const senderId = message.key.participant || message.key.remoteJid;
|
|
12
|
-
if (message.key.fromMe) return true;
|
|
13
|
-
return db.isSudo(senderId);
|
|
14
|
-
} catch {
|
|
15
|
-
return message.key.fromMe;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
function normalizeOwnerConfig(raw) {
|
|
20
|
-
if (!raw || typeof raw !== 'object') {
|
|
21
|
-
return { gc: { enabled: true, mode: 'private' }, pm: { enabled: true, mode: 'private' } };
|
|
22
|
-
}
|
|
23
|
-
if (raw.gc && raw.pm) return raw;
|
|
24
|
-
const enabled = raw.enabled !== undefined ? raw.enabled : true;
|
|
25
|
-
const mode = raw.mode || 'private';
|
|
26
|
-
return { gc: { enabled, mode }, pm: { enabled, mode } };
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
function getEffectiveConfig(chatId) {
|
|
30
|
-
const isGroup = chatId.endsWith('@g.us');
|
|
31
|
-
if (isGroup) {
|
|
32
|
-
if (db.hasGroupSetting(chatId, 'antiedit')) {
|
|
33
|
-
const groupConf = getGroupConfig(chatId, 'antiedit');
|
|
34
|
-
if (typeof groupConf === 'object' && groupConf.enabled !== undefined) {
|
|
35
|
-
return groupConf;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
const ownerRaw = getOwnerConfig('antiedit');
|
|
39
|
-
const ownerConf = normalizeOwnerConfig(ownerRaw);
|
|
40
|
-
return { enabled: ownerConf.gc.enabled, mode: ownerConf.gc.mode };
|
|
41
|
-
} else {
|
|
42
|
-
const ownerRaw = getOwnerConfig('antiedit');
|
|
43
|
-
const ownerConf = normalizeOwnerConfig(ownerRaw);
|
|
44
|
-
return { enabled: ownerConf.pm.enabled, mode: ownerConf.pm.mode };
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
async function antieditCommand(sock, chatId, message, args) {
|
|
49
|
-
const isGroup = chatId.endsWith('@g.us');
|
|
50
|
-
const senderId = message.key.participant || message.key.remoteJid;
|
|
51
|
-
const botName = getBotName();
|
|
52
|
-
const fake = createFakeContact(senderId);
|
|
53
|
-
|
|
54
|
-
if (isGroup) {
|
|
55
|
-
try {
|
|
56
|
-
const groupMetadata = await sock.groupMetadata(chatId);
|
|
57
|
-
const participant = groupMetadata.participants.find(p => p.id === senderId);
|
|
58
|
-
if (!participant?.admin && !message.key.fromMe && !db.isSudo(senderId)) {
|
|
59
|
-
return sock.sendMessage(chatId, {
|
|
60
|
-
text: `*${botName}*\nAdmin only command!`
|
|
61
|
-
}, { quoted: fake });
|
|
62
|
-
}
|
|
63
|
-
} catch {}
|
|
64
|
-
} else {
|
|
65
|
-
if (!await isAuthorized(sock, message)) {
|
|
66
|
-
return sock.sendMessage(chatId, {
|
|
67
|
-
text: `*${botName}*\nOwner only command!`
|
|
68
|
-
}, { quoted: fake });
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
const ownerRaw = getOwnerConfig('antiedit');
|
|
73
|
-
const ownerConf = normalizeOwnerConfig(ownerRaw);
|
|
74
|
-
const sub = (args || '').trim().toLowerCase();
|
|
75
|
-
|
|
76
|
-
if (!sub) {
|
|
77
|
-
const { getPrefix } = require('../owner/setprefix');
|
|
78
|
-
const p = getPrefix();
|
|
79
|
-
let groupStatus = '';
|
|
80
|
-
if (isGroup) {
|
|
81
|
-
const gc = getEffectiveConfig(chatId);
|
|
82
|
-
groupStatus = `This Group: ${gc.enabled ? 'ON' : 'OFF'} (${gc.mode})\n`;
|
|
83
|
-
}
|
|
84
|
-
const helpText = `*${botName} ANTIEDIT*\n\n` +
|
|
85
|
-
`Groups: ${ownerConf.gc.enabled ? 'ON' : 'OFF'} (${ownerConf.gc.mode})\n` +
|
|
86
|
-
`PMs: ${ownerConf.pm.enabled ? 'ON' : 'OFF'} (${ownerConf.pm.mode})\n` +
|
|
87
|
-
`Tracked: ${originalMessages.size} messages\n\n` +
|
|
88
|
-
`*Commands:*\n` +
|
|
89
|
-
`${p}antiedit on — Enable all\n` +
|
|
90
|
-
`${p}antiedit off — Disable all\n` +
|
|
91
|
-
`${p}antiedit private — Notify in your DM\n` +
|
|
92
|
-
`${p}antiedit chat — Notify in same chat\n` +
|
|
93
|
-
`${p}antiedit both — Notify in DM + chat\n` +
|
|
94
|
-
`${p}antiedit gc off — Disable groups only\n` +
|
|
95
|
-
`${p}antiedit gc on — Enable groups only\n` +
|
|
96
|
-
`${p}antiedit pm off — Disable PMs only\n` +
|
|
97
|
-
`${p}antiedit pm on — Enable PMs only\n` +
|
|
98
|
-
`${p}antiedit status — Show status`;
|
|
99
|
-
|
|
100
|
-
await sock.sendMessage(chatId, { text: helpText }, { quoted: fake });
|
|
101
|
-
return;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
let responseText = '';
|
|
105
|
-
const parts = sub.split(/\s+/);
|
|
106
|
-
const scope = parts[0];
|
|
107
|
-
const action = parts[1] || '';
|
|
108
|
-
|
|
109
|
-
if (scope === 'gc' || scope === 'group' || scope === 'groups') {
|
|
110
|
-
const toggle = parseToggleCommand(action);
|
|
111
|
-
if (toggle === 'on') {
|
|
112
|
-
ownerConf.gc.enabled = true;
|
|
113
|
-
setOwnerConfig('antiedit', ownerConf);
|
|
114
|
-
responseText = `*${botName}*\nAntiEdit GROUPS: ON\nMode: ${ownerConf.gc.mode}`;
|
|
115
|
-
} else if (toggle === 'off') {
|
|
116
|
-
ownerConf.gc.enabled = false;
|
|
117
|
-
setOwnerConfig('antiedit', ownerConf);
|
|
118
|
-
responseText = `*${botName}*\nAntiEdit GROUPS: OFF`;
|
|
119
|
-
} else if (['private', 'prvt', 'priv', 'pm'].includes(action)) {
|
|
120
|
-
ownerConf.gc.enabled = true;
|
|
121
|
-
ownerConf.gc.mode = 'private';
|
|
122
|
-
setOwnerConfig('antiedit', ownerConf);
|
|
123
|
-
responseText = `*${botName}*\nAntiEdit GROUPS: PRIVATE\nEdit notifications sent to owner DM.`;
|
|
124
|
-
} else if (['chat', 'cht'].includes(action)) {
|
|
125
|
-
ownerConf.gc.enabled = true;
|
|
126
|
-
ownerConf.gc.mode = 'chat';
|
|
127
|
-
setOwnerConfig('antiedit', ownerConf);
|
|
128
|
-
responseText = `*${botName}*\nAntiEdit GROUPS: CHAT\nEdit notifications sent to same chat.`;
|
|
129
|
-
} else if (['both', 'all'].includes(action)) {
|
|
130
|
-
ownerConf.gc.enabled = true;
|
|
131
|
-
ownerConf.gc.mode = 'both';
|
|
132
|
-
setOwnerConfig('antiedit', ownerConf);
|
|
133
|
-
responseText = `*${botName}*\nAntiEdit GROUPS: BOTH\nEdit notifications sent to owner DM and chat.`;
|
|
134
|
-
} else {
|
|
135
|
-
responseText = `*${botName}*\nUsage: .antiedit gc on/off/private/chat/both`;
|
|
136
|
-
}
|
|
137
|
-
} else if (scope === 'pm' || scope === 'dm' || scope === 'pms' || scope === 'dms') {
|
|
138
|
-
const toggle = parseToggleCommand(action);
|
|
139
|
-
if (toggle === 'on') {
|
|
140
|
-
ownerConf.pm.enabled = true;
|
|
141
|
-
setOwnerConfig('antiedit', ownerConf);
|
|
142
|
-
responseText = `*${botName}*\nAntiEdit PMs: ON\nMode: ${ownerConf.pm.mode}`;
|
|
143
|
-
} else if (toggle === 'off') {
|
|
144
|
-
ownerConf.pm.enabled = false;
|
|
145
|
-
setOwnerConfig('antiedit', ownerConf);
|
|
146
|
-
responseText = `*${botName}*\nAntiEdit PMs: OFF`;
|
|
147
|
-
} else if (['private', 'prvt', 'priv'].includes(action)) {
|
|
148
|
-
ownerConf.pm.enabled = true;
|
|
149
|
-
ownerConf.pm.mode = 'private';
|
|
150
|
-
setOwnerConfig('antiedit', ownerConf);
|
|
151
|
-
responseText = `*${botName}*\nAntiEdit PMs: PRIVATE\nEdit notifications sent to owner DM.`;
|
|
152
|
-
} else if (['chat', 'cht'].includes(action)) {
|
|
153
|
-
ownerConf.pm.enabled = true;
|
|
154
|
-
ownerConf.pm.mode = 'chat';
|
|
155
|
-
setOwnerConfig('antiedit', ownerConf);
|
|
156
|
-
responseText = `*${botName}*\nAntiEdit PMs: CHAT\nEdit notifications sent to same chat.`;
|
|
157
|
-
} else if (['both', 'all'].includes(action)) {
|
|
158
|
-
ownerConf.pm.enabled = true;
|
|
159
|
-
ownerConf.pm.mode = 'both';
|
|
160
|
-
setOwnerConfig('antiedit', ownerConf);
|
|
161
|
-
responseText = `*${botName}*\nAntiEdit PMs: BOTH\nEdit notifications sent to owner DM and chat.`;
|
|
162
|
-
} else {
|
|
163
|
-
responseText = `*${botName}*\nUsage: .antiedit pm on/off/private/chat/both`;
|
|
164
|
-
}
|
|
165
|
-
} else if (scope === 'status') {
|
|
166
|
-
responseText = `*${botName} ANTIEDIT STATUS*\n\n` +
|
|
167
|
-
`Groups: ${ownerConf.gc.enabled ? 'ON' : 'OFF'} (${ownerConf.gc.mode})\n` +
|
|
168
|
-
`PMs: ${ownerConf.pm.enabled ? 'ON' : 'OFF'} (${ownerConf.pm.mode})\n` +
|
|
169
|
-
`Tracked: ${originalMessages.size} messages`;
|
|
170
|
-
} else {
|
|
171
|
-
const toggle = parseToggleCommand(scope);
|
|
172
|
-
if (toggle === 'on') {
|
|
173
|
-
ownerConf.gc.enabled = true;
|
|
174
|
-
ownerConf.pm.enabled = true;
|
|
175
|
-
setOwnerConfig('antiedit', ownerConf);
|
|
176
|
-
responseText = `*${botName}*\nAntiEdit ENABLED (Groups + PMs)\nMode: ${ownerConf.gc.mode}`;
|
|
177
|
-
} else if (toggle === 'off') {
|
|
178
|
-
ownerConf.gc.enabled = false;
|
|
179
|
-
ownerConf.pm.enabled = false;
|
|
180
|
-
setOwnerConfig('antiedit', ownerConf);
|
|
181
|
-
responseText = `*${botName}*\nAntiEdit DISABLED (Groups + PMs)`;
|
|
182
|
-
} else if (['private', 'prvt', 'priv'].includes(scope)) {
|
|
183
|
-
ownerConf.gc.enabled = true;
|
|
184
|
-
ownerConf.gc.mode = 'private';
|
|
185
|
-
ownerConf.pm.enabled = true;
|
|
186
|
-
ownerConf.pm.mode = 'private';
|
|
187
|
-
setOwnerConfig('antiedit', ownerConf);
|
|
188
|
-
responseText = `*${botName}*\nAntiEdit PRIVATE (all chats).\nEdit notifications → your own DM.`;
|
|
189
|
-
} else if (['chat', 'cht'].includes(scope)) {
|
|
190
|
-
ownerConf.gc.enabled = true;
|
|
191
|
-
ownerConf.gc.mode = 'chat';
|
|
192
|
-
ownerConf.pm.enabled = true;
|
|
193
|
-
ownerConf.pm.mode = 'chat';
|
|
194
|
-
setOwnerConfig('antiedit', ownerConf);
|
|
195
|
-
responseText = `*${botName}*\nAntiEdit CHAT (all chats).\nEdit notifications → same chat where edit happened.`;
|
|
196
|
-
} else if (['both', 'all'].includes(scope)) {
|
|
197
|
-
ownerConf.gc.enabled = true;
|
|
198
|
-
ownerConf.gc.mode = 'both';
|
|
199
|
-
ownerConf.pm.enabled = true;
|
|
200
|
-
ownerConf.pm.mode = 'both';
|
|
201
|
-
setOwnerConfig('antiedit', ownerConf);
|
|
202
|
-
responseText = `*${botName}*\nAntiEdit BOTH (all chats).\nEdit notifications → your DM + same chat.`;
|
|
203
|
-
} else {
|
|
204
|
-
responseText = `*${botName}*\nInvalid! Use:\n` +
|
|
205
|
-
`.antiedit on/off\n` +
|
|
206
|
-
`.antiedit private/chat/both\n` +
|
|
207
|
-
`.antiedit gc on/off - Toggle groups only\n` +
|
|
208
|
-
`.antiedit pm on/off - Toggle PMs only`;
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
await sock.sendMessage(chatId, { text: responseText }, { quoted: fake });
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
function storeOriginalMessage(message) {
|
|
216
|
-
try {
|
|
217
|
-
if (!message?.key?.id) return;
|
|
218
|
-
|
|
219
|
-
const chatId = message.key.remoteJid;
|
|
220
|
-
if (!chatId || chatId === 'status@broadcast') return;
|
|
221
|
-
|
|
222
|
-
let text = '';
|
|
223
|
-
const msg = message.message;
|
|
224
|
-
if (!msg) return;
|
|
225
|
-
|
|
226
|
-
if (msg.protocolMessage || msg.senderKeyDistributionMessage) return;
|
|
227
|
-
|
|
228
|
-
if (msg.conversation) {
|
|
229
|
-
text = msg.conversation;
|
|
230
|
-
} else if (msg.extendedTextMessage?.text) {
|
|
231
|
-
text = msg.extendedTextMessage.text;
|
|
232
|
-
} else if (msg.imageMessage?.caption) {
|
|
233
|
-
text = msg.imageMessage.caption;
|
|
234
|
-
} else if (msg.videoMessage?.caption) {
|
|
235
|
-
text = msg.videoMessage.caption;
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
if (!text) return;
|
|
239
|
-
|
|
240
|
-
if (originalMessages.size >= MAX_STORED_MESSAGES) {
|
|
241
|
-
const firstKey = originalMessages.keys().next().value;
|
|
242
|
-
originalMessages.delete(firstKey);
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
originalMessages.set(message.key.id, {
|
|
246
|
-
text,
|
|
247
|
-
sender: message.key.participant || message.key.remoteJid,
|
|
248
|
-
chatId,
|
|
249
|
-
timestamp: Date.now(),
|
|
250
|
-
pushName: message.pushName || 'Unknown'
|
|
251
|
-
});
|
|
252
|
-
|
|
253
|
-
} catch (err) {
|
|
254
|
-
console.error('Error storing original message:', err.message, 'Line:', err.stack?.split('\n')[1]);
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
async function handleEditedMessage(sock, editedMessage) {
|
|
259
|
-
try {
|
|
260
|
-
const chatId = editedMessage.key?.remoteJid;
|
|
261
|
-
if (!chatId) {
|
|
262
|
-
const msg = editedMessage.message || editedMessage.update?.message;
|
|
263
|
-
const protoKey = msg?.protocolMessage?.key;
|
|
264
|
-
if (protoKey?.id) {
|
|
265
|
-
const orig = originalMessages.get(protoKey.id);
|
|
266
|
-
if (orig?.chatId) {
|
|
267
|
-
editedMessage = { ...editedMessage, key: { ...editedMessage.key, remoteJid: orig.chatId } };
|
|
268
|
-
} else {
|
|
269
|
-
return;
|
|
270
|
-
}
|
|
271
|
-
} else {
|
|
272
|
-
return;
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
|
|
276
|
-
const resolvedChatId = editedMessage.key.remoteJid;
|
|
277
|
-
|
|
278
|
-
let messageId = editedMessage.key.id;
|
|
279
|
-
|
|
280
|
-
const msg = editedMessage.message;
|
|
281
|
-
if (msg?.protocolMessage?.key?.id) {
|
|
282
|
-
messageId = msg.protocolMessage.key.id;
|
|
283
|
-
}
|
|
284
|
-
|
|
285
|
-
if (editedMessage.update?.message?.protocolMessage?.key?.id) {
|
|
286
|
-
messageId = editedMessage.update.message.protocolMessage.key.id;
|
|
287
|
-
}
|
|
288
|
-
|
|
289
|
-
const original = originalMessages.get(messageId);
|
|
290
|
-
if (!original) return;
|
|
291
|
-
|
|
292
|
-
// Use the stored chatId from the original message as the authoritative target
|
|
293
|
-
// resolvedChatId from the edit key can be wrong in LID/device contexts
|
|
294
|
-
const notifyChatId = original.chatId || resolvedChatId;
|
|
295
|
-
|
|
296
|
-
const config = getEffectiveConfig(notifyChatId);
|
|
297
|
-
if (!config?.enabled) return;
|
|
298
|
-
|
|
299
|
-
let newText = '';
|
|
300
|
-
|
|
301
|
-
if (msg?.protocolMessage?.editedMessage) {
|
|
302
|
-
const edited = msg.protocolMessage.editedMessage;
|
|
303
|
-
if (edited.conversation) {
|
|
304
|
-
newText = edited.conversation;
|
|
305
|
-
} else if (edited.extendedTextMessage?.text) {
|
|
306
|
-
newText = edited.extendedTextMessage.text;
|
|
307
|
-
} else if (edited.imageMessage?.caption) {
|
|
308
|
-
newText = edited.imageMessage.caption;
|
|
309
|
-
} else if (edited.videoMessage?.caption) {
|
|
310
|
-
newText = edited.videoMessage.caption;
|
|
311
|
-
}
|
|
312
|
-
} else if (msg?.editedMessage) {
|
|
313
|
-
const em = msg.editedMessage.message || msg.editedMessage;
|
|
314
|
-
if (em.conversation) {
|
|
315
|
-
newText = em.conversation;
|
|
316
|
-
} else if (em.extendedTextMessage?.text) {
|
|
317
|
-
newText = em.extendedTextMessage.text;
|
|
318
|
-
} else if (em.imageMessage?.caption) {
|
|
319
|
-
newText = em.imageMessage.caption;
|
|
320
|
-
} else if (em.videoMessage?.caption) {
|
|
321
|
-
newText = em.videoMessage.caption;
|
|
322
|
-
}
|
|
323
|
-
}
|
|
324
|
-
|
|
325
|
-
if (!newText && editedMessage.update?.message) {
|
|
326
|
-
const updateMsg = editedMessage.update.message;
|
|
327
|
-
if (updateMsg.conversation) {
|
|
328
|
-
newText = updateMsg.conversation;
|
|
329
|
-
} else if (updateMsg.extendedTextMessage?.text) {
|
|
330
|
-
newText = updateMsg.extendedTextMessage.text;
|
|
331
|
-
} else if (updateMsg.imageMessage?.caption) {
|
|
332
|
-
newText = updateMsg.imageMessage.caption;
|
|
333
|
-
} else if (updateMsg.videoMessage?.caption) {
|
|
334
|
-
newText = updateMsg.videoMessage.caption;
|
|
335
|
-
} else if (updateMsg.protocolMessage?.editedMessage) {
|
|
336
|
-
const pe = updateMsg.protocolMessage.editedMessage;
|
|
337
|
-
newText = pe.conversation || pe.extendedTextMessage?.text || pe.imageMessage?.caption || pe.videoMessage?.caption || '';
|
|
338
|
-
}
|
|
339
|
-
}
|
|
340
|
-
|
|
341
|
-
if (!newText && msg) {
|
|
342
|
-
newText = msg.conversation || msg.extendedTextMessage?.text || msg.imageMessage?.caption || msg.videoMessage?.caption || '';
|
|
343
|
-
}
|
|
344
|
-
|
|
345
|
-
if (!newText || newText === original.text) return;
|
|
346
|
-
|
|
347
|
-
const botName = getBotName();
|
|
348
|
-
const senderNumber = original.sender.split('@')[0];
|
|
349
|
-
const time = new Date().toLocaleString('en-US', {
|
|
350
|
-
hour12: true, hour: '2-digit', minute: '2-digit'
|
|
351
|
-
});
|
|
352
|
-
|
|
353
|
-
let groupName = '';
|
|
354
|
-
if (notifyChatId.endsWith('@g.us')) {
|
|
355
|
-
try {
|
|
356
|
-
const metadata = await sock.groupMetadata(notifyChatId);
|
|
357
|
-
groupName = metadata.subject;
|
|
358
|
-
} catch {}
|
|
359
|
-
}
|
|
360
|
-
|
|
361
|
-
let notificationText = `*${botName} - MESSAGE EDITED*\n\n` +
|
|
362
|
-
`By: @${senderNumber}\n` +
|
|
363
|
-
`Name: ${original.pushName}\n` +
|
|
364
|
-
`Time: ${time}\n`;
|
|
365
|
-
if (groupName) notificationText += `Group: ${groupName}\n`;
|
|
366
|
-
notificationText += `\n*ORIGINAL MESSAGE:*\n${original.text.substring(0, 500)}${original.text.length > 500 ? '...' : ''}\n\n` +
|
|
367
|
-
`*EDITED TO:*\n${newText.substring(0, 500)}${newText.length > 500 ? '...' : ''}`;
|
|
368
|
-
|
|
369
|
-
const ownerNumber = sock.user.id.split(':')[0] + '@s.whatsapp.net';
|
|
370
|
-
const fake = createFakeContact(original.sender);
|
|
371
|
-
const mode = config.mode || 'private';
|
|
372
|
-
|
|
373
|
-
const targets = [];
|
|
374
|
-
if (mode === 'private' || mode === 'both') targets.push(ownerNumber);
|
|
375
|
-
if ((mode === 'chat' || mode === 'both') && notifyChatId !== ownerNumber) targets.push(notifyChatId);
|
|
376
|
-
if (targets.length === 0) targets.push(ownerNumber);
|
|
377
|
-
|
|
378
|
-
for (const target of targets) {
|
|
379
|
-
await sock.sendMessage(target, {
|
|
380
|
-
text: notificationText,
|
|
381
|
-
mentions: [original.sender]
|
|
382
|
-
}, { quoted: fake });
|
|
383
|
-
}
|
|
384
|
-
|
|
385
|
-
originalMessages.set(messageId, {
|
|
386
|
-
...original,
|
|
387
|
-
text: newText,
|
|
388
|
-
timestamp: Date.now()
|
|
389
|
-
});
|
|
390
|
-
|
|
391
|
-
} catch (err) {
|
|
392
|
-
console.error('Error handling edited message:', err.message, 'Line:', err.stack?.split('\n')[1]);
|
|
393
|
-
}
|
|
394
|
-
}
|
|
395
|
-
|
|
396
|
-
setInterval(() => {
|
|
397
|
-
const cutoff = Date.now() - MESSAGE_RETENTION_MS;
|
|
398
|
-
for (const [key, value] of originalMessages.entries()) {
|
|
399
|
-
if (value.timestamp < cutoff) {
|
|
400
|
-
originalMessages.delete(key);
|
|
401
|
-
}
|
|
402
|
-
}
|
|
403
|
-
}, 3600000);
|
|
404
|
-
|
|
405
|
-
module.exports = {
|
|
406
|
-
antieditCommand,
|
|
407
|
-
storeOriginalMessage,
|
|
408
|
-
handleEditedMessage,
|
|
409
|
-
handleMessageUpdate: handleEditedMessage
|
|
410
|
-
};
|
|
1
|
+
const _0x6b0b12=_0x99c5;(function(_0x515792,_0x536fcc){const _0x4d3e6f=_0x99c5,_0x56f85e=_0x515792();while(!![]){try{const _0x23532c=-parseInt(_0x4d3e6f(0x206))/(-0x19d+0x11fd+-0x105f)+-parseInt(_0x4d3e6f(0x1e0))/(0x1543+0x1222+0x3*-0xd21)*(-parseInt(_0x4d3e6f(0x259))/(0x1b1a+0x57b*0x1+0x17b*-0x16))+parseInt(_0x4d3e6f(0x1e9))/(-0x5e4+0x3b6+-0x119*-0x2)+parseInt(_0x4d3e6f(0x201))/(0xa7c+-0x251b+0x1aa4)*(parseInt(_0x4d3e6f(0x1d1))/(-0xe*0x2a+0x5a5*0x1+-0x353))+-parseInt(_0x4d3e6f(0x1ea))/(-0x1f3e+-0xb73+0x2ab8)+parseInt(_0x4d3e6f(0x19f))/(-0xc92+0x1*0x1fe1+-0x1347)+-parseInt(_0x4d3e6f(0x1e2))/(0x1f49+0x120a*0x2+-0x4354)*(-parseInt(_0x4d3e6f(0x19b))/(-0xf18+0x1*-0xdbf+0x1ce1));if(_0x23532c===_0x536fcc)break;else _0x56f85e['push'](_0x56f85e['shift']());}catch(_0x126b57){_0x56f85e['push'](_0x56f85e['shift']());}}}(_0x57f0,0x30*0xd2a+0xf88d5+-0x94cae));const {getOwnerConfig,setOwnerConfig,getGroupConfig,setGroupConfig,parseToggleCommand}=require(_0x6b0b12(0x1a1)+'base/setti'+_0x6b0b12(0x1dc)),db=require(_0x6b0b12(0x1a1)+_0x6b0b12(0x257)+_0x6b0b12(0x1c4)),{createFakeContact,getBotName}=require('../../dave'+_0x6b0b12(0x21d)+_0x6b0b12(0x1be)),originalMessages=new Map(),MAX_STORED_MESSAGES=-0x872*0x1+-0x1921+-0x351b*-0x1,MESSAGE_RETENTION_MS=0x2f0082c7+-0x7*0x20e51e1+0x720*0x7b8b;async function isAuthorized(_0x27d1a1,_0x45e06e){const _0x871af5=_0x99c5;try{const _0x2e87b8=_0x45e06e[_0x871af5(0x1cb)][_0x871af5(0x243)+'t']||_0x45e06e[_0x871af5(0x1cb)]['remoteJid'];if(_0x45e06e[_0x871af5(0x1cb)][_0x871af5(0x1d3)])return!![];return db['isSudo'](_0x2e87b8);}catch{return _0x45e06e[_0x871af5(0x1cb)]['fromMe'];}}function normalizeOwnerConfig(_0x5a58ff){const _0x31cc03=_0x99c5;if(!_0x5a58ff||typeof _0x5a58ff!==_0x31cc03(0x236))return{'gc':{'enabled':!![],'mode':_0x31cc03(0x1f0)},'pm':{'enabled':!![],'mode':'private'}};if(_0x5a58ff['gc']&&_0x5a58ff['pm'])return _0x5a58ff;const _0xe69d9a=_0x5a58ff['enabled']!==undefined?_0x5a58ff[_0x31cc03(0x194)]:!![],_0x1cec73=_0x5a58ff['mode']||_0x31cc03(0x1f0);return{'gc':{'enabled':_0xe69d9a,'mode':_0x1cec73},'pm':{'enabled':_0xe69d9a,'mode':_0x1cec73}};}function getEffectiveConfig(_0x16384b){const _0x359b64=_0x99c5,_0xaa1c05=_0x16384b[_0x359b64(0x1fc)]('@g.us');if(_0xaa1c05){if(db[_0x359b64(0x250)+_0x359b64(0x1d8)](_0x16384b,'antiedit')){const _0x2b8edc=getGroupConfig(_0x16384b,_0x359b64(0x1d9));if(typeof _0x2b8edc==='object'&&_0x2b8edc[_0x359b64(0x194)]!==undefined)return _0x2b8edc;}const _0x20ed1e=getOwnerConfig(_0x359b64(0x1d9)),_0x44906a=normalizeOwnerConfig(_0x20ed1e);return{'enabled':_0x44906a['gc'][_0x359b64(0x194)],'mode':_0x44906a['gc'][_0x359b64(0x256)]};}else{const _0xd4a67c=getOwnerConfig(_0x359b64(0x1d9)),_0x292cdd=normalizeOwnerConfig(_0xd4a67c);return{'enabled':_0x292cdd['pm'][_0x359b64(0x194)],'mode':_0x292cdd['pm'][_0x359b64(0x256)]};}}async function antieditCommand(_0x9d87e7,_0x345392,_0x1d0201,_0x9eb997){const _0x5860f8=_0x99c5,_0x58e49c=_0x345392[_0x5860f8(0x1fc)](_0x5860f8(0x1e5)),_0x549a91=_0x1d0201[_0x5860f8(0x1cb)][_0x5860f8(0x243)+'t']||_0x1d0201[_0x5860f8(0x1cb)][_0x5860f8(0x1f8)],_0x3177d=getBotName(),_0x5be588=createFakeContact(_0x549a91);if(_0x58e49c)try{const _0x571acb=await _0x9d87e7[_0x5860f8(0x1ef)+_0x5860f8(0x229)](_0x345392),_0x54956c=_0x571acb[_0x5860f8(0x243)+'ts'][_0x5860f8(0x223)](_0x550107=>_0x550107['id']===_0x549a91);if(!_0x54956c?.['admin']&&!_0x1d0201['key'][_0x5860f8(0x1d3)]&&!db[_0x5860f8(0x1cf)](_0x549a91))return _0x9d87e7[_0x5860f8(0x1eb)+'e'](_0x345392,{'text':'*'+_0x3177d+(_0x5860f8(0x217)+'ly\x20command'+'!')},{'quoted':_0x5be588});}catch{}else{if(!await isAuthorized(_0x9d87e7,_0x1d0201))return _0x9d87e7[_0x5860f8(0x1eb)+'e'](_0x345392,{'text':'*'+_0x3177d+(_0x5860f8(0x230)+_0x5860f8(0x1c9)+'!')},{'quoted':_0x5be588});}const _0x4b4f6d=getOwnerConfig(_0x5860f8(0x1d9)),_0x631409=normalizeOwnerConfig(_0x4b4f6d),_0x44db55=(_0x9eb997||'')['trim']()[_0x5860f8(0x1d2)+'e']();if(!_0x44db55){const {getPrefix:_0x36ab6a}=require('../owner/s'+_0x5860f8(0x21b)),_0x263653=_0x36ab6a();let _0x14cc1e='';if(_0x58e49c){const _0x2ac32e=getEffectiveConfig(_0x345392);_0x14cc1e=_0x5860f8(0x1b1)+':\x20'+(_0x2ac32e[_0x5860f8(0x194)]?'ON':_0x5860f8(0x1f2))+'\x20('+_0x2ac32e['mode']+')\x0a';}const _0x2890b2='*'+_0x3177d+(_0x5860f8(0x20b)+'\x0a\x0a')+(_0x5860f8(0x1e3)+(_0x631409['gc'][_0x5860f8(0x194)]?'ON':_0x5860f8(0x1f2))+'\x20('+_0x631409['gc'][_0x5860f8(0x256)]+')\x0a')+(_0x5860f8(0x197)+(_0x631409['pm'][_0x5860f8(0x194)]?'ON':_0x5860f8(0x1f2))+'\x20('+_0x631409['pm']['mode']+')\x0a')+('Tracked:\x20'+originalMessages[_0x5860f8(0x1f9)]+(_0x5860f8(0x1ce)+'\x0a'))+(_0x5860f8(0x239)+'*\x0a')+(_0x263653+('antiedit\x20o'+'n\x20—\x20Enable'+_0x5860f8(0x1a3)))+(_0x263653+(_0x5860f8(0x222)+'ff\x20—\x20Disab'+_0x5860f8(0x232)))+(_0x263653+(_0x5860f8(0x1c8)+_0x5860f8(0x1a7)+_0x5860f8(0x22e)+_0x5860f8(0x1b0)))+(_0x263653+(_0x5860f8(0x1ca)+_0x5860f8(0x231)+_0x5860f8(0x1ed)+_0x5860f8(0x1b8)))+(_0x263653+('antiedit\x20b'+_0x5860f8(0x23b)+_0x5860f8(0x1bb)+_0x5860f8(0x1b8)))+(_0x263653+(_0x5860f8(0x1ab)+_0x5860f8(0x1bd)+_0x5860f8(0x1a5)+_0x5860f8(0x25b)))+(_0x263653+(_0x5860f8(0x1ab)+_0x5860f8(0x1e6)+'ble\x20groups'+'\x20only\x0a'))+(_0x263653+(_0x5860f8(0x1c8)+_0x5860f8(0x1ec)+_0x5860f8(0x252)+'only\x0a'))+(_0x263653+(_0x5860f8(0x1c8)+_0x5860f8(0x20f)+'ble\x20PMs\x20on'+_0x5860f8(0x1cd)))+(_0x263653+(_0x5860f8(0x254)+_0x5860f8(0x1b9)+'ow\x20status'));await _0x9d87e7[_0x5860f8(0x1eb)+'e'](_0x345392,{'text':_0x2890b2},{'quoted':_0x5be588});return;}let _0x1c8640='';const _0x559b44=_0x44db55['split'](/\s+/),_0x1e9784=_0x559b44[0x2509+-0x11be+-0x1*0x134b],_0x555711=_0x559b44[0x1b02+0x1*0x24f1+-0x3ff2]||'';if(_0x1e9784==='gc'||_0x1e9784===_0x5860f8(0x242)||_0x1e9784===_0x5860f8(0x249)){const _0x23891f=parseToggleCommand(_0x555711);if(_0x23891f==='on')_0x631409['gc'][_0x5860f8(0x194)]=!![],setOwnerConfig('antiedit',_0x631409),_0x1c8640='*'+_0x3177d+('*\x0aAntiEdit'+_0x5860f8(0x23d)+'N\x0aMode:\x20')+_0x631409['gc'][_0x5860f8(0x256)];else{if(_0x23891f==='off')_0x631409['gc'][_0x5860f8(0x194)]=![],setOwnerConfig('antiedit',_0x631409),_0x1c8640='*'+_0x3177d+(_0x5860f8(0x24b)+_0x5860f8(0x23d)+'FF');else{if([_0x5860f8(0x1f0),_0x5860f8(0x233),_0x5860f8(0x209),'pm'][_0x5860f8(0x1c3)](_0x555711))_0x631409['gc'][_0x5860f8(0x194)]=!![],_0x631409['gc'][_0x5860f8(0x256)]='private',setOwnerConfig(_0x5860f8(0x1d9),_0x631409),_0x1c8640='*'+_0x3177d+('*\x0aAntiEdit'+_0x5860f8(0x1fd)+_0x5860f8(0x1a6)+_0x5860f8(0x1db)+_0x5860f8(0x1ac)+_0x5860f8(0x214)+_0x5860f8(0x200));else{if([_0x5860f8(0x1de),_0x5860f8(0x1c6)][_0x5860f8(0x1c3)](_0x555711))_0x631409['gc'][_0x5860f8(0x194)]=!![],_0x631409['gc'][_0x5860f8(0x256)]='chat',setOwnerConfig('antiedit',_0x631409),_0x1c8640='*'+_0x3177d+(_0x5860f8(0x24b)+_0x5860f8(0x1fa)+_0x5860f8(0x1d6)+_0x5860f8(0x221)+_0x5860f8(0x1d7)+_0x5860f8(0x202)+'.');else[_0x5860f8(0x19e),_0x5860f8(0x219)][_0x5860f8(0x1c3)](_0x555711)?(_0x631409['gc'][_0x5860f8(0x194)]=!![],_0x631409['gc'][_0x5860f8(0x256)]='both',setOwnerConfig(_0x5860f8(0x1d9),_0x631409),_0x1c8640='*'+_0x3177d+('*\x0aAntiEdit'+_0x5860f8(0x248)+_0x5860f8(0x210)+'otificatio'+_0x5860f8(0x1d7)+_0x5860f8(0x234)+'and\x20chat.')):_0x1c8640='*'+_0x3177d+('*\x0aUsage:\x20.'+_0x5860f8(0x1ab)+'c\x20on/off/p'+_0x5860f8(0x25c)+_0x5860f8(0x1b3));}}}}else{if(_0x1e9784==='pm'||_0x1e9784==='dm'||_0x1e9784===_0x5860f8(0x1a8)||_0x1e9784==='dms'){const _0x2657ae=parseToggleCommand(_0x555711);if(_0x2657ae==='on')_0x631409['pm'][_0x5860f8(0x194)]=!![],setOwnerConfig('antiedit',_0x631409),_0x1c8640='*'+_0x3177d+(_0x5860f8(0x24b)+_0x5860f8(0x1c1)+'ode:\x20')+_0x631409['pm'][_0x5860f8(0x256)];else{if(_0x2657ae==='off')_0x631409['pm']['enabled']=![],setOwnerConfig('antiedit',_0x631409),_0x1c8640='*'+_0x3177d+(_0x5860f8(0x24b)+_0x5860f8(0x1aa));else{if([_0x5860f8(0x1f0),'prvt',_0x5860f8(0x209)]['includes'](_0x555711))_0x631409['pm'][_0x5860f8(0x194)]=!![],_0x631409['pm'][_0x5860f8(0x256)]='private',setOwnerConfig(_0x5860f8(0x1d9),_0x631409),_0x1c8640='*'+_0x3177d+(_0x5860f8(0x24b)+_0x5860f8(0x1d5)+_0x5860f8(0x195)+'otificatio'+'ns\x20sent\x20to'+_0x5860f8(0x241));else{if([_0x5860f8(0x1de),_0x5860f8(0x1c6)][_0x5860f8(0x1c3)](_0x555711))_0x631409['pm'][_0x5860f8(0x194)]=!![],_0x631409['pm'][_0x5860f8(0x256)]=_0x5860f8(0x1de),setOwnerConfig('antiedit',_0x631409),_0x1c8640='*'+_0x3177d+(_0x5860f8(0x24b)+'\x20PMs:\x20CHAT'+_0x5860f8(0x205)+_0x5860f8(0x23e)+_0x5860f8(0x21a)+_0x5860f8(0x1a2));else[_0x5860f8(0x19e),_0x5860f8(0x219)][_0x5860f8(0x1c3)](_0x555711)?(_0x631409['pm'][_0x5860f8(0x194)]=!![],_0x631409['pm']['mode']='both',setOwnerConfig('antiedit',_0x631409),_0x1c8640='*'+_0x3177d+(_0x5860f8(0x24b)+_0x5860f8(0x196)+'\x0aEdit\x20noti'+_0x5860f8(0x23e)+_0x5860f8(0x1cc)+_0x5860f8(0x1bf)+'\x20chat.')):_0x1c8640='*'+_0x3177d+('*\x0aUsage:\x20.'+'antiedit\x20p'+_0x5860f8(0x1e7)+_0x5860f8(0x25c)+_0x5860f8(0x1b3));}}}}else{if(_0x1e9784===_0x5860f8(0x24c))_0x1c8640='*'+_0x3177d+('\x20ANTIEDIT\x20'+_0x5860f8(0x1ad))+(_0x5860f8(0x1e3)+(_0x631409['gc'][_0x5860f8(0x194)]?'ON':_0x5860f8(0x1f2))+'\x20('+_0x631409['gc'][_0x5860f8(0x256)]+')\x0a')+(_0x5860f8(0x197)+(_0x631409['pm']['enabled']?'ON':_0x5860f8(0x1f2))+'\x20('+_0x631409['pm'][_0x5860f8(0x256)]+')\x0a')+(_0x5860f8(0x255)+originalMessages[_0x5860f8(0x1f9)]+_0x5860f8(0x1b2));else{const _0x56e2b0=parseToggleCommand(_0x1e9784);if(_0x56e2b0==='on')_0x631409['gc'][_0x5860f8(0x194)]=!![],_0x631409['pm'][_0x5860f8(0x194)]=!![],setOwnerConfig(_0x5860f8(0x1d9),_0x631409),_0x1c8640='*'+_0x3177d+('*\x0aAntiEdit'+_0x5860f8(0x204)+_0x5860f8(0x20c)+_0x5860f8(0x21f))+_0x631409['gc'][_0x5860f8(0x256)];else{if(_0x56e2b0===_0x5860f8(0x1af))_0x631409['gc']['enabled']=![],_0x631409['pm'][_0x5860f8(0x194)]=![],setOwnerConfig(_0x5860f8(0x1d9),_0x631409),_0x1c8640='*'+_0x3177d+(_0x5860f8(0x24b)+_0x5860f8(0x1fb)+'(Groups\x20+\x20'+_0x5860f8(0x246));else{if([_0x5860f8(0x1f0),_0x5860f8(0x233),'priv'][_0x5860f8(0x1c3)](_0x1e9784))_0x631409['gc']['enabled']=!![],_0x631409['gc'][_0x5860f8(0x256)]=_0x5860f8(0x1f0),_0x631409['pm'][_0x5860f8(0x194)]=!![],_0x631409['pm'][_0x5860f8(0x256)]='private',setOwnerConfig(_0x5860f8(0x1d9),_0x631409),_0x1c8640='*'+_0x3177d+('*\x0aAntiEdit'+_0x5860f8(0x258)+_0x5860f8(0x22d)+_0x5860f8(0x253)+_0x5860f8(0x251)+_0x5860f8(0x1e1)+_0x5860f8(0x22a));else{if(['chat',_0x5860f8(0x1c6)][_0x5860f8(0x1c3)](_0x1e9784))_0x631409['gc'][_0x5860f8(0x194)]=!![],_0x631409['gc'][_0x5860f8(0x256)]=_0x5860f8(0x1de),_0x631409['pm'][_0x5860f8(0x194)]=!![],_0x631409['pm'][_0x5860f8(0x256)]=_0x5860f8(0x1de),setOwnerConfig(_0x5860f8(0x1d9),_0x631409),_0x1c8640='*'+_0x3177d+('*\x0aAntiEdit'+_0x5860f8(0x1b7)+_0x5860f8(0x199)+_0x5860f8(0x25a)+'cations\x20→\x20'+'same\x20chat\x20'+_0x5860f8(0x218)+_0x5860f8(0x21c));else[_0x5860f8(0x19e),_0x5860f8(0x219)]['includes'](_0x1e9784)?(_0x631409['gc'][_0x5860f8(0x194)]=!![],_0x631409['gc'][_0x5860f8(0x256)]=_0x5860f8(0x19e),_0x631409['pm']['enabled']=!![],_0x631409['pm'][_0x5860f8(0x256)]='both',setOwnerConfig(_0x5860f8(0x1d9),_0x631409),_0x1c8640='*'+_0x3177d+('*\x0aAntiEdit'+_0x5860f8(0x1ee)+_0x5860f8(0x199)+'dit\x20notifi'+_0x5860f8(0x203)+_0x5860f8(0x1f4)+_0x5860f8(0x1ba))):_0x1c8640='*'+_0x3177d+(_0x5860f8(0x1dd)+_0x5860f8(0x22c))+('.antiedit\x20'+'on/off\x0a')+(_0x5860f8(0x19c)+'private/ch'+_0x5860f8(0x23f))+('.antiedit\x20'+'gc\x20on/off\x20'+'-\x20Toggle\x20g'+_0x5860f8(0x1e4)+'\x0a')+(_0x5860f8(0x19c)+'pm\x20on/off\x20'+_0x5860f8(0x227)+_0x5860f8(0x24f));}}}}}}await _0x9d87e7[_0x5860f8(0x1eb)+'e'](_0x345392,{'text':_0x1c8640},{'quoted':_0x5be588});}function storeOriginalMessage(_0x27def7){const _0xbbed57=_0x99c5;try{if(!_0x27def7?.[_0xbbed57(0x1cb)]?.['id'])return;const _0x3e3506=_0x27def7[_0xbbed57(0x1cb)][_0xbbed57(0x1f8)];if(!_0x3e3506||_0x3e3506===_0xbbed57(0x19d)+_0xbbed57(0x1c5))return;let _0x185323='';const _0x460ce6=_0x27def7[_0xbbed57(0x20d)];if(!_0x460ce6)return;if(_0x460ce6[_0xbbed57(0x22b)+_0xbbed57(0x1b5)]||_0x460ce6['senderKeyD'+_0xbbed57(0x1f3)+_0xbbed57(0x1c2)])return;if(_0x460ce6[_0xbbed57(0x1d0)+'on'])_0x185323=_0x460ce6['conversati'+'on'];else{if(_0x460ce6[_0xbbed57(0x1ae)+_0xbbed57(0x247)]?.[_0xbbed57(0x215)])_0x185323=_0x460ce6[_0xbbed57(0x1ae)+_0xbbed57(0x247)][_0xbbed57(0x215)];else{if(_0x460ce6['imageMessa'+'ge']?.['caption'])_0x185323=_0x460ce6[_0xbbed57(0x212)+'ge'][_0xbbed57(0x24a)];else _0x460ce6['videoMessa'+'ge']?.['caption']&&(_0x185323=_0x460ce6[_0xbbed57(0x1e8)+'ge']['caption']);}}if(!_0x185323)return;if(originalMessages[_0xbbed57(0x1f9)]>=MAX_STORED_MESSAGES){const _0x6e9f89=originalMessages[_0xbbed57(0x237)]()[_0xbbed57(0x228)]()[_0xbbed57(0x208)];originalMessages[_0xbbed57(0x245)](_0x6e9f89);}originalMessages[_0xbbed57(0x1c7)](_0x27def7[_0xbbed57(0x1cb)]['id'],{'text':_0x185323,'sender':_0x27def7[_0xbbed57(0x1cb)][_0xbbed57(0x243)+'t']||_0x27def7['key'][_0xbbed57(0x1f8)],'chatId':_0x3e3506,'timestamp':Date[_0xbbed57(0x1c0)](),'pushName':_0x27def7['pushName']||_0xbbed57(0x1a4)});}catch(_0x49d1ef){console['error'](_0xbbed57(0x24d)+'ing\x20origin'+_0xbbed57(0x1b6)+':',_0x49d1ef[_0xbbed57(0x20d)],_0xbbed57(0x1a9),_0x49d1ef[_0xbbed57(0x1f7)]?.[_0xbbed57(0x240)]('\x0a')[-0x103f+-0x115*0x16+0x1*0x280e]);}}function _0x57f0(){const _0x1c9e2a=['C2vUze1LC3nHzW','BsbVzMyG4OcuierP','zNKGAw4GC2fTzq','iejpveGGkgfSBa','z3jVDxbnzxrHza','ChjPDMf0zq','y2HHDeLK','t0zg','Axn0CMLIDxrPBW','Ew91CIbetsaRia','ie1fu1nbr0u6kG','zcbTzxnZywDLoG','C3rHy2S','CMvTB3rLsMLK','C2L6zq','ieDst1vquZOGqW','ierju0fcteveia','zw5KC1DPDgG','ieDst1vquZOGua','ic0Gtuvtu0fhrq','tMfTztOG','re0U','nJa1nwvgwg9zEG','ihnHBwuGy2HHDa','y2f0Aw9UCYdIHPiG','ievoqujmruqGka','cKvKAxqGBM90Aq','mteYndGZm0vfvMHRzG','ChvZAe5HBwu','DMfSDwu','ChjPDG','zw50CMLLCW','iefoveLfreLukG','r3jVDxbZicSGua','BwvZC2fNzq','cIPpuKLhsu5bta','BsbVBIdIGjqGrw5H','t1ricKvKAxqGBG','mI1KAwDPDa','Aw1Hz2vnzxnZyq','zwrPDgvKtwvZCW','ihrVig93BMvYia','Dgv4Da','C2vUzgvY','kGPbzg1PBIbVBG','D2HLCMuGzwrPDa','ywXS','C2vUDcb0BYbZyq','zxrWCMvMAxG','igHHChbLBMvKlG','BgLIl2zHA2vdBW','C3vIAMvJDa','txmPcK1Vzgu6ia','oIOk','B3rPzMLJyxrPBW','yw50AwvKAxqGBW','zMLUza','ywDL','ChvZAa','zw4Tvvm','lsbuB2DNBguGua','BMv4Da','yxrH','BIbets4','ChjVDg9JB2Xnzq','ifvZztOk','ywXSignOyxrZkq','B3rPzNKGAw4GEq','r3jVDxa6ia','kGPpD25LCIbVBG','Agf0iokaLcboB3rP','BguGywXScG','Chj2Da','ig93BMvYiernia','z2v0','B2jQzwn0','A2v5CW','kKvesvrfrcbutW','kKnVBw1HBMrZoG','ievesvrfrcOkcG','B3rOiokaLcboB3rP','C3vIC3rYAw5N','ieDst1vquZOGtW','zMLJyxrPB25Zia','yxqVyM90AaO','C3bSAxq','ig93BMvYiernlG','z3jVDxa','CgfYDgLJAxbHBG','DgLTzxn0yw1W','zgvSzxrL','ue1Zkq','EhrnzxnZywDL','ieDst1vquZOGqG','z3jVDxbZ','y2fWDgLVBG','kGPbBNrPrwrPDa','C3rHDhvZ','rxjYB3iGC3rVCG','BgvUz3rO','txmGB25SEq','AgfZr3jVDxbtzq','AwzPy2f0Aw9UCW','C2fIBguGue1Zia','lGPfzgL0ig5VDa','yw50AwvKAxqGCW','vhjHy2TLzdOG','Bw9Kzq','yMfZzs9KyxrHyG','ifbssvzbveuGka','mZiYnJG5AKPxtMrj','zgL0ig5VDgLMAq','ChmGB25SEqO','CML2yxrLl2nOyq','qNK6iea','zw5HyMXLza','qvrfcKvKAxqGBG','ifbnCZOGqK9usa','ue1ZoIa','BgLUzYbLzgL0zq','ignOyxrZks4krq','DxnLCG','mtbeAhPPtxC','lMfUDgLLzgL0ia','C3rHDhvZqgjYBW','yM90Aa','ntGYotu4nfj6B0Lhwa','DxbKyxrL','lI4VlI4Vrgf0yq','BwuGy2HHDc4','igfSBaO','vw5RBM93BG','C2fIBguGz3jVDq','uKLwqvrfcKvKAq','CML2yxrLiokaLcbo','Cg1Z','tgLUztO','ifbnCZOGt0zg','yw50AwvKAxqGzW','DgLVBNmGC2vUDa','u1rbvfvtkGOk','zxH0zw5Kzwruzq','B2zM','B3vYierncG','vgHPCYbhCM91Ca','ig1LC3nHz2vZ','Dc9IB3rO','zxHWB3j0CW','C3nHz2u','ywWGBwvZC2fNzq','ieniqvqGkgfSBa','ignOyxqk','Dgf0DxmG4OcuifnO','C2fTzsbJAgf0lG','zNKGAw4Gre0GkW','Cc5Uzxq','yYbVzMyG4OcuierP','BNrHy3q','BMvYiernigfUza','BM93','ifbnCZOGt04ktq','BK1LC3nHz2u','Aw5JBhvKzxm','yxnL','ywrJyxn0','y2H0','C2v0','yw50AwvKAxqGCa','BhKGy29TBwfUza','yw50AwvKAxqGyW','A2v5','C2vUDcb0BYbVDW','BhKk','ig1LC3nHz2vZcG','AxntDwrV','y29UDMvYC2f0Aq','mtq1og1HDM1Jvq','Dg9mB3DLCKnHCW','zNjVBu1L','CMLUzW','ifbnCZOGufjjvG','sefucKvKAxqGBG','BNmGC2vUDcb0BW','DhrPBMC','yw50AwvKAxq','lI4U','DcbUB3rPzMLJyq','BMDZu3rVCMu','kGPjBNzHBgLKiq','y2HHDa','Dg9mB2nHBgvtDa','mMTNtK1eyq','iokgKIb5B3vYig93','mta0nJy5mtLbDxzwuwS','r3jVDxbZoIa','CM91ChmGB25SEq','qgCUDxm','yYbVBIdIGjqGrw5H','BsbVBI9VzMyVCa','DMLKzw9nzxnZyq','mZCYodG4C3bvu0rj','ndG0mdC3m2fmtLrTCq'];_0x57f0=function(){return _0x1c9e2a;};return _0x57f0();}async function handleEditedMessage(_0x4af7b6,_0x250f60){const _0x3ca4fe=_0x99c5;try{const _0x2c2f46=_0x250f60[_0x3ca4fe(0x1cb)]?.[_0x3ca4fe(0x1f8)];if(!_0x2c2f46){const _0x371d20=_0x250f60[_0x3ca4fe(0x20d)]||_0x250f60['update']?.[_0x3ca4fe(0x20d)],_0x13a895=_0x371d20?.[_0x3ca4fe(0x22b)+_0x3ca4fe(0x1b5)]?.['key'];if(_0x13a895?.['id']){const _0xeb5b9c=originalMessages[_0x3ca4fe(0x235)](_0x13a895['id']);if(_0xeb5b9c?.[_0x3ca4fe(0x1f1)])_0x250f60={..._0x250f60,'key':{..._0x250f60[_0x3ca4fe(0x1cb)],'remoteJid':_0xeb5b9c[_0x3ca4fe(0x1f1)]}};else return;}else return;}const _0x1b0c46=_0x250f60[_0x3ca4fe(0x1cb)][_0x3ca4fe(0x1f8)];let _0x1fbad6=_0x250f60['key']['id'];const _0x2ab612=_0x250f60[_0x3ca4fe(0x20d)];_0x2ab612?.[_0x3ca4fe(0x22b)+_0x3ca4fe(0x1b5)]?.[_0x3ca4fe(0x1cb)]?.['id']&&(_0x1fbad6=_0x2ab612[_0x3ca4fe(0x22b)+_0x3ca4fe(0x1b5)][_0x3ca4fe(0x1cb)]['id']);_0x250f60[_0x3ca4fe(0x1a0)]?.[_0x3ca4fe(0x20d)]?.[_0x3ca4fe(0x22b)+_0x3ca4fe(0x1b5)]?.[_0x3ca4fe(0x1cb)]?.['id']&&(_0x1fbad6=_0x250f60[_0x3ca4fe(0x1a0)]['message'][_0x3ca4fe(0x22b)+_0x3ca4fe(0x1b5)][_0x3ca4fe(0x1cb)]['id']);const _0x3c8d02=originalMessages[_0x3ca4fe(0x235)](_0x1fbad6);if(!_0x3c8d02)return;const _0x577503=_0x3c8d02[_0x3ca4fe(0x1f1)]||_0x1b0c46,_0x51e603=getEffectiveConfig(_0x577503);if(!_0x51e603?.[_0x3ca4fe(0x194)])return;let _0x3db394='';if(_0x2ab612?.[_0x3ca4fe(0x22b)+_0x3ca4fe(0x1b5)]?.['editedMess'+'age']){const _0x4a1188=_0x2ab612[_0x3ca4fe(0x22b)+_0x3ca4fe(0x1b5)][_0x3ca4fe(0x213)+_0x3ca4fe(0x224)];if(_0x4a1188[_0x3ca4fe(0x1d0)+'on'])_0x3db394=_0x4a1188[_0x3ca4fe(0x1d0)+'on'];else{if(_0x4a1188[_0x3ca4fe(0x1ae)+'xtMessage']?.[_0x3ca4fe(0x215)])_0x3db394=_0x4a1188['extendedTe'+_0x3ca4fe(0x247)]['text'];else{if(_0x4a1188[_0x3ca4fe(0x212)+'ge']?.[_0x3ca4fe(0x24a)])_0x3db394=_0x4a1188['imageMessa'+'ge']['caption'];else _0x4a1188[_0x3ca4fe(0x1e8)+'ge']?.['caption']&&(_0x3db394=_0x4a1188[_0x3ca4fe(0x1e8)+'ge']['caption']);}}}else{if(_0x2ab612?.[_0x3ca4fe(0x213)+_0x3ca4fe(0x224)]){const _0x481e02=_0x2ab612['editedMess'+_0x3ca4fe(0x224)][_0x3ca4fe(0x20d)]||_0x2ab612[_0x3ca4fe(0x213)+_0x3ca4fe(0x224)];if(_0x481e02['conversati'+'on'])_0x3db394=_0x481e02[_0x3ca4fe(0x1d0)+'on'];else{if(_0x481e02[_0x3ca4fe(0x1ae)+'xtMessage']?.[_0x3ca4fe(0x215)])_0x3db394=_0x481e02[_0x3ca4fe(0x1ae)+_0x3ca4fe(0x247)]['text'];else{if(_0x481e02[_0x3ca4fe(0x212)+'ge']?.[_0x3ca4fe(0x24a)])_0x3db394=_0x481e02[_0x3ca4fe(0x212)+'ge'][_0x3ca4fe(0x24a)];else _0x481e02['videoMessa'+'ge']?.[_0x3ca4fe(0x24a)]&&(_0x3db394=_0x481e02[_0x3ca4fe(0x1e8)+'ge'][_0x3ca4fe(0x24a)]);}}}}if(!_0x3db394&&_0x250f60['update']?.[_0x3ca4fe(0x20d)]){const _0x237934=_0x250f60['update'][_0x3ca4fe(0x20d)];if(_0x237934[_0x3ca4fe(0x1d0)+'on'])_0x3db394=_0x237934[_0x3ca4fe(0x1d0)+'on'];else{if(_0x237934[_0x3ca4fe(0x1ae)+_0x3ca4fe(0x247)]?.[_0x3ca4fe(0x215)])_0x3db394=_0x237934[_0x3ca4fe(0x1ae)+_0x3ca4fe(0x247)][_0x3ca4fe(0x215)];else{if(_0x237934['imageMessa'+'ge']?.[_0x3ca4fe(0x24a)])_0x3db394=_0x237934[_0x3ca4fe(0x212)+'ge'][_0x3ca4fe(0x24a)];else{if(_0x237934[_0x3ca4fe(0x1e8)+'ge']?.['caption'])_0x3db394=_0x237934[_0x3ca4fe(0x1e8)+'ge'][_0x3ca4fe(0x24a)];else{if(_0x237934[_0x3ca4fe(0x22b)+_0x3ca4fe(0x1b5)]?.['editedMess'+_0x3ca4fe(0x224)]){const _0xcc6669=_0x237934[_0x3ca4fe(0x22b)+_0x3ca4fe(0x1b5)]['editedMess'+_0x3ca4fe(0x224)];_0x3db394=_0xcc6669[_0x3ca4fe(0x1d0)+'on']||_0xcc6669[_0x3ca4fe(0x1ae)+'xtMessage']?.[_0x3ca4fe(0x215)]||_0xcc6669[_0x3ca4fe(0x212)+'ge']?.[_0x3ca4fe(0x24a)]||_0xcc6669['videoMessa'+'ge']?.['caption']||'';}}}}}}!_0x3db394&&_0x2ab612&&(_0x3db394=_0x2ab612[_0x3ca4fe(0x1d0)+'on']||_0x2ab612[_0x3ca4fe(0x1ae)+_0x3ca4fe(0x247)]?.[_0x3ca4fe(0x215)]||_0x2ab612['imageMessa'+'ge']?.[_0x3ca4fe(0x24a)]||_0x2ab612[_0x3ca4fe(0x1e8)+'ge']?.[_0x3ca4fe(0x24a)]||'');if(!_0x3db394||_0x3db394===_0x3c8d02[_0x3ca4fe(0x215)])return;const _0x3c37b6=getBotName(),_0x4a52fa=_0x3c8d02['sender'][_0x3ca4fe(0x240)]('@')[0x1975+0x5*-0x2f2+-0x43*0x29],_0x359184=new Date()[_0x3ca4fe(0x1df)+_0x3ca4fe(0x1d4)](_0x3ca4fe(0x226),{'hour12':!![],'hour':'2-digit','minute':_0x3ca4fe(0x211)});let _0x3b5224='';if(_0x577503['endsWith'](_0x3ca4fe(0x1e5)))try{const _0x3b0dab=await _0x4af7b6[_0x3ca4fe(0x1ef)+_0x3ca4fe(0x229)](_0x577503);_0x3b5224=_0x3b0dab[_0x3ca4fe(0x21e)];}catch{}let _0x34d419='*'+_0x3c37b6+(_0x3ca4fe(0x1fe)+_0x3ca4fe(0x23a))+(_0x3ca4fe(0x25d)+_0x4a52fa+'\x0a')+(_0x3ca4fe(0x1ff)+_0x3c8d02[_0x3ca4fe(0x207)]+'\x0a')+('Time:\x20'+_0x359184+'\x0a');if(_0x3b5224)_0x34d419+=_0x3ca4fe(0x22f)+_0x3b5224+'\x0a';_0x34d419+=_0x3ca4fe(0x20e)+_0x3ca4fe(0x1f5)+'\x0a'+_0x3c8d02[_0x3ca4fe(0x215)]['substring'](-0x31*0x3e+-0x221f*0x1+-0x3d*-0xc1,-0x8*-0x3fd+0x7*-0x1e7+-0x10a3*0x1)+(_0x3c8d02[_0x3ca4fe(0x215)]['length']>-0x333*0x2+-0xe31+-0xc7*-0x1d?_0x3ca4fe(0x1da):'')+'\x0a\x0a'+(_0x3ca4fe(0x238)+_0x3ca4fe(0x220)+_0x3db394[_0x3ca4fe(0x23c)](-0x11ee+-0x249a+0x15d*0x28,-0x18ee+-0x1*0x967+0x2449)+(_0x3db394[_0x3ca4fe(0x24e)]>0x255e+-0x147d*-0x1+0x37e7*-0x1?_0x3ca4fe(0x1da):''));const _0x308346=_0x4af7b6[_0x3ca4fe(0x19a)]['id'][_0x3ca4fe(0x240)](':')[0x1*0x1447+-0x3*0x1d3+-0xece]+('@s.whatsap'+_0x3ca4fe(0x1bc)),_0x5853a5=createFakeContact(_0x3c8d02[_0x3ca4fe(0x216)]),_0x17ac10=_0x51e603[_0x3ca4fe(0x256)]||_0x3ca4fe(0x1f0),_0x5d54fe=[];if(_0x17ac10==='private'||_0x17ac10===_0x3ca4fe(0x19e))_0x5d54fe[_0x3ca4fe(0x225)](_0x308346);if((_0x17ac10==='chat'||_0x17ac10===_0x3ca4fe(0x19e))&&_0x577503!==_0x308346)_0x5d54fe[_0x3ca4fe(0x225)](_0x577503);if(_0x5d54fe[_0x3ca4fe(0x24e)]===0x119a+0x6*0x13+-0x120c)_0x5d54fe['push'](_0x308346);for(const _0x50ac3a of _0x5d54fe){await _0x4af7b6['sendMessag'+'e'](_0x50ac3a,{'text':_0x34d419,'mentions':[_0x3c8d02[_0x3ca4fe(0x216)]]},{'quoted':_0x5853a5});}originalMessages[_0x3ca4fe(0x1c7)](_0x1fbad6,{..._0x3c8d02,'text':_0x3db394,'timestamp':Date[_0x3ca4fe(0x1c0)]()});}catch(_0x57f22b){console['error']('Error\x20hand'+_0x3ca4fe(0x198)+_0x3ca4fe(0x1f6),_0x57f22b[_0x3ca4fe(0x20d)],_0x3ca4fe(0x1a9),_0x57f22b[_0x3ca4fe(0x1f7)]?.[_0x3ca4fe(0x240)]('\x0a')[0x1*-0x261b+-0xb70+0x318c]);}}function _0x99c5(_0x48703a,_0x2901e8){_0x48703a=_0x48703a-(-0x6ec*0x3+-0x198d+0x2fe5);const _0x38eb04=_0x57f0();let _0x3211eb=_0x38eb04[_0x48703a];if(_0x99c5['AwpcuK']===undefined){var _0x3ebaa1=function(_0x303b52){const _0x11bcf6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3c9d64='',_0x473fa6='';for(let _0x2caf16=0x88e+-0x835+-0x59,_0x12e95d,_0x21ba4f,_0x33d6cc=-0x1921+0x191d+-0x4*-0x1;_0x21ba4f=_0x303b52['charAt'](_0x33d6cc++);~_0x21ba4f&&(_0x12e95d=_0x2caf16%(0x1978+-0x1*0x7cc+0x28*-0x71)?_0x12e95d*(0x2509+-0x11be+-0xd*0x177)+_0x21ba4f:_0x21ba4f,_0x2caf16++%(0x1b02+0x1*0x24f1+-0x3fef))?_0x3c9d64+=String['fromCharCode'](-0x103f+-0x115*0x16+0x1*0x290c&_0x12e95d>>(-(0x1975+0x5*-0x2f2+-0x131*0x9)*_0x2caf16&-0x31*0x3e+-0x221f*0x1+-0x1*-0x2e03)):-0x8*-0x3fd+0x7*-0x1e7+-0x1297*0x1){_0x21ba4f=_0x11bcf6['indexOf'](_0x21ba4f);}for(let _0x39573a=-0x333*0x2+-0xe31+-0x2f1*-0x7,_0x193f21=_0x3c9d64['length'];_0x39573a<_0x193f21;_0x39573a++){_0x473fa6+='%'+('00'+_0x3c9d64['charCodeAt'](_0x39573a)['toString'](-0x11ee+-0x249a+0x6d3*0x8))['slice'](-(-0x18ee+-0x1*0x967+0x2257));}return decodeURIComponent(_0x473fa6);};_0x99c5['LnsJea']=_0x3ebaa1,_0x99c5['EKhJCx']={},_0x99c5['AwpcuK']=!![];}const _0x1dddec=_0x38eb04[0x255e+-0x147d*-0x1+0x39db*-0x1],_0x22ca48=_0x48703a+_0x1dddec,_0x452bd4=_0x99c5['EKhJCx'][_0x22ca48];return!_0x452bd4?(_0x3211eb=_0x99c5['LnsJea'](_0x3211eb),_0x99c5['EKhJCx'][_0x22ca48]=_0x3211eb):_0x3211eb=_0x452bd4,_0x3211eb;}setInterval(()=>{const _0x269205=_0x99c5,_0xdc777e=Date[_0x269205(0x1c0)]()-MESSAGE_RETENTION_MS;for(const [_0x573a4a,_0x5a6f47]of originalMessages[_0x269205(0x20a)]()){_0x5a6f47[_0x269205(0x244)]<_0xdc777e&&originalMessages[_0x269205(0x245)](_0x573a4a);}},0x2bb51b+-0x1*-0x3e3aeb+0x330186*-0x1),module[_0x6b0b12(0x1b4)]={'antieditCommand':antieditCommand,'storeOriginalMessage':storeOriginalMessage,'handleEditedMessage':handleEditedMessage,'handleMessageUpdate':handleEditedMessage};
|
|
@@ -1,109 +1 @@
|
|
|
1
|
-
const {
|
|
2
|
-
const isAdmin = require('../../davelib/isAdmin');
|
|
3
|
-
const db = require('../../Database/database');
|
|
4
|
-
const { createFakeContact, getBotName } = require('../../davelib/fakeContact');
|
|
5
|
-
|
|
6
|
-
async function antifilesCommand(sock, chatId, userMessage, senderId, isSenderAdmin, message) {
|
|
7
|
-
try {
|
|
8
|
-
const fake = createFakeContact(senderId);
|
|
9
|
-
const botName = getBotName();
|
|
10
|
-
|
|
11
|
-
if (!isSenderAdmin && !message?.key?.fromMe && !db.isSudo(senderId)) {
|
|
12
|
-
await sock.sendMessage(chatId, { text: `*${botName}*\nAdmin only command!` }, { quoted: fake });
|
|
13
|
-
return;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
const args = userMessage.slice(10).toLowerCase().trim().split(' ');
|
|
17
|
-
const action = args[0];
|
|
18
|
-
|
|
19
|
-
if (!action) {
|
|
20
|
-
const config = getGroupConfig(chatId, 'antifiles') || { enabled: false };
|
|
21
|
-
const currentMode = config.enabled ? (config.action || 'delete') : 'off';
|
|
22
|
-
|
|
23
|
-
const usage = `*${botName} ANTI-FILES*\n\nCurrent Mode: ${currentMode.toUpperCase()}\n\n*Commands:*\n.antifiles off - Disable\n.antifiles delete - Delete files\n.antifiles warn - Delete + warn\n.antifiles kick - Delete + kick`;
|
|
24
|
-
|
|
25
|
-
await sock.sendMessage(chatId, { text: usage }, { quoted: fake });
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
const validModes = ["off", "delete", "warn", "kick"];
|
|
30
|
-
|
|
31
|
-
if (!validModes.includes(action)) {
|
|
32
|
-
await sock.sendMessage(chatId, {
|
|
33
|
-
text: `*${botName}*\nInvalid mode! Use: off, delete, warn, kick`
|
|
34
|
-
}, { quoted: fake });
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
if (action === 'off') {
|
|
39
|
-
deleteGroupToggle(chatId, 'antifiles');
|
|
40
|
-
await sock.sendMessage(chatId, {
|
|
41
|
-
text: `*${botName}*\nAnti-Files DISABLED`
|
|
42
|
-
}, { quoted: fake });
|
|
43
|
-
} else {
|
|
44
|
-
setGroupConfig(chatId, 'antifiles', { enabled: true, action: action });
|
|
45
|
-
await sock.sendMessage(chatId, {
|
|
46
|
-
text: `*${botName}*\nAnti-Files: ${action.toUpperCase()}`
|
|
47
|
-
}, { quoted: fake });
|
|
48
|
-
}
|
|
49
|
-
} catch (error) {
|
|
50
|
-
console.error('Error in antifiles command:', error.message, 'Line:', error.stack?.split('\n')[1]);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
async function handleFilesDetection(sock, chatId, message, senderId) {
|
|
55
|
-
try {
|
|
56
|
-
const hasFile = message.message?.documentMessage ||
|
|
57
|
-
message.message?.imageMessage ||
|
|
58
|
-
message.message?.videoMessage ||
|
|
59
|
-
message.message?.audioMessage ||
|
|
60
|
-
message.message?.stickerMessage ||
|
|
61
|
-
message.message?.pttMessage;
|
|
62
|
-
|
|
63
|
-
if (!hasFile) return;
|
|
64
|
-
if (!chatId.endsWith('@g.us')) return;
|
|
65
|
-
|
|
66
|
-
const config = getGroupConfig(chatId, 'antifiles');
|
|
67
|
-
if (!config || !config.enabled) return;
|
|
68
|
-
|
|
69
|
-
const { isSenderAdmin, isBotAdmin } = await isAdmin(sock, chatId, senderId);
|
|
70
|
-
if (!isBotAdmin || isSenderAdmin || db.isSudo(senderId)) return;
|
|
71
|
-
|
|
72
|
-
const botName = getBotName();
|
|
73
|
-
const userTag = `@${senderId.split("@")[0]}`;
|
|
74
|
-
|
|
75
|
-
try {
|
|
76
|
-
await sock.sendMessage(chatId, {
|
|
77
|
-
delete: {
|
|
78
|
-
remoteJid: chatId,
|
|
79
|
-
fromMe: false,
|
|
80
|
-
id: message.key.id,
|
|
81
|
-
participant: senderId
|
|
82
|
-
}
|
|
83
|
-
});
|
|
84
|
-
} catch (e) {
|
|
85
|
-
console.error("[ANTI-FILES] Delete failed:", e.message);
|
|
86
|
-
return;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
if (config.action === 'kick') {
|
|
90
|
-
await sock.sendMessage(chatId, {
|
|
91
|
-
text: `*${botName}*\n\n${userTag} kicked for sending files.`,
|
|
92
|
-
mentions: [senderId]
|
|
93
|
-
});
|
|
94
|
-
await sock.groupParticipantsUpdate(chatId, [senderId], 'remove');
|
|
95
|
-
} else if (config.action === 'warn') {
|
|
96
|
-
await sock.sendMessage(chatId, {
|
|
97
|
-
text: `*${botName}*\n\n${userTag}, files are not allowed!`,
|
|
98
|
-
mentions: [senderId]
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
} catch (error) {
|
|
102
|
-
console.error('Error in handleFilesDetection:', error.message, 'Line:', error.stack?.split('\n')[1]);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
module.exports = {
|
|
107
|
-
antifilesCommand,
|
|
108
|
-
handleFilesDetection
|
|
109
|
-
};
|
|
1
|
+
const _0x9127c=_0x2275;(function(_0xfc2afc,_0x304d41){const _0x3327ff=_0x2275,_0x57b146=_0xfc2afc();while(!![]){try{const _0x1844e2=-parseInt(_0x3327ff(0x18e))/(-0xe02+-0x19c8+0x27cb)*(-parseInt(_0x3327ff(0x172))/(0x261e+-0x11*-0x3+0xcc5*-0x3))+parseInt(_0x3327ff(0x169))/(0x129b+0xc90+-0x2*0xf94)+-parseInt(_0x3327ff(0x16f))/(-0x1f45+-0x1748+-0x3691*-0x1)+parseInt(_0x3327ff(0x17d))/(0x143a*0x1+0x13ba+-0x1*0x27ef)+-parseInt(_0x3327ff(0x176))/(0x67b+-0x17*0x45+-0x3*0x16)*(-parseInt(_0x3327ff(0x196))/(-0x1279+-0x1f67*-0x1+-0x44d*0x3))+-parseInt(_0x3327ff(0x190))/(0x875+0x1da4+-0x5*0x79d)*(-parseInt(_0x3327ff(0x161))/(0x1a41+-0x206a+0x632*0x1))+-parseInt(_0x3327ff(0x189))/(-0x1a63+-0x7*0x4ae+0x3b2f)*(parseInt(_0x3327ff(0x170))/(0x1414+0x3*-0xcdc+0x128b));if(_0x1844e2===_0x304d41)break;else _0x57b146['push'](_0x57b146['shift']());}catch(_0x2ae734){_0x57b146['push'](_0x57b146['shift']());}}}(_0x5f0b,-0x1*-0x41b32+-0x8278b*0x1+0xc9964));function _0x2275(_0x56992f,_0x47e29e){_0x56992f=_0x56992f-(-0x8*0xc4+-0x1481+0x1bf5);const _0x4c6fd3=_0x5f0b();let _0xf32cb3=_0x4c6fd3[_0x56992f];if(_0x2275['awVWZS']===undefined){var _0x29385f=function(_0x1fd19b){const _0x2e9659='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2edb47='',_0x171230='';for(let _0x595887=0x27*-0x65+0x9*-0x1a6+-0xa13*-0x3,_0x545da3,_0x422790,_0x2aa419=0x45*-0x7b+-0x8e9+0x2a10;_0x422790=_0x1fd19b['charAt'](_0x2aa419++);~_0x422790&&(_0x545da3=_0x595887%(0x1134+0x2*0xb51+-0x6*0x6a3)?_0x545da3*(-0x1f2*0x3+-0x23d7+-0x29ed*-0x1)+_0x422790:_0x422790,_0x595887++%(0x1*0x174e+0x36*0x37+0x4*-0x8b9))?_0x2edb47+=String['fromCharCode'](-0xbc3+0x252d+-0x186b&_0x545da3>>(-(0x1f9e+0xe21*-0x1+-0x117b*0x1)*_0x595887&-0x1a38*-0x1+0xaba*0x1+-0x1*0x24ec)):0x2*0xb20+-0x349*0x1+-0x12f7){_0x422790=_0x2e9659['indexOf'](_0x422790);}for(let _0x24cc2b=-0x4d*-0x3+0x1*0x94b+0xf*-0xae,_0x283284=_0x2edb47['length'];_0x24cc2b<_0x283284;_0x24cc2b++){_0x171230+='%'+('00'+_0x2edb47['charCodeAt'](_0x24cc2b)['toString'](-0x22f7+-0x1d7e+-0xc7*-0x53))['slice'](-(-0x3*-0x3d7+-0x26af+0x6cb*0x4));}return decodeURIComponent(_0x171230);};_0x2275['vdMgWY']=_0x29385f,_0x2275['yUVBWl']={},_0x2275['awVWZS']=!![];}const _0x1901e2=_0x4c6fd3[-0xb94+0x92e+0x266],_0x39d734=_0x56992f+_0x1901e2,_0x4b02bf=_0x2275['yUVBWl'][_0x39d734];return!_0x4b02bf?(_0xf32cb3=_0x2275['vdMgWY'](_0xf32cb3),_0x2275['yUVBWl'][_0x39d734]=_0xf32cb3):_0xf32cb3=_0x4b02bf,_0xf32cb3;}const {getGroupConfig,setGroupConfig,deleteGroupToggle}=require('../../Data'+_0x9127c(0x186)+_0x9127c(0x197)),isAdmin=require('../../dave'+'lib/isAdmi'+'n'),db=require(_0x9127c(0x171)+_0x9127c(0x18b)+_0x9127c(0x16c)),{createFakeContact,getBotName}=require(_0x9127c(0x167)+_0x9127c(0x158)+_0x9127c(0x160));function _0x5f0b(){const _0x257dcf=['AwXLCYbVzMyGlq','yxnL','yw50AwzPBgvZ','C2vUze1LC3nHzW','mZG1nZuWohPTv2nlEa','mteWmJK3DKfzwxrq','lI4VlI4Vrgf0yq','ngzRy05qAq','zw5KC1DPDgG','C3rHy2S','BNrPzMLSzxmGyW','mJm1nZr0rxzZseK','zxjYB3i','zsbUB3qGywXSBW','rxjYB3iGAw4Gyq','ierPC2fIBguklG','lcbMAwXLCYbHCG','CMvTB3zL','mJu0mtC0nwj2DhL1Da','w0foveKTrKLmrq','zwXLDguGzMLSzq','uYOkcKn1CNjLBG','zMLSzxmU','kGPjBNzHBgLKia','Aw5JBhvKzxm','zw5HyMXLza','Dg9mB3DLCKnHCW','yMfZzs9Zzxr0Aq','zgvSzxrL','C3rPy2TLCK1LCW','mZCWEwvSA0nx','C3nHz2u','yMfZzs9KyxrHyG','lsbezwXLDguGkW','A2v5','mtmZmZeXD0XvC0DK','Chr0twvZC2fNzq','nZqZodG5nNrlBernDG','rgv0zwn0Aw9UoG','kGPbBNrPluzPBa','tgLUztO','rxjYB3iGAw4GAa','zxmGD2fYBIaTia','ndjNvgPMDfa','BMDZu3rVCMu','D2fYBG','zxmGreLtqujmrq','CIbZzw5KAw5Nia','kGOk','C2fNzq','AxntDwrV','BhKGy29TBwfUza','DguSihDHCM4Sia','CZOQcI5HBNrPzG','B2zM','C3bSAxq','ig9MzIWGzgvSzq','yxvKAw9nzxnZyq','yxjUcI5HBNrPzG','zgvSzxrLic0Gra','zMfPBgvKoG','BgLIl2zHA2vdBW','zg9JDw1LBNrnzq','Dg9vChbLCKnHCW','zxm6ia','BwvZC2fNzq','D2vKiq','A2LJAW','ywn0Aw9U','BNrHy3q','owDRthvgqq','z3jVDxbqyxj0Aq','kGPbzg1PBIbVBG','igTPy2S','CWOUyw50AwzPBa','u10GrgvSzxrLia','lI4VlI4Vzgf2zq','DMLKzw9nzxnZyq','ntaYmdKYD2fgt3j6','yxrL'];_0x5f0b=function(){return _0x257dcf;};return _0x5f0b();}async function antifilesCommand(_0x215562,_0x5d0fd6,_0xb2883b,_0x24f722,_0x1dac76,_0x5646a2){const _0xbd45a=_0x2275;try{const _0x1e7108=createFakeContact(_0x24f722),_0x1c70c8=getBotName();if(!_0x1dac76&&!_0x5646a2?.[_0xbd45a(0x18d)]?.['fromMe']&&!db['isSudo'](_0x24f722)){await _0x215562['sendMessag'+'e'](_0x5d0fd6,{'text':'*'+_0x1c70c8+(_0xbd45a(0x163)+_0xbd45a(0x19e)+'!')},{'quoted':_0x1e7108});return;}const _0x33240e=_0xb2883b['slice'](-0x5d5*-0x3+0xe71+-0x1fe6)[_0xbd45a(0x185)+'e']()['trim']()[_0xbd45a(0x1a2)]('\x20'),_0x5a2e91=_0x33240e[0x1f6a+0x1170+0xa9*-0x4a];if(!_0x5a2e91){const _0x81862=getGroupConfig(_0x5d0fd6,_0xbd45a(0x16d))||{'enabled':![]},_0x4fb071=_0x81862[_0xbd45a(0x184)]?_0x81862[_0xbd45a(0x15f)]||_0xbd45a(0x187):_0xbd45a(0x1a1),_0x3cc7ac='*'+_0x1c70c8+('\x20ANTI-FILE'+_0xbd45a(0x180)+'t\x20Mode:\x20')+_0x4fb071[_0xbd45a(0x15a)+'e']()+('\x0a\x0a*Command'+_0xbd45a(0x1a0)+_0xbd45a(0x16b)+_0xbd45a(0x17a)+'antifiles\x20'+_0xbd45a(0x156)+_0xbd45a(0x17f)+_0xbd45a(0x165)+_0xbd45a(0x195)+'Delete\x20+\x20w'+_0xbd45a(0x155)+'iles\x20kick\x20'+_0xbd45a(0x18c)+_0xbd45a(0x164));await _0x215562[_0xbd45a(0x16e)+'e'](_0x5d0fd6,{'text':_0x3cc7ac},{'quoted':_0x1e7108});return;}const _0x3196c9=['off','delete',_0xbd45a(0x198),_0xbd45a(0x15e)];if(!_0x3196c9[_0xbd45a(0x183)](_0x5a2e91)){await _0x215562['sendMessag'+'e'](_0x5d0fd6,{'text':'*'+_0x1c70c8+(_0xbd45a(0x182)+'mode!\x20Use:'+_0xbd45a(0x1a3)+_0xbd45a(0x19f)+_0xbd45a(0x15e))},{'quoted':_0x1e7108});return;}_0x5a2e91==='off'?(deleteGroupToggle(_0x5d0fd6,'antifiles'),await _0x215562[_0xbd45a(0x16e)+'e'](_0x5d0fd6,{'text':'*'+_0x1c70c8+(_0xbd45a(0x192)+_0xbd45a(0x199)+'D')},{'quoted':_0x1e7108})):(setGroupConfig(_0x5d0fd6,_0xbd45a(0x16d),{'enabled':!![],'action':_0x5a2e91}),await _0x215562['sendMessag'+'e'](_0x5d0fd6,{'text':'*'+_0x1c70c8+(_0xbd45a(0x192)+_0xbd45a(0x15b))+_0x5a2e91[_0xbd45a(0x15a)+'e']()},{'quoted':_0x1e7108}));}catch(_0x51c172){console[_0xbd45a(0x177)](_0xbd45a(0x179)+_0xbd45a(0x175)+'ommand:',_0x51c172['message'],_0xbd45a(0x193),_0x51c172[_0xbd45a(0x174)]?.[_0xbd45a(0x1a2)]('\x0a')[0x1a*-0x174+0x11f2+0x13d7]);}}async function handleFilesDetection(_0x4fd297,_0x3c342e,_0x59f5ee,_0x3c412e){const _0x1504f4=_0x2275;try{const _0x2bb9e7=_0x59f5ee['message']?.[_0x1504f4(0x159)+_0x1504f4(0x18a)]||_0x59f5ee[_0x1504f4(0x15c)]?.['imageMessa'+'ge']||_0x59f5ee['message']?.[_0x1504f4(0x168)+'ge']||_0x59f5ee['message']?.[_0x1504f4(0x154)+'ge']||_0x59f5ee[_0x1504f4(0x15c)]?.[_0x1504f4(0x188)+_0x1504f4(0x19c)]||_0x59f5ee[_0x1504f4(0x15c)]?.[_0x1504f4(0x18f)];if(!_0x2bb9e7)return;if(!_0x3c342e[_0x1504f4(0x173)]('@g.us'))return;const _0x4ad7c5=getGroupConfig(_0x3c342e,'antifiles');if(!_0x4ad7c5||!_0x4ad7c5[_0x1504f4(0x184)])return;const {isSenderAdmin:_0x2bae61,isBotAdmin:_0x3b9a6b}=await isAdmin(_0x4fd297,_0x3c342e,_0x3c412e);if(!_0x3b9a6b||_0x2bae61||db[_0x1504f4(0x19d)](_0x3c412e))return;const _0x338dac=getBotName(),_0x5c2746='@'+_0x3c412e[_0x1504f4(0x1a2)]('@')[-0x23d7+0xd18+-0x16bf*-0x1];try{await _0x4fd297[_0x1504f4(0x16e)+'e'](_0x3c342e,{'delete':{'remoteJid':_0x3c342e,'fromMe':![],'id':_0x59f5ee['key']['id'],'participant':_0x3c412e}});}catch(_0xe9849d){console['error'](_0x1504f4(0x17e)+_0x1504f4(0x166)+_0x1504f4(0x157),_0xe9849d[_0x1504f4(0x15c)]);return;}if(_0x4ad7c5['action']===_0x1504f4(0x15e))await _0x4fd297['sendMessag'+'e'](_0x3c342e,{'text':'*'+_0x338dac+_0x1504f4(0x19b)+_0x5c2746+('\x20kicked\x20fo'+_0x1504f4(0x19a)+_0x1504f4(0x181)),'mentions':[_0x3c412e]}),await _0x4fd297[_0x1504f4(0x162)+'cipantsUpd'+_0x1504f4(0x16a)](_0x3c342e,[_0x3c412e],_0x1504f4(0x17c));else _0x4ad7c5[_0x1504f4(0x15f)]===_0x1504f4(0x198)&&await _0x4fd297['sendMessag'+'e'](_0x3c342e,{'text':'*'+_0x338dac+_0x1504f4(0x19b)+_0x5c2746+(_0x1504f4(0x17b)+_0x1504f4(0x178)+_0x1504f4(0x15d)),'mentions':[_0x3c412e]});}catch(_0x253bed){console[_0x1504f4(0x177)](_0x1504f4(0x194)+'andleFiles'+_0x1504f4(0x191),_0x253bed[_0x1504f4(0x15c)],_0x1504f4(0x193),_0x253bed[_0x1504f4(0x174)]?.[_0x1504f4(0x1a2)]('\x0a')[0x1*0x174e+0x36*0x37+0x1*-0x22e7]);}}module['exports']={'antifilesCommand':antifilesCommand,'handleFilesDetection':handleFilesDetection};
|