From 60e785c8aa56a1e4ddcba56121d297f0d6e1e106 Mon Sep 17 00:00:00 2001 From: LiuBotMD2 <112464296+LiuBotMD2@users.noreply.github.com> Date: Fri, 7 Oct 2022 09:13:35 -0500 Subject: [PATCH 1/2] pluglins --- plugins/plugins/Charlie-1.js | 89 ++ plugins/plugins/Fantasmas.js | 65 ++ plugins/plugins/Herramienta-Identidad (1).js | 32 + plugins/plugins/Menu_Furidamu.js | 55 ++ plugins/plugins/SIMI.js | 17 + plugins/plugins/_antilink.js | 27 + plugins/plugins/_antilink2.js | 24 + plugins/plugins/_antiprivado.js | 18 + plugins/plugins/_antitoxic.js | 26 + plugins/plugins/_antitrabas.js | 30 + plugins/plugins/_antiviewonce.js | 19 + plugins/plugins/_antivirus.js | 15 + plugins/plugins/_autoresponder.js | 13 + plugins/plugins/_autosticker.js | 35 + plugins/plugins/_cmdWithMedia.js | 29 + plugins/plugins/_templateResponse.js | 79 ++ plugins/plugins/_wel&bye.js | 13 + plugins/plugins/acciones-Abrazo.js | 17 + plugins/plugins/acciones-besarr.js | 17 + plugins/plugins/acciones-golpear.js | 17 + plugins/plugins/acciones-manosear.js | 17 + plugins/plugins/acciones-matar.js | 17 + plugins/plugins/acciones-menu.js | 52 ++ plugins/plugins/acciones-nalgada.js | 31 + plugins/plugins/acciones-patada.js | 31 + plugins/plugins/acciones-venirse.js | 31 + plugins/plugins/addxp.js | 28 + plugins/plugins/adult-comandos+18.js | 118 +++ plugins/plugins/adult-tiktokxxx.js | 20 + plugins/plugins/adult-videoxxx.js | 56 ++ plugins/plugins/adult-xnxxdl.js | 14 + plugins/plugins/adult-xnxxsearch.js | 27 + plugins/plugins/adult-xvideosdl.js | 14 + plugins/plugins/afk-_afk.js | 29 + plugins/plugins/afk-afk.js | 10 + plugins/plugins/amistad.js | 13 + plugins/plugins/anonymous_chat.js | 45 + plugins/plugins/anonymous_chat_.js.js | 14 + plugins/plugins/audio-efectos.js | 44 + plugins/plugins/autoreact.js | 17 + "plugins/plugins/a\303\261adirdiamantes.js" | 28 + plugins/plugins/boost.js | 28 + plugins/plugins/buscador-animeinfo.js | 46 + plugins/plugins/buscador-apk.js | 124 +++ plugins/plugins/buscador-google.js | 27 + plugins/plugins/buscador-lyrics.js | 37 + plugins/plugins/buscador-playstore.js | 29 + plugins/plugins/buscador-stickersearch.js | 37 + plugins/plugins/buscador-wikipedia.js | 35 + plugins/plugins/buscador-yts.js | 25 + plugins/plugins/captura.js | 16 + plugins/plugins/chat-chatbot.js | 45 + plugins/plugins/code-getcode.js | 24 + plugins/plugins/config-enable.js | 279 ++++++ plugins/plugins/convertidor-toimg.js | 15 + plugins/plugins/convertidor-tomp3.js | 14 + plugins/plugins/convertidor-toptt.js | 17 + plugins/plugins/convertidor-tourl.js | 15 + plugins/plugins/convertidor-tovideo.js | 25 + plugins/plugins/convertidor-tts.js | 42 + plugins/plugins/downloader-facebook.js | 14 + plugins/plugins/downloader-gdrive.js | 37 + plugins/plugins/downloader-gitclone.js | 16 + plugins/plugins/downloader-ig.js | 13 + plugins/plugins/downloader-igstalk.js | 25 + plugins/plugins/downloader-igstory.js | 17 + plugins/plugins/downloader-imagen.js | 16 + plugins/plugins/downloader-mediafire.js | 30 + plugins/plugins/downloader-pinterest.js | 13 + plugins/plugins/downloader-play.js | 29 + plugins/plugins/downloader-play3.js | 26 + plugins/plugins/downloader-play_v2.js | 22 + plugins/plugins/downloader-playlist.js | 47 + plugins/plugins/downloader-pptiktok.js | 10 + plugins/plugins/downloader-ringtone.js | 9 + plugins/plugins/downloader-soundcloud.js | 21 + plugins/plugins/downloader-stickerpack.js | 15 + plugins/plugins/downloader-tiktok.js | 39 + plugins/plugins/downloader-tiktokstalk.js | 27 + plugins/plugins/downloader-wallpaper.js | 11 + plugins/plugins/downloader-yta.2.js | 36 + plugins/plugins/downloader-yta.js | 58 ++ plugins/plugins/downloader-ytv.2.js | 36 + plugins/plugins/downloader-ytv.js | 47 + plugins/plugins/formarpareja5.js | 50 ++ plugins/plugins/formartrio.js | 18 + plugins/plugins/frase-frases.js | 24 + plugins/plugins/fun-Chatgp.js | 41 + plugins/plugins/fun-MedidorDeAltura.js | 19 + plugins/plugins/fun-MedidorDeInfidelidad.js | 17 + plugins/plugins/fun-MedidorDePotos.js | 19 + plugins/plugins/fun-MedidorDePussy.js | 19 + plugins/plugins/fun-MedidorDeTula.js | 12 + plugins/plugins/fun-MedidorDechichis.js | 18 + plugins/plugins/fun-calculador.js | 85 ++ plugins/plugins/fun-destrabas.js | 168 ++++ plugins/plugins/fun-doxeo_falso.js | 64 ++ plugins/plugins/fun-formarpareja.js | 15 + plugins/plugins/fun-ganas.js | 10 + plugins/plugins/fun-gay.js | 14 + plugins/plugins/fun-love.js | 10 + plugins/plugins/fun-medidordehombria.js | 12 + plugins/plugins/fun-pregunta.js | 12 + plugins/plugins/fun-reto.js | 100 +++ plugins/plugins/fun-simi.js | 10 + plugins/plugins/fun-top.js | 44 + plugins/plugins/fun-tops.js | 59 ++ plugins/plugins/fun-verdad.js | 173 ++++ plugins/plugins/funcion.block.js | 17 + plugins/plugins/funcion.unblock.js | 17 + plugins/plugins/game-_cancion.js | 25 + plugins/plugins/game-_suitpvp.js | 80 ++ plugins/plugins/game-_ttt.js | 80 ++ plugins/plugins/game-cancion.js | 36 + plugins/plugins/game-delttt.js | 9 + plugins/plugins/game-math.js | 75 ++ plugins/plugins/game-math_answer.js | 24 + plugins/plugins/game-pista.js | 13 + plugins/plugins/game-ppt.js | 63 ++ plugins/plugins/game-slot.js | 78 ++ plugins/plugins/game-suitpvp.js | 29 + plugins/plugins/game-ttt.js | 52 ++ plugins/plugins/gc-admins.js | 22 + plugins/plugins/gc-config.js | 26 + plugins/plugins/gc-demote.js | 33 + plugins/plugins/gc-hidetag.js | 14 + plugins/plugins/gc-info.js | 41 + plugins/plugins/gc-kick.js | 19 + plugins/plugins/gc-link.js | 16 + plugins/plugins/gc-listwarn.js | 16 + plugins/plugins/gc-promote.js | 33 + plugins/plugins/gc-setbye.js | 11 + plugins/plugins/gc-setdesc.js | 11 + plugins/plugins/gc-setname.js | 17 + plugins/plugins/gc-setwelcome.js | 11 + plugins/plugins/gc-tagall.js | 19 + plugins/plugins/gc-unwarn.js | 16 + plugins/plugins/herramienta-Antifakes.js | 106 +++ plugins/plugins/herramienta-nowa.js | 22 + plugins/plugins/herramientas-acortar.js | 14 + plugins/plugins/herramientas-calc.js | 36 + plugins/plugins/herramientas-clima.js | 32 + plugins/plugins/herramientas-delete.js | 47 + plugins/plugins/herramientas-encuesta.js | 14 + plugins/plugins/herramientas-morce.js | 149 ++++ plugins/plugins/herramientas-ocr.js | 15 + plugins/plugins/herramientas-qrcode.js | 9 + plugins/plugins/herramientas-readmore.js | 13 + plugins/plugins/herramientas-spamwa.js | 22 + plugins/plugins/herramientas-ssweb.js | 9 + plugins/plugins/herramientas-styletext.js | 24 + plugins/plugins/herramientas-translate.js | 27 + plugins/plugins/herramientas-whatmusic.js | 34 + plugins/plugins/info-Terminos.js | 56 ++ plugins/plugins/info-bot.js | 23 + plugins/plugins/info-creador.js | 38 + plugins/plugins/info-donar.js | 28 + plugins/plugins/info-estado.js | 34 + plugins/plugins/info-grouplist.js | 11 + plugins/plugins/info-gruposofc.js | 17 + plugins/plugins/info-infobot.js | 56 ++ plugins/plugins/ip.js | 28 + plugins/plugins/iss.js | 14 + plugins/plugins/maker-blur.js | 10 + plugins/plugins/maker-horncard.js | 10 + plugins/plugins/maker-itssostupid.js | 12 + plugins/plugins/maker-logos.js | 884 +++++++++++++++++++ plugins/plugins/maker-phmaker.js | 453 ++++++++++ plugins/plugins/maker-phmakerlist.js | 438 +++++++++ plugins/plugins/maker-pixel.js | 12 + plugins/plugins/maker-simpcard.js | 10 + plugins/plugins/maker-ytcomment.js | 12 + plugins/plugins/marker-ephoto360.js | 21 + plugins/plugins/marker-lolice.js | 10 + plugins/plugins/menu-audios.js | 97 ++ plugins/plugins/menu-caja_fuerte.js | 62 ++ plugins/plugins/menu-menu-1.js | 523 +++++++++++ plugins/plugins/nv-a.js | 8 + plugins/plugins/nv-global.js | 535 +++++++++++ plugins/plugins/nv-sad c _mp3.js | 15 + plugins/plugins/owner-addmsg.js.js | 15 + plugins/plugins/owner-addprem.js | 16 + plugins/plugins/owner-autoadmin.js | 13 + plugins/plugins/owner-banchat.js | 9 + plugins/plugins/owner-banuser.js | 15 + plugins/plugins/owner-bcgc.js | 19 + plugins/plugins/owner-broadcast.js | 19 + plugins/plugins/owner-broadcastchats.js | 19 + plugins/plugins/owner-cleartmp.js | 26 + plugins/plugins/owner-delmsg.js | 13 + plugins/plugins/owner-delprem.js | 17 + plugins/plugins/owner-getmsg.js | 13 + plugins/plugins/owner-join.js | 22 + plugins/plugins/owner-listmsg.js | 13 + plugins/plugins/owner-listprem.js | 11 + plugins/plugins/owner-reporte.js | 15 + plugins/plugins/owner-restart.js | 16 + plugins/plugins/owner-unbanchat.js | 9 + plugins/plugins/owner-unbanuser.js | 15 + plugins/plugins/owner-update.js | 11 + plugins/plugins/owner-warn.js | 27 + plugins/plugins/random-C. Ronaldo.js | 10 + plugins/plugins/random-Messi.js | 10 + plugins/plugins/random-anime.js | 111 +++ plugins/plugins/random-blackpink.js | 11 + plugins/plugins/random-capi.js | 19 + plugins/plugins/random-cat.js | 18 + plugins/plugins/random-itzy.js | 12 + plugins/plugins/random-kpop.js | 21 + plugins/plugins/random-loli.js | 364 ++++++++ plugins/plugins/random-lolivid.js | 7 + plugins/plugins/random-meme.js | 37 + plugins/plugins/random-navidad.js | 12 + plugins/plugins/random-neko.js | 14 + plugins/plugins/random-ppcp.js | 13 + plugins/plugins/random-waifu.js | 12 + plugins/plugins/random-wallprandoms.js | 90 ++ plugins/plugins/rpg-autolevelup.js | 19 + plugins/plugins/rpg-balance.js | 20 + plugins/plugins/rpg-daily.js | 37 + plugins/plugins/rpg-leaderboard.js | 56 ++ plugins/plugins/rpg-levelup.js | 43 + plugins/plugins/rpg-menosDIA.js | 28 + plugins/plugins/rpg-menosEXP.js | 28 + plugins/plugins/rpg-minar.js | 27 + plugins/plugins/rpg-perfil.js | 31 + plugins/plugins/rpg-rob.js | 46 + plugins/plugins/rpg-shop.js | 22 + plugins/plugins/rpg-transfer.js | 88 ++ plugins/plugins/rpg-unreg.js | 14 + plugins/plugins/rpg-verificar.js | 27 + plugins/plugins/rpg-work.js | 40 + plugins/plugins/scraper.js | 35 + plugins/plugins/simular.js | 54 ++ plugins/plugins/sticker-dado.js | 16 + plugins/plugins/sticker-emojimix.js | 25 + plugins/plugins/sticker-kiss.js | 15 + plugins/plugins/sticker-pat.js | 15 + plugins/plugins/sticker-scircle.js | 17 + plugins/plugins/sticker-semoji.js | 148 ++++ plugins/plugins/sticker-slap.js | 17 + plugins/plugins/sticker-sremovebg.js | 16 + plugins/plugins/sticker-sticker.js | 51 ++ plugins/plugins/sticker-stickerfilter.js | 35 + plugins/plugins/sticker-stickermarker.js | 35 + plugins/plugins/sticker-ttp_attp.js | 33 + plugins/plugins/sticker-wm.js | 23 + plugins/plugins/voto-iniciar.js | 45 + plugins/plugins/votos-delvote.js | 18 + plugins/plugins/votos-listvote.js | 28 + plugins/plugins/votos-votar.js | 45 + 251 files changed, 10984 insertions(+) create mode 100644 plugins/plugins/Charlie-1.js create mode 100644 plugins/plugins/Fantasmas.js create mode 100644 plugins/plugins/Herramienta-Identidad (1).js create mode 100644 plugins/plugins/Menu_Furidamu.js create mode 100644 plugins/plugins/SIMI.js create mode 100644 plugins/plugins/_antilink.js create mode 100644 plugins/plugins/_antilink2.js create mode 100644 plugins/plugins/_antiprivado.js create mode 100644 plugins/plugins/_antitoxic.js create mode 100644 plugins/plugins/_antitrabas.js create mode 100644 plugins/plugins/_antiviewonce.js create mode 100644 plugins/plugins/_antivirus.js create mode 100644 plugins/plugins/_autoresponder.js create mode 100644 plugins/plugins/_autosticker.js create mode 100644 plugins/plugins/_cmdWithMedia.js create mode 100644 plugins/plugins/_templateResponse.js create mode 100644 plugins/plugins/_wel&bye.js create mode 100644 plugins/plugins/acciones-Abrazo.js create mode 100644 plugins/plugins/acciones-besarr.js create mode 100644 plugins/plugins/acciones-golpear.js create mode 100644 plugins/plugins/acciones-manosear.js create mode 100644 plugins/plugins/acciones-matar.js create mode 100644 plugins/plugins/acciones-menu.js create mode 100644 plugins/plugins/acciones-nalgada.js create mode 100644 plugins/plugins/acciones-patada.js create mode 100644 plugins/plugins/acciones-venirse.js create mode 100644 plugins/plugins/addxp.js create mode 100644 plugins/plugins/adult-comandos+18.js create mode 100644 plugins/plugins/adult-tiktokxxx.js create mode 100644 plugins/plugins/adult-videoxxx.js create mode 100644 plugins/plugins/adult-xnxxdl.js create mode 100644 plugins/plugins/adult-xnxxsearch.js create mode 100644 plugins/plugins/adult-xvideosdl.js create mode 100644 plugins/plugins/afk-_afk.js create mode 100644 plugins/plugins/afk-afk.js create mode 100644 plugins/plugins/amistad.js create mode 100644 plugins/plugins/anonymous_chat.js create mode 100644 plugins/plugins/anonymous_chat_.js.js create mode 100644 plugins/plugins/audio-efectos.js create mode 100644 plugins/plugins/autoreact.js create mode 100644 "plugins/plugins/a\303\261adirdiamantes.js" create mode 100644 plugins/plugins/boost.js create mode 100644 plugins/plugins/buscador-animeinfo.js create mode 100644 plugins/plugins/buscador-apk.js create mode 100644 plugins/plugins/buscador-google.js create mode 100644 plugins/plugins/buscador-lyrics.js create mode 100644 plugins/plugins/buscador-playstore.js create mode 100644 plugins/plugins/buscador-stickersearch.js create mode 100644 plugins/plugins/buscador-wikipedia.js create mode 100644 plugins/plugins/buscador-yts.js create mode 100644 plugins/plugins/captura.js create mode 100644 plugins/plugins/chat-chatbot.js create mode 100644 plugins/plugins/code-getcode.js create mode 100644 plugins/plugins/config-enable.js create mode 100644 plugins/plugins/convertidor-toimg.js create mode 100644 plugins/plugins/convertidor-tomp3.js create mode 100644 plugins/plugins/convertidor-toptt.js create mode 100644 plugins/plugins/convertidor-tourl.js create mode 100644 plugins/plugins/convertidor-tovideo.js create mode 100644 plugins/plugins/convertidor-tts.js create mode 100644 plugins/plugins/downloader-facebook.js create mode 100644 plugins/plugins/downloader-gdrive.js create mode 100644 plugins/plugins/downloader-gitclone.js create mode 100644 plugins/plugins/downloader-ig.js create mode 100644 plugins/plugins/downloader-igstalk.js create mode 100644 plugins/plugins/downloader-igstory.js create mode 100644 plugins/plugins/downloader-imagen.js create mode 100644 plugins/plugins/downloader-mediafire.js create mode 100644 plugins/plugins/downloader-pinterest.js create mode 100644 plugins/plugins/downloader-play.js create mode 100644 plugins/plugins/downloader-play3.js create mode 100644 plugins/plugins/downloader-play_v2.js create mode 100644 plugins/plugins/downloader-playlist.js create mode 100644 plugins/plugins/downloader-pptiktok.js create mode 100644 plugins/plugins/downloader-ringtone.js create mode 100644 plugins/plugins/downloader-soundcloud.js create mode 100644 plugins/plugins/downloader-stickerpack.js create mode 100644 plugins/plugins/downloader-tiktok.js create mode 100644 plugins/plugins/downloader-tiktokstalk.js create mode 100644 plugins/plugins/downloader-wallpaper.js create mode 100644 plugins/plugins/downloader-yta.2.js create mode 100644 plugins/plugins/downloader-yta.js create mode 100644 plugins/plugins/downloader-ytv.2.js create mode 100644 plugins/plugins/downloader-ytv.js create mode 100644 plugins/plugins/formarpareja5.js create mode 100644 plugins/plugins/formartrio.js create mode 100644 plugins/plugins/frase-frases.js create mode 100644 plugins/plugins/fun-Chatgp.js create mode 100644 plugins/plugins/fun-MedidorDeAltura.js create mode 100644 plugins/plugins/fun-MedidorDeInfidelidad.js create mode 100644 plugins/plugins/fun-MedidorDePotos.js create mode 100644 plugins/plugins/fun-MedidorDePussy.js create mode 100644 plugins/plugins/fun-MedidorDeTula.js create mode 100644 plugins/plugins/fun-MedidorDechichis.js create mode 100644 plugins/plugins/fun-calculador.js create mode 100644 plugins/plugins/fun-destrabas.js create mode 100644 plugins/plugins/fun-doxeo_falso.js create mode 100644 plugins/plugins/fun-formarpareja.js create mode 100644 plugins/plugins/fun-ganas.js create mode 100644 plugins/plugins/fun-gay.js create mode 100644 plugins/plugins/fun-love.js create mode 100644 plugins/plugins/fun-medidordehombria.js create mode 100644 plugins/plugins/fun-pregunta.js create mode 100644 plugins/plugins/fun-reto.js create mode 100644 plugins/plugins/fun-simi.js create mode 100644 plugins/plugins/fun-top.js create mode 100644 plugins/plugins/fun-tops.js create mode 100644 plugins/plugins/fun-verdad.js create mode 100644 plugins/plugins/funcion.block.js create mode 100644 plugins/plugins/funcion.unblock.js create mode 100644 plugins/plugins/game-_cancion.js create mode 100644 plugins/plugins/game-_suitpvp.js create mode 100644 plugins/plugins/game-_ttt.js create mode 100644 plugins/plugins/game-cancion.js create mode 100644 plugins/plugins/game-delttt.js create mode 100644 plugins/plugins/game-math.js create mode 100644 plugins/plugins/game-math_answer.js create mode 100644 plugins/plugins/game-pista.js create mode 100644 plugins/plugins/game-ppt.js create mode 100644 plugins/plugins/game-slot.js create mode 100644 plugins/plugins/game-suitpvp.js create mode 100644 plugins/plugins/game-ttt.js create mode 100644 plugins/plugins/gc-admins.js create mode 100644 plugins/plugins/gc-config.js create mode 100644 plugins/plugins/gc-demote.js create mode 100644 plugins/plugins/gc-hidetag.js create mode 100644 plugins/plugins/gc-info.js create mode 100644 plugins/plugins/gc-kick.js create mode 100644 plugins/plugins/gc-link.js create mode 100644 plugins/plugins/gc-listwarn.js create mode 100644 plugins/plugins/gc-promote.js create mode 100644 plugins/plugins/gc-setbye.js create mode 100644 plugins/plugins/gc-setdesc.js create mode 100644 plugins/plugins/gc-setname.js create mode 100644 plugins/plugins/gc-setwelcome.js create mode 100644 plugins/plugins/gc-tagall.js create mode 100644 plugins/plugins/gc-unwarn.js create mode 100644 plugins/plugins/herramienta-Antifakes.js create mode 100644 plugins/plugins/herramienta-nowa.js create mode 100644 plugins/plugins/herramientas-acortar.js create mode 100644 plugins/plugins/herramientas-calc.js create mode 100644 plugins/plugins/herramientas-clima.js create mode 100644 plugins/plugins/herramientas-delete.js create mode 100644 plugins/plugins/herramientas-encuesta.js create mode 100644 plugins/plugins/herramientas-morce.js create mode 100644 plugins/plugins/herramientas-ocr.js create mode 100644 plugins/plugins/herramientas-qrcode.js create mode 100644 plugins/plugins/herramientas-readmore.js create mode 100644 plugins/plugins/herramientas-spamwa.js create mode 100644 plugins/plugins/herramientas-ssweb.js create mode 100644 plugins/plugins/herramientas-styletext.js create mode 100644 plugins/plugins/herramientas-translate.js create mode 100644 plugins/plugins/herramientas-whatmusic.js create mode 100644 plugins/plugins/info-Terminos.js create mode 100644 plugins/plugins/info-bot.js create mode 100644 plugins/plugins/info-creador.js create mode 100644 plugins/plugins/info-donar.js create mode 100644 plugins/plugins/info-estado.js create mode 100644 plugins/plugins/info-grouplist.js create mode 100644 plugins/plugins/info-gruposofc.js create mode 100644 plugins/plugins/info-infobot.js create mode 100644 plugins/plugins/ip.js create mode 100644 plugins/plugins/iss.js create mode 100644 plugins/plugins/maker-blur.js create mode 100644 plugins/plugins/maker-horncard.js create mode 100644 plugins/plugins/maker-itssostupid.js create mode 100644 plugins/plugins/maker-logos.js create mode 100644 plugins/plugins/maker-phmaker.js create mode 100644 plugins/plugins/maker-phmakerlist.js create mode 100644 plugins/plugins/maker-pixel.js create mode 100644 plugins/plugins/maker-simpcard.js create mode 100644 plugins/plugins/maker-ytcomment.js create mode 100644 plugins/plugins/marker-ephoto360.js create mode 100644 plugins/plugins/marker-lolice.js create mode 100644 plugins/plugins/menu-audios.js create mode 100644 plugins/plugins/menu-caja_fuerte.js create mode 100644 plugins/plugins/menu-menu-1.js create mode 100644 plugins/plugins/nv-a.js create mode 100644 plugins/plugins/nv-global.js create mode 100644 plugins/plugins/nv-sad c _mp3.js create mode 100644 plugins/plugins/owner-addmsg.js.js create mode 100644 plugins/plugins/owner-addprem.js create mode 100644 plugins/plugins/owner-autoadmin.js create mode 100644 plugins/plugins/owner-banchat.js create mode 100644 plugins/plugins/owner-banuser.js create mode 100644 plugins/plugins/owner-bcgc.js create mode 100644 plugins/plugins/owner-broadcast.js create mode 100644 plugins/plugins/owner-broadcastchats.js create mode 100644 plugins/plugins/owner-cleartmp.js create mode 100644 plugins/plugins/owner-delmsg.js create mode 100644 plugins/plugins/owner-delprem.js create mode 100644 plugins/plugins/owner-getmsg.js create mode 100644 plugins/plugins/owner-join.js create mode 100644 plugins/plugins/owner-listmsg.js create mode 100644 plugins/plugins/owner-listprem.js create mode 100644 plugins/plugins/owner-reporte.js create mode 100644 plugins/plugins/owner-restart.js create mode 100644 plugins/plugins/owner-unbanchat.js create mode 100644 plugins/plugins/owner-unbanuser.js create mode 100644 plugins/plugins/owner-update.js create mode 100644 plugins/plugins/owner-warn.js create mode 100644 plugins/plugins/random-C. Ronaldo.js create mode 100644 plugins/plugins/random-Messi.js create mode 100644 plugins/plugins/random-anime.js create mode 100644 plugins/plugins/random-blackpink.js create mode 100644 plugins/plugins/random-capi.js create mode 100644 plugins/plugins/random-cat.js create mode 100644 plugins/plugins/random-itzy.js create mode 100644 plugins/plugins/random-kpop.js create mode 100644 plugins/plugins/random-loli.js create mode 100644 plugins/plugins/random-lolivid.js create mode 100644 plugins/plugins/random-meme.js create mode 100644 plugins/plugins/random-navidad.js create mode 100644 plugins/plugins/random-neko.js create mode 100644 plugins/plugins/random-ppcp.js create mode 100644 plugins/plugins/random-waifu.js create mode 100644 plugins/plugins/random-wallprandoms.js create mode 100644 plugins/plugins/rpg-autolevelup.js create mode 100644 plugins/plugins/rpg-balance.js create mode 100644 plugins/plugins/rpg-daily.js create mode 100644 plugins/plugins/rpg-leaderboard.js create mode 100644 plugins/plugins/rpg-levelup.js create mode 100644 plugins/plugins/rpg-menosDIA.js create mode 100644 plugins/plugins/rpg-menosEXP.js create mode 100644 plugins/plugins/rpg-minar.js create mode 100644 plugins/plugins/rpg-perfil.js create mode 100644 plugins/plugins/rpg-rob.js create mode 100644 plugins/plugins/rpg-shop.js create mode 100644 plugins/plugins/rpg-transfer.js create mode 100644 plugins/plugins/rpg-unreg.js create mode 100644 plugins/plugins/rpg-verificar.js create mode 100644 plugins/plugins/rpg-work.js create mode 100644 plugins/plugins/scraper.js create mode 100644 plugins/plugins/simular.js create mode 100644 plugins/plugins/sticker-dado.js create mode 100644 plugins/plugins/sticker-emojimix.js create mode 100644 plugins/plugins/sticker-kiss.js create mode 100644 plugins/plugins/sticker-pat.js create mode 100644 plugins/plugins/sticker-scircle.js create mode 100644 plugins/plugins/sticker-semoji.js create mode 100644 plugins/plugins/sticker-slap.js create mode 100644 plugins/plugins/sticker-sremovebg.js create mode 100644 plugins/plugins/sticker-sticker.js create mode 100644 plugins/plugins/sticker-stickerfilter.js create mode 100644 plugins/plugins/sticker-stickermarker.js create mode 100644 plugins/plugins/sticker-ttp_attp.js create mode 100644 plugins/plugins/sticker-wm.js create mode 100644 plugins/plugins/voto-iniciar.js create mode 100644 plugins/plugins/votos-delvote.js create mode 100644 plugins/plugins/votos-listvote.js create mode 100644 plugins/plugins/votos-votar.js diff --git a/plugins/plugins/Charlie-1.js b/plugins/plugins/Charlie-1.js new file mode 100644 index 0000000..44eb413 --- /dev/null +++ b/plugins/plugins/Charlie-1.js @@ -0,0 +1,89 @@ +let handler = async (m, { conn }) => { + + conn.reply(m.chat,`*╭══• ೋ•✧๑🧿๑✧•ೋ •══╮* + 𝐒𝐚𝐦𝐚𝐞𝐥 𝐃𝐢𝐜𝐞\n*“${pickRandom(global.charlie)}”*\n*╰══• ೋ•✧๑🧿๑✧•ೋ •══╯* +${author} + `, m) + } + + handler.help = ['ᴄʜᴀʀʟɪᴇ'] + + handler.tags = ['juegos'] + + handler.command = /^(Say)$/i + + handler.owner = false + + handler.mods = false + + handler.premium = false + + handler.group = false + + handler.private = false + + + + handler.admin = false + + handler.botAdmin = false + + + + handler.fail = null + + + + export default handler + + + + function pickRandom(list) { + + return list[Math.floor(list.length * Math.random())] + + } + + + + // charlie charlie by odin el fucker kkkkkkkkkk + + global.charlie = [ + + "Si","No","Si","No", "Si","No", "Si","No", "Si","No", + + "Si","No","Si","No", "Si","No", "Si","No", "Si","No", + + "Si","No","Si","No", "Si","No", "Si","No", "Si","No", + + "Si","No","Si","No", "Si","No", "Si","No", "Si","No", + + "Si","No","Si","No", "Si","No", "Si","No", "Si","No", + + "Si","No","Si","No", "Si","No", "Si","No", "Si","No", + + "Si","No","Si","No", "Si","No", "Si","No", "Si","No", + + "Si","No","Si","No", "Si","No", "Si","No", "Si","No", + + "Si","No","Si","No", "Si","No", "Si","No", "Si","No", + + "Si","No","Si","No", "Si","No", "Si","No", "Si","No", + + "Si","No","Si","No", "Si","No", "Si","No", "Si","No", + + "Si","No","Si","No", "Si","No", "Si","No", "Si","No", + + "Si","No","Si","No", "Si","No", "Si","No", "Si","No", + + "Si","No","Si","No", "Si","No", "Si","No", "Si","No", + + "Si","No","Si","No", "Si","No", "Si","No", "Si","No", + + "Si","No","Si","No", "Si","No", "Si","No", "Si","No", + + "Si","No","Si","No", "Si","No", "Si","No", "Si","No", + + "Si","No","Si","No", "Si","No", "Si","No", "Si","No" + + ] \ No newline at end of file diff --git a/plugins/plugins/Fantasmas.js b/plugins/plugins/Fantasmas.js new file mode 100644 index 0000000..808e8f9 --- /dev/null +++ b/plugins/plugins/Fantasmas.js @@ -0,0 +1,65 @@ +let handler = async (m, { conn, text, participants }) => { + + let member = participants.map(u => u.id) + + if(!text) { + + var sum = member.length + + } else { + + var sum = text + + } + + var total = 0 + + var sider = [] + + for(let i = 0; i < sum; i++) { + + let users = m.isGroup ? participants.find(u => u.id == member[i]) : {} + + if((typeof global.db.data.users[member[i]] == 'undefined' || global.db.data.users[member[i]].chat == 0) && !users.isAdmin && !users.isSuperAdmin) { + + if (typeof global.db.data.users[member[i]] !== 'undefined'){ + + if(global.db.data.users[member[i]].whitelist == false){ + + total++ + + sider.push(member[i]) + + } + + }else { + + total++ + + sider.push(member[i]) + + } + + } + + } + + if(total == 0) return conn.reply(m.chat, `*Este grupo no tiene fantasmas :D.*`, m) + + m.reply(`*[❌️🏮REVISIÓN DE INACTIVOS🏮❌️]*\n\n*Grupo: ${await conn.getName(m.chat)}*\n*Participantes: ${sum}*\n\n*[ 🏮👻 LISTA DE FANTASMAS 👻🏮 ]*\n${sider.map(v => '🔥🚫@' + v.replace(/@.+/, '')).join('\n')}\n\n*Nota: Esto puede no ser 100% acertado*`, null, { mentions: sider }) + +} + +handler.help = ['verfantasmas'] + +handler.tags = ['group'] + +handler.command = /^(verfantasmas|fantasmas|sider|Sider)$/i + +handler.admin = true + +handler.botAdmin = true + +handler.fail = null + +export default handler \ No newline at end of file diff --git a/plugins/plugins/Herramienta-Identidad (1).js b/plugins/plugins/Herramienta-Identidad (1).js new file mode 100644 index 0000000..d593d35 --- /dev/null +++ b/plugins/plugins/Herramienta-Identidad (1).js @@ -0,0 +1,32 @@ +import fetch from 'node-fetch' + +let handler = async (m, { conn }) => { + +let res = await fetch(`https://docs-jojo.herokuapp.com/api/fake_identity?lang=en&type=json`) + +let json = await res.json() + +m.reply(`╭═🏮═•🔥•𝐈𝐃𝐄𝐍𝐓𝐈𝐃𝐀𝐃•🔥•═🏮═╮ +*𓆩卐𓆪* Nombre: ${json.name} +*𓆩卐𓆪* Edad: ${json.age} +*𓆩卐𓆪* Género: ${json.gender} +*𓆩卐𓆪* ocupacion: ${json.occupation} +*𓆩卐𓆪* Codigo postal: ${json.zip_code} +*𓆩卐𓆪* Estado: ${json.state} +*𓆩卐𓆪* Pais: ${json.country} +*𓆩卐𓆪* Email: ${json.email} +*𓆩卐𓆪* Contraseña: ${json.password} +*𓆩卐𓆪* Telefono: ${json.phone} +*𓆩卐𓆪* Tarjeta: ${json.card} +*𓆩卐𓆪* CCV: ${json.code} +*𓆩卐𓆪* Fecha: ${json.date} +*𓆩卐𓆪* Codigo pin: ${json.pin_code} +*𓆩卐𓆪* Tipo de sangre: ${json.blood_type} +*𓆩卐𓆪* Estado fiscal: ${json.status} +╰═🏮═•🏮•𝐈𝐃𝐄𝐍𝐓𝐈𝐃𝐀𝐃•🏮•═🏮═╯ +𝚩𝐘:🔥𝗥𝗲𝗻𝗴𝗼𝗸𝘂_𝗕𝗼𝘁🔥`) + +} + +handler.command = /^(identidad)$/i +export default handler \ No newline at end of file diff --git a/plugins/plugins/Menu_Furidamu.js b/plugins/plugins/Menu_Furidamu.js new file mode 100644 index 0000000..bc6082a --- /dev/null +++ b/plugins/plugins/Menu_Furidamu.js @@ -0,0 +1,55 @@ +const { levelling } = '../lib/levelling.js' + +import PhoneNumber from 'awesome-phonenumber' + +let handler = async (m, { conn, usedPrefix }) => { + +let pp = './Menu3.jpg' + +try { + +} catch (e) { + +} finally { + +//let about = (await conn.getStatus(who).catch(console.error) || {}).status || '' + +let name = await conn.getName(m.sender) + +let str = ` + +*☾︎⛩️𝙼𝚎𝚗𝚞 𝚍𝚎 𝚊𝚞𝚍𝚒𝚘𝚜 𝚍𝚎 𝙵𝚞𝚛𝚒𝚍𝚊𝚖𝚞⛩️☽︎* + +᯾Lucy1᯾ +᯾Lucy2᯾ +᯾Lucy3᯾ +᯾Lucy4᯾ +᯾Lucy5᯾ +᯾Lucy6᯾ +᯾Lucy7᯾ +᯾Lucy8᯾ +᯾Lucy9᯾ +᯾Mika1᯾ +᯾Kya1᯾ +᯾Kya2᯾ + +*🚩𝚂𝚒 𝚝𝚎 𝚊𝚗𝚒𝚖𝚊𝚜 𝚊 𝚚𝚞𝚎𝚛𝚎𝚛 𝚜𝚊𝚕𝚒𝚛 𝚎𝚗 𝚎𝚕 𝚖𝚎𝚗𝚞, 𝚖𝚊𝚗𝚍𝚊 𝚙𝚛𝚒𝚟𝚊𝚍𝚘 𝚊𝚕 𝚗𝚞𝚖𝚎𝚛𝚘 𝚍𝚎 𝚁𝚒𝚌𝚊𝚛𝚍𝚘 𝚎𝚕 𝚍𝚞𝚎𝚗̃𝚘 𝚍𝚎𝚕 𝙱𝙾𝚃🚩* +`.trim() + +conn.sendHydrated(m.chat, str, wm, pp, 'wa.me/51927055863', '🔥𝗥𝗲𝗻𝗴𝗼𝗸𝘂_𝗕𝗼𝘁🔥', null, null, [ + +['🔥𝙼𝙴𝙽𝚄 𝙿𝚁𝙸𝙽𝙲𝙸𝙿𝙰𝙻🔥', '/menu'] + +], m) + +}} + +handler.help = ['menu3', 'help3', '?3', 'menuaudiosfuridamu'] + +handler.tags = ['main'] + +handler.command = /^(menu3|audios furidamu|furidamu)$/i + +handler.fail = null + +export default handler \ No newline at end of file diff --git a/plugins/plugins/SIMI.js b/plugins/plugins/SIMI.js new file mode 100644 index 0000000..793cdff --- /dev/null +++ b/plugins/plugins/SIMI.js @@ -0,0 +1,17 @@ +import fetch from 'node-fetch' +let handler = m => m + +handler.before = async (m) => { + let chat = global.db.data.chats[m.chat] + if (chat.simi) { + if (/^.*false|disnable|(turn)?off|0/i.test(m.text)) return + if (!m.text) return + let ressimi = await fetch(`https://api.simsimi.net/v2/?text=${encodeURIComponent(m.text)}&lc=es`) + let data = await ressimi.json(); + if (data.success == 'No s\u00e9 lo qu\u00e9 est\u00e1s diciendo. Por favor ense\u00f1ame.') await m.reply("que xd") + await m.reply(data.success) + return !0 + } + return true +} +export default handler \ No newline at end of file diff --git a/plugins/plugins/_antilink.js b/plugins/plugins/_antilink.js new file mode 100644 index 0000000..8f33ed9 --- /dev/null +++ b/plugins/plugins/_antilink.js @@ -0,0 +1,27 @@ +let linkRegex = /chat.whatsapp.com\/([0-9A-Za-z]{20,24})/i +export async function before(m, { isAdmin, isBotAdmin }) { +if (m.isBaileys && m.fromMe) +return !0 +let vn = './media/antilink.mp3' +if (!m.isGroup) return !1 +let chat = global.db.data.chats[m.chat] +let delet = m.key.participant +let bang = m.key.id +let bot = global.db.data.settings[this.user.jid] || {} +const isGroupLink = linkRegex.exec(m.text) +const grupo = `https://chat.whatsapp.com` +if (isAdmin && chat.antiLink && m.text.includes(grupo)) return m.reply('*ʜᴇʏ!!, ᴇʟ ᴀɴᴛɪʟɪɴᴋ ᴇsᴛᴀ ᴀᴄᴛɪᴠᴀᴅᴏ, ᴛᴇ ɪʙᴀ sᴀᴄᴀʀ ᴅᴇʟ ɢʀᴜᴘᴏ... ᴘᴇʀᴏ ᴇʀᴇs ᴀᴅᴍɪɴ😒*') +if (chat.antiLink && isGroupLink && !isAdmin) { +if (isBotAdmin) { +const linkThisGroup = `https://chat.whatsapp.com/${await this.groupInviteCode(m.chat)}` +if (m.text.includes(linkThisGroup)) return !0 +} +await conn.sendButton(m.chat, `*「🏮𝐀𝐍𝐓𝐈 𝐋𝐈𝐍𝐊🏮」*\n*🐀, ${await this.getName(m.sender)} ᴇsᴏ ɴᴏ sᴇ ᴘᴇʀᴍɪᴛᴇ ʀᴀᴛᴀ, ʀᴏᴍᴘɪsᴛᴇ ʟᴀs ʀᴇɢʟᴀs ᴅᴇʟ ɢʀᴜᴘᴏ, sᴇʀᴀs ᴇxᴛᴇʀᴍɪɴᴀᴅᴏ🚮...!!*${isBotAdmin ? '' : '\n\n*[❗𝐈𝐍𝐅𝐎❗] ᴛᴇ ʜᴀs sᴀʟᴠᴀᴅᴏ, ᴇʟ ʙᴏᴛ ɴᴏ ᴇs ᴀᴅᴍɪɴ ᴀǫᴜɪ🥲*'}`, author, ['𝘿𝙚𝙨𝙖𝙘𝙩𝙞𝙫𝙖𝙧 𝙖𝙣𝙩𝙞𝙡𝙞𝙣𝙠', '/disable antilink'], m) +if (isBotAdmin) { +await conn.sendMessage(m.chat, { delete: { remoteJid: m.chat, fromMe: false, id: bang, participant: delet }}) +await conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove') +} else if (!bot.restrict) return m.reply('*[❗𝐈𝐍𝐅𝐎❗] 𝙀𝙡 𝙥𝙧𝙤𝙥𝙞𝙚𝙩𝙖𝙧𝙞𝙤 𝙙𝙚𝙡 𝙗𝙤𝙩 𝙣𝙤 𝙩𝙞𝙚𝙣𝙚 𝙖𝙘𝙩𝙞𝙫𝙖𝙙𝙤 𝙚𝙡 𝙧𝙚𝙨𝙩𝙧𝙞𝙘𝙘𝙞𝙤́𝙣 (𝙚𝙣𝙖𝙗𝙡𝙚 𝙧𝙚𝙨𝙩𝙧𝙞𝙘𝙩) 𝙘𝙤𝙣𝙩𝙖𝙘𝙩𝙚 𝙘𝙤𝙣 𝙚𝙡 𝙥𝙖𝙧𝙖 𝙦𝙪𝙚 𝙡𝙤𝙨 𝙝𝙖𝙗𝙞𝙡𝙞𝙩𝙚*') +conn.sendFile(m.chat, vn, 'antilink.mp3', null, m, true, { type: 'audioMessage', ptt: true, sendEphemeral: true }) +} +return !0 +} \ No newline at end of file diff --git a/plugins/plugins/_antilink2.js b/plugins/plugins/_antilink2.js new file mode 100644 index 0000000..cba1054 --- /dev/null +++ b/plugins/plugins/_antilink2.js @@ -0,0 +1,24 @@ +let linkRegex = /https:/i +export async function before(m, { isAdmin, isBotAdmin, text }) { +if (m.isBaileys && m.fromMe) +return !0 +if (!m.isGroup) return !1 +let chat = global.db.data.chats[m.chat] +let bot = global.db.data.settings[this.user.jid] || {} +const isGroupLink = linkRegex.exec(m.text) +if (chat.antiLink2 && isGroupLink && !isAdmin) { +if (isBotAdmin) { +const linkThisGroup = `https://chat.whatsapp.com/${await this.groupInviteCode(m.chat)}` +const linkThisGroup2 = `https://www.youtube.com/` +const linkThisGroup3 = `https://youtu.be/` +if (m.text.includes(linkThisGroup)) return !0 +if (m.text.includes(linkThisGroup2)) return !0 +if (m.text.includes(linkThisGroup3)) return !0 +} +await conn.sendButton(m.chat, `*「 𝐀𝐍𝐓𝐈 𝐋𝐈𝐍𝐊𝐒 」*\n*𝙷𝙰𝚂𝚃𝙰 𝙻𝙰 𝚅𝙸𝚂𝚃𝙰 𝙱𝙰𝙱𝚈 👋, ${await this.getName(m.sender)} 𝚁𝙾𝙼𝙿𝙸𝚂𝚃𝙴𝚂 𝙻𝙰𝚂 𝚁𝙴𝙶𝙻𝙰𝚂 𝙳𝙴𝙻 𝙶𝚁𝚄𝙿𝙾, 𝚂𝙴𝚁𝙰𝚂 𝙴𝚇𝚃𝙴𝚁𝙼𝙸𝙽𝙰𝙳𝙾...!!*${isBotAdmin ? '' : '\n\n*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝙻 𝙱𝙾𝚃 𝙽𝙾 𝙴𝚂 𝙰𝙳𝙼𝙸𝙽, 𝙽𝙾 𝙿𝚄𝙴𝙳𝙴 𝙴𝚇𝚃𝙴𝚁𝙼𝙸𝙽𝙰𝚁 𝙰 𝙻𝙰𝚂 𝙿𝙴𝚁𝚂𝙾𝙽𝙰𝚂*'}`, author, ['𝙳𝙴𝚂𝙰𝙲𝚃𝙸𝚅𝙰𝚁 𝙰𝙽𝚃𝙸𝙻𝙸𝙽𝙺𝚂', '/disable antilink'], m) +if (isBotAdmin && bot.restrict) { +await conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove') +} else if (!bot.restrict) return m.reply('*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝙻 𝙿𝚁𝙾𝙿𝙸𝙴𝚃𝙰𝚁𝙸𝙾 𝙳𝙴𝙻 𝙱𝙾𝚃 𝙽𝙾 𝚃𝙸𝙴𝙽𝙴 𝙷𝙰𝙱𝙸𝙻𝙸𝚃𝙰𝙳𝙾 𝙻𝙰𝚂 𝚁𝙴𝚂𝚃𝚁𝙸𝙲𝙲𝙸𝙾𝙽𝙴𝚂 (#𝚎𝚗𝚊𝚋𝚕𝚎 𝚛𝚎𝚜𝚝𝚛𝚒𝚌𝚝) 𝙲𝙾𝙽𝚃𝙰𝙲𝚃𝙴 𝙲𝙾𝙽 𝙴𝙻 𝙿𝙰𝚁𝙰 𝚀𝚄𝙴 𝙻𝙾 𝙷𝙰𝙱𝙸𝙻𝙸𝚃𝙴*') +} +return !0 +} diff --git a/plugins/plugins/_antiprivado.js b/plugins/plugins/_antiprivado.js new file mode 100644 index 0000000..2135d2f --- /dev/null +++ b/plugins/plugins/_antiprivado.js @@ -0,0 +1,18 @@ +export async function before(m, { conn, isAdmin, isBotAdmin, isOwner, isROwner }) { + if (m.isBaileys && m.fromMe) + return !0 + if (m.isGroup) + return !1 + if (!m.message) + return !0 + if (m.text.includes('PIEDRA') || m.text.includes('PAPEL') || m.text.includes('TIJERA')) + return !0 + let chat = global.db.data.chats[m.chat] + let bot = global.db.data.settings[this.user.jid] || {} + + if (bot.antiPrivate && !isOwner && !isROwner) { + await m.reply(`Hola *@${m.sender.split`@`[0]}*, está prohibido hablar al privado del bot serás bloqueado. si necesita usar el bot, con gusto lo invitamos a unirse al grupo oficial https://chat.whatsapp.com/KN9i1Xyi68A7Z8DMLSsLFh`, false, { mentions: [m.sender] }) + await this.updateBlockStatus(m.chat, 'block') + } + return !1 +} \ No newline at end of file diff --git a/plugins/plugins/_antitoxic.js b/plugins/plugins/_antitoxic.js new file mode 100644 index 0000000..5431ffc --- /dev/null +++ b/plugins/plugins/_antitoxic.js @@ -0,0 +1,26 @@ +const toxicRegex = /puto|puta|rata|estupido|imbecil|rctmre|orto|mrd|verga|vrga|maricon/i + +export async function before(m, { isAdmin, isBotAdmin, isOwner }) { + if (m.isBaileys && m.fromMe) + return !0 + if (!m.isGroup) + return !1 + let user = global.db.data.users[m.sender] + let chat = global.db.data.chats[m.chat] + let bot = global.db.data.settings[this.user.jid] || {} + const isToxic = toxicRegex.exec(m.text) + + if (isToxic && chat.antiToxic && !isOwner && !isAdmin) { + user.warn += 1 + if (!(user.warn >= 5)) await m.reply(`${user.warn == 1 ? `Hola *@${m.sender.split`@`[0]}*` : `*@${m.sender.split`@`[0]}*`}, decir la palabra (${isToxic}) está prohibido en este bot *${user.warn}/5* advertencia`, false, { mentions: [m.sender] }) + } + + if (user.warn >= 5) { + user.warn = 0 + await m.reply(`Hola *@${m.sender.split`@`[0]}*, superaste las 5 advertencias serás bloqueado y eliminado de este grupo`, false, { mentions: [m.sender] }) + user.banned = true + await this.groupParticipantsUpdate(m.chat, [m.sender], 'remove') + //await this.updateBlockStatus(m.sender, 'block') + } + return !1 +} \ No newline at end of file diff --git a/plugins/plugins/_antitrabas.js b/plugins/plugins/_antitrabas.js new file mode 100644 index 0000000..8c9d426 --- /dev/null +++ b/plugins/plugins/_antitrabas.js @@ -0,0 +1,30 @@ +// +//By @NeKosmic || https://github.com/NeKosmic/ +// +import * as fs from 'fs' + +export async function before(m, { conn, isAdmin, isBotAdmin, usedPrefix }) { + if (m.isBaileys && m.fromMe) + return !0 + if (!m.isGroup) return !1 + let chat = global.db.data.chats[m.chat] + let bot = global.db.data.settings[this.user.jid] || {} + let delet = m.key.participant + let bang = m.key.id + let name = await conn.getName(m.sender) + let fakemek = {key: {participant: "0@s.whatsapp.net","remoteJid": "0@s.whatsapp.net"},"message": {"groupInviteMessage": {"groupJid": "51995386439-1616969743@g.us","inviteCode": "m","groupName": "P", "caption": '𝚃𝚑𝚎 𝙼𝚢𝚜𝚝𝚒𝚌 - 𝙱𝚘𝚝', 'jpegThumbnail': null}}} + if (chat.antiTraba && m.text.length > 2000) { //Cantidad máxima de caracteres aceptados en un mensaje// + if (isAdmin) return conn.sendMessage(m.chat, { text: `El administrador @${m.sender.split("@")[0]} acaba de enviar un texto que contiene muchos caracteres -.-!`, mentions: [m.sender] }, { quoted: fakemek }) + await conn.sendButton(m.chat, `*[ ! ] Se detecto un mensaje que contiene muchos caracteres [ ! ]*\n`, `${isBotAdmin ? '' : 'No soy administrador, no puedo hacer nada :/'}`, author, ['[ DESACTIVAR ANTI TRABAS ]', usedPrefix+'apagar antitraba'], fakemek ) + if (isBotAdmin && bot.restrict) { + conn.sendMessage(m.chat, { delete: { remoteJid: m.chat, fromMe: false, id: bang, participant: delet }}) + setTimeout(() => { + conn.sendMessage(m.chat, { text: `Marcar el chat como leido ✓\n${"\n".repeat(400)}\n=> El número : wa.me/${m.sender.split("@")[0]}\n=> Alias : ${name}\n[ ! ] Acaba de enviar un texto que contiene muchos caracteres que puede ocasionar fallos en los dispositivos`, mentions: [m.sender] }, { quoted: fakemek }) + }, 0) + setTimeout(() => { + conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove') + }, 1000) + } else if (!bot.restrict) return m.reply('[ ! ] Para realizar acciones de eliminación, mi dueño tiene que encender el modo restringido!') + } + return !0 +} diff --git a/plugins/plugins/_antiviewonce.js b/plugins/plugins/_antiviewonce.js new file mode 100644 index 0000000..226eab6 --- /dev/null +++ b/plugins/plugins/_antiviewonce.js @@ -0,0 +1,19 @@ +let { downloadContentFromMessage } = (await import('@adiwajshing/baileys')); + +export async function before(m, { isAdmin, isBotAdmin }) { + +let chat = db.data.chats[m.chat] +if (/^[.~#/\$,](read)?viewonce/.test(m.text)) return +if (!chat.antiviewonce || chat.isBanned) return +if (m.mtype == 'viewOnceMessage') { +let msg = m.message.viewOnceMessage.message +let type = Object.keys(msg)[0] +let media = await downloadContentFromMessage(msg[type], type == 'imageMessage' ? 'image' : 'video') +let buffer = Buffer.from([]) +for await (const chunk of media) { +buffer = Buffer.concat([buffer, chunk])} +if (/video/.test(type)) { +return this.sendFile(m.chat, buffer, 'error.mp4', `${msg[type].caption}\n\n*𝙰𝚀𝚄𝙸 𝙽𝙾 𝚂𝙴 𝙿𝙴𝚁𝙼𝙸𝚃𝙴 𝙾𝙲𝚄𝙻𝚃𝙰𝚁 𝙽𝙰𝙳𝙰*`, m) +} else if (/image/.test(type)) { +return this.sendFile(m.chat, buffer, 'error.jpg', `${msg[type].caption}\n\n*𝙰𝚀𝚄𝙸 𝙽𝙾 𝚂𝙴 𝙿𝙴𝚁𝙼𝙸𝚃𝙴 𝙾𝙲𝚄𝙻𝚃𝙰𝚁 𝙽𝙰𝙳𝙰*`, m) +}}} diff --git a/plugins/plugins/_antivirus.js b/plugins/plugins/_antivirus.js new file mode 100644 index 0000000..2dc4f27 --- /dev/null +++ b/plugins/plugins/_antivirus.js @@ -0,0 +1,15 @@ +let handler = m => m + +handler.all = async function (m, { isBotAdmin }) { +// auto clear ketika terdapat pesan yang tidak dapat dilihat di wa desktop +if (m.messageStubType === 68) { +let log = { +key: m.key, +content: m.msg, +sender: m.sender +} +await this.modifyChat(m.chat, 'clear', { +includeStarred: false +}).catch(console.log) +}} +export default handler diff --git a/plugins/plugins/_autoresponder.js b/plugins/plugins/_autoresponder.js new file mode 100644 index 0000000..28e4f50 --- /dev/null +++ b/plugins/plugins/_autoresponder.js @@ -0,0 +1,13 @@ +import { sticker } from '../lib/sticker.js' +let handler = m => m + +handler.all = async function (m, {conn}) { +let chat = global.db.data.chats[m.chat] + +if (m.mentionedJid.includes(this.user.jid) && m.isGroup && !chat.isBanned) { +let stiker = await sticker(imagen1, false, global.packname, global.author) +this.sendFile(m.chat, stiker, 'sticker.webp', null, m, false, { +contextInfo: { externalAdReply: { title: '🔥𝗥𝗲𝗻𝗴𝗼𝗸𝘂_𝗕𝗼𝘁🔥', body: '©LiuDoniOfc', sourceUrl: `https://chat.whatsapp.com/KN9i1Xyi68A7Z8DMLSsLFh`, thumbnail: imagen2}}})} + +return !0 } +export default handler \ No newline at end of file diff --git a/plugins/plugins/_autosticker.js b/plugins/plugins/_autosticker.js new file mode 100644 index 0000000..ab751ed --- /dev/null +++ b/plugins/plugins/_autosticker.js @@ -0,0 +1,35 @@ +import { sticker } from '../lib/sticker.js' + +let handler = m => m + +handler.all = async function (m) { +let chat = db.data.chats[m.chat] +let user = db.data.users[m.sender] + +if (chat.autosticker && m.isGroup) { +let q = m +let stiker = false +let mime = (q.msg || q).mimetype || q.mediaType || '' +if (/webp/g.test(mime)) return +if (/image/g.test(mime)) { +let img = await q.download?.() +if (!img) return +stiker = await sticker(img, false, packname, author) +} else if (/video/g.test(mime)) { +if (/video/g.test(mime)) if ((q.msg || q).seconds > 8) return await this.sendButton(m.chat, '*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝙻 𝚅𝙸𝙳𝙴𝙾 𝙽𝙾 𝙿𝚄𝙴𝙳𝙴 𝙳𝚄𝚁𝙰𝚁 𝙼𝙰𝚂 𝙳𝙴 𝟽 𝚂𝙴𝙶𝚄𝙽𝙳𝙾𝚂*', wm, [['𝙳𝙴𝚂𝙰𝙲𝚃𝙸𝚅𝙰𝚁 𝙰𝚄𝚃𝙾𝚂𝚃𝙸𝙲𝙺𝙴𝚁', '/disable autosticker']], m) +let img = await q.download() +if (!img) return +stiker = await sticker(img, false, packname, author) +} else if (m.text.split(/\n| /i)[0]) { +if (isUrl(m.text)) stiker = await sticker(false, m.text.split(/\n| /i)[0], packname, author) +else return +} +if (stiker) { +await this.sendFile(m.chat, stiker, null, { asSticker: true }) +}} +return !0 +} +export default handler + +const isUrl = (text) => { +return text.match(new RegExp(/^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_+.~#?&/=]*)(jpe?g|gif|png|mp4)/, 'gi'))} diff --git a/plugins/plugins/_cmdWithMedia.js b/plugins/plugins/_cmdWithMedia.js new file mode 100644 index 0000000..713bec1 --- /dev/null +++ b/plugins/plugins/_cmdWithMedia.js @@ -0,0 +1,29 @@ +const { +proto, +generateWAMessage, +areJidsSameUser +} = (await import('@adiwajshing/baileys')).default + +export async function all(m, chatUpdate) { +if (m.isBaileys) return +if (!m.message) return +if (!m.msg.fileSha256) return +if (!(Buffer.from(m.msg.fileSha256).toString('base64') in global.db.data.sticker)) return + +let hash = global.db.data.sticker[Buffer.from(m.msg.fileSha256).toString('base64')] +let { text, mentionedJid } = hash +let messages = await generateWAMessage(m.chat, { text: text, mentions: mentionedJid }, { +userJid: this.user.id, +quoted: m.quoted && m.quoted.fakeObj +}) +messages.key.fromMe = areJidsSameUser(m.sender, this.user.id) +messages.key.id = m.key.id +messages.pushName = m.pushName +if (m.isGroup) messages.participant = m.sender +let msg = { +...chatUpdate, +messages: [proto.WebMessageInfo.fromObject(messages)], +type: 'append' +} +this.ev.emit('messages.upsert', msg) +} diff --git a/plugins/plugins/_templateResponse.js b/plugins/plugins/_templateResponse.js new file mode 100644 index 0000000..33ab448 --- /dev/null +++ b/plugins/plugins/_templateResponse.js @@ -0,0 +1,79 @@ +const { + proto, + generateWAMessage, + areJidsSameUser +} = (await import('@adiwajshing/baileys')).default + +export async function all(m, chatUpdate) { + if (m.isBaileys) + return + if (!m.message) + return + if (!(m.message.buttonsResponseMessage || m.message.templateButtonReplyMessage || m.message.listResponseMessage)) + return + let id = m.message.buttonsResponseMessage?.selectedButtonId || m.message.templateButtonReplyMessage?.selectedId || m.message.listResponseMessage?.singleSelectReply?.selectedRowId + let text = m.message.buttonsResponseMessage?.selectedDisplayText || m.message.templateButtonReplyMessage?.selectedDisplayText || m.message.listResponseMessage?.title + let isIdMessage = false, usedPrefix + for (let name in global.plugins) { + let plugin = global.plugins[name] + if (!plugin) + continue + if (plugin.disabled) + continue + if (!opts['restrict']) + if (plugin.tags && plugin.tags.includes('admin')) + continue + if (typeof plugin !== 'function') + continue + if (!plugin.command) + continue + const str2Regex = str => str.replace(/[|\\{}()[\]^$+*?.]/g, '\\$&') + let _prefix = plugin.customPrefix ? plugin.customPrefix : this.prefix ? this.prefix : global.prefix + let match = (_prefix instanceof RegExp ? // RegExp Mode? + [[_prefix.exec(id), _prefix]] : + Array.isArray(_prefix) ? // Array? + _prefix.map(p => { + let re = p instanceof RegExp ? // RegExp in Array? + p : + new RegExp(str2Regex(p)) + return [re.exec(id), re] + }) : + typeof _prefix === 'string' ? // String? + [[new RegExp(str2Regex(_prefix)).exec(id), new RegExp(str2Regex(_prefix))]] : + [[[], new RegExp]] + ).find(p => p[1]) + if ((usedPrefix = (match[0] || '')[0])) { + let noPrefix = id.replace(usedPrefix, '') + let [command] = noPrefix.trim().split` `.filter(v => v) + command = (command || '').toLowerCase() + let isId = plugin.command instanceof RegExp ? // RegExp Mode? + plugin.command.test(command) : + Array.isArray(plugin.command) ? // Array? + plugin.command.some(cmd => cmd instanceof RegExp ? // RegExp in Array? + cmd.test(command) : + cmd === command + ) : + typeof plugin.command === 'string' ? // String? + plugin.command === command : + false + if (!isId) + continue + isIdMessage = true + } +} + let messages = await generateWAMessage(m.chat, { text: isIdMessage ? id : text, mentions: m.mentionedJid }, { + userJid: this.user.id, + quoted: m.quoted && m.quoted.fakeObj + }) + messages.key.fromMe = areJidsSameUser(m.sender, this.user.id) + messages.key.id = m.key.id + messages.pushName = m.name + if (m.isGroup) + messages.key.participant = messages.participant = m.sender + let msg = { + ...chatUpdate, + messages: [proto.WebMessageInfo.fromObject(messages)].map(v => (v.conn = this, v)), + type: 'append' + } + this.ev.emit('messages.upsert', msg) +} diff --git a/plugins/plugins/_wel&bye.js b/plugins/plugins/_wel&bye.js new file mode 100644 index 0000000..20f79a3 --- /dev/null +++ b/plugins/plugins/_wel&bye.js @@ -0,0 +1,13 @@ +let handler = async (m, { conn, text, usedPrefix, command, customPrefix }) => { +let stikerwelgc = "./src/welgc.webp" +let stikerbyegc = "./src/byegc.webp" +if (command == 'welcomegc') { +conn.sendFile(m.chat, stikerwelgc, null, { asSticker: true }) +} +if (command == 'byegc') { +conn.sendFile(m.chat, stikerbyegc, null, { asSticker: true }) +}} +handler.command = ['welcomegc', 'byegc'] +export default handler +function pickRandom(list) { +return list[Math.floor(list.length * Math.random())]} diff --git a/plugins/plugins/acciones-Abrazo.js b/plugins/plugins/acciones-Abrazo.js new file mode 100644 index 0000000..fe7744e --- /dev/null +++ b/plugins/plugins/acciones-Abrazo.js @@ -0,0 +1,17 @@ +let handler = async (m, { conn, usedPrefix, command, text }) => { + let who + if (m.isGroup) who = m.mentionedJid[0] ? m.mentionedJid[0] : m.quoted ? m.quoted.sender : text ? text.replace(/[^0-9]/g, '') + '@s.whatsapp.net' : false + else who = text ? text.replace(/[^0-9]/g, '') + '@s.whatsapp.net' : m.chat + let user = global.db.data.users[who] + if (!who) return m.reply(`✳️ Menciona al usuario\n\n📌 Ejemplo :\n${usedPrefix + command} @tag`) + + +let abrazo = await conn.reply(m.chat, `@${m.sender.split('@')[0]} abrazo a @${who.split('@')[0]} `, m, { mentions: [who, m.sender] }) + +conn.sendMessage(m.chat, { react: { text: '🫂', key: abrazo.key }}) +} +handler.help = ['abrazo @user'] +handler.tags = ['fun'] +handler.command = ['abrazo'] +handler.group = true +export default handler \ No newline at end of file diff --git a/plugins/plugins/acciones-besarr.js b/plugins/plugins/acciones-besarr.js new file mode 100644 index 0000000..6bdef16 --- /dev/null +++ b/plugins/plugins/acciones-besarr.js @@ -0,0 +1,17 @@ +let handler = async (m, { conn, usedPrefix, command, text }) => { + let who + if (m.isGroup) who = m.mentionedJid[0] ? m.mentionedJid[0] : m.quoted ? m.quoted.sender : text ? text.replace(/[^0-9]/g, '') + '@s.whatsapp.net' : false + else who = text ? text.replace(/[^0-9]/g, '') + '@s.whatsapp.net' : m.chat + let user = global.db.data.users[who] + if (!who) return m.reply(`✳️ Menciona al usuario\n\n📌 Ejemplo :\n${usedPrefix + command} @tag`) + + +let abrazo = await conn.reply(m.chat, `@${m.sender.split('@')[0]} acaba de meterle la lengua hasta la gargante a @${who.split('@')[0]} `, m, { mentions: [who, m.sender] }) + +conn.sendMessage(m.chat, { react: { text: '💋', key: abrazo.key }}) +} +handler.help = ['besar @user'] +handler.tags = ['fun'] +handler.command = ['besar'] +handler.group = true +export default handler \ No newline at end of file diff --git a/plugins/plugins/acciones-golpear.js b/plugins/plugins/acciones-golpear.js new file mode 100644 index 0000000..2bc9171 --- /dev/null +++ b/plugins/plugins/acciones-golpear.js @@ -0,0 +1,17 @@ +let handler = async (m, { conn, usedPrefix, command, text }) => { + let who + if (m.isGroup) who = m.mentionedJid[0] ? m.mentionedJid[0] : m.quoted ? m.quoted.sender : text ? text.replace(/[^0-9]/g, '') + '@s.whatsapp.net' : false + else who = text ? text.replace(/[^0-9]/g, '') + '@s.whatsapp.net' : m.chat + let user = global.db.data.users[who] + if (!who) return m.reply(`✳️ Menciona al usuario\n\n📌 Ejemplo :\n${usedPrefix + command} @tag`) + + +let abrazo = await conn.reply(m.chat, `@${m.sender.split('@')[0]} acaba de golpear a @${who.split('@')[0]} `, m, { mentions: [who, m.sender] }) + +conn.sendMessage(m.chat, { react: { text: '☠', key: abrazo.key }}) +} +handler.help = ['golpear @user'] +handler.tags = ['fun'] +handler.command = ['golpear'] +handler.group = true +export default handler \ No newline at end of file diff --git a/plugins/plugins/acciones-manosear.js b/plugins/plugins/acciones-manosear.js new file mode 100644 index 0000000..b02498b --- /dev/null +++ b/plugins/plugins/acciones-manosear.js @@ -0,0 +1,17 @@ +let handler = async (m, { conn, usedPrefix, command, text }) => { + let who + if (m.isGroup) who = m.mentionedJid[0] ? m.mentionedJid[0] : m.quoted ? m.quoted.sender : text ? text.replace(/[^0-9]/g, '') + '@s.whatsapp.net' : false + else who = text ? text.replace(/[^0-9]/g, '') + '@s.whatsapp.net' : m.chat + let user = global.db.data.users[who] + if (!who) return m.reply(`✳️ Menciona al usuario\n\n📌 Ejemplo :\n${usedPrefix + command} @tag`) + + +let abrazo = await conn.reply(m.chat, `@${m.sender.split('@')[0]} acaba de manosearle hasta el alma a @${who.split('@')[0]} `, m, { mentions: [who, m.sender] }) + +conn.sendMessage(m.chat, { react: { text: '😈', key: abrazo.key }}) +} +handler.help = ['manosear @user'] +handler.tags = ['fun'] +handler.command = ['manosear'] +handler.group = true +export default handler \ No newline at end of file diff --git a/plugins/plugins/acciones-matar.js b/plugins/plugins/acciones-matar.js new file mode 100644 index 0000000..1e76488 --- /dev/null +++ b/plugins/plugins/acciones-matar.js @@ -0,0 +1,17 @@ +let handler = async (m, { conn, usedPrefix, command, text }) => { + let who + if (m.isGroup) who = m.mentionedJid[0] ? m.mentionedJid[0] : m.quoted ? m.quoted.sender : text ? text.replace(/[^0-9]/g, '') + '@s.whatsapp.net' : false + else who = text ? text.replace(/[^0-9]/g, '') + '@s.whatsapp.net' : m.chat + let user = global.db.data.users[who] + if (!who) return m.reply(`✳️ Menciona al usuario\n\n📌 Ejemplo :\n${usedPrefix + command} @tag`) + + +let abrazo = await conn.reply(m.chat, `@${m.sender.split('@')[0]} acaba de matar a @${who.split('@')[0]} `, m, { mentions: [who, m.sender] }) + +conn.sendMessage(m.chat, { react: { text: '🏴‍☠️', key: abrazo.key }}) +} +handler.help = ['matar @user'] +handler.tags = ['fun'] +handler.command = ['matar'] +handler.group = true +export default handler \ No newline at end of file diff --git a/plugins/plugins/acciones-menu.js b/plugins/plugins/acciones-menu.js new file mode 100644 index 0000000..c4aa669 --- /dev/null +++ b/plugins/plugins/acciones-menu.js @@ -0,0 +1,52 @@ +const { levelling } = '../lib/levelling.js' + +import PhoneNumber from 'awesome-phonenumber' + +let handler = async (m, { conn, usedPrefix }) => { + +let pp = './Menu2.jpg' + +try { + +} catch (e) { + +} finally { + +//let about = (await conn.getStatus(who).catch(console.error) || {}).status || '' + +let name = await conn.getName(m.sender) + +let str = ` + +*🔥⛩️Menu de acciones⛩️🔥* + +𓆩🍃𓆪 Abrazo +𓆩🍃𓆪 Besar +𓆩🍃𓆪 Coger +𓆩🍃𓆪 Golpear +𓆩🍃𓆪 Manosear +𓆩🍃𓆪 Matar +𓆩🍃𓆪 Agarron del nalgas +𓆩🍃𓆪 Nalgada +𓆩🍃𓆪 Mamada +𓆩🍃𓆪 Venirse +𓆩🍃𓆪 Patada en los webos +`.trim() + +conn.sendHydrated(m.chat, str, wm, pp, 'https://chat.whatsapp.com/I3l2EB31ULP04msvlY2fmf', "🔥𝗥𝗲𝗻𝗴𝗼𝗸𝘂_𝗕𝗼𝘁🔥", null, null, [ + +['🏮𝙼𝙴𝙽𝚄 𝙿𝚁𝙸𝙽𝙲𝙸𝙿𝙰𝙻🏮', '/menu'] + +], m) + +}} + +handler.help = ['menu3', 'help3', '?3', 'menuaudiosfuridamu'] + +handler.tags = ['main'] + +handler.command = /^(acciones)$/i + +handler.fail = null + +export default handler \ No newline at end of file diff --git a/plugins/plugins/acciones-nalgada.js b/plugins/plugins/acciones-nalgada.js new file mode 100644 index 0000000..1949532 --- /dev/null +++ b/plugins/plugins/acciones-nalgada.js @@ -0,0 +1,31 @@ +let handler = async (m, { conn, usedPrefix, command, text }) => { + + let who + + if (m.isGroup) who = m.mentionedJid[0] ? m.mentionedJid[0] : m.quoted ? m.quoted.sender : text ? text.replace(/[^0-9]/g, '') + '@s.whatsapp.net' : false + + else who = text ? text.replace(/[^0-9]/g, '') + '@s.whatsapp.net' : m.chat + + let user = global.db.data.users[who] + + if (!who) return m.reply(`✳️ Menciona al usuario\n\n📌 Ejemplo :\n${usedPrefix + command} @tag`) + + + + + +let abrazo = await conn.reply(m.chat, `@${m.sender.split('@')[0]} le dio una buena nalgada a @${who.split('@')[0]} `, m, { mentions: [who, m.sender] }) + +conn.sendMessage(m.chat, { react: { text: '🍑', key: abrazo.key }}) + +} + +handler.help = ['abrazo @user'] + +handler.tags = ['fun'] + +handler.command = ['nalgada'] + +handler.group = true + +export default handler \ No newline at end of file diff --git a/plugins/plugins/acciones-patada.js b/plugins/plugins/acciones-patada.js new file mode 100644 index 0000000..a855617 --- /dev/null +++ b/plugins/plugins/acciones-patada.js @@ -0,0 +1,31 @@ +let handler = async (m, { conn, usedPrefix, command, text }) => { + + let who + + if (m.isGroup) who = m.mentionedJid[0] ? m.mentionedJid[0] : m.quoted ? m.quoted.sender : text ? text.replace(/[^0-9]/g, '') + '@s.whatsapp.net' : false + + else who = text ? text.replace(/[^0-9]/g, '') + '@s.whatsapp.net' : m.chat + + let user = global.db.data.users[who] + + if (!who) return m.reply(`✳️ Menciona al usuario\n\n📌 Ejemplo :\n${usedPrefix + command} @tag`) + + + + + +let abrazo = await conn.reply(m.chat, `@${m.sender.split('@')[0]} acaba de clavarle una patada en los webos a @${who.split('@')[0]} `, m, { mentions: [who, m.sender] }) + +conn.sendMessage(m.chat, { react: { text: '👨🏻‍🦽', key: abrazo.key }}) + +} + +handler.help = ['abrazo @user'] + +handler.tags = ['fun'] + +handler.command = ['patada'] + +handler.group = true + +export default handler \ No newline at end of file diff --git a/plugins/plugins/acciones-venirse.js b/plugins/plugins/acciones-venirse.js new file mode 100644 index 0000000..931cca5 --- /dev/null +++ b/plugins/plugins/acciones-venirse.js @@ -0,0 +1,31 @@ +let handler = async (m, { conn, usedPrefix, command, text }) => { + + let who + + if (m.isGroup) who = m.mentionedJid[0] ? m.mentionedJid[0] : m.quoted ? m.quoted.sender : text ? text.replace(/[^0-9]/g, '') + '@s.whatsapp.net' : false + + else who = text ? text.replace(/[^0-9]/g, '') + '@s.whatsapp.net' : m.chat + + let user = global.db.data.users[who] + + if (!who) return m.reply(`✳️ Menciona al usuario\n\n📌 Ejemplo :\n${usedPrefix + command} @tag`) + + + + + +let abrazo = await conn.reply(m.chat, `@${m.sender.split('@')[0]} se vino encima de @${who.split('@')[0]} `, m, { mentions: [who, m.sender] }) + +conn.sendMessage(m.chat, { react: { text: '💦', key: abrazo.key }}) + +} + +handler.help = ['abrazo @user'] + +handler.tags = ['fun'] + +handler.command = ['venirse'] + +handler.group = true + +export default handler \ No newline at end of file diff --git a/plugins/plugins/addxp.js b/plugins/plugins/addxp.js new file mode 100644 index 0000000..0cd1721 --- /dev/null +++ b/plugins/plugins/addxp.js @@ -0,0 +1,28 @@ +import MessageType from '@adiwajshing/baileys' + let pajak = 0 + let handler = async (m, { conn, text }) => { + let who + if (m.isGroup) who = m.mentionedJid[0] + else who = m.chat + if (!who) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝚃𝙸𝚀𝚄𝙴𝚃𝙰 𝙰 𝚄𝙽 𝚄𝚂𝚄𝙰𝚁𝙸𝙾 𝙲𝙾𝙽 𝙴𝙻 @𝚝𝚊𝚐*' + let txt = text.replace('@' + who.split`@`[0], '').trim() + if (!txt) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝙸𝙽𝙶𝚁𝙴𝚂𝙰 𝙻𝙰 𝙲𝙰𝙽𝚃𝙸𝙳𝙰𝙳 𝙳𝙴 𝙴𝚇𝙿𝙴𝚁𝙸𝙴𝙽𝙲𝙸𝙰 (𝚇𝙿) 𝚀𝚄𝙴 𝙳𝙴𝚂𝙴𝙰 𝙰𝙽̃𝙰𝙳𝙸𝚁*' + if (isNaN(txt)) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝚂𝙸𝙼𝙱𝙾𝙻𝙾 𝙽𝙾 𝙰𝙳𝙼𝙸𝚃𝙸𝙳𝙾, 𝚂𝙾𝙻𝙾 𝙽𝚄𝙼𝙴𝚁𝙾𝚂!*' + let xp = parseInt(txt) + let exp = xp + let pjk = Math.ceil(xp * pajak) + exp += pjk + if (exp < 1) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝙻 𝙽𝚄𝙼𝙴𝚁𝙾 𝙼𝙸𝙽𝙸𝙼𝙾 𝙳𝙴 𝙴𝚇𝙿𝙴𝚁𝙸𝙴𝙽𝙲𝙸𝙰 (𝚇𝙿) 𝙿𝙰𝚁𝙰 𝙰𝙽̃𝙰𝙳𝙸𝚁 𝙴𝚂 𝟷*' + let users = global.db.data.users + users[who].exp += xp +   m.reply(`≡🏮𝚇𝙿 𝙰𝙽̃𝙰𝙳𝙸𝙳𝙾🏮 + ╭══• ೋ•✧๑🧿๑✧•ೋ •══╮ + ├🍃 𝚃𝚘𝚝𝚊𝚕:${xp} + ╰══• ೋ•✧๑🧿๑✧•ೋ •══╯ +𝚩𝐘:🔥𝗥𝗲𝗻𝗴𝗼𝗸𝘂_𝗕𝗼𝘁🔥`) + } + handler.help = ['addxp <@user>'] + handler.tags = ['xp'] + handler.command = ['añadirxp']  + handler.rowner = true + export default handler \ No newline at end of file diff --git a/plugins/plugins/adult-comandos+18.js b/plugins/plugins/adult-comandos+18.js new file mode 100644 index 0000000..9a30f09 --- /dev/null +++ b/plugins/plugins/adult-comandos+18.js @@ -0,0 +1,118 @@ +import axios from "axios" +let handler = async (m, {command, conn}) => { +if (!db.data.chats[m.chat].modohorny && m.isGroup) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝙻𝙾𝚂 𝙲𝙾𝙼𝙰𝙽𝙳𝙾𝚂 +𝟷𝟾 𝙴𝚂𝚃𝙰𝙽 𝙳𝙴𝚂𝙰𝙲𝚃𝙸𝚅𝙰𝙳𝙾𝚂 𝙴𝙽 𝙴𝚂𝚃𝙴 𝙶𝚁𝚄𝙿𝙾, 𝚂𝙸 𝙴𝚂 𝙰𝙳𝙼𝙸𝙽 𝚈 𝙳𝙴𝚂𝙴𝙰 𝙰𝙲𝚃𝙸𝚅𝙰𝚁𝙻𝙾𝚂 𝚄𝚂𝙴 𝙴𝙻 𝙲𝙾𝙼𝙰𝙽𝙳𝙾 #enable modohorny*' +if (command == 'nsfwloli') { +let haha = await conn.getFile(`https://server-api-rey.herokuapp.com/api/wallpaper/nsfwloli?apikey=apirey`) +conn.sendButton(m.chat, `_${command}_`.trim(), author, haha.data, [['🔄 𝚂𝙸𝙶𝚄𝙸𝙴𝙽𝚃𝙴 🔄', `/${command}`]], m)} +if (command == 'nsfwfoot') { +let haha = await conn.getFile(`https://server-api-rey.herokuapp.com/api/nsfw/foot?apikey=apirey`) +conn.sendButton(m.chat, `_${command}_`.trim(), author, haha.data, [['🔄 𝚂𝙸𝙶𝚄𝙸𝙴𝙽𝚃𝙴 🔄', `/${command}`]], m)} +if (command == 'nsfwass') { +let haha = await conn.getFile(`https://server-api-rey.herokuapp.com/api/nsfw/ass?apikey=apirey`) +conn.sendButton(m.chat, `_${command}_`.trim(), author, haha.data, [['🔄 𝚂𝙸𝙶𝚄𝙸𝙴𝙽𝚃𝙴 🔄', `/${command}`]], m)} +if (command == 'nsfwbdsm') { +let haha = await conn.getFile(`https://server-api-rey.herokuapp.com/api/nsfw/bdsm?apikey=apirey`) +conn.sendButton(m.chat, `_${command}_`.trim(), author, haha.data, [['🔄 𝚂𝙸𝙶𝚄𝙸𝙴𝙽𝚃𝙴 🔄', `/${command}`]], m)} +if (command == 'nsfwcum') { +let haha = await conn.getFile(`https://server-api-rey.herokuapp.com/api/nsfw/cum?apikey=apirey`) +conn.sendButton(m.chat, `_${command}_`.trim(), author, haha.data, [['🔄 𝚂𝙸𝙶𝚄𝙸𝙴𝙽𝚃𝙴 🔄', `/${command}`]], m)} +if (command == 'nsfwero') { +let haha = await conn.getFile(`https://server-api-rey.herokuapp.com/api/nsfw/ero?apikey=apirey`) +conn.sendButton(m.chat, `_${command}_`.trim(), author, haha.data, [['🔄 𝚂𝙸𝙶𝚄𝙸𝙴𝙽𝚃𝙴 🔄', `/${command}`]], m)} +if (command == 'nsfwfemdom') { +let haha = await conn.getFile(`https://server-api-rey.herokuapp.com/api/nsfw/femdom?apikey=apirey`) +conn.sendButton(m.chat, `_${command}_`.trim(), author, haha.data, [['🔄 𝚂𝙸𝙶𝚄𝙸𝙴𝙽𝚃𝙴 🔄', `/${command}`]], m)} +if (command == 'nsfwglass') { +let haha = await conn.getFile(`https://server-api-rey.herokuapp.com/api/nsfw/glasses?apikey=apirey`) +conn.sendButton(m.chat, `_${command}_`.trim(), author, haha.data, [['🔄 𝚂𝙸𝙶𝚄𝙸𝙴𝙽𝚃𝙴 🔄', `/${command}`]], m)} +if (command == 'hentai') { +let haha = await conn.getFile(`https://server-api-rey.herokuapp.com/api/nsfw/hentai?apikey=apirey`) +conn.sendButton(m.chat, `_${command}_`.trim(), author, haha.data, [['🔄 𝚂𝙸𝙶𝚄𝙸𝙴𝙽𝚃𝙴 🔄', `/${command}`]], m)} +if (command == 'nsfworgy') { +let haha = await conn.getFile(`https://api.xteam.xyz/randomimage/orgy?APIKEY=29d4b59a4aa687ca`) +conn.sendButton(m.chat, `_${command}_`.trim(), author, haha.data, [['🔄 𝚂𝙸𝙶𝚄𝙸𝙴𝙽𝚃𝙴 🔄', `/${command}`]], m)} +if (command == 'tetas') { +let res = await axios("https://meme-api.herokuapp.com/gimme/boobs") +let json = res.data +let url = json.url +conn.sendButton(m.chat, `_${command}_`.trim(), author, url, [['🔄 𝚂𝙸𝙶𝚄𝙸𝙴𝙽𝚃𝙴 🔄', `/${command}`]], m)} +if (command == 'booty') { +let res = await axios("https://meme-api.herokuapp.com/gimme/booty") +let json = res.data +let url = json.url +conn.sendButton(m.chat, `_${command}_`.trim(), author, url, [['🔄 𝚂𝙸𝙶𝚄𝙸𝙴𝙽𝚃𝙴 🔄', `/${command}`]], m)} +if (command == 'ecchi') { +let res = await axios("https://meme-api.herokuapp.com/gimme/ecchi") +let json = res.data +let url = json.url +conn.sendButton(m.chat, `_${command}_`.trim(), author, url, [['🔄 𝚂𝙸𝙶𝚄𝙸𝙴𝙽𝚃𝙴 🔄', `/${command}`]], m)} +if (command == 'furro') { +let res = await axios("https://meme-api.herokuapp.com/gimme/Furryporn") +let json = res.data +let url = json.url +conn.sendButton(m.chat, `_${command}_`.trim(), author, url, [['🔄 𝚂𝙸𝙶𝚄𝙸𝙴𝙽𝚃𝙴 🔄', `/${command}`]], m)} +if (command == 'trapito') { +let res = await axios("https://api.waifu.pics/nsfw/trap") +let json = res.data +let url = json.url +conn.sendButton(m.chat, `_${command}_`.trim(), author, url, [['🔄 𝚂𝙸𝙶𝚄𝙸𝙴𝙽𝚃𝙴 🔄', `/${command}`]], m)} +if (command == 'imagenlesbians') { +let res = await axios("https://meme-api.herokuapp.com/gimme/lesbians") +let json = res.data +let url = json.url +conn.sendButton(m.chat, `_${command}_`.trim(), author, url, [['🔄 𝚂𝙸𝙶𝚄𝙸𝙴𝙽𝚃𝙴 🔄', `/${command}`]], m)} +if (command == 'panties') { +let res = await axios("https://meme-api.herokuapp.com/gimme/panties") +let json = res.data +let url = json.url +conn.sendButton(m.chat, `_${command}_`.trim(), author, url, [['🔄 𝚂𝙸𝙶𝚄𝙸𝙴𝙽𝚃𝙴 🔄', `/${command}`]], m)} +if (command == 'pene') { +let res = await axios("https://meme-api.herokuapp.com/gimme/penis") +let json = res.data +let url = json.url +conn.sendButton(m.chat, `_${command}_`.trim(), author, url, [['🔄 𝚂𝙸𝙶𝚄𝙸𝙴𝙽𝚃𝙴 🔄', `/${command}`]], m)} +if (command == 'porno') { +let res = await axios("https://meme-api.herokuapp.com/gimme/nsfw") +let json = res.data +let url = json.url +conn.sendButton(m.chat, `_${command}_`.trim(), author, url, [['🔄 𝚂𝙸𝙶𝚄𝙸𝙴𝙽𝚃𝙴 🔄', `/${command}`]], m)} +if (command == 'porno2') { +let res = await axios("https://meme-api.herokuapp.com/gimme/porngif") +let json = res.data +let url = json.url +conn.sendButton(m.chat, `_${command}_`.trim(), author, url, [['🔄 𝚂𝙸𝙶𝚄𝙸𝙴𝙽𝚃𝙴 🔄', `/${command}`]], m)} +if (command == 'randomxxx') { +let res = await axios("https://meme-api.herokuapp.com/gimme/nsfw") +let json = res.data +let url = json.url +conn.sendButton(m.chat, `_${command}_`.trim(), author, url, [['🔄 𝚂𝙸𝙶𝚄𝙸𝙴𝙽𝚃𝙴 🔄', `/${command}`]], m)} +if (command == 'pechos') { +let res = await axios("https://meme-api.herokuapp.com/gimme/sideboobs") +let json = res.data +let url = json.url +conn.sendButton(m.chat, `_${command}_`.trim(), author, url, [['🔄 𝚂𝙸𝙶𝚄𝙸𝙴𝙽𝚃𝙴 🔄', `/${command}`]], m)} +if (command == 'yaoi') { +let res = await axios("https://meme-api.herokuapp.com/gimme/yaoigif") +let json = res.data +let url = json.url +conn.sendButton(m.chat, `_${command}_`.trim(), author, url, [['🔄 𝚂𝙸𝙶𝚄𝙸𝙴𝙽𝚃𝙴 🔄', `/${command}`]], m)} +if (command == 'yaoi2') { +let res = await axios("https://meme-api.herokuapp.com/gimme/yaoi") +let json = res.data +let url = json.url +conn.sendButton(m.chat, `_${command}_`.trim(), author, url, [['🔄 𝚂𝙸𝙶𝚄𝙸𝙴𝙽𝚃𝙴 🔄', `/${command}`]], m)} +if (command == 'yuri') { +let res = await axios("https://meme-api.herokuapp.com/gimme/yuri") +let json = res.data +let url = json.url +conn.sendButton(m.chat, `_${command}_`.trim(), author, url, [['🔄 𝚂𝙸𝙶𝚄𝙸𝙴𝙽𝚃𝙴 🔄', `/${command}`]], m)} +if (command == 'yuri2') { +let res = await axios("https://meme-api.herokuapp.com/gimme/yurigif") +let json = res.data +let url = json.url +conn.sendButton(m.chat, `_${command}_`.trim(), author, url, [['🔄 𝚂𝙸𝙶𝚄𝙸𝙴𝙽𝚃𝙴 🔄', `/${command}`]], m)} +} +handler.help = ['nsfwloli', 'nsfwfoot', 'nsfwass', 'nsfwbdsm', 'nsfwcum', 'nsfwero', 'nsfwfemdom', 'nsfwfoot', 'nsfwglss', 'nsfworgy', 'yuri', 'yuri2', 'yaoi', 'yaoi2', 'panties', 'tetas', 'booty', 'ecchi', 'furro', 'hentai', 'trapito', 'imagenlesbians', 'pene', 'porno', 'porno2', 'randomxxx', 'pechos'] +handler.command = ['nsfwloli', 'nsfwfoot', 'nsfwass', 'nsfwbdsm', 'nsfwcum', 'nsfwero', 'nsfwfemdom', 'nsfwfoot', 'nsfwglss', 'nsfworgy', 'yuri', 'yuri2', 'yaoi', 'yaoi2', 'panties', 'tetas', 'booty', 'ecchi', 'furro', 'hentai', 'trapito', 'imagenlesbians', 'pene', 'porno', 'porno2', 'randomxxx', 'pechos'] +handler.tags = ['nsfw'] +export default handler diff --git a/plugins/plugins/adult-tiktokxxx.js b/plugins/plugins/adult-tiktokxxx.js new file mode 100644 index 0000000..fadf004 --- /dev/null +++ b/plugins/plugins/adult-tiktokxxx.js @@ -0,0 +1,20 @@ +/*--------------------------------------------------------------------------------------- + 🍀 • By https://github.com/ALBERTO9883 + 🍀 • ⚘Alberto Y Ashly⚘ +-----------------------------------------------------------------------------------------*/ + +import fetch from 'node-fetch' +let handler = async (m, { conn, usedPrefix, command }) => { +if (!db.data.chats[m.chat].modohorny && m.isGroup) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝙻𝙾𝚂 𝙲𝙾𝙼𝙰𝙽𝙳𝙾𝚂 +𝟷𝟾 𝙴𝚂𝚃𝙰𝙽 𝙳𝙴𝚂𝙰𝙲𝚃𝙸𝚅𝙰𝙳𝙾𝚂 𝙴𝙽 𝙴𝚂𝚃𝙴 𝙶𝚁𝚄𝙿𝙾, 𝚂𝙸 𝙴𝚂 𝙰𝙳𝙼𝙸𝙽 𝚈 𝙳𝙴𝚂𝙴𝙰 𝙰𝙲𝚃𝙸𝚅𝙰𝚁𝙻𝙾𝚂 𝚄𝚂𝙴 𝙴𝙻 𝙲𝙾𝙼𝙰𝙽𝙳𝙾 #enable modohorny*' +let fgif = { key: {participant: `0@s.whatsapp.net`, ...(m.chat ? { remoteJid: "6289643739077-1613049930@g.us" } : {})},message: {"videoMessage": { "title":`*Aʟʙᴇʀᴛᴏ Y Asʜʟʏ♥️*`, "h": `Hmm`,'seconds': '99999', 'gifPlayback': 'true', 'caption': `卐🪬𝐒𝚫𝐌𝚫𝚵𝐋-𝚩𝚯𝐓🪬卐`, 'jpegThumbnail': false }}} +let who = m.mentionedJid && m.mentionedJid[0] ? m.mentionedJid[0] : m.fromMe ? conn.user.jid : m.sender +let user = global.db.data.users[who] +let name = await conn.getName[who] +let json = await fetch(`http://mkbot.online/api/tiktok/nsfw/nsfwtt?&apikey=${mkbotkey}`) +let jsons = await json.json() +let res = jsons.result +conn.sendButton(m.chat, `- 𝙱𝚒𝚎𝚗𝚟𝚎𝚗𝚒𝚍𝚘 𝚊 𝚃𝚒𝚔𝚃𝚘𝚔 𝙶𝚘𝚕𝚍🥵 -`, `*◈•@${who.split("@s.whatsapp.net")[0]}*`, res, [['🔄 𝚂𝙸𝙶𝚄𝙸𝙴𝙽𝚃𝙴 🔄', `/${command}`]], fgif, { mentions: [who] })} +handler.command = /^(tiktokxxx)$/i +export default handler +global.mkbot = ['lwSUluWz', 'HSxJ72Rf', 'H6pvVPJc', 'uVAf54xz', 'nwJVzP6v'] +global.mkbotkey = mkbot[Math.floor(mkbot.length * Math.random())] diff --git a/plugins/plugins/adult-videoxxx.js b/plugins/plugins/adult-videoxxx.js new file mode 100644 index 0000000..7805d83 --- /dev/null +++ b/plugins/plugins/adult-videoxxx.js @@ -0,0 +1,56 @@ +let handler = async (m, { conn, usedPrefix, command }) => { +if (!db.data.chats[m.chat].modohorny && m.isGroup) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝙻𝙾𝚂 𝙲𝙾𝙼𝙰𝙽𝙳𝙾𝚂 +𝟷𝟾 𝙴𝚂𝚃𝙰𝙽 𝙳𝙴𝚂𝙰𝙲𝚃𝙸𝚅𝙰𝙳𝙾𝚂 𝙴𝙽 𝙴𝚂𝚃𝙴 𝙶𝚁𝚄𝙿𝙾, 𝚂𝙸 𝙴𝚂 𝙰𝙳𝙼𝙸𝙽 𝚈 𝙳𝙴𝚂𝙴𝙰 𝙰𝙲𝚃𝙸𝚅𝙰𝚁𝙻𝙾𝚂 𝚄𝚂𝙴 𝙴𝙻 𝙲𝙾𝙼𝙰𝙽𝙳𝙾 #enable modohorny*' +let res = pickRandom(asupan) +conn.sendHydrated(m.chat, null, null, res, null, null, null, null, [['🔄 𝚂𝙸𝙶𝚄𝙸𝙴𝙽𝚃𝙴 🔄', `/${command}`]], m)} +handler.help = ['videoxxx'] +handler.tags = ['random'] +handler.command = /^videoxxx|vídeoxxx$/i +export default handler + +function pickRandom(list) { +return list[Math.floor(list.length * Math.random())]} + +const asupan = [ +"https://l.top4top.io/m_2235dduf01.mp4", +"https://a.top4top.io/m_2235268m61.mp4", +"https://b.top4top.io/m_2235k7hze2.mp4", +"https://c.top4top.io/m_2235lxohb3.mp4", +"https://d.top4top.io/m_2235jwd2e4.mp4", +"https://e.top4top.io/m_2235h5b1z5.mp4", +"https://f.top4top.io/m_2235gihcu6.mp4", +"https://l.top4top.io/m_2235dp7m41.mp4", +"https://a.top4top.io/m_2235zxue82.mp4", +"https://b.top4top.io/m_2235m3bhf3.mp4", +"https://c.top4top.io/m_2235vjyio4.mp4", +"https://d.top4top.io/m_2235m9tdu5.mp4", +"https://e.top4top.io/m_2235y2kon6.mp4", +"https://f.top4top.io/m_2235rhid57.mp4", +"https://g.top4top.io/m_2235zgsqf8.mp4", +"https://i.top4top.io/m_2235drxxg10.mp4", +"https://d.top4top.io/m_2235fzynm1.mp4", +"https://e.top4top.io/m_22354t3zk2.mp4", +"https://f.top4top.io/m_2235gyxgh3.mp4", +"https://g.top4top.io/m_22357cmft4.mp4", +"https://i.top4top.io/m_2235mcizm6.mp4", +"https://j.top4top.io/m_2235gwsn17.mp4", +"https://k.top4top.io/m_2235gzzjc8.mp4", +"https://a.top4top.io/m_2235l9y1310.mp4", +"https://l.top4top.io/m_2235r1opz1.mp4", +"https://a.top4top.io/m_22358cuuu2.mp4", +"https://b.top4top.io/m_22350c9br3.mp4", +"https://c.top4top.io/m_22355p2js4.mp4", +"https://d.top4top.io/m_2235lv7415.mp4", +"https://e.top4top.io/m_2235q8z3f6.mp4", +"https://b.top4top.io/m_22358oas31.mp4", +"https://c.top4top.io/m_2235xg7o62.mp4", +"https://d.top4top.io/m_2235ut91p3.mp4", +"https://e.top4top.io/m_22352ktoj4.mp4", +"https://f.top4top.io/m_2235hcqj65.mp4", +"https://g.top4top.io/m_2235j81s76.mp4", +"https://d.top4top.io/m_2235993nu1.mp4", +"https://c.top4top.io/m_22352lrsd1.mp4", +"https://g.top4top.io/m_2235pi8791.mp4", +"https://g.top4top.io/m_22428pnh01.mp4", +"https://i.top4top.io/m_2242jpc3c1.mp4", +"https://f.top4top.io/m_2235sxi5y1.mp4" +] diff --git a/plugins/plugins/adult-xnxxdl.js b/plugins/plugins/adult-xnxxdl.js new file mode 100644 index 0000000..9a5bc58 --- /dev/null +++ b/plugins/plugins/adult-xnxxdl.js @@ -0,0 +1,14 @@ +import fetch from 'node-fetch' +let handler = async (m, { conn, args, command, usedPrefix }) => { +if (!db.data.chats[m.chat].modohorny && m.isGroup) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝙻𝙾𝚂 𝙲𝙾𝙼𝙰𝙽𝙳𝙾𝚂 +𝟷𝟾 𝙴𝚂𝚃𝙰𝙽 𝙳𝙴𝚂𝙰𝙲𝚃𝙸𝚅𝙰𝙳𝙾𝚂 𝙴𝙽 𝙴𝚂𝚃𝙴 𝙶𝚁𝚄𝙿𝙾, 𝚂𝙸 𝙴𝚂 𝙰𝙳𝙼𝙸𝙽 𝚈 𝙳𝙴𝚂𝙴𝙰 𝙰𝙲𝚃𝙸𝚅𝙰𝚁𝙻𝙾𝚂 𝚄𝚂𝙴 𝙴𝙻 𝙲𝙾𝙼𝙰𝙽𝙳𝙾 #enable modohorny*' +if (!args[0]) throw `*[❗𝐈𝐍𝐅𝐎❗] 𝙸𝙽𝙶𝚁𝙴𝚂𝙴 𝚄𝙽 𝙴𝙽𝙻𝙰𝙲𝙴 𝚅𝙰𝙻𝙸𝙳𝙾 𝙳𝙴 𝚇𝙽𝚇𝚇, 𝙴𝙹𝙴𝙼𝙿𝙻𝙾: ${usedPrefix + command} https://www.xnxx.com/video-14lcwbe8/rubia_novia_follada_en_cuarto_de_bano*` +try { +await conn.reply(m.chat, '[❗] 𝐸𝑙 𝑣𝑖𝑑𝑒𝑜 𝑒𝑠𝑡𝑎 𝑠𝑖𝑒𝑛𝑑𝑜 𝑝𝑟𝑜𝑐𝑒𝑠𝑎𝑑𝑜, 𝑒𝑠𝑝𝑒𝑟𝑒 𝑢𝑛 𝑚𝑜𝑚𝑒𝑛𝑡𝑜 𝑒𝑛 𝑙𝑜 𝑞𝑢𝑒 𝑒𝑠 𝑒𝑛𝑣𝑖𝑎𝑑𝑜..\n\n﹣ ᴇʟ ᴛɪᴇᴍᴘᴏ ᴅᴇ ᴇɴᴠɪᴏ ᴅᴇᴘᴇɴᴅᴇ ᴅᴇʟ ᴘᴇsᴏ ʏ ᴅᴜʀᴀᴄɪᴏ́ɴ ᴅᴇʟ ᴠɪᴅᴇᴏ', m) +let res = await fetch(`https://zenzapis.xyz/downloader/xnxx?apikey=${keysxxx}&url=`+args[0]) +let json = await res.json() +conn.sendMessage(m.chat, { document: { url: json.result.files.high }, mimetype: 'video/mp4', fileName: json.result.title }, { quoted: m }) +} catch (e) { +m.reply('*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝚁𝚁𝙾𝚁, 𝙿𝙾𝚁 𝙵𝙰𝚅𝙾𝚁 𝚅𝚄𝙴𝙻𝚅𝙰 𝙰 𝙸𝙽𝚃𝙴𝙽𝚃𝙰𝚁𝙻𝙾*\n\n*- 𝙲𝙾𝚁𝚁𝙾𝙱𝙾𝚁𝙴 𝚀𝚄𝙴 𝙴𝙻 𝙴𝙽𝙻𝙰𝙲𝙴 𝚂𝙴𝙰 𝚂𝙸𝙼𝙸𝙻𝙰𝚁 𝙰:*\n*◉ https://www.xnxx.com/video-14lcwbe8/rubia_novia_follada_en_cuarto_de_bano*') +}} +handler.command = /^(xnxxdl)$/i +export default handler diff --git a/plugins/plugins/adult-xnxxsearch.js b/plugins/plugins/adult-xnxxsearch.js new file mode 100644 index 0000000..cdc6420 --- /dev/null +++ b/plugins/plugins/adult-xnxxsearch.js @@ -0,0 +1,27 @@ +import axios from 'axios' +import fs from 'fs' +let handler = async (m, { text, conn, args, command, usedPrefix }) => { +if (!db.data.chats[m.chat].modohorny && m.isGroup) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝙻𝙾𝚂 𝙲𝙾𝙼𝙰𝙽𝙳𝙾𝚂 +𝟷𝟾 𝙴𝚂𝚃𝙰𝙽 𝙳𝙴𝚂𝙰𝙲𝚃𝙸𝚅𝙰𝙳𝙾𝚂 𝙴𝙽 𝙴𝚂𝚃𝙴 𝙶𝚁𝚄𝙿𝙾, 𝚂𝙸 𝙴𝚂 𝙰𝙳𝙼𝙸𝙽 𝚈 𝙳𝙴𝚂𝙴𝙰 𝙰𝙲𝚃𝙸𝚅𝙰𝚁𝙻𝙾𝚂 𝚄𝚂𝙴 𝙴𝙻 𝙲𝙾𝙼𝙰𝙽𝙳𝙾 #enable modohorny*' +if (!text) throw `*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝙹𝙴𝙼𝙿𝙻𝙾 𝙳𝙴 𝚄𝚂𝙾 𝙳𝙴𝙻 𝙲𝙾𝙼𝙰𝙽𝙳𝙾 ${usedPrefix + command} Con mi prima*` +try { +let res = await axios.get(`https://zenzapis.xyz/searching/xnxx?apikey=${keysxxx}&query=${text}`) +let json = res.data +let listSerch = [] +let teskd = `𝗩𝗶𝗱𝗲𝗼𝘀 𝗿𝗲𝗹𝗮𝗰𝗶𝗼𝗻𝗮𝗱𝗼𝘀 𝐜𝐨𝐧: ${args.join(" ")}` +const sections = [{ +title: `ⓡⓔⓢⓤⓛⓣⓐⓓⓞⓢ`, +rows: listSerch }] +const listMessage = { +text: teskd, +footer: '𝐄𝐥𝐢𝐣𝐚 𝐮𝐧𝐚 𝐨𝐩𝐜𝐢𝐨𝐧 𝐲 𝐩𝐫𝐞𝐜𝐢𝐨𝐧𝐞 𝐄𝐧𝐯𝐢𝐚𝐫', +title: " 『 𝗩𝗜𝗗𝗘𝗢𝗦 𝗥𝗘𝗟𝗔𝗖𝗜𝗢𝗡𝗔𝗗𝗢𝗦 』", +buttonText: "[♦ 𝐑𝐄𝐒𝐔𝐋𝐓𝐀𝐃𝐎𝐒 ♦]", +sections} +for (let i of json.result) { +listSerch.push({title: i.title, description: '⇧ sᴇʟᴇᴄᴄɪᴏɴᴀ ᴇsᴛᴀ ᴏᴘᴄɪᴏɴ ᴘᴀʀᴀ ᴅᴇsᴄᴀʀɢᴀʀ ᴇsᴛᴇ ᴠɪᴅᴇᴏ ⇧', rowId: `${usedPrefix}xnxxdl ${i.url}`})} +conn.sendMessage(m.chat, listMessage, { quoted: m }) +} catch (e) { +m.reply('*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝚁𝚁𝙾𝚁, 𝙿𝙾𝚁 𝙵𝙰𝚅𝙾𝚁 𝚅𝚄𝙴𝙻𝚅𝙰 𝙰 𝙸𝙽𝚃𝙴𝙽𝚃𝙰𝚁𝙻𝙾*') +}} +handler.command = /^porhubsearch|xvideossearch|xnxxsearch$/i +export default handler diff --git a/plugins/plugins/adult-xvideosdl.js b/plugins/plugins/adult-xvideosdl.js new file mode 100644 index 0000000..03adabe --- /dev/null +++ b/plugins/plugins/adult-xvideosdl.js @@ -0,0 +1,14 @@ +import fetch from 'node-fetch' +let handler = async (m, { conn, args, command, usedPrefix }) => { +if (!db.data.chats[m.chat].modohorny && m.isGroup) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝙻𝙾𝚂 𝙲𝙾𝙼𝙰𝙽𝙳𝙾𝚂 +𝟷𝟾 𝙴𝚂𝚃𝙰𝙽 𝙳𝙴𝚂𝙰𝙲𝚃𝙸𝚅𝙰𝙳𝙾𝚂 𝙴𝙽 𝙴𝚂𝚃𝙴 𝙶𝚁𝚄𝙿𝙾, 𝚂𝙸 𝙴𝚂 𝙰𝙳𝙼𝙸𝙽 𝚈 𝙳𝙴𝚂𝙴𝙰 𝙰𝙲𝚃𝙸𝚅𝙰𝚁𝙻𝙾𝚂 𝚄𝚂𝙴 𝙴𝙻 𝙲𝙾𝙼𝙰𝙽𝙳𝙾 #enable modohorny*' +if (!args[0]) throw `*[❗𝐈𝐍𝐅𝐎❗] 𝙸𝙽𝙶𝚁𝙴𝚂𝙴 𝚄𝙽 𝙴𝙽𝙻𝙰𝙲𝙴 𝚅𝙰𝙻𝙸𝙳𝙾 𝙳𝙴 𝚇𝚅𝙸𝙳𝙴𝙾𝚂, 𝙴𝙹𝙴𝙼𝙿𝙻𝙾: ${usedPrefix + command} https://www.xvideos.com/video70389849/pequena_zorra_follada_duro*` +try { +await conn.reply(m.chat, '[❗] 𝐸𝑙 𝑣𝑖𝑑𝑒𝑜 𝑒𝑠𝑡𝑎 𝑠𝑖𝑒𝑛𝑑𝑜 𝑝𝑟𝑜𝑐𝑒𝑠𝑎𝑑𝑜, 𝑒𝑠𝑝𝑒𝑟𝑒 𝑢𝑛 𝑚𝑜𝑚𝑒𝑛𝑡𝑜 𝑒𝑛 𝑙𝑜 𝑞𝑢𝑒 𝑒𝑠 𝑒𝑛𝑣𝑖𝑎𝑑𝑜..\n\n﹣ ᴇʟ ᴛɪᴇᴍᴘᴏ ᴅᴇ ᴇɴᴠɪᴏ ᴅᴇᴘᴇɴᴅᴇ ᴅᴇʟ ᴘᴇsᴏ ʏ ᴅᴜʀᴀᴄɪᴏ́ɴ ᴅᴇʟ ᴠɪᴅᴇᴏ', m) +let res = await fetch(`https://zenzapis.xyz/downloader/xvideos?apikey=${keysxxx}&url=`+args[0]) +let json = await res.json() +conn.sendMessage(m.chat, { document: { url: json.result.files.high }, mimetype: 'video/mp4', fileName: json.result.title }, { quoted: m }) +} catch (e) { +m.reply('*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝚁𝚁𝙾𝚁, 𝙿𝙾𝚁 𝙵𝙰𝚅𝙾𝚁 𝚅𝚄𝙴𝙻𝚅𝙰 𝙰 𝙸𝙽𝚃𝙴𝙽𝚃𝙰𝚁𝙻𝙾*\n\n*- 𝙲𝙾𝚁𝚁𝙾𝙱𝙾𝚁𝙴 𝚀𝚄𝙴 𝙴𝙻 𝙴𝙽𝙻𝙰𝙲𝙴 𝚂𝙴𝙰 𝚂𝙸𝙼𝙸𝙻𝙰𝚁 𝙰:*\n*◉ https://www.xvideos.com/video70389849/pequena_zorra_follada_duro*') +}} +handler.command = /^(xvideosdl)$/i +export default handler diff --git a/plugins/plugins/afk-_afk.js b/plugins/plugins/afk-_afk.js new file mode 100644 index 0000000..0fc5acd --- /dev/null +++ b/plugins/plugins/afk-_afk.js @@ -0,0 +1,29 @@ +export function before(m) { + let user = global.db.data.users[m.sender] + if (user.afk > -1) { + m.reply(` + *[❗𝐈𝐍𝐅𝐎❗] 𝙳𝙴𝙹𝙰𝚂𝚃𝙴 𝙳𝙴 𝙴𝚂𝚃𝙰𝚁 𝙸𝙽𝙰𝙲𝚃𝙸𝚅𝙾 (𝙰𝙵𝙺)${user.afkReason ? ' 𝙳𝙴𝙿𝚄𝙴𝚂 𝙳𝙴 𝙴𝚂𝚃𝙰𝚁 𝙸𝙽𝙰𝙲𝚃𝙸𝚅𝙾 (𝙰𝙵𝙺) 𝙿𝙾𝚁 𝙴𝙻 𝙼𝙾𝚃𝙸𝚅𝙾: ' + user.afkReason : ''}* + + *—◉ 𝚃𝙸𝙴𝙼𝙿𝙾 𝙳𝙴 𝙸𝙽𝙰𝙲𝚃𝙸𝚅𝙸𝙳𝙰𝙳 (𝙰𝙵𝙺): ${(new Date - user.afk).toTimeString()}* + `.trim()) + user.afk = -1 + user.afkReason = '' + } + let jids = [...new Set([...(m.mentionedJid || []), ...(m.quoted ? [m.quoted.sender] : [])])] + for (let jid of jids) { + let user = global.db.data.users[jid] + if (!user) + continue + let afkTime = user.afk + if (!afkTime || afkTime < 0) + continue + let reason = user.afkReason || '' + m.reply(`*[❗] 𝙽𝙾 𝙻𝙾 𝙴𝚃𝙸𝚀𝚄𝙴𝚃𝙴𝚂 [❗]* + +*—◉ 𝙴𝙻 𝚄𝚂𝚄𝙰𝚁𝙸𝙾 𝚀𝚄𝙴 𝚄𝚂𝚃𝙴𝙳 𝙴𝚃𝙸𝚀𝚄𝙴𝚃𝙾 𝙴𝚂𝚃𝙰 𝙸𝙽𝙰𝙲𝚃𝙸𝚅𝙾 (𝙰𝙵𝙺)* +*—◉ ${reason ? '𝙼𝙾𝚃𝙸𝚅𝙾 𝙳𝙴 𝙸𝙽𝙰𝙲𝚃𝙸𝚅𝙸𝙳𝙰𝙳 (𝙰𝙵𝙺): ' + reason : '𝙼𝙾𝚃𝙸𝚅𝙾 𝙳𝙴 𝙸𝙽𝙰𝙲𝚃𝙸𝚅𝙸𝙳𝙰𝙳 (𝙰𝙵𝙺): _𝙴𝙻 𝚄𝚂𝚄𝙰𝚁𝙸𝙾 𝙽𝙾 𝙴𝚂𝙿𝙴𝙲𝙸𝙵𝙸𝙲𝙾 𝚄𝙽 𝙼𝙾𝚃𝙸𝚅𝙾_'}* +*—◉ 𝚃𝙸𝙴𝙼𝙿𝙾 𝚃𝚁𝙰𝙽𝚂𝙲𝚄𝚁𝚁𝙸𝙳𝙾 𝙳𝙴 𝙸𝙽𝙰𝙲𝚃𝙸𝚅𝙸𝙳𝙰𝙳 (𝙰𝙵𝙺): ${(new Date - afkTime).toTimeString()}* + `.trim()) + } + return true +} diff --git a/plugins/plugins/afk-afk.js b/plugins/plugins/afk-afk.js new file mode 100644 index 0000000..b533cc6 --- /dev/null +++ b/plugins/plugins/afk-afk.js @@ -0,0 +1,10 @@ +let handler = async (m, { text }) => { +let user = global.db.data.users[m.sender] +user.afk = + new Date +user.afkReason = text +m.reply(`*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝙻 𝚄𝚂𝚄𝙰𝚁𝙸𝙾 ${conn.getName(m.sender)} 𝙴𝚂𝚃𝙰𝚁𝙰 𝙸𝙽𝙰𝙲𝚃𝙸𝚅𝙾 (𝙰𝙵𝙺), 𝙿𝙾𝚁 𝙵𝙰𝚅𝙾𝚁 𝙽𝙾 𝙻𝙾 𝙴𝚃𝙸𝚀𝚄𝙴𝚃𝙴𝙽*\n\n*—◉ 𝙼𝙾𝚃𝙸𝚅𝙾 𝙳𝙴 𝙻𝙰 𝙸𝙽𝙰𝙲𝚃𝙸𝚅𝙸𝙳𝙰𝙳 (𝙰𝙵𝙺)${text ? ': ' + text : ''}* +`)} +handler.help = ['afk [alasan]'] +handler.tags = ['main'] +handler.command = /^afk$/i +export default handler diff --git a/plugins/plugins/amistad.js b/plugins/plugins/amistad.js new file mode 100644 index 0000000..4c56a67 --- /dev/null +++ b/plugins/plugins/amistad.js @@ -0,0 +1,13 @@ +let toM = a => '@' + a.split('@')[0] +function handler(m, { groupMetadata }) { +let ps = groupMetadata.participants.map(v => v.id) +let a = ps.getRandom() +let b +do b = ps.getRandom() +while (b === a) +m.reply(`*卐🔰 Vamos a hacer algunas amistades 🔰*\n\n*Oye ${toM(a)} hablale al privado a ${toM(b)} para que jueguen y se haga una amistad 🙆*\n\n*Las mejores amistades empiezan con un juego 😉🍃*`, null, { +mentions: [a, b], +})} +handler.command = ['amigo','amigorandom','amistad'] +handler.group = true +export default handler \ No newline at end of file diff --git a/plugins/plugins/anonymous_chat.js b/plugins/plugins/anonymous_chat.js new file mode 100644 index 0000000..a637070 --- /dev/null +++ b/plugins/plugins/anonymous_chat.js @@ -0,0 +1,45 @@ +async function handler(m, { command }) { +command = command.toLowerCase() +this.anonymous = this.anonymous ? this.anonymous : {} +switch (command) { +case 'next': +case 'leave': { +let room = Object.values(this.anonymous).find(room => room.check(m.sender)) +if (!room) return this.sendButton(m.chat, '*[❗𝐈𝐍𝐅𝐎❗] 𝙽𝙾 𝙴𝚂𝚃𝙰𝚂 𝙴𝙽 𝚄𝙽 𝙲𝙷𝙰𝚃 𝙰𝙽𝙾𝙽𝙸𝙼𝙾*\n\n*¿𝚀𝚄𝙸𝙴𝚁𝙴𝚂 𝙸𝙽𝙸𝙲𝙸𝙰𝚁 𝚄𝙽𝙾?*\n_𝙳𝙰 𝙲𝙻𝙸𝙲𝙺 𝙴𝙽 𝙴𝙻 𝚂𝙸𝙶𝚄𝙸𝙴𝙽𝚃𝙴 𝙱𝙾𝚃𝙾𝙽_', author, null, [['𝙸𝙽𝙸𝙲𝙸𝙰𝚁 𝙲𝙷𝙰𝚃 𝙰𝙽𝙾𝙽𝙸𝙼𝙾', `.start`]], m) +m.reply('*[ ✔ ] 𝚂𝙰𝙻𝙸𝙾 𝙲𝙾𝙽 𝙴𝚇𝙸𝚃𝙾 𝙳𝙴𝙻 𝙲𝙷𝙰𝚃 𝙰𝙽𝙾𝙽𝙸𝙼𝙾*') +let other = room.other(m.sender) +if (other) await this.sendButton(other, '*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝙻 𝙾𝚃𝚁𝙾 𝚄𝚂𝚄𝙰𝚁𝙸𝙾 𝙰𝙷 𝙰𝙱𝙰𝙽𝙳𝙾𝙽𝙰𝙳𝙾 𝙴𝙻 𝙲𝙷𝙰𝚃 𝙰𝙽𝙾𝙽𝙸𝙼𝙾*\n\n*¿𝚀𝚄𝙸𝙴𝚁𝙴𝚂 𝙸𝚁 𝙰 𝙾𝚃𝚁𝙾 𝙲𝙷𝙰𝚃 𝙰𝙽𝙾𝙽𝙸𝙼𝙾?*\n_𝙳𝙰 𝙲𝙻𝙸𝙲𝙺 𝙴𝙽 𝙴𝙻 𝚂𝙸𝙶𝚄𝙸𝙴𝙽𝚃𝙴 𝙱𝙾𝚃𝙾𝙽_', author, null, [['𝙸𝙽𝙸𝙲𝙸𝙰𝚁 𝙲𝙷𝙰𝚃 𝙰𝙽𝙾𝙽𝙸𝙼𝙾', `.start`]], m) +delete this.anonymous[room.id] +if (command === 'leave') break +} +case 'start': { +if (Object.values(this.anonymous).find(room => room.check(m.sender))) return this.sendButton(m.chat, '*[❗𝐈𝐍𝐅𝐎❗] 𝚃𝙾𝙳𝙰𝚅𝙸𝙰 𝙴𝚂𝚃𝙰𝚂 𝙴𝙽 𝚄𝙽 𝙲𝙷𝙰𝚃 𝙰𝙽𝙾𝙽𝙸𝙼𝙾 𝙾 𝙴𝚂𝙿𝙴𝚁𝙰𝙽𝙳𝙾 𝙰 𝚀𝚄𝙴 𝙾𝚃𝚁𝙾 𝚄𝚂𝚄𝙰𝚁𝙸𝙾 𝚂𝙴 𝚄𝙽𝙰 𝙿𝙰𝚁𝙰 𝙸𝙽𝙸𝙲𝙸𝙰𝚁*\n\n*¿𝚀𝚄𝙸𝙴𝚁𝙴𝚂 𝚂𝙰𝙻𝙸𝚁 𝙳𝙴𝙻 𝙲𝙷𝙰𝚃 𝙰𝙽𝙾𝙽𝙸𝙼𝙾?*\n_𝙳𝙰 𝙲𝙻𝙸𝙲𝙺 𝙴𝙽 𝙴𝙻 𝚂𝙸𝙶𝚄𝙸𝙴𝙽𝚃𝙴 𝙱𝙾𝚃𝙾𝙽_', author, null, [['𝚂𝙰𝙻𝙸𝚁 𝙳𝙴𝙻 𝙲𝙷𝙰𝚃 𝙰𝙽𝙾𝙽𝙸𝙼𝙾', `.leave`]], m) +let room = Object.values(this.anonymous).find(room => room.state === 'WAITING' && !room.check(m.sender)) +if (room) { +await this.sendButton(room.a, '*[ ✔ ] 𝚄𝙽𝙰 𝙿𝙴𝚁𝚂𝙾𝙽𝙰 𝚂𝙴 𝙰𝙷 𝚄𝙽𝙸𝙳𝙾 𝙰𝙻 𝙲𝙷𝙰𝚃 𝙰𝙽𝙾𝙽𝙸𝙼𝙾, 𝙿𝚄𝙴𝙳𝙴𝙽 𝙸𝙽𝙸𝙲𝙸𝙰𝚁 𝙰 𝙲𝙷𝙰𝚃𝙴𝙰𝚁*', author, null, [['𝙸𝚁 𝙰 𝙾𝚃𝚁𝙾 𝙲𝙷𝙰𝚃', `.next`]], m) +room.b = m.sender +room.state = 'CHATTING' +await this.sendButton(m.chat, '*[ ✔ ] 𝚄𝙽𝙰 𝙿𝙴𝚁𝚂𝙾𝙽𝙰 𝚂𝙴 𝙰𝙷 𝚄𝙽𝙸𝙳𝙾 𝙰𝙻 𝙲𝙷𝙰𝚃 𝙰𝙽𝙾𝙽𝙸𝙼𝙾, 𝙿𝚄𝙴𝙳𝙴𝙽 𝙸𝙽𝙸𝙲𝙸𝙰𝚁 𝙰 𝙲𝙷𝙰𝚃𝙴𝙰𝚁*', author, null, [['𝙸𝚁 𝙰 𝙾𝚃𝚁𝙾 𝙲𝙷𝙰𝚃', `.next`]], m) +} else { +let id = + new Date +this.anonymous[id] = { +id, +a: m.sender, +b: '', +state: 'WAITING', +check: function (who = '') { +return [this.a, this.b].includes(who) +}, +other: function (who = '') { +return who === this.a ? this.b : who === this.b ? this.a : '' +}, +} +await this.sendButton(m.chat, '*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝚂𝙿𝙴𝚁𝙰𝙽𝙳𝙾 𝙰 𝙾𝚃𝚁𝙾 𝚄𝚂𝚄𝙰𝚁𝙸𝙾 𝙿𝙰𝚁𝙰 𝙸𝙽𝙸𝙲𝙸𝙰𝚁 𝙴𝙻 𝙲𝙷𝙰𝚃 𝙰𝙽𝙾𝙽𝙸𝙼𝙾*\n\n*¿𝚀𝚄𝙸𝙴𝚁𝙴𝚂 𝚂𝙰𝙻𝙸𝚁 𝙳𝙴𝙻 𝙲𝙷𝙰𝚃 𝙰𝙽𝙾𝙽𝙸𝙼𝙾?*\n_𝙳𝙰 𝙲𝙻𝙸𝙲𝙺 𝙴𝙽 𝙴𝙻 𝚂𝙸𝙶𝚄𝙸𝙴𝙽𝚃𝙴 𝙱𝙾𝚃𝙾𝙽_', author, null, [['𝚂𝙰𝙻𝙸𝚁 𝙳𝙴𝙻 𝙲𝙷𝙰𝚃 𝙰𝙽𝙾𝙽𝙸𝙼𝙾', `.leave`]], m) +} +break +}}} +handler.help = ['start', 'leave', 'next'] +handler.tags = ['anonymous'] +handler.command = ['start', 'leave', 'next'] +handler.private = true +export default handler diff --git a/plugins/plugins/anonymous_chat_.js.js b/plugins/plugins/anonymous_chat_.js.js new file mode 100644 index 0000000..7664bb7 --- /dev/null +++ b/plugins/plugins/anonymous_chat_.js.js @@ -0,0 +1,14 @@ +export async function before(m, { match }) { + // if (match) return !1 + if (!m.chat.endsWith('@s.whatsapp.net')) + return !0 + this.anonymous = this.anonymous ? this.anonymous : {} + let room = Object.values(this.anonymous).find(room => [room.a, room.b].includes(m.sender) && room.state === 'CHATTING') + if (room) { + if (/^.*(next|leave|start)/.test(m.text)) + return + let other = [room.a, room.b].find(user => user !== m.sender) + await m.copyNForward(other, true) + } + return !0 +} \ No newline at end of file diff --git a/plugins/plugins/audio-efectos.js b/plugins/plugins/audio-efectos.js new file mode 100644 index 0000000..c68e1b2 --- /dev/null +++ b/plugins/plugins/audio-efectos.js @@ -0,0 +1,44 @@ +import { unlinkSync, readFileSync } from 'fs' +import { join } from 'path' +import { exec } from 'child_process' + +let handler = async (m, { conn, args, __dirname, usedPrefix, command }) => { +try { +let q = m.quoted ? m.quoted : m +let mime = ((m.quoted ? m.quoted : m.msg).mimetype || '') +let set +if (/bass/.test(command)) set = '-af equalizer=f=94:width_type=o:width=2:g=30' +if (/blown/.test(command)) set = '-af acrusher=.1:1:64:0:log' +if (/deep/.test(command)) set = '-af atempo=4/4,asetrate=44500*2/3' +if (/earrape/.test(command)) set = '-af volume=12' +if (/fast/.test(command)) set = '-filter:a "atempo=1.63,asetrate=44100"' +if (/fat/.test(command)) set = '-filter:a "atempo=1.6,asetrate=22100"' +if (/nightcore/.test(command)) set = '-filter:a atempo=1.06,asetrate=44100*1.25' +if (/reverse/.test(command)) set = '-filter_complex "areverse"' +if (/robot/.test(command)) set = '-filter_complex "afftfilt=real=\'hypot(re,im)*sin(0)\':imag=\'hypot(re,im)*cos(0)\':win_size=512:overlap=0.75"' +if (/slow/.test(command)) set = '-filter:a "atempo=0.7,asetrate=44100"' +if (/smooth/.test(command)) set = '-filter:v "minterpolate=\'mi_mode=mci:mc_mode=aobmc:vsbmc=1:fps=120\'"' +if (/tupai|squirrel|chipmunk/.test(command)) set = '-filter:a "atempo=0.5,asetrate=65100"' +if (/audio/.test(mime)) { +let ran = getRandom('.mp3') +let filename = join(__dirname, '../tmp/' + ran) +let media = await q.download(true) +exec(`ffmpeg -i ${media} ${set} ${filename}`, async (err, stderr, stdout) => { +await unlinkSync(media) +if (err) throw `_*Error!*_` +let buff = await readFileSync(filename) +conn.sendFile(m.chat, buff, ran, null, m, true, { +type: 'audioMessage', +ptt: true +})}) +} else throw `*[❗𝐈𝐍𝐅𝐎❗] 𝚁𝙴𝚂𝙿𝙾𝙽𝙳𝙰 𝙰𝙻 𝙰𝚄𝙳𝙸𝙾 𝙾 𝙽𝙾𝚃𝙰 𝙳𝙴 𝚅𝙾𝚉 𝙴𝙻 𝙲𝚄𝙰𝙻 𝚂𝙴𝚁𝙰 𝙼𝙾𝙳𝙸𝙵𝙸𝙲𝙰𝙳𝙾, 𝚄𝚂𝙰𝙳𝙾 𝙴𝙻 𝙲𝙾𝙰𝙼𝙰𝙽𝙳𝙾 ${usedPrefix + command}*` +} catch (e) { +throw e +}} +handler.help = ['bass', 'blown', 'deep', 'earrape', 'fast', 'fat', 'nightcore', 'reverse', 'robot', 'slow', 'smooth', 'tupai'].map(v => v + ' [vn]') +handler.tags = ['audio'] +handler.command = /^(bass|blown|deep|earrape|fas?t|nightcore|reverse|robot|slow|smooth|tupai|squirrel|chipmunk)$/i +export default handler + +const getRandom = (ext) => { +return `${Math.floor(Math.random() * 10000)}${ext}`} diff --git a/plugins/plugins/autoreact.js b/plugins/plugins/autoreact.js new file mode 100644 index 0000000..8ace421 --- /dev/null +++ b/plugins/plugins/autoreact.js @@ -0,0 +1,17 @@ +//let handler = async (m, { conn }) => { +//let emot = pickRandom(["😺", "😸", "😹", "😻", "😼", "😽", "🙀", "😿", "😾", "🤩", "🥰", "😘", "😊", "🥳", "😏", "😳", "🥵", "🤯", "😱", "😨", "🤫", "🥴", "🤧", "🤑", "🤠", "🤖", "👾", "🎃", "👻", "🤡", "🤝", "💪", "👑", "🥶", "😚", "🐱", "🐈", "🐆", "🐅", "💫", "⭐️", "🌟", "✨", "⚡️", "🌈", "☃️", "⛄️", "🌝", "🌛", "🌜", "🍓", "🍎", "🍭", "🍩", "🍫", "🍧", "🚀", "🚅", "🚄", "🎈", "🪄", "🪅", "❤️", "🧡", "💛", "💚", "💙", "💜", "🖤", "🤍", "🤎", "💔", "❣️", "💕", "💞", "💓", "💗", "💖", "💘", "💝", "💟", "🌝", "😎", "👻", "🔥", "🖕", "🐦"]) +//conn.sendMessage(m.chat, { +//react: { +//text: emot, +//key: m.key +// } +// }) + +//} +//handler.customPrefix = /(eng)/i +//handler.command = new RegExp + + + //export default handler +//function pickRandom(list) { +//return list[Math.floor(Math.random() * list.length)]} diff --git "a/plugins/plugins/a\303\261adirdiamantes.js" "b/plugins/plugins/a\303\261adirdiamantes.js" new file mode 100644 index 0000000..3d1b901 --- /dev/null +++ "b/plugins/plugins/a\303\261adirdiamantes.js" @@ -0,0 +1,28 @@ +import MessageType from '@adiwajshing/baileys' + let pajak = 0 + let handler = async (m, { conn, text }) => { + let who + if (m.isGroup) who = m.mentionedJid[0] + else who = m.chat + if (!who) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝚃𝙸𝚀𝚄𝙴𝚃𝙰 𝙰 𝚄𝙽 𝚄𝚂𝚄𝙰𝚁𝙸𝙾 𝙲𝙾𝙽 𝙴𝙻 @𝚝𝚊𝚐*' + let txt = text.replace('@' + who.split`@`[0], '').trim() + if (!txt) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝙸𝙽𝙶𝚁𝙴𝚂𝙰 𝙻𝙰 𝙲𝙰𝙽𝚃𝙸𝙳𝙰𝙳 𝙳𝙴 𝙳𝙸𝙰𝙼𝙰𝙽𝚃𝙴𝚂 𝚀𝚄𝙴 𝙳𝙴𝚂𝙴𝙰 𝙰𝙽̃𝙰𝙳𝙸𝚁*' + if (isNaN(txt)) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝚂𝙸𝙼𝙱𝙾𝙻𝙾 𝙽𝙾 𝙰𝙳𝙼𝙸𝚃𝙸𝙳𝙾, 𝚂𝙾𝙻𝙾 𝙽𝚄𝙼𝙴𝚁𝙾𝚂!*' + let dmt = parseInt(txt) + let limit = dmt + let pjk = Math.ceil(dmt * pajak) + limit += pjk + if (limit < 1) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝙻 𝙽𝚄𝙼𝙴𝚁𝙾 𝙼𝙸𝙽𝙸𝙼𝙾 𝙳𝙴 𝙳𝙸𝙰𝙼𝙰𝙽𝚃𝙴𝚂 𝙿𝙰𝚁𝙰 𝙰𝙽̃𝙰𝙳𝙸𝚁 𝙴𝚂 𝟷*' + let users = global.db.data.users + users[who].limit += dmt + m.reply(`≡🔥 DIAMANTES AÑADIDOS🔥 + ╭══• ೋ•✧๑🏮๑✧•ೋ •══╮ + ├🍃 𝚃𝚘𝚝𝚊𝚕:${dmt} + ╰══• ೋ•✧๑🏮๑✧•ೋ •══╯ +𝚩𝐘:🔥𝗥𝗲𝗻𝗴𝗼𝗸𝘂_𝗕𝗼𝘁🔥`) + } + handler.help = ['adddi <@user>'] + handler.tags = ['xp'] + handler.command = ['añadirdiamantes']  + handler.rowner = true + export default handler \ No newline at end of file diff --git a/plugins/plugins/boost.js b/plugins/plugins/boost.js new file mode 100644 index 0000000..a1e65a8 --- /dev/null +++ b/plugins/plugins/boost.js @@ -0,0 +1,28 @@ +import { performance } from 'perf_hooks' +let handler = async (m, { conn, text }) => { +let start = `卐🏎Empezando aceleración... aguarde un momento🏎卐` +let boost = `${pickRandom(['0','1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20'])}%` +let boost2 = `${pickRandom(['21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','36','37','38','39','40'])}%` +let boost3 = `${pickRandom(['41','42','43','44','45','46','47','48','49','50','51','52','53','54','55','56','57','58','59','60'])}%` +let boost4 = `${pickRandom(['61','62','63','64','65','66','67','68','69','70','71','72','73','74','75','76','77','78','79','80'])}%` +let boost5 = `${pickRandom(['81','82','83','84','85','86','87','88','89','90','91','92','93','94','95','96','97','98','99','100'])}%` +await m.reply(start) +await m.reply(boost) +await m.reply(boost2) +await m.reply(boost3) +await m.reply(boost4) +await m.reply(boost5) +let old = performance.now() +let neww = performance.now() +let speed = `${neww - old}` +let finish = `*_卐✔️ Bot acelerado con éxito_*\n\n*_Acelerado: ${speed} segundos卐_*` +conn.reply(m.chat, finish, m) +} +handler.help = ['boost', 'refresh'] +handler.tags = ['fun'] +handler.command = /^boost|refresh/i +handler.rowner = true +export default handler + +function pickRandom(list) { +return list[Math.floor(Math.random() * list.length)]} \ No newline at end of file diff --git a/plugins/plugins/buscador-animeinfo.js b/plugins/plugins/buscador-animeinfo.js new file mode 100644 index 0000000..0c45fce --- /dev/null +++ b/plugins/plugins/buscador-animeinfo.js @@ -0,0 +1,46 @@ +import translate from 'translate-google-api' +import fetch from 'node-fetch' +import cheerio from 'cheerio' +let handler = async (m, { conn, text }) => { +if (!text) throw `*[❗𝐈𝐍𝐅𝐎❗] 𝙸𝙽𝙶𝚁𝙴𝚂𝙴 𝙴𝙻 𝙽𝙾𝙼𝙱𝚁𝙴 𝙳𝙴𝙻 𝙰𝙻𝙶𝚄𝙽 𝙰𝙽𝙸𝙼𝙴 𝚀𝚄𝙴 𝙳𝙴𝚂𝙴𝙴 𝙱𝚄𝚂𝙲𝙰𝚁*` +try { +let res = await fetch(global.API('https://api.jikan.moe', '/v3/search/anime', { q: text })) +if (!res.ok) throw await res.text() +let json = await res.json() +let { title, members, synopsis, episodes, url, rated, score, image_url, type, start_date, end_date, mal_id } = json.results[0] +let res2 = await fetch(`https://myanimelist.net/anime/${mal_id}`) +if (!res2.ok) throw await res2.text() +let html = await res2.text() +const tld = 'cn' +let resultes = await translate(`${synopsis}`, { tld, to: 'es', }) +let animeingfo = `✨ *Titulo:* ${title} +🎆 *Episodios:* ${episodes} +💬 *Transmitido en:* ${type} +💌 *Rating:* ${rated} +❤️ *Score:* ${score} +👥 *Miembros:* ${members} +💚 *Sinopsis:* ${resultes} +🌐 *URL*: ${url}` +conn.sendFile(m.chat, image_url, '', animeingfo, m) +} catch { +let res = await fetch(global.API('https://api.jikan.moe', '/v3/search/anime', { q: text })) +if (!res.ok) throw await res.text() +let json = await res.json() +let { title, members, synopsis, episodes, url, rated, score, image_url, type, start_date, end_date, mal_id } = json.results[0] +let res2 = await fetch(`https://myanimelist.net/anime/${mal_id}`) +if (!res2.ok) throw await res2.text() +let html = await res2.text() +let animeingfo = `✨ *Titulo:* ${title} +🎆 *Episodios:* ${episodes} +💬 *Transmitido en:* ${type} +💌 *Rating:* ${rated} +❤️ *Score:* ${score} +👥 *Miembros:* ${members} +💚 *Sinopsis:* ${synopsis} +🌐 *URL*: ${url}` +conn.sendFile(m.chat, image_url, '', animeingfo, m) +}} +handler.help = ['animeinfo '] +handler.tags = ['internet'] +handler.command = /^(animeinfo)$/i +export default handler diff --git a/plugins/plugins/buscador-apk.js b/plugins/plugins/buscador-apk.js new file mode 100644 index 0000000..b8ec9d7 --- /dev/null +++ b/plugins/plugins/buscador-apk.js @@ -0,0 +1,124 @@ +import { googleImage } from '@bochilteam/scraper' +import fetch from 'node-fetch' +import fs from 'fs' +let handler = async (m, {text, usedPrefix, command, conn}) => { +if (!text) throw `*[❗] 𝙸𝙽𝙶𝚁𝙴𝙴𝚂𝙴 𝙴𝙻 𝙽𝙾𝙼𝙱𝚁𝙴 𝙳𝙴 𝙻𝙰 𝙰𝙿𝙺 𝚀𝚄𝙴 𝚀𝚄𝙸𝙴𝚁𝙰 𝙱𝚄𝚂𝙲𝙰𝚁*` +const res = await googleImage(text) +let image = res.getRandom() +let link = image + +if (command == 'apkdone') { +let json = await fetch(`https://dhn-api.herokuapp.com/api/apk/apkdone?apps=${text}&apikey=4ca83deeb14d61d16cf0`) +let jsons = await json.json() +let caption = `*⎔┉━「 ${command} 」━┉⎔*\n` +for (let x of jsons.result) { +caption += ` +*𝙽𝙾𝙼𝙱𝚁𝙴:* *${x.apps_name}* +*𝙻𝙸𝙽𝙺:* ${x.apps_linkdl} +*𝚅𝙴𝚁𝚂𝙸𝙾𝙽:* ${x.apps_version} +`} +await conn.sendFile(m.chat, link, 'error.mp3', caption, m)} +//await conn.reply(m.chat, caption, m)} + +if (command == 'apkgoogle') { +let json = await fetch(`https://dhn-api.herokuapp.com/api/apk/apkgoogle?apps=${text}&apikey=4ca83deeb14d61d16cf0`) +let jsons = await json.json() +let caption = `*⎔┉━「 ${command} 」━┉⎔*\n` +for (let x of jsons.result) { +caption += ` +*𝙽𝙾𝙼𝙱𝚁𝙴:* *${x.apps_name}* +*𝙻𝙸𝙽𝙺:* ${x.apps_linkdl} +`} +await conn.sendFile(m.chat, link, 'error.mp3', caption, m)} +//await conn.reply(m.chat, caption, m)} + +if (command == 'apkmody') { +let json = await fetch(`https://dhn-api.herokuapp.com/api/apk/apkmody?apps=${text}&apikey=4ca83deeb14d61d16cf0`) +let jsons = await json.json() +let caption = `*⎔┉━「 ${command} 」━┉⎔*\n` +for (let x of jsons.result) { +caption += ` +*𝙽𝙾𝙼𝙱𝚁𝙴:* *${x.apps_name}* +*𝙻𝙸𝙽𝙺:* ${x.apps_linkdl} +*𝙳𝙴𝚂𝙲:* ${x.desc} +`} +await conn.sendFile(m.chat, link, 'error.mp3', caption, m)} +//await conn.reply(m.chat, caption, m)} + +if (command == 'apkshub') { +let json = await fetch(`https://dhn-api.herokuapp.com/api/apk/apkshub?apps=${text}&apikey=4ca83deeb14d61d16cf0`) +let jsons = await json.json() +let caption = `*⎔┉━「 ${command} 」━┉⎔*\n` +for (let x of jsons.result) { +caption += ` +*𝙽𝙾𝙼𝙱𝚁𝙴:* *${x.apps_name}* +*𝙻𝙸𝙽𝙺:* ${x.apps_linkdl} +`} +await conn.sendFile(m.chat, link, 'error.mp3', caption, m)} +//await conn.reply(m.chat, caption, m)} + +if (command == 'happymod') { +let json = await fetch(`https://dhn-api.herokuapp.com/api/apk/happymod?apps=${text}&apikey=4ca83deeb14d61d16cf0`) +let jsons = await json.json() +let caption = `*⎔┉━「 ${command} 」━┉⎔*\n` +for (let x of jsons.result) { +caption += ` +*𝙽𝙾𝙼𝙱𝚁𝙴:* *${x.apps_name}* +*𝙻𝙸𝙽𝙺:* ${x.apps_linkdl} +`} +await conn.sendFile(m.chat, link, 'error.mp3', caption, m)} +//await conn.reply(m.chat, caption, m)} + +if (command == 'hostapk') { +let json = await fetch(`https://dhn-api.herokuapp.com/api/apk/hostapk?apps=${text}&apikey=4ca83deeb14d61d16cf0`) +let jsons = await json.json() +let caption = `*⎔┉━「 ${command} 」━┉⎔*\n` +for (let x of jsons.result) { +caption += ` +*𝙽𝙾𝙼𝙱𝚁𝙴:* *${x.apps_name}* +*𝙻𝙸𝙽𝙺:* ${x.apps_linkdl} +*𝙳𝙴𝚂𝙲:* ${x.apps_desc} +`} +await conn.sendFile(m.chat, link, 'error.mp3', caption, m)} +//await conn.reply(m.chat, caption, m)} + +if (command == 'revdl') { +let json = await fetch(`https://dhn-api.herokuapp.com/api/apk/revdl?apps=${text}&apikey=4ca83deeb14d61d16cf0`) +let jsons = await json.json() +let caption = `*⎔┉━「 ${command} 」━┉⎔*\n` +for (let x of jsons.result) { +caption += ` +*𝙽𝙾𝙼𝙱𝚁𝙴:* *${x.apps_name}* +*𝙻𝙸𝙽𝙺:* ${x.apps_linkdl} +`} +await conn.sendFile(m.chat, link, 'error.mp3', caption, m)} +//await conn.reply(m.chat, caption, m)} + +if (command == 'toraccino') { +let json = await fetch(`https://dhn-api.herokuapp.com/api/apk/toraccino?apps=${text}&apikey=4ca83deeb14d61d16cf0`) +let jsons = await json.json() +let caption = `*⎔┉━「 ${command} 」━┉⎔*\n` +for (let x of jsons.result) { +caption += ` +*𝙽𝙾𝙼𝙱𝚁𝙴:* *${x.apps_name}* +*𝙻𝙸𝙽𝙺:* ${x.apps_linkdl} +*𝙳𝙴𝚂𝙲:* ${x.apps_desc} +`} +await conn.sendFile(m.chat, link, 'error.mp3', caption, m)} +//await conn.reply(m.chat, caption, m)} + +if (command == 'uapkpro') { +let json = await fetch(`https://dhn-api.herokuapp.com/api/apk/uapkpro?apps=${text}&apikey=4ca83deeb14d61d16cf0`) +let jsons = await json.json() +let caption = `*⎔┉━「 ${command} 」━┉⎔*\n` +for (let x of jsons.result) { +caption += ` +*𝙽𝙾𝙼𝙱𝚁𝙴:* *${x.apps_name}* +*𝙻𝙸𝙽𝙺:* ${x.apps_linkdl} +`} +await conn.sendFile(m.chat, link, 'error.mp3', caption, m)} +//await conn.reply(m.chat, caption, m)} + +} +handler.command = ['apkdone', 'apkgoogle', 'apkmody', 'apkshub', 'happymod', 'hostapk', 'revdl', 'toraccino', 'uapkpro'] +export default handler diff --git a/plugins/plugins/buscador-google.js b/plugins/plugins/buscador-google.js new file mode 100644 index 0000000..bbec3cc --- /dev/null +++ b/plugins/plugins/buscador-google.js @@ -0,0 +1,27 @@ +import { googleIt } from '@bochilteam/scraper' +let handler = async (m, { conn, command, args }) => { +const fetch = (await import('node-fetch')).default +let full = /f$/i.test(command) +let text = args.join` ` +if (!text) return conn.reply(m.chat, '*[❗𝐈𝐍𝐅𝐎❗] 𝙸𝙽𝙶𝚁𝙴𝚂𝙴 𝙴𝙻 𝚃𝙴𝚇𝚃𝙾 𝙾 𝚃𝙴𝙼𝙰 𝚀𝚄𝙴 𝙳𝙴𝚂𝙴𝙴 𝙱𝚄𝚂𝙲𝙰𝚁*', m) +let url = 'https://google.com/search?q=' + encodeURIComponent(text) +let search = await googleIt(text) +let msg = search.articles.map(({ +// header, +title, +url, +description +}) => { +return `*${title}*\n_${url}_\n_${description}_` +}).join('\n\n') +try { +let ss = await (await fetch(global.API('nrtm', '/api/ssweb', { delay: 1000, url, full }))).arrayBuffer() +if (//i.test(ss.toBuffer().toString())) throw '' +await conn.sendFile(m.chat, ss, 'error.png', url + '\n\n' + msg, m) +} catch (e) { +m.reply(msg) +}} +handler.help = ['google', 'googlef'].map(v => v + ' ') +handler.tags = ['internet'] +handler.command = /^googlef?$/i +export default handler diff --git a/plugins/plugins/buscador-lyrics.js b/plugins/plugins/buscador-lyrics.js new file mode 100644 index 0000000..e0b9fd8 --- /dev/null +++ b/plugins/plugins/buscador-lyrics.js @@ -0,0 +1,37 @@ +import fetch from 'node-fetch' +import { lyrics, lyricsv2 } from '@bochilteam/scraper' +import { googleImage } from '@bochilteam/scraper' +let handler = async (m, { conn, text, usedPrefix, command }) => { +let teks = text ? text : m.quoted && m.quoted.text ? m.quoted.text : '' +if (!teks) throw `*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝙹𝙴𝙼𝙿𝙻𝙾 𝙳𝙴 𝚄𝚂𝙾 𝙲𝙾𝚁𝚁𝙴𝙲𝚃𝙾 𝙳𝙴𝙻 𝙲𝙾𝙼𝙰𝙽𝙳𝙾: ${usedPrefix + command} beret ojala*` +try { +const result = await lyricsv2(teks).catch(async _ => await lyrics(teks)) +let res = await fetch(global.API('https://some-random-api.ml', '/lyrics', { +title: result.author + result.title})) +if (!res.ok) throw await res.text() +let json = await res.json() +if (!json.thumbnail.genius) throw json + + +let letratexto =` +𝐓𝐈𝐓𝐔𝐋𝐎: *${result.title}* +𝐀𝐔𝐓𝐎𝐑 ${result.author} + + +${result.lyrics} + + +𝐔𝐑𝐋 ${result.link} +`.trim() +conn.sendHydrated(m.chat, letratexto, wm, json.thumbnail.genius, null, null, null, null, [ +['𝙳𝙴𝚂𝙲𝙰𝚁𝙶𝙰𝚁 𝙰𝚄𝙳𝙸𝙾', `/play.1 ${text}`], +['𝙳𝙴𝚂𝙲𝙰𝚁𝙶𝙰𝚁 𝚅𝙸𝙳𝙴𝙾', `/play.2 ${text}`] +], m) +} catch (e) { +m.reply('*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝚁𝚁𝙾𝚁, 𝙿𝙾𝚁 𝙵𝙰𝚅𝙾𝚁 𝚅𝚄𝙴𝙻𝚅𝙰 𝙰 𝙸𝙽𝚃𝙴𝙽𝚃𝙰𝚁𝙻𝙾*') +console.log(e) +}} +handler.help = ['lirik','letra'].map(v => v + ' ') +handler.tags = ['internet'] +handler.command = /^(lirik|lyrics|lyric|letra)$/i +export default handler diff --git a/plugins/plugins/buscador-playstore.js b/plugins/plugins/buscador-playstore.js new file mode 100644 index 0000000..8adf983 --- /dev/null +++ b/plugins/plugins/buscador-playstore.js @@ -0,0 +1,29 @@ +import fetch from 'node-fetch' +import translate from 'translate-google-api' +let handler = async (m, { conn, text, args }) => { +if (!args[0]) throw `*[❗] 𝙸𝙽𝙶𝚁𝙴𝙴𝚂𝙴 𝙴𝙻 𝙽𝙾𝙼𝙱𝚁𝙴 𝙳𝙴 𝙻𝙰 𝙰𝙿𝙺 𝚀𝚄𝙴 𝚀𝚄𝙸𝙴𝚁𝙰 𝙱𝚄𝚂𝙲𝙰𝚁*` +const tld = 'cn' +let enc = encodeURIComponent(text) +try { +let json = await fetch(`https://latam-api.vercel.app/api/playstore?apikey=brunosobrino&q=${enc}`) +let gPlay = await json.json() +let mystic = await translate(`${gPlay.descripcion}`, { tld, to: 'es' }) +if (!gPlay.titulo) return m.reply(`[ ! ] Sin resultados`) +conn.sendMessage(m.chat,{image:{url: gPlay.imagen},caption:`🔍 Resultado: ${gPlay.titulo} +🧬 Identificador: ${gPlay.id} +⛓️ Link: ${gPlay.link} +🖼️ Imagen: ${gPlay.imagen} +✍️ Desarrollador: ${gPlay.desarrollador} +📜 Descripcion: ${mystic} +💲 Moneda: ${gPlay.moneda} +🎭 Gratis?: ${gPlay.gratis} +💸 Precio: ${gPlay.precio} +📈 Puntuacion: ${gPlay.puntuacion}`},{quoted:m}) +} catch (e) { +m.reply('*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝚁𝚁𝙾𝚁, 𝙿𝙾𝚁 𝙵𝙰𝚅𝙾𝚁 𝚅𝚄𝙴𝙻𝚅𝙰 𝙰 𝙸𝙽𝚃𝙴𝙽𝚃𝙰𝚁𝙻𝙾*') +console.log(e) +}} +handler.help = ['playstore '] +handler.tags = ['internet'] +handler.command = /^(playstore)$/i +export default handler \ No newline at end of file diff --git a/plugins/plugins/buscador-stickersearch.js b/plugins/plugins/buscador-stickersearch.js new file mode 100644 index 0000000..3c25514 --- /dev/null +++ b/plugins/plugins/buscador-stickersearch.js @@ -0,0 +1,37 @@ +/* Created By https://github.com/ALBERTO9883 */ +import fetch from 'node-fetch' +import fs from 'fs' +let handler = async (m, {text, usedPrefix, command, conn}) => { +let sfoto = fs.readFileSync('./Menu2.jpg') +if (!text) throw `*[❗] 𝙸𝙽𝙶𝚁𝙴𝚂𝙴 𝙴𝙻 𝙽𝙾𝙼𝙱𝚁𝙴 𝙳𝙴𝙻 𝙿𝙰𝚀𝚄𝙴𝚃𝙴 𝚀𝚄𝙴 𝙳𝙴𝚂𝙴𝙴 𝙱𝚄𝚂𝙲𝙰𝚁*` +let json = await fetch(`https://api.zacros.my.id/search/sticker?query=${text}`) +let jsons = await json.json() + let res = jsons.result.map((v, index) => `*🪴 • 𝚁𝙴𝚂𝚄𝙻𝚃𝙰𝙳𝙾:* ${1 + index}\n*🌵 • 𝙽𝙾𝙼𝙱𝚁𝙴:* ${v.title}\n*🍂 • 𝚄𝚁𝙻:* ${v.url}`).join`\n\n─────────────────────\n\n` +var doc = ['pdf','zip','vnd.openxmlformats-officedocument.presentationml.presentation','vnd.openxmlformats-officedocument.spreadsheetml.sheet','vnd.openxmlformats-officedocument.wordprocessingml.document'] +var document = doc[Math.floor(Math.random() * doc.length)] +let buttonMessage= { +'document': { url: `https://github.com/BrunoSobrino/TheMystic-Bot-MD` }, +'mimetype': `application/${document}`, +'fileName': `「 𝑯𝒆𝒍𝒍𝒐 𝑾𝒐𝒓𝒍𝒅 」`, +'fileLength': 99999999999999, +'pageCount': 200, +'contextInfo': { +'forwardingScore': 200, +'isForwarded': true, +'externalAdReply': { +'mediaUrl': 'https://github.com/BrunoSobrino/TheMystic-Bot-MD', +'mediaType': 2, +'previewType': 'pdf', +'title': `• Resultados Encontrados🔎`, +'body': wm, +'thumbnail': sfoto, +'sourceUrl': 'https://www.youtube.com/channel/UCSTDMKjbm-EmEovkygX-lCA'}}, +'caption': res, +'footer': `• 𝚂𝙸 𝙳𝙴𝚂𝙴𝙰 𝙳𝙴𝚂𝙲𝙰𝚁𝙶𝙰𝚁 𝚄𝙽\n*𝙿𝙰𝚀𝚄𝙴𝚃𝙴 𝙳𝙴 𝚂𝚃𝙸𝙲𝙺𝙴𝚁𝚂*\n*𝙴𝚂𝙲𝚁𝙸𝙱𝙰 ${usedPrefix}stickerpack *`, +'buttons':[ +{buttonId: `${usedPrefix}menu`, buttonText: {displayText: '𝙼𝙴𝙽𝚄'}, type: 1}], +'headerType': 6 } +conn.sendMessage(m.chat, buttonMessage, { quoted: m }) +} +handler.command = ['stickersearch', 'searchsticker', 'stickerssearch', 'searchstickers'] +export default handler diff --git a/plugins/plugins/buscador-wikipedia.js b/plugins/plugins/buscador-wikipedia.js new file mode 100644 index 0000000..900a92d --- /dev/null +++ b/plugins/plugins/buscador-wikipedia.js @@ -0,0 +1,35 @@ +import axios from "axios" +import fetch from "node-fetch" +import cheerio from "cheerio" +async function wikipedia(querry) { +try { +const link = await axios.get(`https://es.wikipedia.org/wiki/${querry}`) +const $ = cheerio.load(link.data) +let judul = $('#firstHeading').text().trim() +let thumb = $('#mw-content-text').find('div.mw-parser-output > div:nth-child(1) > table > tbody > tr:nth-child(2) > td > a > img').attr('src') || `//i.ibb.co/nzqPBpC/http-error-404-not-found.png` +let isi = [] +$('#mw-content-text > div.mw-parser-output').each(function (rayy, Ra) { +let penjelasan = $(Ra).find('p').text().trim() +isi.push(penjelasan)}) +for (let i of isi) { +const data = { +status: link.status, +result: { +judul: judul, +thumb: 'https:' + thumb, +isi: i}} +return data} +} catch (err) { +var notFond = { +status: link.status, +Pesan: eror} +return notFond}} +let handler = async (m, { conn, text, usedPrefix, command }) => { +if (!text) throw `*[❗️𝐈𝐍𝐅𝐎❗️] 𝙴𝚂𝚃𝙰𝚂 𝚄𝚂𝙰𝙽𝙳𝙾 𝙼𝙰𝙻 𝙴𝙻 𝙲𝙾𝙼𝙰𝙽𝙳𝙾!!*\n*𝚄𝚂𝙾 𝙲𝙾𝚁𝚁𝙴𝙲𝚃𝙾:*\n*${usedPrefix + command} 𝙿𝚊𝚕𝚊𝚋𝚛𝚊 𝚌𝚕𝚊𝚟𝚎 𝚊 𝚋𝚞𝚜𝚌𝚊𝚛*\n\n*𝙴𝙹𝙴𝙼𝙿𝙻𝙾:*\n*${usedPrefix + command} Estrellas*` +wikipedia(`${text}`).then(res => { +m.reply(`*𝙰𝚀𝚄𝙸 𝚃𝙸𝙴𝙽𝙴𝚂 𝙻𝙰 𝙸𝙽𝙵𝙾𝚁𝙼𝙰𝙲𝙸𝙾𝙽 𝙴𝙽𝙲𝙾𝙽𝚃𝚁𝙰𝙳𝙰:*\n\n` + res.result.isi) +}).catch(() => { m.reply('*[❗️𝐈𝐍𝐅𝐎❗️] 𝙽𝙾 𝚂𝙴 𝙴𝙽𝙲𝙾𝙽𝚃𝚁𝙾 𝙽𝙸𝙽𝙶𝚄𝙽𝙰 𝙸𝙽𝙵𝙾𝚁𝙼𝙰𝙲𝙸𝙾𝙽, 𝙿𝚁𝚄𝙴𝙱𝙰 𝚀𝚄𝙴 𝙷𝙰𝚈𝙰𝚂 𝙴𝚂𝙲𝚁𝙸𝚃𝙾 𝚄𝙽𝙰 𝚂𝙾𝙻𝙰 𝙿𝙰𝙻𝙰𝙱𝚁𝙰 𝚈 𝙻𝙾 𝙷𝙰𝚈𝙰𝚂 𝙴𝚂𝙲𝚁𝙸𝚃𝙾 𝙲𝙾𝚁𝚁𝙴𝙲𝚃𝙰𝙼𝙴𝙽𝚃𝙴*') })} +handler.help = ['wikipedia'].map(v => v + ' ') +handler.tags = [ 'internet'] +handler.command = /^(wiki|wikipedia)$/i +export default handler diff --git a/plugins/plugins/buscador-yts.js b/plugins/plugins/buscador-yts.js new file mode 100644 index 0000000..7e6e321 --- /dev/null +++ b/plugins/plugins/buscador-yts.js @@ -0,0 +1,25 @@ +import { youtubeSearch } from '@bochilteam/scraper' +let handler = async (m, { text }) => { +if (!text) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝙸𝙽𝚂𝙴𝚁𝚃𝙴 𝙴𝙻 𝙽𝙾𝙼𝙱𝚁𝙴 𝙳𝙴 𝙰𝙻𝙶𝚄𝙽 𝚅𝙸𝙳𝙴𝙾 𝙾 𝙲𝙰𝙽𝙰𝙻 𝙳𝙴 𝚈𝙾𝚄𝚃𝚄𝙱𝙴*' +const { video, channel } = await youtubeSearch(text) +let teks = [...video, ...channel].map(v => { +switch (v.type) { +case 'video': return ` +📌 *${v.title}* (${v.url}) +⌚ 𝙳𝚞𝚛𝚊𝚌𝚒𝚘𝚗: ${v.durationH} +⏲️ 𝙿𝚞𝚋𝚕𝚒𝚌𝚊𝚍𝚘 ${v.publishedTime} +👁️ ${v.view} 𝚟𝚒𝚜𝚝𝚊𝚜 +`.trim() +case 'channel': return ` +📌 *${v.channelName}* (${v.url}) +🧑‍🤝‍🧑 _${v.subscriberH} 𝚜𝚞𝚜𝚌𝚛𝚒𝚙𝚝𝚘𝚛𝚎𝚜_ +🎥 ${v.videoCount} 𝚟𝚒𝚍𝚎𝚘𝚜 +`.trim() +} +}).filter(v => v).join('\n\n========================\n\n') +m.reply(teks) +} +handler.help = ['', 'earch'].map(v => 'yts' + v + ' ') +handler.tags = ['tools'] +handler.command = /^yts(earch)?$/i +export default handler diff --git a/plugins/plugins/captura.js b/plugins/plugins/captura.js new file mode 100644 index 0000000..b26699a --- /dev/null +++ b/plugins/plugins/captura.js @@ -0,0 +1,16 @@ +import fetch from 'node-fetch' + +let handler = async (m, { conn, text, usedPrefix, command, args }) => { + let full = /f$/i.test(command) + if (!text) throw `*🏮 Ingrese el link de una página para hacer una captura*\n\n* Ejemplo:*\n ${usedPrefix + command} https://billing.acidicnodes.ml/register?ref=b09XMrci` + conn.reply(m.chat, global.wait, m) + let url = /https?:\/\//.test(args[0]) ? args[0] : 'https://' + args[0] + let ss = await (await fetch(global.API('nrtm', '/api/ssweb', { delay: 1000, url, full }))).buffer() + conn.sendFile(m.chat, ss, 'Error.png', '*🏮 Captura de la Pagina🏮*', m) +} + +handler.help = ['captura'] +handler.tags = ['tools'] +handler.command = /^(ssweb|ss|cap|screenshot|captura)$/i + +export default handler \ No newline at end of file diff --git a/plugins/plugins/chat-chatbot.js b/plugins/plugins/chat-chatbot.js new file mode 100644 index 0000000..c016aa9 --- /dev/null +++ b/plugins/plugins/chat-chatbot.js @@ -0,0 +1,45 @@ +//▪CÓDIGO BY ALBERTO9883 PRROS XD▪ +//▪NyanCatBot - MD▪ + +import MessageType from '@adiwajshing/baileys' +import util from 'util' +import fs from 'fs' +import path from 'path' +import fetch from 'node-fetch' + +let handler = m => m + +handler.before = async function (m, { conn, command, MessageType, text, usedPrefix }) { +let who = m.mentionedJid && m.mentionedJid[0] ? m.mentionedJid[0] : m.fromMe ? conn.user.jid : m.sender +let user = global.db.data.users[who] +let fkowner = { "key": {"participants":"0@s.whatsapp.net", "remoteJid": "status@broadcast", "fromMe": false, "id": "Halo"}, "message": { "contactMessage": { "vcard": `BEGIN:VCARD\nVERSION:3.0\nN:Sy;Bot;;;\nFN:y\nitem1.TEL;waid=${m.sender.split('@')[0]}:${m.sender.split('@')[0]}\nitem1.X-ABLabel:Ponsel\nEND:VCARD` }}, "participant": "0@s.whatsapp.net"} + +if ((m.isBaileys && m.fromMe) || m.fromMe ) return true + +//━━━━━━━━◜🌾Textos🌾◞━━━━━━━━ +let texto1A = /hola/i +let texto1B = texto1A.exec(m.text) + +let texto2A = /si sirve|Si sirve|ci sirve|Ci sirve/i +let texto2B = texto2A.exec(m.text) +//━━━━━━━━━━━━━━━━━━━━━━━ + + +//━━━━━━━◜🍁Respuestas🍁◞━━━━━━━ +if (texto1B) { +await conn.sendPresenceUpdate('composing', m.chat) + conn.reply(m.chat, `Hola señore @${who.split("@s.whatsapp.net")[0]}`, fkowner, { mentions: [who]}) + } + +if (texto2B) { +await conn.sendPresenceUpdate('composing', m.chat) + conn.reply(m.chat, `Genial :D`, m) + } +//━━━━━━━━━━━━━━━━━━━━━━━ + + +} + +export default handler +function pickRandom(list) { +return list[Math.floor(Math.random() * list.length)]} \ No newline at end of file diff --git a/plugins/plugins/code-getcode.js b/plugins/plugins/code-getcode.js new file mode 100644 index 0000000..27e63c7 --- /dev/null +++ b/plugins/plugins/code-getcode.js @@ -0,0 +1,24 @@ +import fs from 'fs'; + +let handler = async (m, {text, conn, args, usedPrefix, command }) => { + + function message(text) { + conn.sendMessage(m.chat, { text: `${text}` }, {quoted: m}) + } + + try { + if (! text) { + message(`╭═卐══• ⛩️•PLUGINS•⛩️ •══卐═╮\n\n𓆩❌𓆪 Hey! Esta no es la manera correcta de usar *${usedPrefix}getcode*. La manera correcta de usarla es *${usedPrefix}getcode + *! Ejemplo: *${usedPrefix}getcode /plugins/code-getcode.js*.\n\n╰═卐══• ⛩️•PLUGINS•⛩️ •══卐═╯`) + } else { + conn.sendFile(m.chat, `.${args[0]}`, null, { quoted: m }) + message(`╭═卐══• ⛩️•PLUGINS•⛩️ •══卐═╮\n\n𓆩✅𓆪 Aqui esta el archivo en la ruta ' *${args[0]}* '! Algun error? Reportalo abriendo una issue en GitHub!\n\n╰═卐══• ⛩️•PLUGINS•⛩️ •══卐═╯`) + } + } catch(error) { + message(`╭═卐══• ⛩️•PLUGINS•⛩️ •══卐═╮\n\n𓆩❌𓆪 Ha ocurrido un error "${error}". Por favor, abra una issue en GitHub para reportar el error.\n\n╰═卐══• ⛩️•PLUGINS•⛩️ •══卐═╯`) + } +} + +handler.help = ['getcode + '] +handler.tags = ['tools'] +handler.command = ['getcode'] +export default handler \ No newline at end of file diff --git a/plugins/plugins/config-enable.js b/plugins/plugins/config-enable.js new file mode 100644 index 0000000..84e26b7 --- /dev/null +++ b/plugins/plugins/config-enable.js @@ -0,0 +1,279 @@ +let handler = async (m, { conn, usedPrefix, command, args, isOwner, isAdmin, isROwner }) => { +const sections = [ +{ +title: `𝐋𝐈𝐒𝐓𝐀 𝐃𝐄 𝐎𝐏𝐂𝐈𝐎𝐍𝐄𝐒`, +rows: [ +{title: "✨ | 𝚆𝙴𝙻𝙲𝙾𝙼𝙴", description: "𝙰𝙲𝚃𝙸𝚅𝙰 𝙾 𝙳𝙴𝚂𝙰𝙲𝚃𝙸𝚅𝙰 𝙻𝙰 𝙱𝙸𝙴𝙽𝚅𝙴𝙽𝙸𝙳𝙰 𝙴𝙽 𝙴𝙻 𝙶𝚁𝚄𝙿𝙾", rowId: `${usedPrefix + command} welcome`}, +{title: "🌎 | 𝙼𝙾𝙳𝙾 𝙿𝚄𝙱𝙻𝙸𝙲𝙾", description: "𝙴𝙻 𝙱𝙾𝚃 𝚂𝙴 𝚅𝚄𝙴𝙻𝚅𝙴 𝙳𝙴 𝚄𝚂𝙾 𝙿𝚄𝙱𝙻𝙸𝙲𝙾 𝚈/𝙾 𝙿𝚁𝙸𝚅𝙰𝙳𝙾", rowId: `${usedPrefix + command} public`}, +{title: "🥵 | 𝙼𝙾𝙳𝙾 𝙷𝙾𝚁𝙽𝚈", description: "𝙰𝙲𝚃𝙸𝚅𝙰 𝙾 𝙳𝙴𝚂𝙰𝙲𝚃𝙸𝚅𝙰 𝙻𝙾𝚂 𝙲𝙾𝙼𝙰𝙽𝙳𝙾𝚂 +𝟷𝟾", rowId: `${usedPrefix + command} modohorny`}, +{title: "🔗 | 𝙰𝙽𝚃𝙸𝙻𝙸𝙽𝙺", description: "𝙰𝙲𝚃𝙸𝚅𝙰 𝙾 𝙳𝙴𝚂𝙰𝙲𝚃𝙸𝚅𝙰 𝙴𝙻 𝙰𝙽𝚃𝙸 𝙴𝙽𝙻𝙰𝙲𝙴𝚂 𝙳𝙴 𝙶𝚁𝚄𝙿𝙾𝚂 𝙳𝙴 𝚆𝙷𝙰𝚃𝚂𝙰𝙿𝙿", rowId: `${usedPrefix + command} antilink`}, +{title: "🔗 | 𝙰𝙽𝚃𝙸𝙻𝙸𝙽𝙺 𝟸", description: "𝙰𝙲𝚃𝙸𝚅𝙰 𝙾 𝙳𝙴𝚂𝙰𝙲𝚃𝙸𝚅𝙰 𝙴𝙻 𝙰𝙽𝚃𝙸 𝙴𝙽𝙻𝙰𝙲𝙴𝚂 𝚀𝚄𝙴 𝙸𝙽𝙸𝙲𝙸𝙰𝙽 𝙴𝙽 𝙷𝚃𝚃𝙿𝚂", rowId: `${usedPrefix + command} antilink2`}, +{title: "🔎 | 𝙳𝙴𝚃𝙴𝙲𝚃", description: "𝙰𝙲𝚃𝙸𝚅𝙰 𝙾 𝙳𝙴𝚂𝙰𝙲𝚃𝙸𝚅𝙰 𝙻𝙰𝚂 𝙽𝙾𝚃𝙸𝙵𝙸𝙲𝙰𝙲𝙸𝙾𝙽𝙴𝚂 𝙳𝙴 𝙽𝚄𝙴𝚅𝙰 𝙼𝙾𝙳𝙸𝙵𝙸𝙲𝙰𝙲𝙸𝙾𝙽 𝙴𝙽 𝚄𝙽 𝙶𝚁𝚄𝙿𝙾", rowId: `${usedPrefix + command} detect`}, +{title: "❗ | 𝚁𝙴𝚂𝚃𝚁𝙸𝙲𝚃", description: "𝙰𝙲𝚃𝙸𝚅𝙰 𝙾 𝙳𝙴𝚂𝙰𝙲𝚃𝙸𝚅𝙰 𝙻𝙰𝚂 𝚁𝙴𝚂𝚃𝚁𝙸𝙲𝙲𝙸𝙾𝙽𝙴𝚂 𝙿𝙰𝚁𝙰 𝚂𝙰𝙲𝙰𝚁 𝙶𝙴𝙽𝚃𝙴 𝙳𝙴 𝙶𝚁𝚄𝙿𝙾𝚂", rowId: `${usedPrefix + command} restrict`}, +{title: "☑️ | 𝙰𝚄𝚃𝙾𝚁𝙴𝙰𝙳", description: "𝙼𝙰𝚁𝙲𝙰 𝙰𝚄𝚃𝙾𝙼𝙰𝚃𝙸𝙲𝙰𝙼𝙴𝙽𝚃𝙴 𝙻𝙰𝚂 𝙲𝙾𝙽𝚅𝙴𝚁𝚂𝙰𝙲𝙸𝙾𝙽𝙴𝚂 𝙲𝙾𝙼𝙾 𝙻𝙴𝙸𝙳𝙾", rowId: `${usedPrefix + command} autoread`}, +{title: "🔊 | 𝙰𝚄𝙳𝙸𝙾𝚂", description: "𝙰𝙲𝚃𝙸𝚅𝙰 𝙾 𝙳𝙴𝚂𝙰𝙲𝚃𝙸𝚅𝙰 𝙻𝙾𝚂 𝙲𝙾𝙼𝙰𝙽𝙳𝙾𝚂 𝙳𝙴 𝙰𝚄𝙳𝙸𝙾𝚂 𝚂𝙸𝙽 𝙿𝚁𝙴𝙵𝙸𝙹𝙾", rowId: `${usedPrefix + command} audios`}, +{title: "👾 | 𝙰𝚄𝚃𝙾𝚂𝚃𝙸𝙲𝙺𝙴𝚁", description: "𝚃𝙾𝙳𝙰𝚂 𝙻𝙰𝚂 𝙸𝙼𝙰𝙶𝙴𝙽𝙴𝚂, 𝚅𝙸𝙳𝙴𝙾𝚂 𝙾 𝙴𝙽𝙻𝙰𝙲𝙴𝚂 𝙴𝙽𝚅𝙸𝙰𝙳𝙾𝚂 𝚂𝙴 𝙲𝙾𝙽𝚅𝙴𝚁𝚃𝙴𝙽 𝙴𝙽 𝚂𝚃𝙸𝙲𝙺𝙴𝚁", rowId: `${usedPrefix + command} autosticker`}, +{title: "💬 | 𝙿𝙲𝙾𝙽𝙻𝚈", description: "𝙴𝙻 𝙱𝙾𝚃 𝚂𝙾𝙻𝙾 𝚁𝙴𝚂𝙿𝙾𝙽𝙳𝙴𝚁𝙰 𝙰 𝙻𝙾𝚂 𝙲𝙾𝙼𝙰𝙽𝙳𝙾𝚂 𝚂𝙸 𝙴𝚂 𝚄𝙽 𝙲𝙷𝙰𝚃 𝙿𝚁𝙸𝚅𝙰𝙳𝙾", rowId: `${usedPrefix + command} pconly`}, +{title: "🏢 | 𝙶𝙲𝙾𝙽𝙻𝚈", description: "𝙴𝙻 𝙱𝙾𝚃 𝚂𝙾𝙻𝙾 𝚁𝙴𝚂𝙿𝙾𝙽𝙳𝙴𝚁𝙰 𝙰 𝙻𝙾𝚂 𝙲𝙾𝙼𝙰𝙽𝙳𝙾𝚂 𝚂𝙸 𝙴𝚂 𝚄𝙽 𝙶𝚁𝚄𝙿𝙾", rowId: `${usedPrefix + command} gconly`}, +{title: "📵 | 𝙰𝙽𝚃𝙸𝙻𝙻𝙰𝙼𝙰𝙳𝙰", description: "𝙰𝙲𝚃𝙸𝚅𝙰 𝙾 𝙳𝙴𝚂𝙰𝙲𝚃𝙸𝚅𝙰 𝙴𝙻 𝙰𝙽𝚃𝙸 𝙻𝙻𝙰𝙼𝙰𝙳𝙰", rowId: `${usedPrefix + command} anticall`}, +{title: "💬 | 𝙰𝙽𝚃𝙸𝙿𝚁𝙸𝚅𝙰𝙳𝙾", description: "𝙴𝙻 𝙱𝙾𝚃 𝙱𝙻𝙾𝚀𝚄𝙴𝙰𝚁𝙰 𝙰 𝙻𝙾𝚂 𝚄𝚂𝚄𝙰𝚁𝙸𝙾𝚂 𝚀𝚄𝙴 𝙻𝙴 𝙷𝙰𝙱𝙻𝙴𝙽 𝙰𝙻 𝙿𝚁𝙸𝚅𝙰𝙳𝙾", rowId: `${usedPrefix + command} antiprivado`}, +{title: "🤬 | 𝙰𝙽𝚃𝙸𝚃𝙾𝚇𝙸𝙲", description: "𝙰𝙲𝚃𝙸𝚅𝙰 𝙾 𝙳𝙴𝚂𝙰𝙲𝚃𝙸𝚅𝙰 𝙴𝙻 𝙰𝙽𝚃𝙸 𝙼𝙰𝙻𝙰 𝙿𝙰𝙻𝙰𝙱𝚁𝙰", rowId: `${usedPrefix + command} antitoxic`}, +{title: "🤑 | 𝘾𝙝𝙖𝙩𝙗𝙤𝙩", description: "𝙿𝚊𝚛𝚊 𝚙𝚘𝚍𝚎𝚛 𝚑𝚊𝚋𝚕𝚊 𝚌𝚘𝚗𝚖𝚒𝚐𝚘", rowId: `${usedPrefix + command} simi`}, +]}, ] +let name = await conn.getName(m.sender) +const listMessage = { +text: ' ', +footer: `╭══〘 ✯✯✯✯✯✯✯✯ 〙═╮ +║≡≡≡≡≡≡≡≡≡≡≡≡≡≡ +║➤ *✨𝐇𝐎𝐋𝐀, ${name}!!* +║≡≡≡≡≡≡≡≡≡≡≡≡≡≡ +╰══╡✯✯✯✯✯✯✯✯╞══╯ +┏━━━━━━━━━━━━━┓ +┣❧ *𝚂𝙴𝙻𝙴𝙲𝙲𝙸𝙾𝙽𝙰 𝚄𝙽𝙰 𝙳𝙴 𝙻𝙰𝚂 𝙾𝙲𝙿𝙸𝙾𝙽𝙴𝚂 𝚀𝚄𝙴 𝚂𝙰𝙻𝙴𝙽 𝙴𝙽 𝙻𝙰 𝚂𝙸𝙶𝚄𝙸𝙴𝙽𝚃𝙴 𝙻𝙸𝚂𝚃𝙰 𝙾 𝙳𝙰 𝙲𝙻𝙸𝙲𝙺 𝙴𝙽 𝙰𝙻𝙶𝚄𝙽 𝙱𝙾𝚃𝙾𝙽 𝙳𝙴 𝙴𝚂𝚃𝙴 𝙼𝙴𝙽𝚂𝙰𝙹𝙴* +┃≡≡≡≡≡≡≡≡≡≡≡≡≡≡ +┣ ඬ⃟ℹ️ _${usedPrefix}enable *welcome*_ +┣ ඬ⃟ℹ️ _${usedPrefix}disable *welcome*_ +┣ ඬ⃟ℹ️ _${usedPrefix}enable *public*_ +┣ ඬ⃟ℹ️ _${usedPrefix}disable *public*_ +┣ ඬ⃟ℹ️ _${usedPrefix}enable *modohorny*_ +┣ ඬ⃟ℹ️ _${usedPrefix}disable *modohorny*_ +┣ ඬ⃟ℹ️ _${usedPrefix}enable *antilink*_ +┣ ඬ⃟ℹ️ _${usedPrefix}disable *antilink*_ +┣ ඬ⃟ℹ️ _${usedPrefix}enable *antilink2*_ +┣ ඬ⃟ℹ️ _${usedPrefix}disable *antilink2*_ +┣ ඬ⃟ℹ️ _${usedPrefix}enable *detect*_ +┣ ඬ⃟ℹ️ _${usedPrefix}disable *detect*_ +┣ ඬ⃟ℹ️ _${usedPrefix}enable *restrict*_ +┣ ඬ⃟ℹ️ _${usedPrefix}disable *restrict*_ +┣ ඬ⃟ℹ️ _${usedPrefix}enable *pconly*_ +┣ ඬ⃟ℹ️ _${usedPrefix}disable *pconly*_ +┣ ඬ⃟ℹ️ _${usedPrefix}enable *gconly*_ +┣ ඬ⃟ℹ️ _${usedPrefix}disable *gconly*_ +┣ ඬ⃟ℹ️ _${usedPrefix}enable *autoread*_ +┣ ඬ⃟ℹ️ _${usedPrefix}disable *autoread*_ +┣ ඬ⃟ℹ️ _${usedPrefix}enable *audios*_ +┣ ඬ⃟ℹ️ _${usedPrefix}disable *audios*_ +┣ ඬ⃟ℹ️ _${usedPrefix}enable *antiviewonce*_ +┣ ඬ⃟ℹ️ _${usedPrefix}disable *antiviewonce*_ +┣ ඬ⃟ℹ️ _${usedPrefix}enable *autosticker*_ +┣ ඬ⃟ℹ️ _${usedPrefix}disable *autosticker*_ +┣ ඬ⃟ℹ️ _${usedPrefix}enable *anticall*_ +┣ ඬ⃟ℹ️ _${usedPrefix}disable *anticall*_ +┣ ඬ⃟ℹ️ _${usedPrefix}enable *antiprivado*_ +┣ ඬ⃟ℹ️ _${usedPrefix}disable *antiprivado*_ +┣ ඬ⃟ℹ️ _${usedPrefix}enable *antitoxic*_ +┣ ඬ⃟ℹ️ _${usedPrefix}disable *antitoxic*_ +┣ ඬ⃟ℹ️ _${usedPrefix}enable *simi*_ +┣ ඬ⃟ℹ️ _${usedPrefix}disable *simi*_ +┗━━━━━━━━━━━━━┛ +${author}`, +title: null, +buttonText: "𝐒𝐄𝐋𝐄𝐂𝐂𝐈𝐎𝐍𝐄 𝐀𝐐𝐔𝐢", +sections } + +let isEnable = /true|enable|(turn)?on|1/i.test(command) +let chat = global.db.data.chats[m.chat] +let user = global.db.data.users[m.sender] +let bot = global.db.data.settings[conn.user.jid] || {} +let type = (args[0] || '').toLowerCase() +let isAll = false, isUser = false +switch (type) { +case 'welcome': +if (!m.isGroup) { +if (!isOwner) { +global.dfail('group', m, conn) +throw false +} +} else if (!isAdmin) { +global.dfail('admin', m, conn) +throw false +} +chat.welcome = isEnable +break +case 'detect': +if (!m.isGroup) { +if (!isOwner) { +global.dfail('group', m, conn) +throw false +} +} else if (!isAdmin) { +global.dfail('admin', m, conn) +throw false +} +chat.detect = isEnable +break +case 'delete': +if (m.isGroup) { +if (!(isAdmin || isOwner)) { +global.dfail('admin', m, conn) +throw false +}} +chat.delete = isEnable +break +case 'antidelete': +if (m.isGroup) { +if (!(isAdmin || isOwner)) { +global.dfail('admin', m, conn) +throw false +}} +chat.delete = !isEnable +break +case 'public': +isAll = true +if (!isROwner) { +global.dfail('rowner', m, conn) +throw false +} +global.opts['self'] = !isEnable +break +case 'antilink': +if (m.isGroup) { +if (!(isAdmin || isOwner)) { +global.dfail('admin', m, conn) +throw false +}} +chat.antiLink = isEnable +break +case 'antilink2': +if (m.isGroup) { +if (!(isAdmin || isOwner)) { +global.dfail('admin', m, conn) +throw false +}} +chat.antiLink2 = isEnable +break +case 'antiviewonce': +if (m.isGroup) { +if (!(isAdmin || isOwner)) { +global.dfail('admin', m, conn) +throw false +}} +chat.antiviewonce = isEnable +break +case 'modohorny': +if (m.isGroup) { +if (!(isAdmin || isOwner)) { +global.dfail('admin', m, conn) +throw false +}} +chat.modohorny = isEnable +break +case 'autosticker': +if (m.isGroup) { +if (!(isAdmin || isOwner)) { +global.dfail('admin', m, conn) +throw false +}} +chat.autosticker = isEnable +break +case 'audios': +if (m.isGroup) { +if (!(isAdmin || isOwner)) { +global.dfail('admin', m, conn) +throw false +}} +chat.audios = isEnable +break +case 'restrict': +isAll = true +if (!isOwner) { +global.dfail('owner', m, conn) +throw false +} +bot.restrict = isEnable +break +case 'nyimak': +isAll = true +if (!isROwner) { +global.dfail('rowner', m, conn) +throw false +} +global.opts['nyimak'] = isEnable +break +case 'autoread': +isAll = true +if (!isROwner) { +global.dfail('rowner', m, conn) +throw false +} +global.opts['autoread'] = isEnable +break +case 'pconly': +case 'privateonly': +isAll = true +if (!isROwner) { +global.dfail('rowner', m, conn) +throw false +} +global.opts['pconly'] = isEnable +break +case 'gconly': +case 'grouponly': +isAll = true +if (!isROwner) { +global.dfail('rowner', m, conn) +throw false +} +global.opts['gconly'] = isEnable +break +case 'swonly': +case 'statusonly': +isAll = true +if (!isROwner) { +global.dfail('rowner', m, conn) +throw false +} +global.opts['swonly'] = isEnable +break +case 'anticall': +isAll = true +if (!isROwner) { +global.dfail('rowner', m, conn) +throw false +} +chat.simi = isEnable +break +case 'stickers': +if (m.isGroup) { +if (!(isAdmin || isOwner)) { +global.dfail('admin', m, conn) +throw false +}} +case 'simi': +if (m.isGroup) { +if (!(isAdmin || isOwner)) { +global.dfail('admin', m, conn) +throw false +}} +chat.simi = isEnable +break +bot.antiCall = isEnable +break +case 'antiprivado': +isAll = true +if (!isROwner) { +global.dfail('rowner', m, conn) +throw false +} +bot.antiPrivate = isEnable +break +case 'antitoxic': +if (m.isGroup) { +if (!(isAdmin || isOwner)) { +global.dfail('admin', m, conn) +throw false +}} +chat.antiToxic = isEnable +break +default: +if (!/[01]/.test(command)) return await conn.sendMessage(m.chat, listMessage) +throw false +} +conn.sendButton(m.chat, `🗂️ 𝐎𝐏𝐂𝐈𝐎𝐍: ${type} +🎚️ 𝐄𝐒𝐓𝐀𝐃𝐎: ${isEnable ? '𝙰𝙲𝚃𝙸𝚅𝙰𝙳𝙾' : '𝙳𝙴𝚂𝙰𝙲𝚃𝙸𝚅𝙰𝙳𝙾'} +📣 𝐏𝐀𝐑𝐀: ${isAll ? '𝙴𝚂𝚃𝙴 𝙱𝙾𝚃' : isUser ? '' : '𝙴𝚂𝚃𝙴 𝙲𝙷𝙰𝚃'}`, author, null, [[`${isEnable ? '✖️ 𝙳𝙴𝚂𝙰𝙲𝚃𝙸𝚅𝙰𝚁 ✖️' : '✔️ 𝙰𝙲𝚃𝙸𝚅𝙰𝚁 ✔️'}`, `${isEnable ? `#disable ${type}` : `#enable ${type}`}`], ['୧ *·˚ ﹏   ﹏ 𝙼𝙴𝙽𝚄﹏   ﹏   •      。゚゚', '#menu']], m)} + +handler.help = ['en', 'dis'].map(v => v + 'able