├── README.md
├── database
├── antilinkgc.json
├── antitoxic.json
├── antivirus.json
├── autosticker.json
├── database.json
├── owner.json
├── premium.json
├── toxic.json
└── user.json
├── index.js
├── jadibot.js
├── lib
├── TelegraPH.js
├── color.js
├── converter.js
├── exif.js
├── loader.js
├── menfess.js
├── myfunc.js
├── scraper.js
├── scraperW.js
├── spinner.js
└── spotify.js
├── media
├── clara.jpg
├── database
│ ├── image.json
│ ├── sticker.json
│ ├── video.json
│ └── vn.json
├── font
│ ├── font-gue.ttf
│ └── nulis.ttf
└── fotonya.jpg
├── module.js
├── package-lock.json
├── package.json
├── scrape
├── binary.js
├── dafont.js
├── ffstalk.js
├── githubstalk.js
├── mlstalk.js
├── npmstalk.js
├── photooxy.js
├── remini.js
├── savefrom.js
├── scraper.js
├── scraperr.js
├── scraperrr.js
├── textpro.js
├── tiktok.js
├── upload.js
└── uploader.js
├── settings.js
└── xyroinee.js
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Clara - MD
5 |
6 |
7 | ## Baca Sebelum Pakai!!
8 | - Ubah Semua Informasi Owner Di Settings.js
9 | - Jika Kamu Mengalami Masalah, Bisa Buat Issues Di Page Ini
10 | - Sc Ini Belum Selesai Sepenuhnya, Pastikan Selalu Pantau :v
11 | - Untuk Node_Module Kalian Bisa Download Dibawah Ini
12 | - https://www.mediafire.com/file/f52nygbxa8kb580/node_modules.zip/file
13 |
14 | ### Sedikit Tentang Bot
15 | - ✔️ | **Simple**
16 | - ✔️ | **No Button**
17 | - ✔️ | **Multi Device**
18 | ---------
19 | ### Fitur Yang Dimiliki
20 | - ✔️ | Anime
21 | - ✔️ | Tools
22 | - ✔️ | Remini
23 | - ✔️ | Quotes
24 | - ✔️ | Confess
25 | - ✔️ | Chat Gpt
26 | - ✔️ | To Anime
27 | - ✔️ | And Others
28 | ---------
29 |
30 |
31 | ##
32 | [](https://wa.me/6285760451683)
33 | [](https://wa.me/62857604516837)
34 |
35 |
36 | ## Thanks To
37 | ```bash
38 | 𝐀𝐮𝐭𝐡𝐨𝐫 : Xyroinee
39 | Supported By Vynaa Chan
40 | Thanks To :
41 | - Adiwajshing (Author Baileys)
42 | - DikaArdnt (Base Script)
43 | - KizakixD
44 | - DGXeon
45 | - KirBotz
46 | - Ekuzika
47 | - Dan Semua Yang Berkontribusi Dalam Pengambangan Script Ini
48 |
--------------------------------------------------------------------------------
/database/antilinkgc.json:
--------------------------------------------------------------------------------
1 | ["916909137213-1632759248@g.us","120363047626537933@g.us","120363070068961143@g.us"]
--------------------------------------------------------------------------------
/database/antitoxic.json:
--------------------------------------------------------------------------------
1 | []
--------------------------------------------------------------------------------
/database/antivirus.json:
--------------------------------------------------------------------------------
1 | ["916909137213-1632759248@g.us","120363047626537933@g.us","120363070068961143@g.us","120363050412211019@g.us"]
--------------------------------------------------------------------------------
/database/autosticker.json:
--------------------------------------------------------------------------------
1 | []
--------------------------------------------------------------------------------
/database/database.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/database/owner.json:
--------------------------------------------------------------------------------
1 | ["6285760451683"]
--------------------------------------------------------------------------------
/database/premium.json:
--------------------------------------------------------------------------------
1 | ["6285760451683@s.whatsapp.net"]
--------------------------------------------------------------------------------
/database/toxic.json:
--------------------------------------------------------------------------------
1 | []
--------------------------------------------------------------------------------
/database/user.json:
--------------------------------------------------------------------------------
1 | [
2 | "916909137213@s.whatsapp.net",
3 | "919402104403@s.whatsapp.net",
4 | "918798308154@s.whatsapp.net",
5 | "2349065807853@s.whatsapp.net",
6 | "62878363318210@s.whatsapp.net",
7 | "6283890422366@s.whatsapp.net",
8 | "6288223812738@s.whatsapp.net",
9 | "6283198652908@s.whatsapp.net",
10 | "62895365047080@s.whatsapp.net",
11 | "6283869262488@s.whatsapp.net",
12 | "6285878483089@s.whatsapp.net",
13 | "6285559064038@s.whatsapp.net",
14 | "6285760451683@s.whatsapp.net",
15 | "6285796875458@s.whatsapp.net",
16 | "62857604516837@s.whatsapp.net",
17 | "6281350310547@s.whatsapp.net",
18 | "6283824930391@s.whatsapp.net",
19 | "6285711031024@s.whatsapp.net",
20 | "6281413595467@s.whatsapp.net",
21 | "6283818717862@s.whatsapp.net",
22 | "6281543218199@s.whatsapp.net"
23 | ]
--------------------------------------------------------------------------------
/index.js:
--------------------------------------------------------------------------------
1 | function _0x4920(_0x46aab0,_0x424763){const _0x14a815=_0x14a8();return _0x4920=function(_0x4920a0,_0x1b604b){_0x4920a0=_0x4920a0-0x14f;let _0x1372d6=_0x14a815[_0x4920a0];return _0x1372d6;},_0x4920(_0x46aab0,_0x424763);}function _0x5c1615(_0x332ca5,_0x475161){return _0x4920(_0x332ca5- -0x261,_0x475161);}(function(_0x15fc98,_0x5d6173){const _0x9990ff=_0x15fc98();function _0x55921c(_0x223c75,_0x4582c5){return _0x4920(_0x4582c5-0x2eb,_0x223c75);}while(!![]){try{const _0x20114c=parseInt(_0x55921c(0x512,0x4f4))/0x1*(parseInt(_0x55921c(0x4dc,0x4da))/0x2)+-parseInt(_0x55921c(0x46c,0x445))/0x3+parseInt(_0x55921c(0x4b2,0x4ad))/0x4+parseInt(_0x55921c(0x4ef,0x4a3))/0x5*(-parseInt(_0x55921c(0x4e5,0x4ea))/0x6)+parseInt(_0x55921c(0x440,0x479))/0x7+parseInt(_0x55921c(0x495,0x4ec))/0x8+parseInt(_0x55921c(0x45c,0x477))/0x9*(-parseInt(_0x55921c(0x477,0x47a))/0xa);if(_0x20114c===_0x5d6173)break;else _0x9990ff['push'](_0x9990ff['shift']());}catch(_0x4c6fd1){_0x9990ff['push'](_0x9990ff['shift']());}}}(_0x14a8,0x9ee44));function _0x14a8(){const _0x70c7a4=['remove','desc','downloadMediaMessage','./media/welcome.jpg','sendContact','sendMessage','silent','mimetype','messages.upsert','isBuffer','sendImage','DD/MM/YYYY','close','Caught\x20exception:\x20','remoteJid','packname','matchAll','format','viewOnceMessage','@adiwajshing/baileys','cyan','open','./database/owner.json','getFile','Connection\x20Lost\x20from\x20Server,\x20reconnecting...','4PMdVcw','\x0aitem3.X-ABLabel:GitHub\x0aitem4.ADR:;;','\x20Selamat\x20@','child','copyNForward','VOTE\x20LAH\x20SEMUA','\x0aFN:','Connected...','length','c.us','server','announce','utf-8','keys','「\x20Pengaturan\x20Grup\x20」\x0a\x0aGrup\x20Telah\x20Di\x20Tutup\x20Oleh\x20Admin,\x20Sekarang\x20Hanya\x20Admin\x20Yang\x20Dapat\x20Mengirim\x20Pesan\x20!','parse','12yabEdG','KATANYA\x20WA\x20KEBAL','5577336hPnyOa','international','action','session','store','BERANI\x20VOTE\x20GA','string','white','643387LsxtOX','\x0aitem2.X-ABLabel:YouTube\x0aitem3.URL:','contextInfo','fromMe','connectionReplaced',',\x20Bukan\x20Admin\x20Lagi','.bin','readFileSync','\x0aitem1.TEL;waid=','getName','unlink','from','viewOnce','promises','fromBuffer','bind','1109079QWbpFs','SALAM\x20DARI\x20Rainchy\x20BOT','@s.whatsapp.net','query','sendText','*Bot\x20Aktif!*\x0a\x0a\x0a_Jangan\x20Lupa\x20Support,\x20Kak\x20:)_\x0a\x0a\x20•\x20YouTube:\x20https://youtube.com/@Xyroinee\x0a\x0a\x20•\x20GitHub:\x20https://github.com/Xyroinee\x0a\x0a\x20•\x20Instsgram:\x20https://instagram.com/danilelistz02\x0a\x0a\x0a_*Thanks\x20to*_\x0a_*My\x20God*_\x0a_*Myself*_\x0a_*Family*_\x0a_*Dan\x20Semua\x20Yang\x20Berkontribusi\x20Dalam\x20Pengembangan\x20Script\x20Ini*_','contacts','textSync','clear','\x0a│❐\x20Member:\x20','https://i.ibb.co/RBx5SQC/avatar-group-large-v2.png?q=60','BAE5','author','document','PHOTO','status@broadcast','replace','asDocument','blocklist','categories','./lib/myfunc','message','parseMention','loggedOut','<\x20==========================\x20>','./lib','./lib/color','「\x20Pengaturan\x20Grup\x20」\x0a\x0aGrup\x20Telah\x20Di\x20Buka\x20Oleh\x20Admin,\x20Sekarang\x20Semua\x20Peserta\x20Dapat\x20Mengirim\x20Pesan\x20!','messages','image','./lib/loader','promote','existsSync','relayMessage','connectionLost','HH:mm:ss','user','readViewOnce','default','green','./lib/exif','profilePictureUrl','logout','\x20」\x0a│❐\x20Welcome:\x20@','./module','./xyroinee.js','push','ext','connectionClosed','creds.update','246573ZkkZTI','botname','6574169OjItyh','710egjXAM','key','nomorown','Standard','getNumber','uncaughtException','unlinkSync','ephemeralMessage','toString','mtype','end',',\x20Telah\x20Menjadi\x20Admin','concat','yellow','\x20」\x0a│❐\x20Goodbye:\x20@','\x0aitem1.X-ABLabel:Click\x20here\x20to\x20chat\x0aitem2.EMAIL;type=INTERNET:','@g.us','groupMetadata','Th\x0a│❐\x20Date:\x20','sendTextWithMentions','\x0aMenunggu\x20Pesan\x20Baru....','\x20Contact','restrict','verifiedName','json','Connection\x20Replaced,\x20Another\x20New\x20Session\x20Opened,\x20Please\x20Close\x20Current\x20Session\x20First','Asia/Jakarta','writeFileSync','split','magenta','「\x20Pengaturan\x20Grup\x20」\x0a\x0aInfo\x20Grup\x20Di\x20Tutup,\x20Sekarang\x20Hanya\x20Admin\x20Yang\x20Dapat\x20Mengubah\x20Info\x20Grup\x20!','timedOut','fatal','./index.js','1.0.0','setStatus','subject','name','output','base64','\x0a╭─❖「\x20','797095qfmFrC','writeFile','notify','0@s.whatsapp.net','Safari','「\x20Pengaturan\x20Grup\x20」\x0a\x0a*Deskripsi\x20Grup\x20Di\x20Ubah\x20Ke*\x0a\x0a','ignore','test','downloadAndSaveMediaMessage','statusCode','1445720AIIbmP','startsWith','KATANYA\x20KEBAL','Connection\x20closed,\x20reconnecting....','msg','Powered\x20by\x20Xyroinee','add','decodeJid','bold','log','./lib/spinner','public','Yah...\x20@','Unknown\x20DisconnectReason:\x20','participants','alloc','image/webp','audio','status','group-participants.update'];_0x14a8=function(){return _0x70c7a4;};return _0x14a8();}const {modul}=require(_0x5c1615(-0xdb,-0xe0)),{baileys,boom,chalk,fs,moment,figlet,FileType,path,pino,process,PhoneNumber}=modul,{Boom}=boom,{default:ClaraConnect,useSingleFileAuthState,fetchLatestBaileysVersion,generateForwardMessageContent,prepareWAMessageMedia,generateWAMessageFromContent,generateMessageID,downloadContentFromMessage,jidDecode,proto}=require(_0x5c1615(-0x78,-0xc2)),{default:makeWASocket,BufferJSON,initInMemoryKeyStore,DisconnectReason,AnyMessageContent,makeInMemoryStore,useMultiFileAuthState,delay}=require(_0x5c1615(-0x78,-0x4a)),{color,bgcolor}=require(_0x5c1615(-0xed,-0xaa)),colors=require('colors'),{uncache,nocache}=require(_0x5c1615(-0xe9,-0xef)),{start}=require(_0x5c1615(-0x95,-0x62)),{imageToWebp,videoToWebp,writeExifImg,writeExifVid}=require(_0x5c1615(-0xdf,-0xaf)),{smsg,isUrl,generateMessageTag,getBuffer,getSizeMedia,fetchJson,await,sleep,reSize}=require(_0x5c1615(-0xf3,-0x9a)),owner=JSON[_0x5c1615(-0x63,-0x74)](fs[_0x5c1615(-0x110,-0x135)](_0x5c1615(-0x75,-0x2a))),store=makeInMemoryStore({'logger':pino()[_0x5c1615(-0x6f,-0x5f)]({'level':_0x5c1615(-0x85,-0xd3),'stream':_0x5c1615(-0x5c,-0xb0)})}),me=require(_0x5c1615(-0xda,-0xad));require(_0x5c1615(-0xb1,-0xc7));function title(){console[_0x12b5cd(0x40f,0x3c9)]();function _0x12b5cd(_0x34861b,_0x2c5b6e){return _0x5c1615(_0x2c5b6e-0x4c8,_0x34861b);}console['log'](chalk['yellow'](chalk[_0x12b5cd(0x41c,0x431)][_0x12b5cd(0x432,0x403)]('[\x20'+botname+'\x20]')+'\x0a\x0a')),console[_0x12b5cd(0x427,0x432)](color(_0x12b5cd(0x40c,0x3d9),_0x12b5cd(0x436,0x451))),console[_0x12b5cd(0x420,0x432)](color('\x0aClara-MD',_0x12b5cd(0x3f4,0x413)));}async function ClaraBot(){const {state:_0x1b0bcb,saveCreds:_0x3bbfb4}=await useMultiFileAuthState(_0x259beb(0x183,0x12d)),_0x546677=ClaraConnect({'printQRInTerminal':!![],'logger':pino({'level':_0x259beb(0x12e,0x17a)}),'auth':_0x1b0bcb,'browser':[''+botname,_0x259beb(0x13b,0x156),_0x259beb(0x130,0x159)],'getMessage':async _0x1e75dc=>{return{};}});store[_0x259beb(0xd8,0x97)](_0x546677['ev']),console[_0x259beb(0x14a,0x123)](color(figlet[_0x259beb(0xe0,0xbc)]('Xyroinee-ID',{'font':_0x259beb(0x111,0xee),'horizontalLayout':_0x259beb(0xff,0x108),'vertivalLayout':_0x259beb(0xff,0xf2),'whitespaceBreak':![]}),_0x259beb(0x100,0xd3))),_0x546677['ws']['on']('CB:Blocklist',_0x257096=>{if(blocked[_0x42cabf(0xb1,0xf6)]>0x2)return;function _0x42cabf(_0x169642,_0x169be1){return _0x259beb(_0x169be1- -0x80,_0x169642);}for(let _0x727507 of _0x257096[0x1][_0x42cabf(0xba,0x6b)]){blocked['push'](_0x727507[_0x42cabf(0x58,0x69)](_0x42cabf(0xc5,0xf7),'s.whatsapp.net'));}}),_0x546677['ev']['on'](_0x259beb(0x15d,0x132),async _0xd8d83=>{function _0x2f4d3b(_0x5f7c61,_0x7240ca){return _0x259beb(_0x5f7c61-0x39b,_0x7240ca);}try{kay=_0xd8d83[_0x2f4d3b(0x490,0x46a)][0x0];if(!kay[_0x2f4d3b(0x489,0x4c7)])return;kay[_0x2f4d3b(0x489,0x47c)]=Object[_0x2f4d3b(0x516,0x512)](kay['message'])[0x0]===_0x2f4d3b(0x4b0,0x471)?kay[_0x2f4d3b(0x489,0x46f)]['ephemeralMessage'][_0x2f4d3b(0x489,0x4d8)]:kay[_0x2f4d3b(0x489,0x43b)];if(kay[_0x2f4d3b(0x4aa,0x4d5)]&&kay[_0x2f4d3b(0x4aa,0x452)][_0x2f4d3b(0x4fe,0x53c)]==='status@broadcast')return;if(!_0x546677[_0x2f4d3b(0x4e7,0x4a4)]&&!kay[_0x2f4d3b(0x4aa,0x47f)][_0x2f4d3b(0x526,0x530)]&&_0xd8d83['type']===_0x2f4d3b(0x4d4,0x493))return;if(kay['key']['id'][_0x2f4d3b(0x4dd,0x492)](_0x2f4d3b(0x47f,0x43d))&&kay['key']['id']['length']===0x10)return;m=smsg(_0x546677,kay,store),require('./xyroinee')(_0x546677,m,_0xd8d83,store);}catch(_0x4676ac){console[_0x2f4d3b(0x4e5,0x4f6)](_0x4676ac);}}),_0x546677['ev']['on']('groups.update',async _0x459572=>{try{ppgroup=await _0x546677[_0x7594e2(0x271,0x259)](anu['id'],_0x7594e2(0x265,0x248));}catch(_0x372b73){ppgroup=_0x7594e2(0x252,0x297);}console[_0x7594e2(0x2b9,0x26a)](_0x459572);const _0x27c7ac=_0x459572[0x0];function _0x7594e2(_0x540178,_0x1b2ac5){return _0x259beb(_0x540178-0x16f,_0x1b2ac5);}if(_0x27c7ac[_0x7594e2(0x2e8,0x2d9)]==!![])await sleep(0x7d0),_0x546677[_0x7594e2(0x2c9,0x2dc)](_0x27c7ac['id'],{'text':_0x7594e2(0x2eb,0x2cd)});else{if(_0x27c7ac[_0x7594e2(0x2e8,0x340)]==![])await sleep(0x7d0),_0x546677['sendMessage'](_0x27c7ac['id'],{'text':_0x7594e2(0x263,0x228)});else{if(_0x27c7ac[_0x7594e2(0x293,0x292)]==!![])await sleep(0x7d0),_0x546677['sendMessage'](_0x27c7ac['id'],{'text':_0x7594e2(0x29b,0x2c7)});else{if(_0x27c7ac[_0x7594e2(0x293,0x286)]==![])await sleep(0x7d0),_0x546677[_0x7594e2(0x2c9,0x327)](_0x27c7ac['id'],{'text':'「\x20Pengaturan\x20Grup\x20」\x0a\x0aInfo\x20Grup\x20Di\x20Buka,\x20Sekarang\x20Peserta\x20Dapat\x20Mengubah\x20Info\x20Grup\x20!'});else!_0x27c7ac[_0x7594e2(0x2c5,0x31a)]==''?(await sleep(0x7d0),_0x546677[_0x7594e2(0x2c9,0x288)](_0x27c7ac['id'],{'text':_0x7594e2(0x2ab,0x29b)+_0x27c7ac[_0x7594e2(0x2c5,0x31a)]})):(await sleep(0x7d0),_0x546677[_0x7594e2(0x2c9,0x2b2)](_0x27c7ac['id'],{'text':'「\x20Pengaturan\x20Grup\x20」\x0a\x0a*Nama\x20Grup\x20Di\x20Ubah\x20Ke*\x0a\x0a*'+_0x27c7ac[_0x7594e2(0x2a1,0x264)]+'*'}));}}}}),_0x546677['ev']['on'](_0x259beb(0x154,0x116),async _0x12b45c=>{console[_0x37b66d(-0x208,-0x253)](_0x12b45c);function _0x37b66d(_0x4961e7,_0x361954){return _0x259beb(_0x4961e7- -0x352,_0x361954);}try{let _0x2ba56=await _0x546677['groupMetadata'](_0x12b45c['id']),_0x50f305=_0x12b45c[_0x37b66d(-0x203,-0x1b0)];for(let _0x2ec2c5 of _0x50f305){try{ppuser=await _0x546677['profilePictureUrl'](_0x2ec2c5,_0x37b66d(-0x25c,-0x268));}catch(_0x2820f5){ppuser='https://cdn.pixabay.com/photo/2015/10/05/22/37/blank-profile-picture-973460_960_720.png?q=60';}try{ppgroup=await _0x546677[_0x37b66d(-0x250,-0x211)](_0x12b45c['id'],'image');}catch(_0x269e7b){ppgroup=_0x37b66d(-0x26f,-0x24f);}if(_0x12b45c[_0x37b66d(-0x1d0,-0x204)]==_0x37b66d(-0x20b,-0x1fe)){let _0x2e8958=fs[_0x37b66d(-0x282,-0x2a8)](_0x37b66d(-0x1fa,-0x230));const _0x537f0b=moment['tz'](_0x37b66d(-0x22a,-0x244))[_0x37b66d(-0x1ec,-0x1e6)](_0x37b66d(-0x256,-0x26b)),_0x1677de=moment['tz'](_0x37b66d(-0x22a,-0x211))[_0x37b66d(-0x1ec,-0x232)](_0x37b66d(-0x1f2,-0x1bd)),_0x431a33=_0x2ba56[_0x37b66d(-0x203,-0x1b8)][_0x37b66d(-0x1dc,-0x18d)];ucapan=_0x37b66d(-0x21c,-0x215)+_0x2ba56[_0x37b66d(-0x220,-0x1c1)]+_0x37b66d(-0x24e,-0x218)+_0x2ec2c5[_0x37b66d(-0x228,-0x244)]('@')[0x0]+_0x37b66d(-0x270,-0x27d)+_0x431a33+_0x37b66d(-0x232,-0x21b)+_0x1677de+'\x0a╰───────────────┈\x20⳹',_0x546677[_0x37b66d(-0x1f8,-0x256)](_0x12b45c['id'],{'image':_0x2e8958,'caption':ucapan},{'quoted':{'key':{'fromMe':![],'participant':_0x37b66d(-0x218,-0x26b),...{'remoteJid':'status@broadcast'}},'message':{'pollCreationMessage':{'name':_0x37b66d(-0x20c,-0x237),'options':[{'optionName':_0x37b66d(-0x1d3,-0x21f)},{'optionName':_0x37b66d(-0x1cd,-0x1c9)},{'optionName':_0x37b66d(-0x1df,-0x1ef)},{'optionName':_0x37b66d(-0x20f,-0x1fc)},{'optionName':_0x37b66d(-0x278,-0x27d)}],'selectableOptionsCount':0x5}}}});}else{if(_0x12b45c[_0x37b66d(-0x1d0,-0x1e8)]==_0x37b66d(-0x1fd,-0x1e7)){let _0x32d2fb=fs[_0x37b66d(-0x282,-0x26b)]('./media/goodbye.jpg');const _0x2412f4=moment['tz'](_0x37b66d(-0x22a,-0x1e7))['format'](_0x37b66d(-0x256,-0x269)),_0x2e48ec=moment['tz'](_0x37b66d(-0x22a,-0x288))[_0x37b66d(-0x1ec,-0x1c6)](_0x37b66d(-0x1f2,-0x208)),_0x3897d8=_0x2ba56[_0x37b66d(-0x203,-0x1bc)][_0x37b66d(-0x1dc,-0x1bc)];sayonara=_0x37b66d(-0x21c,-0x1eb)+_0x2ba56['subject']+_0x37b66d(-0x236,-0x1f6)+_0x2ec2c5['split']('@')[0x0]+_0x37b66d(-0x270,-0x282)+_0x3897d8+_0x37b66d(-0x232,-0x271)+_0x2e48ec+'\x0a╰───────────────┈\x20⳹',_0x546677['sendMessage'](_0x12b45c['id'],{'image':_0x32d2fb,'caption':sayonara},{'quoted':{'key':{'fromMe':![],'participant':_0x37b66d(-0x218,-0x23c),...{'remoteJid':_0x37b66d(-0x26a,-0x273)}},'message':{'pollCreationMessage':{'name':'Powered\x20by\x20Xyroinee','options':[{'optionName':_0x37b66d(-0x1d3,-0x213)},{'optionName':_0x37b66d(-0x1cd,-0x19f)},{'optionName':_0x37b66d(-0x1df,-0x235)},{'optionName':_0x37b66d(-0x20f,-0x1bd)},{'optionName':_0x37b66d(-0x278,-0x22f)}],'selectableOptionsCount':0x5}}}});}else{if(_0x12b45c[_0x37b66d(-0x1d0,-0x170)]==_0x37b66d(-0x25a,-0x213)){const _0x343b2d=await getBuffer(ppuser);katanya=_0x37b66d(-0x1e2,-0x20e)+_0x2ec2c5['split']('@')[0x0]+_0x37b66d(-0x239,-0x1dd),_0x546677[_0x37b66d(-0x1f8,-0x1fa)](_0x12b45c['id'],{'text':katanya,'contextInfo':{'mentionedJid':[_0x2ec2c5],'externalAdReply':{'showAdAttribution':!![],'containsAutoReply':!![],'title':'\x20'+global[_0x37b66d(-0x246,-0x275)],'body':''+ownername,'previewType':_0x37b66d(-0x26b,-0x27e),'thumbnailUrl':'','thumbnail':_0x343b2d,'sourceUrl':''+gcwa}}});}else _0x12b45c['action']=='demote'&&(katanya=_0x37b66d(-0x205,-0x1d1)+xeonName[_0x37b66d(-0x228,-0x241)]('@')[0x0]+_0x37b66d(-0x284,-0x2ac),_0x546677[_0x37b66d(-0x1f8,-0x250)](_0x12b45c['id'],{'text':katanya,'contextInfo':{'mentionedJid':[_0x2ec2c5],'externalAdReply':{'showAdAttribution':!![],'containsAutoReply':!![],'title':'\x20'+global[_0x37b66d(-0x246,-0x283)],'body':''+ownername,'previewType':_0x37b66d(-0x26b,-0x22e),'thumbnailUrl':'','thumbnail':ppuser,'sourceUrl':''+gcwa}}}));}}}}catch(_0x13cd25){console[_0x37b66d(-0x208,-0x1db)](_0x13cd25);}}),_0x546677[_0x259beb(0x121,0x118)]=async(_0x4de325,_0x4f5a9a,_0x45ea29,_0x48b7f1={})=>_0x546677['sendMessage'](_0x4de325,{'text':_0x4f5a9a,'contextInfo':{'mentionedJid':[..._0x4f5a9a[_0x259beb(0x165,0x172)](/@(\d{0,16})/g)]['map'](_0x4d9a9f=>_0x4d9a9f[0x1]+_0x259beb(0xdb,0x10f))},..._0x48b7f1},{'quoted':_0x45ea29}),_0x546677['decodeJid']=_0xf3cf2a=>{if(!_0xf3cf2a)return _0xf3cf2a;function _0x19156d(_0x3b5dbb,_0x523249){return _0x259beb(_0x3b5dbb- -0x9f,_0x523249);}if(/:\d+@/gi[_0x19156d(0x9f,0x6c)](_0xf3cf2a)){let _0x171b44=jidDecode(_0xf3cf2a)||{};return _0x171b44[_0x19156d(0x5e,0x1c)]&&_0x171b44['server']&&_0x171b44['user']+'@'+_0x171b44[_0x19156d(0xd9,0x80)]||_0xf3cf2a;}else return _0xf3cf2a;},_0x546677['ev']['on']('contacts.update',_0x5ebda4=>{function _0x48ae43(_0x9301ac,_0x280602){return _0x259beb(_0x280602-0xc6,_0x9301ac);}for(let _0xa29d37 of _0x5ebda4){let _0x1b19ad=_0x546677['decodeJid'](_0xa29d37['id']);if(store&&store['contacts'])store[_0x48ae43(0x1ee,0x1a5)][_0x1b19ad]={'id':_0x1b19ad,'name':_0xa29d37['notify']};}}),_0x546677[_0x259beb(0xd2,0x109)]=(_0x2c9e6a,_0xe4bcb4=![])=>{function _0x1c0f17(_0x21b100,_0x4491e7){return _0x259beb(_0x4491e7-0x396,_0x21b100);}id=_0x546677[_0x1c0f17(0x50f,0x4de)](_0x2c9e6a),_0xe4bcb4=_0x546677['withoutContact']||_0xe4bcb4;let _0x4cea62;if(id['endsWith'](_0x1c0f17(0x4d0,0x4b4)))return new Promise(async _0x23e179=>{function _0xba782b(_0x49723c,_0x4e7996){return _0x1c0f17(_0x4e7996,_0x49723c- -0xcd);}_0x4cea62=store[_0xba782b(0x3a8,0x3ed)][id]||{};if(!(_0x4cea62[_0xba782b(0x3fc,0x44b)]||_0x4cea62['subject']))_0x4cea62=_0x546677[_0xba782b(0x3e8,0x3fb)](id)||{};_0x23e179(_0x4cea62[_0xba782b(0x3fc,0x3cc)]||_0x4cea62['subject']||PhoneNumber('+'+id[_0xba782b(0x3b2,0x392)](_0xba782b(0x3a4,0x3e2),''))[_0xba782b(0x3db,0x39e)](_0xba782b(0x44a,0x42b)));});else _0x4cea62=id===_0x1c0f17(0x498,0x4d0)?{'id':id,'name':'WhatsApp'}:id===_0x546677['decodeJid'](_0x546677[_0x1c0f17(0x4a7,0x493)]['id'])?_0x546677['user']:store[_0x1c0f17(0x426,0x475)][id]||{};return(_0xe4bcb4?'':_0x4cea62[_0x1c0f17(0x491,0x4c9)])||_0x4cea62[_0x1c0f17(0x4f5,0x4c8)]||_0x4cea62[_0x1c0f17(0x4a0,0x4bb)]||PhoneNumber('+'+_0x2c9e6a[_0x1c0f17(0x4c2,0x47f)](_0x1c0f17(0x4ce,0x471),''))[_0x1c0f17(0x4b6,0x4a8)](_0x1c0f17(0x4c6,0x517));},_0x546677[_0x259beb(0xef,0x12c)]=(_0x3b685e='')=>{function _0x5d9e09(_0xd8750b,_0x1d9fb4){return _0x259beb(_0xd8750b-0x20f,_0x1d9fb4);}return[..._0x3b685e[_0x5d9e09(0x374,0x379)](/@([0-9]{5,16}|0)/g)]['map'](_0x3825ec=>_0x3825ec[0x1]+_0x5d9e09(0x2ea,0x344));},_0x546677[_0x259beb(0x159,0x1aa)]=async(_0x466098,_0x5374ab,_0x5d9083='',_0x958e44={})=>{function _0x18e840(_0x30d4b8,_0x1aa99d){return _0x259beb(_0x30d4b8-0x23f,_0x1aa99d);}let _0x13f360=[];for(let _0x2e8067 of _0x5374ab){_0x13f360[_0x18e840(0x346,0x336)]({'displayName':await _0x546677['getName'](_0x2e8067),'vcard':'BEGIN:VCARD\x0aVERSION:3.0\x0aN:'+await _0x546677[_0x18e840(0x311,0x2d7)](_0x2e8067)+_0x18e840(0x3b3,0x3a5)+await _0x546677['getName'](_0x2e8067)+_0x18e840(0x310,0x330)+_0x2e8067+':'+_0x2e8067+_0x18e840(0x35c,0x36a)+ytname+_0x18e840(0x3c8,0x3dc)+socialm+_0x18e840(0x3ae,0x3b7)+location+';;;;\x0aitem4.X-ABLabel:Region\x0aEND:VCARD'});}_0x546677[_0x18e840(0x399,0x39a)](_0x466098,{'contacts':{'displayName':_0x13f360[_0x18e840(0x3b5,0x40a)]+_0x18e840(0x362,0x389),'contacts':_0x13f360},..._0x958e44},{'quoted':_0x5d9083});},_0x546677[_0x259beb(0x131,0x17b)]=_0x5da428=>{_0x546677[_0x44d454(0xf9,0xb8)]({'tag':'iq','attrs':{'to':_0x44d454(0xf5,0xb7),'type':'set','xmlns':_0x44d454(0x124,0x12f)},'content':[{'tag':_0x44d454(0xf8,0x12f),'attrs':{},'content':Buffer['from'](_0x5da428,_0x44d454(0x173,0x156))}]});function _0x44d454(_0x59284f,_0x5a82ab){return _0x259beb(_0x5a82ab- -0x24,_0x59284f);}return _0x5da428;},_0x546677[_0x259beb(0x14c,0x176)]=!![],_0x546677[_0x259beb(0x15f,0x15f)]=async(_0x59b811,_0x5586bd,_0x42a28f='',_0x4e012c='',_0x30da35)=>{function _0x418828(_0x805d83,_0x3402f8){return _0x259beb(_0x3402f8-0x398,_0x805d83);}let _0xf7bd2b=Buffer['isBuffer'](_0x5586bd)?_0x5586bd:/^data:.*?\/.*?;base64,/i[_0x418828(0x4ad,0x4d6)](_0x5586bd)?Buffer[_0x418828(0x413,0x46c)](_0x5586bd[_0x418828(0x4e9,0x4c2)]`,`[0x1],_0x418828(0x4ee,0x4cd)):/^https?:\/\//['test'](_0x5586bd)?await await getBuffer(_0x5586bd):fs[_0x418828(0x4e1,0x491)](_0x5586bd)?fs[_0x418828(0x4b5,0x468)](_0x5586bd):Buffer[_0x418828(0x53b,0x4e8)](0x0);return await _0x546677[_0x418828(0x4a1,0x4f2)](_0x59b811,{'image':_0xf7bd2b,'caption':_0x42a28f,..._0x30da35},{'quoted':_0x4e012c});},_0x546677['sendImageAsSticker']=async(_0x12a5e3,_0x828414,_0x94c4fe,_0x482e1e={})=>{let _0x51bacc=Buffer[_0x33a375(0x4a4,0x48f)](_0x828414)?_0x828414:/^data:.*?\/.*?;base64,/i[_0x33a375(0x484,0x46e)](_0x828414)?Buffer[_0x33a375(0x41a,0x3c8)](_0x828414[_0x33a375(0x470,0x428)]`,`[0x1],_0x33a375(0x47b,0x448)):/^https?:\/\//['test'](_0x828414)?await await getBuffer(_0x828414):fs[_0x33a375(0x43f,0x443)](_0x828414)?fs[_0x33a375(0x416,0x3ce)](_0x828414):Buffer[_0x33a375(0x496,0x4dd)](0x0),_0x4ead4c;_0x482e1e&&(_0x482e1e[_0x33a375(0x4aa,0x4df)]||_0x482e1e['author'])?_0x4ead4c=await writeExifImg(_0x51bacc,_0x482e1e):_0x4ead4c=await imageToWebp(_0x51bacc);function _0x33a375(_0x5e7499,_0x28ed43){return _0x259beb(_0x5e7499-0x346,_0x28ed43);}await _0x546677[_0x33a375(0x4a0,0x4fa)](_0x12a5e3,{'sticker':{'url':_0x4ead4c},..._0x482e1e},{'quoted':_0x94c4fe})['then'](_0x4099a8=>{function _0x3c431a(_0x371faf,_0x545c06){return _0x33a375(_0x371faf- -0x55,_0x545c06);}return fs[_0x3c431a(0x405,0x3d0)](_0x4ead4c),_0x4099a8;});},_0x546677['sendVideoAsSticker']=async(_0x3a9946,_0x2deb98,_0x26ec75,_0x9bcfe0={})=>{function _0x1ca261(_0x556e07,_0x5d3e2c){return _0x259beb(_0x556e07-0x440,_0x5d3e2c);}let _0x2dc96b=Buffer[_0x1ca261(0x59e,0x57b)](_0x2deb98)?_0x2deb98:/^data:.*?\/.*?;base64,/i['test'](_0x2deb98)?Buffer[_0x1ca261(0x514,0x52c)](_0x2deb98[_0x1ca261(0x56a,0x592)]`,`[0x1],_0x1ca261(0x575,0x5a9)):/^https?:\/\//[_0x1ca261(0x57e,0x585)](_0x2deb98)?await await getBuffer(_0x2deb98):fs[_0x1ca261(0x539,0x510)](_0x2deb98)?fs[_0x1ca261(0x510,0x4b7)](_0x2deb98):Buffer[_0x1ca261(0x590,0x56d)](0x0),_0x2a9c20;return _0x9bcfe0&&(_0x9bcfe0['packname']||_0x9bcfe0[_0x1ca261(0x525,0x546)])?_0x2a9c20=await writeExifVid(_0x2dc96b,_0x9bcfe0):_0x2a9c20=await videoToWebp(_0x2dc96b),await _0x546677[_0x1ca261(0x59a,0x5ad)](_0x3a9946,{'sticker':{'url':_0x2a9c20},..._0x9bcfe0},{'quoted':_0x26ec75}),_0x2a9c20;},_0x546677[_0x259beb(0x172,0x12e)]=async(_0x4da83a,_0x3367e6,_0x50cbc1=![],_0x46b6e6={})=>{let _0x510469;_0x46b6e6[_0x5f2565(0xfd,0x14a)]&&(_0x3367e6[_0x5f2565(0x14d,0x13a)]=_0x3367e6[_0x5f2565(0x196,0x13a)]&&_0x3367e6[_0x5f2565(0x192,0x13a)][_0x5f2565(0x12d,0x161)]&&_0x3367e6[_0x5f2565(0x110,0x13a)][_0x5f2565(0x192,0x161)][_0x5f2565(0x168,0x13a)]?_0x3367e6[_0x5f2565(0x160,0x13a)][_0x5f2565(0x125,0x161)][_0x5f2565(0x195,0x13a)]:_0x3367e6['message']||undefined,_0x510469=Object[_0x5f2565(0x18f,0x1c7)](_0x3367e6['message'][_0x5f2565(0x1b8,0x1b3)][_0x5f2565(0xf2,0x13a)])[0x0],delete(_0x3367e6[_0x5f2565(0x18f,0x13a)]&&_0x3367e6[_0x5f2565(0xfe,0x13a)][_0x5f2565(0x195,0x189)]?_0x3367e6[_0x5f2565(0x10e,0x13a)]['ignore']:_0x3367e6[_0x5f2565(0xf7,0x13a)]||undefined),delete _0x3367e6[_0x5f2565(0x17b,0x13a)]['viewOnceMessage'][_0x5f2565(0x18d,0x13a)][_0x510469][_0x5f2565(0x134,0x121)],_0x3367e6[_0x5f2565(0x17d,0x13a)]={..._0x3367e6[_0x5f2565(0x178,0x13a)]['viewOnceMessage'][_0x5f2565(0xe4,0x13a)]});function _0x5f2565(_0x59e8f0,_0x5a06a8){return _0x259beb(_0x5a06a8-0x4c,_0x59e8f0);}let _0x541552=Object[_0x5f2565(0x1bd,0x1c7)](_0x3367e6[_0x5f2565(0x132,0x13a)])[0x0],_0x1bc55c=await generateForwardMessageContent(_0x3367e6,_0x50cbc1),_0x161657=Object[_0x5f2565(0x1c4,0x1c7)](_0x1bc55c)[0x0],_0x36d7bf={};if(_0x541552!='conversation')_0x36d7bf=_0x3367e6[_0x5f2565(0x10e,0x13a)][_0x541552]['contextInfo'];_0x1bc55c[_0x161657][_0x5f2565(0x1b7,0x1d6)]={..._0x36d7bf,..._0x1bc55c[_0x161657][_0x5f2565(0x1e3,0x1d6)]};const _0x20a484=await generateWAMessageFromContent(_0x4da83a,_0x1bc55c,_0x46b6e6?{..._0x1bc55c[_0x161657],..._0x46b6e6,..._0x46b6e6['contextInfo']?{'contextInfo':{..._0x1bc55c[_0x161657]['contextInfo'],..._0x46b6e6[_0x5f2565(0x1e1,0x1d6)]}}:{}}:{});return await _0x546677[_0x5f2565(0x161,0x146)](_0x4da83a,_0x20a484[_0x5f2565(0xe2,0x13a)],{'messageId':_0x20a484['key']['id']}),_0x20a484;},_0x546677[_0x259beb(0x13f,0x197)]=async(_0x10eb1f,_0x51de2a,_0x345f31=!![])=>{let _0x53347c=_0x10eb1f['msg']?_0x10eb1f[_0x41044b(0x30a,0x305)]:_0x10eb1f,_0x20368e=(_0x10eb1f[_0x41044b(0x30a,0x35e)]||_0x10eb1f)[_0x41044b(0x321,0x310)]||'';function _0x41044b(_0x1212c9,_0x41abfc){return _0x259beb(_0x1212c9-0x1c5,_0x41abfc);}let _0x49aafc=_0x10eb1f[_0x41044b(0x2dc,0x300)]?_0x10eb1f[_0x41044b(0x2dc,0x325)][_0x41044b(0x2ae,0x283)](/Message/gi,''):_0x20368e['split']('/')[0x0];const _0x1f2c32=await downloadContentFromMessage(_0x53347c,_0x49aafc);let _0x1bfbd7=Buffer[_0x41044b(0x299,0x280)]([]);for await(const _0x1251b1 of _0x1f2c32){_0x1bfbd7=Buffer['concat']([_0x1bfbd7,_0x1251b1]);}let _0x28e6c5=await FileType[_0x41044b(0x29c,0x290)](_0x1bfbd7);return trueFileName=_0x345f31?_0x51de2a+'.'+_0x28e6c5[_0x41044b(0x2cd,0x2e4)]:_0x51de2a,await fs[_0x41044b(0x2ee,0x2ad)](trueFileName,_0x1bfbd7),trueFileName;},_0x546677[_0x259beb(0x157,0xfa)]=async _0x5ea70d=>{let _0xabbbd7=(_0x5ea70d['msg']||_0x5ea70d)[_0x231478(-0xc6,-0x10f)]||'',_0x3a2bd2=_0x5ea70d[_0x231478(-0x10b,-0x156)]?_0x5ea70d[_0x231478(-0x10b,-0xfd)][_0x231478(-0x139,-0x14f)](/Message/gi,''):_0xabbbd7[_0x231478(-0xf8,-0x153)]('/')[0x0];const _0x551dc8=await downloadContentFromMessage(_0x5ea70d,_0x3a2bd2);let _0x13f721=Buffer[_0x231478(-0x14e,-0x120)]([]);function _0x231478(_0x2792c7,_0x4eb97d){return _0x259beb(_0x2792c7- -0x222,_0x4eb97d);}for await(const _0x1a8558 of _0x551dc8){_0x13f721=Buffer[_0x231478(-0x108,-0x105)]([_0x13f721,_0x1a8558]);}return _0x13f721;},_0x546677[_0x259beb(0x16c,0x121)]=async(_0x4f1051,_0x3bb323)=>{let _0x1e39c2;function _0x1c4714(_0x5d5851,_0x52b28e){return _0x259beb(_0x52b28e- -0x2cf,_0x5d5851);}let _0x2c9a36=Buffer[_0x1c4714(-0x19d,-0x171)](_0x4f1051)?_0x4f1051:/^data:.*?\/.*?;base64,/i[_0x1c4714(-0x1ad,-0x191)](_0x4f1051)?Buffer[_0x1c4714(-0x224,-0x1fb)](_0x4f1051['split']`,`[0x1],_0x1c4714(-0x147,-0x19a)):/^https?:\/\//['test'](_0x4f1051)?await(_0x1e39c2=await getBuffer(_0x4f1051)):fs[_0x1c4714(-0x183,-0x1d6)](_0x4f1051)?(filename=_0x4f1051,fs[_0x1c4714(-0x1ad,-0x1ff)](_0x4f1051)):typeof _0x4f1051===_0x1c4714(-0x182,-0x149)?_0x4f1051:Buffer[_0x1c4714(-0x1c6,-0x17f)](0x0),_0x18b9b7=await FileType[_0x1c4714(-0x243,-0x1f8)](_0x2c9a36)||{'mime':'application/octet-stream','ext':_0x1c4714(-0x1ab,-0x200)};filename=path['join'](__filename,_0x1c4714(-0x190,-0x1dd)+new Date()*0x1+'.'+_0x18b9b7[_0x1c4714(-0x1bf,-0x1c7)]);if(_0x2c9a36&&_0x3bb323)fs[_0x1c4714(-0x1fe,-0x1f9)][_0x1c4714(-0x1ab,-0x197)](filename,_0x2c9a36);return{'res':_0x1e39c2,'filename':filename,'size':await getSizeMedia(_0x2c9a36),..._0x18b9b7,'data':_0x2c9a36};},_0x546677['sendMedia']=async(_0x4e2e7e,_0x467ca6,_0x138947='',_0x10112d='',_0x2eb6c1='',_0x5883ca={})=>{let _0x16656f=await _0x546677[_0x371012(0x4bf,0x51e)](_0x467ca6,!![]),{mime:_0x2b498b,ext:_0x1debfd,res:_0x59fccd,data:_0x4a3bb0,filename:_0x2c62e1}=_0x16656f;if(_0x59fccd&&_0x59fccd[_0x371012(0x4c1,0x505)]!==0xc8||file['length']<=0x10000)try{throw{'json':JSON[_0x371012(0x568,0x52f)](file[_0x371012(0x4f0,0x4c8)]())};}catch(_0x5ab289){if(_0x5ab289[_0x371012(0x52c,0x4d8)])throw _0x5ab289[_0x371012(0x47f,0x4d8)];}let _0xa70d79='',_0x4b64b0=_0x2b498b,_0x76e295=_0x2c62e1;if(_0x5883ca[_0x371012(0x462,0x49c)])_0xa70d79='document';if(_0x5883ca['asSticker']||/webp/[_0x371012(0x496,0x4f0)](_0x2b498b)){let {writeExif:_0x51b5d8}=require(_0x371012(0x4c2,0x4b3)),_0x4150ad={'mimetype':_0x2b498b,'data':_0x4a3bb0};_0x76e295=await _0x51b5d8(_0x4150ad,{'packname':_0x5883ca['packname']?_0x5883ca['packname']:global[_0x371012(0x4e7,0x516)],'author':_0x5883ca[_0x371012(0x489,0x497)]?_0x5883ca[_0x371012(0x476,0x497)]:global[_0x371012(0x49f,0x497)],'categories':_0x5883ca['categories']?_0x5883ca[_0x371012(0x4b3,0x49e)]:[]}),await fs[_0x371012(0x457,0x488)][_0x371012(0x47d,0x485)](_0x2c62e1),_0xa70d79='sticker',_0x4b64b0=_0x371012(0x4d8,0x503);}else{if(/image/[_0x371012(0x4fb,0x4f0)](_0x2b498b))_0xa70d79='image';else{if(/video/[_0x371012(0x538,0x4f0)](_0x2b498b))_0xa70d79='video';else{if(/audio/[_0x371012(0x4d7,0x4f0)](_0x2b498b))_0xa70d79=_0x371012(0x4cb,0x504);else _0xa70d79=_0x371012(0x48f,0x498);}}}await _0x546677[_0x371012(0x530,0x50c)](_0x4e2e7e,{[_0xa70d79]:{'url':_0x76e295},'caption':_0x10112d,'mimetype':_0x4b64b0,'fileName':_0x138947,..._0x5883ca},{'quoted':_0x2eb6c1,..._0x5883ca});function _0x371012(_0x20c10a,_0x578be4){return _0x259beb(_0x578be4-0x3b2,_0x20c10a);}return fs[_0x371012(0x4b3,0x488)]['unlink'](_0x76e295);},_0x546677[_0x259beb(0xdd,0xb1)]=(_0x3acaef,_0x3e2bce,_0x13fea7='',_0x2231bb)=>_0x546677[_0x259beb(0x15a,0x128)](_0x3acaef,{'text':_0x3e2bce,..._0x2231bb},{'quoted':_0x13fea7});function _0x259beb(_0x596800,_0x19f8d5){return _0x5c1615(_0x596800-0x1e0,_0x19f8d5);}return _0x546677['serializeM']=_0x2e20a8=>smsg(_0x546677,_0x2e20a8,store),_0x546677['ev']['on']('connection.update',async _0x2268fa=>{function _0x5e7306(_0x1c485f,_0xf588be){return _0x259beb(_0x1c485f-0x12d,_0xf588be);}const {connection:_0x4014e2,lastDisconnect:_0x22f1dd}=_0x2268fa;if(_0x4014e2===_0x5e7306(0x28e,0x256)){let _0x3d21e8=new Boom(_0x22f1dd?.['error'])?.[_0x5e7306(0x261,0x2b1)][_0x5e7306(0x26d,0x261)];if(_0x3d21e8===DisconnectReason['badSession'])console['log']('Bad\x20Session\x20File,\x20Please\x20Delete\x20Session\x20and\x20Scan\x20Again'),_0x546677[_0x5e7306(0x230,0x271)]();else{if(_0x3d21e8===DisconnectReason[_0x5e7306(0x236,0x287)])console[_0x5e7306(0x277,0x27f)](_0x5e7306(0x271,0x2d0)),ClaraBot();else{if(_0x3d21e8===DisconnectReason[_0x5e7306(0x228,0x1e1)])console[_0x5e7306(0x277,0x22a)](_0x5e7306(0x29a,0x24a)),ClaraBot();else{if(_0x3d21e8===DisconnectReason[_0x5e7306(0x2b9,0x25e)])console[_0x5e7306(0x277,0x219)](_0x5e7306(0x254,0x258)),_0x546677['logout']();else{if(_0x3d21e8===DisconnectReason[_0x5e7306(0x21d,0x222)])console[_0x5e7306(0x277,0x2c3)]('Device\x20Logged\x20Out,\x20Please\x20Scan\x20Again\x20And\x20Run.'),_0x546677['logout']();else{if(_0x3d21e8===DisconnectReason['restartRequired'])console[_0x5e7306(0x277,0x269)]('Restart\x20Required,\x20Restarting...'),ClaraBot();else{if(_0x3d21e8===DisconnectReason[_0x5e7306(0x25a,0x214)])console[_0x5e7306(0x277,0x25b)]('Connection\x20TimedOut,\x20Reconnecting...'),ClaraBot();else _0x546677[_0x5e7306(0x245,0x22a)](_0x5e7306(0x27b,0x276)+_0x3d21e8+'|'+_0x4014e2);}}}}}}}else _0x4014e2===_0x5e7306(0x297,0x2eb)&&_0x546677[_0x5e7306(0x287,0x289)](global[_0x5e7306(0x23d,0x227)]+_0x5e7306(0x208,0x1d0),{'text':_0x5e7306(0x20b,0x248)});console[_0x5e7306(0x277,0x24b)](_0x5e7306(0x2a2,0x2bd),_0x2268fa);}),_0x546677['ev']['on'](_0x259beb(0x10a,0xee),await _0x3bbfb4),start('2',colors[_0x259beb(0x149,0xf3)][_0x259beb(0x187,0x13a)](_0x259beb(0x122,0x109))),_0x546677;}ClaraBot(),process['on'](_0x5c1615(-0xcd,-0xa1),function(_0xaf0c67){function _0x18ca8c(_0x520cd0,_0x3a8bbc){return _0x5c1615(_0x3a8bbc- -0x182,_0x520cd0);}console[_0x18ca8c(-0x26d,-0x218)](_0x18ca8c(-0x258,-0x200),_0xaf0c67);});
2 |
--------------------------------------------------------------------------------
/jadibot.js:
--------------------------------------------------------------------------------
1 | const { modul } = require('./module');
2 | const { baileys, boom, chalk, fs, figlet, FileType, path, process, PhoneNumber } = modul;
3 | const { Boom } = boom
4 | const { default: makeWaSocket, useMultiFileAuthState, DisconnectReason, fetchLatestBaileysVersion, generateForwardMessageContent, generateWAMessage, prepareWAMessageMedia, generateWAMessageFromContent, generateMessageID, downloadContentFromMessage, makeInMemoryStore, jidDecode, proto } = baileys
5 | const { color, bgcolor } = require('./lib/color')
6 | const log = (pino = require("pino"));
7 | const qrcode = require('qrcode');
8 | const rimraf = require("rimraf");
9 | const { imageToWebp, videoToWebp, writeExifImg, writeExifVid } = require('./lib/exif')
10 | const { smsg, isUrl, generateMessageTag, getBuffer, getSizeMedia, fetchJson, await, sleep, reSize } = require('./lib/myfunc')
11 | const owner = JSON.parse(fs.readFileSync('./database/owner.json').toString())
12 | const store = makeInMemoryStore({ logger: pino().child({ level: 'silent', stream: 'store' }) })
13 |
14 | if (global.conns instanceof Array) console.log()
15 | else global.conns = []
16 |
17 | const jadibot = async (Clara, m, from) => {
18 | const { sendImage, sendMessage } = Clara;
19 | const { reply, sender } = m;
20 | const { state, saveCreds } = await useMultiFileAuthState(path.join(__dirname, `./database/jadibot/${sender.split("@")[0]}`), log({ level: "silent" }));
21 | try {
22 | async function start() {
23 | let { version, isLatest } = await fetchLatestBaileysVersion();
24 | const Clara = await makeWaSocket({
25 | auth: state,
26 | browser: [`Jadi Bot By ${ownername}`, "Chrome", "1.0.0"],
27 | logger: log({ level: "silent" }),
28 | version,
29 | })
30 |
31 | Clara.ws.on('CB:Blocklist', json => {
32 | if (blocked.length > 2) return
33 | for (let i of json[1].blocklist) {
34 | blocked.push(i.replace('c.us','s.whatsapp.net'))}})
35 |
36 | Clara.ws.on('CB:call', async (json) => {
37 | const callerId = json.content[0].attrs['call-creator']
38 | const idCall = json.content[0].attrs['call-id']
39 | const Id = json.attrs.id
40 | const T = json.attrs.t
41 | Clara.sendNode({
42 | tag: 'call',
43 | attrs: {
44 | from: '6285760451683@s.whatsapp.net',
45 | id: Id,
46 | t: T
47 | },
48 | content: [
49 | {
50 | tag: 'reject',
51 | attrs: {
52 | 'call-creator': callerId,
53 | 'call-id': idCall,
54 | count: '0'
55 | },
56 | content: null
57 | }
58 | ]
59 | })
60 | if (json.content[0].tag == 'offer') {
61 | let qutsnya = await Clara.sendContact(callerId, owner)
62 | await Clara.sendMessage(callerId, { text: `Block Otomatis!!!\nJangan Telfon Bot!!!\nSilahkan Hubungin Owner Jika Tidak Sengaja!!!`}, { quoted : qutsnya })
63 | await sleep(8000)
64 | await Clara.updateBlockStatus(callerId, "block")
65 | }
66 | })
67 |
68 | Clara.ev.on('messages.upsert', async chatUpdate => {
69 | try {
70 | kay = chatUpdate.messages[0]
71 | if (!kay.message) return
72 | kay.message = (Object.keys(kay.message)[0] === 'ephemeralMessage') ? kay.message.ephemeralMessage.message : kay.message
73 | if (kay.key && kay.key.remoteJid === 'status@broadcast') return
74 | if (!Clara.public && !kay.key.fromMe && chatUpdate.type === 'notify') return
75 | if (kay.key.id.startsWith('BAE5') && kay.key.id.length === 16) return
76 | m = smsg(Clara, kay, store)
77 | require('./xyroinee')(Clara, m, chatUpdate, store)
78 | } catch (err) {
79 | console.log(err)}
80 | })
81 |
82 | Clara.public = true
83 |
84 | store.bind(Clara.ev);
85 | Clara.ev.on("creds.update", saveCreds);
86 | Clara.ev.on("connection.update", async up => {
87 | const { lastDisconnect, connection } = up;
88 | if (connection == "connecting") return
89 | if (connection){
90 | if (connection != "connecting") console.log("Connecting to rent bot..")
91 | }
92 | console.log(up)
93 | if (up.qr) await sendImage(from, await qrcode.toDataURL(up.qr,{scale : 8}), 'Silahkan Scan Kode Qr Di Atas\n\n1. Tap Titik Tiga Di Ujung Kanan Atas\n2. Tap Perangkat Tertaut\n3. Tap Tautkan Perangkat \n4. Scan Qr Yang Ada Di Atas\nQR Akan Expired Dalam 30 Detik', m)
94 | console.log(connection)
95 | if (connection == "open") {
96 | Clara.id = Clara.decodeJid(Clara.user.id)
97 | Clara.time = Date.now()
98 | global.conns.push(Clara)
99 | await m.reply(`*Tersambung Ke ${botname}*\n\n*User :*\n _*× id : ${Clara.decodeJid(Clara.user.id)}*_`)
100 | user = `${Clara.decodeJid(Clara.user.id)}`
101 | txt = `*Terdeteksi Jadi Bot*\n\n _× User : @${user.split("@")[0]}_`
102 | sendMessage(`6285760451683@s.whatsapp.net`,{text: txt, mentions : [user]})
103 | }
104 | if (connection === 'close') {
105 | let reason = new Boom(lastDisconnect?.error)?.output.statusCode
106 | if (reason === DisconnectReason.badSession) {
107 | console.log(`Bad Session File, Please Delete Session and Scan Again`); Clara.logout(); }
108 | else if (reason === DisconnectReason.connectionClosed) {
109 | console.log("Connection closed, reconnecting...."); start(); }
110 | else if (reason === DisconnectReason.connectionLost) {
111 | console.log("Connection Lost from Server, reconnecting..."); start(); }
112 | else if (reason === DisconnectReason.connectionReplaced) {
113 | console.log("Connection Replaced, Another New Session Opened, Please Close Current Session First"); Clara.logout(); }
114 | else if (reason === DisconnectReason.loggedOut) {
115 | console.log(`Device Logged Out, Please Scan Again And Run.`); Clara.logout(); }
116 | else if (reason === DisconnectReason.restartRequired) {
117 | console.log("Restart Required, Restarting..."); start(); }
118 | else if (reason === DisconnectReason.timedOut) {
119 | console.log("Connection TimedOut, Reconnecting..."); start(); }
120 | else Clara.end(`Unknown DisconnectReason: ${reason}|${connection}`)
121 | }
122 | })
123 |
124 | Clara.decodeJid = (jid) => {
125 | if (!jid) return jid
126 | if (/:\d+@/gi.test(jid)) {
127 | let decode = jidDecode(jid) || {}
128 | return decode.user && decode.server && decode.user + '@' + decode.server || jid
129 | } else return jid
130 | }
131 |
132 | Clara.ev.on('contacts.update', update => {
133 | for (let contact of update) {
134 | let id = Clara.decodeJid(contact.id)
135 | if (store && store.contacts) store.contacts[id] = { id, name: contact.notify }
136 | }
137 | })
138 |
139 | Clara.getName = (jid, withoutContact = false) => {
140 | id = Clara.decodeJid(jid)
141 | withoutContact = Clara.withoutContact || withoutContact
142 | let v
143 | if (id.endsWith("@g.us")) return new Promise(async (resolve) => {
144 | v = store.contacts[id] || {}
145 | if (!(v.name || v.subject)) v = Clara.groupMetadata(id) || {}
146 | resolve(v.name || v.subject || PhoneNumber('+' + id.replace('@s.whatsapp.net', '')).getNumber('international'))
147 | })
148 | else v = id === '0@s.whatsapp.net' ? {
149 | id,
150 | name: 'WhatsApp'
151 | } : id === Clara.decodeJid(Clara.user.id) ?
152 | Clara.user :
153 | (store.contacts[id] || {})
154 | return (withoutContact ? '' : v.name) || v.subject || v.verifiedName || PhoneNumber('+' + jid.replace('@s.whatsapp.net', '')).getNumber('international')
155 | }
156 |
157 | Clara.parseMention = (text = '') => {
158 | return [...text.matchAll(/@([0-9]{5,16}|0)/g)].map(v => v[1] + '@s.whatsapp.net')
159 | }
160 |
161 | Clara.sendContact = async (jid, kon, quoted = '', opts = {}) => {
162 | let list = []
163 | for (let i of kon) {
164 | list.push({
165 | displayName: await Clara.getName(i + '@s.whatsapp.net'),
166 | vcard: `BEGIN:VCARD\n
167 | VERSION:3.0\n
168 | N:${await Clara.getName(i + '@s.whatsapp.net')}\n
169 | FN:${await Clara.getName(i + '@s.whatsapp.net')}\n
170 | item1.TEL;waid=${i}:${i}\n
171 | item1.X-ABLabel:Ponsel\n
172 | item2.EMAIL;type=INTERNET:elistz21@gmail.com\n
173 | item2.X-ABLabel:Email\n
174 | item3.URL:https://xyroinee.xyz\n
175 | item3.X-ABLabel:YouTube\n
176 | item4.ADR:;;Indonesia;;;;\n
177 | item4.X-ABLabel:Region\n
178 | END:VCARD`
179 | })
180 | }
181 | Clara.sendMessage(jid, { contacts: { displayName: `${list.length} Contact`, contacts: list }, ...opts }, { quoted })
182 | }
183 |
184 | Clara.sendImage = async (jid, path, caption = '', quoted = '', options) => {
185 | let buffer = Buffer.isBuffer(path) ? path : /^data:.*?\/.*?;base64,/i.test(path) ? Buffer.from(path.split`,`[1], 'base64') : /^https?:\/\//.test(path) ? await (await getBuffer(path)) : fs.existsSync(path) ? fs.readFileSync(path) : Buffer.alloc(0)
186 | return await Clara.sendMessage(jid, { image: buffer, caption: caption, ...options }, { quoted })
187 | }
188 |
189 | Clara.copyNForward = async (jid, message, forceForward = false, options = {}) => {
190 | let vtype
191 | if (options.readViewOnce) {
192 | message.message = message.message && message.message.ephemeralMessage && message.message.ephemeralMessage.message ? message.message.ephemeralMessage.message : (message.message || undefined)
193 | vtype = Object.keys(message.message.viewOnceMessage.message)[0]
194 | delete(message.message && message.message.ignore ? message.message.ignore : (message.message || undefined))
195 | delete message.message.viewOnceMessage.message[vtype].viewOnce
196 | message.message = {
197 | ...message.message.viewOnceMessage.message
198 | }
199 | }
200 | let mtype = Object.keys(message.message)[0]
201 | let content = await generateForwardMessageContent(message, forceForward)
202 | let ctype = Object.keys(content)[0]
203 | let context = {}
204 | if (mtype != "conversation") context = message.message[mtype].contextInfo
205 | content[ctype].contextInfo = {
206 | ...context,
207 | ...content[ctype].contextInfo
208 | }
209 | const waMessage = await generateWAMessageFromContent(jid, content, options ? {
210 | ...content[ctype],
211 | ...options,
212 | ...(options.contextInfo ? {
213 | contextInfo: {
214 | ...content[ctype].contextInfo,
215 | ...options.contextInfo
216 | }
217 | } : {})
218 | } : {})
219 | await Clara.relayMessage(jid, waMessage.message, { messageId: waMessage.key.id })
220 | return waMessage
221 | }
222 |
223 | Clara.sendButtonText = (jid, buttons = [], text, footer, quoted = '', options = {}) => {
224 | let buttonMessage = {
225 | text,
226 | footer,
227 | buttons,
228 | headerType: 2,
229 | ...options
230 | }
231 | Clara.sendMessage(jid, buttonMessage, { quoted, ...options })
232 | }
233 |
234 | Clara.sendKatalog = async (jid , title = '' , desc = '', gam , options = {}) =>{
235 | let message = await prepareWAMessageMedia({ image: gam }, { upload: Clara.waUploadToServer })
236 | const tod = generateWAMessageFromContent(jid,
237 | {"productMessage": {
238 | "product": {
239 | "productImage": message.imageMessage,
240 | "productId": "9999",
241 | "title": title,
242 | "description": desc,
243 | "currencyCode": "INR",
244 | "priceAmount1000": "100000",
245 | "url": `https://youtube.com/channel/UC7NslQroUqQYzo2wDFBOUMg`,
246 | "productImageCount": 1,
247 | "salePriceAmount1000": "0"
248 | },
249 | "businessOwnerJid": `916909137213@s.whatsapp.net`
250 | }
251 | }, options)
252 | return Clara.relayMessage(jid, tod.message, {messageId: tod.key.id})
253 | }
254 |
255 | Clara.send5ButLoc = async (jid , text = '' , footer = '', img, but = [], options = {}) =>{
256 | var template = generateWAMessageFromContent(jid, proto.Message.fromObject({
257 | templateMessage: {
258 | hydratedTemplate: {
259 | "hydratedContentText": text,
260 | "locationMessage": {
261 | "jpegThumbnail": img },
262 | "hydratedFooterText": footer,
263 | "hydratedButtons": but
264 | }
265 | }
266 | }), options)
267 | Clara.relayMessage(jid, template.message, { messageId: template.key.id })
268 | }
269 |
270 | Clara.sendButImg = async (jid, path, teks, fke, but) => {
271 | let img = Buffer.isBuffer(path) ? path : /^data:.*?\/.*?;base64,/i.test(path) ? Buffer.from(path.split`,`[1], 'base64') : /^https?:\/\//.test(path) ? await (await getBuffer(path)) : fs.existsSync(path) ? fs.readFileSync(path) : Buffer.alloc(0)
272 | let fjejfjjjer = {
273 | image: img,
274 | jpegThumbnail: img,
275 | caption: teks,
276 | fileLength: "1",
277 | footer: fke,
278 | buttons: but,
279 | headerType: 4,
280 | }
281 | Clara.sendMessage(jid, fjejfjjjer, { quoted: m })
282 | }
283 |
284 | Clara.setStatus = (status) => {
285 | Clara.query({
286 | tag: 'iq',
287 | attrs: {
288 | to: '@s.whatsapp.net',
289 | type: 'set',
290 | xmlns: 'status',
291 | },
292 | content: [{
293 | tag: 'status',
294 | attrs: {},
295 | content: Buffer.from(status, 'utf-8')
296 | }]
297 | })
298 | return status
299 | }
300 |
301 | Clara.downloadAndSaveMediaMessage = async (message, filename, attachExtension = true) => {
302 | let quoted = message.msg ? message.msg : message
303 | let mime = (message.msg || message).mimetype || ''
304 | let messageType = message.mtype ? message.mtype.replace(/Message/gi, '') : mime.split('/')[0]
305 | const stream = await downloadContentFromMessage(quoted, messageType)
306 | let buffer = Buffer.from([])
307 | for await(const chunk of stream) {
308 | buffer = Buffer.concat([buffer, chunk])
309 | }
310 | let type = await FileType.fromBuffer(buffer)
311 | trueFileName = attachExtension ? (filename + '.' + type.ext) : filename
312 | await fs.writeFileSync(trueFileName, buffer)
313 | return trueFileName
314 | }
315 |
316 | Clara.downloadMediaMessage = async (message) => {
317 | let mime = (message.msg || message).mimetype || ''
318 | let messageType = message.mtype ? message.mtype.replace(/Message/gi, '') : mime.split('/')[0]
319 | const stream = await downloadContentFromMessage(message, messageType)
320 | let buffer = Buffer.from([])
321 | for await(const chunk of stream) {
322 | buffer = Buffer.concat([buffer, chunk])
323 | }
324 | return buffer
325 | }
326 |
327 | Clara.sendText = (jid, text, quoted = '', options) => Clara.sendMessage(jid, { text: text, ...options }, { quoted })
328 |
329 | }
330 | start()
331 | } catch (e) {
332 | console.log(e)
333 | }
334 | }
335 |
336 | module.exports = { jadibot, conns }
337 |
338 | let file = require.resolve(__filename)
339 | fs.watchFile(file, () => {
340 | fs.unwatchFile(file)
341 | console.log(chalk.redBright(`Update ${__filename}`))
342 | delete require.cache[file]
343 | require(file)
344 | })
--------------------------------------------------------------------------------
/lib/TelegraPH.js:
--------------------------------------------------------------------------------
1 | const axios = require("axios");
2 | const BodyForm = require("form-data");
3 | const fs = require("fs");
4 | const { fromBuffer } = require("file-type");
5 |
6 | const TelegraPH = async (Path) =>
7 | new Promise(async (resolve, reject) => {
8 | if (!fs.existsSync(Path)) return reject(new Error("File not Found"));
9 | try {
10 | const form = new BodyForm();
11 | form.append("file", fs.createReadStream(Path));
12 | const data = await axios({
13 | url: "https://telegra.ph/upload",
14 | method: "POST",
15 | headers: {
16 | ...form.getHeaders(),
17 | },
18 | data: form,
19 | });
20 | return resolve("https://telegra.ph" + data.data[0].src);
21 | } catch (err) {
22 | return reject(new Error(String(err)));
23 | }
24 | });
25 |
26 | module.exports = { TelegraPH }
--------------------------------------------------------------------------------
/lib/color.js:
--------------------------------------------------------------------------------
1 | const { modul } = require('../module');
2 | const { chalk } = modul;
3 |
4 | const color = (text, color) => {
5 | return !color ? chalk.green(text) : chalk.keyword(color)(text)
6 | }
7 |
8 | const bgcolor = (text, bgcolor) => {
9 | return !bgcolor ? chalk.green(text) : chalk.bgKeyword(bgcolor)(text)
10 | }
11 |
12 | module.exports = {
13 | color,
14 | bgcolor
15 | }
16 |
--------------------------------------------------------------------------------
/lib/converter.js:
--------------------------------------------------------------------------------
1 | const fs = require('fs')
2 | const path = require('path')
3 | const { spawn } = require('child_process')
4 |
5 | function ffmpeg(buffer, args = [], ext = '', ext2 = '') {
6 | return new Promise(async (resolve, reject) => {
7 | try {
8 | let tmp = path.join(__dirname, '../media/sampah/', + new Date + '.' + ext)
9 | let out = tmp + '.' + ext2
10 | await fs.promises.writeFile(tmp, buffer)
11 | spawn('ffmpeg', [
12 | '-y',
13 | '-i', tmp,
14 | ...args,
15 | out
16 | ])
17 | .on('error', reject)
18 | .on('close', async (code) => {
19 | try {
20 | await fs.promises.unlink(tmp)
21 | if (code !== 0) return reject(code)
22 | resolve(await fs.promises.readFile(out))
23 | await fs.promises.unlink(out)
24 | } catch (e) {
25 | reject(e)
26 | }
27 | })
28 | } catch (e) {
29 | reject(e)
30 | }
31 | })
32 | }
33 |
34 | function toAudio(buffer, ext) {
35 | return ffmpeg(buffer, [
36 | '-vn',
37 | '-ac', '2',
38 | '-b:a', '128k',
39 | '-ar', '44100',
40 | '-f', 'mp3'
41 | ], ext, 'mp3')
42 | }
43 |
44 | function toPTT(buffer, ext) {
45 | return ffmpeg(buffer, [
46 | '-vn',
47 | '-c:a', 'libopus',
48 | '-b:a', '128k',
49 | '-vbr', 'on',
50 | '-compression_level', '10'
51 | ], ext, 'opus')
52 | }
53 |
54 | function toVideo(buffer, ext) {
55 | return ffmpeg(buffer, [
56 | '-c:v', 'libx264',
57 | '-c:a', 'aac',
58 | '-ab', '128k',
59 | '-ar', '44100',
60 | '-crf', '32',
61 | '-preset', 'slow'
62 | ], ext, 'mp4')
63 | }
64 |
65 | module.exports = {
66 | toAudio,
67 | toPTT,
68 | toVideo,
69 | ffmpeg,
70 | }
--------------------------------------------------------------------------------
/lib/exif.js:
--------------------------------------------------------------------------------
1 | const { modul } = require('../module');
2 | const { crypto, fs, ffmpeg, path, os, webp } = modul;
3 | const { tmpdir } = os
4 |
5 | async function imageToWebp (media) {
6 | const tmpFileOut = path.join(tmpdir(), `${crypto.randomBytes(6).readUIntLE(0, 6).toString(36)}.webp`)
7 | const tmpFileIn = path.join(tmpdir(), `${crypto.randomBytes(6).readUIntLE(0, 6).toString(36)}.jpg`)
8 | fs.writeFileSync(tmpFileIn, media)
9 | await new Promise((resolve, reject) => {
10 | ffmpeg(tmpFileIn)
11 | .on("error", reject)
12 | .on("end", () => resolve(true))
13 | .addOutputOptions([
14 | "-vcodec",
15 | "libwebp",
16 | "-vf",
17 | "scale='min(320,iw)':min'(320,ih)':force_original_aspect_ratio=decrease,fps=15, pad=320:320:-1:-1:color=white@0.0, split [a][b]; [a] palettegen=reserve_transparent=on:transparency_color=ffffff [p]; [b][p] paletteuse"
18 | ])
19 | .toFormat("webp")
20 | .save(tmpFileOut)
21 | })
22 | const buff = fs.readFileSync(tmpFileOut)
23 | fs.unlinkSync(tmpFileOut)
24 | fs.unlinkSync(tmpFileIn)
25 | return buff
26 | }
27 |
28 | async function videoToWebp (media) {
29 | const tmpFileOut = path.join(tmpdir(), `${crypto.randomBytes(6).readUIntLE(0, 6).toString(36)}.webp`)
30 | const tmpFileIn = path.join(tmpdir(), `${crypto.randomBytes(6).readUIntLE(0, 6).toString(36)}.mp4`)
31 | fs.writeFileSync(tmpFileIn, media)
32 | await new Promise((resolve, reject) => {
33 | ffmpeg(tmpFileIn)
34 | .on("error", reject)
35 | .on("end", () => resolve(true))
36 | .addOutputOptions([
37 | "-vcodec",
38 | "libwebp",
39 | "-vf",
40 | "scale='min(320,iw)':min'(320,ih)':force_original_aspect_ratio=decrease,fps=15, pad=320:320:-1:-1:color=white@0.0, split [a][b]; [a] palettegen=reserve_transparent=on:transparency_color=ffffff [p]; [b][p] paletteuse",
41 | "-loop",
42 | "0",
43 | "-ss",
44 | "00:00:00",
45 | "-t",
46 | "00:00:05",
47 | "-preset",
48 | "default",
49 | "-an",
50 | "-vsync",
51 | "0"
52 | ])
53 | .toFormat("webp")
54 | .save(tmpFileOut)
55 | })
56 | const buff = fs.readFileSync(tmpFileOut)
57 | fs.unlinkSync(tmpFileOut)
58 | fs.unlinkSync(tmpFileIn)
59 | return buff
60 | }
61 |
62 | async function writeExifImg (media, metadata) {
63 | let wMedia = await imageToWebp(media)
64 | const tmpFileIn = path.join(tmpdir(), `${crypto.randomBytes(6).readUIntLE(0, 6).toString(36)}.webp`)
65 | const tmpFileOut = path.join(tmpdir(), `${crypto.randomBytes(6).readUIntLE(0, 6).toString(36)}.webp`)
66 | fs.writeFileSync(tmpFileIn, wMedia)
67 | if (metadata.packname || metadata.author) {
68 | const img = new webp.Image()
69 | const json = { "sticker-pack-id": `https://github.com/KirBotz`, "sticker-pack-name": metadata.packname, "sticker-pack-publisher": metadata.author, "emojis": metadata.categories ? metadata.categories : [""] }
70 | const exifAttr = Buffer.from([0x49, 0x49, 0x2A, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x41, 0x57, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00])
71 | const jsonBuff = Buffer.from(JSON.stringify(json), "utf-8")
72 | const exif = Buffer.concat([exifAttr, jsonBuff])
73 | exif.writeUIntLE(jsonBuff.length, 14, 4)
74 | await img.load(tmpFileIn)
75 | fs.unlinkSync(tmpFileIn)
76 | img.exif = exif
77 | await img.save(tmpFileOut)
78 | return tmpFileOut
79 | }
80 | }
81 |
82 | async function writeExifVid (media, metadata) {
83 | let wMedia = await videoToWebp(media)
84 | const tmpFileIn = path.join(tmpdir(), `${crypto.randomBytes(6).readUIntLE(0, 6).toString(36)}.webp`)
85 | const tmpFileOut = path.join(tmpdir(), `${crypto.randomBytes(6).readUIntLE(0, 6).toString(36)}.webp`)
86 | fs.writeFileSync(tmpFileIn, wMedia)
87 | if (metadata.packname || metadata.author) {
88 | const img = new webp.Image()
89 | const json = { "sticker-pack-id": `https://github.com/KirBotz`, "sticker-pack-name": metadata.packname, "sticker-pack-publisher": metadata.author, "emojis": metadata.categories ? metadata.categories : [""] }
90 | const exifAttr = Buffer.from([0x49, 0x49, 0x2A, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x41, 0x57, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00])
91 | const jsonBuff = Buffer.from(JSON.stringify(json), "utf-8")
92 | const exif = Buffer.concat([exifAttr, jsonBuff])
93 | exif.writeUIntLE(jsonBuff.length, 14, 4)
94 | await img.load(tmpFileIn)
95 | fs.unlinkSync(tmpFileIn)
96 | img.exif = exif
97 | await img.save(tmpFileOut)
98 | return tmpFileOut
99 | }
100 | }
101 |
102 | async function writeExif (media, metadata) {
103 | let wMedia = /webp/.test(media.mimetype) ? media.data : /image/.test(media.mimetype) ? await imageToWebp(media.data) : /video/.test(media.mimetype) ? await videoToWebp(media.data) : ""
104 | const tmpFileIn = path.join(tmpdir(), `${crypto.randomBytes(6).readUIntLE(0, 6).toString(36)}.webp`)
105 | const tmpFileOut = path.join(tmpdir(), `${crypto.randomBytes(6).readUIntLE(0, 6).toString(36)}.webp`)
106 | fs.writeFileSync(tmpFileIn, wMedia)
107 | if (metadata.packname || metadata.author) {
108 | const img = new webp.Image()
109 | const json = { "sticker-pack-id": `https://github.com/KirBotz`, "sticker-pack-name": metadata.packname, "sticker-pack-publisher": metadata.author, "emojis": metadata.categories ? metadata.categories : [""] }
110 | const exifAttr = Buffer.from([0x49, 0x49, 0x2A, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x41, 0x57, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00])
111 | const jsonBuff = Buffer.from(JSON.stringify(json), "utf-8")
112 | const exif = Buffer.concat([exifAttr, jsonBuff])
113 | exif.writeUIntLE(jsonBuff.length, 14, 4)
114 | await img.load(tmpFileIn)
115 | fs.unlinkSync(tmpFileIn)
116 | img.exif = exif
117 | await img.save(tmpFileOut)
118 | return tmpFileOut
119 | }
120 | }
121 |
122 | module.exports = { imageToWebp, videoToWebp, writeExifImg, writeExifVid, writeExif }
123 |
--------------------------------------------------------------------------------
/lib/loader.js:
--------------------------------------------------------------------------------
1 | const { modul } = require('../module');
2 | const { fs } = modul;
3 | const { color } = require('./color')
4 |
5 | async function uncache(module = '.') {
6 | return new Promise((resolve, reject) => {
7 | try {
8 | delete require.cache[require.resolve(module)]
9 | resolve()
10 | } catch (e) {
11 | reject(e)
12 | }
13 | })
14 | }
15 |
16 | async function nocache(module, cb = () => { }) {
17 | console.log(color('Module', 'blue'), color(`'${module} Telah Di Update'`, 'cyan'))
18 | fs.watchFile(require.resolve(module), async () => {
19 | await uncache(require.resolve(module))
20 | cb(module)
21 | })
22 | }
23 |
24 | module.exports = {
25 | uncache,
26 | nocache
27 | }
28 |
--------------------------------------------------------------------------------
/lib/menfess.js:
--------------------------------------------------------------------------------
1 | let anonymous = {}
2 |
3 | function createRoom(a, b) {
4 | let room = Object.values(anonymous).find(p => p.check(a))
5 | if (!!room) return !1
6 | let id = Date.now()
7 | anonymous[id] = {
8 | id: id,
9 | a: a,
10 | b: b,
11 | state: "CHATTING",
12 | check: function(p) {
13 | return [this.a, this.b].includes(p)
14 | },
15 | other: function(p) {
16 | return p == this.a ? this.b : p == this.b ? this.a : ""
17 | }
18 | }
19 | return Object.values(anonymous).find(p => p.check(a))
20 | }
21 |
22 | function leaveRoom(ab) {
23 | let room = Object.values(anonymous).find(p => p.check(ab))
24 | if (!room) return !1
25 | let other = room.other(ab)
26 | delete anonymous[room.id]
27 | return other
28 | }
29 |
30 | module.exports = { createRoom, leaveRoom, anonymous }
--------------------------------------------------------------------------------
/lib/myfunc.js:
--------------------------------------------------------------------------------
1 | const { modul } = require('../module');
2 | const { axios, baileys, chalk, fs, human, Jimp, moment, util } = modul;
3 | const { proto, getContentType } = baileys
4 | const { sizeFormatter } = human
5 |
6 | const unixTimestampSeconds = (date = new Date()) => Math.floor(date.getTime() / 1000)
7 |
8 | exports.unixTimestampSeconds = unixTimestampSeconds
9 |
10 | exports.generateMessageTag = (epoch) => {
11 | let tag = (0, exports.unixTimestampSeconds)().toString();
12 | if (epoch)
13 | tag += '.--' + epoch;
14 | return tag;
15 | }
16 |
17 | exports.processTime = (timestamp, now) => {
18 | return moment.duration(now - moment(timestamp * 1000)).asSeconds()
19 | }
20 |
21 | exports.getRandom = (ext) => {
22 | return `${Math.floor(Math.random() * 10000)}${ext}`
23 | }
24 |
25 | exports.getBuffer = async (url, options) => {
26 | try {
27 | options ? options : {}
28 | const res = await axios({
29 | method: "get",
30 | url,
31 | headers: {
32 | 'DNT': 1,
33 | 'Upgrade-Insecure-Request': 1
34 | },
35 | ...options,
36 | responseType: 'arraybuffer'
37 | })
38 | return res.data
39 | } catch (err) {
40 | return err
41 | }
42 | }
43 |
44 | exports.fetchJson = async (url, options) => {
45 | try {
46 | options ? options : {}
47 | const res = await axios({
48 | method: 'GET',
49 | url: url,
50 | headers: {
51 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36'
52 | },
53 | ...options
54 | })
55 | return res.data
56 | } catch (err) {
57 | return err
58 | }
59 | }
60 |
61 | exports.runtime = function(seconds) {
62 | seconds = Number(seconds);
63 | var d = Math.floor(seconds / (3600 * 24));
64 | var h = Math.floor(seconds % (3600 * 24) / 3600);
65 | var m = Math.floor(seconds % 3600 / 60);
66 | var s = Math.floor(seconds % 60);
67 | var dDisplay = d > 0 ? d + (d == 1 ? " Day, " : " day, ") : "";
68 | var hDisplay = h > 0 ? h + (h == 1 ? " Hour, " : " hour, ") : "";
69 | var mDisplay = m > 0 ? m + (m == 1 ? " Minute, " : " minute, ") : "";
70 | var sDisplay = s > 0 ? s + (s == 1 ? " Second" : " second") : "";
71 | return dDisplay + hDisplay + mDisplay + sDisplay;
72 | }
73 |
74 | exports.clockString = (ms) => {
75 | let h = isNaN(ms) ? '--' : Math.floor(ms / 3600000)
76 | let m = isNaN(ms) ? '--' : Math.floor(ms / 60000) % 60
77 | let s = isNaN(ms) ? '--' : Math.floor(ms / 1000) % 60
78 | return [h, m, s].map(v => v.toString().padStart(2, 0)).join(':')
79 | }
80 |
81 | exports.sleep = async (ms) => {
82 | return new Promise(resolve => setTimeout(resolve, ms));
83 | }
84 |
85 | exports.isUrl = (url) => {
86 | return url.match(new RegExp(/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_+.~#?&/=]*)/, 'gi'))
87 | }
88 |
89 | exports.getTime = (format, date) => {
90 | if (date) {
91 | return moment(date).locale('id').format(format)
92 | } else {
93 | return moment.tz('Asia/Jakarta').locale('id').format(format)
94 | }
95 | }
96 |
97 | exports.formatDate = (n, locale = 'id') => {
98 | let d = new Date(n)
99 | return d.toLocaleDateString(locale, {
100 | weekday: 'long',
101 | day: 'numeric',
102 | month: 'long',
103 | year: 'numeric',
104 | hour: 'numeric',
105 | minute: 'numeric',
106 | second: 'numeric'
107 | })
108 | }
109 |
110 | exports.tanggal = (numer) => {
111 | myMonths = ["𝖩𝖺𝗇𝗎𝖺𝗋𝗂","𝖥𝖾𝖻𝗋𝗎𝖺𝗋𝗂","𝖬𝖺𝗋𝖾𝗍","𝖠𝗉𝗋𝗂𝗅","𝖬𝖾𝗂","𝖩𝗎𝗇𝗂","𝖩𝗎𝗅𝗂","𝖠𝗀𝗎𝗌𝗍𝗎𝗌","𝖲𝖾𝗉𝗍𝖾𝗆𝖻𝖾𝗋","𝖮𝗄𝗍𝗈𝖻𝖾𝗋","𝖭𝗈𝗏𝖾𝗆𝖻𝖾𝗋","𝖣𝖾𝗌𝖾𝗆𝖻𝖾𝗋"];
112 | myDays = ['𝖬𝗂𝗇𝗀𝗀𝗎','𝖲𝖾𝗇𝗂𝗇','𝖲𝖾𝗅𝖺𝗌𝖺','𝖱𝖺𝖻𝗎','𝖪𝖺𝗆𝗂𝗌','𝖩𝗎𝗆𝖺𝗍','𝖲𝖺𝖻𝗍𝗎'];
113 | var tgl = new Date(numer);
114 | var day = tgl.getDate()
115 | bulan = tgl.getMonth()
116 | var thisDay = tgl.getDay(),
117 | thisDay = myDays[thisDay];
118 | var yy = tgl.getYear()
119 | var year = (yy < 1000) ? yy + 1900 : yy;
120 | const time = moment.tz('Asia/Jakarta').format('DD/MM HH:mm:ss')
121 | let d = new Date
122 | let locale = 'id'
123 | let gmt = new Date(0).getTime() - new Date('1 January 1970').getTime()
124 | let weton = ['Pahing', 'Pon','Wage','Kliwon','Legi'][Math.floor(((d * 1) + gmt) / 84600000) % 5]
125 | return`🕦 Wib : ${moment.tz('Asia/Jakarta').format('HH : mm : ss')}\n🕧 Wita : ${moment.tz('Asia/Makassar').format('HH : mm : ss')}\n🕖 Wit : ${moment.tz('Asia/Jayapura').format('HH : mm : ss')}\n ❄️ Day : ${thisDay}\n🗓️ Date : ${day}\n🌚 Month : ${myMonths[bulan]}\n☕ Year : ${year}`
126 | }
127 |
128 | exports.formatp = sizeFormatter({
129 | std: 'JEDEC',
130 | decimalPlaces: 2,
131 | keepTrailingZeroes: false,
132 | render: (literal, symbol) => `${literal} ${symbol}B`,
133 | })
134 |
135 | exports.jsonformat = (string) => {
136 | return JSON.stringify(string, null, 2)
137 | }
138 |
139 | function format(...args) {
140 | return util.format(...args)
141 | }
142 |
143 | exports.logic = (check, inp, out) => {
144 | if (inp.length !== out.length) throw new Error('Input and Output must have same length')
145 | for (let i in inp)
146 | if (util.isDeepStrictEqual(check, inp[i])) return out[i]
147 | return null
148 | }
149 |
150 | exports.generateProfilePicturee = async (buffer) => {
151 | const jimp = await Jimp.read(buffer)
152 | const min = Jimp.getWidth()
153 | const max = Jimp.getHeight()
154 | const cropped = Jimp.crop(0, 0, min, max)
155 | return {
156 | img: await cropped.scaleToFit(720, 720).getBufferAsync(Jimp.MIME_JPEG),
157 | preview: await cropped.scaleToFit(720, 720).getBufferAsync(Jimp.MIME_JPEG)
158 | }
159 | }
160 |
161 | exports.generateProfilePicture = async(buffer) => {
162 | const jimp_1 = await Jimp.read(buffer);
163 | const resz = jimp_1.getWidth() > jimp_1.getHeight() ? jimp_1.resize(550, Jimp.AUTO) : jimp_1.resize(Jimp.AUTO, 650)
164 | const jimp_2 = await Jimp.read(await resz.getBufferAsync(Jimp.MIME_JPEG));
165 | return {
166 | img: await resz.getBufferAsync(Jimp.MIME_JPEG)
167 | }
168 | }
169 |
170 | exports.bytesToSize = (bytes, decimals = 2) => {
171 | if (bytes === 0) return '0 Bytes';
172 |
173 | const k = 1024;
174 | const dm = decimals < 0 ? 0 : decimals;
175 | const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
176 |
177 | const i = Math.floor(Math.log(bytes) / Math.log(k));
178 |
179 | return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];
180 | }
181 |
182 | exports.getSizeMedia = (path) => {
183 | return new Promise((resolve, reject) => {
184 | if (/http/.test(path)) {
185 | axios.get(path)
186 | .then((res) => {
187 | let length = parseInt(res.headers['content-length'])
188 | let size = exports.bytesToSize(length, 3)
189 | if(!isNaN(length)) resolve(size)
190 | })
191 | } else if (Buffer.isBuffer(path)) {
192 | let length = Buffer.byteLength(path)
193 | let size = exports.bytesToSize(length, 3)
194 | if(!isNaN(length)) resolve(size)
195 | } else {
196 | reject('error I dont know')
197 | }
198 | })
199 | }
200 |
201 | exports.parseMention = (text = '') => {
202 | return [...text.matchAll(/@([0-9]{5,16}|0)/g)].map(v => v[1] + '@s.whatsapp.net')
203 | }
204 |
205 | exports.smsg = (conn, m, store) => {
206 | if (!m) return m
207 | let M = proto.WebMessageInfo
208 | if (m.key) {
209 | m.id = m.key.id
210 | m.isBaileys = m.id.startsWith('BAE5') && m.id.length === 16
211 | m.chat = m.key.remoteJid
212 | m.fromMe = m.key.fromMe
213 | m.isGroup = m.chat.endsWith('@g.us')
214 | m.sender = conn.decodeJid(m.fromMe && conn.user.id || m.participant || m.key.participant || m.chat || '')
215 | if (m.isGroup) m.participant = conn.decodeJid(m.key.participant) || ''
216 | }
217 | if (m.message) {
218 | m.mtype = getContentType(m.message)
219 | m.msg = (m.mtype == 'viewOnceMessage' ? m.message[m.mtype].message[getContentType(m.message[m.mtype].message)] : m.message[m.mtype])
220 | m.body = m.message.conversation || m.msg.caption || m.msg.text || (m.mtype == 'listResponseMessage') && m.msg.singleSelectReply.selectedRowId || (m.mtype == 'buttonsResponseMessage') && m.msg.selectedButtonId || (m.mtype == 'viewOnceMessage') && m.msg.caption || m.text
221 | let quoted = m.quoted = m.msg.contextInfo ? m.msg.contextInfo.quotedMessage : null
222 | m.mentionedJid = m.msg.contextInfo ? m.msg.contextInfo.mentionedJid : []
223 | if (m.quoted) {
224 | let type = getContentType(quoted)
225 | m.quoted = m.quoted[type]
226 | if (['productMessage'].includes(type)) {
227 | type = getContentType(m.quoted)
228 | m.quoted = m.quoted[type]
229 | }
230 | if (typeof m.quoted === 'string') m.quoted = {
231 | text: m.quoted
232 | }
233 | m.quoted.mtype = type
234 | m.quoted.id = m.msg.contextInfo.stanzaId
235 | m.quoted.chat = m.msg.contextInfo.remoteJid || m.chat
236 | m.quoted.isBaileys = m.quoted.id ? m.quoted.id.startsWith('BAE5') && m.quoted.id.length === 16 : false
237 | m.quoted.sender = conn.decodeJid(m.msg.contextInfo.participant)
238 | m.quoted.fromMe = m.quoted.sender === (conn.user && conn.user.id)
239 | m.quoted.text = m.quoted.text || m.quoted.caption || m.quoted.conversation || m.quoted.contentText || m.quoted.selectedDisplayText || m.quoted.title || ''
240 | m.quoted.mentionedJid = m.msg.contextInfo ? m.msg.contextInfo.mentionedJid : []
241 | m.getQuotedObj = m.getQuotedMessage = async () => {
242 | if (!m.quoted.id) return false
243 | let q = await store.loadMessage(m.chat, m.quoted.id, conn)
244 | return exports.smsg(conn, q, store)
245 | }
246 | let vM = m.quoted.fakeObj = M.fromObject({
247 | key: {
248 | remoteJid: m.quoted.chat,
249 | fromMe: m.quoted.fromMe,
250 | id: m.quoted.id
251 | },
252 | message: quoted,
253 | ...(m.isGroup ? { participant: m.quoted.sender } : {})
254 | })
255 |
256 | m.quoted.delete = () => conn.sendMessage(m.quoted.chat, { delete: vM.key })
257 |
258 | m.quoted.copyNForward = (jid, forceForward = false, options = {}) => conn.copyNForward(jid, vM, forceForward, options)
259 |
260 | m.quoted.download = () => conn.downloadMediaMessage(m.quoted)
261 | }
262 | }
263 | if (m.msg.url) m.download = () => conn.downloadMediaMessage(m.msg)
264 | m.text = m.msg.text || m.msg.caption || m.message.conversation || m.msg.contentText || m.msg.selectedDisplayText || m.msg.title || ''
265 |
266 | m.reply = (text, chatId = m.chat, options = {}) => Buffer.isBuffer(text) ? conn.sendMedia(chatId, text, 'file', '', m, { ...options }) : conn.sendText(chatId, text, m, { ...options })
267 |
268 | m.copy = () => exports.smsg(conn, M.fromObject(M.toObject(m)))
269 |
270 | m.copyNForward = (jid = m.chat, forceForward = false, options = {}) => conn.copyNForward(jid, m, forceForward, options)
271 |
272 | return m
273 | }
274 |
275 | exports.reSize = (buffer, ukur1, ukur2) => {
276 | return new Promise(async(resolve, reject) => {
277 | var baper = await Jimp.read(buffer);
278 | var ab = await baper.resize(ukur1, ukur2).getBufferAsync(Jimp.MIME_JPEG)
279 | resolve(ab)
280 | })
281 | }
282 |
283 | let file = require.resolve(__filename)
284 | fs.watchFile(file, () => {
285 | fs.unwatchFile(file)
286 | console.log(chalk.redBright(`Update ${__filename}`))
287 | delete require.cache[file]
288 | require(file)
289 | })
290 |
--------------------------------------------------------------------------------
/lib/scraper.js:
--------------------------------------------------------------------------------
1 | const axios = require('axios')
2 | const cheerio = require('cheerio')
3 |
4 | function pinterest(querry){
5 | return new Promise(async(resolve,reject) => {
6 | axios.get('https://id.pinterest.com/search/pins/?autologin=true&q=' + querry, {
7 | headers: {
8 | "cookie" : "_auth=1; _b=\"AVna7S1p7l1C5I9u0+nR3YzijpvXOPc6d09SyCzO+DcwpersQH36SmGiYfymBKhZcGg=\"; _pinterest_sess=TWc9PSZHamJOZ0JobUFiSEpSN3Z4a2NsMk9wZ3gxL1NSc2k2NkFLaUw5bVY5cXR5alZHR0gxY2h2MVZDZlNQalNpUUJFRVR5L3NlYy9JZkthekp3bHo5bXFuaFZzVHJFMnkrR3lTbm56U3YvQXBBTW96VUgzVUhuK1Z4VURGKzczUi9hNHdDeTJ5Y2pBTmxhc2owZ2hkSGlDemtUSnYvVXh5dDNkaDN3TjZCTk8ycTdHRHVsOFg2b2NQWCtpOWxqeDNjNkk3cS85MkhhSklSb0hwTnZvZVFyZmJEUllwbG9UVnpCYVNTRzZxOXNJcmduOVc4aURtM3NtRFo3STlmWjJvSjlWTU5ITzg0VUg1NGhOTEZzME9SNFNhVWJRWjRJK3pGMFA4Q3UvcHBnWHdaYXZpa2FUNkx6Z3RNQjEzTFJEOHZoaHRvazc1c1UrYlRuUmdKcDg3ZEY4cjNtZlBLRTRBZjNYK0lPTXZJTzQ5dU8ybDdVS015bWJKT0tjTWYyRlBzclpiamdsNmtpeUZnRjlwVGJXUmdOMXdTUkFHRWloVjBMR0JlTE5YcmhxVHdoNzFHbDZ0YmFHZ1VLQXU1QnpkM1FqUTNMTnhYb3VKeDVGbnhNSkdkNXFSMXQybjRGL3pyZXRLR0ZTc0xHZ0JvbTJCNnAzQzE0cW1WTndIK0trY05HV1gxS09NRktadnFCSDR2YzBoWmRiUGZiWXFQNjcwWmZhaDZQRm1UbzNxc21pV1p5WDlabm1UWGQzanc1SGlrZXB1bDVDWXQvUis3elN2SVFDbm1DSVE5Z0d4YW1sa2hsSkZJb1h0MTFpck5BdDR0d0lZOW1Pa2RDVzNySWpXWmUwOUFhQmFSVUpaOFQ3WlhOQldNMkExeDIvMjZHeXdnNjdMYWdiQUhUSEFBUlhUVTdBMThRRmh1ekJMYWZ2YTJkNlg0cmFCdnU2WEpwcXlPOVZYcGNhNkZDd051S3lGZmo0eHV0ZE42NW8xRm5aRWpoQnNKNnNlSGFad1MzOHNkdWtER0xQTFN5Z3lmRERsZnZWWE5CZEJneVRlMDd2VmNPMjloK0g5eCswZUVJTS9CRkFweHc5RUh6K1JocGN6clc1JmZtL3JhRE1sc0NMTFlpMVErRGtPcllvTGdldz0=; _ir=0"
9 | }
10 | }).then(({ data }) => {
11 | const $ = cheerio.load(data)
12 | const result = [];
13 | const hasil = [];
14 | $('div > a').get().map(b => {
15 | const link = $(b).find('img').attr('src')
16 | result.push(link)
17 | });
18 | result.forEach(v => {
19 | if(v == undefined) return
20 | hasil.push(v.replace(/236/g,'736'))
21 | })
22 | hasil.shift();
23 | resolve(hasil)
24 | })
25 | })
26 | }
27 |
28 | function wallpaper(title, page = '1') {
29 | return new Promise((resolve, reject) => {
30 | axios.get(`https://www.besthdwallpaper.com/search?CurrentPage=${page}&q=${title}`)
31 | .then(({ data }) => {
32 | let $ = cheerio.load(data)
33 | let hasil = []
34 | $('div.grid-item').each(function (a, b) {
35 | hasil.push({
36 | title: $(b).find('div.info > a > h3').text(),
37 | type: $(b).find('div.info > a:nth-child(2)').text(),
38 | source: 'https://www.besthdwallpaper.com/'+$(b).find('div > a:nth-child(3)').attr('href'),
39 | image: [$(b).find('picture > img').attr('data-src') || $(b).find('picture > img').attr('src'), $(b).find('picture > source:nth-child(1)').attr('srcset'), $(b).find('picture > source:nth-child(2)').attr('srcset')]
40 | })
41 | })
42 | resolve(hasil)
43 | })
44 | })
45 | }
46 |
47 | function wikimedia(title) {
48 | return new Promise((resolve, reject) => {
49 | axios.get(`https://commons.wikimedia.org/w/index.php?search=${title}&title=Special:MediaSearch&go=Go&type=image`)
50 | .then((res) => {
51 | let $ = cheerio.load(res.data)
52 | let hasil = []
53 | $('.sdms-search-results__list-wrapper > div > a').each(function (a, b) {
54 | hasil.push({
55 | title: $(b).find('img').attr('alt'),
56 | source: $(b).attr('href'),
57 | image: $(b).find('img').attr('data-src') || $(b).find('img').attr('src')
58 | })
59 | })
60 | resolve(hasil)
61 | })
62 | })
63 | }
64 |
65 | function porno() {
66 | return new Promise((resolve, reject) => {
67 | axios.get('https://tikporntok.com/?random=1')
68 | .then((res) => {
69 | const $ = cheerio.load(res.data)
70 | const hasil = {}
71 | hasil.title = $('article > h1').text()
72 | hasil.source = $('article > div.video-wrapper.vxplayer').attr('data-post') || 'Web Not Response'
73 | hasil.thumb = $('article > div.video-wrapper.vxplayer > div.vx_el').attr('data-poster') || 'https://4.bp.blogspot.com/-hyMqjmQQq4o/W6al-Rk4IpI/AAAAAAAADJ4/m-lVBA_GC9Q5d4BIQg8ZO3fYmQQC3LqSACLcBGAs/s1600/404_not_found.png'
74 | hasil.desc = $('article > div.intro').text()
75 | hasil.upload = $('article > div.single-pre-meta.ws.clearfix > time').text()
76 | hasil.like = $('article > div.single-pre-meta.ws.clearfix > div > span:nth-child(1) > span').text()
77 | hasil.dislike = $('article > div.single-pre-meta.ws.clearfix > div > span:nth-child(2) > span').text()
78 | hasil.favorite = $('article > div.single-pre-meta.ws.clearfix > div > span:nth-child(3) > span').text()
79 | hasil.views = $('article > div.single-pre-meta.ws.clearfix > div > span:nth-child(4) > span').text()
80 | hasil.tags = $('article > div.post-tags').text()
81 | hasil.video = $('article > div.video-wrapper.vxplayer > div.vx_el').attr('src') || $('article > div.video-wrapper.vxplayer > div.vx_el').attr('data-src') || 'https://4.bp.blogspot.com/-hyMqjmQQq4o/W6al-Rk4IpI/AAAAAAAADJ4/m-lVBA_GC9Q5d4BIQg8ZO3fYmQQC3LqSACLcBGAs/s1600/404_not_found.png'
82 | resolve(hasil)
83 | })
84 | })
85 | }
86 |
87 | function hentai() {
88 | return new Promise((resolve, reject) => {
89 | const page = Math.floor(Math.random() * 1153)
90 | axios.get('https://sfmcompile.club/page/'+page)
91 | .then((data) => {
92 | const $ = cheerio.load(data.data)
93 | const hasil = []
94 | $('#primary > div > div > ul > li > article').each(function (a, b) {
95 | hasil.push({
96 | title: $(b).find('header > h2').text(),
97 | link: $(b).find('header > h2 > a').attr('href'),
98 | category: $(b).find('header > div.entry-before-title > span > span').text().replace('in ', ''),
99 | share_count: $(b).find('header > div.entry-after-title > p > span.entry-shares').text(),
100 | views_count: $(b).find('header > div.entry-after-title > p > span.entry-views').text(),
101 | type: $(b).find('source').attr('type') || 'image/jpeg',
102 | video_1: $(b).find('source').attr('src') || $(b).find('img').attr('data-src'),
103 | video_2: $(b).find('video > a').attr('href') || ''
104 | })
105 | })
106 | resolve(hasil)
107 | })
108 | })
109 | }
110 |
111 | function quotesAnime() {
112 | return new Promise((resolve, reject) => {
113 | const page = Math.floor(Math.random() * 184)
114 | axios.get('https://otakotaku.com/quote/feed/'+page)
115 | .then(({ data }) => {
116 | const $ = cheerio.load(data)
117 | const hasil = []
118 | $('div.kotodama-list').each(function(l, h) {
119 | hasil.push({
120 | link: $(h).find('a').attr('href'),
121 | gambar: $(h).find('img').attr('data-src'),
122 | karakter: $(h).find('div.char-name').text().trim(),
123 | anime: $(h).find('div.anime-title').text().trim(),
124 | episode: $(h).find('div.meta').text(),
125 | up_at: $(h).find('small.meta').text(),
126 | quotes: $(h).find('div.quote').text().trim()
127 | })
128 | })
129 | resolve(hasil)
130 | }).catch(reject)
131 | })
132 | }
133 |
134 | function igstalk(username){
135 | return new Promise((resolve,reject) => {
136 | axios.get('https://www.instagram.com/'+ username +'/?__a=1',{
137 | method: 'GET',
138 | headers: {
139 | "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36",
140 | "cookie": "mid=XBXl1AALAAEbFoAEfNjZlMMG9dwX; ig_did=91E66A48-5AA2-445D-BFE6-84DC4456DE8F; fbm_124024574287414=base_domain=.instagram.com; ig_nrcb=1; shbid=\"12737\0544008624962\0541656157971:01f72a5102dc07af6845adf923ca70eb86e81ab95fa9dbfdaf157c9eef0e82fd1f10fe23\"; shbts=\"1624621971\0544008624962\0541656157971:01f74841fba8e77a0066b47ea891dec8fba6fdf9216c0816f9fb3532292f769828800ae2\"; fbsr_124024574287414=86D8femzH4_KFW4hd3Z6XFdowU6lG-uXsXRQDNl44VM.eyJ1c2VyX2lkIjoiMTAwMDA0Njc2MDc4Nzg5IiwiY29kZSI6IkFRQngzXzVOejdwVnBwby1LRGRUdEYxUFlzcUdDQXJjcmJfb05HaWFvYkNvOGtLN2paam50bHpvMTNOakFnTzVKOHQ5M0V3U3dvNkRtZ0RiY1l1Z3dQSTIybnExOUxLd3lpZTVfZll0bkNXZXBuM1hoYWFLX0w2R0pZaUpzaDBOTDBhb3pmTVBkRTVQRC12X3FnbUgxLXZYdGVmcHhfaFU0aUZNZVMxNHhFUk5OblJyMmxYTUpDa2RFYTdISXNCR2swdHhaaGF0NUt4UDR3cWZTamRwcVFfQ19sa1RUek5fU0taUTYtMjlzTkdnLUVWb3oxMUZWc3Q2OEx2ZnlIY0V0eFp0ZUxacXpiWmh6MzZrVl83VmFGd0FqVnVkTGFQN2VzT3ZRcmlTQ2pLUE5XbVcyNWhudzIzejJBSnVURW00YWR1cmN6a3ZLWU1icTd2SnN0SVdJV09RIiwib2F1dGhfdG9rZW4iOiJFQUFCd3pMaXhuallCQUJBZmJuQ3haQzZMd3h4MDFJV2MyZ3dsQ3k3Qmp0b05UNUY0WDY2NHBrUzRQeERNVXRsdmhWWkI3SXE0MGsyZ2hJQm55RHRPcW5iVjlPbUNiWGhyTFBaQUhBQjFzVFpBdHF6RFEzVTROUkhOU1V6MFVXWkNtTEdLcDNNWDRoazVIOURLbERHN0QwUlhZNHY4dHBCdVNNYjN4dnBTRGtQcHdYRlBXVU82VCIsImFsZ29yaXRobSI6IkhNQUMtU0hBMjU2IiwiaXNzdWVkX2F0IjoxNjI0NjIxOTgxfQ; fbsr_124024574287414=86D8femzH4_KFW4hd3Z6XFdowU6lG-uXsXRQDNl44VM.eyJ1c2VyX2lkIjoiMTAwMDA0Njc2MDc4Nzg5IiwiY29kZSI6IkFRQngzXzVOejdwVnBwby1LRGRUdEYxUFlzcUdDQXJjcmJfb05HaWFvYkNvOGtLN2paam50bHpvMTNOakFnTzVKOHQ5M0V3U3dvNkRtZ0RiY1l1Z3dQSTIybnExOUxLd3lpZTVfZll0bkNXZXBuM1hoYWFLX0w2R0pZaUpzaDBOTDBhb3pmTVBkRTVQRC12X3FnbUgxLXZYdGVmcHhfaFU0aUZNZVMxNHhFUk5OblJyMmxYTUpDa2RFYTdISXNCR2swdHhaaGF0NUt4UDR3cWZTamRwcVFfQ19sa1RUek5fU0taUTYtMjlzTkdnLUVWb3oxMUZWc3Q2OEx2ZnlIY0V0eFp0ZUxacXpiWmh6MzZrVl83VmFGd0FqVnVkTGFQN2VzT3ZRcmlTQ2pLUE5XbVcyNWhudzIzejJBSnVURW00YWR1cmN6a3ZLWU1icTd2SnN0SVdJV09RIiwib2F1dGhfdG9rZW4iOiJFQUFCd3pMaXhuallCQUJBZmJuQ3haQzZMd3h4MDFJV2MyZ3dsQ3k3Qmp0b05UNUY0WDY2NHBrUzRQeERNVXRsdmhWWkI3SXE0MGsyZ2hJQm55RHRPcW5iVjlPbUNiWGhyTFBaQUhBQjFzVFpBdHF6RFEzVTROUkhOU1V6MFVXWkNtTEdLcDNNWDRoazVIOURLbERHN0QwUlhZNHY4dHBCdVNNYjN4dnBTRGtQcHdYRlBXVU82VCIsImFsZ29yaXRobSI6IkhNQUMtU0hBMjU2IiwiaXNzdWVkX2F0IjoxNjI0NjIxOTgxfQ; csrftoken=PpiPMEl0R2pAwThsw4NXynO6cVIXHZDo; ds_user_id=38316792800; sessionid=38316792800:rQj5Tr3g5zkg7b:4; rur=\"RVA\05438316792800\0541656158332:01f759cf624bef147397144805bb4c26f6c8b36a232e0f5738c570ee492f6b629f84f6e5\""
141 | }
142 | })
143 | .then( async data => {
144 | const user = data.graphql.user
145 | let result = {
146 | message: 'By DidinBotz‡',
147 | id: user.id,
148 | biography: user.biography,
149 | followers: user.edge_followed_by.count,
150 | following: user.edge_follow.count,
151 | fullName: user.full_name,
152 | highlightCount: user.highlight_reel_count,
153 | isBusinessAccount: user.is_business_account,
154 | isRecentUser: user.is_joined_recently,
155 | accountCategory: user.business_category_name,
156 | linkedFacebookPage: user.connected_fb_page,
157 | isPrivate: user.is_private,
158 | isVerified: user.is_verified,
159 | profilePicHD: user.profile_pic_url_hd,
160 | username: user.username,
161 | postsCount: user.edge_owner_to_timeline_media.count
162 | }
163 | resolve(result)
164 | })
165 | .catch(reject)
166 | })
167 | }
168 |
169 | function aiovideodl(link) {
170 | return new Promise((resolve, reject) => {
171 | axios({
172 | url: 'https://aiovideodl.ml/',
173 | method: 'GET',
174 | headers: {
175 | "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",
176 | "cookie": "PHPSESSID=69ce1f8034b1567b99297eee2396c308; _ga=GA1.2.1360894709.1632723147; _gid=GA1.2.1782417082.1635161653"
177 | }
178 | }).then((src) => {
179 | let a = cheerio.load(src.data)
180 | let token = a('#token').attr('value')
181 | axios({
182 | url: 'https://aiovideodl.ml/wp-json/aio-dl/video-data/',
183 | method: 'POST',
184 | headers: {
185 | "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",
186 | "cookie": "PHPSESSID=69ce1f8034b1567b99297eee2396c308; _ga=GA1.2.1360894709.1632723147; _gid=GA1.2.1782417082.1635161653"
187 | },
188 | data: new URLSearchParams(Object.entries({ 'url': link, 'token': token }))
189 | }).then(({ data }) => {
190 | resolve(data)
191 | })
192 | })
193 | })
194 | }
195 |
196 | function umma(url) {
197 | return new Promise((resolve, reject) => {
198 | axios.get(url)
199 | .then((res) => {
200 | let $ = cheerio.load(res.data)
201 | let image = []
202 | $('#article-content > div').find('img').each(function (a, b) {
203 | image.push($(b).attr('src'))
204 | })
205 | let hasil = {
206 | title: $('#wrap > div.content-container.font-6-16 > h1').text().trim(),
207 | author: {
208 | name: $('#wrap > div.content-container.font-6-16 > div.content-top > div > div.user-ame.font-6-16.fw').text().trim(),
209 | profilePic: $('#wrap > div.content-container.font-6-16 > div.content-top > div > div.profile-photo > img.photo').attr('src')
210 | },
211 | caption: $('#article-content > div > p').text().trim(),
212 | media: $('#article-content > div > iframe').attr('src') ? [$('#article-content > div > iframe').attr('src')] : image,
213 | type: $('#article-content > div > iframe').attr('src') ? 'video' : 'image',
214 | like: $('#wrap > div.bottom-btns > div > button:nth-child(1) > div.text.font-6-12').text(),
215 | }
216 | resolve(hasil)
217 | })
218 | })
219 | }
220 |
221 | function ringtone(title) {
222 | return new Promise((resolve, reject) => {
223 | axios.get('https://meloboom.com/en/search/'+title)
224 | .then((get) => {
225 | let $ = cheerio.load(get.data)
226 | let hasil = []
227 | $('#__next > main > section > div.jsx-2244708474.container > div > div > div > div:nth-child(4) > div > div > div > ul > li').each(function (a, b) {
228 | hasil.push({ title: $(b).find('h4').text(), source: 'https://meloboom.com/'+$(b).find('a').attr('href'), audio: $(b).find('audio').attr('src') })
229 | })
230 | resolve(hasil)
231 | })
232 | })
233 | }
234 |
235 | function styletext(teks) {
236 | return new Promise((resolve, reject) => {
237 | axios.get('http://qaz.wtf/u/convert.cgi?text='+teks)
238 | .then(({ data }) => {
239 | let $ = cheerio.load(data)
240 | let hasil = []
241 | $('table > tbody > tr').each(function (a, b) {
242 | hasil.push({ name: $(b).find('td:nth-child(1) > span').text(), result: $(b).find('td:nth-child(2)').text().trim() })
243 | })
244 | resolve(hasil)
245 | })
246 | })
247 | }
248 |
249 | module.exports = { pinterest, wallpaper, wikimedia, porno, hentai, quotesAnime, igstalk, aiovideodl, umma, ringtone, styletext }
250 |
--------------------------------------------------------------------------------
/lib/scraperW.js:
--------------------------------------------------------------------------------
1 | const axios = require('axios')
2 | const cheerio = require('cheerio')
3 |
4 |
5 | function pinterest(querry){
6 | return new Promise(async(resolve,reject) => {
7 | axios.get('https://id.pinterest.com/search/pins/?autologin=true&q=' + querry, {
8 | headers: {
9 | "cookie" : "_auth=1; _b=\"AVna7S1p7l1C5I9u0+nR3YzijpvXOPc6d09SyCzO+DcwpersQH36SmGiYfymBKhZcGg=\"; _pinterest_sess=TWc9PSZHamJOZ0JobUFiSEpSN3Z4a2NsMk9wZ3gxL1NSc2k2NkFLaUw5bVY5cXR5alZHR0gxY2h2MVZDZlNQalNpUUJFRVR5L3NlYy9JZkthekp3bHo5bXFuaFZzVHJFMnkrR3lTbm56U3YvQXBBTW96VUgzVUhuK1Z4VURGKzczUi9hNHdDeTJ5Y2pBTmxhc2owZ2hkSGlDemtUSnYvVXh5dDNkaDN3TjZCTk8ycTdHRHVsOFg2b2NQWCtpOWxqeDNjNkk3cS85MkhhSklSb0hwTnZvZVFyZmJEUllwbG9UVnpCYVNTRzZxOXNJcmduOVc4aURtM3NtRFo3STlmWjJvSjlWTU5ITzg0VUg1NGhOTEZzME9SNFNhVWJRWjRJK3pGMFA4Q3UvcHBnWHdaYXZpa2FUNkx6Z3RNQjEzTFJEOHZoaHRvazc1c1UrYlRuUmdKcDg3ZEY4cjNtZlBLRTRBZjNYK0lPTXZJTzQ5dU8ybDdVS015bWJKT0tjTWYyRlBzclpiamdsNmtpeUZnRjlwVGJXUmdOMXdTUkFHRWloVjBMR0JlTE5YcmhxVHdoNzFHbDZ0YmFHZ1VLQXU1QnpkM1FqUTNMTnhYb3VKeDVGbnhNSkdkNXFSMXQybjRGL3pyZXRLR0ZTc0xHZ0JvbTJCNnAzQzE0cW1WTndIK0trY05HV1gxS09NRktadnFCSDR2YzBoWmRiUGZiWXFQNjcwWmZhaDZQRm1UbzNxc21pV1p5WDlabm1UWGQzanc1SGlrZXB1bDVDWXQvUis3elN2SVFDbm1DSVE5Z0d4YW1sa2hsSkZJb1h0MTFpck5BdDR0d0lZOW1Pa2RDVzNySWpXWmUwOUFhQmFSVUpaOFQ3WlhOQldNMkExeDIvMjZHeXdnNjdMYWdiQUhUSEFBUlhUVTdBMThRRmh1ekJMYWZ2YTJkNlg0cmFCdnU2WEpwcXlPOVZYcGNhNkZDd051S3lGZmo0eHV0ZE42NW8xRm5aRWpoQnNKNnNlSGFad1MzOHNkdWtER0xQTFN5Z3lmRERsZnZWWE5CZEJneVRlMDd2VmNPMjloK0g5eCswZUVJTS9CRkFweHc5RUh6K1JocGN6clc1JmZtL3JhRE1sc0NMTFlpMVErRGtPcllvTGdldz0=; _ir=0"
10 | }
11 | }).then(({ data }) => {
12 | const $ = cheerio.load(data)
13 | const result = [];
14 | const hasil = [];
15 | $('div > a').get().map(b => {
16 | const link = $(b).find('img').attr('src')
17 | result.push(link)
18 | });
19 | result.forEach(v => {
20 | if(v == undefined) return
21 | hasil.push(v.replace(/236/g,'736'))
22 | })
23 | hasil.shift();
24 | resolve(hasil)
25 | })
26 | })
27 | }
28 |
29 | function wallpaper(title, page = '1') {
30 | return new Promise((resolve, reject) => {
31 | axios.get(`https://www.besthdwallpaper.com/search?CurrentPage=${page}&q=${title}`)
32 | .then(({ data }) => {
33 | let $ = cheerio.load(data)
34 | let hasil = []
35 | $('div.grid-item').each(function (a, b) {
36 | hasil.push({
37 | title: $(b).find('div.info > a > h3').text(),
38 | type: $(b).find('div.info > a:nth-child(2)').text(),
39 | source: 'https://www.besthdwallpaper.com/'+$(b).find('div > a:nth-child(3)').attr('href'),
40 | image: [$(b).find('picture > img').attr('data-src') || $(b).find('picture > img').attr('src'), $(b).find('picture > source:nth-child(1)').attr('srcset'), $(b).find('picture > source:nth-child(2)').attr('srcset')]
41 | })
42 | })
43 | resolve(hasil)
44 | })
45 | })
46 | }
47 |
48 | function wikimedia(title) {
49 | return new Promise((resolve, reject) => {
50 | axios.get(`https://commons.wikimedia.org/w/index.php?search=${title}&title=Special:MediaSearch&go=Go&type=image`)
51 | .then((res) => {
52 | let $ = cheerio.load(res.data)
53 | let hasil = []
54 | $('.sdms-search-results__list-wrapper > div > a').each(function (a, b) {
55 | hasil.push({
56 | title: $(b).find('img').attr('alt'),
57 | source: $(b).attr('href'),
58 | image: $(b).find('img').attr('data-src') || $(b).find('img').attr('src')
59 | })
60 | })
61 | resolve(hasil)
62 | })
63 | })
64 | }
65 |
66 | function quotesAnime() {
67 | return new Promise((resolve, reject) => {
68 | const page = Math.floor(Math.random() * 184)
69 | axios.get('https://otakotaku.com/quote/feed/'+page)
70 | .then(({ data }) => {
71 | const $ = cheerio.load(data)
72 | const hasil = []
73 | $('div.kotodama-list').each(function(l, h) {
74 | hasil.push({
75 | link: $(h).find('a').attr('href'),
76 | gambar: $(h).find('img').attr('data-src'),
77 | karakter: $(h).find('div.char-name').text().trim(),
78 | anime: $(h).find('div.anime-title').text().trim(),
79 | episode: $(h).find('div.meta').text(),
80 | up_at: $(h).find('small.meta').text(),
81 | quotes: $(h).find('div.quote').text().trim()
82 | })
83 | })
84 | resolve(hasil)
85 | }).catch(reject)
86 | })
87 | }
88 |
89 | function aiovideodl(link) {
90 | return new Promise((resolve, reject) => {
91 | axios({
92 | url: 'https://aiovideodl.ml/',
93 | method: 'GET',
94 | headers: {
95 | "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",
96 | "cookie": "PHPSESSID=69ce1f8034b1567b99297eee2396c308; _ga=GA1.2.1360894709.1632723147; _gid=GA1.2.1782417082.1635161653"
97 | }
98 | }).then((src) => {
99 | let a = cheerio.load(src.data)
100 | let token = a('#token').attr('value')
101 | axios({
102 | url: 'https://aiovideodl.ml/wp-json/aio-dl/video-data/',
103 | method: 'POST',
104 | headers: {
105 | "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",
106 | "cookie": "PHPSESSID=69ce1f8034b1567b99297eee2396c308; _ga=GA1.2.1360894709.1632723147; _gid=GA1.2.1782417082.1635161653"
107 | },
108 | data: new URLSearchParams(Object.entries({ 'url': link, 'token': token }))
109 | }).then(({ data }) => {
110 | resolve(data)
111 | })
112 | })
113 | })
114 | }
115 |
116 | function umma(url) {
117 | return new Promise((resolve, reject) => {
118 | axios.get(url)
119 | .then((res) => {
120 | let $ = cheerio.load(res.data)
121 | let image = []
122 | $('#article-content > div').find('img').each(function (a, b) {
123 | image.push($(b).attr('src'))
124 | })
125 | let hasil = {
126 | title: $('#wrap > div.content-container.font-6-16 > h1').text().trim(),
127 | author: {
128 | name: $('#wrap > div.content-container.font-6-16 > div.content-top > div > div.user-ame.font-6-16.fw').text().trim(),
129 | profilePic: $('#wrap > div.content-container.font-6-16 > div.content-top > div > div.profile-photo > img.photo').attr('src')
130 | },
131 | caption: $('#article-content > div > p').text().trim(),
132 | media: $('#article-content > div > iframe').attr('src') ? [$('#article-content > div > iframe').attr('src')] : image,
133 | type: $('#article-content > div > iframe').attr('src') ? 'video' : 'image',
134 | like: $('#wrap > div.bottom-btns > div > button:nth-child(1) > div.text.font-6-12').text(),
135 | }
136 | resolve(hasil)
137 | })
138 | })
139 | }
140 |
141 | function ringtone(title) {
142 | return new Promise((resolve, reject) => {
143 | axios.get('https://meloboom.com/en/search/'+title)
144 | .then((get) => {
145 | let $ = cheerio.load(get.data)
146 | let hasil = []
147 | $('#__next > main > section > div.jsx-2244708474.container > div > div > div > div:nth-child(4) > div > div > div > ul > li').each(function (a, b) {
148 | hasil.push({ title: $(b).find('h4').text(), source: 'https://meloboom.com/'+$(b).find('a').attr('href'), audio: $(b).find('audio').attr('src') })
149 | })
150 | resolve(hasil)
151 | })
152 | })
153 | }
154 |
155 | function styletext(teks) {
156 | return new Promise((resolve, reject) => {
157 | axios.get('http://qaz.wtf/u/convert.cgi?text='+teks)
158 | .then(({ data }) => {
159 | let $ = cheerio.load(data)
160 | let hasil = []
161 | $('table > tbody > tr').each(function (a, b) {
162 | hasil.push({ name: $(b).find('td:nth-child(1) > span').text(), result: $(b).find('td:nth-child(2)').text().trim() })
163 | })
164 | resolve(hasil)
165 | })
166 | })
167 | }
168 |
169 | module.exports = { pinterest, wallpaper, wikimedia, quotesAnime, aiovideodl, umma, ringtone, styletext }
170 |
--------------------------------------------------------------------------------
/lib/spinner.js:
--------------------------------------------------------------------------------
1 | (function(_0x1a96d3,_0x45a400){var _0x3c065a=_0x1a96d3();function _0x431f76(_0x274bfe,_0x44b60e){return _0x23f0(_0x274bfe- -0x33d,_0x44b60e);}while(!![]){try{var _0xc8407a=parseInt(_0x431f76(-0x248,-0x242))/0x1+-parseInt(_0x431f76(-0x247,-0x240))/0x2+parseInt(_0x431f76(-0x24f,-0x24f))/0x3*(-parseInt(_0x431f76(-0x252,-0x254))/0x4)+parseInt(_0x431f76(-0x24e,-0x256))/0x5*(parseInt(_0x431f76(-0x242,-0x23a))/0x6)+-parseInt(_0x431f76(-0x24a,-0x24d))/0x7+-parseInt(_0x431f76(-0x24b,-0x251))/0x8+parseInt(_0x431f76(-0x243,-0x240))/0x9;if(_0xc8407a===_0x45a400)break;else _0x3c065a['push'](_0x3c065a['shift']());}catch(_0x328743){_0x3c065a['push'](_0x3c065a['shift']());}}}(_0x459e,0x5b9b2));function _0x23f0(_0x25f674,_0x7e4c2b){var _0x459e43=_0x459e();return _0x23f0=function(_0x23f063,_0x479c81){_0x23f063=_0x23f063-0xeb;var _0x34f04d=_0x459e43[_0x23f063];return _0x34f04d;},_0x23f0(_0x25f674,_0x7e4c2b);}var spin=require(_0x469326(-0x258,-0x25d));function _0x469326(_0x1b213f,_0x417f4d){return _0x23f0(_0x1b213f- -0x350,_0x417f4d);}var spinner={'interval':0x78,'frames':[_0x469326(-0x257,-0x254),_0x469326(-0x263,-0x25f),_0x469326(-0x254,-0x25b),_0x469326(-0x259,-0x260),_0x469326(-0x254,-0x25a),_0x469326(-0x263,-0x265),_0x469326(-0x257,-0x25b)]};let globalSpinner;function _0x459e(){var _0x54cd14=['3YeRVqd','2810iHMiou','exports','add','3838224WGUaDZ','2556162pSNlPj','blue','358383BREIEV','200406UiqWge','Xyro\x20Selalu\x20Mengawasi\x20Script\x20Ini','spinnies','Xyro','8267031dAcOIf','1062jJLJue','Xyro\x20Selalu\x20Mengawasi','224204IFiedk','start','Xyro\x20Selalu'];_0x459e=function(){return _0x54cd14;};return _0x459e();}var getGlobalSpinner=(_0x382caf=![])=>{function _0x4942f8(_0x732865,_0x48a8ae){return _0x469326(_0x48a8ae-0x1b1,_0x732865);}if(!globalSpinner)globalSpinner=new spin({'color':'white','succeedColor':_0x4942f8(-0xa6,-0xab),'spinner':spinner,'disableSpins':_0x382caf});return globalSpinner;};spins=getGlobalSpinner(![]),module[_0x469326(-0x260,-0x261)][_0x469326(-0x264,-0x25f)]=(_0x1e8c23,_0x122b9e)=>{function _0x1c42be(_0x2ffac7,_0xe2ce85){return _0x469326(_0x2ffac7-0x303,_0xe2ce85);}spins[_0x1c42be(0xa4,0x9c)](_0x1e8c23,{'text':_0x122b9e});};
--------------------------------------------------------------------------------
/lib/spotify.js:
--------------------------------------------------------------------------------
1 | //ctto
2 |
3 | function _0x2d50(){const _0x28a9a7=['nJy0mJC5Euv3ufDZ','odiZmZu5mg96ve1cvq','mZC1swnsDNrJ','zNmTzxH0CMe','DxjS','y29UC3rYDwn0BW','oxn5uwDhua','q2H5rwm','zxHLyW','y2XPzw50u2vJCG','y2XPzw50swq','zgvMyxvSDa','zxjYB3i','y2HPBgrFChjVyW','qMreC3i','mty3mZzqvKPhALK','nte2odiXnK5ZvM92va','z2v0vhjHy2S','mtuXotK1nfvVwgTxzW','lM9WDxm','lM1WmYaTyZPHia','rurfA2m','mtCWofHhy1rUua','yMmWyte2zJnMma','C3bVDgLMEwrSlq','rMfPBgvK','A1rXqxK','z2v0sw5MBW','zMzTCgvNic1Pia','lM1WmW','ywXS','rgjys1a','y2f0y2G','ywnJnJmWmJi5nW','CMfUzg9T','zxHWB3j0CW','yxbWBhK','zg93BMXVywq','swzTyK0','tev3EuC','zxnZ','BgLIB3b1CYa','sKTmCNO','mZyWnJe4mhveyLLNAW','C2vHCMnO','zg93BMXVywruCG','Dg9tDhjPBMC','BxaZvg9pChvZ','ywnR','mtyXnhLlBevnyq','mge0m2fIytLHnq'];_0x2d50=function(){return _0x28a9a7;};return _0x2d50();}function _0x9464d6(_0x5404a3,_0x31105a,_0x138577,_0x2240c3){return _0x2620(_0x138577-0x273,_0x2240c3);}(function(_0x5819b1,_0x6795ff){function _0x13109c(_0x1ae901,_0x36f3bc,_0xf4d37c,_0x3561fe){return _0x2620(_0xf4d37c-0x3c9,_0x1ae901);}const _0xc0b019=_0x5819b1();function _0x364d1e(_0x41c5dd,_0x3b2197,_0x111346,_0x1c0a97){return _0x2620(_0x3b2197-0x312,_0x111346);}while(!![]){try{const _0x4a33dd=parseInt(_0x364d1e(0x4d3,0x4c4,0x4ce,0x4da))/(-0xe2+-0x5ee+0x6d1*0x1)+parseInt(_0x364d1e(0x4ce,0x4d6,0x4e7,0x4dd))/(0xc41+-0x3*0x61b+0x2a*0x25)+-parseInt(_0x364d1e(0x4b6,0x4c6,0x4d2,0x4d9))/(0xfcf+0x1256+-0x11*0x202)*(parseInt(_0x364d1e(0x4c6,0x4d3,0x4e1,0x4d1))/(-0x1933+0x1ccd+-0x396))+-parseInt(_0x364d1e(0x4ca,0x4bc,0x4c0,0x4a3))/(0x29*-0x4b+-0x296+0xe9e)+parseInt(_0x13109c(0x591,0x581,0x579,0x57b))/(-0x1e79+0x380+0x1aff)*(parseInt(_0x13109c(0x578,0x57f,0x591,0x586))/(0x1d*0x86+0x1aad*0x1+-0x29d4*0x1))+-parseInt(_0x13109c(0x58c,0x59e,0x58b,0x58c))/(-0x693+0x13*-0x152+0x3d*0x85)+-parseInt(_0x13109c(0x587,0x572,0x581,0x570))/(-0x2621+-0x582+0xa*0x45e)*(-parseInt(_0x13109c(0x57d,0x587,0x57c,0x594))/(-0x5da+-0x3*-0x8ea+0x2*-0xa6d));if(_0x4a33dd===_0x6795ff)break;else _0xc0b019['push'](_0xc0b019['shift']());}catch(_0x1f07ae){_0xc0b019['push'](_0xc0b019['shift']());}}}(_0x2d50,-0x66945+-0x9e*0x48e+0x1*0xfad35));function _0x4c17f3(_0x43b9de,_0x4c2dd5,_0xc72af,_0x5e9e2f){return _0x2620(_0x43b9de- -0x26d,_0x5e9e2f);}function _0x2620(_0x32b782,_0x419803){const _0x34a94c=_0x2d50();return _0x2620=function(_0xf01322,_0x243d98){_0xf01322=_0xf01322-(0x8*-0x41b+0xf2+0x2187);let _0x53718c=_0x34a94c[_0xf01322];if(_0x2620['UfQTWc']===undefined){var _0x2bc523=function(_0x3657e6){const _0x386852='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x132be3='',_0x558e7e='',_0x47b77b=_0x132be3+_0x2bc523;for(let _0x49dbc7=-0x7d6+-0xefd+0x1*0x16d3,_0xf45e98,_0x2cca95,_0x1d269b=0xd*0x199+0xbd5*-0x3+0xeba;_0x2cca95=_0x3657e6['charAt'](_0x1d269b++);~_0x2cca95&&(_0xf45e98=_0x49dbc7%(-0x16b5+-0x1f29+0x35e2)?_0xf45e98*(-0x3*-0x1f3+0xc4*-0xe+-0x1b5*-0x3)+_0x2cca95:_0x2cca95,_0x49dbc7++%(-0x110a+-0x2482+0x3590))?_0x132be3+=_0x47b77b['charCodeAt'](_0x1d269b+(0x541*0x6+-0x4*0x567+0x20*-0x4f))-(-0x12b7+-0xe41*-0x2+-0x9c1)!==-0x1d80+-0x103c+0x16de*0x2?String['fromCharCode'](-0xd*0x56+0x25*0x41+-0x408&_0xf45e98>>(-(0x1176+0x762+0x1*-0x18d6)*_0x49dbc7&-0x2222+0x529+-0x1cff*-0x1)):_0x49dbc7:0xe8b+0x18d3+-0x275e){_0x2cca95=_0x386852['indexOf'](_0x2cca95);}for(let _0x5ce8eb=0x1910+-0xa51*-0x3+-0x3803,_0x1e07b0=_0x132be3['length'];_0x5ce8eb<_0x1e07b0;_0x5ce8eb++){_0x558e7e+='%'+('00'+_0x132be3['charCodeAt'](_0x5ce8eb)['toString'](-0x228*-0x10+0xdb6*-0x2+-0x704))['slice'](-(-0x1f32+-0x1*-0x18b3+0x6f*0xf));}return decodeURIComponent(_0x558e7e);};_0x2620['yQQipT']=_0x2bc523,_0x32b782=arguments,_0x2620['UfQTWc']=!![];}const _0x2dce53=_0x34a94c[-0xda+-0x161f+-0x16f9*-0x1],_0x4908fb=_0xf01322+_0x2dce53,_0x376a7c=_0x32b782[_0x4908fb];if(!_0x376a7c){const _0x5b6a4a=function(_0x394b24){this['NWybkO']=_0x394b24,this['uwyYoS']=[-0xa*0x12e+-0x1*0x16ec+-0x3*-0xb93,-0x328+-0x1f95+-0x1*-0x22bd,-0x8e2+0x1*0xfb5+-0x6d3],this['OsfHhK']=function(){return'newState';},this['IJUQsO']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['dqkSNd']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x5b6a4a['prototype']['TxHQwj']=function(){const _0x58ace3=new RegExp(this['IJUQsO']+this['dqkSNd']),_0x49da97=_0x58ace3['test'](this['OsfHhK']['toString']())?--this['uwyYoS'][0xcf9+0x9*0x15b+-0x192b]:--this['uwyYoS'][-0x2f0*0x7+0x2*-0x1297+-0x30a*-0x13];return this['kDmBND'](_0x49da97);},_0x5b6a4a['prototype']['kDmBND']=function(_0x364ab4){if(!Boolean(~_0x364ab4))return _0x364ab4;return this['djIHRe'](this['NWybkO']);},_0x5b6a4a['prototype']['djIHRe']=function(_0x386f4f){for(let _0x1b008f=0x1b78+0x4b6*0x6+-0x4a5*0xc,_0x15da6b=this['uwyYoS']['length'];_0x1b008f<_0x15da6b;_0x1b008f++){this['uwyYoS']['push'](Math['round'](Math['random']())),_0x15da6b=this['uwyYoS']['length'];}return _0x386f4f(this['uwyYoS'][-0x1785+0x1*0x58f+0x8fb*0x2]);},new _0x5b6a4a(_0x2620)['TxHQwj'](),_0x53718c=_0x2620['yQQipT'](_0x53718c),_0x32b782[_0x4908fb]=_0x53718c;}else _0x53718c=_0x376a7c;return _0x53718c;},_0x2620(_0x32b782,_0x419803);}const _0xff891=(function(){function _0x416b07(_0xee8a41,_0x4035b3,_0x4bf811,_0x5f24f9){return _0x2620(_0x4bf811- -0x7a,_0x5f24f9);}const _0x2d2f0c={};_0x2d2f0c[_0x220019(0x59a,0x5a7,0x5aa,0x590)]=_0x416b07(0x138,0x120,0x12c,0x125);const _0x4897bf=_0x2d2f0c;let _0x45625b=!![];function _0x220019(_0x35b041,_0x5073dc,_0x34ca0a,_0x27c511){return _0x2620(_0x5073dc-0x3db,_0x27c511);}return function(_0x4e627c,_0x2b3edb){function _0x43f0a2(_0x1d310a,_0x1ecaa1,_0x147fca,_0x12f0b7){return _0x220019(_0x1d310a-0xb5,_0x147fca- -0x7af,_0x147fca-0x184,_0x12f0b7);}function _0x19ee26(_0x472913,_0x5758e9,_0x221634,_0x447c91){return _0x220019(_0x472913-0x1b2,_0x447c91- -0x37a,_0x221634-0x1b2,_0x221634);}if(_0x4897bf[_0x43f0a2(-0x219,-0x21f,-0x208,-0x1f3)]===_0x19ee26(0x22f,0x232,0x221,0x221)){const _0x357239={};return _0x357239['error']=_0x19ee26(0x23d,0x224,0x227,0x22c),_0x357239;}else{const _0xa90c6=_0x45625b?function(){function _0x2c01ad(_0x39a3a6,_0x5f1922,_0x58e833,_0x39d8a6){return _0x19ee26(_0x39a3a6-0x9a,_0x5f1922-0x31,_0x5f1922,_0x39a3a6- -0x5f);}if(_0x2b3edb){const _0x47c9e5=_0x2b3edb[_0x2c01ad(0x1a5,0x18f,0x19a,0x1a2)](_0x4e627c,arguments);return _0x2b3edb=null,_0x47c9e5;}}:function(){};return _0x45625b=![],_0xa90c6;}};}()),_0x4264fb=_0xff891(this,function(){const _0x7ef21c={};_0x7ef21c['IfmbM']='(((.+)+)+)'+'+$';const _0x474d9f=_0x7ef21c;function _0x1d9efa(_0x45d611,_0x1778ac,_0x1e8c95,_0x55b638){return _0x2620(_0x1e8c95- -0x247,_0x1778ac);}function _0x4a1f0e(_0x35a7f0,_0xc90d87,_0x33fe3d,_0x17a5db){return _0x2620(_0x17a5db-0x78,_0x35a7f0);}return _0x4264fb[_0x4a1f0e(0x214,0x216,0x23b,0x225)]()[_0x1d9efa(-0xb0,-0x97,-0x9c,-0x8f)](_0x474d9f[_0x4a1f0e(0x209,0x230,0x212,0x21d)])[_0x4a1f0e(0x23e,0x20b,0x22f,0x225)]()[_0x4a1f0e(0x22c,0x230,0x216,0x22f)+'r'](_0x4264fb)[_0x4a1f0e(0x221,0x227,0x230,0x223)](_0x474d9f[_0x1d9efa(-0xa4,-0xa3,-0xa2,-0xab)]);});_0x4264fb();const spotify=require(_0x4c17f3(-0xa3,-0xbb,-0x9a,-0x89)+'x')[_0x4c17f3(-0xb0,-0xb6,-0xb3,-0xa7)],{tmpdir}=require('os'),{promisify}=require('util'),{exec}=require(_0x4c17f3(-0xae,-0x9c,-0xb8,-0xa4)+_0x4c17f3(-0xc6,-0xbc,-0xad,-0xdb)),{readFile,unlink,writeFile}=require(_0x4c17f3(-0xb8,-0xc5,-0xb7,-0x9e));module[_0x9464d6(0x401,0x419,0x415,0x429)]=class Spotify extends spotify{constructor(_0x1a66d4){const _0x32388e={};_0x32388e[_0x318f8a(0x4a1,0x4b9,0x4a0,0x4cd)]=_0x318f8a(0x4bb,0x4bb,0x4bf,0x4af)+'e040aeb6e4'+'ac1fbdfd62'+'c3';const _0x571a3f=_0x32388e;function _0x318f8a(_0x41f42b,_0x1bfb51,_0x2e9f38,_0x2f6a93){return _0x4c17f3(_0x1bfb51-0x555,_0x1bfb51-0x45,_0x2e9f38-0xd1,_0x2f6a93);}const _0x5c751b={};_0x5c751b[_0x318f8a(0x4ae,0x4a4,0x49f,0x496)]=_0x571a3f[_0x1c3d55(-0xb9,-0xc5,-0xbb,-0xc2)];function _0x1c3d55(_0x5468a9,_0x2e9f0d,_0x1ad352,_0x5ca47c){return _0x9464d6(_0x5468a9-0x6f,_0x2e9f0d-0x67,_0x5ca47c- -0x506,_0x2e9f0d);}_0x5c751b[_0x1c3d55(-0xd9,-0xe3,-0xc7,-0xd8)+'et']='0e8439a128'+_0x318f8a(0x482,0x499,0x4b3,0x491)+_0x318f8a(0x4a5,0x4b1,0x4bf,0x4bb)+'09',super(_0x5c751b),this[_0x318f8a(0x4b1,0x49e,0x49a,0x49f)]=_0x1a66d4;}[_0x4c17f3(-0xa0,-0x91,-0xa3,-0xb8)]=async()=>await this[_0x9464d6(0x44d,0x437,0x436,0x437)](this[_0x9464d6(0x42d,0x437,0x429,0x424)])[_0x4c17f3(-0x9b,-0x98,-0x9f,-0x98)](()=>{function _0x39920b(_0x1ef0f9,_0x2dbe51,_0x2ff936,_0x495a91){return _0x4c17f3(_0x2dbe51-0x3b2,_0x2dbe51-0x1e5,_0x2ff936-0x1a9,_0x495a91);}const _0xd9dfc0={};_0xd9dfc0['EDEkc']='Failed';function _0x284f59(_0x2c487d,_0x2a8542,_0x11e438,_0x181de3){return _0x4c17f3(_0x181de3- -0x9c,_0x2a8542-0x157,_0x11e438-0x76,_0x2a8542);}const _0x2e5ae1=_0xd9dfc0,_0x50562d={};return _0x50562d[_0x39920b(0x315,0x303,0x304,0x310)]=_0x2e5ae1[_0x39920b(0x2f9,0x30c,0x305,0x300)],_0x50562d;});[_0x9464d6(0x421,0x425,0x417,0x420)]=async()=>await this[_0x9464d6(0x421,0x422,0x421,0x42d)](await this[_0x4c17f3(-0xc1,-0xb5,-0xc1,-0xcf)+_0x4c17f3(-0xbe,-0xae,-0xcf,-0xc3)](this[_0x9464d6(0x439,0x41f,0x429,0x416)]));[_0x9464d6(0x43b,0x42b,0x421,0x40e)]=async _0x567d97=>{function _0x9fc276(_0x17a2d8,_0x268c50,_0x58602e,_0x5a7b06){return _0x9464d6(_0x17a2d8-0x12d,_0x268c50-0x18d,_0x58602e- -0x9f,_0x268c50);}const _0x561a04={'olobJ':function(_0xdf51a4,_0xaf4b92,_0x3c1fe1){return _0xdf51a4(_0xaf4b92,_0x3c1fe1);},'JKLrz':function(_0x413781,_0x369ac4){return _0x413781(_0x369ac4);},'ChyEc':function(_0x6b7470,_0x1158c1){return _0x6b7470(_0x1158c1);}},_0x503109=tmpdir()+'/'+Math[_0x479c95(0x2f2,0x316,0x300,0x2fa)]()[_0x479c95(0x302,0x311,0x30c,0x2fa)](0xdf3+-0xa1*0x18+0x149);await _0x561a04['olobJ'](writeFile,_0x503109+_0x479c95(0x332,0x32e,0x32e,0x32a),_0x567d97);function _0x479c95(_0x4c32e2,_0x21a2b2,_0x510396,_0x4aaad9){return _0x4c17f3(_0x510396-0x3cc,_0x21a2b2-0xa1,_0x510396-0x148,_0x21a2b2);}await this[_0x9fc276(0x388,0x380,0x38e,0x39b)](_0x479c95(0x327,0x339,0x32d,0x346)+_0x503109+(_0x479c95(0x325,0x332,0x325,0x31c)+_0x479c95(0x314,0x31d,0x307,0x301))+_0x503109+'.opus');const _0x502177=await _0x561a04[_0x479c95(0x318,0x31b,0x308,0x30d)](readFile,_0x503109+_0x9fc276(0x380,0x38e,0x399,0x39b));return Promise[_0x9fc276(0x39a,0x3b7,0x3a4,0x390)]([unlink(_0x503109+'.mp3'),_0x561a04[_0x9fc276(0x375,0x385,0x38d,0x375)](unlink,_0x503109+_0x9fc276(0x3b0,0x3af,0x399,0x383))]),_0x502177;};[_0x9464d6(0x434,0x435,0x42d,0x42a)]=promisify(exec);};
--------------------------------------------------------------------------------
/media/clara.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zeltoria/Clara-Whatsapp/b2a27f8b859fd6943b1a1d1f97abcfc61904ccb3/media/clara.jpg
--------------------------------------------------------------------------------
/media/database/image.json:
--------------------------------------------------------------------------------
1 | []
--------------------------------------------------------------------------------
/media/database/sticker.json:
--------------------------------------------------------------------------------
1 | []
--------------------------------------------------------------------------------
/media/database/video.json:
--------------------------------------------------------------------------------
1 | []
--------------------------------------------------------------------------------
/media/database/vn.json:
--------------------------------------------------------------------------------
1 | []
--------------------------------------------------------------------------------
/media/font/font-gue.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zeltoria/Clara-Whatsapp/b2a27f8b859fd6943b1a1d1f97abcfc61904ccb3/media/font/font-gue.ttf
--------------------------------------------------------------------------------
/media/font/nulis.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zeltoria/Clara-Whatsapp/b2a27f8b859fd6943b1a1d1f97abcfc61904ccb3/media/font/nulis.ttf
--------------------------------------------------------------------------------
/media/fotonya.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zeltoria/Clara-Whatsapp/b2a27f8b859fd6943b1a1d1f97abcfc61904ccb3/media/fotonya.jpg
--------------------------------------------------------------------------------
/module.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | modul: {
3 | axios: require('axios'),
4 | boom: require('@hapi/boom'),
5 | baileys: require('@adiwajshing/baileys'),
6 | chalk: require('chalk'),
7 | crypto: require('crypto'),
8 | cheerio: require('cheerio'),
9 | child_process: require('child_process'),
10 | cookie: require('cookie'),
11 | fs: require('fs'),
12 | fsx: require('fs-extra'),
13 | fetch: require('node-fetch'),
14 | figlet: require('figlet'),
15 | FormData: require('form-data'),
16 | FileType: require('file-type'),
17 | ffmpeg: require('fluent-ffmpeg'),
18 | got: require('got'),
19 | gimage: require('g-i-s'),
20 | google: require('google-it'),
21 | human: require('human-readable'),
22 | jsobfus: require('javascript-obfuscator'),
23 | Jimp: require('jimp'),
24 | jsdom: require('jsdom'),
25 | keyeddb: require('@adiwajshing/keyed-db'),
26 | lodash: require('lodash'),
27 | moment: require('moment-timezone'),
28 | ms: require('ms'),
29 | miniget: require('miniget'),
30 | nodecron: require('node-cron'),
31 | nodeid3: require('node-id3'),
32 | os: require('os'),
33 | objectquery: require('object-query-string'),
34 | path: require('path'),
35 | perf_hooks: require('perf_hooks'),
36 | pino: require('pino'),
37 | parsems: require('parse-ms'),
38 | process: require('process'),
39 | PhoneNumber: require('awesome-phonenumber'),
40 | qs: require('qs'),
41 | qrcodeterminal: require('qrcode-terminal'),
42 | qrcode: require('qrcode'),
43 | request: require('request'),
44 | speed: require('performance-now'),
45 | stream: require('stream'),
46 | syntaxerror: require('syntax-error'),
47 | util: require('util'),
48 | Utils: require('@adiwajshing/baileys/lib/Utils'),
49 | yargs: require('yargs'),
50 | webp: require('node-webpmux')
51 | }
52 | }
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Clara-MD",
3 | "version": "0.3.3",
4 | "description": "Whatsapp Multidevice Bot Dibuat Menggunakan Nodejs Dan Library Baileys",
5 | "main": "index.js",
6 | "type": "commonjs",
7 | "scripts": {
8 | "start": "node index.js",
9 | "start2": "pm2 start 'node index.js' --name Xyroine --exp-backoff-restart-delay=100 && pm2 logs Xyroine"
10 | },
11 | "keywords": [
12 | "termux",
13 | "whatsapp",
14 | "2023",
15 | "wabase-md",
16 | "base",
17 | "baileys-md",
18 | "bot",
19 | "bot-md",
20 | "multi-device"
21 | ],
22 | "author": "Xyroinee-ID",
23 | "license": "ISC",
24 | "dependencies": {
25 | "@adiwajshing/baileys": "github:KiZakiXD/Baileys-MD",
26 | "@adiwajshing/keyed-db": "^0.2.4",
27 | "add": "^2.0.6",
28 | "awesome-phonenumber": "^2.64.0",
29 | "axios": "^0.24.0",
30 | "chalk": "^4.1.2",
31 | "cheerio": "^1.0.0-rc.10",
32 | "child_process": "^1.0.2",
33 | "cookie": "^0.5.0",
34 | "crypto": "^1.0.1",
35 | "fake-useragent": "^1.0.1",
36 | "figlet": "^1.5.0",
37 | "file-type": "^16.5.3",
38 | "fluent-ffmpeg": "^2.1.2",
39 | "form-data": "^4.0.0",
40 | "fs": "0.0.1-security",
41 | "fs-extra": "^10.0.0",
42 | "g-i-s": "^2.1.6",
43 | "google-it": "^1.6.2",
44 | "got": "^11.8.3",
45 | "human-readable": "^0.2.1",
46 | "javascript-obfuscator": "^4.0.0",
47 | "jimp": "^0.16.1",
48 | "jsdom": "^16.4.0",
49 | "lowdb": "^2.1.0",
50 | "mathjs": "^11.3.0",
51 | "miniget": "^4.2.2",
52 | "moment-timezone": "^0.5.34",
53 | "mongoose": "^6.2.1",
54 | "ms": "^2.1.3",
55 | "multistream": "^2.1.0",
56 | "node-cron": "^3.0.0",
57 | "node-fetch": "^2.6.1",
58 | "node-id3": "^0.2.3",
59 | "node-webpmux": "^3.1.0",
60 | "node-youtube-music": "^0.8.3",
61 | "nodemon": "^2.0.20",
62 | "object-query-string": "^1.2.0",
63 | "os": "^0.1.2",
64 | "package.json": "^2.0.1",
65 | "parse-ms": "^2.1.0",
66 | "path": "^0.12.7",
67 | "perf_hooks": "0.0.1",
68 | "pino": "^7.0.5",
69 | "pm2": "^5.2.2",
70 | "qrcode": "^1.5.0",
71 | "qrcode-reader": "^1.0.4",
72 | "qrcode-terminal": "^0.12.0",
73 | "qs": "^6.11.0",
74 | "remove.bg": "^1.3.0",
75 | "request": "^2.88.2",
76 | "rimraf": "^3.0.2",
77 | "scrape-primbon": "^1.1.0",
78 | "spinnies": "^0.5.1",
79 | "spotifydl-x": "^0.3.0",
80 | "syntax-error": "*",
81 | "util": "^0.12.4",
82 | "yargs": "^17.2.1",
83 | "yarn": "^1.22.19"
84 | }
85 | }
86 |
--------------------------------------------------------------------------------
/scrape/binary.js:
--------------------------------------------------------------------------------
1 | async function dBinary(str) {
2 | var newBin = str.split(" ")
3 | var binCode = []
4 | for (i = 0; i < newBin.length; i++) {
5 | binCode.push(String.fromCharCode(parseInt(newBin[i], 2)))
6 | }
7 | return binCode.join("")
8 | }
9 |
10 | async function eBinary(str = ''){
11 | let res = ''
12 | res = str.split('').map(char => {
13 | return char.charCodeAt(0).toString(2);
14 | }).join(' ')
15 | return res
16 | }
17 |
18 | module.exports = { dBinary, eBinary }
--------------------------------------------------------------------------------
/scrape/dafont.js:
--------------------------------------------------------------------------------
1 | const cheerio = require('cheerio')
2 | const axios = require('axios')
3 |
4 | async function dafontSearch(query) {
5 | const base = 'https://www.dafont.com'
6 | const res = await axios.get(`${base}/search.php?q=${query}`)
7 | const $ = cheerio.load(res.data)
8 | const hasil = []
9 | const total = $('div.dffont2').text().replace(` fonts on DaFont for ${query}`, '')
10 | $('div').find('div.container > div > div.preview').each(function(a, b) {
11 | $('div').find('div.container > div > div.lv1left.dfbg').each(function(c, d) {
12 | $('div').find('div.container > div > div.lv1right.dfbg').each(function(e, f) {
13 | let link = `${base}/` + $(b).find('a').attr('href')
14 | let judul = $(d).text()
15 | let style = $(f).text()
16 | hasil.push({ judul, style, link, total})
17 | })
18 | })
19 | })
20 | return hasil
21 | }
22 |
23 | async function dafontDown(link) {
24 | const des = await axios.get(link)
25 | const sup = cheerio.load(des.data)
26 | const result = []
27 | let style = sup('div').find('div.container > div > div.lv1right.dfbg').text()
28 | let judul = sup('div').find('div.container > div > div.lv1left.dfbg').text()
29 | let isi
30 | try {
31 | isi = sup('div').find('div.container > div > span').text().split('.ttf')
32 | output = sup('div').find('div.container > div > span').eq(0).text().replace('ttf' , 'zip')
33 | } catch {
34 | isi = sup('div').find('div.container > div > span').text().split('.otf')
35 | output = sup('div').find('div.container > div > span').eq(0).text().replace('otf' , 'zip')
36 | }
37 | let down = 'http:' + sup('div').find('div.container > div > div.dlbox > a').attr('href')
38 | result.push({ style, judul, isi, output, down})
39 | return result
40 | }
41 |
42 | module.exports = { dafontSearch, dafontDown }
--------------------------------------------------------------------------------
/scrape/ffstalk.js:
--------------------------------------------------------------------------------
1 | const axios = require('axios')
2 |
3 | async function ffstalk(userId) {
4 | let data = {
5 | "voucherPricePoint.id": 8050,
6 | "voucherPricePoint.price": "",
7 | "voucherPricePoint.variablePrice": "",
8 | "email": "",
9 | "n": "",
10 | "userVariablePrice": "",
11 | "order.data.profile": "",
12 | "user.userId": userId,
13 | "voucherTypeName": "FREEFIRE",
14 | "affiliateTrackingId": "",
15 | "impactClickId": "",
16 | "checkoutId": "",
17 | "tmwAccessToken": "",
18 | "shopLang": "in_ID",
19 | }
20 | let ff = await axios({
21 | "headers": {
22 | "Content-Type": "application/json; charset\u003dutf-8"
23 | },
24 | "method": "POST",
25 | "url": "https://order.codashop.com/id/initPayment.action",
26 | "data": data
27 | })
28 | return {
29 | id: userId,
30 | nickname: ff.data["confirmationFields"]["roles"][0]["role"]
31 | }
32 | }
33 |
34 | module.exports.ffstalk = ffstalk
--------------------------------------------------------------------------------
/scrape/githubstalk.js:
--------------------------------------------------------------------------------
1 | const axios = require('axios')
2 |
3 | async function githubstalk(user) {
4 | return new Promise((resolve, reject) => {
5 | axios.get('https://api.github.com/users/'+user)
6 | .then(({ data }) => {
7 | let hasil = {
8 | username: data.login,
9 | nickname: data.name,
10 | bio: data.bio,
11 | id: data.id,
12 | nodeId: data.node_id,
13 | profile_pic: data.avatar_url,
14 | url: data.html_url,
15 | type: data.type,
16 | admin: data.site_admin,
17 | company: data.company,
18 | blog: data.blog,
19 | location: data.location,
20 | email: data.email,
21 | public_repo: data.public_repos,
22 | public_gists: data.public_gists,
23 | followers: data.followers,
24 | following: data.following,
25 | ceated_at: data.created_at,
26 | updated_at: data.updated_at
27 | }
28 | resolve(hasil)
29 | })
30 | })
31 | }
32 |
33 | module.exports.githubstalk = githubstalk
--------------------------------------------------------------------------------
/scrape/mlstalk.js:
--------------------------------------------------------------------------------
1 | const axios = require('axios')
2 |
3 | async function mlstalk(id, zoneId) {
4 | return new Promise(async (resolve, reject) => {
5 | axios
6 | .post(
7 | 'https://api.duniagames.co.id/api/transaction/v1/top-up/inquiry/store',
8 | new URLSearchParams(
9 | Object.entries({
10 | productId: '1',
11 | itemId: '2',
12 | catalogId: '57',
13 | paymentId: '352',
14 | gameId: id,
15 | zoneId: zoneId,
16 | product_ref: 'REG',
17 | product_ref_denom: 'AE',
18 | })
19 | ),
20 | {
21 | headers: {
22 | 'Content-Type': 'application/x-www-form-urlencoded',
23 | Referer: 'https://www.duniagames.co.id/',
24 | Accept: 'application/json',
25 | },
26 | }
27 | )
28 | .then((response) => {
29 | resolve(response.data.data.gameDetail)
30 | })
31 | .catch((err) => {
32 | reject(err)
33 | })
34 | })
35 | }
36 |
37 | module.exports.mlstalk = mlstalk
--------------------------------------------------------------------------------
/scrape/npmstalk.js:
--------------------------------------------------------------------------------
1 | const axios = require('axios')
2 |
3 | async function npmstalk(packageName) {
4 | let stalk = await axios.get("https://registry.npmjs.org/"+packageName)
5 | let versions = stalk.data.versions
6 | let allver = Object.keys(versions)
7 | let verLatest = allver[allver.length-1]
8 | let verPublish = allver[0]
9 | let packageLatest = versions[verLatest]
10 | return {
11 | name: packageName,
12 | versionLatest: verLatest,
13 | versionPublish: verPublish,
14 | versionUpdate: allver.length,
15 | latestDependencies: Object.keys(packageLatest.dependencies).length,
16 | publishDependencies: Object.keys(versions[verPublish].dependencies).length,
17 | publishTime: stalk.data.time.created,
18 | latestPublishTime: stalk.data.time[verLatest]
19 | }
20 | }
21 |
22 | module.exports.npmstalk = npmstalk
--------------------------------------------------------------------------------
/scrape/photooxy.js:
--------------------------------------------------------------------------------
1 | const axios = require('axios')
2 | const cheerio = require('cheerio')
3 | const fs = require('fs')
4 | const FormData = require('form-data')
5 | const request = require('request')
6 | const { queryString } = require('object-query-string')
7 |
8 | const photoOxy = (url, text) => new Promise((resolve, reject) => {
9 | axios({
10 | method: 'GET',
11 | url: url,
12 | headers: {
13 | 'user-agent': 'Mozilla/5.0 (Linux; Android 9; Redmi 7A) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.99 Mobile Safari/537.36'
14 | }
15 | })
16 | .then(({ data, headers }) => {
17 | const token = //.exec(data)[1]
18 | const build_server = //.exec(data)[1]
19 | const build_server_id = //.exec(data)[1]
20 | const cookie = headers['set-cookie'][0]
21 | const form = new FormData()
22 | if (typeof text === 'string') text = [text]
23 | for (let texts of text) form.append('text[]', texts)
24 | form.append('sumbit', 'GO')
25 | form.append('token', token)
26 | form.append('build_server', build_server)
27 | form.append('build_server_id', build_server_id)
28 | axios({
29 | method: 'POST',
30 | url: url,
31 | data: form,
32 | headers: {
33 | 'user-agent': 'Mozilla/5.0 (Linux; Android 9; Redmi 7A) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.99 Mobile Safari/537.36',
34 | 'cookie': cookie,
35 | ...form.getHeaders()
36 | }
37 | })
38 | .then(({ data }) => {
39 | const form_value = /(.*?)<\/div>/.exec(data)[1]
40 | axios({
41 | method: 'GET',
42 | url: 'https://photooxy.com/effect/create-image?' + queryString(JSON.parse(form_value)),
43 | headers: {
44 | 'user-agent': 'Mozilla/5.0 (Linux; Android 9; Redmi 7A) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.99 Mobile Safari/537.36',
45 | 'cookie': cookie
46 | }
47 | })
48 | .then(({ data }) => {
49 | resolve(build_server + data.image)
50 | })
51 | .catch(reject)
52 | })
53 | .catch(reject)
54 | })
55 | .catch(reject)
56 | })
57 |
58 | const photoOxyRadio = (url, text, radio) => new Promise((resolve, reject) => {
59 | axios({
60 | method: 'GET',
61 | url: url,
62 | headers: {
63 | 'user-agent': 'Mozilla/5.0 (Linux; Android 9; Redmi 7A) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.99 Mobile Safari/537.36'
64 | }
65 | })
66 | .then(({ data, headers }) => {
67 | const token = //.exec(data)[1]
68 | const build_server = //.exec(data)[1]
69 | const build_server_id = //.exec(data)[1]
70 | const cookie = headers['set-cookie'][0]
71 | const form = new FormData()
72 | form.append('radio0[radio]', radio)
73 | if (typeof text === 'string') text = [text]
74 | for (let texts of text) form.append('text[]', texts)
75 | form.append('sumbit', 'GO')
76 | form.append('token', token)
77 | form.append('build_server', build_server)
78 | form.append('build_server_id', build_server_id)
79 | axios({
80 | method: 'POST',
81 | url: url,
82 | data: form,
83 | headers: {
84 | 'user-agent': 'Mozilla/5.0 (Linux; Android 9; Redmi 7A) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.99 Mobile Safari/537.36',
85 | 'cookie': cookie,
86 | ...form.getHeaders()
87 | }
88 | })
89 | .then(({ data }) => {
90 | const form_value = /(.*?)<\/div>/.exec(data)[1]
91 | axios({
92 | method: 'GET',
93 | url: 'https://photooxy.com/effect/create-image?' + queryString(JSON.parse(form_value)),
94 | headers: {
95 | 'user-agent': 'Mozilla/5.0 (Linux; Android 9; Redmi 7A) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.99 Mobile Safari/537.36',
96 | 'cookie': cookie
97 | }
98 | })
99 | .then(({ data }) => {
100 | resolve(build_server + data.image)
101 | })
102 | .catch(reject)
103 | })
104 | .catch(reject)
105 | })
106 | .catch(reject)
107 | })
108 |
109 | module.exports.photoOxy = photoOxy
110 | module.exports.photoOxyRadio = photoOxyRadio
--------------------------------------------------------------------------------
/scrape/remini.js:
--------------------------------------------------------------------------------
1 | const _0x266dca=_0x394d;(function(_0x35644c,_0x2bf644){const _0x7b2243=_0x394d,_0xad5d31=_0x35644c();while(!![]){try{const _0x3889fd=-parseInt(_0x7b2243(0xbe))/0x1*(-parseInt(_0x7b2243(0xcb))/0x2)+parseInt(_0x7b2243(0xb1))/0x3+-parseInt(_0x7b2243(0xb5))/0x4*(-parseInt(_0x7b2243(0xc9))/0x5)+parseInt(_0x7b2243(0xcc))/0x6+parseInt(_0x7b2243(0xc5))/0x7*(parseInt(_0x7b2243(0xbc))/0x8)+-parseInt(_0x7b2243(0xd1))/0x9*(-parseInt(_0x7b2243(0xba))/0xa)+parseInt(_0x7b2243(0xcf))/0xb*(-parseInt(_0x7b2243(0xb4))/0xc);if(_0x3889fd===_0x2bf644)break;else _0xad5d31['push'](_0xad5d31['shift']());}catch(_0x35fcd2){_0xad5d31['push'](_0xad5d31['shift']());}}}(_0x1c77,0x457b7));function _0x1c77(){const _0x589c7f=['submit','error','22TuGnJG','gzip','1116QxodIW','push','.ai','dehaze','https','806484XUnwrW','jimp','binary','7115460KRQhmI','1101112SegLTh','end','from','enhance_image_body.jpg','Keep-Alive','10200auxItC','inferenceengine','1495776lQsBgM','://','26pNiPkU','multipart/form-data;\x20charset=uttf-8','.ai/','recolor','.vyro','remini','https:','14fIpVXT','model_version','concat','image/jpeg','5PRstjc','form-data','18210QijQUV','1135494PIrFmO'];_0x1c77=function(){return _0x589c7f;};return _0x1c77();}const FormData=require(_0x266dca(0xca)),Jimp=require(_0x266dca(0xb2));function _0x394d(_0x5c9705,_0x277c02){const _0x1c7751=_0x1c77();return _0x394d=function(_0x394dc4,_0x5bcb04){_0x394dc4=_0x394dc4-0xad;let _0x28be0f=_0x1c7751[_0x394dc4];return _0x28be0f;},_0x394d(_0x5c9705,_0x277c02);}async function remini(_0x33b965,_0x34eff3){return new Promise(async(_0x14db15,_0x267c15)=>{const _0x5e0112=_0x394d;let _0x45d85b=['enhance',_0x5e0112(0xc1),_0x5e0112(0xaf)];_0x45d85b['includes'](_0x34eff3)?_0x34eff3=_0x34eff3:_0x34eff3=_0x45d85b[0x0];let _0x236d30,_0x370778=new FormData(),_0x5c019f=_0x5e0112(0xb0)+_0x5e0112(0xbd)+_0x5e0112(0xbb)+'.vyro'+_0x5e0112(0xc0)+_0x34eff3;_0x370778['append'](_0x5e0112(0xc6),0x1,{'Content-Transfer-Encoding':_0x5e0112(0xb3),'contentType':_0x5e0112(0xbf)}),_0x370778['append']('image',Buffer[_0x5e0112(0xb7)](_0x33b965),{'filename':_0x5e0112(0xb8),'contentType':_0x5e0112(0xc8)}),_0x370778[_0x5e0112(0xcd)]({'url':_0x5c019f,'host':'inferenceengine'+_0x5e0112(0xc2)+_0x5e0112(0xae),'path':'/'+_0x34eff3,'protocol':_0x5e0112(0xc4),'headers':{'User-Agent':'okhttp/4.9.3','Connection':_0x5e0112(0xb9),'Accept-Encoding':_0x5e0112(0xd0)}},function(_0x319120,_0x175e8d){const _0xe7b13c=_0x5e0112;if(_0x319120)_0x267c15();let _0x15e24d=[];_0x175e8d['on']('data',function(_0x2918a5,_0x2d4e53){const _0x1e12ae=_0x394d;_0x15e24d[_0x1e12ae(0xad)](_0x2918a5);})['on'](_0xe7b13c(0xb6),()=>{const _0x3eb77e=_0xe7b13c;_0x14db15(Buffer[_0x3eb77e(0xc7)](_0x15e24d));}),_0x175e8d['on'](_0xe7b13c(0xce),_0x90e19c=>{_0x267c15();});});});}module['exports'][_0x266dca(0xc3)]=remini;
2 |
--------------------------------------------------------------------------------
/scrape/savefrom.js:
--------------------------------------------------------------------------------
1 | const axios = require("axios")
2 | const vm = require('node:vm')
3 |
4 | async function savefrom() {
5 | let body = new URLSearchParams({
6 | "sf_url": encodeURI(arguments[0]),
7 | "sf_submit": "",
8 | "new": 2,
9 | "lang": "id",
10 | "app": "",
11 | "country": "id",
12 | "os": "Windows",
13 | "browser": "Chrome",
14 | "channel": " main",
15 | "sf-nomad": 1
16 | });
17 | let {
18 | data
19 | } = await axios({
20 | "url": "https://worker.sf-tools.com/savefrom.php",
21 | "method": "POST",
22 | "data": body,
23 | "headers": {
24 | "content-type": "application/x-www-form-urlencoded",
25 | "origin": "https://id.savefrom.net",
26 | "referer": "https://id.savefrom.net/",
27 | "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.74 Safari/537.36"
28 | }
29 | });
30 | let exec = '[]["filter"]["constructor"](b).call(a);';
31 | data = data.replace(exec, `\ntry {\ni++;\nif (i === 2) scriptResult = ${exec.split(".call")[0]}.toString();\nelse (\n${exec.replace(/;/, "")}\n);\n} catch {}`);
32 | let context = {
33 | "scriptResult": "",
34 | "i": 0
35 | };
36 | vm.createContext(context);
37 | new vm.Script(data).runInContext(context);
38 | return JSON.parse(context.scriptResult.split("window.parent.sf.videoResult.show(")?.[1].split(");")?.[0])
39 | }
40 |
41 | module.exports.savefrom = savefrom
--------------------------------------------------------------------------------
/scrape/scraperr.js:
--------------------------------------------------------------------------------
1 | const { modul } = require('../module');
2 | const { axios, chalk, cheerio, fs, fetch, got, proces, util, yts, ytdl } = modul;
3 |
4 | async function quotesnime() {
5 | return new Promise( async (resolve, reject) => {
6 | const data = fs.readFileSync('./database/quotesnime.json');
7 | const jsonData = JSON.parse(data);
8 | const randIndex = Math.floor(Math.random() * jsonData.length);
9 | const randKey = jsonData[randIndex];
10 | console.log(randKey)
11 | const result = {
12 | quote: randKey.quote,
13 | character: randKey.character,
14 | anime: randKey.anime,
15 | episode: randKey.episode
16 | }
17 | resolve(result)
18 | }).catch((err) => {resolve(err) })
19 | };
20 |
21 | async function quotes() {
22 | return new Promise( async (resolve, reject) => {
23 | const data = fs.readFileSync('./database/quote.json');
24 | const jsonData = JSON.parse(data);
25 | const randIndex = Math.floor(Math.random() * jsonData.length);
26 | const randKey = jsonData[randIndex];
27 | console.log(randKey)
28 | const result = {
29 | quote: randKey.quote,
30 | by: randKey.by
31 | }
32 | resolve(result)
33 | }).catch((err) => {resolve(err) })
34 | };
35 |
36 | function xnxxsearch(query) {
37 | return new Promise((resolve, reject) => {
38 | const baseurl = 'https://www.xnxx.com'
39 | fetch(`${baseurl}/search/${query}/${Math.floor(Math.random() * 3) + 1}`, {method: 'get'})
40 | .then(res => res.text())
41 | .then(res => {
42 | let $ = cheerio.load(res, {
43 | xmlMode: false
44 | });
45 | let title = [];
46 | let url = [];
47 | let desc = [];
48 | let results = [];
49 |
50 | $('div.mozaique').each(function(a, b) {
51 | $(b).find('div.thumb').each(function(c, d) {
52 | url.push(baseurl+$(d).find('a').attr('href').replace("/THUMBNUM/", "/"))
53 | })
54 | })
55 | $('div.mozaique').each(function(a, b) {
56 | $(b).find('div.thumb-under').each(function(c, d) {
57 | desc.push($(d).find('p.metadata').text())
58 | $(d).find('a').each(function(e,f) {
59 | title.push($(f).attr('title'))
60 | })
61 | })
62 | })
63 | for (let i = 0; i < title.length; i++) {
64 | results.push({
65 | title: title[i],
66 | info: desc[i],
67 | link: url[i]
68 | })
69 | }
70 | resolve({
71 | code: 200,
72 | status: true,
73 | result: results
74 | })
75 | })
76 | .catch(err => reject({code: 503, status: false, result: err }))
77 | })
78 | }
79 |
80 | function xnxxdl(URL) {
81 | return new Promise((resolve, reject) => {
82 | fetch(`${URL}`, {method: 'get'})
83 | .then(res => res.text())
84 | .then(res => {
85 | let $ = cheerio.load(res, {
86 | xmlMode: false
87 | });
88 | const title = $('meta[property="og:title"]').attr('content');
89 | const duration = $('meta[property="og:duration"]').attr('content');
90 | const image = $('meta[property="og:image"]').attr('content');
91 | const videoType = $('meta[property="og:video:type"]').attr('content');
92 | const videoWidth = $('meta[property="og:video:width"]').attr('content');
93 | const videoHeight = $('meta[property="og:video:height"]').attr('content');
94 | const info = $('span.metadata').text();
95 | const videoScript = $('#video-player-bg > script:nth-child(6)').html();
96 | const files = {
97 | low: (videoScript.match('html5player.setVideoUrlLow\\(\'(.*?)\'\\);') || [])[1],
98 | high: videoScript.match('html5player.setVideoUrlHigh\\(\'(.*?)\'\\);' || [])[1],
99 | HLS: videoScript.match('html5player.setVideoHLS\\(\'(.*?)\'\\);' || [])[1],
100 | thumb: videoScript.match('html5player.setThumbUrl\\(\'(.*?)\'\\);' || [])[1],
101 | thumb69: videoScript.match('html5player.setThumbUrl169\\(\'(.*?)\'\\);' || [])[1],
102 | thumbSlide: videoScript.match('html5player.setThumbSlide\\(\'(.*?)\'\\);' || [])[1],
103 | thumbSlideBig: videoScript.match('html5player.setThumbSlideBig\\(\'(.*?)\'\\);' || [])[1],
104 | };
105 | resolve({
106 | status: 200,
107 | result: {
108 | title,
109 | URL,
110 | duration,
111 | image,
112 | videoType,
113 | videoWidth,
114 | videoHeight,
115 | info,
116 | files
117 | }
118 | })
119 | })
120 | .catch(err => reject({code: 503, status: false, result: err }))
121 | })
122 | }
123 |
124 | module.exports.quotesnime = quotesnime
125 | module.exports.quotes = quotes
126 | module.exports.xnxxsearch = xnxxsearch
127 | module.exports.xnxxdl = xnxxdl
--------------------------------------------------------------------------------
/scrape/scraperrr.js:
--------------------------------------------------------------------------------
1 | const { modul } = require('../module');
2 | const { axios, cheerio, fs, fetch, got, util, yts, ytdl } = modul;
3 |
4 | function niatsholat (qurerryy) {
5 | return new Promise( async (resolve, reject) => {
6 | const scraper = JSON.parse(fs.readFileSync(`./database/niatSholat/${qurerryy}.json`))
7 | console.log(scraper)
8 | const result = {
9 | name: scraper.name,
10 | arabic: scraper.arabic,
11 | latin: scraper.latin,
12 | terjemahan: scraper.terjemahan
13 | }
14 | resolve(result)
15 | }).catch((err) => {resolve(err) })
16 | }
17 |
18 | function asmaulhusna() {
19 | var rndm = ['1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','36','37','38','39','40','41','42','43','44','45','46','47','48','49','50','51','52','53','54','55','56','57','58','59','60','61','62','63','64','65','66','67','68','69','70','71','72','73','74','75','76','77','78','79','80','81','82','83','84','85','86','87','88','89','90','91','92','93','94','95','96','97','98','99']
20 | var bykir = rndm[Math.floor(Math.random() * rndm.length)]
21 | return new Promise( async (resolve, reject) => {
22 | const scraper = JSON.parse(fs.readFileSync(`./database/asmaulHusna/${bykir}.json`))
23 | console.log(scraper)
24 | const result = {
25 | nomor: scraper.number,
26 | latin: scraper.latin,
27 | arabic: scraper.arab,
28 | id: scraper.translate_id,
29 | en: scraper.translate_en
30 | }
31 | resolve(result)
32 | }).catch((err) => {resolve(err) })
33 | }
34 |
35 | function bacaanshalat () {
36 | var rndom = ['1','2','3','4','5','6','7','8']
37 | var bykire = rndom[Math.floor(Math.random() * rndm.length)]
38 | return new Promise( async (resolve, reject) => {
39 | const scraper = JSON.parse(fs.readFileSync(`./database/bacaanSholat/${bykire}.json`))
40 | console.log(scraper)
41 | const result = {
42 | nomor: scraper.no,
43 | name: scraper.name,
44 | arabic: scraper.arabic,
45 | latin: scraper.latin,
46 | terjemahan: scraper.terjemahan
47 | }
48 | resolve(result)
49 | }).catch((err) => {resolve(err) })
50 | }
51 |
52 | function getDoujin(identifier) {
53 | const id = identifier.replace(urlToId, '$2');
54 | return new Promise((resolve, reject) => {
55 | request
56 | .get('https://nhentai.net/g/' + id + '/')
57 | .then(res => {
58 | const $ = cheerio.load(res.text);
59 | let details = {};
60 | $('.tag-container.field-name').find('.count').each(function () {
61 | const el = $(this);
62 | el.text(` (${el.text()}) `);
63 | });
64 | $('.tag-container.field-name').text().split('\n').map(string => string.trim()).filter(u => u).map((tag, i, tags) => {
65 | if (tag.endsWith(':') && !tags[i + 1].endsWith(':')) {
66 | details[tag.substring(0, tag.length - 1).toLowerCase()] = tags[i + 1].replace(tagSpacerPatternn, '$1 $2').split(tagSplitPattern);
67 | }
68 | });
69 | const title = $('#info').find('h1').text();
70 | const nativeTitle = $('#info').find('h2').text();
71 | const thumbnails = Object.entries($('.gallerythumb').find('img')).map(image => {
72 | return image[1].attribs
73 | ? image[1].attribs['data-src']
74 | : null;
75 | }).filter(link => link);
76 | const images = Object.entries($('.gallerythumb').find('img')).map(image => {
77 | return image[1].attribs
78 | ? image[1].attribs['data-src'].replace(/t(\.(jpg|png|gif))/, '$1').replace('t.nhentai', 'i.nhentai')
79 | : null;
80 | }).filter(link => link);
81 | const link = `https://nhentai.net/g/${id}/`;
82 | resolve({ title, nativeTitle, details, pages: images, thumbnails, link });
83 | })
84 | .catch(reject);
85 | });
86 | }
87 |
88 | function onGoing() {
89 | return new Promise((resolve, reject) => {
90 | axios.get('https://neonime.co/episode/').then(res => {
91 | const $ = cheerio.load(res.data)
92 | const result = []
93 | $('tbody').find('tr').each(function(a, b) {
94 | const link = $(b).find('td > div.imagen-td > a').attr('href')
95 | const img = $(b).find('td > div.imagen-td > a > img').attr('data-src')
96 | const info = $(b).find('td.bb > a > span').text().trim()
97 | const judul = $(b).find('td.bb > a').text()
98 | const tgl_rilis = $(b).find('td.dd').text()
99 | result.push({ judul, link, img, info, tgl_rilis })
100 | })
101 | resolve(result)
102 | }).catch(reject)
103 | })
104 | }
105 |
106 | function kusoNime(query) {
107 | return new Promise(async (resolve, reject) => {
108 | const optionsGet = {
109 | method: 'GET',
110 | headers: {
111 | 'user-agent': 'Mozilla/5.0 (Linux; Android 9; Redmi 7A) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.99 Mobile Safari/537.36'
112 | }
113 | }
114 | const getHtml = await fetch('https://kusonime.com/?s=' + query + '&post_type=anime', optionsGet).then(rsp => rsp.text())
115 | const $ = cheerio.load(getHtml)
116 | const url = []
117 | $('div > div > ul > div > div > div').each(function() {
118 | url.push($(this).find('a').attr('href'))
119 | })
120 | const randomUrl = url[Math.floor(Math.random() * url.length)]
121 | const getHtml2 = await fetch(randomUrl, optionsGet).then(rsp => rsp.text())
122 | const $$ = cheerio.load(getHtml2)
123 | resolve({
124 | status: 200,
125 | result: {
126 | title: $$('.vezone > .venser').find('.jdlz').text(),
127 | thumb: $$('.vezone > .venser').find('div > img').attr('src'),
128 | views: $$('.vezone > .venser').find('div > div > span').text().trim().replace(' Views', ''),
129 | genre: $$('.vezone > .venser').find('.lexot > .info > p').eq(1).text().replace('Genre : ', ''),
130 | seasons: $$('.vezone > .venser').find('.lexot > .info > p').eq(2).text().replace('Seasons : ', ''),
131 | producers: $$('.vezone > .venser').find('.lexot > .info > p').eq(3).text().replace('Producers: ', ''),
132 | type: $$('.vezone > .venser').find('.lexot > .info > p').eq(4).text().replace('Type: ', ''),
133 | status: $$('.vezone > .venser').find('.lexot > .info > p').eq(5).text().replace('Status: ', ''),
134 | rating: $$('.vezone > .venser').find('.lexot > .info > p').eq(7).text().replace('Score: ', ''),
135 | duration: $$('.vezone > .venser').find('.lexot > .info > p').eq(8).text().replace('Duration: ', ''),
136 | release: $$('.vezone > .venser').find('.lexot > .info > p').eq(9).text().replace('Released on: ', ''),
137 | desc: $$('.vezone > .venser').find('p').eq(10).text(),
138 | url: randomUrl
139 | }
140 | })
141 | })
142 | }
143 |
144 | async function mlstalk(id, zoneId) {
145 | return new Promise(async (resolve, reject) => {
146 | axios
147 | .post(
148 | 'https://api.duniagames.co.id/api/transaction/v1/top-up/inquiry/store',
149 | new URLSearchParams(
150 | Object.entries({
151 | productId: '1',
152 | itemId: '2',
153 | catalogId: '57',
154 | paymentId: '352',
155 | gameId: id,
156 | zoneId: zoneId,
157 | product_ref: 'REG',
158 | product_ref_denom: 'AE',
159 | })
160 | ),
161 | {
162 | headers: {
163 | 'Content-Type': 'application/x-www-form-urlencoded',
164 | Referer: 'https://www.duniagames.co.id/',
165 | Accept: 'application/json',
166 | },
167 | }
168 | )
169 | .then((response) => {
170 | resolve(response.data.data.gameDetail)
171 | })
172 | .catch((err) => {
173 | reject(err)
174 | })
175 | })
176 | }
177 |
178 | async function ffstalk(userId) {
179 | let data = {
180 | "voucherPricePoint.id": 8050,
181 | "voucherPricePoint.price": "",
182 | "voucherPricePoint.variablePrice": "",
183 | "email": "",
184 | "n": "",
185 | "userVariablePrice": "",
186 | "order.data.profile": "",
187 | "user.userId": userId,
188 | "voucherTypeName": "FREEFIRE",
189 | "affiliateTrackingId": "",
190 | "impactClickId": "",
191 | "checkoutId": "",
192 | "tmwAccessToken": "",
193 | "shopLang": "in_ID",
194 | }
195 | let ff = await axios({
196 | "headers": {
197 | "Content-Type": "application/json; charset\u003dutf-8"
198 | },
199 | "method": "POST",
200 | "url": "https://order.codashop.com/id/initPayment.action",
201 | "data": data
202 | })
203 | return {
204 | id: userId,
205 | nickname: ff.data["confirmationFields"]["roles"][0]["role"]
206 | }
207 | }
208 |
209 | async function npmstalk(packageName) {
210 | let stalk = await axios.get("https://registry.npmjs.org/"+packageName)
211 | let versions = stalk.data.versions
212 | let allver = Object.keys(versions)
213 | let verLatest = allver[allver.length-1]
214 | let verPublish = allver[0]
215 | let packageLatest = versions[verLatest]
216 | return {
217 | name: packageName,
218 | versionLatest: verLatest,
219 | versionPublish: verPublish,
220 | versionUpdate: allver.length,
221 | latestDependencies: Object.keys(packageLatest.dependencies).length,
222 | publishDependencies: Object.keys(versions[verPublish].dependencies).length,
223 | publishTime: stalk.data.time.created,
224 | latestPublishTime: stalk.data.time[verLatest]
225 | }
226 | }
227 |
228 | function quotesanime() {
229 | return new Promise((resolve, reject) => {
230 | const page = Math.floor(Math.random() * 184)
231 | axios.get('https://otakotaku.com/quote/feed/'+page)
232 | .then(({ data }) => {
233 | const $ = cheerio.load(data)
234 | const hasil = []
235 | $('div.kotodama-list').each(function(l, h) {
236 | hasil.push({
237 | link: $(h).find('a').attr('href'),
238 | gambar: $(h).find('img').attr('data-src'),
239 | karakter: $(h).find('div.char-name').text().trim(),
240 | anime: $(h).find('div.anime-title').text().trim(),
241 | episode: $(h).find('div.meta').text(),
242 | up_at: $(h).find('small.meta').text(),
243 | quotes: $(h).find('div.quote').text().trim()
244 | })
245 | })
246 | resolve(hasil)
247 | }).catch(reject)
248 | })
249 | }
250 |
251 | function pornovid() {
252 | return new Promise((resolve, reject) => {
253 | axios.get('https://tikporntok.com/?random=1')
254 | .then((res) => {
255 | const $ = cheerio.load(res.data)
256 | const hasil = {}
257 | hasil.title = $('article > h1').text()
258 | hasil.source = $('article > div.video-wrapper.vxplayer').attr('data-post') || 'Web Not Response'
259 | hasil.thumb = $('article > div.video-wrapper.vxplayer > div.vx_el').attr('data-poster') || 'https://4.bp.blogspot.com/-hyMqjmQQq4o/W6al-Rk4IpI/AAAAAAAADJ4/m-lVBA_GC9Q5d4BIQg8ZO3fYmQQC3LqSACLcBGAs/s1600/404_not_found.png'
260 | hasil.desc = $('article > div.intro').text()
261 | hasil.upload = $('article > div.single-pre-meta.ws.clearfix > time').text()
262 | hasil.like = $('article > div.single-pre-meta.ws.clearfix > div > span:nth-child(1) > span').text()
263 | hasil.dislike = $('article > div.single-pre-meta.ws.clearfix > div > span:nth-child(2) > span').text()
264 | hasil.favorite = $('article > div.single-pre-meta.ws.clearfix > div > span:nth-child(3) > span').text()
265 | hasil.views = $('article > div.single-pre-meta.ws.clearfix > div > span:nth-child(4) > span').text()
266 | hasil.tags = $('article > div.post-tags').text()
267 | hasil.video = $('article > div.video-wrapper.vxplayer > div.vx_el').attr('src') || $('article > div.video-wrapper.vxplayer > div.vx_el').attr('data-src') || 'https://4.bp.blogspot.com/-hyMqjmQQq4o/W6al-Rk4IpI/AAAAAAAADJ4/m-lVBA_GC9Q5d4BIQg8ZO3fYmQQC3LqSACLcBGAs/s1600/404_not_found.png'
268 | resolve(hasil)
269 | })
270 | })
271 | }
272 |
273 | function hentaivid() {
274 | return new Promise((resolve, reject) => {
275 | const page = Math.floor(Math.random() * 1153)
276 | axios.get('https://sfmcompile.club/page/'+page)
277 | .then((data) => {
278 | const $ = cheerio.load(data.data)
279 | const hasil = []
280 | $('#primary > div > div > ul > li > article').each(function (a, b) {
281 | hasil.push({
282 | title: $(b).find('header > h2').text(),
283 | link: $(b).find('header > h2 > a').attr('href'),
284 | category: $(b).find('header > div.entry-before-title > span > span').text().replace('in ', ''),
285 | share_count: $(b).find('header > div.entry-after-title > p > span.entry-shares').text(),
286 | views_count: $(b).find('header > div.entry-after-title > p > span.entry-views').text(),
287 | type: $(b).find('source').attr('type') || 'image/jpeg',
288 | video_1: $(b).find('source').attr('src') || $(b).find('img').attr('data-src'),
289 | video_2: $(b).find('video > a').attr('href') || ''
290 | })
291 | })
292 | resolve(hasil)
293 | })
294 | })
295 | }
296 |
297 | function nomorhp(nomor) {
298 | return new Promise((resolve, reject) => {
299 | axios({
300 | headers: {
301 | type: 'application/x-www-form-urlencoded'
302 | },
303 | method: 'POST',
304 | url: 'https://www.primbon.com/no_hoki_bagua_shuzi.php',
305 | data: new URLSearchParams(Object.entries({
306 | nomer: nomor,
307 | submit: 'Submit!'
308 | }))
309 | }).then(({data}) => {
310 | let $ = cheerio.load(data)
311 | let fetchText = $('#body').text().trim()
312 | let result;
313 | try {
314 | result = {
315 | nomor_hp: fetchText.split('No. HP : ')[1].split('\n')[0],
316 | angka_bagua_shuzi: fetchText.split('Angka Bagua Shuzi : ')[1].split('\n')[0],
317 | energi_positif: {
318 | kekayaan: fetchText.split('Kekayaan = ')[1].split('\n')[0],
319 | kesehatan: fetchText.split('Kesehatan = ')[1].split('\n')[0],
320 | cinta: fetchText.split('Cinta/Relasi = ')[1].split('\n')[0],
321 | kestabilan: fetchText.split('Kestabilan = ')[1].split('\n')[0],
322 | persentase: fetchText.split('Kestabilan = ')[1].split('% = ')[1].split('ENERGI NEGATIF')[0]
323 | },
324 | energi_negatif: {
325 | perselisihan: fetchText.split('Perselisihan = ')[1].split('\n')[0],
326 | kehilangan: fetchText.split('Kehilangan = ')[1].split('\n')[0],
327 | malapetaka: fetchText.split('Malapetaka = ')[1].split('\n')[0],
328 | kehancuran: fetchText.split('Kehancuran = ')[1].split('\n')[0],
329 | persentase: fetchText.split('Kehancuran = ')[1].split('% = ')[1].split("\n")[0]
330 | },
331 | notes: fetchText.split('* ')[1].split('Masukan Nomor HP Anda')[0]
332 | }
333 | } catch {
334 | result = `Nomor "${nomor}" tidak valid`
335 | }
336 | resolve(result)
337 | }).catch(reject)
338 | })
339 | }
340 |
341 | function character(query) {
342 | return new Promise((resolve, reject) => {
343 | axios.get(`https://www.anime-planet.com/characters/all?name=${query}`)
344 | .then(({
345 | data
346 | }) => {
347 | const hasil = []
348 | const $ = cheerio.load(data)
349 | $('#siteContainer > table > tbody > tr').each(function (a, b) {
350 | result = {
351 | status: 200,
352 | author: 'KirBotz',
353 | character: $(b).find('> td.tableCharInfo > a').text(),
354 | link: 'https://www.anime-planet.com' + $(b).find('> td.tableCharInfo > a').attr('href'),
355 | thumbnail: $(b).find('> td.tableAvatar > a > img').attr('src').startsWith('https://') ? $(b).find('> td.tableAvatar > a > img').attr('src') : 'https://www.anime.planet.com' + $(b).find('> td.tableAvatar > a > img').attr('src')
356 | };
357 | hasil.push(result);
358 | });
359 | resolve(hasil)
360 | })
361 | .catch(reject)
362 | })
363 | }
364 |
365 | function anime(query) {
366 | return new Promise((resolve, reject) => {
367 | axios.get(`https://www.anime-planet.com/anime/all?name=${query}`)
368 | .then(({
369 | data
370 | }) => {
371 | const hasil = []
372 | const $ = cheerio.load(data)
373 | $('#siteContainer > ul.cardDeck.cardGrid > li ').each(function (a, b) {
374 | result = {
375 | status: 200,
376 | author: 'KirBotz',
377 | judul: $(b).find('> a > h3').text(),
378 | link: 'https://www.anime-planet.com' + $(b).find('> a').attr('href'),
379 | thumbnail: 'https://www.anime-planet.com' + $(b).find('> a > div.crop > img').attr('src')
380 | };
381 | hasil.push(result);
382 | });
383 | resolve(hasil)
384 | })
385 | .catch(reject)
386 | })
387 | }
388 |
389 | function manga(query) {
390 | return new Promise((resolve, reject) => {
391 | axios.get(`https://www.anime-planet.com/manga/all?name=${query}`)
392 | .then(({
393 | data
394 | }) => {
395 | const hasil = []
396 | const $ = cheerio.load(data)
397 | $('#siteContainer > ul.cardDeck.cardGrid > li ').each(function (a, b) {
398 | result = {
399 | status: 200,
400 | author: 'KirBotz',
401 | judul: $(b).find('> a > h3').text(),
402 | link: 'https://www.anime-planet.com' + $(b).find('> a').attr('href'),
403 | thumbnail: 'https://www.anime-planet.com' + $(b).find('> a > div.crop > img').attr('src')
404 | };
405 | hasil.push(result);
406 | });
407 | resolve(hasil)
408 | })
409 | .catch(reject)
410 | })
411 | }
412 |
413 | function searchsticker(queryy) {
414 | return new Promise((resolve, reject) => {
415 | axios.get(`https://getstickerpack.com/stickers?query=${queryy}`)
416 | .then(({data}) => {
417 | const $ = cheerio.load(data)
418 | const source = []
419 | const linknya = []
420 | $('#stickerPacks > div > div:nth-child(3) > div > a').each((a, b) => {
421 | source.push($(b).attr('href'))
422 | })
423 | axios.get(source[Math.floor(Math.random() * source.length)])
424 | .then(({data}) => {
425 | const $2 = cheerio.load(data)
426 | $2('#stickerPack > div > div.row > div > img').each((c, d) => {
427 | linknya.push($2(d).attr('src').replace(/&d=200x200/g, ''))
428 | })
429 | result = {
430 | title: $2('#intro > div > div > h1').text(),
431 | stickerUrl: linknya
432 | }
433 | resolve(result)
434 | })
435 | }).catch(reject)
436 | })
437 | }
438 |
439 | function igstalk(Username) {
440 | return new Promise((resolve, reject) => {
441 | axios.get('https://dumpor.com/v/'+Username, {
442 | headers: {
443 | "cookie": "_inst_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYWGhnNS1uWVNLUU81V1lzQ01MTVY2R0h1.fI2xB2dYYxmWqn7kyCKIn1baWw3b-f7QvGDfDK2WXr8",
444 | "user-agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36"
445 | }
446 | }).then(res => {
447 | const $ = cheerio.load(res.data)
448 | const result = {
449 | profile: $('#user-page > div.user > div.row > div > div.user__img').attr('style').replace(/(background-image: url\(\'|\'\);)/gi, ''),
450 | fullname: $('#user-page > div.user > div > div.col-md-4.col-8.my-3 > div > a > h1').text(),
451 | username: $('#user-page > div.user > div > div.col-md-4.col-8.my-3 > div > h4').text(),
452 | post: $('#user-page > div.user > div > div.col-md-4.col-8.my-3 > ul > li:nth-child(1)').text().replace(' Posts',''),
453 | followers: $('#user-page > div.user > div > div.col-md-4.col-8.my-3 > ul > li:nth-child(2)').text().replace(' Followers',''),
454 | following: $('#user-page > div.user > div > div.col-md-4.col-8.my-3 > ul > li:nth-child(3)').text().replace(' Following',''),
455 | bio: $('#user-page > div.user > div > div.col-md-5.my-3 > div').text()
456 | }
457 | resolve(result)
458 | })
459 | })
460 | }
461 |
462 | function listsurah() {
463 | return new Promise((resolve, reject) => {
464 | axios.get('https://litequran.net/')
465 | .then(({ data }) => {
466 | const $ = cheerio.load(data)
467 | let listsurah = []
468 | $('body > main > section > ol > li > a').each(function(a, b) {
469 | listsurah.push($(b).text())
470 | })
471 | result = {
472 | status: 200,
473 | author: 'KirBotz',
474 | listsurah: listsurah
475 | }
476 | resolve(result)
477 | }).catch(reject)
478 | })
479 | }
480 |
481 | function jadwalsholat(query) {
482 | return new Promise((resolve, reject) => {
483 | axios.get(`https://umrotix.com/jadwal-sholat/${query}`)
484 | .then(({
485 | data
486 | }) => {
487 | const $ = cheerio.load(data)
488 | $('body > div > div.main-wrapper.scrollspy-action > div:nth-child(3) ').each(function(a, b) {
489 | result = {
490 | status: 200,
491 | author: 'KirBotz',
492 | tanggal: $(b).find('> div:nth-child(2)').text(),
493 | imsyak: $(b).find('> div.panel.daily > div > div > div > div > div:nth-child(1) > p:nth-child(2)').text(),
494 | subuh: $(b).find('> div.panel.daily > div > div > div > div > div:nth-child(2) > p:nth-child(2)').text(),
495 | dzuhur: $(b).find('> div.panel.daily > div > div > div > div > div:nth-child(3) > p:nth-child(2)').text(),
496 | ashar: $(b).find('> div.panel.daily > div > div > div > div > div:nth-child(4) > p:nth-child(2)').text(),
497 | maghrib: $(b).find('> div.panel.daily > div > div > div > div > div:nth-child(5) > p:nth-child(2)').text(),
498 | isya: $(b).find('> div.panel.daily > div > div > div > div > div:nth-child(6) > p:nth-child(2)').text()
499 | }
500 | resolve(result)
501 | })
502 | })
503 | .catch(reject)
504 | })
505 | }
506 |
507 | async function telesticker(url){
508 | return new Promise(async (resolve, reject) => {
509 | packName = url.replace("https://t.me/addstickers/", "")
510 | data = await axios(`https://api.telegram.org/bot891038791:AAHWB1dQd-vi0IbH2NjKYUk-hqQ8rQuzPD4/getStickerSet?name=${encodeURIComponent(packName)}`, {method: "GET",headers: {"User-Agent": "GoogleBot"}})
511 | const hasil = []
512 | for (let i = 0; i < data.data.result.stickers.length; i++) {
513 | fileId = data.data.result.stickers[i].thumb.file_id
514 | data2 = await axios(`https://api.telegram.org/bot891038791:AAHWB1dQd-vi0IbH2NjKYUk-hqQ8rQuzPD4/getFile?file_id=${fileId}`)
515 | result = {
516 | url: "https://api.telegram.org/file/bot891038791:AAHWB1dQd-vi0IbH2NjKYUk-hqQ8rQuzPD4/" + data2.data.result.file_path
517 | }
518 | hasil.push(result.url)
519 | }
520 | resolve(hasil)
521 | })
522 | }
523 |
524 | async function aiovideodl(url) {
525 | let { data, headers } = await axios("https://aiovideodl.ml/");
526 | let $ = cheerio.load(data);
527 | let token = $("#token").attr("value");
528 | let cookie = headers["set-cookie"].join("; ");
529 | let body = new URLSearchParams({ url, token });
530 | let { data: res } = await axios({
531 | "url": "https://aiovideodl.ml/wp-json/aio-dl/video-data/",
532 | "method": "POST",
533 | "data": body,
534 | "headers": {
535 | "content-type": "application/x-www-form-urlencoded",
536 | "cookie": cookie,
537 | "origin": "https://aiovideodl.ml",
538 | "referer": "https://aiovideodl.ml/",
539 | "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.74 Safari/537.36"
540 | }
541 | });
542 | return res;
543 | }
544 |
545 | function linkwa(nama){
546 | return new Promise((resolve,reject) => {
547 | axios.get('http://ngarang.com/link-grup-wa/daftar-link-grup-wa.php?search='+ nama +'&searchby=name')
548 | .then(({ data }) => {
549 | const $ = cheerio.load(data);
550 | const result = [];
551 | const lnk = [];
552 | const nm = [];
553 | $('div.wa-chat-title-container').each(function(a,b){
554 | const limk = $(b).find('a').attr('href');
555 | lnk.push(limk)
556 | })
557 | $('div.wa-chat-title-text').each(function(c,d) {
558 | const name = $(d).text();
559 | nm.push(name)
560 | })
561 | for( let i = 0; i < lnk.length; i++){
562 | result.push({
563 | nama: nm[i].split('. ')[1],
564 | link: lnk[i].split('?')[0]
565 | })
566 | }
567 | resolve(result)
568 | })
569 | .catch(reject)
570 | })
571 | }
572 |
573 | async function mediafiredl(url) {
574 | var _a, _b;
575 | if (!/https?:\/\/(www\.)?mediafire\.com/.test(url))
576 | throw new Error('Invalid URL: ' + url);
577 | const data = await got(url).text();
578 | const $ = cheerio.load(data);
579 | const Url = ($('#downloadButton').attr('href') || '').trim();
580 | const url2 = ($('#download_link > a.retry').attr('href') || '').trim();
581 | const $intro = $('div.dl-info > div.intro');
582 | const filename = $intro.find('div.filename').text().trim();
583 | const filetype = $intro.find('div.filetype > span').eq(0).text().trim();
584 | const ext = ((_b = (_a = /\(\.(.*?)\)/.exec($intro.find('div.filetype > span').eq(1).text())) === null || _a === void 0 ? void 0 : _a[1]) === null || _b === void 0 ? void 0 : _b.trim()) || 'bin';
585 | const $li = $('div.dl-info > ul.details > li');
586 | const aploud = $li.eq(1).find('span').text().trim();
587 | const filesizeH = $li.eq(0).find('span').text().trim();
588 | const filesize = parseFloat(filesizeH) * (/GB/i.test(filesizeH)
589 | ? 1000000
590 | : /MB/i.test(filesizeH)
591 | ? 1000
592 | : /KB/i.test(filesizeH)
593 | ? 1
594 | : /B/i.test(filesizeH)
595 | ? 0.1
596 | : 0);
597 | return {
598 | url: Url,
599 | url2,
600 | filename,
601 | filetype,
602 | ext,
603 | aploud,
604 | filesizeH,
605 | filesize
606 | };
607 | }
608 |
609 | async function ytPlayMp4(query) {
610 | return new Promise((resolve, reject) => {
611 | try {
612 | const search = yts(query)
613 | .then((data) => {
614 | const url = []
615 | const pormat = data.all
616 | for (let i = 0; i < pormat.length; i++) {
617 | if (pormat[i].type == 'video') {
618 | let dapet = pormat[i]
619 | url.push(dapet.url)
620 | }
621 | }
622 | const id = ytdl.getVideoID(url[0])
623 | const yutub = ytdl.getInfo(`https://www.youtube.com/watch?v=${id}`)
624 | .then((data) => {
625 | let pormat = data.formats
626 | let video = []
627 | for (let i = 0; i < pormat.length; i++) {
628 | if (pormat[i].container == 'mp4' && pormat[i].hasVideo == true && pormat[i].hasAudio == true) {
629 | let vid = pormat[i]
630 | video.push(vid.url)
631 | }
632 | }
633 | const title = data.player_response.microformat.playerMicroformatRenderer.title.simpleText
634 | const thumb = data.player_response.microformat.playerMicroformatRenderer.thumbnail.thumbnails[0].url
635 | const channel = data.player_response.microformat.playerMicroformatRenderer.ownerChannelName
636 | const views = data.player_response.microformat.playerMicroformatRenderer.viewCount
637 | const published = data.player_response.microformat.playerMicroformatRenderer.publishDate
638 | const result = {
639 | title: title,
640 | thumb: thumb,
641 | channel: channel,
642 | published: published,
643 | views: views,
644 | url: video[0]
645 | }
646 | return(result)
647 | })
648 | return(yutub)
649 | })
650 | resolve(search)
651 | } catch (error) {
652 | reject(error)
653 | }
654 | console.log(error)
655 | })
656 | }
657 |
658 | async function ytPlayMp3(query) {
659 | return new Promise((resolve, reject) => {
660 | try {
661 | const search = yts(query)
662 | .then((data) => {
663 | const url = []
664 | const pormat = data.all
665 | for (let i = 0; i < pormat.length; i++) {
666 | if (pormat[i].type == 'video') {
667 | let dapet = pormat[i]
668 | url.push(dapet.url)
669 | }
670 | }
671 | const id = ytdl.getVideoID(url[0])
672 | const yutub = ytdl.getInfo(`https://www.youtube.com/watch?v=${id}`)
673 | .then((data) => {
674 | let pormat = data.formats
675 | let audio = []
676 | let video = []
677 | for (let i = 0; i < pormat.length; i++) {
678 | if (pormat[i].mimeType == 'audio/webm; codecs=\"opus\"') {
679 | let aud = pormat[i]
680 | audio.push(aud.url)
681 | }
682 | }
683 | const title = data.player_response.microformat.playerMicroformatRenderer.title.simpleText
684 | const thumb = data.player_response.microformat.playerMicroformatRenderer.thumbnail.thumbnails[0].url
685 | const channel = data.player_response.microformat.playerMicroformatRenderer.ownerChannelName
686 | const views = data.player_response.microformat.playerMicroformatRenderer.viewCount
687 | const published = data.player_response.microformat.playerMicroformatRenderer.publishDate
688 | const result = {
689 | status: true,
690 | code: 200,
691 | creator: '@kirbotz×',
692 | title: title,
693 | thumb: thumb,
694 | channel: channel,
695 | published: published,
696 | views: views,
697 | url: audio[0]
698 | }
699 | return(result)
700 | })
701 | return(yutub)
702 | })
703 | resolve(search)
704 | } catch (error) {
705 | reject(error)
706 | }
707 | console.log(error)
708 | })
709 | }
710 |
711 | function cerpen (category) {
712 | return new Promise(async (resolve, reject) => {
713 | let title = category.toLowerCase().replace(/[()*]/g, "")
714 | let judul = title.replace(/\s/g, "-")
715 | let page = Math.floor(Math.random() * 5)
716 | axios.get('http://cerpenmu.com/category/cerpen-'+judul+'/page/'+page)
717 | .then((get) => {
718 | let $ = cheerio.load(get.data)
719 | let link = []
720 | $('article.post').each(function (a, b) {
721 | link.push($(b).find('a').attr('href'))
722 | })
723 | let random = link[Math.floor(Math.random() * link.length)]
724 | axios.get(random)
725 | .then((res) => {
726 | let $$ = cheerio.load(res.data)
727 | let hasil = {
728 | title: $$('#content > article > h1').text(),
729 | author: $$('#content > article').text().split('Cerpen Karangan: ')[1].split('Kategori: ')[0],
730 | kategori: $$('#content > article').text().split('Kategori: ')[1].split('\n')[0],
731 | lolos: $$('#content > article').text().split('Lolos moderasi pada: ')[1].split('\n')[0],
732 | cerita: $$('#content > article > p').text()
733 | }
734 | resolve(hasil)
735 | })
736 | })
737 | })
738 | }
739 |
740 | function getLatestAnime() {
741 | return new Promise((resolve, reject) => {
742 | axios.get('https://www.mynimeku.com/').then(({ data }) => {
743 | let $ = cheerio.load(data)
744 | let result = []
745 | $('div.flexbox-item > a').each(function(i, e) {
746 | let title = $(e).attr('title')
747 | let link = $(e).attr('href')
748 | let status = $(e).find('div.flexbox-status').text()
749 | let thumb = $(e).find('div.flexbox-thumb > img').attr('data-src')
750 | let episode = $(e).find('div.flexbox-episode > span.eps').text().split(' ')[1]
751 | let type = $(e).find('div.flexbox-type').text()
752 | result.push({ title, status, episode, type, thumb, link })
753 | })
754 | resolve(result)
755 | }).catch(reject)
756 | })
757 | }
758 |
759 | function getLatestKomik() {
760 | return new Promise((resolve, reject) => {
761 | axios.get('https://www.mynimeku.com/').then(({ data }) => {
762 | let $ = cheerio.load(data)
763 | let result = []
764 | $('div.flexbox4-item').each(function(i, e) {
765 | let title = $(e).find('a').attr('title')
766 | let link = $(e).find('a').attr('href')
767 | let thumb = $(e).find('div.flexbox4-thumb > img').attr('data-src')
768 | let type = $(e).find('div.flexbox4-type').text()
769 | let status = $(e).find('div.flexbox-status').text()
770 | let chapter = $(e).find('ul.chapter > li').text().split(' ')[1]
771 | result.push({ title, status, chapter, type, thumb, link })
772 | })
773 | resolve(result)
774 | }).catch(reject)
775 | })
776 | }
777 |
778 | function AnimeDl(url) {
779 | return new Promise((resolve, reject) => {
780 | axios.get(url).then(({ data }) => {
781 | let $ = cheerio.load(data)
782 | let title = $('title').text()
783 | let thumb = $('meta[property="og:image"]').attr('content')
784 | let url = $('#linklist').find('a').attr('href')
785 | resolve({ title, thumb, url })
786 | }).catch(reject)
787 | })
788 | }
789 |
790 | function KomikDl(url) {
791 | return new Promise((resolve, reject) => {
792 | axios.get(url).then(({ data }) => {
793 | let $ = cheerio.load(data)
794 | let title = $('title').text().replace('Bahasa Indonesia - MyNimeku', '').trim()
795 | let result = []
796 | $('div.reader-area > p > img').each(function () {
797 | result.push($(this).attr('src'))
798 | })
799 | resolve({ title, result })
800 | }).catch(reject)
801 | })
802 | }
803 |
804 | function otakudesu(judul){
805 | return new Promise(async(resolve, reject) => {
806 | axios.get('https://otakudesu.moe/?s=' + judul + '&post_type=anime')
807 | .then(({ data }) => {
808 | const $ = cheerio.load(data)
809 | const result = {};
810 | let limk = $('#venkonten > div > div.venser > div > div > ul > li:nth-child(1) > h2 > a').attr('href')
811 | axios.get(limk).then(({ data }) => {
812 | const $$ = cheerio.load(data)
813 | result.message = 'KirBotz'
814 | result.img = $$('#venkonten > div.venser > div.fotoanime').find('img').attr('src')
815 | $$('#venkonten > div.venser > div.fotoanime > div.infozin > div').each(function(a, b) {
816 | result.judul = $$(b).find('p:nth-child(1)').text().replace('Judul: ','')
817 | result.jepang = $$(b).find('p:nth-child(2)').text().replace('Japanese: ','')
818 | result.rate = $$(b).find('p:nth-child(3)').text().replace('Skor: ','')
819 | result.produser = $$(b).find('p:nth-child(4)').text().replace('Produser: ','')
820 | result.tipe = $$(b).find('p:nth-child(5)').text().replace('Tipe: ','')
821 | result.status = $$(b).find('p:nth-child(6)').text().replace('Status: ','')
822 | result.episode = $$(b).find('p:nth-child(7)').text().replace('Total Episode: ','')
823 | result.durasi = $$(b).find('p:nth-child(8)').text().replace('Durasi: ','')
824 | result.rilis = $$(b).find('p:nth-child(9)').text().replace('Tanggal Rilis: ','')
825 | result.studio = $$(b).find('p:nth-child(10)').text().replace('Studio: ','')
826 | result.genre = $$(b).find('p:nth-child(11)').text().replace('Genre: ','')
827 | result.desc = $$('#venkonten > div.venser > div.fotoanime > div.sinopc').text().replace('.','\n') + $$(b).find('div.sinopc > p:nth-child(2)').text()
828 | result.batch = $$('#venkonten > div.venser > div:nth-child(10) > ul > li > span:nth-child(1) > a').attr('href')
829 | })
830 | const lim = $$('#venkonten > div.venser > div:nth-child(10) > ul > li > span:nth-child(1) > a').attr('href')
831 | axios.get(lim).then(({ data }) => {
832 | const $$$ = cheerio.load(data)
833 | result.batchSD = $$$('#venkonten > div:nth-child(6) > ul > li:nth-child(1) > a:nth-child(3)').attr('href')
834 | result.batchHD = $$$('#venkonten > div:nth-child(6) > ul > li:nth-child(3) > a:nth-child(3)').attr('href')
835 | resolve(result)
836 | })
837 | })
838 | })
839 | .catch(reject)
840 | })
841 | }
842 |
843 | module.exports = {
844 | niatsholat,
845 | asmaulhusna,
846 | bacaanshalat,
847 | getDoujin,
848 | onGoing,
849 | kusoNime,
850 | mlstalk,
851 | ffstalk,
852 | npmstalk,
853 | quotesanime,
854 | pornovid,
855 | hentaivid,
856 | nomorhp,
857 | character,
858 | anime,
859 | manga,
860 | searchsticker,
861 | igstalk,
862 | listsurah,
863 | jadwalsholat,
864 | telesticker,
865 | aiovideodl,
866 | linkwa,
867 | mediafiredl,
868 | ytPlayMp4,
869 | ytPlayMp3,
870 | cerpen,
871 | getLatestAnime,
872 | getLatestKomik,
873 | AnimeDl,
874 | KomikDl,
875 | otakudesu }
--------------------------------------------------------------------------------
/scrape/textpro.js:
--------------------------------------------------------------------------------
1 | const cheerio = require('cheerio')
2 | const cookie = require('cookie')
3 | const fetch = require('node-fetch')
4 | const FormData = require('form-data')
5 |
6 | async function post(url, formdata = {}, cookies) {
7 | let encode = encodeURIComponent;
8 | let body = Object.keys(formdata)
9 | .map((key) => {
10 | let vals = formdata[key];
11 | let isArray = Array.isArray(vals);
12 | let keys = encode(key + (isArray ? "[]" : ""));
13 | if (!isArray) vals = [vals];
14 | let out = [];
15 | for (let valq of vals) out.push(keys + "=" + encode(valq));
16 | return out.join("&");
17 | })
18 | .join("&");
19 | return await fetch(`${url}?${body}`, {
20 | method: "GET",
21 | headers: {
22 | Accept: "*/*",
23 | "Accept-Language": "en-US,en;q=0.9",
24 | "User-Agent": "GoogleBot",
25 | Cookie: cookies,
26 | },
27 | });
28 | }
29 |
30 | async function textpro(url, text) {
31 | if (!/^https:\/\/textpro\.me\/.+\.html$/.test(url))
32 | throw new Error("Url Salah!!");
33 | const geturl = await fetch(url, {
34 | method: "GET",
35 | headers: {
36 | "User-Agent": "GoogleBot",
37 | },
38 | });
39 | const caritoken = await geturl.text();
40 | let hasilcookie = geturl.headers
41 | .get("set-cookie")
42 | .split(",")
43 | .map((v) => cookie.parse(v))
44 | .reduce((a, c) => {
45 | return { ...a, ...c };
46 | }, {});
47 | hasilcookie = {
48 | __cfduid: hasilcookie.__cfduid,
49 | PHPSESSID: hasilcookie.PHPSESSID,
50 | };
51 | hasilcookie = Object.entries(hasilcookie)
52 | .map(([name, value]) => cookie.serialize(name, value))
53 | .join("; ");
54 | const $ = cheerio.load(caritoken);
55 | const token = $('input[name="token"]').attr("value");
56 | const form = new FormData();
57 | if (typeof text === "string") text = [text];
58 | for (let texts of text) form.append("text[]", texts);
59 | form.append("submit", "Go");
60 | form.append("token", token);
61 | form.append("build_server", "https://textpro.me");
62 | form.append("build_server_id", 1);
63 | const geturl2 = await fetch(url, {
64 | method: "POST",
65 | headers: {
66 | Accept: "*/*",
67 | "Accept-Language": "en-US,en;q=0.9",
68 | "User-Agent": "GoogleBot",
69 | Cookie: hasilcookie,
70 | ...form.getHeaders(),
71 | },
72 | body: form.getBuffer(),
73 | });
74 | const caritoken2 = await geturl2.text();
75 | const token2 = /(.*?)<\/div>/.exec(caritoken2);
76 | if (!token2) throw new Error("Token Not Found!!");
77 | const prosesimage = await post(
78 | "https://textpro.me/effect/create-image",
79 | JSON.parse(token2[1]),
80 | hasilcookie
81 | );
82 | const hasil = await prosesimage.json();
83 | return `https://textpro.me${hasil.fullsize_image}`;
84 | }
85 |
86 | module.exports.textpro = textpro
--------------------------------------------------------------------------------
/scrape/tiktok.js:
--------------------------------------------------------------------------------
1 | const axios = require('axios')
2 | const vm = require('node:vm')
3 |
4 | async function savefrom() {
5 | let body = new URLSearchParams({
6 | "sf_url": encodeURI(arguments[0]),
7 | "sf_submit": "",
8 | "new": 2,
9 | "lang": "id",
10 | "app": "",
11 | "country": "id",
12 | "os": "Windows",
13 | "browser": "Chrome",
14 | "channel": " main",
15 | "sf-nomad": 1
16 | });
17 | let {
18 | data
19 | } = await axios({
20 | "url": "https://worker.sf-tools.com/savefrom.php",
21 | "method": "POST",
22 | "data": body,
23 | "headers": {
24 | "content-type": "application/x-www-form-urlencoded",
25 | "origin": "https://id.savefrom.net",
26 | "referer": "https://id.savefrom.net/",
27 | "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.74 Safari/537.36"
28 | }
29 | });
30 | let exec = '[]["filter"]["constructor"](b).call(a);';
31 | data = data.replace(exec, `\ntry {\ni++;\nif (i === 2) scriptResult = ${exec.split(".call")[0]}.toString();\nelse (\n${exec.replace(/;/, "")}\n);\n} catch {}`);
32 | let context = {
33 | "scriptResult": "",
34 | "i": 0
35 | };
36 | vm.createContext(context);
37 | new vm.Script(data).runInContext(context);
38 | return JSON.parse(context.scriptResult.split("window.parent.sf.videoResult.show(")?.[1].split(");")?.[0])
39 | }
40 |
41 | global.tiktok = savefrom
--------------------------------------------------------------------------------
/scrape/upload.js:
--------------------------------------------------------------------------------
1 | const { modul } = require('../module');
2 | const { axios, fs, fetch, FormData, FileType } = modul;
3 | const { fromBuffer } = FileType
4 |
5 | async function uptotelegra (Path) {
6 | return new Promise (async (resolve, reject) => {
7 | if (!fs.existsSync(Path)) return reject(new Error("File not Found"))
8 | try {
9 | const form = new FormData();
10 | form.append("file", fs.createReadStream(Path))
11 | const data = await axios({
12 | url: "https://telegra.ph/upload",
13 | method: "POST",
14 | headers: {
15 | ...form.getHeaders()
16 | },
17 | data: form
18 | })
19 | return resolve("https://telegra.ph" + data.data[0].src)
20 | } catch (err) {
21 | return reject(new Error(String(err)))
22 | }
23 | })
24 | }
25 |
26 | module.exports.uptotelegra = uptotelegra
--------------------------------------------------------------------------------
/scrape/uploader.js:
--------------------------------------------------------------------------------
1 | let axios = require('axios')
2 | let BodyForm = require('form-data')
3 | let { fromBuffer } = require('file-type')
4 | let fetch = require('node-fetch')
5 | let fs = require('fs')
6 | let cheerio = require('cheerio')
7 |
8 |
9 |
10 | function TelegraPh(Path) {
11 | return new Promise (async (resolve, reject) => {
12 | if (!fs.existsSync(Path)) return reject(new Error("File not Found"))
13 | try {
14 | const form = new BodyForm();
15 | form.append("file", fs.createReadStream(Path))
16 | const data = await axios({
17 | url: "https://telegra.ph/upload",
18 | method: "POST",
19 | headers: {
20 | ...form.getHeaders()
21 | },
22 | data: form
23 | })
24 | return resolve("https://telegra.ph" + data.data[0].src)
25 | } catch (err) {
26 | return reject(new Error(String(err)))
27 | }
28 | })
29 | }
30 |
31 | async function UploadFileUgu(input) {
32 | return new Promise (async (resolve, reject) => {
33 | const form = new BodyForm();
34 | form.append("files[]", fs.createReadStream(input))
35 | await axios({
36 | url: "https://uguu.se/upload.php",
37 | method: "POST",
38 | headers: {
39 | "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36",
40 | ...form.getHeaders()
41 | },
42 | data: form
43 | }).then((data) => {
44 | resolve(data.data.files[0])
45 | }).catch((err) => reject(err))
46 | })
47 | }
48 |
49 | function webp2mp4File(path) {
50 | return new Promise((resolve, reject) => {
51 | const form = new BodyForm()
52 | form.append('new-image-url', '')
53 | form.append('new-image', fs.createReadStream(path))
54 | axios({
55 | method: 'post',
56 | url: 'https://s6.ezgif.com/webp-to-mp4',
57 | data: form,
58 | headers: {
59 | 'Content-Type': `multipart/form-data; boundary=${form._boundary}`
60 | }
61 | }).then(({ data }) => {
62 | const bodyFormThen = new BodyForm()
63 | const $ = cheerio.load(data)
64 | const file = $('input[name="file"]').attr('value')
65 | bodyFormThen.append('file', file)
66 | bodyFormThen.append('convert', "Convert WebP to MP4!")
67 | axios({
68 | method: 'post',
69 | url: 'https://ezgif.com/webp-to-mp4/' + file,
70 | data: bodyFormThen,
71 | headers: {
72 | 'Content-Type': `multipart/form-data; boundary=${bodyFormThen._boundary}`
73 | }
74 | }).then(({ data }) => {
75 | const $ = cheerio.load(data)
76 | const result = 'https:' + $('div#output > p.outfile > video > source').attr('src')
77 | resolve({
78 | status: true,
79 | message: "Created By MRHRTZ",
80 | result: result
81 | })
82 | }).catch(reject)
83 | }).catch(reject)
84 | })
85 | }
86 |
87 | async function floNime(medianya, options = {}) {
88 | const { ext } = await fromBuffer(medianya) || options.ext
89 | var form = new BodyForm()
90 | form.append('file', medianya, 'tmp.'+ext)
91 | jsonnya = await fetch('https://flonime.my.id/upload', {
92 | method: 'POST',
93 | body: form
94 | })
95 | .then((response) => response.json())
96 | .then((result) => {
97 | return result
98 | })
99 | .catch(e => {
100 | return e
101 | })
102 | return jsonnya
103 | }
104 |
105 | module.exports = { TelegraPh, UploadFileUgu, webp2mp4File, floNime }
106 |
--------------------------------------------------------------------------------
/settings.js:
--------------------------------------------------------------------------------
1 | const chalk = require("chalk")
2 | const fs = require("fs")
3 |
4 | // Apikey
5 | global.apikeys = 'Apikeylu'
6 | // Note: Kalau Lu Gada Apikeynya Daftar Dulu Biar Semua Fiturnya Aktif, Webnya Di Bawah Ya
7 | // • https://api.xyroinee.xyz
8 |
9 | // Info Owner
10 | global.owner = ['6285760451683']
11 | global.nomorown = "6285760451683"
12 | global.ownername = "Xyroınee-ID."
13 | global.ownerNumber = ["6285760451683@s.whatsapp.net"]
14 | global.creator = "6285760451683@s.whatsapp.net"
15 | global.author = "Clara - MD"
16 | global.location = "Indonesia"
17 |
18 | //Bot Setting
19 | global.botname = "Clara - MD"
20 | global.wm = "Follow Instagram: danilelistz02"
21 | global.packname = "Sticker By"
22 | global.prefa = ['','!','.','#','&','`']
23 | global.hituet = 0
24 |
25 | // Social Media
26 | global.yt = "https://www.youtube.com/@Xyroinee"
27 | global.gh = "https://github.com/Xyroinee"
28 | global.ig = "https://instagram.com/danilelistz02"
29 | global.fb = "https://facebook.com/danilelistz19"
30 | global.web = "https://api.xyroinee.xyz"
31 | global.gcwa = "https://chat.whatsapp.com/LAWdMIQri9SKee5kqmISH0"
32 |
33 | // Foto Bot
34 | global.thumb = fs.readFileSync("./media/clara.jpg")
35 |
36 | // Message/Pesan
37 | global.mess = {
38 | success: '_Sukses...!_',
39 | admin: '_Maaf Kak, Tapi Fitur Ini Hanya Bisa Digunakan Oleh Admin Grup_',
40 | botAdmin: '_Jadikan Saya Sebagai Admin Terlebih Dahulu Agar Dapan Mengaktifkan Fitur Ini_',
41 | prem: '_Fitur Ini Khusus Premium Kak, Jika Ingin Menjadi User Premium Ketik .premium Atau Hubungin Owner_',
42 | owner: '_Maaf Kak, Tapi Fitur Ini Hanya Bisa Digunakan Oleh Ownerku_',
43 | group: '_Fitur Ini Hanya Bisa Di Pakai Di Dalam Grup_',
44 | private: '_Fitur Ini Hanya Bisa Di Pakai Di Dalam Chat Pribadi_',
45 | bot: 'Fitur Khusus Bot',
46 | wait: '_Sedang Di Proses, Mohon Tunggu_...',
47 | link: '_Uhm...Linknya Mana?_'
48 | }
49 | // Ini Panel Ya Njing
50 | global.host = "https://zrstore.panelrun.xyz"
51 | global.application = {
52 | api_key: "", //Ambil Di Panel Lu Caranya Pergi Ke Setting Admin Terus Tap Garis Tiga Pojok Kiri Atas Terus Tap Application API Tinggal Salin Apikeynya
53 | c_api_key: "" //Ambil Di Panel Lu Caranya Ke Account Setting Atau Tap Foto Akun Lu Terus Tap API Credentials Terus Isi Descriptionya Sange Terus Tap Create Nah Lu Salin C Apikeynya
54 | }
55 | global.serverCreate = {
56 | nestId: "5", //Nest Id Panel Lu
57 | eggId: "15", //Egg Id Panel Lu
58 | limits: {
59 | db: "1", //Mending Ga Usah Diganti
60 | backups: "1", //Mending Ga Usah Diganti
61 | allocation: "0" //Mending Ga Usah Diganti
62 | },
63 | eggs: {
64 | environment: {
65 | "CUSTOM_COMMAND": "npm start", //Sesuaiin Sama Eggs Panel Lu
66 | "GIT_ADDRESS": "",
67 | "BRANCH": "",
68 | "USERNAME": "",
69 | "ACCESS_TOKEN": ""
70 | }
71 | }
72 | }
73 |
74 | let file = require.resolve(__filename)
75 | fs.watchFile(file, () => {
76 | fs.unwatchFile(file)
77 | console.log(chalk.redBright(`Update'${__filename}'`))
78 | delete require.cache[file]
79 | require(file)
80 | })
81 |
--------------------------------------------------------------------------------