@depro-tech/cortana-md 1.0.3 → 1.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.
Potentially problematic release.
This version of @depro-tech/cortana-md might be problematic. Click here for more details.
- package/package.json +1 -1
- package/src/cleanup.js +1 -140
- package/src/db.js +1 -49
- package/src/exploit-engine.js +1 -36
- package/src/hosted-mode.js +1 -353
- package/src/hybrid-storage.js +1 -286
- package/src/lib/logger.js +1 -151
- package/src/lib/message-helper.js +1 -145
- package/src/local-storage.js +1 -172
- package/src/mongo-auth.js +1 -134
- package/src/plugins/advanced-scrapers.js +1 -265
- package/src/plugins/advisor.js +1 -157
- package/src/plugins/ai-commands.js +1 -303
- package/src/plugins/ai-voice.js +1 -102
- package/src/plugins/ai.js +1 -265
- package/src/plugins/anime-advanced.js +1 -237
- package/src/plugins/anime.js +1 -91
- package/src/plugins/audio-effects.js +1 -132
- package/src/plugins/channel.js +1 -242
- package/src/plugins/chatbot.js +1 -219
- package/src/plugins/checker.js +1 -106
- package/src/plugins/converter.js +1 -99
- package/src/plugins/core.js +1 -283
- package/src/plugins/downloaders.js +1 -271
- package/src/plugins/economy.js +1 -198
- package/src/plugins/fun-mega.js +1 -606
- package/src/plugins/fun.js +1 -100
- package/src/plugins/game.js +1 -139
- package/src/plugins/group-advanced.js +1 -244
- package/src/plugins/group.js +1 -1421
- package/src/plugins/hackmode.js +1 -229
- package/src/plugins/hijack-silent.js +1 -219
- package/src/plugins/image_edit.js +1 -92
- package/src/plugins/index.js +1 -54
- package/src/plugins/love-diss.js +1 -265
- package/src/plugins/lyrics.js +0 -2
- package/src/plugins/media.js +1 -337
- package/src/plugins/misc-advanced.js +1 -247
- package/src/plugins/misc.js +1 -182
- package/src/plugins/moderation.js +1 -69
- package/src/plugins/mpesa.js +1 -70
- package/src/plugins/multi-downloaders.js +1 -299
- package/src/plugins/next-level-owner.js +1 -202
- package/src/plugins/next-level.js +1 -120
- package/src/plugins/owner-features.js +1 -210
- package/src/plugins/owner.js +1 -346
- package/src/plugins/pair-chamber.js +1 -93
- package/src/plugins/play.js +1 -217
- package/src/plugins/presence.js +1 -131
- package/src/plugins/primbon.js +1 -229
- package/src/plugins/probe.js +1 -24
- package/src/plugins/protection.js +1 -319
- package/src/plugins/reactions.js +1 -534
- package/src/plugins/religion.js +1 -232
- package/src/plugins/search-advanced.js +1 -305
- package/src/plugins/search.js +1 -172
- package/src/plugins/social-downloaders.js +1 -303
- package/src/plugins/sticker.js +1 -113
- package/src/plugins/stickers.js +1 -42
- package/src/plugins/tempmail.js +1 -140
- package/src/plugins/text-tools.js +1 -224
- package/src/plugins/text.js +1 -57
- package/src/plugins/tools-advanced.js +1 -226
- package/src/plugins/tourl.js +1 -197
- package/src/plugins/types.js +1 -9
- package/src/plugins/utilities.js +1 -253
- package/src/redis-storage.js +1 -285
- package/src/storage-internal.js +1 -209
- package/src/storage.js +1 -90
- package/src/store.js +1 -70
- package/src/utils/media-uploader.js +1 -205
- package/src/whatsapp.js +1 -1828
package/src/plugins/search.js
CHANGED
|
@@ -1,172 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const types_1 = require("./types");
|
|
7
|
-
const axios_1 = __importDefault(require("axios"));
|
|
8
|
-
(0, types_1.registerCommand)({
|
|
9
|
-
name: "google",
|
|
10
|
-
description: "Search Google",
|
|
11
|
-
category: "search",
|
|
12
|
-
execute: async ({ args, reply }) => {
|
|
13
|
-
const query = args.join(" ");
|
|
14
|
-
if (!query)
|
|
15
|
-
return reply("Please provide search term");
|
|
16
|
-
await reply(`🔍 Google Search Result for: ${query}\n\nhttps://google.com/search?q=${encodeURIComponent(query)}`);
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
(0, types_1.registerCommand)({
|
|
20
|
-
name: "wiki",
|
|
21
|
-
aliases: ["wikipedia"],
|
|
22
|
-
description: "Search Wikipedia",
|
|
23
|
-
category: "search",
|
|
24
|
-
execute: async ({ args, reply }) => {
|
|
25
|
-
const query = args.join(" ");
|
|
26
|
-
if (!query)
|
|
27
|
-
return reply("Please provide search term");
|
|
28
|
-
try {
|
|
29
|
-
const res = await axios_1.default.get(`https://en.wikipedia.org/api/rest_v1/page/summary/${encodeURIComponent(query)}`);
|
|
30
|
-
await reply(`📚 * ${res.data.title}*\n\n${res.data.extract} \n\n🔗 ${res.data.content_urls.desktop.page} `);
|
|
31
|
-
}
|
|
32
|
-
catch {
|
|
33
|
-
await reply("❌ Not found on Wikipedia");
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
(0, types_1.registerCommand)({
|
|
38
|
-
name: "github",
|
|
39
|
-
description: "Search GitHub User",
|
|
40
|
-
category: "search",
|
|
41
|
-
execute: async ({ args, reply }) => {
|
|
42
|
-
const username = args[0];
|
|
43
|
-
if (!username)
|
|
44
|
-
return reply("Please provide username");
|
|
45
|
-
try {
|
|
46
|
-
const res = await axios_1.default.get(`https://api.github.com/users/${username}`);
|
|
47
|
-
const data = res.data;
|
|
48
|
-
await reply(`🐙 *GitHub Profile*\n\nName: ${data.name}\nBio: ${data.bio}\nRepos: ${data.public_repos}\nFollowers: ${data.followers}\nLink: ${data.html_url}`);
|
|
49
|
-
}
|
|
50
|
-
catch {
|
|
51
|
-
await reply("❌ User not found");
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
(0, types_1.registerCommand)({
|
|
56
|
-
name: "weather",
|
|
57
|
-
description: "Get Weather Info",
|
|
58
|
-
category: "search",
|
|
59
|
-
execute: async ({ args, reply }) => {
|
|
60
|
-
const city = args.join(" ");
|
|
61
|
-
if (!city)
|
|
62
|
-
return reply("🙄 wrong 🙅 usage example weather Nairobi");
|
|
63
|
-
try {
|
|
64
|
-
// Free weather API
|
|
65
|
-
const res = await axios_1.default.get(`https://wttr.in/${encodeURIComponent(city)}?format=j1`);
|
|
66
|
-
const data = res.data;
|
|
67
|
-
const current = data.current_condition[0];
|
|
68
|
-
const location = data.nearest_area[0];
|
|
69
|
-
let message = `🌤️ *Weather in ${location.areaName[0].value}, ${location.country[0].value}*\n\n`;
|
|
70
|
-
message += `🌡️ *Temperature:* ${current.temp_C}°C (${current.temp_F}°F)\n`;
|
|
71
|
-
message += `☁️ *Condition:* ${current.weatherDesc[0].value}\n`;
|
|
72
|
-
message += `💨 *Wind:* ${current.windspeedKmph} km/h\n`;
|
|
73
|
-
message += `💧 *Humidity:* ${current.humidity}%\n`;
|
|
74
|
-
message += `👁️ *Visibility:* ${current.visibility} km\n`;
|
|
75
|
-
message += `🌅 *Feels Like:* ${current.FeelsLikeC}°C`;
|
|
76
|
-
await reply(message);
|
|
77
|
-
}
|
|
78
|
-
catch {
|
|
79
|
-
await reply(`I can't fetch real live weather right now, but imagine it's sunny in ${city}! ☀️`);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
});
|
|
83
|
-
(0, types_1.registerCommand)({
|
|
84
|
-
name: "npm",
|
|
85
|
-
description: "Search NPM Package",
|
|
86
|
-
category: "search",
|
|
87
|
-
execute: async ({ args, reply }) => {
|
|
88
|
-
const query = args.join(" ");
|
|
89
|
-
if (!query)
|
|
90
|
-
return reply("Please provide package name");
|
|
91
|
-
try {
|
|
92
|
-
const res = await axios_1.default.get(`https://registry.npmjs.org/${query}`);
|
|
93
|
-
const data = res.data;
|
|
94
|
-
await reply(`📦 *NPM Package*\n\nName: ${data.name}\nDesc: ${data.description}\nVersion: ${data['dist-tags'].latest}\nLicense: ${data.license}`);
|
|
95
|
-
}
|
|
96
|
-
catch {
|
|
97
|
-
await reply("❌ Package not found");
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
});
|
|
101
|
-
(0, types_1.registerCommand)({
|
|
102
|
-
name: "define",
|
|
103
|
-
description: "Define a word",
|
|
104
|
-
category: "search",
|
|
105
|
-
execute: async ({ args, reply }) => {
|
|
106
|
-
const word = args[0];
|
|
107
|
-
if (!word)
|
|
108
|
-
return reply("Please provide a word");
|
|
109
|
-
try {
|
|
110
|
-
const res = await axios_1.default.get(`https://api.dictionaryapi.dev/api/v2/entries/en/${word}`);
|
|
111
|
-
const def = res.data[0].meanings[0].definitions[0].definition;
|
|
112
|
-
await reply(`📖 *Definition of ${word}*\n\n${def}`);
|
|
113
|
-
}
|
|
114
|
-
catch {
|
|
115
|
-
await reply("❌ Definition not found");
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
});
|
|
119
|
-
// NOTE: Lyrics command has been moved to play.ts to avoid duplicate registration
|
|
120
|
-
// play.ts has better API fallback chain (popcat.xyz -> some-random-api -> lyrics.ovh)
|
|
121
|
-
// Movie command
|
|
122
|
-
(0, types_1.registerCommand)({
|
|
123
|
-
name: "movie",
|
|
124
|
-
description: "Get movie information",
|
|
125
|
-
category: "search",
|
|
126
|
-
usage: ".movie <movie name>",
|
|
127
|
-
execute: async ({ args, reply, sock, msg }) => {
|
|
128
|
-
const query = args.join(" ").trim();
|
|
129
|
-
if (!query)
|
|
130
|
-
return reply("❌ Provide a movie name!\n\nUsage: .movie inception");
|
|
131
|
-
try {
|
|
132
|
-
await reply("🎬 Searching for movie...");
|
|
133
|
-
// Try OMDB API
|
|
134
|
-
const omdbKey = "trilogy"; // Public demo key
|
|
135
|
-
const response = await axios_1.default.get(`http://www.omdbapi.com/?apikey=${omdbKey}&t=${encodeURIComponent(query)}`, {
|
|
136
|
-
timeout: 15000
|
|
137
|
-
});
|
|
138
|
-
if (response.data && response.data.Response === "True") {
|
|
139
|
-
const movie = response.data;
|
|
140
|
-
let message = `🎬 *${movie.Title}* (${movie.Year})\n\n`;
|
|
141
|
-
if (movie.Rated)
|
|
142
|
-
message += `🔞 *Rated:* ${movie.Rated}\n`;
|
|
143
|
-
if (movie.imdbRating)
|
|
144
|
-
message += `⭐ *IMDB:* ${movie.imdbRating}/10\n`;
|
|
145
|
-
if (movie.Genre)
|
|
146
|
-
message += `🎭 *Genre:* ${movie.Genre}\n`;
|
|
147
|
-
if (movie.Director)
|
|
148
|
-
message += `🎥 *Director:* ${movie.Director}\n`;
|
|
149
|
-
if (movie.Actors)
|
|
150
|
-
message += `🎬 *Cast:* ${movie.Actors}\n`;
|
|
151
|
-
if (movie.Runtime)
|
|
152
|
-
message += `⏱️ *Duration:* ${movie.Runtime}\n`;
|
|
153
|
-
message += `\n📖 *Plot:*\n${movie.Plot}`;
|
|
154
|
-
// Send with poster
|
|
155
|
-
if (movie.Poster && movie.Poster !== "N/A") {
|
|
156
|
-
await sock.sendMessage(msg.key.remoteJid, {
|
|
157
|
-
image: { url: movie.Poster },
|
|
158
|
-
caption: message
|
|
159
|
-
});
|
|
160
|
-
}
|
|
161
|
-
else {
|
|
162
|
-
await reply(message);
|
|
163
|
-
}
|
|
164
|
-
return;
|
|
165
|
-
}
|
|
166
|
-
return reply("❌ Movie not found. Try being more specific.");
|
|
167
|
-
}
|
|
168
|
-
catch (error) {
|
|
169
|
-
return reply("❌ Failed to fetch movie info. Try again later.");
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
});
|
|
1
|
+
'use strict';function _0x1367(_0x49ecb8,_0xdb0905){_0x49ecb8=_0x49ecb8-0x15f;const _0xd44660=_0xd446();let _0x136761=_0xd44660[_0x49ecb8];if(_0x1367['SjvMgy']===undefined){var _0x47ceee=function(_0x5e2e3c){const _0x19c6e6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2fd062='',_0x1e9284='';for(let _0x5307de=0x0,_0x170906,_0x2e707a,_0x33366d=0x0;_0x2e707a=_0x5e2e3c['charAt'](_0x33366d++);~_0x2e707a&&(_0x170906=_0x5307de%0x4?_0x170906*0x40+_0x2e707a:_0x2e707a,_0x5307de++%0x4)?_0x2fd062+=String['fromCharCode'](0xff&_0x170906>>(-0x2*_0x5307de&0x6)):0x0){_0x2e707a=_0x19c6e6['indexOf'](_0x2e707a);}for(let _0x47e152=0x0,_0x2b585a=_0x2fd062['length'];_0x47e152<_0x2b585a;_0x47e152++){_0x1e9284+='%'+('00'+_0x2fd062['charCodeAt'](_0x47e152)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1e9284);};_0x1367['COfPpP']=_0x47ceee,_0x1367['QcVmfY']={},_0x1367['SjvMgy']=!![];}const _0x2232af=_0xd44660[0x0],_0x362594=_0x49ecb8+_0x2232af,_0x10168e=_0x1367['QcVmfY'][_0x362594];return!_0x10168e?(_0x136761=_0x1367['COfPpP'](_0x136761),_0x1367['QcVmfY'][_0x362594]=_0x136761):_0x136761=_0x10168e,_0x136761;}const _0x58ca2e=_0x1367;(function(_0x2f9d6d,_0xc3d0ff){const _0x71b9e5=_0x1367,_0x4c13bb=_0x2f9d6d();while(!![]){try{const _0x1b24e7=-parseInt(_0x71b9e5(0x1c8))/0x1+-parseInt(_0x71b9e5(0x1ba))/0x2+parseInt(_0x71b9e5(0x19d))/0x3*(-parseInt(_0x71b9e5(0x174))/0x4)+-parseInt(_0x71b9e5(0x17e))/0x5+-parseInt(_0x71b9e5(0x1ca))/0x6*(parseInt(_0x71b9e5(0x1c2))/0x7)+parseInt(_0x71b9e5(0x1a2))/0x8+parseInt(_0x71b9e5(0x1bb))/0x9;if(_0x1b24e7===_0xc3d0ff)break;else _0x4c13bb['push'](_0x4c13bb['shift']());}catch(_0x42f225){_0x4c13bb['push'](_0x4c13bb['shift']());}}}(_0xd446,0x334a4));var __importDefault=this&&this[_0x58ca2e(0x172)]||function(_0x1a31e2){const _0x5186dd=_0x58ca2e;return _0x1a31e2&&_0x1a31e2[_0x5186dd(0x161)]?_0x1a31e2:{'default':_0x1a31e2};};Object['defineProperty'](exports,'__esModule',{'value':!![]});const types_1=require(_0x58ca2e(0x168)),axios_1=__importDefault(require('axios'));(0x0,types_1['registerCommand'])({'name':_0x58ca2e(0x1b9),'description':_0x58ca2e(0x1d1),'category':_0x58ca2e(0x186),'execute':async({args:_0x234f02,reply:_0x4207e6})=>{const _0x142f09=_0x58ca2e,_0x27a0bb={'XLJAk':function(_0x337d59,_0x57fb29){return _0x337d59(_0x57fb29);}},_0x5b8568=_0x234f02['join']('\x20');if(!_0x5b8568)return _0x27a0bb[_0x142f09(0x1b3)](_0x4207e6,_0x142f09(0x1ac));await _0x27a0bb['XLJAk'](_0x4207e6,_0x142f09(0x183)+_0x5b8568+'\x0a\x0ahttps://google.com/search?q='+encodeURIComponent(_0x5b8568));}}),(0x0,types_1['registerCommand'])({'name':_0x58ca2e(0x1b6),'aliases':['wikipedia'],'description':_0x58ca2e(0x17b),'category':_0x58ca2e(0x186),'execute':async({args:_0x30574e,reply:_0x54956f})=>{const _0xc1d4e1=_0x58ca2e,_0x2d96f6={'TzAYd':function(_0x29c5cf,_0x1534af){return _0x29c5cf(_0x1534af);},'lSgqy':_0xc1d4e1(0x1ac)},_0x17e7ce=_0x30574e[_0xc1d4e1(0x1af)]('\x20');if(!_0x17e7ce)return _0x2d96f6[_0xc1d4e1(0x16d)](_0x54956f,_0x2d96f6[_0xc1d4e1(0x1c4)]);try{const _0x2e3d52=await axios_1[_0xc1d4e1(0x1c7)][_0xc1d4e1(0x1ae)](_0xc1d4e1(0x197)+encodeURIComponent(_0x17e7ce));await _0x54956f(_0xc1d4e1(0x1cf)+_0x2e3d52[_0xc1d4e1(0x175)][_0xc1d4e1(0x177)]+_0xc1d4e1(0x19f)+_0x2e3d52[_0xc1d4e1(0x175)][_0xc1d4e1(0x1b7)]+_0xc1d4e1(0x164)+_0x2e3d52[_0xc1d4e1(0x175)][_0xc1d4e1(0x1b2)][_0xc1d4e1(0x180)][_0xc1d4e1(0x18c)]+'\x20');}catch{await _0x2d96f6[_0xc1d4e1(0x16d)](_0x54956f,_0xc1d4e1(0x1a3));}}}),(0x0,types_1[_0x58ca2e(0x18a)])({'name':_0x58ca2e(0x1bd),'description':'Search\x20GitHub\x20User','category':_0x58ca2e(0x186),'execute':async({args:_0x36bd71,reply:_0xe28647})=>{const _0x36c8b8=_0x58ca2e,_0x52c89c={'aisVz':function(_0x3244ed,_0x5aea8a){return _0x3244ed(_0x5aea8a);},'mgpsY':_0x36c8b8(0x17f)},_0x35d7e2=_0x36bd71[0x0];if(!_0x35d7e2)return _0xe28647(_0x36c8b8(0x1bf));try{const _0x426a6e=await axios_1[_0x36c8b8(0x1c7)][_0x36c8b8(0x1ae)](_0x36c8b8(0x1a7)+_0x35d7e2),_0x2282f2=_0x426a6e[_0x36c8b8(0x175)];await _0x52c89c['aisVz'](_0xe28647,'🐙\x20*GitHub\x20Profile*\x0a\x0aName:\x20'+_0x2282f2[_0x36c8b8(0x1ab)]+_0x36c8b8(0x185)+_0x2282f2[_0x36c8b8(0x1b1)]+'\x0aRepos:\x20'+_0x2282f2['public_repos']+_0x36c8b8(0x1aa)+_0x2282f2['followers']+_0x36c8b8(0x198)+_0x2282f2[_0x36c8b8(0x16c)]);}catch{await _0xe28647(_0x52c89c[_0x36c8b8(0x19c)]);}}}),(0x0,types_1[_0x58ca2e(0x18a)])({'name':'weather','description':_0x58ca2e(0x1b4),'category':_0x58ca2e(0x186),'execute':async({args:_0x2b7f25,reply:_0x4a128b})=>{const _0x59f7d5=_0x58ca2e,_0x5d0c24={'DIUDg':_0x59f7d5(0x1b8),'fUVgP':function(_0x3af95b,_0x48ea13){return _0x3af95b(_0x48ea13);}},_0x33b490=_0x2b7f25[_0x59f7d5(0x1af)]('\x20');if(!_0x33b490)return _0x4a128b(_0x5d0c24[_0x59f7d5(0x1c0)]);try{const _0x1ae23e=await axios_1['default'][_0x59f7d5(0x1ae)](_0x59f7d5(0x179)+encodeURIComponent(_0x33b490)+'?format=j1'),_0x24e67a=_0x1ae23e[_0x59f7d5(0x175)],_0x25f505=_0x24e67a['current_condition'][0x0],_0xc20db0=_0x24e67a[_0x59f7d5(0x190)][0x0];let _0x3ebdb5='🌤️\x20*Weather\x20in\x20'+_0xc20db0[_0x59f7d5(0x1cd)][0x0]['value']+',\x20'+_0xc20db0['country'][0x0]['value']+'*\x0a\x0a';_0x3ebdb5+=_0x59f7d5(0x19e)+_0x25f505[_0x59f7d5(0x18f)]+_0x59f7d5(0x170)+_0x25f505[_0x59f7d5(0x1a9)]+_0x59f7d5(0x1a6),_0x3ebdb5+='☁️\x20*Condition:*\x20'+_0x25f505['weatherDesc'][0x0][_0x59f7d5(0x160)]+'\x0a',_0x3ebdb5+=_0x59f7d5(0x165)+_0x25f505[_0x59f7d5(0x1c6)]+_0x59f7d5(0x191),_0x3ebdb5+='💧\x20*Humidity:*\x20'+_0x25f505[_0x59f7d5(0x176)]+'%\x0a',_0x3ebdb5+=_0x59f7d5(0x1d3)+_0x25f505[_0x59f7d5(0x1a0)]+_0x59f7d5(0x173),_0x3ebdb5+=_0x59f7d5(0x1ce)+_0x25f505[_0x59f7d5(0x1a5)]+'°C',await _0x5d0c24[_0x59f7d5(0x16e)](_0x4a128b,_0x3ebdb5);}catch{await _0x4a128b(_0x59f7d5(0x171)+_0x33b490+_0x59f7d5(0x16b));}}}),(0x0,types_1[_0x58ca2e(0x18a)])({'name':_0x58ca2e(0x188),'description':'Search\x20NPM\x20Package','category':'search','execute':async({args:_0xe44650,reply:_0x36085d})=>{const _0xe69080=_0x58ca2e,_0x54435f={'ObvsD':'Please\x20provide\x20package\x20name','fmlcm':function(_0x343484,_0x103c18){return _0x343484(_0x103c18);}},_0x476189=_0xe44650[_0xe69080(0x1af)]('\x20');if(!_0x476189)return _0x36085d(_0x54435f[_0xe69080(0x18b)]);try{const _0x539a3c=await axios_1[_0xe69080(0x1c7)][_0xe69080(0x1ae)]('https://registry.npmjs.org/'+_0x476189),_0x2ef124=_0x539a3c['data'];await _0x36085d('📦\x20*NPM\x20Package*\x0a\x0aName:\x20'+_0x2ef124['name']+_0xe69080(0x1cc)+_0x2ef124['description']+_0xe69080(0x187)+_0x2ef124[_0xe69080(0x162)]['latest']+'\x0aLicense:\x20'+_0x2ef124[_0xe69080(0x1c9)]);}catch{await _0x54435f['fmlcm'](_0x36085d,_0xe69080(0x18e));}}}),(0x0,types_1[_0x58ca2e(0x18a)])({'name':_0x58ca2e(0x163),'description':'Define\x20a\x20word','category':'search','execute':async({args:_0x11b074,reply:_0x6fb626})=>{const _0xc06418=_0x58ca2e,_0x24c220={'fCnBV':function(_0x28763c,_0x569cac){return _0x28763c(_0x569cac);}},_0x390195=_0x11b074[0x0];if(!_0x390195)return _0x24c220[_0xc06418(0x1bc)](_0x6fb626,_0xc06418(0x1a8));try{const _0x2c0205=await axios_1[_0xc06418(0x1c7)][_0xc06418(0x1ae)]('https://api.dictionaryapi.dev/api/v2/entries/en/'+_0x390195),_0x352d04=_0x2c0205[_0xc06418(0x175)][0x0][_0xc06418(0x1d0)][0x0][_0xc06418(0x16f)][0x0][_0xc06418(0x1a4)];await _0x6fb626(_0xc06418(0x199)+_0x390195+'*\x0a\x0a'+_0x352d04);}catch{await _0x6fb626('❌\x20Definition\x20not\x20found');}}}),(0x0,types_1['registerCommand'])({'name':'movie','description':'Get\x20movie\x20information','category':_0x58ca2e(0x186),'usage':_0x58ca2e(0x18d),'execute':async({args:_0x1d3ce2,reply:_0x4aced0,sock:_0xe8d76d,msg:_0x1a496c})=>{const _0x567ec9=_0x58ca2e,_0x1a9707={'sRbEG':function(_0x5bd5f4,_0x578fe1){return _0x5bd5f4(_0x578fe1);},'UWqYq':_0x567ec9(0x193),'yCGxH':function(_0x272895,_0x57b977){return _0x272895(_0x57b977);},'ymjJn':'True'},_0x35b0cc=_0x1d3ce2[_0x567ec9(0x1af)]('\x20')[_0x567ec9(0x16a)]();if(!_0x35b0cc)return _0x4aced0(_0x567ec9(0x167));try{await _0x1a9707[_0x567ec9(0x19a)](_0x4aced0,'🎬\x20Searching\x20for\x20movie...');const _0xe09e9b=_0x1a9707[_0x567ec9(0x1c5)],_0x59de66=await axios_1[_0x567ec9(0x1c7)][_0x567ec9(0x1ae)](_0x567ec9(0x1b5)+_0xe09e9b+_0x567ec9(0x196)+_0x1a9707['yCGxH'](encodeURIComponent,_0x35b0cc),{'timeout':0x3a98});if(_0x59de66[_0x567ec9(0x175)]&&_0x59de66['data'][_0x567ec9(0x182)]===_0x1a9707[_0x567ec9(0x178)]){const _0x50da32=_0x59de66[_0x567ec9(0x175)];let _0xd0653a=_0x567ec9(0x194)+_0x50da32[_0x567ec9(0x15f)]+_0x567ec9(0x1d2)+_0x50da32[_0x567ec9(0x195)]+')\x0a\x0a';if(_0x50da32['Rated'])_0xd0653a+=_0x567ec9(0x17d)+_0x50da32[_0x567ec9(0x184)]+'\x0a';if(_0x50da32['imdbRating'])_0xd0653a+=_0x567ec9(0x1cb)+_0x50da32['imdbRating']+_0x567ec9(0x192);if(_0x50da32['Genre'])_0xd0653a+=_0x567ec9(0x17a)+_0x50da32['Genre']+'\x0a';if(_0x50da32[_0x567ec9(0x181)])_0xd0653a+=_0x567ec9(0x1be)+_0x50da32[_0x567ec9(0x181)]+'\x0a';if(_0x50da32[_0x567ec9(0x189)])_0xd0653a+='🎬\x20*Cast:*\x20'+_0x50da32[_0x567ec9(0x189)]+'\x0a';if(_0x50da32[_0x567ec9(0x1c1)])_0xd0653a+=_0x567ec9(0x1ad)+_0x50da32['Runtime']+'\x0a';_0xd0653a+=_0x567ec9(0x166)+_0x50da32[_0x567ec9(0x17c)];_0x50da32[_0x567ec9(0x1c3)]&&_0x50da32['Poster']!=='N/A'?await _0xe8d76d[_0x567ec9(0x1a1)](_0x1a496c[_0x567ec9(0x1b0)]['remoteJid'],{'image':{'url':_0x50da32['Poster']},'caption':_0xd0653a}):await _0x4aced0(_0xd0653a);return;}return _0x1a9707[_0x567ec9(0x19a)](_0x4aced0,_0x567ec9(0x169));}catch(_0x2a82e6){return _0x4aced0(_0x567ec9(0x19b));}}});function _0xd446(){const _0x236c1c=['CgfNzq','lM1VDMLLidXTB3zPzsbUyw1LpG','4P2mifbHy2THz2uGBM90igzVDw5K','DgvTCf9d','BMvHCMvZDf9HCMvH','igTTl2Gk','lZeWcG','DhjPBg9NEq','8j+oRcaQ','wwvHCG','jNq9','Ahr0Chm6lY9LBI53AwTPCgvKAweUB3jNl2fWAs9Yzxn0x3yXl3bHz2uVC3vTBwfYEs8','cKXPBMS6ia','8j+tLIaQrgvMAw5PDgLVBIbVzIa','C1jIruC','4P2miezHAwXLzcb0BYbMzxrJAcbTB3zPzsbPBMzVlIbuCNKGywDHAw4GBgf0zxiU','BwDWC1K','nM5uENLsEq','8j+mOE+4JYaQvgvTCgvYyxr1CMu6kIa','kGOk','DMLZAwjPBgL0Eq','C2vUze1LC3nHz2u','mtGWmdeXmKnjvxDfEa','4P2mie5VDcbMB3vUzcbVBIbxAwTPCgvKAwe','zgvMAw5PDgLVBG','rMvLBhnmAwTLqW','WRbgkqO','Ahr0Chm6lY9HCgKUz2L0AhvIlMnVBs91C2vYCY8','ugXLyxnLihbYB3zPzguGysb3B3jK','DgvTCf9g','cKzVBgXVD2vYCZOG','BMfTzq','ugXLyxnLihbYB3zPzguGC2vHCMnOihrLCM0','4O+X77IpicPeDxjHDgLVBJOQia','z2v0','AM9PBG','A2v5','yMLV','y29UDgvUDf91CMXZ','weXkqwS','r2v0ifDLyxrOzxiGsw5MBW','Ahr0CdOVl3D3DY5VBwrIyxbPlMnVBs8/yxbPA2v5pq','D2LRAq','zxH0CMfJDa','8j+zHcb3CM9UzYdWN5MfihvZywDLigv4yw1WBguGD2vHDgHLCIboywLYB2jP','z29Vz2XL','nti4nJC4suPruvbU','nZC2nZCZoe9xtuDADG','zKnUqLy','z2L0AhvI','8j+oPsaQrgLYzwn0B3i6kIa','ugXLyxnLihbYB3zPzguGDxnLCM5HBwu','reLvrgC','uNvUDgLTzq','mteXndrKAgfoDwu','ug9ZDgvY','BfnNCxK','vvDXwxe','D2LUzhnWzwvKs21WAa','zgvMyxvSDa','mtC0mtK2z21VquPY','BgLJzw5Zzq','mtj5CvvKvhK','4Q2qicPjturcoIOG','cKrLC2m6ia','yxjLyu5HBwu','8j+mHsaQrMvLBhmGtgLRztOQia','8j+tMIaQia','BwvHBMLUz3m','u2vHCMnOieDVB2DSzq','kIaO','8j+rGE+4JYaQvMLZAwjPBgL0EtOQia','vgL0Bgu','DMfSDwu','x19LC01VzhvSzq','zgLZDc10ywDZ','zgvMAw5L','iaOk8j+uLYa','8j+sQcaQv2LUzdOQia','cVcFK5yGkLbSB3q6kGO','4P2mifbYB3zPzguGysbTB3zPzsbUyw1LiqOkvxnHz2u6ic5TB3zPzsbPBMnLChrPB24','lI90ExbLCW','4P2mie1VDMLLig5VDcbMB3vUzc4Gvhj5igjLAw5Nig1VCMuGC3bLy2LMAwmU','DhjPBq','isdIMidVUi8','AhrTBf91CMW','vhPbwwq','zLvwz1a','zgvMAw5PDgLVBNm','WRbdicG','ssbJyw4NDcbMzxrJAcbYzwfSigXPDMuGD2vHDgHLCIbYAwDODcbUB3CSigj1DcbPBwfNAw5LigL0j3mGC3vUBNKGAw4G','x19PBxbVCNrezwzHDwX0','igTTcG','mZm2otjQvhvmvxC','zgf0yq','AhvTAwrPDhK','DgL0Bgu','Ew1QsM4','Ahr0Chm6lY93DhrYlMLUlW','8j+oRsaQr2vUCMu6kIa','u2vHCMnOifDPA2LWzwrPyq','ugXVDa','8j+uNIaQuMf0zwq6kIa','mJa5nZiZnvnmqKXKvq','4P2mifvZzxiGBM90igzVDw5K','zgvZA3rVCa','rgLYzwn0B3i','uMvZCg9UC2u','8j+uJsbhB29NBguGu2vHCMnOifjLC3vSDcbMB3i6ia','uMf0zwq','cKjPBZOG','C2vHCMnO','cLzLCNnPB246ia','BNbT','qwn0B3jZ','CMvNAxn0zxjdB21Tyw5K','t2j2C0q'];_0xd446=function(){return _0x236c1c;};return _0xd446();}
|
|
@@ -1,303 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const types_1 = require("./types");
|
|
7
|
-
const axios_1 = __importDefault(require("axios"));
|
|
8
|
-
// ═══════════════════════════════════════════════════════════════
|
|
9
|
-
// TIKTOK DOWNLOADER (Charles API)
|
|
10
|
-
// ═══════════════════════════════════════════════════════════════
|
|
11
|
-
(0, types_1.registerCommand)({
|
|
12
|
-
name: "tiktok",
|
|
13
|
-
aliases: ["tiktokdl", "tt", "ttvid"],
|
|
14
|
-
description: "Download TikTok videos without watermark",
|
|
15
|
-
category: "downloader",
|
|
16
|
-
usage: ".tiktok <tiktok url>",
|
|
17
|
-
execute: async ({ args, reply, sock, msg }) => {
|
|
18
|
-
const url = args[0]?.trim();
|
|
19
|
-
const jid = msg.key.remoteJid;
|
|
20
|
-
if (!url)
|
|
21
|
-
return reply("❌ Provide a TikTok URL");
|
|
22
|
-
if (!url.match(/tiktok\.com|vm\.tiktok|vt\.tiktok/i))
|
|
23
|
-
return reply("❌ Invalid TikTok URL");
|
|
24
|
-
try {
|
|
25
|
-
await sock.sendMessage(jid, { react: { text: "📱", key: msg.key } }).catch(() => { });
|
|
26
|
-
await reply("⬇️ *Downloading TikTok...*");
|
|
27
|
-
const res = await axios_1.default.get(`https://charlesapi.onrender.com/api/download/tiktok?url=${encodeURIComponent(url)}`, {
|
|
28
|
-
timeout: 60000
|
|
29
|
-
});
|
|
30
|
-
if (!res.data?.success || !res.data?.result)
|
|
31
|
-
return reply("❌ Failed to fetch video");
|
|
32
|
-
const result = res.data.result;
|
|
33
|
-
const videoUrl = result.videoUrl || result.play;
|
|
34
|
-
if (!videoUrl)
|
|
35
|
-
return reply("❌ No video found");
|
|
36
|
-
await sock.sendMessage(jid, {
|
|
37
|
-
video: { url: videoUrl },
|
|
38
|
-
caption: `📱 *TikTok Download*\n\n👤 Author: ${result.username || result.author?.nickname || "Unknown"}\n📝 ${result.title || result.desc || "No description"}`,
|
|
39
|
-
mimetype: "video/mp4"
|
|
40
|
-
}, { quoted: msg });
|
|
41
|
-
await sock.sendMessage(jid, { react: { text: "✅", key: msg.key } }).catch(() => { });
|
|
42
|
-
}
|
|
43
|
-
catch (e) {
|
|
44
|
-
console.error('[TIKTOK] Error:', e);
|
|
45
|
-
await reply("❌ " + (e.message || "Download failed"));
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
// ═══════════════════════════════════════════════════════════════
|
|
50
|
-
// FACEBOOK DOWNLOADER (Charles API)
|
|
51
|
-
// ═══════════════════════════════════════════════════════════════
|
|
52
|
-
(0, types_1.registerCommand)({
|
|
53
|
-
name: "facebook",
|
|
54
|
-
aliases: ["fb", "fbdl", "facebookdl"],
|
|
55
|
-
description: "Download Facebook videos",
|
|
56
|
-
category: "downloader",
|
|
57
|
-
usage: ".facebook <facebook url>",
|
|
58
|
-
execute: async ({ args, reply, sock, msg }) => {
|
|
59
|
-
const url = args[0]?.trim();
|
|
60
|
-
const jid = msg.key.remoteJid;
|
|
61
|
-
if (!url || (!url.includes('facebook.com') && !url.includes('fb.watch'))) {
|
|
62
|
-
return reply("❌ Provide a valid Facebook URL");
|
|
63
|
-
}
|
|
64
|
-
try {
|
|
65
|
-
await sock.sendMessage(jid, { react: { text: "📘", key: msg.key } }).catch(() => { });
|
|
66
|
-
await reply("⬇️ *Downloading Facebook video...*");
|
|
67
|
-
const res = await axios_1.default.get(`https://charlesapi.onrender.com/api/download/facebook?url=${encodeURIComponent(url)}`, {
|
|
68
|
-
timeout: 60000
|
|
69
|
-
});
|
|
70
|
-
if (!res.data?.success || !res.data?.result)
|
|
71
|
-
return reply("❌ Failed to fetch video");
|
|
72
|
-
const result = res.data.result;
|
|
73
|
-
// Prioritize HD, then SD, then generic URL
|
|
74
|
-
const videoUrl = result.videos?.hd?.url || result.videos?.sd?.url || result.hd || result.sd;
|
|
75
|
-
if (!videoUrl)
|
|
76
|
-
return reply("❌ No downloadable video found");
|
|
77
|
-
await sock.sendMessage(jid, {
|
|
78
|
-
video: { url: videoUrl },
|
|
79
|
-
caption: `📘 *Facebook Video*\n\n📝 ${result.title || "Downloaded Video"}`,
|
|
80
|
-
mimetype: "video/mp4"
|
|
81
|
-
}, { quoted: msg });
|
|
82
|
-
await sock.sendMessage(jid, { react: { text: "✅", key: msg.key } }).catch(() => { });
|
|
83
|
-
}
|
|
84
|
-
catch (e) {
|
|
85
|
-
console.error('[FACEBOOK] Error:', e);
|
|
86
|
-
await reply("❌ " + (e.message || "Download failed"));
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
// ═══════════════════════════════════════════════════════════════
|
|
91
|
-
// INSTAGRAM DOWNLOADER (Charles API)
|
|
92
|
-
// ═══════════════════════════════════════════════════════════════
|
|
93
|
-
(0, types_1.registerCommand)({
|
|
94
|
-
name: "instagram",
|
|
95
|
-
aliases: ["ig", "insta", "igdl"],
|
|
96
|
-
description: "Download Instagram Reels/Videos",
|
|
97
|
-
category: "downloader",
|
|
98
|
-
usage: ".instagram <instagram url>",
|
|
99
|
-
execute: async ({ args, reply, sock, msg }) => {
|
|
100
|
-
const url = args[0]?.trim();
|
|
101
|
-
const jid = msg.key.remoteJid;
|
|
102
|
-
if (!url || !url.includes('instagram.com')) {
|
|
103
|
-
return reply("❌ Provide a valid Instagram URL");
|
|
104
|
-
}
|
|
105
|
-
try {
|
|
106
|
-
await sock.sendMessage(jid, { react: { text: "📸", key: msg.key } }).catch(() => { });
|
|
107
|
-
await reply("⬇️ *Downloading Instagram content...*");
|
|
108
|
-
const res = await axios_1.default.get(`https://charlesapi.onrender.com/api/download/instagram?url=${encodeURIComponent(url)}`, {
|
|
109
|
-
timeout: 60000
|
|
110
|
-
});
|
|
111
|
-
if (!res.data?.success || !res.data?.result)
|
|
112
|
-
return reply("❌ Failed to fetch content");
|
|
113
|
-
const result = res.data.result;
|
|
114
|
-
const dlUrl = result.download_url || result.url;
|
|
115
|
-
if (!dlUrl)
|
|
116
|
-
return reply("❌ No media found");
|
|
117
|
-
// Detect if video or image based on URL or response (Charles API usually returns video for reels)
|
|
118
|
-
// We'll try sending as document if MIME type is ambiguous, but usually mp4 for reels
|
|
119
|
-
// Or simpler: send as video if it looks like a video URL, else image.
|
|
120
|
-
// For now, assume video for Reels/Posts if not specified.
|
|
121
|
-
const isVideo = dlUrl.includes('.mp4') || dlUrl.includes('googlevideo') || !dlUrl.includes('.jpg');
|
|
122
|
-
if (isVideo) {
|
|
123
|
-
await sock.sendMessage(jid, {
|
|
124
|
-
video: { url: dlUrl },
|
|
125
|
-
caption: `📸 *Instagram Download*`,
|
|
126
|
-
mimetype: "video/mp4"
|
|
127
|
-
}, { quoted: msg });
|
|
128
|
-
}
|
|
129
|
-
else {
|
|
130
|
-
await sock.sendMessage(jid, {
|
|
131
|
-
image: { url: dlUrl },
|
|
132
|
-
caption: `📸 *Instagram Download*`
|
|
133
|
-
}, { quoted: msg });
|
|
134
|
-
}
|
|
135
|
-
await sock.sendMessage(jid, { react: { text: "✅", key: msg.key } }).catch(() => { });
|
|
136
|
-
}
|
|
137
|
-
catch (e) {
|
|
138
|
-
console.error('[INSTAGRAM] Error:', e);
|
|
139
|
-
await reply("❌ " + (e.message || "Download failed"));
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
});
|
|
143
|
-
// ═══════════════════════════════════════════════════════════════
|
|
144
|
-
// TWITTER/X DOWNLOADER (Charles API)
|
|
145
|
-
// ═══════════════════════════════════════════════════════════════
|
|
146
|
-
(0, types_1.registerCommand)({
|
|
147
|
-
name: "twitter",
|
|
148
|
-
aliases: ["x", "tw", "twdl"],
|
|
149
|
-
description: "Download Twitter/X Videos",
|
|
150
|
-
category: "downloader",
|
|
151
|
-
usage: ".twitter <twitter url>",
|
|
152
|
-
execute: async ({ args, reply, sock, msg }) => {
|
|
153
|
-
const url = args[0]?.trim();
|
|
154
|
-
const jid = msg.key.remoteJid;
|
|
155
|
-
if (!url || (!url.includes('twitter.com') && !url.includes('x.com'))) {
|
|
156
|
-
return reply("❌ Provide a valid Twitter/X URL");
|
|
157
|
-
}
|
|
158
|
-
try {
|
|
159
|
-
await sock.sendMessage(jid, { react: { text: "🐦", key: msg.key } }).catch(() => { });
|
|
160
|
-
await reply("⬇️ *Downloading Twitter video...*");
|
|
161
|
-
const res = await axios_1.default.get(`https://charlesapi.onrender.com/api/download/twitter?url=${encodeURIComponent(url)}`, {
|
|
162
|
-
timeout: 60000
|
|
163
|
-
});
|
|
164
|
-
if (!res.data?.success || !res.data?.result)
|
|
165
|
-
return reply("❌ Failed to fetch video");
|
|
166
|
-
const result = res.data.result;
|
|
167
|
-
// Charles API for Twitter structure check based on success/result keys
|
|
168
|
-
// If complex JSON (like what we saw in other scrapers), we'd parse.
|
|
169
|
-
// Assuming simple structure like others: result.url or result.video_url
|
|
170
|
-
// If using the advanced scraper structure (chunks we saw earlier were complex), we simplify.
|
|
171
|
-
// Based on other endpoints:
|
|
172
|
-
const videoUrl = result.url || result.video_url || result.download_url;
|
|
173
|
-
if (!videoUrl) {
|
|
174
|
-
// Try finding nested
|
|
175
|
-
if (result.media && result.media.length > 0) {
|
|
176
|
-
// logic for media array
|
|
177
|
-
}
|
|
178
|
-
else {
|
|
179
|
-
return reply("❌ No downloadable video found");
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
await sock.sendMessage(jid, {
|
|
183
|
-
video: { url: videoUrl },
|
|
184
|
-
caption: `🐦 *Twitter/X Video*`,
|
|
185
|
-
mimetype: "video/mp4"
|
|
186
|
-
}, { quoted: msg });
|
|
187
|
-
await sock.sendMessage(jid, { react: { text: "✅", key: msg.key } }).catch(() => { });
|
|
188
|
-
}
|
|
189
|
-
catch (e) {
|
|
190
|
-
console.error('[TWITTER] Error:', e);
|
|
191
|
-
await reply("❌ " + (e.message || "Download failed"));
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
});
|
|
195
|
-
// ═══════════════════════════════════════════════════════════════
|
|
196
|
-
// SPOTIFY DOWNLOAD - api.siputzx.my.id (Keeping as is, works fine)
|
|
197
|
-
// ═══════════════════════════════════════════════════════════════
|
|
198
|
-
(0, types_1.registerCommand)({
|
|
199
|
-
name: "spotify",
|
|
200
|
-
aliases: ["spotifydl", "spdl", "sp"],
|
|
201
|
-
description: "Download songs from Spotify",
|
|
202
|
-
category: "downloader",
|
|
203
|
-
usage: ".spotify <spotify track url>",
|
|
204
|
-
execute: async ({ args, reply, sock, msg }) => {
|
|
205
|
-
const url = args[0]?.trim();
|
|
206
|
-
const jid = msg.key.remoteJid;
|
|
207
|
-
if (!url)
|
|
208
|
-
return reply("❌ Provide a Spotify track URL");
|
|
209
|
-
if (!url.match(/open\.spotify\.com\/track/i))
|
|
210
|
-
return reply("❌ Invalid Spotify URL");
|
|
211
|
-
try {
|
|
212
|
-
await sock.sendMessage(jid, { react: { text: "🎵", key: msg.key } }).catch(() => { });
|
|
213
|
-
const res = await axios_1.default.get(`https://api.siputzx.my.id/api/d/spotifyv2?url=${encodeURIComponent(url)}`, { timeout: 60000 });
|
|
214
|
-
if (!res.data?.status || !res.data?.data?.mp3DownloadLink) {
|
|
215
|
-
return reply("❌ Failed to fetch song");
|
|
216
|
-
}
|
|
217
|
-
const { songTitle, artist, coverImage, mp3DownloadLink } = res.data.data;
|
|
218
|
-
await sock.sendMessage(jid, {
|
|
219
|
-
audio: { url: mp3DownloadLink },
|
|
220
|
-
mimetype: "audio/mpeg",
|
|
221
|
-
fileName: `${songTitle} - ${artist}.mp3`,
|
|
222
|
-
contextInfo: {
|
|
223
|
-
externalAdReply: {
|
|
224
|
-
title: songTitle, body: artist,
|
|
225
|
-
thumbnailUrl: coverImage, mediaType: 1
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
}, { quoted: msg });
|
|
229
|
-
await sock.sendMessage(jid, { react: { text: "✅", key: msg.key } }).catch(() => { });
|
|
230
|
-
}
|
|
231
|
-
catch (e) {
|
|
232
|
-
await reply("❌ " + (e.message || "Download failed"));
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
});
|
|
236
|
-
// ═══════════════════════════════════════════════════════════════
|
|
237
|
-
// TIKTOK SEARCH (tikwm.com API) — Search by keyword, send 5 videos
|
|
238
|
-
// Adapted from: https://github.com/BrunoSobrino/TheMystic-Bot-MD
|
|
239
|
-
// ═══════════════════════════════════════════════════════════════
|
|
240
|
-
(0, types_1.registerCommand)({
|
|
241
|
-
name: "tiktok-search",
|
|
242
|
-
aliases: ["tiktoksearch", "ttsearch", "stt"],
|
|
243
|
-
description: "Search TikTok videos by keyword",
|
|
244
|
-
category: "downloader",
|
|
245
|
-
usage: ".tiktok-search <query>",
|
|
246
|
-
execute: async ({ args, reply, sock, msg }) => {
|
|
247
|
-
const query = args.join(" ").trim();
|
|
248
|
-
const jid = msg.key.remoteJid;
|
|
249
|
-
if (!query)
|
|
250
|
-
return reply("❗ What do you want to search on TikTok?\n\n_Usage: .tiktok-search <query>_");
|
|
251
|
-
try {
|
|
252
|
-
await sock.sendMessage(jid, { react: { text: "🔍", key: msg.key } }).catch(() => { });
|
|
253
|
-
await reply(`🔍 *Searching TikTok for:* _${query}_...`);
|
|
254
|
-
console.log(`[TIKTOK-SEARCH] Searching for: "${query}"`);
|
|
255
|
-
const headers = {
|
|
256
|
-
"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
|
|
257
|
-
Cookie: "current_language=en",
|
|
258
|
-
"User-Agent": "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Mobile Safari/537.36",
|
|
259
|
-
};
|
|
260
|
-
const res = await axios_1.default.post("https://tikwm.com/api/feed/search", new URLSearchParams({ keywords: query, count: "10", cursor: "0", HD: "1" }), { headers, timeout: 30000 });
|
|
261
|
-
const videos = res.data?.data?.videos;
|
|
262
|
-
if (!videos || videos.length === 0) {
|
|
263
|
-
console.log("[TIKTOK-SEARCH] No videos found");
|
|
264
|
-
return reply("❌ No videos found for that search.");
|
|
265
|
-
}
|
|
266
|
-
console.log(`[TIKTOK-SEARCH] API returned ${videos.length} videos`);
|
|
267
|
-
// Shuffle and pick up to 5
|
|
268
|
-
for (let i = videos.length - 1; i > 0; i--) {
|
|
269
|
-
const j = Math.floor(Math.random() * (i + 1));
|
|
270
|
-
[videos[i], videos[j]] = [videos[j], videos[i]];
|
|
271
|
-
}
|
|
272
|
-
const selected = videos.slice(0, 5);
|
|
273
|
-
let sent = 0;
|
|
274
|
-
for (const video of selected) {
|
|
275
|
-
const videoUrl = video.play;
|
|
276
|
-
if (!videoUrl)
|
|
277
|
-
continue;
|
|
278
|
-
try {
|
|
279
|
-
console.log(`[TIKTOK-SEARCH] Sending video ${sent + 1}/${selected.length}: ${video.title?.substring(0, 50) || "untitled"}`);
|
|
280
|
-
await sock.sendMessage(jid, {
|
|
281
|
-
video: { url: videoUrl },
|
|
282
|
-
caption: `📱 *TikTok Search*\n\n📝 ${video.title || "No description"}`,
|
|
283
|
-
mimetype: "video/mp4",
|
|
284
|
-
}, { quoted: msg });
|
|
285
|
-
sent++;
|
|
286
|
-
// Small delay between sends to avoid rate-limiting
|
|
287
|
-
if (sent < selected.length)
|
|
288
|
-
await new Promise(r => setTimeout(r, 1500));
|
|
289
|
-
}
|
|
290
|
-
catch (dlErr) {
|
|
291
|
-
console.error(`[TIKTOK-SEARCH] Failed to send video ${sent + 1}:`, dlErr.message);
|
|
292
|
-
}
|
|
293
|
-
}
|
|
294
|
-
console.log(`[TIKTOK-SEARCH] ✅ Done! Sent ${sent}/${selected.length} videos`);
|
|
295
|
-
await sock.sendMessage(jid, { react: { text: "✅", key: msg.key } }).catch(() => { });
|
|
296
|
-
}
|
|
297
|
-
catch (e) {
|
|
298
|
-
console.error("[TIKTOK-SEARCH] Error:", e.message || e);
|
|
299
|
-
await reply("❌ " + (e.message || "TikTok search failed"));
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
});
|
|
303
|
-
console.log("[PLUGINS] ✅ Social downloaders loaded (Charles API Updated)");
|
|
1
|
+
'use strict';const _0x55638e=_0x1cbe;(function(_0x925c1e,_0x48025d){const _0x5ae8bc=_0x1cbe,_0x532b80=_0x925c1e();while(!![]){try{const _0x35e9bf=-parseInt(_0x5ae8bc(0x85))/0x1+parseInt(_0x5ae8bc(0x86))/0x2*(-parseInt(_0x5ae8bc(0x96))/0x3)+parseInt(_0x5ae8bc(0xeb))/0x4+-parseInt(_0x5ae8bc(0xab))/0x5*(parseInt(_0x5ae8bc(0xf5))/0x6)+parseInt(_0x5ae8bc(0xa8))/0x7*(parseInt(_0x5ae8bc(0xba))/0x8)+parseInt(_0x5ae8bc(0xb9))/0x9+-parseInt(_0x5ae8bc(0xcb))/0xa;if(_0x35e9bf===_0x48025d)break;else _0x532b80['push'](_0x532b80['shift']());}catch(_0x7f3bfe){_0x532b80['push'](_0x532b80['shift']());}}}(_0x24b4,0xa5567));var __importDefault=this&&this[_0x55638e(0xa0)]||function(_0x14c0ed){const _0x46cc0f=_0x55638e;return _0x14c0ed&&_0x14c0ed[_0x46cc0f(0x81)]?_0x14c0ed:{'default':_0x14c0ed};};Object[_0x55638e(0xb3)](exports,_0x55638e(0x81),{'value':!![]});function _0x24b4(){const _0xb88f7=['w0Lou1rbr1jbtv0GrxjYB3i6','4P2mifbYB3zPzguGysb2ywXPzcbjBNn0ywDYyw0Gvvjm','4QYh77IpicPeB3DUBg9HzgLUzYbuD2L0DgvYihzPzgvVlI4UkG','w1rjs1rpsY1trufsq0HDiokCHsbeB25Lisbtzw50ia','veLqEfC','Bg9N','x19LC01VzhvSzq','w1bmvuDjtLnDiokCHsbtB2nPywWGzg93BMXVywrLCNmGBg9HzgvKicHdAgfYBgvZiefqssbvCgrHDgvKkq','BxaZrg93BMXVywrmAw5R','s1b0uLi','ndmWotq1CgjIsLnP','mZu5ndm0zeH2tNbM','DLv6u3G','yxHPB3m','rg93BMXVywqGsw5ZDgfNCMfTifjLzwXZl1zPzgvVCW','DMLKzw9FDxjS','CMfUzg9T','DgLRDg9R','CgXHEq','Ec5JB20','BwvZC2fNzq','C2jYzNC','zgf0yq','DMvkt0m','lMPWzW','Ahr0Chm6lY9JAgfYBgvZyxbPlM9UCMvUzgvYlMnVBs9HCgKVzg93BMXVywqVAw5ZDgfNCMfTp3vYBd0','8j+tMcaQrMfJzwjVB2SGvMLKzw8QcGRWN5oDia','ovHczNvUtW','zMrtExa','rg93BMXVywqGrMfJzwjVB2SGDMLKzw9Z','rg93BMXVywqGC29Uz3mGzNjVBsbtCg90Awz5','4P2mieLUDMfSAwqGu3bVDgLMEsbvuKW','y2f0y2G','tw96AwXSys81lJaGkeXPBNv4oYbbBMrYB2LKideWoYblksbbChbSzvDLyKTPDc81mZCUmZyGkeTive1mlcbSAwTLieDLy2TVksbdAhjVBwuVmte2lJaUmc4Wie1VyMLSzsbtywzHCMKVntm3lJm2','u2vHCMnOifrPA1rVAYb2AwrLB3mGyNKGA2v5D29Yza','8j+qPIaQvhDPDhrLCI9yifzPzgvVkG','w1rjs1rpsY1trufsq0HDifnLBMrPBMCGDMLKzw8G','x19PBxbVCNrezwzHDwX0','y3vYCMvUDf9Syw5NDwfNzt1LBG','C3r0','yxbWBgLJyxrPB24VEc13D3CTzM9YBs11CMXLBMnVzgvKoYbJAgfYC2v0pvvurI04','r3nvyxC','DxjS','ELnVvxG','zgvZyW','mte0mvDSsLrlEa','DgL0Bgu','BMrMrfa','mtm2nJvTyvftAKy','wgXvt3K','C3rHDhvZ','DgLRDg9RzgW','DMLKzw8VBxa0','zg93BMXVywrLCG','Aw5JBhvKzxm','C3bVDgLMEq','zgvMAw5LuhjVCgvYDhK','zgvMyxvSDa','AM9PBG','vgLRvg9RihnLyxjJAcbMywLSzwq','tvroEwC','C253zvG','odm4odC3nfrbCu1OuW','ndu5nZzozMfUyK0','rg93BMXVywqGvhDPDhrLCI9yifzPzgvVCW','DhDKBa','zMXVB3i','DgLRDg9RlxnLyxjJAa','zxjYB3i','CMvZDwX0','Ahr0Chm6lY90AwT3Bs5JB20VyxbPl2zLzwqVC2vHCMnO','vKPerfa','DMLKzw9Z','ic0G','C3vIC3rYAw5N','tM8GzgvZy3jPChrPB24','4P2mifbYB3zPzguGysb2ywXPzcbgywnLyM9VAYbvuKW','Aw1RyMq','8j+tSsaQvgLRvg9RifnLyxjJAcOkcVcFK50G','lMLUC3rHz3jHBsa8Aw5ZDgfNCMfTihvYBd4','mZaYmJy5mgLetLbPBa','4P2mie5VihzPzgvVigzVDw5K','Ahr0Chm6lY9HCgKUC2LWDxr6Ec5TEs5Pzc9HCgKVzc9ZCg90Awz5DJi/DxjSpq','lNnWB3rPzNKGphnWB3rPzNKGDhjHy2SGDxjSpG','Bwf0y2G','lM1WmW','yxv0Ag9Y','ihzPzgvVCW','DvzAswW','v1P5Ew4','v3rOqLi','4P2mifbYB3zPzguGysbtCg90Awz5ihrYywnRifvsta','DMLKzw9vCMW','svbNu3a','4P2miezHAwXLzcb0BYbMzxrJAcb2AwrLBW','Ahr0Chm6lY9JAgfYBgvZyxbPlM9UCMvUzgvYlMnVBs9HCgKVzg93BMXVywqVDgLRDg9Rp3vYBd0','w1rjs1rps10GrxjYB3i6','C2XPy2u','zMfJzwjVB2S','uervEgi','4P2mie5VigrVD25SB2fKywjSzsb2AwrLBYbMB3vUza','lNr3Axr0zxiGphr3Axr0zxiGDxjSpG','w1rxsvrurvjDievYCM9YoG','C3bKBa','CMvNAxn0zxjdB21Tyw5K','D0Hhtfa','AfDhAuG','rg93BMXVywqGzMfPBgvK','A2v5','zKvHqxG','lMzHy2vIB29RidXMywnLyM9VAYb1CMW+','BgvUz3rO','mZu0nZKWnevhqMPlBG','lI90ExbLCW','Dhr2Awq','DgLRDg9RC2vHCMnO','zg93BMXVywrFDxjS','yxvKAw8VBxbLzW','lM1Wna','4P2mieLUDMfSAwqGvgLRvg9Rifvsta','q2LjvMy','DhDPDhrLCG','mtC3mgDoB1Pjsq','zMfJzwjVB2TKBa','rg93BMXVywqGvgLRvg9RihzPzgvVCYb3AxrOB3v0ihDHDgvYBwfYAW','BwvKAwe','z2v0','u2HcCLK','ANndAvi','rg93BMXVywrLzcbwAwrLBW','Aw5ZDgfNCMfTlMnVBq','CMvTB3rLsMLK','w1rjs1rpsY1trufsq0HDievYCM9YoG','w1rjs1rpsY1trufsq0HDiezHAwXLzcb0BYbZzw5KihzPzgvVia','qLL3r2m','v29Vze0','DhjPBq','8j+tUcaQsw5ZDgfNCMfTierVD25SB2fKkG','C3vJy2vZCW','AwDKBa','DhrZzwfYy2G','cVcFK50G','z29Vz2XLDMLKzw8','C2vUze1LC3nHz2u','w0zbq0vct09lxsbfCNjVCJO'];_0x24b4=function(){return _0xb88f7;};return _0x24b4();}const types_1=require(_0x55638e(0xec)),axios_1=__importDefault(require(_0x55638e(0x88)));function _0x1cbe(_0x165c6e,_0x41dc4a){_0x165c6e=_0x165c6e-0x78;const _0x24b43e=_0x24b4();let _0x1cbe4b=_0x24b43e[_0x165c6e];if(_0x1cbe['dxDPyv']===undefined){var _0x168261=function(_0x3e2d41){const _0x4db11b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2f2a12='',_0x130cad='';for(let _0x3364cc=0x0,_0x38e4de,_0xbfd485,_0x4e2cb0=0x0;_0xbfd485=_0x3e2d41['charAt'](_0x4e2cb0++);~_0xbfd485&&(_0x38e4de=_0x3364cc%0x4?_0x38e4de*0x40+_0xbfd485:_0xbfd485,_0x3364cc++%0x4)?_0x2f2a12+=String['fromCharCode'](0xff&_0x38e4de>>(-0x2*_0x3364cc&0x6)):0x0){_0xbfd485=_0x4db11b['indexOf'](_0xbfd485);}for(let _0x2aaa5e=0x0,_0x197fcf=_0x2f2a12['length'];_0x2aaa5e<_0x197fcf;_0x2aaa5e++){_0x130cad+='%'+('00'+_0x2f2a12['charCodeAt'](_0x2aaa5e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x130cad);};_0x1cbe['OvoLrj']=_0x168261,_0x1cbe['EufXdq']={},_0x1cbe['dxDPyv']=!![];}const _0x4d26b5=_0x24b43e[0x0],_0x3c5b7c=_0x165c6e+_0x4d26b5,_0x222a53=_0x1cbe['EufXdq'][_0x3c5b7c];return!_0x222a53?(_0x1cbe4b=_0x1cbe['OvoLrj'](_0x1cbe4b),_0x1cbe['EufXdq'][_0x3c5b7c]=_0x1cbe4b):_0x1cbe4b=_0x222a53,_0x1cbe4b;}(0x0,types_1[_0x55638e(0xe3)])({'name':_0x55638e(0x8c),'aliases':[_0x55638e(0xae),'tt',_0x55638e(0xed)],'description':_0x55638e(0xf7),'category':_0x55638e(0xb0),'usage':'.tiktok\x20<tiktok\x20url>','execute':async({args:_0x451944,reply:_0x32b09c,sock:_0x2c7a13,msg:_0x136287})=>{const _0x18bda6=_0x55638e,_0xd264f8={'uVZIl':function(_0x271827,_0x7d453c){return _0x271827(_0x7d453c);},'DPHMJ':'❌\x20Provide\x20a\x20TikTok\x20URL','MTNyg':_0x18bda6(0xf2),'TIPxW':'⬇️\x20*Downloading\x20TikTok...*','fEaAx':function(_0x60ceb6,_0x187788){return _0x60ceb6(_0x187788);},'IPgSp':'Unknown','TyUZf':_0x18bda6(0xc6),'PDUxb':_0x18bda6(0xe6)},_0x2fcc0a=_0x451944[0x0]?.['trim'](),_0x3a0c31=_0x136287[_0x18bda6(0xe7)]['remoteJid'];if(!_0x2fcc0a)return _0xd264f8[_0x18bda6(0xd3)](_0x32b09c,_0xd264f8['DPHMJ']);if(!_0x2fcc0a['match'](/tiktok\.com|vm\.tiktok|vt\.tiktok/i))return _0xd264f8[_0x18bda6(0xd3)](_0x32b09c,_0xd264f8[_0x18bda6(0xb7)]);try{await _0x2c7a13[_0x18bda6(0x79)](_0x3a0c31,{'react':{'text':'📱','key':_0x136287[_0x18bda6(0xe7)]}})[_0x18bda6(0x9b)](()=>{}),await _0xd264f8['uVZIl'](_0x32b09c,_0xd264f8[_0x18bda6(0x7f)]);const _0x1b4644=await axios_1[_0x18bda6(0xb4)]['get'](_0x18bda6(0xda)+_0xd264f8[_0x18bda6(0xe8)](encodeURIComponent,_0x2fcc0a),{'timeout':0xea60});if(!_0x1b4644[_0x18bda6(0x91)]?.['success']||!_0x1b4644[_0x18bda6(0x91)]?.[_0x18bda6(0xc0)])return _0xd264f8['uVZIl'](_0x32b09c,_0x18bda6(0xd9));const _0x5e0c1a=_0x1b4644[_0x18bda6(0x91)][_0x18bda6(0xc0)],_0x1015f2=_0x5e0c1a[_0x18bda6(0xd7)]||_0x5e0c1a[_0x18bda6(0x8d)];if(!_0x1015f2)return _0x32b09c(_0x18bda6(0xcc));await _0x2c7a13[_0x18bda6(0x79)](_0x3a0c31,{'video':{'url':_0x1015f2},'caption':'📱\x20*TikTok\x20Download*\x0a\x0a👤\x20Author:\x20'+(_0x5e0c1a['username']||_0x5e0c1a[_0x18bda6(0xd1)]?.['nickname']||_0xd264f8[_0x18bda6(0xd8)])+_0x18bda6(0x108)+(_0x5e0c1a[_0x18bda6(0xa9)]||_0x5e0c1a[_0x18bda6(0xa7)]||_0xd264f8['TyUZf']),'mimetype':'video/mp4'},{'quoted':_0x136287}),await _0x2c7a13['sendMessage'](_0x3a0c31,{'react':{'text':'✅','key':_0x136287['key']}})[_0x18bda6(0x9b)](()=>{});}catch(_0x4ada1e){console[_0x18bda6(0xbf)](_0x18bda6(0xdb),_0x4ada1e),await _0x32b09c('❌\x20'+(_0x4ada1e[_0x18bda6(0x8f)]||_0xd264f8[_0x18bda6(0xde)]));}}}),(0x0,types_1[_0x55638e(0xe3)])({'name':_0x55638e(0xdd),'aliases':['fb','fbdl',_0x55638e(0xf6)],'description':_0x55638e(0x98),'category':'downloader','usage':_0x55638e(0xe9),'execute':async({args:_0x3e4ddb,reply:_0x351266,sock:_0x5623ed,msg:_0x40a473})=>{const _0x35cbe4=_0x55638e,_0x38db57={'ZJhbV':function(_0x59cd86,_0x21ff5a){return _0x59cd86(_0x21ff5a);},'BYwGc':_0x35cbe4(0xc7),'ndfDP':'⬇️\x20*Downloading\x20Facebook\x20video...*','ydncm':_0x35cbe4(0xfc),'fdSyp':'video/mp4','GtSeX':_0x35cbe4(0x7a),'WoodM':function(_0xf17e44,_0x6e5d57){return _0xf17e44+_0x6e5d57;},'vWqQG':_0x35cbe4(0xe6)},_0x33e2e7=_0x3e4ddb[0x0]?.[_0x35cbe4(0x103)](),_0x4c2d86=_0x40a473[_0x35cbe4(0xe7)][_0x35cbe4(0xfe)];if(!_0x33e2e7||!_0x33e2e7[_0x35cbe4(0xb1)]('facebook.com')&&!_0x33e2e7[_0x35cbe4(0xb1)]('fb.watch'))return _0x38db57['ZJhbV'](_0x351266,_0x38db57[_0x35cbe4(0x101)]);try{await _0x5623ed['sendMessage'](_0x4c2d86,{'react':{'text':'📘','key':_0x40a473[_0x35cbe4(0xe7)]}})[_0x35cbe4(0x9b)](()=>{}),await _0x351266(_0x38db57[_0x35cbe4(0xaa)]);const _0x5c0c2a=await axios_1[_0x35cbe4(0xb4)]['get']('https://charlesapi.onrender.com/api/download/facebook?url='+encodeURIComponent(_0x33e2e7),{'timeout':0xea60});if(!_0x5c0c2a[_0x35cbe4(0x91)]?.[_0x35cbe4(0x105)]||!_0x5c0c2a['data']?.[_0x35cbe4(0xc0)])return _0x351266(_0x35cbe4(0xd9));const _0x4db99e=_0x5c0c2a[_0x35cbe4(0x91)][_0x35cbe4(0xc0)],_0x286bd0=_0x4db99e[_0x35cbe4(0xc3)]?.['hd']?.[_0x35cbe4(0xa5)]||_0x4db99e[_0x35cbe4(0xc3)]?.['sd']?.['url']||_0x4db99e['hd']||_0x4db99e['sd'];if(!_0x286bd0)return _0x351266(_0x35cbe4(0xdf));await _0x5623ed[_0x35cbe4(0x79)](_0x4c2d86,{'video':{'url':_0x286bd0},'caption':_0x35cbe4(0x95)+(_0x4db99e['title']||_0x38db57['ydncm']),'mimetype':_0x38db57[_0x35cbe4(0x97)]},{'quoted':_0x40a473}),await _0x5623ed[_0x35cbe4(0x79)](_0x4c2d86,{'react':{'text':'✅','key':_0x40a473[_0x35cbe4(0xe7)]}})[_0x35cbe4(0x9b)](()=>{});}catch(_0x37bfbe){console[_0x35cbe4(0xbf)](_0x38db57['GtSeX'],_0x37bfbe),await _0x351266(_0x38db57[_0x35cbe4(0x102)]('❌\x20',_0x37bfbe[_0x35cbe4(0x8f)]||_0x38db57['vWqQG']));}}}),(0x0,types_1['registerCommand'])({'name':'instagram','aliases':['ig','insta',_0x55638e(0x106)],'description':_0x55638e(0x89),'category':'downloader','usage':_0x55638e(0xca),'execute':async({args:_0x2cf1ef,reply:_0x565d86,sock:_0x2d30c6,msg:_0x497ee4})=>{const _0x241d5c=_0x55638e,_0x23cb73={'wHGLP':function(_0x4ca092,_0x499f92){return _0x4ca092(_0x499f92);},'CiIVf':function(_0x566104,_0x8f5d3c){return _0x566104(_0x8f5d3c);},'BVtRi':'video/mp4','vUzSx':function(_0x4fcf0c,_0x5074ff){return _0x4fcf0c(_0x5074ff);},'VJDDP':function(_0x4ddd79,_0xb8b552){return _0x4ddd79+_0xb8b552;}},_0x4bde49=_0x2cf1ef[0x0]?.[_0x241d5c(0x103)](),_0x1cc271=_0x497ee4[_0x241d5c(0xe7)][_0x241d5c(0xfe)];if(!_0x4bde49||!_0x4bde49[_0x241d5c(0xb1)](_0x241d5c(0xfd)))return _0x23cb73[_0x241d5c(0xe4)](_0x565d86,_0x241d5c(0x7c));try{await _0x2d30c6[_0x241d5c(0x79)](_0x1cc271,{'react':{'text':'📸','key':_0x497ee4[_0x241d5c(0xe7)]}})['catch'](()=>{}),await _0x565d86('⬇️\x20*Downloading\x20Instagram\x20content...*');const _0x17dd26=await axios_1[_0x241d5c(0xb4)]['get'](_0x241d5c(0x94)+encodeURIComponent(_0x4bde49),{'timeout':0xea60});if(!_0x17dd26[_0x241d5c(0x91)]?.[_0x241d5c(0x105)]||!_0x17dd26[_0x241d5c(0x91)]?.[_0x241d5c(0xc0)])return _0x23cb73[_0x241d5c(0xf3)](_0x565d86,'❌\x20Failed\x20to\x20fetch\x20content');const _0x5cfc90=_0x17dd26['data']['result'],_0x5915f1=_0x5cfc90['download_url']||_0x5cfc90['url'];if(!_0x5915f1)return _0x23cb73[_0x241d5c(0xe4)](_0x565d86,'❌\x20No\x20media\x20found');const _0x1f972e=_0x5915f1['includes'](_0x241d5c(0xf1))||_0x5915f1[_0x241d5c(0xb1)](_0x241d5c(0x78))||!_0x5915f1['includes'](_0x241d5c(0x93));_0x1f972e?await _0x2d30c6['sendMessage'](_0x1cc271,{'video':{'url':_0x5915f1},'caption':_0x241d5c(0x104),'mimetype':_0x23cb73['BVtRi']},{'quoted':_0x497ee4}):await _0x2d30c6[_0x241d5c(0x79)](_0x1cc271,{'image':{'url':_0x5915f1},'caption':_0x241d5c(0x104)},{'quoted':_0x497ee4}),await _0x2d30c6[_0x241d5c(0x79)](_0x1cc271,{'react':{'text':'✅','key':_0x497ee4['key']}})[_0x241d5c(0x9b)](()=>{});}catch(_0x4f4972){console[_0x241d5c(0xbf)](_0x241d5c(0x7b),_0x4f4972),await _0x23cb73[_0x241d5c(0x87)](_0x565d86,_0x23cb73[_0x241d5c(0xc2)]('❌\x20',_0x4f4972[_0x241d5c(0x8f)]||_0x241d5c(0xe6)));}}}),(0x0,types_1[_0x55638e(0xe3)])({'name':_0x55638e(0xf4),'aliases':['x','tw',_0x55638e(0xbc)],'description':_0x55638e(0xbb),'category':_0x55638e(0xb0),'usage':_0x55638e(0xe0),'execute':async({args:_0x3b0c50,reply:_0x3615f6,sock:_0x1b49e6,msg:_0x29c7c0})=>{const _0x137f9d=_0x55638e,_0x6430b8={'jsCiR':_0x137f9d(0x8e),'GsUaw':function(_0xb0cf,_0x21f846){return _0xb0cf(_0x21f846);},'KPtRR':'❌\x20Failed\x20to\x20fetch\x20video','ShBrY':function(_0x22606d,_0x1b9aff){return _0x22606d>_0x1b9aff;},'zSoUx':_0x137f9d(0xdf),'sbrfw':_0x137f9d(0xaf),'XlUOy':_0x137f9d(0xe1)},_0x2229a4=_0x3b0c50[0x0]?.[_0x137f9d(0x103)](),_0x37fb3c=_0x29c7c0[_0x137f9d(0xe7)][_0x137f9d(0xfe)];if(!_0x2229a4||!_0x2229a4[_0x137f9d(0xb1)]('twitter.com')&&!_0x2229a4[_0x137f9d(0xb1)](_0x6430b8[_0x137f9d(0xfb)]))return _0x3615f6('❌\x20Provide\x20a\x20valid\x20Twitter/X\x20URL');try{await _0x1b49e6[_0x137f9d(0x79)](_0x37fb3c,{'react':{'text':'🐦','key':_0x29c7c0['key']}})['catch'](()=>{}),await _0x6430b8[_0x137f9d(0xa4)](_0x3615f6,_0x137f9d(0x7d));const _0x4f4a7f=await axios_1[_0x137f9d(0xb4)]['get']('https://charlesapi.onrender.com/api/download/twitter?url='+_0x6430b8['GsUaw'](encodeURIComponent,_0x2229a4),{'timeout':0xea60});if(!_0x4f4a7f['data']?.[_0x137f9d(0x105)]||!_0x4f4a7f[_0x137f9d(0x91)]?.[_0x137f9d(0xc0)])return _0x3615f6(_0x6430b8[_0x137f9d(0x84)]);const _0x37a3c6=_0x4f4a7f[_0x137f9d(0x91)][_0x137f9d(0xc0)],_0x3aa206=_0x37a3c6['url']||_0x37a3c6[_0x137f9d(0x8a)]||_0x37a3c6[_0x137f9d(0xef)];if(!_0x3aa206){if(_0x37a3c6[_0x137f9d(0xf8)]&&_0x6430b8[_0x137f9d(0xfa)](_0x37a3c6['media']['length'],0x0)){}else return _0x3615f6(_0x6430b8[_0x137f9d(0xa6)]);}await _0x1b49e6[_0x137f9d(0x79)](_0x37fb3c,{'video':{'url':_0x3aa206},'caption':_0x137f9d(0x9e),'mimetype':_0x6430b8[_0x137f9d(0x90)]},{'quoted':_0x29c7c0}),await _0x1b49e6[_0x137f9d(0x79)](_0x37fb3c,{'react':{'text':'✅','key':_0x29c7c0[_0x137f9d(0xe7)]}})[_0x137f9d(0x9b)](()=>{});}catch(_0x5343d9){console[_0x137f9d(0xbf)](_0x6430b8[_0x137f9d(0xac)],_0x5343d9),await _0x6430b8[_0x137f9d(0xa4)](_0x3615f6,'❌\x20'+(_0x5343d9[_0x137f9d(0x8f)]||_0x137f9d(0xe6)));}}}),(0x0,types_1[_0x55638e(0xe3)])({'name':_0x55638e(0xb2),'aliases':['spotifydl',_0x55638e(0xe2),'sp'],'description':_0x55638e(0x99),'category':_0x55638e(0xb0),'usage':_0x55638e(0xce),'execute':async({args:_0x3499e1,reply:_0x368a50,sock:_0x5b8b0a,msg:_0x1ad573})=>{const _0x31f6b6=_0x55638e,_0x4a6da2={'NpDES':_0x31f6b6(0xd6),'veJOC':function(_0x49745f,_0x269b94){return _0x49745f(_0x269b94);},'AEALV':function(_0x514138,_0x1405b8){return _0x514138+_0x1405b8;}},_0x30af21=_0x3499e1[0x0]?.[_0x31f6b6(0x103)](),_0x469543=_0x1ad573[_0x31f6b6(0xe7)][_0x31f6b6(0xfe)];if(!_0x30af21)return _0x368a50(_0x4a6da2['NpDES']);if(!_0x30af21[_0x31f6b6(0xcf)](/open\.spotify\.com\/track/i))return _0x368a50(_0x31f6b6(0x9a));try{await _0x5b8b0a['sendMessage'](_0x469543,{'react':{'text':'🎵','key':_0x1ad573[_0x31f6b6(0xe7)]}})['catch'](()=>{});const _0x17d518=await axios_1[_0x31f6b6(0xb4)][_0x31f6b6(0xf9)](_0x31f6b6(0xcd)+encodeURIComponent(_0x30af21),{'timeout':0xea60});if(!_0x17d518['data']?.[_0x31f6b6(0xad)]||!_0x17d518['data']?.[_0x31f6b6(0x91)]?.[_0x31f6b6(0x83)])return _0x4a6da2[_0x31f6b6(0x92)](_0x368a50,'❌\x20Failed\x20to\x20fetch\x20song');const {songTitle:_0x34f0fb,artist:_0x23c99b,coverImage:_0x5c1268,mp3DownloadLink:_0x16a12b}=_0x17d518[_0x31f6b6(0x91)]['data'];await _0x5b8b0a['sendMessage'](_0x469543,{'audio':{'url':_0x16a12b},'mimetype':_0x31f6b6(0xf0),'fileName':_0x34f0fb+_0x31f6b6(0xc4)+_0x23c99b+_0x31f6b6(0xd0),'contextInfo':{'externalAdReply':{'title':_0x34f0fb,'body':_0x23c99b,'thumbnailUrl':_0x5c1268,'mediaType':0x1}}},{'quoted':_0x1ad573}),await _0x5b8b0a[_0x31f6b6(0x79)](_0x469543,{'react':{'text':'✅','key':_0x1ad573['key']}})['catch'](()=>{});}catch(_0x4e92b7){await _0x368a50(_0x4a6da2['AEALV']('❌\x20',_0x4e92b7['message']||_0x31f6b6(0xe6)));}}}),(0x0,types_1['registerCommand'])({'name':_0x55638e(0xbe),'aliases':[_0x55638e(0xee),_0x55638e(0x107),_0x55638e(0xa2)],'description':_0x55638e(0x9d),'category':_0x55638e(0xb0),'usage':'.tiktok-search\x20<query>','execute':async({args:_0x82f1f4,reply:_0x34205a,sock:_0x4b92cc,msg:_0x26e196})=>{const _0x4a9120=_0x55638e,_0x3ff474={'WZyyn':function(_0x5f40e0,_0x1b6f97){return _0x5f40e0(_0x1b6f97);},'imkbd':_0x4a9120(0xa3),'hWGiH':function(_0x35b5c1,_0x1f7434){return _0x35b5c1===_0x1f7434;},'snweX':'[TIKTOK-SEARCH]\x20No\x20videos\x20found','tVFcb':function(_0x578a96,_0x5e84a6){return _0x578a96*_0x5e84a6;},'WthBR':function(_0x5e4abc,_0x5ee8d7){return _0x5e4abc+_0x5ee8d7;},'LMluz':function(_0xd9c24e,_0x11fbe){return _0xd9c24e+_0x11fbe;},'tWIqR':_0x4a9120(0xb6)},_0xbe08ab=_0x82f1f4[_0x4a9120(0xb5)]('\x20')[_0x4a9120(0x103)](),_0x45ed4a=_0x26e196[_0x4a9120(0xe7)][_0x4a9120(0xfe)];if(!_0xbe08ab)return _0x34205a('❗\x20What\x20do\x20you\x20want\x20to\x20search\x20on\x20TikTok?\x0a\x0a_Usage:\x20.tiktok-search\x20<query>_');try{await _0x4b92cc[_0x4a9120(0x79)](_0x45ed4a,{'react':{'text':'🔍','key':_0x26e196[_0x4a9120(0xe7)]}})[_0x4a9120(0x9b)](()=>{}),await _0x3ff474[_0x4a9120(0xd4)](_0x34205a,'🔍\x20*Searching\x20TikTok\x20for:*\x20_'+_0xbe08ab+'_...'),console['log']('[TIKTOK-SEARCH]\x20Searching\x20for:\x20\x22'+_0xbe08ab+'\x22');const _0x53f97f={'Content-Type':_0x3ff474[_0x4a9120(0xc8)],'Cookie':_0x4a9120(0xa1),'User-Agent':_0x4a9120(0x9c)},_0x59a856=await axios_1[_0x4a9120(0xb4)]['post'](_0x4a9120(0xc1),new URLSearchParams({'keywords':_0xbe08ab,'count':'10','cursor':'0','HD':'1'}),{'headers':_0x53f97f,'timeout':0x7530}),_0x3d117b=_0x59a856[_0x4a9120(0x91)]?.[_0x4a9120(0x91)]?.[_0x4a9120(0xc3)];if(!_0x3d117b||_0x3ff474[_0x4a9120(0xe5)](_0x3d117b[_0x4a9120(0xea)],0x0))return console[_0x4a9120(0x80)](_0x3ff474[_0x4a9120(0xb8)]),_0x3ff474[_0x4a9120(0xd4)](_0x34205a,'❌\x20No\x20videos\x20found\x20for\x20that\x20search.');console[_0x4a9120(0x80)]('[TIKTOK-SEARCH]\x20API\x20returned\x20'+_0x3d117b[_0x4a9120(0xea)]+_0x4a9120(0xd2));for(let _0xf63331=_0x3d117b['length']-0x1;_0xf63331>0x0;_0xf63331--){const _0x18cc0d=Math[_0x4a9120(0xbd)](_0x3ff474['tVFcb'](Math[_0x4a9120(0x8b)](),_0x3ff474[_0x4a9120(0xd5)](_0xf63331,0x1)));[_0x3d117b[_0xf63331],_0x3d117b[_0x18cc0d]]=[_0x3d117b[_0x18cc0d],_0x3d117b[_0xf63331]];}const _0x4b60d1=_0x3d117b[_0x4a9120(0xdc)](0x0,0x5);let _0x4b0352=0x0;for(const _0xae85fa of _0x4b60d1){const _0x199346=_0xae85fa['play'];if(!_0x199346)continue;try{console['log'](_0x4a9120(0x9f)+_0x3ff474['LMluz'](_0x4b0352,0x1)+'/'+_0x4b60d1[_0x4a9120(0xea)]+':\x20'+(_0xae85fa[_0x4a9120(0xa9)]?.[_0x4a9120(0xc5)](0x0,0x32)||'untitled')),await _0x4b92cc[_0x4a9120(0x79)](_0x45ed4a,{'video':{'url':_0x199346},'caption':_0x4a9120(0xc9)+(_0xae85fa[_0x4a9120(0xa9)]||_0x4a9120(0xc6)),'mimetype':_0x4a9120(0xaf)},{'quoted':_0x26e196}),_0x4b0352++;if(_0x4b0352<_0x4b60d1[_0x4a9120(0xea)])await new Promise(_0x39220c=>setTimeout(_0x39220c,0x5dc));}catch(_0x396c1a){console[_0x4a9120(0xbf)](_0x4a9120(0x100)+(_0x4b0352+0x1)+':',_0x396c1a['message']);}}console[_0x4a9120(0x80)](_0x4a9120(0x7e)+_0x4b0352+'/'+_0x4b60d1[_0x4a9120(0xea)]+'\x20videos'),await _0x4b92cc[_0x4a9120(0x79)](_0x45ed4a,{'react':{'text':'✅','key':_0x26e196['key']}})['catch'](()=>{});}catch(_0x4801cb){console[_0x4a9120(0xbf)](_0x4a9120(0xff),_0x4801cb['message']||_0x4801cb),await _0x34205a('❌\x20'+(_0x4801cb[_0x4a9120(0x8f)]||_0x3ff474['tWIqR']));}}}),console['log'](_0x55638e(0x82));
|