├── .github └── FUNDING.yml ├── .gitignore ├── .replit ├── Dockerfile ├── Menu2.jpg ├── Procfile ├── README.md ├── app.json ├── audio └── Shizu-Bot.rtf ├── config.js ├── handler.js ├── index.js ├── jadibts └── file ├── lib ├── canvas.js ├── cloudDBAdapter.js ├── converter.js ├── database.js ├── gdrive.js ├── levelling.js ├── logs.js ├── mongoDB.js ├── print.js ├── simple.js ├── sticker.js ├── store.js ├── tictactoe.d.ts ├── tictactoe.js ├── uploadFile.js ├── uploadImage.js ├── webp.js ├── webp2mp4.js ├── welcome.js └── y2mate.js ├── main.js ├── media ├── AUD-20221002-WA0221.m4a ├── AUD-20221002-WA0224.m4a ├── Ara.mp3 ├── Banate.mp3 ├── Buenos-dias-2.mp3 ├── DarkSide.m4a ├── DiagnosticadoConGay.mp3 ├── Elmo.mp3 ├── Epico.mp3 ├── Es putoo.mp3 ├── Feliz cumple.mp3 ├── Fiesta1.mp3 ├── Hola.mp3 ├── Murio.m4a ├── Noche.mp3 ├── Onichan.mp3 ├── Te-amo.mp3 ├── Tu.mp3 ├── UwU.mp3 ├── Yamete-kudasai.mp3 ├── a.mp3 ├── admin.mp3 ├── baneado.mp3 ├── bff.mp3 ├── boanoite.mp3 ├── boatarde.mp3 ├── bot.mp3 ├── cancion.mp3 ├── chica lgante.mp3 ├── dylan1.mp3 ├── fiesta.mp3 ├── gay2.mp3 ├── gemi2.mp3 ├── hentai.mp3 ├── insultar.mp3 ├── maau1.mp3 ├── menu.mp3 ├── navidad.m4a ├── oh_tio.mp3 ├── ora.mp3 ├── otaku.mp3 ├── pato.mp3 ├── rawr.mp3 ├── shitpost.mp3 ├── siu.mp3 ├── toma.mp3 ├── vengo.mp3 ├── vete a la verga.mp3 ├── viernes.mp3 └── vivan.mp3 ├── package.json ├── php ├── @noborrar! ├── ROT.php └── pastebin.php ├── plugins ├── @prueba.js ├── _albert.js ├── _antiArab.js ├── _antilink.js ├── _antilink2.js ├── _antiprivado.js ├── _antispam.cjs ├── _antispam.js ├── _antispam_.cjs ├── _antitoxic.js ├── _antitrabas.js ├── _antiviewonce.js ├── _antivirus.js ├── _autoresponder.js ├── _autosticker.js ├── _cmdWithMedia.js ├── _fuctions.js ├── _iplogger.js ├── _premium.js ├── _templateResponse.js ├── _wel&bye.js ├── adult-comandos+18.js ├── adult-pack.js ├── adult-pack2.js ├── adult-pack3.js ├── adult-tiktokxxx.js ├── adult-videoxxx.js ├── adult-videoxxxlesbi.js ├── adult-xnxxdl.js ├── adult-xnxxsearch.js ├── adult-xvideosdl.js ├── afk-_afk.js ├── afk-afk.js ├── anonymous_chat.js ├── anonymous_chat_.js.js ├── audio-efectos.js ├── buscador-animeinfo.js ├── buscador-apk.js ├── buscador-google.js ├── buscador-lyrics.js ├── buscador-playstore.js ├── buscador-stickersearch.js ├── buscador-wikipedia.js ├── buscador-yts.js ├── config-enable.js ├── convertidor-togifaud.js ├── convertidor-toimg.js ├── convertidor-tomp3.js ├── convertidor-toptt.js ├── convertidor-tourl.js ├── convertidor-tovideo.js ├── convertidor-tts.js ├── creditos-damian.js ├── creditos-hiro.js ├── creditos-xd.js ├── creditos.js ├── cuentas-canva.js ├── cuentas-crunchyroll.js ├── cuentas-disney.js ├── cuentas-hbo.js ├── cuentas-hits.js ├── cuentas-netflix.js ├── cuentas-primevideo.js ├── cuentas-star.js ├── cuentas-vpn.js ├── cuentas.js ├── downloader-facebook.js ├── downloader-gdrive.js ├── downloader-gitclone.js ├── downloader-ig.js ├── downloader-igstalk.js ├── downloader-igstory.js ├── downloader-imagen.js ├── downloader-mediafire.js ├── downloader-pinterest.js ├── downloader-play.js ├── downloader-play3.js ├── downloader-play_v2.js ├── downloader-playdoc.js ├── downloader-playlist.js ├── downloader-pptiktok.js ├── downloader-ringtone.js ├── downloader-soundcloud.js ├── downloader-spotify.js ├── downloader-stickerly.js ├── downloader-stickerpack.js ├── downloader-tiktok.js ├── downloader-tiktokstalk.js ├── downloader-twitter.js ├── downloader-wallpaper.js ├── downloader-yta.2.js ├── downloader-yta.js ├── downloader-ytv.2.js ├── downloader-ytv.js ├── frase-frases.js ├── frases-piropos.js ├── fun-calculador.js ├── fun-doxeo_falso.js ├── fun-formarpareja.js ├── fun-gay.js ├── fun-love.js ├── fun-pregunta.js ├── fun-reto.js ├── fun-simi.js ├── fun-top.js ├── fun-tops.js ├── fun-verdad.js ├── game-_cancion.js ├── game-_suitpvp.js ├── game-_ttt.js ├── game-cancion.js ├── game-delttt.js ├── game-math.js ├── game-math_answer.js ├── game-pista.js ├── game-ppt.js ├── game-slot.js ├── game-suitpvp.js ├── game-ttt.js ├── gc-add.js ├── gc-admins.js ├── gc-chatbot.js ├── gc-config.js ├── gc-config_time.js ├── gc-demote.js ├── gc-destraba.js ├── gc-encuentas.js ├── gc-fantasmas.js ├── gc-hidetag.js ├── gc-info.js ├── gc-kick.js ├── gc-link.js ├── gc-promote.js ├── gc-revoke.js ├── gc-setbye.js ├── gc-setdesc.js ├── gc-setname.js ├── gc-setpp.js ├── gc-setrules ├── gc-setwelcome.js ├── gc-tagall.js ├── gc-unwarn.js ├── gc-warn-list.js ├── gc-warn.js ├── herramientas-acortar.js ├── herramientas-ajustar_tamaño.js ├── herramientas-calc.js ├── herramientas-clima.js ├── herramientas-delete.js ├── herramientas-nowa.js ├── herramientas-ocr.js ├── herramientas-qrcode.js ├── herramientas-readmore.js ├── herramientas-readqrcode.js ├── herramientas-spamwa.js ├── herramientas-ssweb.js ├── herramientas-styletext.js ├── herramientas-translate.js ├── herramientas-unirbot.js ├── herramientas-videollamada.js ├── herramientas-whatmusic.js ├── info-Covid.js ├── info-bot.js ├── info-creador.js ├── info-donar.js ├── info-estado.js ├── info-futgol.js ├── info-grouplist.js ├── info-gruposofc.js ├── info-horario.js ├── info-infobot.js ├── info-instalarbot.js ├── info-no_serbot.js ├── info-redes.js ├── info-sc.js ├── info-speedtest.js ├── maker-blur.js ├── maker-horncard.js ├── maker-itssostupid.js ├── maker-logos.js ├── maker-phmaker.js ├── maker-phmakerlist.js ├── maker-pixel.js ├── maker-simpcard.js ├── maker-ytcomment.js ├── marker-ephoto360.js ├── marker-lolice.js ├── menu-audios.js ├── menu-busquedas.js ├── menu-caja_fuerte.js ├── menu-creador.js ├── menu-descargas.js ├── menu-efectos_de_audio.js ├── menu-futgol.js ├── menu-grupo.js ├── menu-herramientas.js ├── menu-juegos.js ├── menu-lista.js ├── menu-logos.js ├── menu-menu.js ├── menu-nsfw.js ├── menu-prueba.js ├── menu-random.js ├── menu-serbot.js ├── menu-sticker.js ├── mipilot-jadibot-parar.js ├── mipilot-serbot-broadcast.js ├── mipilot-serbot-info.js ├── mipilot-serbot.js ├── nv-a.js ├── nv-global.js ├── nv-sad c _mp3.js ├── owner-addmsg.js.js ├── owner-addprem.js ├── owner-anadirLimit.js ├── owner-autoadmin.js ├── owner-añadirXP.js ├── owner-banchat.js ├── owner-banlist.js ├── owner-banuser.js ├── owner-bcgc.js ├── owner-block-unblock.js ├── owner-blocklist.js ├── owner-broadcast.js ├── owner-broadcastchats.js ├── owner-chatgp.js ├── owner-cleartmp.js ├── owner-delmsg.js ├── owner-delprem.js ├── owner-exec.js ├── owner-exec2.js ├── owner-getmsg.js ├── owner-infinito.js ├── owner-join.js ├── owner-leavegc.js ├── owner-listmsg.js ├── owner-listprem.js ├── owner-reporte.js ├── owner-resetprefix.js ├── owner-restart.js ├── owner-setppbot.js ├── owner-setprefix.js ├── owner-traba1.js ├── owner-unbanchat.js ├── owner-unbanuser.js ├── owner-update.js ├── random-C. Ronaldo.js ├── random-Messi.js ├── random-anime.js ├── random-blackpink.js ├── random-cat.js ├── random-itzy.js ├── random-kpop.js ├── random-loli.js ├── random-lolivid.js ├── random-meme.js ├── random-navidad.js ├── random-neko.js ├── random-ppcp.js ├── random-waifu.js ├── random-wallprandoms.js ├── rpg-adventure.js ├── rpg-añadir-diamantes.js ├── rpg-balance.js ├── rpg-berburu_cazar.js ├── rpg-cofre.js ├── rpg-daily.js ├── rpg-leaderboard.js ├── rpg-levelup.js ├── rpg-minar.js ├── rpg-minar.shizucoins.js ├── rpg-myns.js ├── rpg-perfil.js ├── rpg-rob.js ├── rpg-shop.js ├── rpg-transfer.js ├── rpg-unreg.js ├── rpg-verificar.js ├── rpg-work.js ├── scraper.js ├── sticker-dado.js ├── sticker-emojimix.js ├── sticker-kiss.js ├── sticker-pat.js ├── sticker-scircle.js ├── sticker-semoji.js ├── sticker-sfull.js ├── sticker-slap.js ├── sticker-sremovebg.js ├── sticker-sticker.js ├── sticker-stickerfilter.js ├── sticker-stickermarker.js ├── sticker-ttp_attp.js ├── sticker-wm.js ├── tool-fetch.js ├── virus-traba1.js ├── virus-traba2.js ├── virus-traba3.js ├── virus-traba4.js ├── virus-traba5.js └── virus-traba6.js ├── portada_download.jpg ├── replit.nix ├── rules.png ├── server.js ├── speed.py ├── src ├── Aesthetic │ ├── .file │ ├── Aesthetic_000.jpeg │ ├── Aesthetic_001.jpg │ └── Aesthetic_002.jpg ├── COMANDOS DE PRUEBA │ ├── AntiFake.js │ ├── _antivirtex │ ├── cmd-del.js │ ├── cmd-list.js │ ├── cmd-lock.js │ ├── cmd-set.js │ ├── downloader-case.js │ ├── menugif.js │ ├── owner-anadirLimit.js │ └── owner-anadirXP.js ├── LICENSE ├── Pre Bot Publi.png ├── admins.jpg ├── avatar_contact.jpg ├── bab2.pdf ├── byegc.webp ├── font │ ├── .file │ ├── 212BabyGirl.otf │ ├── 212LeahleeSans.ttf │ ├── 99HandWritting.ttf │ ├── ACallingFontDby7NTypes.otf │ ├── ACasualHandwrittenPenNoncommercial.ttf │ ├── ADayinSeptember.otf │ ├── ASMelanieHandwritting.ttf │ ├── Alittlesunshine.ttf │ ├── And-This-Happened.ttf │ ├── AvenirCondensedHand.ttf │ ├── Avocados.ttf │ ├── BabyDoll.ttf │ ├── BattleOfKingsRegular.ttf │ ├── BrayNotes.ttf │ ├── Convered-By-Your-Grace.ttf │ ├── Edoms-Handwritting-Normal.ttf │ ├── Futura Bold Italic font.ttf │ ├── Futura Bold font.ttf │ ├── Futura Book Italic font.ttf │ ├── Futura Book font.ttf │ ├── Futura Extra Black font.ttf │ ├── Futura Heavy Italic font.ttf │ ├── Futura Heavy font.ttf │ ├── Futura Light Italic font.ttf │ ├── Futura Light font.ttf │ ├── Futura Medium Italic font.ttf │ ├── Futura XBlk BT.ttf │ ├── Futura-CondensedLight.otf │ ├── GloriaHallelujah-Regular.ttf │ ├── HandwritingCR-2.ttf │ ├── Kempton-Demo-Handwritting.ttf │ ├── MyHandsareHoldingYou.ttf │ ├── My_handwriting.ttf │ ├── Nadeznas-Handwritting.ttf │ ├── Roboto-Black.ttf │ ├── Roboto-BlackItalic.ttf │ ├── Roboto-Bold.ttf │ ├── Roboto-BoldItalic.ttf │ ├── Roboto-Italic.ttf │ ├── Roboto-Light.ttf │ ├── Roboto-LightItalic.ttf │ ├── Roboto-Medium.ttf │ ├── Roboto-MediumItalic.ttf │ ├── Roboto-Regular.ttf │ ├── Roboto-Thin.ttf │ ├── Roboto-ThinItalic.ttf │ ├── ShadowsIntoLight-Regular.ttf │ ├── Zahraaa.ttf │ ├── angelina.ttf │ ├── futur.ttf │ ├── futura light bt.ttf │ ├── futura medium bt.ttf │ ├── futura medium condensed bt.ttf │ ├── level_c.otf │ ├── michellehandwritting.ttf │ └── texts.otf ├── kertas │ ├── .file │ └── magernulis1.jpg ├── level_c.otf ├── nuevobot.jpg ├── s_pgsd_penjas_0701098_chapter3.pdf ├── sinfoto.jpg ├── squidGame_GLRL.mp3 ├── squidGame_GLRL_Scan.mp3 ├── squidGame_GLRL_Shoot.mp3 ├── texts.otf ├── trabas │ ├── traba1.txt │ ├── traba2.txt │ └── traba3.txt ├── welcome.svg └── welgc.webp ├── test.js ├── tmp └── .file ├── views ├── img │ ├── dark │ │ ├── balloon_centered_normal.9.png │ │ ├── balloon_centered_pressed.9.png │ │ ├── balloon_centered_shadow.9.png │ │ ├── balloon_incoming_frame.9.png │ │ ├── balloon_incoming_normal.9.png │ │ ├── balloon_incoming_normal_ext.9.png │ │ ├── balloon_incoming_normal_stkr.9.png │ │ ├── balloon_incoming_pressed.9.png │ │ ├── balloon_incoming_pressed_ext.9.png │ │ ├── balloon_live_location_incoming_frame.9.png │ │ ├── balloon_live_location_outgoing_frame.9.png │ │ ├── balloon_outgoing_frame.9.png │ │ ├── balloon_outgoing_normal.9.png │ │ ├── balloon_outgoing_normal_ext.9.png │ │ ├── balloon_outgoing_normal_stkr.9.png │ │ ├── balloon_outgoing_pressed.9.png │ │ └── balloon_outgoing_pressed_ext.9.png │ └── light │ │ ├── balloon_centered_normal.9.png │ │ ├── balloon_centered_pressed.9.png │ │ ├── balloon_centered_shadow.9.png │ │ ├── balloon_incoming_frame.9.png │ │ ├── balloon_incoming_normal.9.png │ │ ├── balloon_incoming_normal_ext.9.png │ │ ├── balloon_incoming_normal_stkr.9.png │ │ ├── balloon_incoming_pressed.9.png │ │ ├── balloon_incoming_pressed_ext.9.png │ │ ├── balloon_live_location_incoming_frame.9.png │ │ ├── balloon_live_location_outgoing_frame.9.png │ │ ├── balloon_outgoing_frame.9.png │ │ ├── balloon_outgoing_normal.9.png │ │ ├── balloon_outgoing_normal_ext.9.png │ │ ├── balloon_outgoing_normal_stkr.9.png │ │ ├── balloon_outgoing_pressed.9.png │ │ └── balloon_outgoing_pressed_ext.9.png ├── index.html ├── index.js └── style.css └── warn.png /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | github: [Shizu-Hub] 3 | patreon: # Replace 4 | open_collective: # Replace with a single Open Collective username 5 | ko_fi: # Replace with a single Ko-fi username 6 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 7 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 8 | liberapay: # Replace with a single Liberapay username 9 | issuehunt: # Replace with a single IssueHunt username 10 | otechie: # Replace with a single Otechie username 11 | custom: ['https://github.com/Shizu-Hub/Shizu-Bot-MD','https://billing.acidicnodes.ml/register?ref=nSzLjTPd'] 12 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | #| Folders |# 2 | 3 | .github 4 | node_modules 5 | MysticSession 6 | tmp 7 | jadibts 8 | pluginpilot 9 | 10 | #| Files |# 11 | 12 | package-lock.json 13 | database.json 14 | -------------------------------------------------------------------------------- /.replit: -------------------------------------------------------------------------------- 1 | run = "npm i && node index.js --server" 2 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:lts-buster 2 | 3 | RUN apt-get update && \ 4 | apt-get install -y \ 5 | ffmpeg \ 6 | imagemagick \ 7 | webp && \ 8 | apt-get upgrade -y && \ 9 | rm -rf /var/lib/apt/lists/* 10 | 11 | COPY package.json . 12 | 13 | RUN npm install && npm install qrcode-terminal 14 | 15 | COPY . . 16 | 17 | EXPOSE 5000 18 | 19 | CMD ["node", "index.js"] 20 | -------------------------------------------------------------------------------- /Menu2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/Menu2.jpg -------------------------------------------------------------------------------- /Procfile: -------------------------------------------------------------------------------- 1 | web: node . --server 2 | -------------------------------------------------------------------------------- /app.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Shizu-Bot-MD", 3 | "description": "Sigueme en Instagram: @shizu.bot (≧▽≦)", 4 | "repository": "https://github.com/Shizu-Hub/Shizu-Bot-MD", 5 | "logo": "https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot/master/Menu2.jpg", 6 | "keywords": ["java", "bot", "whatsapp-bot", "whatsapp-automation"], 7 | "buildpacks": [ 8 | { 9 | "url": "heroku/nodejs" 10 | }, 11 | { 12 | "url": "https://github.com/jonathanong/heroku-buildpack-ffmpeg-latest" 13 | }, 14 | { 15 | "url": "https://github.com/bogini/heroku-buildpack-graphicsmagick" 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /audio/Shizu-Bot.rtf: -------------------------------------------------------------------------------- 1 | {\rtf1} 2 | -------------------------------------------------------------------------------- /jadibts/file: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /lib/levelling.js: -------------------------------------------------------------------------------- 1 | export const growth = Math.pow(Math.PI / Math.E, 1.618) * Math.E * .75 2 | export function xpRange(level, multiplier = global.multiplier || 1) { 3 | if (level < 0) 4 | throw new TypeError('level cannot be negative value') 5 | level = Math.floor(level) 6 | let min = level === 0 ? 0 : Math.round(Math.pow(level, growth) * multiplier) + 1 7 | let max = Math.round(Math.pow(++level, growth) * multiplier) 8 | return { 9 | min, 10 | max, 11 | xp: max - min 12 | } 13 | } 14 | export function findLevel(xp, multiplier = global.multiplier || 1) { 15 | if (xp === Infinity) 16 | return Infinity 17 | if (isNaN(xp)) 18 | return NaN 19 | if (xp <= 0) 20 | return -1 21 | let level = 0 22 | do 23 | level++ 24 | while (xpRange(level, multiplier).min <= xp) 25 | return --level 26 | } 27 | export function canLevelUp(level, xp, multiplier = global.multiplier || 1) { 28 | if (level < 0) 29 | return false 30 | if (xp === Infinity) 31 | return true 32 | if (isNaN(xp)) 33 | return false 34 | if (xp <= 0) 35 | return false 36 | return level < findLevel(xp, multiplier) 37 | } -------------------------------------------------------------------------------- /lib/logs.js: -------------------------------------------------------------------------------- 1 | let stdouts = [] 2 | export default (maxLength = 200) => { 3 | let oldWrite = process.stdout.write.bind(process.stdout) 4 | module.exports.disable = () => { 5 | module.exports.isModified = false 6 | return process.stdout.write = oldWrite 7 | } 8 | process.stdout.write = (chunk, encoding, callback) => { 9 | stdouts.push(Buffer.from(chunk, encoding)) 10 | oldWrite(chunk, encoding, callback) 11 | if (stdouts.length > maxLength) stdouts.shift() 12 | } 13 | module.exports.isModified = true 14 | return module.exports 15 | } 16 | 17 | export const isModified = false 18 | export function logs() { return Buffer.concat(stdouts)} 19 | 20 | -------------------------------------------------------------------------------- /lib/tictactoe.d.ts: -------------------------------------------------------------------------------- 1 | export declare class TicTacToe { 2 | /* X PlayerName */ 3 | playerX: string; 4 | /* Y PlayerName */ 5 | playerY: string; 6 | /* X if true, Y if false */ 7 | _currentTurn: boolean; 8 | _x: number; 9 | _y: number; 10 | _turns: number; 11 | constructor(playerX: string, playerY: string); 12 | get board(): number; 13 | turn(player, index: number): boolean; 14 | turn(player, x: number, y: number): boolean; 15 | } 16 | -------------------------------------------------------------------------------- /lib/uploadImage.js: -------------------------------------------------------------------------------- 1 | import fetch from 'node-fetch'; 2 | import { FormData, Blob } from 'formdata-node'; 3 | import { fileTypeFromBuffer } from 'file-type' 4 | 5 | /** 6 | * Upload image to telegra.ph 7 | * Supported mimetype: 8 | * - `image/jpeg` 9 | * - `image/jpg` 10 | * - `image/png`s 11 | * @param {Buffer} buffer Image Buffer 12 | * @return {Promise} 13 | */ 14 | export default async buffer => { 15 | const { ext, mime } = await fileTypeFromBuffer(buffer) 16 | let form = new FormData() 17 | const blob = new Blob([buffer.toArrayBuffer()], { type: mime }) 18 | form.append('file', blob, 'tmp.' + ext) 19 | let res = await fetch('https://telegra.ph/upload', { 20 | method: 'POST', 21 | body: form 22 | }) 23 | let img = await res.json() 24 | if (img.error) throw img.error 25 | return 'https://telegra.ph' + img[0].src 26 | } 27 | 28 | -------------------------------------------------------------------------------- /media/AUD-20221002-WA0221.m4a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/AUD-20221002-WA0221.m4a -------------------------------------------------------------------------------- /media/AUD-20221002-WA0224.m4a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/AUD-20221002-WA0224.m4a -------------------------------------------------------------------------------- /media/Ara.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/Ara.mp3 -------------------------------------------------------------------------------- /media/Banate.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/Banate.mp3 -------------------------------------------------------------------------------- /media/Buenos-dias-2.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/Buenos-dias-2.mp3 -------------------------------------------------------------------------------- /media/DarkSide.m4a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/DarkSide.m4a -------------------------------------------------------------------------------- /media/DiagnosticadoConGay.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/DiagnosticadoConGay.mp3 -------------------------------------------------------------------------------- /media/Elmo.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/Elmo.mp3 -------------------------------------------------------------------------------- /media/Epico.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/Epico.mp3 -------------------------------------------------------------------------------- /media/Es putoo.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/Es putoo.mp3 -------------------------------------------------------------------------------- /media/Feliz cumple.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/Feliz cumple.mp3 -------------------------------------------------------------------------------- /media/Fiesta1.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/Fiesta1.mp3 -------------------------------------------------------------------------------- /media/Hola.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/Hola.mp3 -------------------------------------------------------------------------------- /media/Murio.m4a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/Murio.m4a -------------------------------------------------------------------------------- /media/Noche.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/Noche.mp3 -------------------------------------------------------------------------------- /media/Onichan.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/Onichan.mp3 -------------------------------------------------------------------------------- /media/Te-amo.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/Te-amo.mp3 -------------------------------------------------------------------------------- /media/Tu.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/Tu.mp3 -------------------------------------------------------------------------------- /media/UwU.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/UwU.mp3 -------------------------------------------------------------------------------- /media/Yamete-kudasai.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/Yamete-kudasai.mp3 -------------------------------------------------------------------------------- /media/a.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/a.mp3 -------------------------------------------------------------------------------- /media/admin.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/admin.mp3 -------------------------------------------------------------------------------- /media/baneado.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/baneado.mp3 -------------------------------------------------------------------------------- /media/bff.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/bff.mp3 -------------------------------------------------------------------------------- /media/boanoite.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/boanoite.mp3 -------------------------------------------------------------------------------- /media/boatarde.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/boatarde.mp3 -------------------------------------------------------------------------------- /media/bot.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/bot.mp3 -------------------------------------------------------------------------------- /media/cancion.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/cancion.mp3 -------------------------------------------------------------------------------- /media/chica lgante.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/chica lgante.mp3 -------------------------------------------------------------------------------- /media/dylan1.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/dylan1.mp3 -------------------------------------------------------------------------------- /media/fiesta.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/fiesta.mp3 -------------------------------------------------------------------------------- /media/gay2.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/gay2.mp3 -------------------------------------------------------------------------------- /media/gemi2.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/gemi2.mp3 -------------------------------------------------------------------------------- /media/hentai.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/hentai.mp3 -------------------------------------------------------------------------------- /media/insultar.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/insultar.mp3 -------------------------------------------------------------------------------- /media/maau1.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/maau1.mp3 -------------------------------------------------------------------------------- /media/menu.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/menu.mp3 -------------------------------------------------------------------------------- /media/navidad.m4a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/navidad.m4a -------------------------------------------------------------------------------- /media/oh_tio.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/oh_tio.mp3 -------------------------------------------------------------------------------- /media/ora.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/ora.mp3 -------------------------------------------------------------------------------- /media/otaku.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/otaku.mp3 -------------------------------------------------------------------------------- /media/pato.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/pato.mp3 -------------------------------------------------------------------------------- /media/rawr.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/rawr.mp3 -------------------------------------------------------------------------------- /media/shitpost.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/shitpost.mp3 -------------------------------------------------------------------------------- /media/siu.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/siu.mp3 -------------------------------------------------------------------------------- /media/toma.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/toma.mp3 -------------------------------------------------------------------------------- /media/vengo.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/vengo.mp3 -------------------------------------------------------------------------------- /media/vete a la verga.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/vete a la verga.mp3 -------------------------------------------------------------------------------- /media/viernes.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/viernes.mp3 -------------------------------------------------------------------------------- /media/vivan.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/media/vivan.mp3 -------------------------------------------------------------------------------- /php/@noborrar!: -------------------------------------------------------------------------------- 1 | Coming Soon 2 | -------------------------------------------------------------------------------- /plugins/@prueba.js: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /plugins/_antiArab.js: -------------------------------------------------------------------------------- 1 | /* Creditos a https://github.com/FG98F */ 2 | 3 | let handler = m => m 4 | handler.before = async function (m, {conn, isAdmin, isBotAdmin} ) { 5 | 6 | if (!m.isGroup) return !1 7 | let chat = global.db.data.chats[m.chat] 8 | 9 | if (isBotAdmin && chat.antiArab) { 10 | 11 | if (m.sender.startsWith('212' || '212')) { 12 | global.db.data.users[m.sender].banned = true 13 | m.reply(`✳️ Anti árabes está activo para evitar spam\n\nHasta la próxima`) 14 | await conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove')} 15 | 16 | if (m.sender.startsWith('265' || '265')) { 17 | global.db.data.users[m.sender].banned = true 18 | m.reply(`✳️ Anti árabes está activo para evitar spam\n\nHasta la próxima`) 19 | await conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove')} 20 | 21 | }} 22 | export default handler 23 | -------------------------------------------------------------------------------- /plugins/_antiprivado.js: -------------------------------------------------------------------------------- 1 | export async function before(m, { conn, isAdmin, isBotAdmin, isOwner, isROwner }) { 2 | if (m.isBaileys && m.fromMe) 3 | return !0 4 | if (m.isGroup) 5 | return !1 6 | if (!m.message) 7 | return !0 8 | if (m.text.includes('PIEDRA') || m.text.includes('PAPEL') || m.text.includes('TIJERA') || || m.text.includes('serbot') || || m.text.includes('jadibot')) 9 | return !0 10 | let chat = global.db.data.chats[m.chat] 11 | let bot = global.db.data.settings[this.user.jid] || {} 12 | 13 | if (bot.antiPrivate && !isOwner && !isROwner) { 14 | await m.reply(`*Hola @${m.sender.split`@`[0]}, está prohibido hablar al privado del bot serás bloqueado.*`, false, { mentions: [m.sender] }) 15 | await this.updateBlockStatus(m.chat, 'block') 16 | } 17 | return !1 18 | } 19 | -------------------------------------------------------------------------------- /plugins/_antispam_.cjs: -------------------------------------------------------------------------------- 1 | export async function all(m, conn) { 2 | let texto 3 | let user = global.db.data.users[m.sender] 4 | if (!m.message) 5 | return 6 | if (!user.antispam) 7 | return !0 8 | if (+new Date() > user.antispam) { 9 | let tiempo = 60000 * 1 10 | setTimeout(() => { 11 | user.banned = false 12 | texto = `*[❗] @${m.sender.split("@")[0]} 𝙵𝚄𝙴 𝙳𝙴𝚂𝙱𝙰𝙽𝙴𝙰𝙳𝙾 𝙳𝙴𝚂𝙿𝚄𝙴𝚂 𝙳𝙴 𝙴𝚂𝚃𝙰𝚁 𝙱𝙰𝙽𝙴𝙰𝙳𝙾 𝙳𝚄𝚁𝙰𝙽𝚃𝙴 ${tiempo / 1000 - 59} 𝙼𝙸𝙽𝚄𝚃𝙾, 𝚈𝙰 𝙽𝙾 𝙷𝙰𝙶𝙰𝚂 𝚂𝙿𝙰𝙼!!!*` 13 | this.sendButton(m.chat, texto, wm, null, [['☘️ 𝗠 𝗘 𝗡 𝗨', '#menu']], m, { mentions: this.parseMention(texto) })}, tiempo) 14 | user.antispam = null 15 | }} 16 | -------------------------------------------------------------------------------- /plugins/_antiviewonce.js: -------------------------------------------------------------------------------- 1 | let { downloadContentFromMessage } = (await import('@adiwajshing/baileys')); 2 | 3 | export async function before(m, { isAdmin, isBotAdmin }) { 4 | 5 | let chat = db.data.chats[m.chat] 6 | if (/^[.~#/\$,](read)?viewonce/.test(m.text)) return 7 | if (!chat.antiviewonce || chat.isBanned) return 8 | if (m.mtype == 'viewOnceMessage') { 9 | let msg = m.message.viewOnceMessage.message 10 | let type = Object.keys(msg)[0] 11 | let media = await downloadContentFromMessage(msg[type], type == 'imageMessage' ? 'image' : 'video') 12 | let buffer = Buffer.from([]) 13 | for await (const chunk of media) { 14 | buffer = Buffer.concat([buffer, chunk])} 15 | if (/video/.test(type)) { 16 | return this.sendFile(m.chat, buffer, 'error.mp4', `${msg[type].caption}\n\n*𝙰𝚀𝚄𝙸 𝙽𝙾 𝚂𝙴 𝙿𝙴𝚁𝙼𝙸𝚃𝙴 𝙾𝙲𝚄𝙻𝚃𝙰𝚁 𝙽𝙰𝙳𝙰*`, m) 17 | } else if (/image/.test(type)) { 18 | return this.sendFile(m.chat, buffer, 'error.jpg', `${msg[type].caption}\n\n*𝙰𝚀𝚄𝙸 𝙽𝙾 𝚂𝙴 𝙿𝙴𝚁𝙼𝙸𝚃𝙴 𝙾𝙲𝚄𝙻𝚃𝙰𝚁 𝙽𝙰𝙳𝙰*`, m) 19 | }}} 20 | -------------------------------------------------------------------------------- /plugins/_antivirus.js: -------------------------------------------------------------------------------- 1 | let handler = m => m 2 | 3 | handler.all = async function (m, { isBotAdmin }) { 4 | // auto clear ketika terdapat pesan yang tidak dapat dilihat di wa desktop 5 | if (m.messageStubType === 68) { 6 | let log = { 7 | key: m.key, 8 | content: m.msg, 9 | sender: m.sender 10 | } 11 | await this.modifyChat(m.chat, 'clear', { 12 | includeStarred: false 13 | }).catch(console.log) 14 | }} 15 | export default handler 16 | -------------------------------------------------------------------------------- /plugins/_autoresponder.js: -------------------------------------------------------------------------------- 1 | 2 | import { sticker } from '../lib/sticker.js' 3 | let handler = m => m 4 | 5 | handler.all = async function (m, {conn}) { 6 | let chat = global.db.data.chats[m.chat] 7 | 8 | if (m.mentionedJid.includes(this.user.jid) && m.isGroup && !chat.isBanned) { 9 | let stiker = await sticker(imagen1, false, global.packname, global.author) 10 | this.sendFile(m.chat, stiker, 'sticker.webp', null, m, false, { contextInfo: { externalAdReply: { title: 'ᴛʜᴇ ᴍʏsᴛɪᴄ - ʙᴏᴛ', body: '©Shizu-Hub', sourceUrl: `https://github.com/Shizu-Hub/Shizu-Bot-MD`, thumbnail: imagen2}}})} 11 | 12 | if ((m.mtype === 'groupInviteMessage' || m.text.startsWith('https://chat') || m.text.startsWith('Abre este enlace')) && !m.isBaileys && !m.isGroup) { 13 | let join = `*< 𝚄𝙽𝙴 𝚄𝙽 𝙱𝙾𝚃 𝙰 𝚃𝚄 𝙶𝚁𝚄𝙿𝙾 />*\n\n*𝙷𝙾𝙻𝙰 𝚄𝚂𝚄𝙰𝚁𝙸𝙾/𝙰*\n*𝙿𝙰𝚁𝙰 𝚂𝙾𝙻𝙸𝙲𝙸𝚃𝙰𝚁 𝚄𝙽 𝙱𝙾𝚃 𝙰 𝚃𝚄 𝙶𝚁𝚄𝙿𝙾 𝚄𝚂𝙰 𝙴𝙻 𝙲𝙾𝙼𝙰𝙽𝙳𝙾 #join 𝙼𝙰𝚂 𝙴𝙻 𝙴𝙽𝙻𝙰𝙲𝙴 𝙳𝙴 𝚃𝚄 𝙶𝚁𝚄𝙿𝙾*\n\n*—◉ 𝙴𝙹𝙴𝙼𝙿𝙻𝙾:*\n*◉ #join* https://chat.whatsapp.com/LwPNmhUV8P76isIyFgEK8E`.trim() 14 | this.sendHydrated(m.chat, join, wm, imagen4, 'https://www.paypal.me/NeKosmicOFC', '𝙿𝙰𝚈𝙿𝙰𝙻', null, null, [[null, null]], m)} 15 | 16 | 17 | return !0 } 18 | export default handler 19 | -------------------------------------------------------------------------------- /plugins/_cmdWithMedia.js: -------------------------------------------------------------------------------- 1 | const { 2 | proto, 3 | generateWAMessage, 4 | areJidsSameUser 5 | } = (await import('@adiwajshing/baileys')).default 6 | 7 | export async function all(m, chatUpdate) { 8 | if (m.isBaileys) return 9 | if (!m.message) return 10 | if (!m.msg.fileSha256) return 11 | if (!(Buffer.from(m.msg.fileSha256).toString('base64') in global.db.data.sticker)) return 12 | 13 | let hash = global.db.data.sticker[Buffer.from(m.msg.fileSha256).toString('base64')] 14 | let { text, mentionedJid } = hash 15 | let messages = await generateWAMessage(m.chat, { text: text, mentions: mentionedJid }, { 16 | userJid: this.user.id, 17 | quoted: m.quoted && m.quoted.fakeObj 18 | }) 19 | messages.key.fromMe = areJidsSameUser(m.sender, this.user.id) 20 | messages.key.id = m.key.id 21 | messages.pushName = m.pushName 22 | if (m.isGroup) messages.participant = m.sender 23 | let msg = { 24 | ...chatUpdate, 25 | messages: [proto.WebMessageInfo.fromObject(messages)], 26 | type: 'append' 27 | } 28 | this.ev.emit('messages.upsert', msg) 29 | } 30 | -------------------------------------------------------------------------------- /plugins/_fuctions.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, usedPrefix, command, text }) => { 2 | 3 | function message1(text) { 4 | let prep = generateWAMessageFromContent(m.chat, { extendedTextMessage: { text: text, contextInfo: { externalAdReply: { title: 'ᴛʜᴇ ᴍʏsᴛɪᴄ - ʙᴏᴛ', body: null, thumbnail: imagen1, sourceUrl: 'https://github.com/BrunoSobrino/TheMystic-Bot-MD' }, mentionedJid: [m.sender] }}}, { quoted: m }) 5 | conn.relayMessage(m.chat, prep.message, { messageId: prep.key.id, mentions: [m.sender] })} 6 | global.replyAdd = message1 7 | } 8 | handler.command = /^(prueba)$/i 9 | export default handler 10 | -------------------------------------------------------------------------------- /plugins/_premium.js: -------------------------------------------------------------------------------- 1 | let handler = m => m 2 | export async function all(m) { 3 | let user = global.db.data.users[m.sender] 4 | if (m.chat.endsWith('broadcast')) return 5 | if (user.premiumTime != 0 && user.premium) { 6 | if (new Date() * 1 >= user.premiumTime) { 7 | await m.reply(`*@${m.sender.split`@`[0]} ¡𝚂𝙴 𝙰𝙲𝙰𝙱𝙾 𝚃𝚄 𝚃𝙸𝙴𝙼𝙿𝙾 𝙳𝙴 𝙿𝚁𝙴𝙼𝙸𝚄𝙼!*\n𝚂𝙸 𝚀𝚄𝙸𝙴𝚁𝙴𝚂 𝙾𝙱𝚃𝙴𝙽𝙴𝚁 𝚄𝙽 𝙽𝚄𝙴𝚅𝙾 𝙿𝙰𝚂𝙴 𝚄𝚂𝙰 𝙴𝙻 𝙲𝙾𝙼𝙰𝙽𝙳𝙾\n*#pase premium*`, false, { mentions: [m.sender] }) 8 | user.premiumTime = 0 9 | user.premium = false 10 | }}} 11 | -------------------------------------------------------------------------------- /plugins/_wel&bye.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text, usedPrefix, command, customPrefix }) => { 2 | let stikerwelgc = "./src/welgc.webp" 3 | let stikerbyegc = "./src/byegc.webp" 4 | if (command == 'welcomegc') { 5 | conn.sendFile(m.chat, stikerwelgc, 'sticker.webp', null, m, false, { 6 | contextInfo: { externalAdReply: { title: 'Shizu - Bot', body: 'Shizu-Hub', sourceUrl: `https://github.com/Shizu-Hub/Shizu-Bot-MD`, thumbnail: imagen1}}}) 7 | } 8 | if (command == 'byegc') { 9 | conn.sendFile(m.chat, stikerbyegc, 'sticker.webp', null, m, false, { 10 | contextInfo: { externalAdReply: { title: 'Shizu - Bot', body: 'Shizu-Hub', sourceUrl: `https://github.com/Shizu-Hub/Shizu-Bot-MD`, thumbnail: imagen1}}}) 11 | }} 12 | handler.command = ['welcomegc', 'byegc'] 13 | export default handler 14 | function pickRandom(list) { 15 | return list[Math.floor(list.length * Math.random())]} 16 | -------------------------------------------------------------------------------- /plugins/adult-xvideosdl.js: -------------------------------------------------------------------------------- 1 | import fetch from 'node-fetch' 2 | let handler = async (m, { conn, args, command, usedPrefix }) => { 3 | if (!db.data.chats[m.chat].modohorny && m.isGroup) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝙻𝙾𝚂 𝙲𝙾𝙼𝙰𝙽𝙳𝙾𝚂 +𝟷𝟾 𝙴𝚂𝚃𝙰𝙽 𝙳𝙴𝚂𝙰𝙲𝚃𝙸𝚅𝙰𝙳𝙾𝚂 𝙴𝙽 𝙴𝚂𝚃𝙴 𝙶𝚁𝚄𝙿𝙾, 𝚂𝙸 𝙴𝚂 𝙰𝙳𝙼𝙸𝙽 𝚈 𝙳𝙴𝚂𝙴𝙰 𝙰𝙲𝚃𝙸𝚅𝙰𝚁𝙻𝙾𝚂 𝚄𝚂𝙴 𝙴𝙻 𝙲𝙾𝙼𝙰𝙽𝙳𝙾 #enable modohorny*' 4 | if (!args[0]) throw `*[❗𝐈𝐍𝐅𝐎❗] 𝙸𝙽𝙶𝚁𝙴𝚂𝙴 𝚄𝙽 𝙴𝙽𝙻𝙰𝙲𝙴 𝚅𝙰𝙻𝙸𝙳𝙾 𝙳𝙴 𝚇𝚅𝙸𝙳𝙴𝙾𝚂, 𝙴𝙹𝙴𝙼𝙿𝙻𝙾: ${usedPrefix + command} https://www.xvideos.com/video70389849/pequena_zorra_follada_duro*` 5 | try { 6 | await conn.reply(m.chat, '[❗] 𝐸𝑙 𝑣𝑖𝑑𝑒𝑜 𝑒𝑠𝑡𝑎 𝑠𝑖𝑒𝑛𝑑𝑜 𝑝𝑟𝑜𝑐𝑒𝑠𝑎𝑑𝑜, 𝑒𝑠𝑝𝑒𝑟𝑒 𝑢𝑛 𝑚𝑜𝑚𝑒𝑛𝑡𝑜 𝑒𝑛 𝑙𝑜 𝑞𝑢𝑒 𝑒𝑠 𝑒𝑛𝑣𝑖𝑎𝑑𝑜..\n\n﹣ ᴇʟ ᴛɪᴇᴍᴘᴏ ᴅᴇ ᴇɴᴠɪᴏ ᴅᴇᴘᴇɴᴅᴇ ᴅᴇʟ ᴘᴇsᴏ ʏ ᴅᴜʀᴀᴄɪᴏ́ɴ ᴅᴇʟ ᴠɪᴅᴇᴏ', m) 7 | let res = await fetch(`https://zenzapis.xyz/downloader/xvideos?apikey=${keysxxx}&url=`+args[0]) 8 | let json = await res.json() 9 | conn.sendMessage(m.chat, { document: { url: json.result.files.high }, mimetype: 'video/mp4', fileName: json.result.title }, { quoted: m }) 10 | } catch (e) { 11 | m.reply('*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝚁𝚁𝙾𝚁, 𝙿𝙾𝚁 𝙵𝙰𝚅𝙾𝚁 𝚅𝚄𝙴𝙻𝚅𝙰 𝙰 𝙸𝙽𝚃𝙴𝙽𝚃𝙰𝚁𝙻𝙾*\n\n*- 𝙲𝙾𝚁𝚁𝙾𝙱𝙾𝚁𝙴 𝚀𝚄𝙴 𝙴𝙻 𝙴𝙽𝙻𝙰𝙲𝙴 𝚂𝙴𝙰 𝚂𝙸𝙼𝙸𝙻𝙰𝚁 𝙰:*\n*◉ https://www.xvideos.com/video70389849/pequena_zorra_follada_duro*') 12 | }} 13 | handler.command = /^(xvideosdl)$/i 14 | export default handler 15 | -------------------------------------------------------------------------------- /plugins/afk-afk.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { text }) => { 2 | let user = global.db.data.users[m.sender] 3 | user.afk = + new Date 4 | user.afkReason = text 5 | m.reply(`*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝙻 𝚄𝚂𝚄𝙰𝚁𝙸𝙾 ${conn.getName(m.sender)} 𝙴𝚂𝚃𝙰𝚁𝙰 𝙸𝙽𝙰𝙲𝚃𝙸𝚅𝙾 (𝙰𝙵𝙺), 𝙿𝙾𝚁 𝙵𝙰𝚅𝙾𝚁 𝙽𝙾 𝙻𝙾 𝙴𝚃𝙸𝚀𝚄𝙴𝚃𝙴𝙽*\n\n*—◉ 𝙼𝙾𝚃𝙸𝚅𝙾 𝙳𝙴 𝙻𝙰 𝙸𝙽𝙰𝙲𝚃𝙸𝚅𝙸𝙳𝙰𝙳 (𝙰𝙵𝙺)${text ? ': ' + text : ''}* 6 | `)} 7 | handler.help = ['afk [alasan]'] 8 | handler.tags = ['main'] 9 | handler.command = /^afk$/i 10 | export default handler 11 | -------------------------------------------------------------------------------- /plugins/anonymous_chat_.js.js: -------------------------------------------------------------------------------- 1 | export async function before(m, { match }) { 2 | // if (match) return !1 3 | if (!m.chat.endsWith('@s.whatsapp.net')) 4 | return !0 5 | this.anonymous = this.anonymous ? this.anonymous : {} 6 | let room = Object.values(this.anonymous).find(room => [room.a, room.b].includes(m.sender) && room.state === 'CHATTING') 7 | if (room) { 8 | if (/^.*(next|leave|start)/.test(m.text)) 9 | return 10 | let other = [room.a, room.b].find(user => user !== m.sender) 11 | await m.copyNForward(other, true) 12 | } 13 | return !0 14 | } -------------------------------------------------------------------------------- /plugins/buscador-google.js: -------------------------------------------------------------------------------- 1 | import { googleIt } from '@bochilteam/scraper' 2 | let handler = async (m, { conn, command, args }) => { 3 | const fetch = (await import('node-fetch')).default 4 | let full = /f$/i.test(command) 5 | let text = args.join` ` 6 | if (!text) return conn.reply(m.chat, '*[❗𝐈𝐍𝐅𝐎❗] 𝙸𝙽𝙶𝚁𝙴𝚂𝙴 𝙴𝙻 𝚃𝙴𝚇𝚃𝙾 𝙾 𝚃𝙴𝙼𝙰 𝚀𝚄𝙴 𝙳𝙴𝚂𝙴𝙴 𝙱𝚄𝚂𝙲𝙰𝚁*', m) 7 | let url = 'https://google.com/search?q=' + encodeURIComponent(text) 8 | let search = await googleIt(text) 9 | let msg = search.articles.map(({ 10 | // header, 11 | title, 12 | url, 13 | description 14 | }) => { 15 | return `*${title}*\n_${url}_\n_${description}_` 16 | }).join('\n\n') 17 | try { 18 | let ss = await (await fetch(global.API('nrtm', '/api/ssweb', { delay: 1000, url, full }))).arrayBuffer() 19 | if (//i.test(ss.toBuffer().toString())) throw '' 20 | await conn.sendFile(m.chat, ss, 'error.png', url + '\n\n' + msg, m) 21 | } catch (e) { 22 | m.reply(msg) 23 | }} 24 | handler.help = ['google', 'googlef'].map(v => v + ' ') 25 | handler.tags = ['internet'] 26 | handler.command = /^googlef?$/i 27 | export default handler 28 | -------------------------------------------------------------------------------- /plugins/buscador-playstore.js: -------------------------------------------------------------------------------- 1 | import fetch from 'node-fetch' 2 | let handler = async (m, { conn, text, args }) => { 3 | if (!args[0]) throw `*[❗] 𝙸𝙽𝙶𝚁𝙴𝙴𝚂𝙴 𝙴𝙻 𝙽𝙾𝙼𝙱𝚁𝙴 𝙳𝙴 𝙻𝙰 𝙰𝙿𝙺 𝚀𝚄𝙴 𝚀𝚄𝙸𝙴𝚁𝙰 𝙱𝚄𝚂𝙲𝙰𝚁*` 4 | try { 5 | let enc = encodeURIComponent(text) 6 | let json = await fetch(`https://latam-api.vercel.app/api/playstore?apikey=brunosobrino&q=${enc}`) 7 | let gPlay = await json.json() 8 | let lol = await fetch(`https://api.lolhuman.xyz/api/translate/auto/es?apikey=85faf717d0545d14074659ad&text=${gPlay.descripcion}`) 9 | let loll = await lol.json() 10 | let mystic = loll.result.translated 11 | if (!gPlay.titulo) return m.reply(`[ ! ] Sin resultados`) 12 | conn.sendMessage(m.chat,{image:{url: gPlay.imagen},caption:`🔍 Resultado: ${gPlay.titulo} 13 | 🧬 Identificador: ${gPlay.id} 14 | ⛓️ Link: ${gPlay.link} 15 | 🖼️ Imagen: ${gPlay.imagen} 16 | ✍️ Desarrollador: ${gPlay.desarrollador} 17 | 📜 Descripcion: ${mystic} 18 | 💲 Moneda: ${gPlay.moneda} 19 | 🎭 Gratis?: ${gPlay.gratis} 20 | 💸 Precio: ${gPlay.precio} 21 | 📈 Puntuacion: ${gPlay.puntuacion}`},{quoted:m}) 22 | } catch { 23 | await m.reply('*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝚁𝚁𝙾𝚁, 𝙿𝙾𝚁 𝙵𝙰𝚅𝙾𝚁 𝚅𝚄𝙴𝙻𝚅𝙰 𝙰 𝙸𝙽𝚃𝙴𝙽𝚃𝙰𝚁𝙻𝙾*') 24 | }} 25 | handler.help = ['playstore '] 26 | handler.tags = ['internet'] 27 | handler.command = /^(playstore)$/i 28 | export default handler 29 | -------------------------------------------------------------------------------- /plugins/buscador-stickersearch.js: -------------------------------------------------------------------------------- 1 | 2 | /* Created By https://github.com/ALBERTO9883 */ 3 | import fs from 'fs' 4 | import fetch from 'node-fetch' 5 | import { googleImage } from '@bochilteam/scraper' 6 | let handler = async (m, {text, usedPrefix, command, conn}) => { 7 | if (!text) throw `*[❗] 𝙸𝙽𝙶𝚁𝙴𝚂𝙴 𝙴𝙻 𝙽𝙾𝙼𝙱𝚁𝙴 𝙳𝙴𝙻 𝙿𝙰𝚀𝚄𝙴𝚃𝙴 𝚀𝚄𝙴 𝙳𝙴𝚂𝙴𝙴 𝙱𝚄𝚂𝙲𝙰𝚁*` 8 | try { 9 | const res2 = await googleImage(text) 10 | let sfoto = res2.getRandom() 11 | let json = await fetch(`https://api.lolhuman.xyz/api/stickerwa?apikey=85faf717d0545d14074659ad&query=${text}`) 12 | let jsons = await json.json() 13 | let { stickers } = jsons.result[0] 14 | let res = jsons.result.map((v, index) => `🌅 • Resultado: ${1 + index}\n*🥗 • Nombre:* ${v.title}\n*🐢 • Autor:* ${v.author}\n*🍂 • Url:* ${v.url}`).join`\n\n───\n\n` 15 | await conn.sendFile(m.chat, sfoto, 'error.jpg', res, m) 16 | } catch { 17 | await m.reply('*[❗] 𝙴𝚁𝚁𝙾𝚁, 𝙿𝙾𝚁 𝙵𝙰𝚅𝙾𝚁 𝚅𝚄𝙴𝙻𝚅𝙰 𝙰 𝙸𝙽𝚃𝙴𝚁𝙽𝚃𝙰𝚁𝙻𝙾*')}} 18 | handler.command = ['stickersearch', 'searchsticker', 'stickerssearch', 'searchstickers'] 19 | export default handler 20 | -------------------------------------------------------------------------------- /plugins/buscador-yts.js: -------------------------------------------------------------------------------- 1 | import { youtubeSearch } from '@bochilteam/scraper' 2 | let handler = async (m, { text }) => { 3 | if (!text) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝙸𝙽𝚂𝙴𝚁𝚃𝙴 𝙴𝙻 𝙽𝙾𝙼𝙱𝚁𝙴 𝙳𝙴 𝙰𝙻𝙶𝚄𝙽 𝚅𝙸𝙳𝙴𝙾 𝙾 𝙲𝙰𝙽𝙰𝙻 𝙳𝙴 𝚈𝙾𝚄𝚃𝚄𝙱𝙴*' 4 | const { video, channel } = await youtubeSearch(text) 5 | let teks = [...video, ...channel].map(v => { 6 | switch (v.type) { 7 | case 'video': return ` 8 | 📌 *${v.title}* (${v.url}) 9 | ⌚ 𝙳𝚞𝚛𝚊𝚌𝚒𝚘𝚗: ${v.durationH} 10 | ⏲️ 𝙿𝚞𝚋𝚕𝚒𝚌𝚊𝚍𝚘 ${v.publishedTime} 11 | 👁️ ${v.view} 𝚟𝚒𝚜𝚝𝚊𝚜 12 | `.trim() 13 | case 'channel': return ` 14 | 📌 *${v.channelName}* (${v.url}) 15 | 🧑‍🤝‍🧑 _${v.subscriberH} 𝚜𝚞𝚜𝚌𝚛𝚒𝚙𝚝𝚘𝚛𝚎𝚜_ 16 | 🎥 ${v.videoCount} 𝚟𝚒𝚍𝚎𝚘𝚜 17 | `.trim() 18 | } 19 | }).filter(v => v).join('\n\n========================\n\n') 20 | m.reply(teks) 21 | } 22 | handler.help = ['', 'earch'].map(v => 'yts' + v + ' ') 23 | handler.tags = ['tools'] 24 | handler.command = /^yts(earch)?$/i 25 | export default handler 26 | -------------------------------------------------------------------------------- /plugins/convertidor-togifaud.js: -------------------------------------------------------------------------------- 1 | /* 𝐂𝐑𝐄𝐀𝐃𝐎 𝐏𝐎𝐑 https://github.com/BrunoSobrino */ 2 | 3 | let handler = async (m, { conn, usedPrefix, command }) => { 4 | if (!m.quoted) throw `*[❗𝐈𝐍𝐅𝐎❗] 𝚁𝙴𝚂𝙿𝙾𝙽𝙳𝙰 𝙰 𝚄𝙽 𝚅𝙸𝙳𝙴𝙾 𝚀𝚄𝙴 𝙳𝙴𝚂𝙴𝙴 𝙲𝙾𝙽𝚅𝙴𝚁𝚃𝙸𝚁 𝙴𝙽 𝙶𝙸𝙵 𝙲𝙾𝙽 𝙰𝚄𝙳𝙸𝙾*` 5 | const q = m.quoted || m 6 | let mime = (q.msg || q).mimetype || '' 7 | if (!/(mp4)/.test(mime)) throw `*[❗] 𝙴𝙻 𝚃𝙸𝙿𝙾 𝙳𝙴 𝙰𝚁𝙲𝙷𝙸𝚅𝙾 ${mime} 𝙽𝙾 𝙴𝚂 𝙲𝙾𝚁𝚁𝙴𝙲𝚃𝙾, 𝚁𝙴𝚂𝙿𝙾𝙽𝙳𝙰 𝙰 𝚄𝙽 𝚅𝙸𝙳𝙴𝙾 𝚀𝚄𝙴 𝙳𝙴𝚂𝙴𝙴 𝙲𝙾𝙽𝚅𝙴𝚁𝚃𝙸𝚁 𝙴𝙽 𝙶𝙸𝙵 𝙲𝙾𝙽 𝙰𝚄𝙳𝙸𝙾*` 8 | m.reply(global.wait) 9 | let media = await q.download() 10 | conn.sendMessage(m.chat, { video: media, gifPlayback: true, caption: '*ᴀϙᴜɪ ᴇsᴛᴀ sᴜ ɢɪғ ᴄᴏɴ ᴀᴜᴅɪᴏ, ᴀʟ ᴀʙʀɪʀʟᴏ sᴇ ʀᴇᴘʀᴏᴅᴜᴄᴇ ᴄᴏɴ ᴀᴜᴅɪᴏ*' }, { quoted: m })} 11 | handler.command = ['togifaud'] 12 | export default handler 13 | -------------------------------------------------------------------------------- /plugins/convertidor-toimg.js: -------------------------------------------------------------------------------- 1 | import { webp2png } from '../lib/webp2mp4.js' 2 | let handler = async (m, { conn, usedPrefix, command }) => { 3 | const notStickerMessage = `*[❗𝐈𝐍𝐅𝐎❗] 𝚁𝙴𝚂𝙿𝙾𝙽𝙳𝙰 𝙰𝙻 𝚂𝚃𝙸𝙲𝙺𝙴𝚁 𝚀𝚄𝙴 𝙳𝙴𝚂𝙴𝙴 𝙲𝙾𝙽𝚅𝙴𝚁𝚃𝙸𝚁 𝙴𝙽 𝙸𝙼𝙰𝙶𝙴𝙽 𝙲𝙾𝙽 𝙴𝙻 𝙲𝙾𝙼𝙰𝙽𝙳𝙾 ${usedPrefix + command}*` 4 | if (!m.quoted) throw notStickerMessage 5 | const q = m.quoted || m 6 | let mime = q.mediaType || '' 7 | if (!/sticker/.test(mime)) throw notStickerMessage 8 | let media = await q.download() 9 | let out = await webp2png(media).catch(_ => null) || Buffer.alloc(0) 10 | await conn.sendFile(m.chat, out, 'error.png', null, m) 11 | } 12 | handler.help = ['toimg (reply)'] 13 | handler.tags = ['sticker'] 14 | handler.command = ['toimg', 'jpg', 'img'] 15 | export default handler 16 | -------------------------------------------------------------------------------- /plugins/convertidor-tomp3.js: -------------------------------------------------------------------------------- 1 | import { toAudio } from '../lib/converter.js' 2 | let handler = async (m, { conn, usedPrefix, command }) => { 3 | let q = m.quoted ? m.quoted : m 4 | let mime = (m.quoted ? m.quoted : m.msg).mimetype || '' 5 | if (!/video|audio/.test(mime)) throw `𝑹𝒆𝒔𝒑𝒐𝒏𝒅𝒂 𝒂 𝒖𝒏 𝒗𝒊́𝒅𝒆𝒐 𝒐 𝒏𝒐𝒕𝒂 𝒅𝒆 𝒗𝒐𝒛 𝒑𝒂𝒓𝒂 𝒄𝒐𝒏𝒗𝒆𝒓𝒕𝒊𝒓 𝒖𝒏 𝒂𝒖𝒅𝒊𝒐 𝑴𝑷3` 6 | let media = await q.download?.() 7 | if (!media && !/video/.test(mime)) throw `𝑵𝒐 𝒑𝒖𝒅𝒆 𝒅𝒆𝒔𝒄𝒂𝒓𝒈𝒂𝒓 𝒆𝒍 𝒗𝒊́𝒅𝒆𝒐, 𝒊𝒏𝒕𝒆𝒏𝒕𝒆́ 𝒏𝒖𝒆𝒗𝒂𝒎𝒆𝒏𝒕𝒆` 8 | if (!media && !/audio/.test(mime)) throw `𝑵𝒐 𝒔𝒆́ 𝒍𝒐𝒈𝒓𝒐 𝒅𝒆𝒔𝒄𝒂𝒓𝒈𝒂𝒓 𝒍𝒂 𝒏𝒐𝒕𝒂 𝒅𝒆 𝒗𝒐𝒛, 𝒊𝒏𝒕𝒆𝒏𝒕𝒆́ 𝒏𝒖𝒆𝒗𝒂𝒎𝒆𝒏𝒕𝒆` 9 | let audio = await toAudio(media, 'mp4') 10 | if (!audio.data && !/audio/.test(mime)) throw `𝑵𝒐 𝒔𝒆́ 𝒍𝒐𝒈𝒓𝒐 𝒄𝒐𝒏𝒗𝒆𝒓𝒕𝒊𝒓 𝒔𝒖 𝒏𝒐𝒕𝒂 𝒅𝒆 𝒗𝒐𝒛 𝒂 𝒂𝒖𝒅𝒊𝒐 𝑴𝑷3 𝑰𝒏𝒕𝒆𝒏𝒕𝒆́ 𝒅𝒆 𝒏𝒖𝒆𝒗𝒐 𝒎𝒂́𝒔 𝒕𝒂𝒓𝒅𝒆.` 11 | if (!audio.data && !/video/.test(mime)) throw `𝑵𝒐 𝒔𝒆́ 𝒍𝒐𝒈𝒓𝒐 𝒄𝒐𝒏𝒗𝒆𝒓𝒕𝒊𝒓 𝒔𝒖 𝒏𝒐𝒕𝒂 𝒅𝒆 𝒗𝒐𝒛 𝒂 𝒂𝒖𝒅𝒊𝒐 𝑴𝑷3 𝑰𝒏𝒕𝒆𝒏𝒕𝒆́ 𝒅𝒆 𝒏𝒖𝒆𝒗𝒐 𝒎𝒂́𝒔 𝒕𝒂𝒓𝒅𝒆.` 12 | conn.sendFile(m.chat, audio.data, 'error.mp3', '', m, null, { mimetype: 'audio/mp4' }) 13 | } 14 | handler.help = ['tomp3 (reply)'] 15 | handler.tags = ['audio'] 16 | handler.command = ['tomp3', 'toaudio', 'mp3'] 17 | export default handler 18 | -------------------------------------------------------------------------------- /plugins/convertidor-tourl.js: -------------------------------------------------------------------------------- 1 | import uploadFile from '../lib/uploadFile.js' 2 | import uploadImage from '../lib/uploadImage.js' 3 | let handler = async (m) => { 4 | let q = m.quoted ? m.quoted : m 5 | let mime = (q.msg || q).mimetype || '' 6 | if (!mime) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝚁𝙴𝚂𝙿𝙾𝙽𝙳𝙰 𝙰 𝚄𝙽𝙰 𝙸𝙼𝙰𝙶𝙴𝙽 𝙾 𝚅𝙸𝙳𝙴𝙾 𝙴𝙻 𝙲𝚄𝙰𝙻 𝚂𝙴𝚁𝙰 𝙲𝙾𝙽𝚅𝙴𝚁𝚃𝙸𝙳𝙾 𝙰 𝙴𝙽𝙻𝙰𝙲𝙴*' 7 | let media = await q.download() 8 | let isTele = /image\/(png|jpe?g|gif)|video\/mp4/.test(mime) 9 | let link = await (isTele ? uploadImage : uploadFile)(media) 10 | m.reply(`*𝙴𝙽𝙻𝙰𝙲𝙴 𝙰 𝚂𝚄 𝙰𝚁𝙲𝙷𝙸𝚅𝙾:* ${link}`) 11 | } 12 | handler.help = ['tourl '] 13 | handler.tags = ['sticker'] 14 | handler.command = /^(upload|tourl)$/i 15 | export default handler 16 | -------------------------------------------------------------------------------- /plugins/convertidor-tovideo.js: -------------------------------------------------------------------------------- 1 | import { webp2mp4 } from '../lib/webp2mp4.js' 2 | import { ffmpeg } from '../lib/converter.js' 3 | let handler = async (m, { conn, usedPrefix, command }) => { 4 | if (!m.quoted) throw `*[❗𝐈𝐍𝐅𝐎❗] 𝚁𝙴𝚂𝙿𝙾𝙽𝙳𝙰 𝙰 𝚄𝙽 𝚂𝚃𝙸𝙲𝙺𝙴𝚁 𝚀𝚄𝙴 𝙳𝙴𝚂𝙴𝙴 𝙲𝙾𝙽𝚅𝙴𝚁𝚃𝙸𝚁 𝙴𝙽 𝚅𝙸𝙳𝙴𝙾 𝙲𝙾𝙽 𝙴𝙻 𝙲𝙾𝙼𝙰𝙽𝙳𝙾 ${usedPrefix + command}*` 5 | let mime = m.quoted.mimetype || '' 6 | if (!/webp/.test(mime)) throw `*[❗𝐈𝐍𝐅𝐎❗] 𝚁𝙴𝚂𝙿𝙾𝙽𝙳𝙰 𝙰 𝚄𝙽 𝚂𝚃𝙸𝙲𝙺𝙴𝚁 𝚀𝚄𝙴 𝙳𝙴𝚂𝙴𝙴 𝙲𝙾𝙽𝚅𝙴𝚁𝚃𝙸𝚁 𝙴𝙽 𝚅𝙸𝙳𝙴𝙾 𝙲𝙾𝙽 𝙴𝙻 𝙲𝙾𝙼𝙰𝙽𝙳𝙾 ${usedPrefix + command}*` 7 | let media = await m.quoted.download() 8 | let out = Buffer.alloc(0) 9 | if (/webp/.test(mime)) { 10 | out = await webp2mp4(media) 11 | } else if (/audio/.test(mime)) { 12 | out = await ffmpeg(media, [ 13 | '-filter_complex', 'color', 14 | '-pix_fmt', 'yuv420p', 15 | '-crf', '51', 16 | '-c:a', 'copy', 17 | '-shortest' 18 | ], 'mp3', 'mp4') 19 | } 20 | await conn.sendFile(m.chat, out, 'error.mp4', '*DONE*', m, 0, { thumbnail: out }) 21 | } 22 | handler.help = ['tovideo'] 23 | handler.tags = ['sticker'] 24 | handler.command = ['tovideo', 'tomp4', 'mp4', 'togif'] 25 | export default handler 26 | -------------------------------------------------------------------------------- /plugins/convertidor-tts.js: -------------------------------------------------------------------------------- 1 | import gtts from 'node-gtts' 2 | import { readFileSync, unlinkSync } from 'fs' 3 | import { join } from 'path' 4 | 5 | const defaultLang = 'es' 6 | let handler = async (m, { conn, args, usedPrefix, command }) => { 7 | 8 | let lang = args[0] 9 | let text = args.slice(1).join(' ') 10 | if ((args[0] || '').length !== 2) { 11 | lang = defaultLang 12 | text = args.join(' ') 13 | } 14 | if (!text && m.quoted?.text) text = m.quoted.text 15 | 16 | let res 17 | try { res = await tts(text, lang) } 18 | catch (e) { 19 | m.reply(e + '') 20 | text = args.join(' ') 21 | if (!text) throw `*[❗𝐈𝐍𝐅𝐎❗] 𝙸𝙽𝚂𝙴𝚁𝚃𝙴 𝙴𝙻 𝚃𝙴𝚇𝚃𝙾 𝚀𝚄𝙴 𝚀𝚄𝙸𝙴𝚁𝙰 𝙲𝙾𝙽𝚅𝙴𝚁𝚃𝙸𝚁 𝙰 𝙽𝙾𝚃𝙰 𝙳𝙴 𝚅𝙾𝚉, 𝙴𝙹𝙴𝙼𝙿𝙻𝙾: ${usedPrefix + command} es Hola Mundo*` 22 | res = await tts(text, defaultLang) 23 | } finally { 24 | if (res) conn.sendFile(m.chat, res, 'tts.opus', null, m, true) 25 | }} 26 | handler.help = ['tts '] 27 | handler.tags = ['tools'] 28 | handler.command = /^g?tts$/i 29 | export default handler 30 | 31 | function tts(text, lang = 'es') { 32 | console.log(lang, text) 33 | return new Promise((resolve, reject) => { 34 | try { 35 | let tts = gtts(lang) 36 | let filePath = join(global.__dirname(import.meta.url), '../tmp', (1 * new Date) + '.wav') 37 | tts.save(filePath, text, () => { 38 | resolve(readFileSync(filePath)) 39 | unlinkSync(filePath) 40 | }) 41 | } catch (e) { reject(e) } 42 | })} 43 | -------------------------------------------------------------------------------- /plugins/cuentas-canva.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | conn.reply(m.chat,`*┌────「 CANVA PRO 」─*\n*“${pickRandom(global.canva)}”*\n*└────「 CUENTA GENERADA 」─*`, m) 3 | } 4 | handler.help = ['canva'] 5 | handler.tags = ['fun'] 6 | handler.limit = 5 7 | handler.command = /^canva/i 8 | export default handler 9 | 10 | function pickRandom(list) { 11 | return list[Math.floor(list.length * Math.random())] 12 | } 13 | 14 | global.canva = [ 15 | "Correo: haxiw46560@apparls.com Contraseña: @Shizu.hub", 16 | "Correo: nileh70762@admarz.com Contraseña: @Shizu.hub", 17 | "Correo: wbbhgym364@ondania.com Contraseña: @Shizu.hub", 18 | "Correo: hyalhuf331@profunivers.com Contraseña: @Shizu.hub", 19 | "Correo: hcbrrdy343@otelekom.com Contraseña: @Shizu.hub", 20 | "Correo: fptdujg530@ondania.com Contraseña: @Shizu.hub", 21 | "Correo: xepoli3895@apparls.com Contraseña: NeKosmic#123", 22 | 23 | ] 24 | -------------------------------------------------------------------------------- /plugins/cuentas-crunchyroll.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | conn.reply(m.chat,`*┌────「 CRUNCHYROLL」─*\n*“${pickRandom(global.crunchyroll)}”*\n*└────「 CUENTA GENERADA 」─*`, m) 3 | } 4 | handler.help = ['crunchyroll'] 5 | handler.tags = ['fun'] 6 | handler.limit = 5 7 | handler.command = /^crunchyroll/i 8 | export default handler 9 | 10 | function pickRandom(list) { 11 | return list[Math.floor(list.length * Math.random())] 12 | } 13 | 14 | global.crunchyroll = [ 15 | "👑CRUNCHYRROL PREMIUM👑 ✉CORREO: chrisbruton99@yahoo.com 🗝️CONTRASEÑA: Chbru176!", 16 | 17 | 18 | ] 19 | -------------------------------------------------------------------------------- /plugins/cuentas-disney.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | conn.reply(m.chat,`*┌────「 DISNEY+ 」─*\n*“${pickRandom(global.disney)}”*\n*└────「 CUENTA GENERADA 」─*`, m) 3 | } 4 | handler.help = ['disney'] 5 | handler.tags = ['fun'] 6 | handler.limit = 5 7 | handler.command = /^disney/i 8 | export default handler 9 | 10 | function pickRandom(list) { 11 | return list[Math.floor(list.length * Math.random())] 12 | } 13 | 14 | global.disney = [ 15 | "Correo: jetrueba2004@yahoo.com Contraseña: Amber305@", 16 | "Correo: jrod9613@yahoo.com Contraseña: Baseball87*", 17 | "Correo: dalofs2001@yahoo.com Contraseña: Chloecalla2", 18 | "Correo: shakirabartley@gmail.com Contraseña: P@pedog1", 19 | "Correo: eggencole@gmail.com Contraseña: Hunting97", 20 | "Correo: julien.bestron@gmail.com Contraseña: Sucesmoi54", 21 | "Correo: natalie@nativeno.com Contraseña: 4Me2know", 22 | 23 | ] 24 | -------------------------------------------------------------------------------- /plugins/cuentas-hbo.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | conn.reply(m.chat,`*┌────「 HBO 」─*\n*“${pickRandom(global.hbo)}”*\n*└────「 CUENTA GENERADA 」─*`, m) 3 | } 4 | handler.help = ['hbo'] 5 | handler.tags = ['fun'] 6 | handler.limit = 5 7 | handler.command = /^hbo/i 8 | export default handler 9 | 10 | function pickRandom(list) { 11 | return list[Math.floor(list.length * Math.random())] 12 | } 13 | 14 | global.hbo = [ 15 | "Correo: khaleelcooper@gmail.com Contraseña: Kcooper13", 16 | "Correo: lmccorkle9@gmail.com Contraseña: Leyshon1", 17 | "Correo: suzhaufler@gmail.com Contraseña: Dashlily1!", 18 | "Correo: wordofbin+3@gmail.com Contraseña: a1652100", 19 | "Correo: wordofbin+4@gmail.com Contraseña: a1632086", 20 | "Correo: wordofbin+5@gmail.com Contraseña: a1920203", 21 | "Correo: wordofbin+9@gmail.com Contraseña: a1692101", 22 | "Correo: wordofbin+10@gmail.com Contraseña: a4621057", 23 | 24 | ] 25 | -------------------------------------------------------------------------------- /plugins/cuentas-netflix.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | conn.reply(m.chat,`*┌────「 NETFLIX 」─*\n*“${pickRandom(global.netflix)}”*\n*└────「 CUENTA GENERADA 」─*`, m) 3 | } 4 | handler.help = ['netflix'] 5 | handler.tags = ['fun'] 6 | handler.command = /^netflix/i 7 | export default handler 8 | 9 | function pickRandom(list) { 10 | return list[Math.floor(list.length * Math.random())] 11 | } 12 | 13 | global.netflix = [ 14 | "Correo: ravindra1976@gmail.com Contraseña: FedJok!2 ", 15 | "Correo: lee.trak97@gmail.com Contraseña: Trac110797", 16 | "Correo: bonnabona@hotmail.com Contraseña: 030411", 17 | "Correo: luismendes@codifinanca.pt Contraseña: Lpsm1974149", 18 | "Correo: tonomtz@outlook.com Contraseña: Tono251309@", 19 | "Correo: dsmmesquita@hotmail.com Contraseña: scorpion1978", 20 | "Correo: jesusdecorme@gmail.com Contraseña: jona2004", 21 | "Correo: belarmino20424-2@hotmail.com Contraseña: 20242024 ", 22 | "Correo: pinardursen@gmail.com Contraseña: 260905", 23 | "Correo: maceprg@gmail.com Contraseña: hana3248", 24 | "Correo: neggan200@gmail.com Contraseña: aecio#300386", 25 | "Correo: fjsmith4@gmail.com Contraseña: Lpsm1974149", 26 | "Correo: tonomtz@outlook.com Contraseña: Tono251309@", 27 | "Correo: dsmmesquita@hotmail.com Contraseña: Workshop7269", 28 | 29 | ] 30 | -------------------------------------------------------------------------------- /plugins/cuentas-primevideo.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | conn.reply(m.chat,`*┌────「 PRIME VIDEO 」─*\n*“${pickRandom(global.primevideo)}”*\n*└────「 CUENTA GENERADA 」─*`, m) 3 | } 4 | handler.help = ['primevideo'] 5 | handler.tags = ['fun'] 6 | handler.limit = 2 7 | handler.command = /^prime/i 8 | export default handler 9 | 10 | function pickRandom(list) { 11 | return list[Math.floor(list.length * Math.random())] 12 | } 13 | 14 | global.primevideo = [ 15 | "Registrate en esta web https://dash.boxmineworld.com/register?ref=xGjnynVf y reclama tu cuenta en wa.me/34623442554 oferta valida hasta el 22/10/22", 16 | 17 | ] 18 | -------------------------------------------------------------------------------- /plugins/cuentas-star.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | conn.reply(m.chat,`*┌────「 STAR+ 」─*\n*“${pickRandom(global.star)}”*\n*└────「 CUENTA GENERADA 」─*`, m) 3 | } 4 | handler.help = ['star'] 5 | handler.tags = ['fun'] 6 | handler.limit = 2 7 | handler.command = /^star/i 8 | export default handler 9 | 10 | function pickRandom(list) { 11 | return list[Math.floor(list.length * Math.random())] 12 | } 13 | 14 | global.star = [ 15 | "Correo: gusmaojean3@gmail.com Contraseña: rosa1997", 16 | "Correo: joaocamposjr@yahoo.com.br Contraseña: Morf@2651", 17 | "Correo: romeroraposo@gmail.com Contraseña: esqueci99", 18 | "Correo: dbrunatventasml@gmail.com Contraseña: frusciante17", 19 | "Correo: fernando170894@gmail.com Contraseña: Fernand2", 20 | "Correo: celina.pirondi@terra.com.br Contraseña: 8uenaVista", 21 | 22 | ] 23 | -------------------------------------------------------------------------------- /plugins/cuentas-vpn.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | conn.reply(m.chat,`*┌────「 KEEPSOLID 」─*\n*“${pickRandom(global.vpn)}”*\n*└────「 CUENTA GENERADA 」─*`, m) 3 | } 4 | handler.help = ['vpn'] 5 | handler.tags = ['fun'] 6 | handler.limit = 5 7 | handler.command = /^vpn/i 8 | export default handler 9 | 10 | function pickRandom(list) { 11 | return list[Math.floor(list.length * Math.random())] 12 | } 13 | 14 | global.vpn = [ 15 | "Correo: behen71900@admarz.com Contraseña: @Shizu.hub", 16 | "Correo: nacar19667@apparls.com Contraseña: @Shizu.hub", 17 | "Correo: nekaso4157@ecipk.com Contraseña: @Shizu.hub", 18 | "Correo: xomel68728@admarz.com Contraseña: @Shizu.hub", 19 | "Correo: vawobeb465@apparls.com Contraseña: @Shizu.hub", 20 | "Correo: netad33153@ecipk.com Contraseña: @Shizu.hub", 21 | "Correo: sobeje2583@ecipk.com Contraseña: @Shizu.hub", 22 | "Correo: xepoli3895@apparls.com Contraseña: NeKosmic#321", 23 | 24 | ] 25 | -------------------------------------------------------------------------------- /plugins/downloader-gitclone.js: -------------------------------------------------------------------------------- 1 | import fetch from 'node-fetch' 2 | const regex = /(?:https|git)(?::\/\/|@)github\.com[\/:]([^\/:]+)\/(.+)/i 3 | let handler = async (m, { args, usedPrefix, command }) => { 4 | if (!args[0]) throw `*[❗𝐈𝐍𝐅𝐎❗] 𝙸𝙽𝙶𝚁𝙴𝚂𝙴 𝚄𝙽 𝙴𝙽𝙻𝙰𝙲𝙴 𝙳𝙴 𝙶𝙸𝚃𝙷𝚄𝙱, 𝙴𝙹𝙴𝙼𝙿𝙻𝙾: ${usedPrefix + command} https://github.com/Shizu-Hub/Shizu-Bot*` 5 | if (!regex.test(args[0])) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝙻𝙸𝙽𝙺 𝙸𝙽𝙲𝙾𝚁𝚁𝙴𝙲𝚃𝙾!*' 6 | let [_, user, repo] = args[0].match(regex) || [] 7 | repo = repo.replace(/.git$/, '') 8 | let url = `https://api.github.com/repos/${user}/${repo}/zipball` 9 | let filename = (await fetch(url, { method: 'HEAD' })).headers.get('content-disposition').match(/attachment; filename=(.*)/)[1] 10 | m.reply(`*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝚂𝙿𝙴𝚁𝙴 𝚄𝙽 𝙼𝙾𝙼𝙴𝙽𝚃𝙾 𝙴𝙽 𝙻𝙾 𝚀𝚄𝙴 𝙴𝙽𝚅𝙸𝙾 𝚂𝚄 𝙰𝚁𝙲𝙷𝙸𝚅𝙾, 𝚂𝙸 𝙴𝚂𝚃𝙴 𝙽𝙾 𝙴𝚂 𝙴𝙽𝚅𝙸𝙰𝙳𝙾 𝙿𝚄𝙴𝙳𝙴 𝙳𝙴𝙱𝙴𝚁𝚂𝙴 𝙰 𝚀𝚄𝙴 𝙴𝙻 𝚁𝙴𝙿𝙾𝚂𝙸𝚃𝙾𝚁𝙸𝙾 𝙴𝚂 𝙼𝚄𝚈 𝙿𝙴𝚂𝙰𝙳𝙾*`) 11 | conn.sendFile(m.chat, url, filename, null, m) 12 | } 13 | handler.help = ['gitclone '] 14 | handler.tags = ['downloader'] 15 | handler.command = /gitclone/i 16 | export default handler 17 | -------------------------------------------------------------------------------- /plugins/downloader-igstory.js: -------------------------------------------------------------------------------- 1 | /* CREDITOS A https://github.com/FG98F */ 2 | import axios from 'axios' 3 | import hx from 'hxz-api' 4 | let handler = async (m, { conn, args, usedPrefix, command, text}) => { 5 | if (!text) throw `*[❗𝐈𝐍𝐅𝐎❗] 𝙸𝙽𝙶𝚁𝙴𝚂𝙴 𝙴𝙻 𝙽𝙾𝙼𝙱𝚁𝙴 𝙳𝙴 𝚄𝙽 𝚄𝚂𝚄𝙰𝚁𝙸𝙾 𝙳𝙴 𝙸𝙽𝚂𝚃𝙰𝙶𝚁𝙰𝙼*\n\n*𝙴𝙹𝙴𝙼𝙿𝙻𝙾:*\n*${usedPrefix + command} luisitocomunica*` 6 | hx.igstory(text).then(async (result) => { 7 | for (let i of result.medias) { 8 | if (i.url.includes("mp4")) { 9 | conn.sendFile(m.chat, i.url, 'igstory.mp4', null, m) 10 | } else { 11 | conn.sendFile(m.chat, i.url, '', '', m) 12 | }}}); 13 | } 14 | handler.help = ['igstory '] 15 | handler.tags = ['downloader'] 16 | handler.command = ['igstory', 'ighistoria' ] 17 | export default handler 18 | -------------------------------------------------------------------------------- /plugins/downloader-imagen.js: -------------------------------------------------------------------------------- 1 | import { googleImage } from '@bochilteam/scraper' 2 | let handler = async (m, { conn, text, usedPrefix, command }) => { 3 | if (!text) throw `*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝙹𝙴𝙼𝙿𝙻𝙾 𝙳𝙴 𝚄𝚂𝙾 𝙳𝙴𝙻 𝙲𝙾𝙼𝙰𝙽𝙳𝙾 ${usedPrefix + command} Minecraft*` 4 | const res = await googleImage(text) 5 | let image = res.getRandom() 6 | let link = image 7 | conn.sendHydrated(m.chat, `🔎 *𝚁𝙴𝚂𝚄𝙻𝚃𝙰𝙳𝙾 𝙳𝙴:* ${text} 8 | 🌎 *𝙱𝚄𝙲𝙰𝙳𝙾𝚁:* Google 9 | `, author, link, link, '🔗 𝚄𝚁𝙻', null, null, [ 10 | ['🔄 𝚂𝙸𝙶𝚄𝙸𝙴𝙽𝚃𝙴 🔄', `/imagen ${text}`] 11 | ], m) 12 | } 13 | handler.help = ['gimage ', 'imagen '] 14 | handler.tags = ['internet', 'tools'] 15 | handler.command = /^(gimage|image|imagen)$/i 16 | export default handler 17 | -------------------------------------------------------------------------------- /plugins/downloader-mediafire.js: -------------------------------------------------------------------------------- 1 | 2 | import { mediafiredl } from '@bochilteam/scraper' 3 | let handler = async (m, { conn, args, usedPrefix, command }) => { 4 | if (!args[0]) throw `*[❗𝐈𝐍𝐅𝐎❗] 𝙸𝙽𝙶𝚁𝙴𝚂𝙴 𝚄𝙽 𝙴𝙽𝙻𝙰𝙲𝙴 𝚅𝙰𝙻𝙸𝙳𝙾 𝙳𝙴 𝙼𝙴𝙳𝙸𝙰𝙵𝙸𝚁𝙴, 𝙴𝙹𝙴𝙼𝙿𝙻𝙾: ${usedPrefix + command} https://www.mediafire.com/file/pbabuzyc7i8ord5/TheMystic-Bot-MD-master_%25285%2529.zip/file*` 5 | try { 6 | let res = await mediafiredl(args[0]) 7 | let { url, url2, filename, ext, aploud, filesize, filesizeH } = await res 8 | let caption = ` 9 | *📓 𝙽𝙾𝙼𝙱𝚁𝙴:* ${filename} 10 | *📁 𝙿𝙴𝚂𝙾:* ${filesizeH} 11 | *📄 𝚃𝙸𝙿𝙾:* ${ext} 12 | *⏳ 𝙴𝚂𝙿𝙴𝚁𝙴 𝙴𝙽 𝙻𝙾 𝚀𝚄𝙴 𝙴𝙽𝚅𝙸𝙾 𝚂𝚄 𝙰𝚁𝙲𝙷𝙸𝚅𝙾. . . .* 13 | `.trim() 14 | m.reply(caption) 15 | await conn.sendFile(m.chat, url, filename, '', m, null, { mimetype: ext, asDocument: true }) 16 | } catch { 17 | await m.reply('*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝚁𝚁𝙾𝚁, 𝙿𝙾𝚁 𝙵𝙰𝚅𝙾𝚁 𝚅𝚄𝙴𝙻𝚅𝙰 𝙰 𝙸𝙽𝚃𝙴𝙽𝚃𝙰𝚁𝙻𝙾*\n\n*- 𝙲𝙾𝚁𝚁𝙾𝙱𝙾𝚁𝙴 𝚀𝚄𝙴 𝙴𝙻 𝙴𝙽𝙻𝙰𝙲𝙴 𝚂𝙴𝙰 𝚂𝙸𝙼𝙸𝙻𝙰𝚁 𝙰:*\n*◉ https://www.mediafire.com/file/pbabuzyc7i8ord5/TheMystic-Bot-MD-master_%25285%2529.zip/file*') 18 | }} 19 | handler.help = ['mediafire'].map(v => v + ' ') 20 | handler.tags = ['downloader'] 21 | handler.command = /^(mediafire|mediafiredl|dlmediafire)$/i 22 | export default handler 23 | -------------------------------------------------------------------------------- /plugins/downloader-pinterest.js: -------------------------------------------------------------------------------- 1 | import { pinterest } from '@bochilteam/scraper' 2 | let handler = async(m, { conn, text, usedPrefix, command }) => { 3 | if (!text) throw `*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝙹𝙴𝙼𝙿𝙻𝙾 𝙳𝙴 𝚄𝚂𝙾 𝙳𝙴𝙻 𝙲𝙾𝙼𝙰𝙽𝙳𝙾 ${usedPrefix + command} Minecraft*` 4 | const json = await pinterest(text) 5 | conn.sendFile(m.chat, json.getRandom(), 'error.jpg', ` 6 | *𝚁𝙴𝚂𝚄𝙻𝚃𝙰𝙳𝙾𝚂 𝙳𝙴 𝙻𝙰 𝙱𝚄𝚂𝚀𝚄𝙴𝙳𝙰* 7 | ${text} 8 | `.trim(), m) 9 | } 10 | handler.help = ['pinterest '] 11 | handler.tags = ['internet'] 12 | handler.command = /^(pinterest)$/i 13 | export default handler 14 | -------------------------------------------------------------------------------- /plugins/downloader-play_v2.js: -------------------------------------------------------------------------------- 1 | import fetch from 'node-fetch' 2 | let handler = async (m, {command, conn, text}) => { 3 | if (!text) throw `[❗𝐈𝐍𝐅𝐎❗] 𝙽𝙾𝙼𝙱𝚁𝙴 𝙳𝙴 𝙻𝙰 𝙲𝙰𝙽𝙲𝙸𝙾𝙽 𝙵𝙰𝙻𝚃𝙰𝙽𝚃𝙴, 𝙿𝙾𝚁 𝙵𝙰𝚅𝙾𝚁 𝙸𝙽𝙶𝚁𝙴𝚂𝙴 𝙴𝙻 𝙲𝙾𝙼𝙰𝙽𝙳𝙾 𝙼𝙰𝚂 𝙴𝙻 𝙽𝙾𝙼𝙱𝚁𝙴/𝚃𝙸𝚃𝚄𝙻𝙾 𝙾 𝙴𝙽𝙻𝙰𝙲𝙴 𝙳𝙴 𝙰𝙻𝙶𝚄𝙽𝙰 𝙲𝙰𝙽𝙲𝙸𝙾𝙽 𝙾 𝚅𝙸𝙳𝙴𝙾 𝙳𝙴 𝚈𝙾𝚄𝚃𝚄𝙱𝙴\n\n*—◉ 𝙴𝙹𝙴𝙼𝙿𝙻𝙾:\n#play.1 Good Feeling - Flo Rida*` 4 | try { 5 | let res = await fetch(`https://api.lolhuman.xyz/api/ytplay2?apikey=${lolkeysapi}&query=${text}`) 6 | if (command == 'play.1') { 7 | conn.reply(m.chat, `*_⏳Sᴇ ᴇsᴛᴀ ᴘʀᴏᴄᴇsᴀɴᴅᴏ Sᴜ ᴀᴜᴅɪᴏ...⏳_*`, m) 8 | let json = await res.json() 9 | conn.sendFile(m.chat, json.result.audio, 'error.mp3', null, m, false, { mimetype: 'audio/mp4' })} 10 | if (command == 'play.2') { 11 | conn.reply(m.chat, `*_⏳Sᴇ ᴇsᴛᴀ ᴘʀᴏᴄᴇsᴀɴᴅᴏ Sᴜ ᴠɪᴅᴇᴏ...⏳_*`, m) 12 | let json = await res.json() 13 | conn.sendFile(m.chat, json.result.video, 'error.mp4', `_Aqui esta tu video_`, m)} 14 | } catch (e) { 15 | m.reply('*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝚁𝚁𝙾𝚁, 𝙿𝙾𝚁 𝙵𝙰𝚅𝙾𝚁 𝚅𝚄𝙴𝙻𝚅𝙰 𝙰 𝙸𝙽𝚃𝙴𝙽𝚃𝙰𝚁𝙻𝙾*') 16 | }} 17 | handler.help = ['play.1' , 'play.2'].map(v => v + ' ') 18 | handler.tags = ['downloader'] 19 | handler.command = ['play.1', 'play.2'] 20 | export default handler 21 | -------------------------------------------------------------------------------- /plugins/downloader-pptiktok.js: -------------------------------------------------------------------------------- 1 | import fetch from 'node-fetch' 2 | let handler = async (m, { conn, args, text }) => { 3 | if (!text) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝙸𝙽𝙶𝚁𝙴𝚂𝙴 𝙴𝙻 𝙽𝙾𝙼𝙱𝚁𝙴 𝙳𝙴 𝚄𝚂𝚄𝙰𝚁𝙸𝙾 𝙳𝙴 𝚄𝙽 𝚄𝚂𝚄𝙰𝚁𝙸𝙾 𝙳𝙴 𝚃𝙸𝙺𝚃𝙾𝙺*' 4 | let res = `https://api.lolhuman.xyz/api/pptiktok/${text}?apikey=${lolkeysapi}` 5 | conn.sendFile(m.chat, res, 'error.jpg', `*[ ✔ ] 𝙰𝚀𝚄𝙸 𝙴𝚂𝚃𝙰 𝙻𝙰 𝙵𝙾𝚃𝙾 𝙳𝙴 𝙿𝙴𝚁𝙵𝙸𝙻 𝙳𝙴 ${text}*`, m, false)} 6 | handler.help = ['tiktokfoto'].map(v => v + ' ') 7 | handler.tags = ['downloader'] 8 | handler.command = /^(tiktokfoto|pptiktok)$/i 9 | export default handler 10 | -------------------------------------------------------------------------------- /plugins/downloader-ringtone.js: -------------------------------------------------------------------------------- 1 | import fetch from 'node-fetch' 2 | let handler = async(m, { conn, groupMetadata, usedPrefix, text, args, command }) => { 3 | if (!text) throw `*[❗] 𝙸𝙽𝙶𝚁𝙴𝚂𝙴 𝙴𝙻 𝚃𝙴𝚇𝚃𝙾 𝚀𝚄𝙴 𝙳𝙴𝚂𝙴𝙴 𝙱𝚄𝚂𝙲𝙰𝚁, 𝙴𝙹𝙴𝙼𝙿𝙻𝙾: ${usedPrefix + command} Hola*` 4 | let vn = await fetch(`https://fatiharridho.herokuapp.com/api/search/ringtone?query=${text}`) 5 | let x = await vn.json() 6 | conn.sendMessage(m.chat, { audio: { url: x.result[0].audio }, mimetype: 'audio/mp4' }, {quoted: m}) 7 | } 8 | handler.command = ['ringtone'] 9 | export default handler 10 | -------------------------------------------------------------------------------- /plugins/downloader-soundcloud.js: -------------------------------------------------------------------------------- 1 | import fetch from 'node-fetch' 2 | let handler = async(m, { conn, text }) => { 3 | if (!text) throw `*[❗𝐈𝐍𝐅𝐎❗] 𝙸𝙽𝙶𝚁𝙴𝚂𝙴 𝙴𝙻 𝙽𝙾𝙼𝙱𝚁𝙴 𝙳𝙴 𝙰𝙻𝙶𝚄𝙽𝙰 𝙲𝙰𝙽𝙲𝙸𝙾𝙽 𝙰 𝙱𝚄𝚂𝙲𝙰𝚁*` 4 | try { 5 | let res = await fetch(`https://hadi-api.herokuapp.com/api/soundcloud/play?query=${text}`) 6 | let json = await res.json() 7 | let shortUrl = await (await fetch(`https://tinyurl.com/api-create.php?url=${json.result.download}`)).text() 8 | let soundcloudt = `❒═══❬ 𝐒𝐎𝐔𝐍𝐃𝐂𝐋𝐎𝐔𝐃 ❭═══╾❒ 9 | ┬ 10 | ├‣✨ *𝚃𝙸𝚃𝚄𝙻𝙾:* ${json.result.title} 11 | ┴ 12 | ┬ 13 | ├‣💚 *𝚄𝚁𝙻 𝙳𝙸𝚁𝙴𝙲𝚃𝙾:* ${shortUrl}\n┴\n\n*- 𝙴𝚗𝚟𝚒𝚊𝚗𝚍𝚘 𝚖𝚞𝚜𝚒𝚌𝚊...*\n\n_﹫ᴛʜᴇ ᴍʏsᴛɪᴄ ﹣ ʙᴏᴛ_` 14 | conn.sendFile(m.chat, json.result.thumbnail, '', soundcloudt, m) 15 | conn.sendFile(m.chat, json.result.download, 'error.mp3', null, m, false, { mimetype: 'audio/mp4' }) 16 | } catch (e) { 17 | throw '*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝚁𝚁𝙾𝚁, 𝙽𝙾 𝚂𝙴 𝙻𝙾𝙶𝚁𝙾 𝙱𝚄𝚂𝙲𝙰𝚁 𝙻𝙰 𝙲𝙰𝙽𝙲𝙸𝙾𝙽 𝙾 𝙻𝙰 𝙿𝙰𝙶𝙸𝙽𝙰 𝙳𝙴 𝙰𝚈𝚄𝙳𝙰 𝙿𝙰𝚁𝙰 𝙱𝚄𝚂𝙲𝙰𝚁 𝙻𝙰 𝙲𝙰𝙽𝙲𝙸𝙾𝙽 𝙴𝚂𝚃𝙰 𝙲𝙰𝙸𝙳𝙰, 𝙿𝙾𝚁 𝙵𝙰𝚅𝙾𝚁 𝚅𝚄𝙴𝙻𝚅𝙰 𝙰 𝙸𝙽𝚃𝙴𝚁𝙽𝚃𝙰𝚁𝙻𝙾 𝙼𝙰𝚂 𝚃𝙰𝚁𝙳𝙴*' 18 | }} 19 | handler.command = /^(soundcloud|cover)$/i 20 | export default handler 21 | -------------------------------------------------------------------------------- /plugins/downloader-spotify.js: -------------------------------------------------------------------------------- 1 | import fetch from 'node-fetch' 2 | let handler = async(m, { conn, text }) => { 3 | if (!text) throw `*[❗𝐈𝐍𝐅𝐎❗] 𝙸𝙽𝙶𝚁𝙴𝚂𝙴 𝙴𝙻 𝙽𝙾𝙼𝙱𝚁𝙴 𝙳𝙴 𝙰𝙻𝙶𝚄𝙽𝙰 𝙲𝙰𝙽𝙲𝙸𝙾𝙽 𝙰 𝙱𝚄𝚂𝙲𝙰𝚁*` 4 | try { 5 | let res = await fetch(`https://api.lolhuman.xyz/api/spotifysearch?apikey=${lolkeysapi}&query=${text}`) 6 | let json = await res.json() 7 | let { link } = json.result[0] 8 | let res2 = await fetch(`https://api.lolhuman.xyz/api/spotify?apikey=${lolkeysapi}&url=${link}`) 9 | let json2 = await res2.json() 10 | let { thumbnail, title, artists, preview_url } = json2.result 11 | let spotifyi = `❒═════❬ 𝐒𝐏𝐎𝐓𝐈𝐅𝐘 ❭═════╾❒\n┬\n├‣✨ *𝚃𝙸𝚃𝚄𝙻𝙾:* ${title}\n┴\n┬\n├‣🗣️ *𝙰𝚁𝚃𝙸𝚂𝚃𝙰:* ${artists}\n┴\n┬\n├‣🌐 *𝚄𝚁𝙻*: ${link}\n┴\n┬\n├‣💚 *𝚄𝚁𝙻 𝙳𝙴 𝙳𝙴𝚂𝙲𝙰𝚁𝙶𝙰:* ${preview_url}\n┴` 12 | conn.sendFile(m.chat, thumbnail, 'error.jpg', spotifyi, m) 13 | await conn.sendFile(m.chat, preview_url, 'error.mp3', null, m, false, { mimetype: 'audio/mp4' }) 14 | } catch (e) { 15 | throw '*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝚁𝚁𝙾𝚁, 𝙽𝙾 𝚂𝙴 𝙻𝙾𝙶𝚁𝙾 𝙱𝚄𝚂𝙲𝙰𝚁 𝙻𝙰 𝙲𝙰𝙽𝙲𝙸𝙾𝙽 𝙾 𝙻𝙰 𝙿𝙰𝙶𝙸𝙽𝙰 𝙳𝙴 𝙰𝚈𝚄𝙳𝙰 𝙿𝙰𝚁𝙰 𝙱𝚄𝚂𝙲𝙰𝚁 𝙻𝙰 𝙲𝙰𝙽𝙲𝙸𝙾𝙽 𝙴𝚂𝚃𝙰 𝙲𝙰𝙸𝙳𝙰, 𝙿𝙾𝚁 𝙵𝙰𝚅𝙾𝚁 𝚅𝚄𝙴𝙻𝚅𝙰 𝙰 𝙸𝙽𝚃𝙴𝚁𝙽𝚃𝙰𝚁𝙻𝙾 𝙼𝙰𝚂 𝚃𝙰𝚁𝙳𝙴*' 16 | }} 17 | handler.command = /^(spotify|music)$/i 18 | export default handler 19 | -------------------------------------------------------------------------------- /plugins/downloader-stickerly.js: -------------------------------------------------------------------------------- 1 | import { sticker } from '../lib/sticker.js' 2 | import fetch from 'node-fetch' 3 | let handler = async (m, { conn, args, usedPrefix, command }) => { 4 | if (!args[0]) throw `*[❗] 𝙴𝙹𝙴𝙼𝙿𝙻𝙾 𝙳𝙴 𝚄𝚂𝙾 𝙳𝙴𝙻 𝙲𝙾𝙼𝙰𝙽𝙳𝙾 ${usedPrefix + command} Anya Forger*` 5 | try { 6 | let res = await fetch(`https://api.xteam.xyz/sticker/stickerly?q=${args[0]}&APIKEY=5bd33b276d41d6b4`) 7 | let json = await res.json() 8 | for (let data of (json.result.stickerlist || json)) { 9 | const stikers = await sticker(false, data, global.packname, global.author) 10 | conn.sendFile(m.chat, stikers, 'sticker.webp', '', m, { asSticker: true })} 11 | //await delay(1500) 12 | } catch { 13 | try { 14 | let res2 = await fetch(`https://api.xteam.xyz/sticker/stickerly?q=${args[0]}&APIKEY=HIRO`) 15 | let json2 = await res2.json() 16 | for (let data2 of (json2.result.stickerlist || json2)) { 17 | const stikers2 = await sticker(false, data2, global.packname, global.author) 18 | conn.sendFile(m.chat, stikers2, 'sticker.webp', '', m, { asSticker: true })} 19 | //await delay(1500) 20 | } catch { 21 | await m.reply('*[❗] 𝙴𝚁𝚁𝙾𝚁, 𝙿𝙾𝚁 𝙵𝙰𝚅𝙾𝚁 𝚅𝚄𝙴𝙻𝚅𝙰 𝙰 𝙸𝙽𝚃𝙴𝚁𝙽𝚃𝙰𝚁𝙻𝙾*') 22 | }}} 23 | handler.command = /^stickerly|stickerpack$/i 24 | export default handler 25 | //const delay = time => new Promise(res => setTimeout(res, time)) 26 | -------------------------------------------------------------------------------- /plugins/downloader-stickerpack.js: -------------------------------------------------------------------------------- 1 | import { sticker } from '../lib/sticker.js' 2 | import fetch from 'node-fetch' 3 | let handler = async (m, { conn, args, usedPrefix, command }) => { 4 | if (!args[0]) throw `*[❗] 𝙴𝙹𝙴𝙼𝙿𝙻𝙾 𝙳𝙴 𝚄𝚂𝙾 𝙳𝙴𝙻 𝙲𝙾𝙼𝙰𝙽𝙳𝙾 ${usedPrefix + command} Anya Forger*` 5 | try { 6 | let res = await fetch(`https://api.xteam.xyz/sticker/stickerly?q=${args[0]}&APIKEY=5bd33b276d41d6b4`) 7 | let json = await res.json() 8 | for (let data of (json.result.stickerlist || json)) { 9 | const stikers = await sticker(false, data, global.packname, global.author) 10 | conn.sendFile(m.chat, stikers, 'sticker.webp', '', m, { asSticker: true })} 11 | //await delay(1500) 12 | } catch { 13 | await m.reply('*[❗] 𝙴𝚁𝚁𝙾𝚁, 𝙿𝙾𝚁 𝙵𝙰𝚅𝙾𝚁 𝚅𝚄𝙴𝙻𝚅𝙰 𝙰 𝙸𝙽𝚃𝙴𝚁𝙽𝚃𝙰𝚁𝙻𝙾*') 14 | }} 15 | handler.command = /^stickerly|stickerpack$/i 16 | export default handler 17 | //const delay = time => new Promise(res => setTimeout(res, time)) 18 | -------------------------------------------------------------------------------- /plugins/downloader-tiktokstalk.js: -------------------------------------------------------------------------------- 1 | import fetch from 'node-fetch' 2 | let handler = async(m, { conn, text }) => { 3 | if (!text) return conn.reply(m.chat, '*[❗𝐈𝐍𝐅𝐎❗] 𝙸𝙽𝚂𝙴𝚁𝚃𝙴 𝙴𝙻 𝙲𝙾𝙼𝙰𝙽𝙳𝙾 𝙼𝙰𝚂 𝙴𝙻 𝙽𝙾𝙼𝙱𝚁𝙴 𝙳𝙴 𝚄𝚂𝚄𝙰𝚁𝙸𝙾 𝙳𝙴 𝚄𝙽 𝚄𝚂𝚄𝙰𝚁𝙸𝙾 𝙳𝙴 𝚃𝙸𝙺𝚃𝙾𝙺*', m) 4 | try { 5 | let res = await fetch(`https://api.lolhuman.xyz/api/stalktiktok/${text}?apikey=${lolkeysapi}`) 6 | let res2 = `https://api.lolhuman.xyz/api/pptiktok/${text}?apikey=${lolkeysapi}` 7 | let json = await res.json() 8 | if (res.status !== 200) throw await res.text() 9 | if (!json.status) throw json 10 | let thumb = await (await fetch(json.result.user_picture)).buffer() 11 | let Mystic = ` 12 | *𝚄𝚂𝚄𝙰𝚁𝙸𝙾:* ${json.result.username} 13 | *𝙽𝙾𝙼𝙱𝚁𝙴:* ${json.result.nickname} 14 | *𝚂𝙴𝙶𝚄𝙸𝙳𝙾𝚁𝙴𝚂:* ${json.result.followers} 15 | *𝚂𝙴𝙶𝚄𝙸𝙳𝙾𝚂:* ${json.result.followings} 16 | *𝙻𝙸𝙺𝙴𝚂:* ${json.result.likes} 17 | *𝚅𝙸𝙳𝙴𝙾𝚂:* ${json.result.video} 18 | *𝙳𝙴𝚂𝙲𝚁𝙸𝙿𝙲𝙸𝙾𝙽:* ${json.result.bio} 19 | `.trim() 20 | conn.sendFile(m.chat, res2, 'error.jpg', Mystic, m, false) 21 | } catch (e) { 22 | throw '*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝚁𝚁𝙾𝚁, 𝙽𝙾 𝚂𝙴 𝙴𝙲𝙾𝙽𝚃𝚁𝙾 𝙴𝙻 𝙽𝙾𝙼𝙱𝚁𝙴 𝙳𝙴 𝚄𝚂𝚄𝙰𝚁𝙸𝙾 𝙸𝙽𝙶𝚁𝙴𝚂𝙰𝙳𝙾*' 23 | }} 24 | handler.help = ['tiktokstalk'].map(v => v + ' ') 25 | handler.tags = ['stalk'] 26 | handler.command = /^(tiktokstalk|ttstalk)$/i 27 | export default handler 28 | -------------------------------------------------------------------------------- /plugins/downloader-wallpaper.js: -------------------------------------------------------------------------------- 1 | import { wallpaper, wallpaperv2 } from '@bochilteam/scraper' 2 | let handler = async (m, { conn, text, usedPrefix, command }) => { 3 | if (!text) throw `*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝙹𝙴𝙼𝙿𝙻𝙾 𝙳𝙴 𝚄𝚂𝙾 𝙳𝙴𝙻 𝙲𝙾𝙼𝙰𝙽𝙳𝙾 ${usedPrefix + command} Minecraft*` 4 | const res = await (/2/.test(command) ? wallpaperv2 : wallpaper)(text) 5 | const img = res[Math.floor(Math.random() * res.length)] 6 | conn.sendFile(m.chat, img, 'error.jpg', `*𝚁𝙴𝚂𝚄𝙻𝚃𝙰𝙳𝙾 𝙳𝙴 ${text}*`, m) 7 | } 8 | handler.help = ['', '2'].map(v => 'wallpaper' + v + ' ') 9 | handler.tags = ['downloader'] 10 | handler.command = /^(wallpaper2?)$/i 11 | export default handler 12 | -------------------------------------------------------------------------------- /plugins/downloader-yta.js: -------------------------------------------------------------------------------- 1 | import { youtubedl, youtubedlv2, youtubedlv3 } from '@bochilteam/scraper' 2 | import fetch from 'node-fetch' 3 | let handler = async (m, { conn, args }) => { 4 | if (!args[0]) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝙸𝙽𝚂𝙴𝚁𝚃𝙴 𝙴𝙻 𝙲𝙾𝙼𝙰𝙽𝙳𝙾 𝙼𝙰𝚂 𝙴𝙻 𝙴𝙽𝙻𝙰𝙲𝙴 / 𝙻𝙸𝙽𝙺 𝙳𝙴 𝚄𝙽 𝚅𝙸𝙳𝙴𝙾 𝙳𝙴 𝚈𝙾𝚄𝚃𝚄𝙱𝙴*' 5 | await m.reply(`*_⏳Sᴇ ᴇsᴛᴀ ᴘʀᴏᴄᴇsᴀɴᴅᴏ Sᴜ ᴀᴜᴅɪᴏ...⏳_*\n\n*◉ Sɪ Sᴜ ᴀᴜᴅɪᴏ ɴᴏ ᴇs ᴇɴᴠɪᴀᴅᴏ, ᴘʀᴜᴇʙᴇ ᴄᴏɴ ᴇʟ ᴄᴏᴍᴀɴᴅᴏ #playdoc ᴏ #play.2 ᴏ #ytmp4doc ◉*`) 6 | try { 7 | let q = '128kbps' 8 | let v = args[0] 9 | const yt = await youtubedl(v).catch(async _ => await youtubedlv2(v)).catch(async _ => await youtubedlv3(v)) 10 | const dl_url = await yt.audio[q].download() 11 | const ttl = await yt.title 12 | const size = await yt.audio[q].fileSizeH 13 | await conn.sendFile(m.chat, dl_url, ttl + '.mp3', null, m, false, { mimetype: 'audio/mp4' }) 14 | } catch { 15 | try { 16 | let lolhuman = await fetch(`https://api.lolhuman.xyz/api/ytaudio2?apikey=85faf717d0545d14074659ad&url=${args[0]}`) 17 | let lolh = await lolhuman.json() 18 | let n = lolh.result.title || 'error' 19 | await conn.sendFile(m.chat, lolh.result.link, `${n}.mp3`, null, m, false, { mimetype: 'audio/mp4' }) 20 | } catch { 21 | await conn.reply(m.chat, '*[❗] 𝙴𝚁𝚁𝙾𝚁 𝙽𝙾 𝙵𝚄𝙴 𝙿𝙾𝚂𝙸𝙱𝙻𝙴 𝙳𝙴𝚂𝙲𝙰𝚁𝙶𝙰𝚁 𝙴𝙻 𝙰𝚄𝙳𝙸𝙾*', m)} 22 | }} 23 | handler.command = /^getaud|yt(a|mp3)$/i 24 | export default handler 25 | -------------------------------------------------------------------------------- /plugins/fun-formarpareja.js: -------------------------------------------------------------------------------- 1 | let toM = a => '@' + a.split('@')[0] 2 | function handler(m, { groupMetadata }) { 3 | let ps = groupMetadata.participants.map(v => v.id) 4 | let a = ps.getRandom() 5 | let b 6 | do b = ps.getRandom() 7 | while (b === a) 8 | m.reply(`*${toM(a)}, 𝙳𝙴𝙱𝙴𝚁𝙸𝙰𝚂 𝙲𝙰𝚂𝙰𝚁𝚃𝙴 💍 𝙲𝙾𝙽 ${toM(b)}, 𝙷𝙰𝙲𝙴𝙽 𝚄𝙽𝙰 𝙱𝚄𝙴𝙽𝙰 𝙿𝙰𝚁𝙴𝙹𝙰 💓*`, null, { 9 | mentions: [a, b] 10 | })} 11 | handler.help = ['formarpareja'] 12 | handler.tags = ['main', 'fun'] 13 | handler.command = ['formarpareja','formarparejas'] 14 | handler.group = true 15 | export default handler 16 | -------------------------------------------------------------------------------- /plugins/fun-gay.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | let vn = './media/gay2.mp3' 3 | let who = m.mentionedJid && m.mentionedJid[0] ? m.mentionedJid[0] : m.fromMe ? conn.user.jid : m.sender 4 | conn.sendFile(m.chat, global.API('https://some-random-api.ml', '/canvas/gay', { 5 | avatar: await conn.profilePictureUrl(who, 'image').catch(_ => 'https://telegra.ph/file/24fa902ead26340f3df2c.png'), 6 | }), 'error.png', '*🏳️‍🌈 𝙼𝙸𝚁𝙴𝙽 𝙰 𝙴𝚂𝚃𝙴 𝙶𝙰𝚈 🏳️‍🌈*', m) 7 | await await await conn.sendFile(m.chat, vn, 'error.mp3', null, m, true, { 8 | type: 'audioMessage', 9 | ptt: true }) 10 | } 11 | handler.help = ['gay'] 12 | handler.tags = ['maker'] 13 | handler.command = /^(gay)$/i 14 | export default handler 15 | -------------------------------------------------------------------------------- /plugins/fun-love.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, command, text }) => { 2 | let love = `*❤️❤️ MEDIDOR DE AMOR ❤️❤️* 3 | *El amor de ${text} por ti es de* *${Math.floor(Math.random() * 100)}%* *de un 100%* 4 | *Deberias pedirle que sea tu novia/o ?* 5 | `.trim() 6 | m.reply(love, null, { mentions: conn.parseMention(love) })} 7 | handler.help = ['love'] 8 | handler.tags = ['fun'] 9 | handler.command = /^(love)$/i 10 | export default handler 11 | -------------------------------------------------------------------------------- /plugins/fun-pregunta.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { command, text }) => m.reply(` 2 | *⁉️ 𝐏𝐑𝐄𝐆𝐔𝐍𝐓𝐀𝐒 ⁉️* 3 | 4 | *𝙿𝚁𝙴𝙶𝚄𝙽𝚃𝙰:* ${text} 5 | *𝚁𝙴𝚂𝙿𝚄𝙴𝚂𝚃𝙰:* ${['Si','Tal vez sí','Posiblemente','Probablemente no','No','Imposible'].getRandom()} 6 | `.trim(), null, m.mentionedJid ? { 7 | mentions: m.mentionedJid 8 | } : {}) 9 | handler.help = ['pregunta ?'] 10 | handler.tags = ['kerang'] 11 | handler.command = /^pregunta|preguntas|apakah$/i 12 | export default handler 13 | -------------------------------------------------------------------------------- /plugins/fun-simi.js: -------------------------------------------------------------------------------- 1 | import translate from '@vitalets/google-translate-api' 2 | import fetch from 'node-fetch' 3 | let handler = async (m, { text, usedPrefix, command }) => { 4 | if (!text) throw `*[❗] 𝙸𝙽𝙶𝚁𝙴𝚂𝙴 𝚄𝙽 𝚃𝙴𝚇𝚃𝙾 𝙿𝙰𝚁𝙰 𝙷𝙰𝙱𝙻𝙰𝚁 𝙲𝙾𝙽 𝚂𝙸𝙼𝚂𝙸𝙼𝙸 𝙾 𝙴𝙻 𝙱𝙾𝚃*\n\n*𝙴𝙹𝙴𝙼𝙿𝙻𝙾: ${usedPrefix + command} Hola bot*` 5 | try { 6 | let res = await fetch(`https://api.simsimi.net/v2/?text=${text}&lc=es`) 7 | let json = await res.json() 8 | m.reply(json.success) 9 | } catch { 10 | let res2 = await fetch(`https://violetics.pw/api/utility/simsimi?apikey=beta&text=${text}`) 11 | let json2 = await res2.json() 12 | let result = json2.result 13 | let lol = await translate(`${result}`, { to: 'es', autoCorrect: true }) 14 | m.reply(lol.text) 15 | }} 16 | handler.help = ['simi', 'bot'].map(v => v + ' ') 17 | handler.tags = ['fun'] 18 | handler.command = /^((sim)?simi|bot|alexa|cortana)$/i 19 | export default handler 20 | -------------------------------------------------------------------------------- /plugins/game-_cancion.js: -------------------------------------------------------------------------------- 1 | /* Created by https://github.com/unptoadrih15 */ 2 | 3 | import similarity from'similarity' 4 | const threshold = 0.72 5 | let handler = { 6 | async before(m) { 7 | let id = m.chat 8 | if (!m.quoted || !m.quoted.fromMe || !m.quoted.isBaileys || !/ADIVINA EL TITULO DE LA CANCION/i.test(m.quoted.text)) return !0 9 | this.tebaklagu = this.tebaklagu ? this.tebaklagu : {} 10 | if (!(id in this.tebaklagu)) return m.reply('El juego ha terminado') 11 | if (m.quoted.id == this.tebaklagu[id][0].id) { 12 | let json = JSON.parse(JSON.stringify(this.tebaklagu[id][1])) 13 | if (m.text.toLowerCase() == json.judul.toLowerCase().trim()) { 14 | global.db.data.users[m.sender].exp += this.tebaklagu[id][2] 15 | m.reply(`✅Correcto!\n+${this.tebaklagu[id][2]} XP`) 16 | clearTimeout(this.tebaklagu[id][3]) 17 | delete this.tebaklagu[id] 18 | } else if (similarity(m.text.toLowerCase(), json.judul.toLowerCase().trim()) >= threshold) m.reply(`Casii!`) 19 | else m.reply(`❌Incorrecto!`) 20 | } 21 | return !0 22 | }, 23 | exp: 0 24 | } 25 | export default handler 26 | -------------------------------------------------------------------------------- /plugins/game-cancion.js: -------------------------------------------------------------------------------- 1 | /* Created By https://github.com/unptoadrih15 */ 2 | 3 | import fetch from 'node-fetch' 4 | let timeout = 60000 5 | let poin = 1000 6 | let handler = async (m, { conn, usedPrefix }) => { 7 | conn.tebaklagu = conn.tebaklagu ? conn.tebaklagu : {} 8 | let id = m.chat 9 | if (id in conn.tebaklagu) { 10 | conn.reply(m.chat, 'Todavía hay canciones sin respuesta en este chat.', conn.tebaklagu[id][0]) 11 | throw false 12 | } 13 | let res = await fetch(global.API('xteam', '/game/tebaklagu/', { id: '5LTV57azwaid7dXfz5fzJu' }, 'APIKEY')) 14 | if (res.status !== 200) throw await res.text() 15 | let result = await res.json() 16 | let json = result.result 17 | let caption = ` 18 | ADIVINA EL TITULO DE LA CANCION 19 | Tiempo ${(timeout / 1000).toFixed(2)} segundos 20 | Escribe *${usedPrefix}pista* Para obtener una pista 21 | Premio: ${poin} XP 22 | RESPONDE A ESTE MENSAJE CON LAS RESPUESTAS!`.trim() 23 | conn.tebaklagu[id] = [ 24 | await m.reply(caption), 25 | json, poin, 26 | setTimeout(() => { 27 | if (conn.tebaklagu[id]) conn.reply(m.chat, `Se acabó el tiempo!\nLa respuesta es ${json.judul}`, conn.tebaklagu[id][0]) 28 | delete conn.tebaklagu[id] 29 | }, timeout) 30 | ] 31 | await conn.sendFile(m.chat, json.preview, 'coba-lagi.mp3', '', m) 32 | } 33 | handler.help = ['tebaklagu'] 34 | handler.tags = ['game'] 35 | handler.command = /^cancion|canción$/i 36 | export default handler 37 | -------------------------------------------------------------------------------- /plugins/game-delttt.js: -------------------------------------------------------------------------------- 1 | import MessageType from '@adiwajshing/baileys' 2 | let handler = async (m, { conn, usedPrefix, command }) => { 3 | let room = Object.values(conn.game).find(room => room.id.startsWith('tictactoe') && [room.game.playerX, room.game.playerO].includes(m.sender)) 4 | if (room == undefined) return conn.sendButton(m.chat, '*[❗] 𝙽𝙾 𝙴𝚂𝚃𝙰𝚂 𝙴𝙽 𝙽𝙸𝙽𝙶𝚄𝙽𝙰 𝙿𝙰𝚁𝚃𝙸𝙳𝙰 𝙳𝙴 𝚃𝚁𝙴𝚂 𝙴𝙽 𝚁𝙰𝚈𝙰*', wm, null, [['𝙸𝙽𝙸𝙲𝙸𝙰𝚁 𝚂𝙰𝙻𝙰 𝙳𝙴 𝙹𝚄𝙴𝙶𝙾', `${usedPrefix}ttt partida nueva`]], m) 5 | delete conn.game[room.id] 6 | await m.reply('*[ ✔ ] 𝚂𝙴 𝙴𝙻𝙸𝙼𝙸𝙽𝙾 𝙻𝙰 𝚂𝙰𝙻𝙰 𝙳𝙴 𝙹𝚄𝙴𝙶𝙾 𝙳𝙴 𝚃𝚁𝙴𝚂 𝙴𝙽 𝚁𝙰𝚈𝙰*')} 7 | handler.command = /^(delttt|deltt|delxo|deltictactoe)$/i 8 | handler.fail = null 9 | export default handler 10 | -------------------------------------------------------------------------------- /plugins/game-pista.js: -------------------------------------------------------------------------------- 1 | /* Created by https://github.com/unptoadrih15 */ 2 | 3 | let handler = async (m, { conn }) => { 4 | conn.tebaklagu = conn.tebaklagu ? conn.tebaklagu : {} 5 | let id = m.chat 6 | if (!(id in conn.tebaklagu)) throw false 7 | let json = conn.tebaklagu[id][1] 8 | let nya = json.judul 9 | let nyanya = nya.replace(/[bcdfghjklmnñpqrstvwxyzBCDEFGHJKLMNÑPQRSTVWXYZ]/g, '_') 10 | m.reply('' + nyanya + '') 11 | } 12 | handler.command = /^hint|pista$/i 13 | export default handler 14 | -------------------------------------------------------------------------------- /plugins/gc-admins.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, participants, groupMetadata, args }) => { 2 | const pp = await conn.profilePictureUrl(m.chat, 'image').catch(_ => null) || './Menu2.jpg' 3 | const groupAdmins = participants.filter(p => p.admin) 4 | const listAdmin = groupAdmins.map((v, i) => `${i + 1}. @${v.id.split('@')[0]}`).join('\n') 5 | const owner = groupMetadata.owner || groupAdmins.find(p => p.admin === 'superadmin')?.id || m.chat.split`-`[0] + '@s.whatsapp.net' 6 | let pesan = args.join` ` 7 | let oi = `*𝙼𝙴𝙽𝚂𝙰𝙹𝙴:* ${pesan}` 8 | let text = `*━「* 𝐈𝐍𝐕𝐎𝐂𝐀𝐍𝐃𝐎 𝐀𝐃𝐌𝐈𝐍𝐒 *」━* 9 | 10 | ${oi} 11 | 12 | *𝙰𝙳𝙼𝙸𝙽𝚂:* 13 | ${listAdmin} 14 | 15 | *[ ⚠ ️] 𝚄𝚂𝙰𝚁 𝙴𝚂𝚃𝙴 𝙲𝙾𝙼𝙰𝙽𝙳𝙾 𝚂𝙾𝙻𝙾 𝙲𝚄𝙰𝙽𝙳𝙾 𝚂𝙴 𝚃𝚁𝙰𝚃𝙴 𝙳𝙴 𝚄𝙽𝙰 𝙴𝙼𝙴𝚁𝙶𝙴𝙽𝙲𝙸𝙰!!*`.trim() 16 | conn.sendFile(m.chat, pp, 'error.jpg', text, m, false, { mentions: [...groupAdmins.map(v => v.id), owner] }) 17 | } 18 | handler.help = ['admins '] 19 | handler.tags = ['group'] 20 | handler.command = /^(admins|@admins|dmins)$/i 21 | handler.group = true 22 | export default handler 23 | -------------------------------------------------------------------------------- /plugins/gc-config.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, args, usedPrefix, command }) => { 2 | let isClose = { // Switch Case Like :v 3 | 'open': 'not_announcement', 4 | 'close': 'announcement', 5 | 'abierto': 'not_announcement', 6 | 'cerrado': 'announcement', 7 | 'abrir': 'not_announcement', 8 | 'cerrar': 'announcement', 9 | }[(args[0] || '')] 10 | if (isClose === undefined) 11 | throw ` 12 | *[❗] 𝙵𝙾𝚁𝙼𝙰𝚃𝙾 𝙴𝚁𝚁𝙾𝙽𝙴𝙾!!* 13 | 14 | *┏━━━❲ ✨𝙴𝙹𝙴𝙼𝙿𝙻𝙾✨ ❳━━━┓* 15 | *┠┉↯ ${usedPrefix + command} abrir* 16 | *┠┉↯ ${usedPrefix + command} cerrar* 17 | `.trim() 18 | await conn.groupSettingUpdate(m.chat, isClose) 19 | {m.reply('*[ ✔ ] 𝙶𝚁𝚄𝙿𝙾 𝙲𝙾𝙽𝙵𝙸𝙶𝚄𝚁𝙰𝙳𝙾 𝙲𝙾𝚁𝚁𝙴𝙲𝚃𝙰𝙼𝙴𝙽𝚃𝙴*')} 20 | } 21 | handler.help = ['group open / close', 'grupo abrir / cerrar'] 22 | handler.tags = ['group'] 23 | handler.command = /^(group|grupo)$/i 24 | handler.admin = true 25 | handler.botAdmin = true 26 | export default handler 27 | -------------------------------------------------------------------------------- /plugins/gc-demote.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn,usedPrefix, text }) => { 2 | if(isNaN(text) && !text.match(/@/g)){ 3 | 4 | }else if(isNaN(text)) { 5 | var number = text.split`@`[1] 6 | }else if(!isNaN(text)) { 7 | var number = text 8 | } 9 | 10 | if(!text && !m.quoted) return conn.reply(m.chat, `*[❗] USO APROPIADO*\n\n*┯┷*\n*┠≽ ${usedPrefix}quitaradmin @tag*\n*┠≽ ${usedPrefix}quitaradmin -> responder a un mensaje*\n*┷┯*`, m) 11 | if(number.length > 13 || (number.length < 11 && number.length > 0)) return conn.reply(m.chat, `*[ ⚠️ ] El número ingresado es incorrecto, por favor ingrese el número correcto*`, m) 12 | 13 | try { 14 | if(text) { 15 | var user = number + '@s.whatsapp.net' 16 | } else if(m.quoted.sender) { 17 | var user = m.quoted.sender 18 | } else if(m.mentionedJid) { 19 | var user = number + '@s.whatsapp.net' 20 | } 21 | } catch (e) { 22 | } finally { 23 | conn.groupParticipantsUpdate(m.chat, [user], 'demote') 24 | conn.reply(m.chat, `*[ ✅ ] ÓRDENES RECIBIDAS*`, m) 25 | }} 26 | handler.help = ['*593xxx*','*@usuario*','*responder chat*'].map(v => 'demote ' + v) 27 | handler.tags = ['group'] 28 | handler.command = /^(demote|quitarpoder|quitaradmin)$/i 29 | handler.group = true 30 | handler.admin = true 31 | handler.botAdmin = true 32 | handler.fail = null 33 | export default handler 34 | -------------------------------------------------------------------------------- /plugins/gc-encuentas.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text, args, usedPrefix, command }) => { 2 | if (!args[0]) throw `⚠️️ *_Ingrese un texto para iniciar la escuesta._*\n\n📌 Ejemplo : \n*${usedPrefix + command}* texto|texto2...` 3 | if (!text.includes('|')) throw `⚠️️ Separe las encuestas con *|* \n\n📌 Ejemplo : \n*${usedPrefix + command}* texto|texto2...` 4 | let a = [] 5 | let b = text.split('|') 6 | for (let c = 0; c < b.length; c++) { a.push([b[c]]) } 7 | return conn.sendPoll(m.chat, `📊 *Encuesta para:*\n\n${text}`, a, m)} 8 | handler.help = ['encuesta '] 9 | handler.tags = ['group'] 10 | handler.command = ['poll', 'encuesta'] 11 | export default handler 12 | -------------------------------------------------------------------------------- /plugins/gc-hidetag.js: -------------------------------------------------------------------------------- 1 | import { generateWAMessageFromContent } from '@adiwajshing/baileys' 2 | let handler = async (m, { conn, text, participants, isOwner, isAdmin }) => { 3 | let users = participants.map(u => conn.decodeJid(u.id)) 4 | let q = m.quoted ? m.quoted : m || m.text || m.sender 5 | let c = m.quoted ? await m.getQuotedObj() : m.msg || m.text || m.sender 6 | let msg = conn.cMod(m.chat, generateWAMessageFromContent(m.chat, { [m.quoted ? q.mtype : 'extendedTextMessage']: m.quoted ? c.message[q.mtype] : { text: '' || c }}, { quoted: m, userJid: conn.user.id }), text || q.text, conn.user.jid, { mentions: users }) 7 | await conn.relayMessage(m.chat, msg.message, { messageId: msg.key.id }) 8 | } 9 | handler.help = ['hidetag'] 10 | handler.tags = ['group'] 11 | handler.command = /^(hidetag|notificar)$/i 12 | handler.group = true 13 | handler.admin = true 14 | export default handler 15 | -------------------------------------------------------------------------------- /plugins/gc-kick.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, participants, usedPrefix, command }) => { 2 | if (!global.db.data.settings[conn.user.jid].restrict) throw '*[ ⚠️ ] 𝙴𝙻 𝙾𝚆𝙽𝙴𝚁 𝚃𝙸𝙴𝙽𝙴 𝚁𝙴𝚂𝚃𝚁𝙸𝙽𝙶𝙸𝙳𝙾 (𝚎𝚗𝚊𝚋𝚕𝚎 𝚛𝚎𝚜𝚝𝚛𝚒𝚌𝚝 / 𝚍𝚒𝚜𝚊𝚋𝚕𝚎 𝚛𝚎𝚜𝚝𝚛𝚒𝚌𝚝) 𝙴𝙻 𝚄𝚂𝙾 𝙳𝙴 𝙴𝚂𝚃𝙴 𝙲𝙾𝙼𝙰𝙽𝙳𝙾*' 3 | let kicktext = `*[❗] 𝙴𝚃𝙸𝚀𝚄𝙴𝚃𝙴 𝙰 𝚄𝙽𝙰 𝙿𝙴𝚁𝚂𝙾𝙽𝙰 𝙾 𝚁𝙴𝚂𝙿𝙾𝙽𝙳𝙰 𝙰 𝚄𝙽 𝙼𝙴𝙽𝚂𝙰𝙹𝙴 𝙳𝙴𝙻 𝙶𝚁𝚄𝙿𝙾 𝙿𝙰𝚁𝙰 𝙴𝙻𝙸𝙼𝙸𝙽𝙰𝚁 𝙰𝙻 𝚄𝚂𝚄𝙰𝚁𝙸𝙾*\n\n*—◉ 𝙴𝙹𝙴𝙼𝙿𝙻𝙾:*\n*${usedPrefix + command} @${global.suittag}*` 4 | if (!m.mentionedJid[0] && !m.quoted) return m.reply(kicktext, m.chat, { mentions: conn.parseMention(kicktext)}) 5 | let user = m.mentionedJid[0] ? m.mentionedJid[0] : m.quoted.sender 6 | let owr = m.chat.split`-`[0] 7 | await conn.groupParticipantsUpdate(m.chat, [user], 'remove')} 8 | handler.command = /^(kick|echar|hechar|sacar)$/i 9 | handler.admin = true 10 | handler.group = true 11 | handler.botAdmin = true 12 | export default handler 13 | -------------------------------------------------------------------------------- /plugins/gc-link.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, args }) => { 2 | let group = m.chat 3 | let link = 'https://chat.whatsapp.com/' + await conn.groupInviteCode(group) 4 | conn.reply(m.chat, link, m, {detectLink: true}) 5 | //conn.sendMessage(m.chat, { text: link }, { quoted: m, detectLink: true }) 6 | } 7 | handler.command = /^link(gro?up)?$/i 8 | handler.group = true 9 | handler.botAdmin = true 10 | export default handler 11 | -------------------------------------------------------------------------------- /plugins/gc-promote.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn,usedPrefix, text }) => { 2 | if(isNaN(text) && !text.match(/@/g)){ 3 | 4 | }else if(isNaN(text)) { 5 | var number = text.split`@`[1] 6 | }else if(!isNaN(text)) { 7 | var number = text 8 | } 9 | 10 | if(!text && !m.quoted) return conn.reply(m.chat, `*[❗] USO APROPIADO*\n\n*┯┷*\n*┠≽ ${usedPrefix}daradmin @tag*\n*┠≽ ${usedPrefix}darpoder -> responder a un mensaje*\n*┷┯*`, m) 11 | if(number.length > 13 || (number.length < 11 && number.length > 0)) return conn.reply(m.chat, `*[ ⚠️ ] El número ingresado es incorrecto, por favor ingrese el número correcto*`, m) 12 | 13 | try { 14 | if(text) { 15 | var user = number + '@s.whatsapp.net' 16 | } else if(m.quoted.sender) { 17 | var user = m.quoted.sender 18 | } else if(m.mentionedJid) { 19 | var user = number + '@s.whatsapp.net' 20 | } 21 | } catch (e) { 22 | } finally { 23 | conn.groupParticipantsUpdate(m.chat, [user], 'promote') 24 | conn.reply(m.chat, `*[ ✅ ] ÓRDENES RECIBIDAS*`, m) 25 | }} 26 | handler.help = ['*593xxx*','*@usuario*','*responder chat*'].map(v => 'promote ' + v) 27 | handler.tags = ['group'] 28 | handler.command = /^(promote|daradmin|darpoder)$/i 29 | handler.group = true 30 | handler.admin = true 31 | handler.botAdmin = true 32 | handler.fail = null 33 | export default handler 34 | -------------------------------------------------------------------------------- /plugins/gc-revoke.js: -------------------------------------------------------------------------------- 1 | let handler = async(m, { conn }) => { 2 | let revoke = await conn.groupRevokeInvite(m.chat) 3 | await conn.reply(m.chat, `🔹️ *_Se restableció con éxito el link del grupo._*\n♾ • Link Nuevo: ${'https://chat.whatsapp.com/' + revoke}`, m)} 4 | handler.command = ['resetlink', 'revoke'] 5 | handler.botAdmin = true 6 | handler.admin = true 7 | handler.group = true 8 | export default handler 9 | -------------------------------------------------------------------------------- /plugins/gc-setbye.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text, isROwner, isOwner }) => { 2 | if (text) { 3 | global.db.data.chats[m.chat].sBye = text 4 | m.reply('*[❗] 𝙼𝙴𝙽𝚂𝙰𝙹𝙴 𝙳𝙴 𝙳𝙴𝚂𝙿𝙴𝙳𝙸𝙳𝙰 𝙲𝙾𝙽𝙵𝙸𝙶𝚄𝚁𝙰𝙳𝙾 𝙲𝙾𝚁𝚁𝙴𝙲𝚃𝙰𝙼𝙴𝙽𝚃𝙴 𝙿𝙰𝚁𝙰 𝙴𝚂𝚃𝙴 𝙶𝚁𝚄𝙿𝙾*') 5 | } else throw `*[❗] 𝙸𝙽𝙶𝚁𝙴𝚂𝙴 𝙴𝙻 𝙼𝙴𝙽𝚂𝙰𝙹𝙴 𝙳𝙴 𝙳𝙴𝚂𝙿𝙴𝙳𝙸𝙳𝙰 𝚀𝚄𝙴 𝙳𝙴𝚂𝙴𝙴 𝙰𝙶𝚁𝙴𝙶𝙰𝚁, 𝚄𝚂𝙴:*\n*- @user (mención)*` 6 | } 7 | handler.help = ['setbye '] 8 | handler.tags = ['group'] 9 | handler.command = ['setbye'] 10 | handler.admin = true 11 | export default handler 12 | -------------------------------------------------------------------------------- /plugins/gc-setdesc.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, args }) => { 2 | await conn.groupUpdateDescription(m.chat, `${args.join(" ")}`); 3 | m.reply('*✅ La descripción del grupo se modifico correctamente*') 4 | } 5 | handler.help = ['Setdesc '] 6 | handler.tags = ['group'] 7 | handler.command = /^setdesk|setdesc$/i 8 | handler.group = true 9 | handler.admin = true 10 | handler.botAdmin = true 11 | export default handler 12 | -------------------------------------------------------------------------------- /plugins/gc-setname.js: -------------------------------------------------------------------------------- 1 | import Presence from '@adiwajshing/baileys' 2 | let handler = async (m, { conn, args, text }) => { 3 | if (!text) throw `*[❗𝐈𝐍𝐅𝐎❗] 𝙸𝙽𝙶𝚁𝙴𝚂𝙴 𝙴𝙻 𝙽𝙾𝙼𝙱𝚁𝙴 𝚀𝚄𝙴 𝙳𝙴𝚂𝙴𝙰 𝚀𝚄𝙴 𝚂𝙴𝙰 𝙴𝙻 𝙽𝚄𝙴𝚅𝙾 𝙽𝙾𝙼𝙱𝚁𝙴 𝙳𝙴𝙻 𝙶𝚁𝚄𝙿𝙾*` 4 | try { 5 | let text = args.join` ` 6 | if(!args || !args[0]) { 7 | } else { 8 | conn.groupUpdateSubject(m.chat, text)} 9 | } catch (e) { 10 | throw '*[❗𝐈𝐍𝐅𝐎❗] 𝙻𝙾 𝚂𝙸𝙴𝙽𝚃𝙾 𝙷𝚄𝙱𝙾 𝚄𝙽 𝙴𝚁𝚁𝙾𝚁, 𝙴𝙻 𝙽𝙾𝙼𝙱𝚁𝙴 𝙽𝙾 𝙿𝚄𝙴𝙳𝙴 𝚂𝙴𝚁 𝙼𝙰𝚂 𝙳𝙴 𝟸𝟻 𝙲𝙰𝚁𝙰𝙲𝚃𝙴𝚁𝙴𝚂*' 11 | }} 12 | handler.help = ['setname '] 13 | handler.tags = ['group'] 14 | handler.command = /^(setname)$/i 15 | handler.group = true 16 | handler.admin = true 17 | export default handler 18 | -------------------------------------------------------------------------------- /plugins/gc-setrules: -------------------------------------------------------------------------------- 1 | 2 | let handler = async (m, { conn, text, isROwner, isOwner }) => { 3 | if (text) { 4 | let pp = './rules.png' 5 | global.db.data.chats[m.chat].sRules = text 6 | m.reply('*[❗] 𝚁𝙴𝙶𝙻𝙰𝚂 𝙳𝙴𝙻 𝙶𝚁𝚄𝙿𝙾 𝙲𝙾𝙽𝙵𝙸𝙶𝚄𝚁𝙰𝙳𝙰𝚂 𝙲𝙾𝚁𝚁𝙴𝙲𝚃𝙰𝙼𝙴𝙽𝚃𝙴 𝙿𝙰𝚁𝙰 𝙴𝚂𝚃𝙴 𝙶𝚁𝚄𝙿𝙾*') 7 | } else throw `*[❗] 𝙸𝙽𝙶𝚁𝙴𝚂𝙴 𝙻𝙰𝚂 𝚁𝙴𝙶𝙻𝙰𝚂 𝙳𝙴𝙻 𝙶𝚁𝚄𝙿𝙾, 𝚄𝚂𝙴:*\n*- @user (mención)*\n*- @group (nombre de grupo)*\n*- @desc (description de grupo)*` 8 | } 9 | handler.help = ['setrules '] 10 | handler.tags = ['group'] 11 | handler.command = ['setrules'] 12 | handler.admin = true 13 | export default handler 14 | -------------------------------------------------------------------------------- /plugins/gc-setwelcome.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text, isROwner, isOwner }) => { 2 | if (text) { 3 | global.db.data.chats[m.chat].sWelcome = text 4 | m.reply('*[❗] 𝙼𝙴𝙽𝚂𝙰𝙹𝙴 𝙳𝙴 𝙱𝙸𝙽𝚅𝙴𝙽𝙸𝙳𝙰 𝙲𝙾𝙽𝙵𝙸𝙶𝚄𝚁𝙰𝙳𝙾 𝙲𝙾𝚁𝚁𝙴𝙲𝚃𝙰𝙼𝙴𝙽𝚃𝙴 𝙿𝙰𝚁𝙰 𝙴𝚂𝚃𝙴 𝙶𝚁𝚄𝙿𝙾*') 5 | } else throw `*[❗] 𝙸𝙽𝙶𝚁𝙴𝚂𝙴 𝙴𝙻 𝙼𝙴𝙽𝚂𝙰𝙹𝙴 𝙳𝙴 𝙱𝙸𝙴𝙽𝚅𝙴𝙽𝙸𝙳𝙰 𝚀𝚄𝙴 𝙳𝙴𝚂𝙴𝙴 𝙰𝙶𝚁𝙴𝙶𝙰𝚁, 𝚄𝚂𝙴:*\n*- @user (mención)*\n*- @group (nombre de grupo)*\n*- @desc (description de grupo)*` 6 | } 7 | handler.help = ['setwelcome '] 8 | handler.tags = ['group'] 9 | handler.command = ['setwelcome'] 10 | handler.admin = true 11 | export default handler 12 | -------------------------------------------------------------------------------- /plugins/gc-tagall.js: -------------------------------------------------------------------------------- 1 | let handler = async(m, { isOwner, isAdmin, conn, text, participants, args, command }) => { 2 | if (!(isAdmin || isOwner)) { 3 | global.dfail('admin', m, conn) 4 | throw false 5 | } 6 | let pesan = args.join` ` 7 | let oi = `*𝙼𝙴𝙽𝚂𝙰𝙹𝙴:* ${pesan}` 8 | let teks = `*⺀𝙸 𝙽 𝚅 𝙾 𝙲 𝙰 𝙽 𝙳 𝙾 - 𝙶 𝚁 𝚄 𝙿 𝙾⺀*\n\n❏ ${oi}\n\n❏ *𝙴𝚃𝙸𝚀𝚄𝙴𝚃𝙰𝚂:*\n` 9 | for (let mem of participants) { 10 | teks += `┣➥ @${mem.id.split('@')[0]}\n`} 11 | teks += `*└* ⍟𝗦𝗵𝗶𝘇𝘂 » 𝗕𝗼𝘁⍟\n\n*▌│█║▌║▌║║▌║▌║▌║█*` 12 | conn.sendMessage(m.chat, { text: teks, mentions: participants.map(a => a.id) }, ) 13 | } 14 | handler.help = ['tagall ','invocar '] 15 | handler.tags = ['group'] 16 | handler.command = /^(tagall|invocar|invocacion|todos|invocación)$/i 17 | handler.admin = true 18 | handler.group = true 19 | export default handler 20 | -------------------------------------------------------------------------------- /plugins/gc-unwarn.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text, command, usedPrefix }) => { 2 | let pp = './src/warn.jpg' 3 | let who 4 | if (m.isGroup) who = m.mentionedJid[0] ? m.mentionedJid[0] : m.quoted ? m.quoted.sender : text 5 | else who = m.chat 6 | let user = global.db.data.users[who] 7 | let bot = global.db.data.settings[conn.user.jid] || {} 8 | let warntext = `*[❗] 𝙴𝚃𝙸𝚀𝚄𝙴𝚃𝙴 𝙰 𝚄𝙽𝙰 𝙿𝙴𝚁𝚂𝙾𝙽𝙰 𝙾 𝚁𝙴𝚂𝙿𝙾𝙽𝙳𝙰 𝙰 𝚄𝙽 𝙼𝙴𝙽𝚂𝙰𝙹𝙴 𝙳𝙴𝙻 𝙶𝚁𝚄𝙿𝙾*\n\n*—◉ 𝙴𝙹𝙴𝙼𝙿𝙻𝙾:*\n*${usedPrefix + command} @${global.suittag}*` 9 | if (!who) throw m.reply(warntext, m.chat, { mentions: conn.parseMention(warntext)}) 10 | user.warn -= 1 11 | await conn.sendButton(m.chat,`${user.warn == 1 ? `*@${who.split`@`[0]}*` : `♻️ *@${who.split`@`[0]}*`} 𝚂𝙴 𝙻𝙴 𝚀𝚄𝙸𝚃𝙾 𝚄𝙽𝙰 𝙰𝙳𝚅𝙴𝚁𝚃𝙴𝙽𝙲𝙸𝙰 `, `*ADVERTENCIAS:*\n⚠️ *Antes: ${user.warn + 1}/3*\n⚠️ *Ahora: ${user.warn}/3*\n\n${wm}`, pp, [['📋 𝙻𝙸𝚂𝚃𝚆𝙰𝚁𝙽 📋', '#listwarn']], m, { mentions: [who] })} 12 | handler.command = /^(unwarn|delwarn|deladvertir|deladvertencia|delwarning)$/i 13 | handler.group = true 14 | handler.admin = true 15 | handler.botAdmin = true 16 | export default handler 17 | -------------------------------------------------------------------------------- /plugins/gc-warn-list.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, isOwner }) => { 2 | let adv = Object.entries(global.db.data.users).filter(user => user[1].warn) 3 | let warns = global.db.data.users.warn 4 | let user = global.db.data.users 5 | let imagewarn = './src/warn.jpg' 6 | let caption = `⚠️ 𝚄𝚂𝚄𝙰𝚁𝙸𝙾𝚂 𝙰𝙳𝚅𝙴𝚁𝚃𝙸𝙳𝙾𝚂\n 7 | *╔═══════════════════·•* 8 | ║ *Total : ${adv.length} Usuarios* ${adv ? '\n' + adv.map(([jid, user], i) => ` 9 | ║ 10 | ║ 1.- ${isOwner ? '@' + jid.split`@`[0] : jid} *(${user.warn}/3)*\n║\n║ - - - - - - - - -`.trim()).join('\n') : ''} 11 | *╚═══════════════════·•*` 12 | await conn.sendButton(m.chat, caption, wm, imagewarn, [['𝐌 𝐄 𝐍 𝐔 🌠', '#menu']], m, {mentions: await conn.parseMention(caption)})} 13 | handler.command = /^(listwarn)$/i 14 | handler.group = true 15 | handler.admin = true 16 | export default handler 17 | -------------------------------------------------------------------------------- /plugins/herramientas-acortar.js: -------------------------------------------------------------------------------- 1 | import axiostal from "axios" 2 | import fetch from 'node-fetch' 3 | let handler = async(m, { conn, text, xteamkey }) => { 4 | if (!text) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝙸𝙽𝙶𝚁𝙴𝚂𝙴 𝚄𝙽 𝙴𝙽𝙻𝙰𝙲𝙴 / 𝚄𝚁𝙻 𝙴𝙻 𝙲𝚄𝙰𝙻 𝙳𝙴𝚂𝙴𝙰 𝙰𝙲𝙾𝚁𝚃𝙰𝚁*' 5 | let json = await (await fetch(`https://api.xteam.xyz/shorturl/tinyurl?url=${text}&apikey=cb15ed422c71a2fb`)).json() 6 | if (!json.status) throw json 7 | let hasil = `*𝙻𝙸𝙽𝙺 𝙰𝙲𝙾𝚁𝚃𝙰𝙳𝙾 𝙲𝙾𝚁𝙴𝙲𝚃𝙰𝙼𝙴𝙽𝚃𝙴!!*\n\n*𝙻𝙸𝙽𝙺 𝙰𝙽𝚃𝙴𝚁𝙸𝙾𝚁:*\n${text}\n*𝙻𝙸𝙽𝙺 𝙰𝙲𝙾𝚁𝚃𝙰𝙳𝙾:*\n*${json.result}*`.trim() 8 | m.reply(hasil) 9 | } 10 | handler.help = ['tinyurl','acortar'].map(v => v + ' ') 11 | handler.tags = ['tools'] 12 | handler.command = /^(tinyurl|short|acortar|corto)$/i 13 | handler.fail = null 14 | export default handler 15 | -------------------------------------------------------------------------------- /plugins/herramientas-ajustar_tamaño.js: -------------------------------------------------------------------------------- 1 | import uploadImage from '../lib/uploadImage.js' 2 | import fetch from 'node-fetch' 3 | let handler = async (m, { conn, usedPrefix, command, args, text }) => { 4 | let q = m.quoted ? m.quoted : m 5 | let mime = (q.msg || q).mimetype || '' 6 | if (!mime) throw '⚠️️ Responde a una imagen o video.' 7 | if (!text) throw '⚠️️ Ingrese el peso nuevo de la imágen/video.' 8 | if (isNaN(text)) throw ' 🔢 sólo números' 9 | if (!/image\/(jpe?g|png)|video|document/.test(mime)) throw `⚠️️ Formato no soportado` 10 | let img = await q.download() 11 | let url = await uploadImage(img) 12 | 13 | if (/image\/(jpe?g|png)/.test(mime)) { 14 | conn.sendMessage(m.chat, { image: {url: url}, caption: `Aqui tienes`, fileLength: `${text}`, mentions: [m.sender] }, { ephemeralExpiration: 24*3600, quoted: m}) 15 | } else if (/video/.test(mime)) { 16 | return conn.sendMessage(m.chat, { video: {url: url}, caption: `Aqui tienes`, fileLength: `${text}`, mentions: [m.sender] }, { ephemeralExpiration: 24*3600, quoted: m })} 17 | } 18 | handler.tags = ['tools'] 19 | handler.help = ['tamaño '] 20 | handler.command = /^(length|filelength|edittamaño|totamaño|tamaño)$/i 21 | export default handler 22 | -------------------------------------------------------------------------------- /plugins/herramientas-calc.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text }) => { 2 | let id = m.chat 3 | conn.math = conn.math ? conn.math : {} 4 | if (id in conn.math) { 5 | clearTimeout(conn.math[id][3]) 6 | delete conn.math[id] 7 | m.reply('𝙷𝙴𝚈!! 𝙴𝚂𝚃𝙰𝚂 𝙷𝙰𝙲𝙸𝙴𝙽𝙳𝙾 𝚃𝚁𝙰𝙼𝙿𝙰') 8 | } 9 | let val = text 10 | .replace(/[^0-9\-\/+*×÷πEe()piPI/]/g, '') 11 | .replace(/×/g, '*') 12 | .replace(/÷/g, '/') 13 | .replace(/π|pi/gi, 'Math.PI') 14 | .replace(/e/gi, 'Math.E') 15 | .replace(/\/+/g, '/') 16 | .replace(/\++/g, '+') 17 | .replace(/-+/g, '-') 18 | let format = val 19 | .replace(/Math\.PI/g, 'π') 20 | .replace(/Math\.E/g, 'e') 21 | .replace(/\//g, '÷') 22 | .replace(/\*×/g, '×') 23 | try { 24 | console.log(val) 25 | let result = (new Function('return ' + val))() 26 | if (!result) throw result 27 | m.reply(`*${format}* = _${result}_`) 28 | } catch (e) { 29 | if (e == undefined) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝙸𝙽𝙶𝚁𝙴𝚂𝙴 𝙻𝙰 𝙾𝙿𝙴𝚁𝙰𝙲𝙸𝙾𝙽 𝙼𝙰𝚃𝙴𝙼𝙰𝚃𝙸𝙲𝙰 𝚀𝚄𝙴 𝙳𝙴𝚂𝙴𝙴 𝙲𝙰𝙻𝙲𝚄𝙻𝙰𝚁*' 30 | throw '*[❗𝐈𝐍𝐅𝐎❗] 𝙵𝙾𝚁𝙼𝙰𝚃𝙾 𝙽𝙾 𝙰𝙳𝙼𝙸𝚃𝙸𝙳𝙾, 𝚂𝙾𝙻𝙾 𝚂𝙴 𝙰𝙳𝙼𝙸𝚃𝙴𝙽 𝙽𝚄𝙼𝙴𝚁𝙾𝚂 𝚈 𝙻𝙾𝚂 𝚂𝙸𝙼𝙱𝙾𝙻𝙾𝚂 -, +, *, /, ×, ÷, π, e, (, )*' 31 | }} 32 | handler.help = ['calc '] 33 | handler.tags = ['tools'] 34 | handler.command = /^(calc(ulat(e|or))?|kalk(ulator)?)$/i 35 | handler.exp = 5 36 | export default handler 37 | -------------------------------------------------------------------------------- /plugins/herramientas-delete.js: -------------------------------------------------------------------------------- 1 | let handler = function (m) { 2 | if (!m.quoted) throw false 3 | let { chat, fromMe, isBaileys } = m.quoted 4 | if (!fromMe) throw false 5 | if (!isBaileys) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝚂𝙴 𝙼𝙴𝙽𝚂𝙰𝙹𝙴 𝙽𝙾 𝙵𝚄𝙴 𝙴𝙽𝚅𝙸𝙰𝙳𝙾 𝙿𝙾𝚁 𝙼𝙸, 𝙽𝙾 𝙻𝙾 𝙿𝚄𝙴𝙳𝙾 𝙴𝙻𝙸𝙼𝙸𝙽𝙰𝚁*' 6 | conn.sendMessage(chat, { delete: m.quoted.vM.key }) 7 | } 8 | handler.help = ['del', 'delete'] 9 | handler.tags = ['tools'] 10 | handler.command = /^del(ete)?$/i 11 | handler.group = true 12 | handler.admin = true 13 | export default handler 14 | -------------------------------------------------------------------------------- /plugins/herramientas-ocr.js: -------------------------------------------------------------------------------- 1 | import fetch from 'node-fetch' 2 | import { webp2png } from '../lib/webp2mp4.js' 3 | let handler = async (m, { conn }) => { 4 | let q = m.quoted ? m.quoted : m, 5 | mime = (q || q.msg).mimetype || q.mediaType || '' 6 | if (/image/.test(mime)) { 7 | let url = await webp2png(await q.download()), 8 | res = await fetch(API('https://api.ocr.space', '/parse/imageurl', { apikey: '8e65f273cd88957', url })) 9 | if (res.status !== 200) throw res.statusText 10 | let json = await res.json() 11 | m.reply(json?.ParsedResults?.[0]?.ParsedText) 12 | } else throw '*[❗] ERROR, POR FAVOR VUELVE A INTENTARLO, NO OLVIDE RESPONDER A UNA IMAGEN*' 13 | } 14 | handler.command = /^ocr|totexto$/i 15 | export default handler 16 | -------------------------------------------------------------------------------- /plugins/herramientas-qrcode.js: -------------------------------------------------------------------------------- 1 | import { toDataURL } from 'qrcode' 2 | let handler = async (m, { text, conn }) => { 3 | if (!text) throw `*[❗𝐈𝐍𝐅𝐎❗] 𝙸𝙽𝙶𝚁𝙴𝚂𝙴 𝙴𝙻 𝚃𝙴𝚇𝚃𝙾 𝚀𝚄𝙴 𝚀𝚄𝙸𝙴𝚁𝙰 𝙲𝙾𝙽𝚅𝙴𝚁𝚃𝙸𝚁 𝙴𝙽 𝙲𝙾𝙳𝙸𝙶𝙾 𝚀𝚁*` 4 | conn.sendFile(m.chat, await toDataURL(text.slice(0, 2048), { scale: 8 }), 'qrcode.png', '¯\\_(ツ)_/¯', m) 5 | } 6 | handler.help = ['', 'code'].map(v => 'qr' + v + ' ') 7 | handler.tags = ['tools'] 8 | handler.command = /^qr(code)?$/i 9 | export default handler 10 | -------------------------------------------------------------------------------- /plugins/herramientas-readmore.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text }) => { 2 | let [l, r] = text.split`|` 3 | if (!l) l = '' 4 | if (!r) r = '' 5 | conn.reply(m.chat, l + readMore + r, m) 6 | } 7 | handler.help = ['readmore', 'spoiler'].map(v => v + ' |') 8 | handler.tags = ['tools'] 9 | handler.command = /^(spoiler|hidetext|readmore|selengkapnya)$/i 10 | export default handler 11 | 12 | const more = String.fromCharCode(8206) 13 | const readMore = more.repeat(4001) 14 | -------------------------------------------------------------------------------- /plugins/herramientas-readqrcode.js: -------------------------------------------------------------------------------- 1 | import uploadImage from '../lib/uploadImage.js' 2 | import fetch from 'node-fetch' 3 | let handler = async (m, { conn, text, usedPrefix, command }) => { 4 | let q = m.quoted ? m.quoted : m 5 | let mime = (q.msg || q).mimetype || '' 6 | if (!mime) throw '*[❗] 𝚁𝙴𝚂𝙿𝙾𝙽𝙳𝙰 / 𝙴𝚃𝙸𝚀𝚄𝙴𝚃𝙴 𝙰 𝚄𝙽𝙰 𝙸𝙼𝙰𝙶𝙴𝙽*' 7 | let img = await q.download?.() 8 | let url = await uploadImage(img) 9 | let anu = await fetch(`https://api.lolhuman.xyz/api/read-qr?apikey=85faf717d0545d14074659ad&img=${url}`) 10 | let json = await anu.json() 11 | await m.reply(`*El Texto del Codigo QR Es:* ${json.result}`)} 12 | handler.command = /^(readqr)$/i 13 | export default handler 14 | -------------------------------------------------------------------------------- /plugins/herramientas-ssweb.js: -------------------------------------------------------------------------------- 1 | import fetch from 'node-fetch' 2 | let handler = async (m, { conn, command, args }) => { 3 | if (!args[0]) return conn.reply(m.chat, '*[🔎] 𝙸𝙽𝙶𝚁𝙴𝚂𝙴 𝙻𝙰 𝚄𝚁𝙻 𝙳𝙴 𝚄𝙽𝙰 𝙿𝙰𝙶𝙸𝙽𝙰*', m) 4 | let ss = await (await fetch(`https://image.thum.io/get/fullpage/${args[0]}`)).buffer() 5 | conn.sendFile(m.chat, ss, 'error.png', args[0], m)} 6 | handler.help = ['ss', 'ssf'].map(v => v + ' ') 7 | handler.tags = ['internet'] 8 | handler.command = /^ss(web)?f?$/i 9 | export default handler 10 | -------------------------------------------------------------------------------- /plugins/herramientas-styletext.js: -------------------------------------------------------------------------------- 1 | import fetch from 'node-fetch' 2 | import { JSDOM } from 'jsdom' 3 | let handler = async (m, { conn, text }) => { 4 | conn.reply(m.chat, Object.entries(await stylizeText(text ? text : m.quoted && m.quoted.text ? m.quoted.text : m.text)).map(([name, value]) => `*${name}*\n${value}`).join`\n\n`, m) 5 | } 6 | handler.help = ['style'].map(v => v + ' ') 7 | handler.tags = ['tools'] 8 | handler.command = /^(style(text)?)$/i 9 | handler.exp = 0 10 | export default handler 11 | 12 | async function stylizeText(text) { 13 | let res = await fetch('http://qaz.wtf/u/convert.cgi?text=' + encodeURIComponent(text)) 14 | let html = await res.text() 15 | let dom = new JSDOM(html) 16 | let table = dom.window.document.querySelector('table').children[0].children 17 | let obj = {} 18 | for (let tr of table) { 19 | let name = tr.querySelector('.aname').innerHTML 20 | let content = tr.children[1].textContent.replace(/^\n/, '').replace(/\n$/, '') 21 | obj[name + (obj[name] ? ' Reversed' : '')] = content 22 | } 23 | return obj 24 | } 25 | -------------------------------------------------------------------------------- /plugins/herramientas-translate.js: -------------------------------------------------------------------------------- 1 | import translate from '@vitalets/google-translate-api' 2 | import fetch from 'node-fetch' 3 | let handler = async (m, { args, usedPrefix, command }) => { 4 | let msg = `*[❗𝐈𝐍𝐅𝐎❗] 𝚄𝚂𝙾 𝙲𝙾𝚁𝚁𝙴𝙲𝚃𝙾 𝙳𝙴𝙻 𝙲𝙾𝙼𝙰𝙽𝙳𝙾 ${usedPrefix + command} (idioma) (texto)*\n*𝙴𝙹𝙴𝙼𝙿𝙻𝙾:*\n*${usedPrefix + command} es Hello*\n\n*𝙲𝙾𝙽𝙾𝙲𝙴 𝙻𝙾𝚂 𝙸𝙳𝙸𝙾𝙼𝙰𝚂 𝙰𝙳𝙼𝙸𝚃𝙸𝙳𝙾𝚂 𝙴𝙽:*\n*- https://cloud.google.com/translate/docs/languages*` 5 | if (!args || !args[0]) return m.reply(msg) 6 | let lang = args[0] 7 | let text = args.slice(1).join(' ') 8 | const defaultLang = 'es' 9 | if ((args[0] || '').length !== 2) { 10 | lang = defaultLang 11 | text = args.join(' ')} 12 | if (!text && m.quoted && m.quoted.text) text = m.quoted.text 13 | try { 14 | let result = await translate(`${text}`, { to: lang, autoCorrect: true }) 15 | await m.reply('*Traducción:* ' + result.text) 16 | } catch { 17 | try { 18 | let lol = await fetch(`https://api.lolhuman.xyz/api/translate/auto/${lang}?apikey=85faf717d0545d14074659ad&text=${text}`) 19 | let loll = await lol.json() 20 | let result2 = loll.result.translated 21 | await m.reply('*Traducción:* ' + result2) 22 | } catch { 23 | await m.reply('*[❗𝐈𝐍𝐅𝐎❗] ERROR, VUELVA A INTENTARLO*') 24 | }}} 25 | handler.command = /^(translate|traducir|trad)$/i 26 | export default handler 27 | -------------------------------------------------------------------------------- /plugins/herramientas-videollamada.js: -------------------------------------------------------------------------------- 1 | import fetch from 'node-fetch' 2 | let handler = async (m, { conn, text, usedPrefix, command }) => { 3 | if (!text) throw `*[❗] 𝙸𝙽𝙶𝚁𝙴𝚂𝙰 𝙻𝙰 𝙲𝙾𝙽𝚃𝚁𝙰𝚂𝙴𝙽̃𝙰 𝚀𝚄𝙴 𝚀𝚄𝙸𝙴𝚁𝙰𝚂 𝚀𝚄𝙴 𝚃𝙴𝙽𝙶𝙰 𝚃𝚄 𝚂𝙰𝙻𝙰, 𝙴𝙹𝙴𝙼𝙿𝙻𝙾 ${usedPrefix + command} 12345678*` 4 | let textfilter = text.toLowerCase() 5 | let res = await fetch(global.API('https://anonyzoom.herokuapp.com', '/index.php', { pass: textfilter })) 6 | let json = await res.json() 7 | if (json.Join_URL == '') { throw '*[❗] 𝙷𝚄𝙱𝙾 𝚄𝙽 𝙴𝚁𝚁𝙾𝚁 𝙰𝙻 𝙶𝙴𝙽𝙴𝚁𝙰𝚁 𝙻𝙰 𝚂𝙰𝙻𝙰 𝚅𝙸𝚁𝚃𝚄𝙰𝙻, 𝙿𝙾𝚁 𝙵𝙰𝚅𝙾𝚁 𝙸𝙽𝚃𝙴𝙽𝚃𝙴𝙻𝙾 𝙳𝙴 𝙽𝚄𝙴𝚅𝙾*' 8 | } else { 9 | let zoomA = `*[ 𝐆𝐄𝐍𝐄𝐑𝐀𝐃𝐎𝐑 𝐃𝐄 𝐒𝐀𝐋𝐀𝐒 𝐃𝐄 𝐙𝐎𝐎𝐌 ]*\n 10 | *𝙻𝙸𝙽𝙺 𝚉𝙾𝙾𝙼:* ${json.Join_URL} 11 | *𝙲𝙾𝙽𝚃𝚁𝙰𝚂𝙴𝙽̃𝙰:* ${json.Password} 12 | *𝙳𝚄𝚁𝙰𝙲𝙸𝙾𝙽 𝙳𝙴 𝙻𝙰 𝙻𝙻𝙰𝙼𝙰𝙳𝙰:* ${json.Duration} minutos` 13 | await conn.reply(m.chat, zoomA, m) 14 | }} 15 | handler.command = /^(zoom|zoomgen|videollamada)$/i 16 | export default handler 17 | -------------------------------------------------------------------------------- /plugins/info-Covid.js: -------------------------------------------------------------------------------- 1 | import fetch from 'node-fetch' 2 | let handler = async (m, { text, usedPrefix, command }) => { 3 | if (!text) throw `*[❗] 𝙸𝙽𝙶𝚁𝙴𝚂𝙴 𝙴𝙻 𝙽𝙾𝙼𝙱𝚁𝙴 𝙳𝙴 𝚄𝙽 𝙿𝙰𝙸𝚂, 𝙴𝙹𝙴𝙼𝙿𝙻𝙾 ${usedPrefix + command} Mexico*` 4 | let res = await fetch(global.API('https://covid19.mathdro.id', '/api/countries/'+ (text))) 5 | if (!res.ok) throw await res.text() 6 | let json = await res.json() 7 | if (!json.confirmed) throw 'País?' 8 | if (json.confirmed) m.reply(` 9 | 🌏 País : ${text} 10 | ✅Confirmado : ${json.confirmed.value} 11 | 📉curado : ${json.recovered.value} 12 | ☠️Muertes : ${json.deaths.value} 13 | 💌Info Actualizada : ${json.lastUpdate} 14 | `.trim()) 15 | else throw json 16 | } 17 | handler.help = ['covid'].map(v => v + ' ') 18 | handler.tags = ['info'] 19 | handler.command = /^(corona|covid|covid19)$/i 20 | export default handler 21 | -------------------------------------------------------------------------------- /plugins/info-bot.js: -------------------------------------------------------------------------------- 1 | import fs from "fs" 2 | let handler = m => m 3 | handler.all = async function (m) { 4 | let vn = './media/bot.mp3' 5 | let chat = global.db.data.chats[m.chat] 6 | const estilo = { key: { fromMe: false, participant: `0@s.whatsapp.net`, ...(m.chat ? { remoteJid: "5219992095479-1625305606@g.us" } : {}) }, 7 | message: {orderMessage: { itemCount : -999999, status: 1, surface : 1, message: 'Shizu - Bot', orderTitle: 'Bang', thumbnail: fs.readFileSync('./Menu2.jpg'), sellerJid: '0@s.whatsapp.net'}}} 8 | const estiloaudio = { key: { fromMe: false, participant: `0@s.whatsapp.net`, ...(m.chat ? { remoteJid: "5219992095479-1625305606@g.us" } : {}) }, message: {"audioMessage": { "mimetype":"audio/ogg; codecs=opus", "seconds": "99569", "ptt": "true"}}} 9 | if (/^bot$/i.test(m.text) && !chat.isBanned) { 10 | conn.sendPresenceUpdate('recording', m.chat) 11 | conn.sendButton(m.chat, '*𝙷𝙾𝙻𝙰, ¿𝙲𝙾𝙼𝙾 𝚃𝙴 𝙿𝚄𝙴𝙳𝙾 𝙰𝚈𝚄𝙳𝙰𝚁?*', wm, [['𝙼𝙴𝙽𝚄 𝙳𝙴 𝙲𝙾𝙼𝙰𝙽𝙳𝙾𝚂', `#menu`]], 'conversation', { sendEphemeral: true, quoted: estilo }) 12 | conn.sendFile(m.chat, vn, 'bot.mp3', null, m, true, { type: 'audioMessage', seconds: '4556', ptt: true, sendEphemeral: true, quoted: estiloaudio })} 13 | return !0 14 | } 15 | export default handler 16 | -------------------------------------------------------------------------------- /plugins/info-donar.js: -------------------------------------------------------------------------------- 1 | /* ⚠ POR FAVOR NO MODIFIQUES NADA DE AQUÍ ⚠ */ 2 | 3 | let handler = async (m, { conn, usedPrefix, command }) => { 4 | let name = await conn.getName(m.sender) 5 | let donar =` 6 | *┏ ┅ ━━━━━━━━━ ┅ ━* 7 | *┇ 「 𝐃𝐎𝐍𝐀𝐑 」* 8 | *┣ ┅ ━━━━━━━━━ ┅ ━* 9 | *┃ 𝙷𝙾𝙻𝙰 ${name} 💙* 10 | *┃* 11 | *┃ 👉🏻 𝙰𝚀𝚄𝙸 𝙰𝙻𝙶𝚄𝙽𝙾𝚂 𝙳𝙰𝚃𝙾𝚂* 12 | *┃ 𝙿𝙾𝚁 𝚂𝙸 𝙶𝚄𝚂𝚃𝙰𝚂 𝙰𝙿𝙾𝚈𝙰𝚁 :𝟹* 13 | *┃* 14 | *┃ ➤ 𝙲𝙻𝙰𝚅𝙴:* 15 | *┃ 646180192175788481* 16 | *┃ ➤ 𝙱𝙰𝙽𝙲𝙾: STP* 17 | *┃ ➤ 𝙱𝙴𝙽𝙴𝙵𝙸𝙲𝙸𝙰𝚁𝙸𝙾:* 18 | *┃ BRUNO SOBRINO* 19 | *┃ ➤ 𝙲𝙾𝙽𝙲𝙴𝙿𝚃𝙾: APOYO* 20 | *┃ ➤ 𝙿𝙰𝚈𝙿𝙰𝙻: https://www.paypal.me/NeKosmicOFC* 21 | *┃* 22 | *┃ 👉🏻 𝙲𝙾𝙽𝚃𝙰𝙲𝚃𝙰𝙼𝙴 𝚂𝙸* 23 | *┃ 𝙽𝙴𝙲𝙴𝚂𝙸𝚃𝙰𝚂 𝙼𝙰𝚂* 24 | *┃ 𝙳𝙰𝚃𝙾𝚂 𝚈 𝙿𝙰𝚁𝙰* 25 | *┃ 𝙰𝙶𝚁𝙰𝙳𝙴𝙲𝙴𝚁𝚃𝙴 <𝟹* 26 | *┃ wa.me/34623442554* 27 | *┗ ┅ ━━━━━━━━━ ┅ ━* 28 | `.trim() 29 | conn.sendHydrated(m.chat, donar, wm, null, 'https://www.paypal.me/NeKosmicOFC', '𝙿𝙰𝚈𝙿𝙰𝙻', null, null, [['𝙼𝙴𝙽𝚄 𝙿𝚁𝙸𝙽𝙲𝙸𝙿𝙰𝙻', '/menu']], m)} 30 | handler.help = ['donasi'] 31 | handler.tags = ['info'] 32 | handler.command = /^dona(te|si)|donar|apoyar$/i 33 | export default handler 34 | -------------------------------------------------------------------------------- /plugins/info-estado.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, command, usedPrefix }) => { 2 | let picture = './Menu2.jpg' 3 | let name = await conn.getName(m.sender) 4 | let _uptime = process.uptime() * 1000 5 | let _muptime 6 | if (process.send) { process.send('uptime') 7 | _muptime = await new Promise(resolve => { process.once('message', resolve) 8 | setTimeout(resolve, 1000) }) * 1000} 9 | let uptime = clockString(_uptime) 10 | let estado =` 11 | ╭─[ *𝗦𝗵𝗶𝘇𝘂 - 𝗕𝗼𝘁* ] 12 | │ *➤ 𝙷𝙾𝙻𝙰 ${name}* 13 | │ 14 | │ *ミ🤖 𝙴𝚂𝚃𝙰𝙳𝙾 𝙳𝙴𝙻 𝙱𝙾𝚃 🤖彡* 15 | │ *=> 𝙱𝙾𝚃 𝙰𝙲𝚃𝙸𝚅𝙾 ✅* 16 | │ *=> 𝙱𝙾𝚃 𝙳𝙴 𝚄𝚂𝙾 𝙿𝚄𝙱𝙻𝙸𝙲𝙾 ✅* 17 | │ *=> 𝚃𝙸𝙴𝙼𝙿𝙾 𝙰𝙲𝚃𝙸𝚅𝙾: ${uptime}* 18 | ╰─────────────── 19 | `.trim() 20 | 21 | conn.sendHydrated(m.chat, estado, wm, picture, 'https://github.com/Shizu-Hub/Shizu-Bot', '𝙶𝙸𝚃𝙷𝚄𝙱', null, null, [ 22 | ['𝙼𝙴𝙽𝚄 𝙿𝚁𝙸𝙽𝙲𝙸𝙿𝙰𝙻', '/menu'] 23 | ], m)} 24 | 25 | handler.help = ['estado'] 26 | handler.tags = ['main'] 27 | handler.command = /^(estado|status|estate|state|stado|stats)$/i 28 | export default handler 29 | 30 | function clockString(ms) { 31 | let h = isNaN(ms) ? '--' : Math.floor(ms / 3600000) 32 | let m = isNaN(ms) ? '--' : Math.floor(ms / 60000) % 60 33 | let s = isNaN(ms) ? '--' : Math.floor(ms / 1000) % 60 34 | return [h, m, s].map(v => v.toString().padStart(2, 0)).join(':')} 35 | -------------------------------------------------------------------------------- /plugins/info-futgol.js: -------------------------------------------------------------------------------- 1 | import fs from "fs" 2 | let handler = m => m 3 | handler.all = async function (m) { 4 | let vn = './media/DarkSide.m4a' 5 | let chat = global.db.data.chats[m.chat] 6 | const estilo = { key: { fromMe: false, participant: `0@s.whatsapp.net`, ...(m.chat ? { remoteJid: "5219992095479-1625305606@g.us" } : {}) }, 7 | message: {orderMessage: { itemCount : -999999, status: 1, surface : 1, message: 'Shizu - Bot', orderTitle: 'Bang', thumbnail: fs.readFileSync('./Menu2.jpg'), sellerJid: '0@s.whatsapp.net'}}} 8 | const estiloaudio = { key: { fromMe: false, participant: `0@s.whatsapp.net`, ...(m.chat ? { remoteJid: "5219992095479-1625305606@g.us" } : {}) }, message: {"audioMessage": { "mimetype":"audio/ogg; codecs=opus", "seconds": "99569", "ptt": "true"}}} 9 | if (/^futbol$/i.test(m.text) && !chat.isBanned) { 10 | conn.sendPresenceUpdate('recording', m.chat) 11 | conn.sendButton(m.chat, '*𝙷𝚘𝚕𝚊, 𝙳𝚎𝚜𝚌𝚊𝚛𝚐𝚊 𝚢𝚊 𝙵𝚞𝚝𝙶𝚘𝚕, 𝚞𝚗𝚊 𝚊𝚙𝚙 𝚌𝚘𝚖𝚙𝚕𝚎𝚝𝚊𝚖𝚎𝚗𝚝𝚎 𝚐𝚛𝚊𝚝𝚒𝚜 𝚙𝚊𝚛𝚊 𝚟𝚎𝚛 𝙵𝚞𝚝𝚋𝚘𝚕 𝚎𝚗 𝚟𝚒𝚟𝚘. 𝙰 𝚚𝚞𝚎 𝚎𝚜𝚙𝚎𝚛𝚊𝚜? 𝙳𝚎𝚜𝚌𝚊𝚛𝚐𝚊 𝚢𝚊 𝚕𝚊 𝚊𝚙𝚙!!!👇*', wm, [['𝗗𝗢𝗪𝗡𝗟𝗢𝗔𝗗', `#futgol`]], 'conversation', { sendEphemeral: true, quoted: estilo }) 12 | conn.sendFile(m.chat, vn, './media/DarkSide.m4a', null, m, true, { type: 'audioMessage', seconds: '4556', ptt: true, sendEphemeral: true, quoted: estiloaudio })} 13 | return !0 14 | } 15 | export default handler 16 | -------------------------------------------------------------------------------- /plugins/info-grouplist.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | let txt = '' 3 | for (let [jid, chat] of Object.entries(conn.chats).filter(([jid, chat]) => jid.endsWith('@g.us') && chat.isChats)) txt += `\n—◉ ${await conn.getName(jid)}\n➤ ${jid} [${chat?.metadata?.read_only ? '𝙽𝙾 𝙿𝙰𝚁𝚃𝙸𝙲𝙸𝙿𝙰𝙽𝚃𝙴' : '𝙿𝙰𝚁𝚃𝙸𝙲𝙸𝙿𝙰𝙽𝚃𝙴'}]\n\n` 4 | m.reply(`*𝙻𝙸𝚂𝚃𝙰 𝙳𝙴 𝙶𝚁𝚄𝙿𝙾𝚂 𝙴𝙽 𝙻𝙾𝚂 𝚀𝚄𝙴 𝙴𝚂𝚃𝙰 𝙴𝙻 𝙱𝙾𝚃:* 5 | ${txt} 6 | `.trim()) 7 | } 8 | handler.help = ['groups', 'grouplist'] 9 | handler.tags = ['info'] 10 | handler.command = /^(groups|grouplist|listadegrupo|gruposlista|listagrupos)$/i 11 | export default handler 12 | -------------------------------------------------------------------------------- /plugins/info-gruposofc.js: -------------------------------------------------------------------------------- 1 | let media = './Menu2.jpg' 2 | let handler = async (m, { conn, command }) => conn.sendButton(m.chat, ` 3 | ✪𝐆𝐑𝐔𝐏𝐎𝐒 𝐎𝐅𝐈𝐂𝐈𝐀𝐋𝐄𝐒 𝐃𝐄𝐋 𝐁𝐎𝐓✪ 4 | ▒▒▒▒▒▒▐███████▌▒▒▒▒▒▒▒ 5 | ▒▒▒▒▒▒▐░▀░▀░▀░▌▒▒▒▒▒▒▒ 6 | ▒▒▒▒▒▒▐▄▄▄▄▄▄▄▌▒▒▒▒▒▒▒ 7 | ▄▀▀▀█▒▐░▀▀▄▀▀░▌▒█▀▀▀▄▒ 8 | ▌▌▌▌▐▒▄▌░▄▄▄░▐▄▒▌▐▐▐▐▒ 9 | *1° https://chat.whatsapp.com/LwPNmhUV8P76isIyFgEK8E* 10 | 11 | *2° https://chat.whatsapp.com/HtL4o3tb8Lk0jTo9iAvrV5* 12 | ███▀▀▀▀███████████████ 13 | ██░░░░░▄██████████████ 14 | █▌░░░░████░░██░░██░░██ 15 | ██░░░░░▀██████████████ 16 | ███▄▄▄▄███████████████ 17 | `.trim(), wm, media, [['💟 𝙼𝙴𝙽𝚄 𝙿𝚁𝙸𝙽𝙲𝙸𝙿𝙰𝙻 💟', '#allmenu']], m) 18 | handler.command = /^linkgc|gruposofc$/i 19 | export default handler 20 | -------------------------------------------------------------------------------- /plugins/info-instalarbot.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, command, args, usedPrefix, DevMode }) => { 2 | let pp = './portada_download.jpg' 3 | let text = ` 4 | Download Shizu-Bot 5 | 6 | Descarga Shizu-Bot en tu número, bot de WhatsApp multi device, con comandos actualizados a diario. 7 | 8 | Bot editable con menú desplegable 9 | 10 | Link: https://youtu.be/rWzCNV2J8S0 11 | 12 | GitHub: https://github.com/Shizu-Hub/Shizu-Bot-MD 13 | 14 | Número OFC del Bot: +972 55-724-6503 15 | Link: wa.me/+97255-724-6503 16 | 17 | AcidicNodes 18 | Mantén tus servidores activos 24/7 gratuitamente. 19 | https://billing.acidicnodes.ml/register?ref=nSzLjTPd 20 | 21 | Grupo de WhatsApp 22 | https://chat.whatsapp.com/LwPNmhUV8P76isIyFgEK8E 23 | 24 | Unete👆!!! 25 | 26 | ------------------------------------ 27 | 28 | *—◉ 𝙲𝙾𝙼𝙰𝙽𝙳𝙾𝚂 𝚃𝙴𝚁𝙼𝚄𝚇* 29 | > pkg install 30 | > pkg upgrade 31 | > pkg install git 32 | > pkg install ffmpeg && pkg install libwebp 33 | > pkg install nodejs 34 | > pkg install yarn 35 | > git clone https://github.com/Shizu-Hub/WaBot-MD 36 | > cd WaBot-MD 37 | > npm install 38 | > yarn 39 | > npm startç 40 | (Este bot puede tener fallos, porque esta desactualizado.)` 41 | m.reply(text) 42 | } 43 | handler.command = /^(instalarbot)/i 44 | export default handler 45 | -------------------------------------------------------------------------------- /plugins/info-sc.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, usedPrefix }) => { 2 | var doc = ['pdf','zip','vnd.openxmlformats-officedocument.presentationml.presentation','vnd.openxmlformats-officedocument.spreadsheetml.sheet','vnd.openxmlformats-officedocument.wordprocessingml.document'] 3 | var document = doc[Math.floor(Math.random() * doc.length)] 4 | let texto1 = `*https://github.com/Shizu-Hub/Shizu-Bot-MD*` 5 | let buttonMessage= { 6 | 'document': { url: `https://github.com/Shizu-Hub/Shizu-Bot-MD` }, 7 | 'mimetype': `application/${document}`, 8 | 'fileName': `「 𝑯𝒆𝒍𝒍𝒐 𝑾𝒐𝒓𝒍𝒅 」`, 9 | 'fileLength': 99999999999999, 10 | 'pageCount': 200, 11 | 'contextInfo': { 12 | 'forwardingScore': 200, 13 | 'isForwarded': true, 14 | 'externalAdReply': { 15 | 'mediaUrl': 'https://github.com/Shizu-Hub/Shizu-Bot-MD', 16 | 'mediaType': 2, 17 | 'previewType': 'pdf', 18 | 'title': 'ᴇʟ ᴍᴇᴊᴏʀ ʙᴏᴛ ᴅᴇ ᴡʜᴀᴛsᴀᴘᴘ⁩', 19 | 'body': wm, 20 | 'thumbnail': imagen1, 21 | 'sourceUrl': 'https://www.youtube.com/channel/UCSTDMKjbm-EmEovkygX-lCA' }}, 22 | 'caption': texto1, 23 | 'footer': wm, 24 | 'buttons':[ 25 | {buttonId: `${usedPrefix}menu`, buttonText: {displayText: '𝙼𝙴𝙽𝚄'}, type: 1}, 26 | {buttonId: `${usedPrefix}donar`, buttonText: {displayText: '𝙳𝙾𝙽𝙰𝚁'}, type: 1}], 27 | 'headerType': 6 } 28 | conn.sendMessage(m.chat, buttonMessage, { quoted: m })} 29 | handler.command = ['sc','script'] 30 | export default handler 31 | -------------------------------------------------------------------------------- /plugins/info-speedtest.js: -------------------------------------------------------------------------------- 1 | import cp from 'child_process' 2 | import { promisify } from 'util' 3 | let exec = promisify(cp.exec).bind(cp) 4 | let handler = async (m) => { 5 | await conn.reply(m.chat, global.wait, m) 6 | let o 7 | try { 8 | o = await exec('python speed.py') 9 | } catch (e) { 10 | o = e 11 | } finally { 12 | let { stdout, stderr } = o 13 | if (stdout.trim()) m.reply(stdout) 14 | if (stderr.trim()) m.reply(stderr) 15 | } 16 | } 17 | handler.help = ['speedtest'] 18 | handler.tags = ['info'] 19 | handler.command = /^(speedtest?|test?speed)$/i 20 | 21 | export default handler 22 | -------------------------------------------------------------------------------- /plugins/maker-blur.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, usedprefix }) => { 2 | let who = m.quoted ? m.quoted.sender : m.mentionedJid && m.mentionedJid[0] ? m.mentionedJid[0] : m.fromMe ? conn.user.jid : m.sender 3 | conn.sendFile(m.chat, global.API('https://some-random-api.ml', '/canvas/blur', { 4 | avatar: await conn.profilePictureUrl(who, 'image').catch(_ => 'https://telegra.ph/file/24fa902ead26340f3df2c.png'), 5 | }), 'hornycard.png', '*[ ✔ ] 𝙴𝙵𝙴𝙲𝚃𝙾 𝙰𝙿𝙻𝙸𝙲𝙰𝙳𝙾*', m) 6 | } 7 | handler.help = ['blur','difuminar2'] 8 | handler.tags = ['maker'] 9 | handler.command = /^(blur|difuminar2)$/i 10 | export default handler 11 | -------------------------------------------------------------------------------- /plugins/maker-horncard.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | let who = m.quoted ? m.quoted.sender : m.mentionedJid && m.mentionedJid[0] ? m.mentionedJid[0] : m.fromMe ? conn.user.jid : m.sender 3 | conn.sendFile(m.chat, global.API('https://some-random-api.ml', '/canvas/horny', { 4 | avatar: await conn.profilePictureUrl(who, 'image').catch(_ => 'https://telegra.ph/file/24fa902ead26340f3df2c.png'), 5 | }), 'hornycard.png', '*𝚃𝚄 𝙴𝚂𝚃𝙰𝚂 𝙷𝙾𝚁𝙽𝚈 🥵🔥*', m) 6 | } 7 | handler.help = ['hornycard', 'hornylicense'] 8 | handler.tags = ['maker'] 9 | handler.command = /^(horny(card|license))$/i 10 | export default handler 11 | -------------------------------------------------------------------------------- /plugins/maker-itssostupid.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, args }) => { 2 | let text = args.slice(1).join(' ') 3 | let who = m.quoted ? m.quoted.sender : m.mentionedJid && m.mentionedJid[0] ? m.mentionedJid[0] : m.fromMe ? conn.user.jid : m.sender 4 | conn.sendFile(m.chat, global.API('https://some-random-api.ml', '/canvas/its-so-stupid', { 5 | avatar: await conn.profilePictureUrl(who, 'image').catch(_ => 'https://telegra.ph/file/24fa902ead26340f3df2c.png'), 6 | dog: text || 'im+stupid' 7 | }), 'error.png', `*@${author}*`, m) 8 | } 9 | handler.help = ['itssostupid', 'iss', 'stupid'] 10 | handler.tags = ['maker'] 11 | handler.command = /^(itssostupid|iss|stupid)$/i 12 | export default handler 13 | -------------------------------------------------------------------------------- /plugins/maker-pixel.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, usedprefix, text }) => { 2 | let who = m.quoted ? m.quoted.sender : m.mentionedJid && m.mentionedJid[0] ? m.mentionedJid[0] : m.fromMe ? conn.user.jid : m.sender 3 | conn.sendFile(m.chat, global.API('https://some-random-api.ml', '/canvas/pixelate', { 4 | avatar: await conn.profilePictureUrl(m.sender, 'image').catch(_ => 'https://telegra.ph/file/24fa902ead26340f3df2c.png'), 5 | comment: text, 6 | username: conn.getName(m.sender) 7 | }), 'error.png', '*¡¡𝙸𝙼𝙰𝙶𝙴𝙽 𝙿𝙸𝚇𝙴𝙻𝙴𝙰𝙳𝙰 𝙲𝙾𝙽 𝙴𝚇𝙸𝚃𝙾!!*', m) 8 | } 9 | handler.help = ['pixel','difuminar'] 10 | handler.tags = ['maker'] 11 | handler.command = /^(pixel|pixelar|difuminar)$/i 12 | export default handler 13 | -------------------------------------------------------------------------------- /plugins/maker-simpcard.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | let who = m.quoted ? m.quoted.sender : m.mentionedJid && m.mentionedJid[0] ? m.mentionedJid[0] : m.fromMe ? conn.user.jid : m.sender 3 | conn.sendFile(m.chat, global.API('https://some-random-api.ml', '/canvas/simpcard', { 4 | avatar: await conn.profilePictureUrl(who, 'image').catch(_ => 'https://telegra.ph/file/24fa902ead26340f3df2c.png'), 5 | }), 'error.png', '*¡¡𝚃𝚄 𝚁𝙴𝙻𝙸𝙶𝙸𝙾𝙽 𝙴𝚂 𝚂𝙴𝚁 𝚄𝙽 𝚂𝙸𝙼𝙿!!*', m) 6 | } 7 | handler.help = ['simpcard'] 8 | handler.tags = ['maker'] 9 | handler.command = /^(simpcard)$/i 10 | export default handler 11 | -------------------------------------------------------------------------------- /plugins/maker-ytcomment.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text }) => { 2 | if (!text) throw 'No Text' 3 | conn.sendFile(m.chat, global.API('https://some-random-api.ml', '/canvas/youtube-comment', { 4 | avatar: await conn.profilePictureUrl(m.sender, 'image').catch(_ => 'https://telegra.ph/file/24fa902ead26340f3df2c.png'), 5 | comment: text, 6 | username: conn.getName(m.sender) 7 | }), 'error.png', '*¡¡𝙶𝚁𝙰𝙲𝙸𝙰𝚂 𝙿𝙾𝚁 𝙲𝙾𝙼𝙴𝙽𝚃𝙰𝚁!!*', m) 8 | } 9 | handler.help = ['ytcomment '] 10 | handler.tags = ['maker'] 11 | handler.command = /^(ytcomment)$/i 12 | export default handler 13 | -------------------------------------------------------------------------------- /plugins/marker-lolice.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, usedprefix }) => { 2 | let who = m.quoted ? m.quoted.sender : m.mentionedJid && m.mentionedJid[0] ? m.mentionedJid[0] : m.fromMe ? conn.user.jid : m.sender 3 | conn.sendButton(m.chat, '*🚔🚨 𝐋𝐎𝐋𝐈𝐂𝐎𝐍𝐒 𝐂𝐎𝐌𝐎 𝐓𝐔 𝐒𝐎𝐋𝐎 𝐏𝐄𝐑𝐓𝐄𝐍𝐄𝐂𝐄𝐍 𝐀 𝐋𝐀 𝐂𝐀𝐑𝐂𝐄𝐋 🚨🚔*', author, global.API('https://some-random-api.ml', '/canvas/lolice', { 4 | avatar: await conn.profilePictureUrl(who, 'image').catch(_ => 'https://telegra.ph/file/24fa902ead26340f3df2c.png'), 5 | }), [['𝚈𝙾 𝙰𝙼𝙾 𝙻𝙰𝚂 𝙻𝙾𝙻𝙸𝚂 💓', `/loli`]], m)} 6 | 7 | handler.help = ['lolice'] 8 | handler.tags = ['maker'] 9 | handler.command = /^(lolice)$/i 10 | export default handler 11 | -------------------------------------------------------------------------------- /plugins/mipilot-jadibot-parar.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | if (global.conn.user.jid == conn.user.jid) conn.reply(m.chat, 'Por qué no vas directamente con el numero del Bot?', m) 3 | else { 4 | await conn.reply(m.chat, 'Adiós Bot :\')', m) 5 | conn.ws.close()}} 6 | handler.command = /^(berhenti|stop)$/i 7 | handler.owner = true 8 | handler.fail = null 9 | export default handler 10 | -------------------------------------------------------------------------------- /plugins/mipilot-serbot-info.js: -------------------------------------------------------------------------------- 1 | async function handler(m, { usedPrefix }) { 2 | let users = [...new Set([...global.conns.filter(conn => conn.user && conn.state !== 'close').map(conn => conn.user)])] 3 | await m.reply( '*—◉ 𝙰𝚀𝚄𝙸 𝚃𝙸𝙴𝙽𝙴𝚂 𝙻𝙰 𝙻𝙸𝚂𝚃𝙰 𝙳𝙴 𝚂𝚄𝙱𝙱𝙾𝚃𝚂 (𝚂𝙴𝚁𝙱𝙾𝚃/𝙹𝙰𝙳𝙸𝙱𝙾𝚃) 𝙰𝙲𝚃𝙸𝚅𝙾𝚂 🤖️*\n\n*◉ 𝙿𝚄𝙴𝙳𝙴𝚂 𝙲𝙾𝙽𝚃𝙰𝙲𝚃𝙰𝚁𝙻𝙾𝚂 𝙿𝙰𝚁𝙰 𝙿𝙴𝙳𝙸𝚁 𝚀𝚄𝙴 𝚂𝙴 𝚄𝙽𝙰𝙽 𝙰 𝚃𝚄 𝙶𝚁𝚄𝙿𝙾, 𝚂𝙴 𝚁𝙴𝚂𝙿𝙴𝚃𝚄𝙾𝚂𝙾!!*\n\n*◉ 𝚂𝙸 𝙴𝙻 𝚃𝙴𝚇𝚃𝙾 𝙰𝙿𝙰𝚁𝙴𝙲𝙴 𝙴𝙽 𝙱𝙻𝙰𝙽𝙲𝙾 𝚂𝙸𝙶𝙽𝙸𝙵𝙸𝙲𝙰 𝚀𝚄𝙴 𝙽𝙾 𝙷𝙰𝚈 𝚂𝚄𝙱𝙱𝙾𝚃𝚂 𝙰𝙲𝚃𝙸𝚅𝙾𝚂*\n\n*[❗] 𝚃𝙷𝙴 𝚂𝙷𝙰𝙳𝙾𝚆 𝙱𝚁𝙾𝙺𝙴𝚁𝚂 - 𝚃𝙴𝙰𝙼 𝚂𝙴 𝙳𝙴𝚂𝙻𝙸𝙽𝙳𝙰 𝙳𝙴 𝚃𝙾𝙳𝙰 𝚁𝙴𝚂𝙿𝙾𝙽𝚂𝙰𝙱𝙸𝙻𝙸𝙳𝙰𝙳 𝙾 𝚂𝚄𝙲𝙴𝚂𝙾 𝙾𝙲𝚄𝚁𝚁𝙸𝙳𝙾 𝙲𝙾𝙽 𝚁𝙴𝚂𝙿𝙴𝙲𝚃𝙾 𝙰𝙻 𝙱𝙾𝚃 𝙾 𝚂𝚄𝙱𝙱𝙾𝚃𝚂*') 4 | await m.reply(users.map(v => '👉🏻 wa.me/' + v.jid.replace(/[^0-9]/g, '') + `?text=${usedPrefix}estado (${v.name})`).join('\n'))} 5 | handler.command = handler.help = ['listjadibot','bots','subsbots'] 6 | handler.tags = ['jadibot'] 7 | export default handler 8 | -------------------------------------------------------------------------------- /plugins/nv-a.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | if (!db.data.chats[m.chat].audios && m.isGroup) throw 0 3 | let vn = './media/a.mp3' 4 | conn.sendPresenceUpdate('recording', m.chat) 5 | conn.sendMessage(m.chat, { audio: { url: vn }, seconds: '3600', ptt: true, mimetype: 'audio/mpeg', fileName: `a.mp3` }, { quoted: m }) 6 | } 7 | handler.customPrefix = /ª|a|A/ 8 | handler.command = /^(a|ª|A?$)/ 9 | export default handler 10 | 11 | /* 12 | let handler = async (m, { conn }) => { 13 | if (!db.data.chats[m.chat].audios && m.isGroup) throw 0 14 | let vn = './media/a.mp3' 15 | conn.sendPresenceUpdate('recording', m.chat) 16 | conn.sendMessage(m.chat, { audio: { url: vn }, contextInfo: { "externalAdReply": { "title": `👑 𝐓𝐡𝐞 𝐌𝐲𝐬𝐭𝐢𝐜 - 𝐁𝐨𝐭 👑`, "body": `=> ᴀᴜᴅɪᴏ ᴀᴜᴛᴏᴍᴀᴛɪᴄᴏ`, "previewType": "PHOTO", "thumbnailUrl": null,"thumbnail": imagen1, "sourceUrl": `https://github.com/BrunoSobrino/TheMystic-Bot-MD`, "showAdAttribution": true}}, seconds: '4556', ptt: true, mimetype: 'audio/mpeg', fileName: `error.mp3` }, { quoted: m })} 17 | handler.customPrefix = /ª|a|A/ 18 | handler.command = /^(a|ª|A?$)/ 19 | export default handler 20 | */ 21 | -------------------------------------------------------------------------------- /plugins/nv-sad c _mp3.js: -------------------------------------------------------------------------------- 1 | import util from 'util' 2 | import path from 'path' 3 | 4 | let handler = async (m, { conn }) => { 5 | if (!db.data.chats[m.chat].audios && m.isGroup) throw 0 6 | let vn = './media/toma.mp3' 7 | conn.sendFile(m.chat, vn, 'toma.mp3', null, m, true, { 8 | type: 'audioMessage', 9 | ptt: true 10 | }) 11 | } 12 | handler.command = /^(:c|c)$/i 13 | handler.fail = null 14 | handler.exp = 100 15 | export default handler -------------------------------------------------------------------------------- /plugins/owner-addmsg.js.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { command, usedPrefix, text }) => { 2 | let M = m.constructor 3 | let which = command.replace(/agregar/i, '') 4 | if (!m.quoted) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝚁𝙴𝚂𝙿𝙾𝙽𝙳𝙴 𝙰 𝚄𝙽 𝚃𝙴𝚇𝚃𝙾, 𝙼𝙴𝙽𝚂𝙰𝙹𝙴, 𝙸𝙼𝙰𝙶𝙴𝙽, 𝙴𝚃𝙲. 𝚈 𝙰𝙽̃𝙰𝙳𝙴 𝚄𝙽 𝚃𝙴𝚇𝚃𝙾 𝙲𝙾𝙼𝙾 𝙿𝙰𝙻𝙰𝙱𝚁𝙰 𝙲𝙻𝙰𝚅𝙴*' 5 | if (!text) throw `*[❗𝐈𝐍𝐅𝐎❗] 𝚄𝚃𝙸𝙻𝙸𝚉𝙰𝚁 *${usedPrefix}list${which}* 𝙿𝙰𝚁𝙰 𝚅𝙴𝚁 𝙻𝙰 𝙻𝙸𝚂𝚃𝙰 𝙳𝙴 𝙼𝙴𝙽𝚂𝙰𝙹𝙴𝚂` 6 | let msgs = global.db.data.msgs 7 | if (text in msgs) throw `*[❗𝐈𝐍𝐅𝐎❗] '${text}' 𝚂𝙴 𝙰𝙷 𝚁𝙴𝙶𝙸𝚂𝚃𝚁𝙰𝙳𝙾 𝙴𝙽 𝙻𝙰 𝙻𝙸𝚂𝚃𝙰 𝙳𝙴 𝙼𝙴𝙽𝚂𝙰𝙹𝙴𝚂` 8 | msgs[text] = M.toObject(await m.getQuotedObj()) 9 | m.reply(`*[❗𝐈𝐍𝐅𝐎❗] 𝙼𝙴𝙽𝚂𝙰𝙹𝙴 𝙰𝙶𝚁𝙴𝙶𝙰𝙳𝙾 𝙴𝚇𝙸𝚃𝙾𝚂𝙰𝙼𝙴𝙽𝚃𝙴 𝙰 𝙻𝙰 𝙻𝙸𝚂𝚃𝙰 𝙳𝙴 𝙼𝙴𝙽𝚂𝙰𝙹𝙴𝚂 𝙲𝙾𝙼𝙾 '${text}'*\n*𝙰𝙲𝙲𝙴𝙳𝙴 𝙲𝙾𝙽 ${usedPrefix}ver${which} ${text}*`) 10 | } 11 | handler.help = ['vn', 'msg', 'video', 'audio', 'img', 'sticker'].map(v => 'add' + v + ' ') 12 | handler.tags = ['database'] 13 | handler.command = /^agregar(vn|msg|video|audio|img|sticker)$/ 14 | handler.rowner = true 15 | export default handler -------------------------------------------------------------------------------- /plugins/owner-addprem.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text }) => { 2 | let who 3 | if (m.isGroup) who = m.mentionedJid[0] ? m.mentionedJid[0] : m.quoted ? m.quoted.sender : text 4 | else who = m.chat 5 | if (!who) throw `*[❗𝐈𝐍𝐅𝐎❗] 𝙸𝙽𝙶𝚁𝙴𝚂𝙰 𝙴𝙻 @𝚝𝚊𝚐 𝙳𝙴 𝙻𝙰 𝙿𝙴𝚁𝚂𝙾𝙽𝙰 𝚀𝚄𝙴 𝙳𝙴𝚂𝙴𝙴 𝙰𝙶𝚁𝙴𝙶𝙰𝚁 𝙰 𝙻𝙾𝚂 𝚄𝚂𝚄𝙰𝚁𝙸𝙾𝚂 𝙿𝚁𝙴𝙼𝙸𝚄𝙼*` 6 | if (global.prems.includes(who.split`@`[0])) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝙻 𝚄𝚂𝚄𝙰𝚁𝙸𝙾 𝙸𝙽𝙶𝚁𝙴𝚂𝙰𝙳𝙾 𝚈𝙰 𝙴𝚂 𝚄𝚂𝚄𝙰𝚁𝙸𝙾 𝙿𝚁𝙴𝙼𝙸𝚄𝙼*' 7 | global.prems.push(`${who.split`@`[0]}`) 8 | let textprem = `*[❗𝐈𝐍𝐅𝐎❗] @${who.split`@`[0]} 𝙰𝙷𝙾𝚁𝙰 𝙴𝚂 𝚄𝙽 𝚄𝚂𝚄𝙰𝚁𝙸𝙾 𝙿𝚁𝙴𝙼𝙸𝚄𝙼, 𝙽𝙾 𝚃𝙴𝙽𝙳𝚁𝙰 𝙻𝙸𝙼𝙸𝚃𝙴𝚂 𝙰𝙻 𝚄𝚂𝙰𝚁 𝙴𝙻 𝙱𝙾𝚃*` 9 | m.reply(textprem, null, { mentions: conn.parseMention(textprem) }) 10 | } 11 | handler.help = ['addprem <@user>'] 12 | handler.tags = ['owner'] 13 | handler.command = /^(add|\+)prem$/i 14 | handler.group = true 15 | handler.rowner = true 16 | export default handler 17 | -------------------------------------------------------------------------------- /plugins/owner-anadirLimit.js: -------------------------------------------------------------------------------- 1 | import MessageType from '@adiwajshing/baileys' 2 | let pajak = 0 3 | let handler = async (m, { conn, text }) => { 4 | let who 5 | if (m.isGroup) who = m.mentionedJid[0] 6 | else who = m.chat 7 | if (!who) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝚃𝙸𝚀𝚄𝙴𝚃𝙰 𝙰 𝚄𝙽 𝚄𝚂𝚄𝙰𝚁𝙸𝙾 𝙲𝙾𝙽 𝙴𝙻 @𝚝𝚊𝚐*' 8 | let txt = text.replace('@' + who.split`@`[0], '').trim() 9 | if (!txt) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝙸𝙽𝙶𝚁𝙴𝚂𝙰 𝙻𝙰 𝙲𝙰𝙽𝚃𝙸𝙳𝙰𝙳 𝙳𝙴 𝙳𝙸𝙰𝙼𝙰𝙽𝚃𝙴𝚂 𝚀𝚄𝙴 𝙳𝙴𝚂𝙴𝙰 𝙰𝙽̃𝙰𝙳𝙸𝚁*' 10 | if (isNaN(txt)) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝚂𝙸𝙼𝙱𝙾𝙻𝙾 𝙽𝙾 𝙰𝙳𝙼𝙸𝚃𝙸𝙳𝙾, 𝚂𝙾𝙻𝙾 𝙽𝚄𝙼𝙴𝚁𝙾𝚂!*' 11 | let dmt = parseInt(txt) 12 | let limit = dmt 13 | let pjk = Math.ceil(dmt * pajak) 14 | limit += pjk 15 | if (limit < 1) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝙻 𝙽𝚄𝙼𝙴𝚁𝙾 𝙼𝙸𝙽𝙸𝙼𝙾 𝙳𝙴 𝙳𝙸𝙰𝙼𝙰𝙽𝚃𝙴𝚂 𝙿𝙰𝚁𝙰 𝙰𝙽̃𝙰𝙳𝙸𝚁 𝙴𝚂 𝟷*' 16 | let users = global.db.data.users 17 | users[who].limit += dmt 18 | m.reply(`≡ *💎 𝙰𝙽̃𝙰𝙳𝙸𝙳𝙾* 19 | ┌────────────── 20 | ▢ *𝚃𝚘𝚝𝚊𝚕:* ${dmt} 21 | └──────────────`) 22 | } 23 | handler.command = ['añadirdiamantes','addd','dard','dardiamantes'] 24 | handler.rowner = true 25 | export default handler 26 | -------------------------------------------------------------------------------- /plugins/owner-autoadmin.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, isAdmin }) => { 2 | if (m.fromMe) return 3 | if (isAdmin) throw '*[❗] 𝙷𝙾𝙻𝙰 𝙲𝚁𝙴𝙰𝙳𝙾𝚁, 𝙲𝙾𝙼𝙾 𝙴𝚂𝚃𝙰? 𝚄𝚂𝚃𝙴𝙳 𝚈𝙰 𝙴𝚂 𝙰𝙳𝙼𝙸𝙽 𝙳𝙴 𝙴𝚂𝚃𝙴 𝙶𝚁𝚄𝙿𝙾*' 4 | try { 5 | await conn.groupParticipantsUpdate(m.chat, [m.sender], "promote") 6 | } catch { 7 | await m.reply('*[❗] 𝙴𝚁𝚁𝙾𝚁, 𝙽𝙾 𝙵𝚄𝙴 𝙿𝙾𝚂𝙸𝙱𝙻𝙴 𝙳𝙰𝚁𝙻𝙴 𝙰𝙳𝙼𝙸𝙽*')}} 8 | handler.command = /^autoadmin$/i 9 | handler.rowner = true 10 | handler.group = true 11 | handler.botAdmin = true 12 | export default handler 13 | -------------------------------------------------------------------------------- /plugins/owner-añadirXP.js: -------------------------------------------------------------------------------- 1 | import MessageType from '@adiwajshing/baileys' 2 | let pajak = 0 3 | let handler = async (m, { conn, text }) => { 4 | let who 5 | if (m.isGroup) who = m.mentionedJid[0] 6 | else who = m.chat 7 | if (!who) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝚃𝙸𝚀𝚄𝙴𝚃𝙰 𝙰 𝚄𝙽 𝚄𝚂𝚄𝙰𝚁𝙸𝙾 𝙲𝙾𝙽 𝙴𝙻 @𝚝𝚊𝚐*' 8 | let txt = text.replace('@' + who.split`@`[0], '').trim() 9 | if (!txt) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝙸𝙽𝙶𝚁𝙴𝚂𝙰 𝙻𝙰 𝙲𝙰𝙽𝚃𝙸𝙳𝙰𝙳 𝙳𝙴 𝙴𝚇𝙿𝙴𝚁𝙸𝙴𝙽𝙲𝙸𝙰 (𝚇𝙿) 𝚀𝚄𝙴 𝙳𝙴𝚂𝙴𝙰 𝙰𝙽̃𝙰𝙳𝙸𝚁*' 10 | if (isNaN(txt)) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝚂𝙸𝙼𝙱𝙾𝙻𝙾 𝙽𝙾 𝙰𝙳𝙼𝙸𝚃𝙸𝙳𝙾, 𝚂𝙾𝙻𝙾 𝙽𝚄𝙼𝙴𝚁𝙾𝚂!*' 11 | let xp = parseInt(txt) 12 | let exp = xp 13 | let pjk = Math.ceil(xp * pajak) 14 | exp += pjk 15 | if (exp < 1) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝙻 𝙽𝚄𝙼𝙴𝚁𝙾 𝙼𝙸𝙽𝙸𝙼𝙾 𝙳𝙴 𝙴𝚇𝙿𝙴𝚁𝙸𝙴𝙽𝙲𝙸𝙰 (𝚇𝙿) 𝙿𝙰𝚁𝙰 𝙰𝙽̃𝙰𝙳𝙸𝚁 𝙴𝚂 𝟷*' 16 | let users = global.db.data.users 17 | users[who].exp += xp 18 | m.reply(`≡ *𝚇𝙿 𝙰𝙽̃𝙰𝙳𝙸𝙳𝙾* 19 | ┌────────────── 20 | ▢ *𝚃𝚘𝚝𝚊𝚕:* ${xp} 21 | └──────────────`) 22 | } 23 | handler.command = ['añadirxp','addexp'] 24 | handler.rowner = true 25 | export default handler 26 | -------------------------------------------------------------------------------- /plugins/owner-banchat.js: -------------------------------------------------------------------------------- 1 | let handler = async (m) => { 2 | global.db.data.chats[m.chat].isBanned = true 3 | m.reply('*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝚂𝚃𝙴 𝙲𝙷𝙰𝚃 𝙵𝚄𝙴 𝙱𝙰𝙽𝙴𝙰𝙳𝙾 𝙲𝙾𝙽 𝙴𝚇𝙸𝚃𝙾*\n\n*—◉ 𝙴𝙻 𝙱𝙾𝚃 𝙽𝙾 𝚁𝙴𝙰𝙲𝙲𝙸𝙾𝙽𝙰𝚁𝙰 𝙰 𝙽𝙸𝙽𝙶𝚄𝙽 𝙲𝙾𝙼𝙰𝙽𝙳𝙾 𝙷𝙰𝚂𝚃𝙰 𝙳𝙴𝚂𝙱𝙰𝙽𝙴𝙰𝚁 𝙴𝚂𝚃𝙴 𝙲𝙷𝙰𝚃*') 4 | } 5 | handler.help = ['banchat'] 6 | handler.tags = ['owner'] 7 | handler.command = /^banchat$/i 8 | handler.rowner = true 9 | export default handler 10 | -------------------------------------------------------------------------------- /plugins/owner-banlist.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, isOwner }) => { 2 | let chats = Object.entries(global.db.data.chats).filter(chat => chat[1].isBanned) 3 | let users = Object.entries(global.db.data.users).filter(user => user[1].banned) 4 | let caption = ` 5 | ┌〔 𝐔𝐒𝐔𝐀𝐑𝐈𝐎𝐒 𝐁𝐀𝐍𝐄𝐀𝐃𝐎𝐒 〕 6 | ├ Total : ${users.length} ${users ? '\n' + users.map(([jid], i) => ` 7 | ├ ${isOwner ? '@' + jid.split`@`[0] : jid}`.trim()).join('\n') : '├'} 8 | └──── 9 | ┌〔 𝐂𝐇𝐀𝐓𝐒 𝐁𝐀𝐍𝐄𝐀𝐃𝐎𝐒 〕 10 | ├ Total : ${chats.length} ${chats ? '\n' + chats.map(([jid], i) => ` 11 | ├ ${isOwner ? '@' + jid.split`@`[0] : jid}`.trim()).join('\n') : '├'} 12 | └──── 13 | `.trim() 14 | m.reply(caption, null, {mentions: conn.parseMention(caption)})} 15 | handler.command = /^banlist(ned)?|ban(ned)?list|daftarban(ned)?$/i 16 | handler.rowner = true 17 | export default handler 18 | -------------------------------------------------------------------------------- /plugins/owner-banuser.js: -------------------------------------------------------------------------------- 1 | 2 | let handler = async (m, { conn, participants, usedPrefix, command }) => { 3 | let BANtext = `[❗] 𝙴𝚃𝙸𝚀𝚄𝙴𝚃𝙴 𝙰 𝚄𝙽𝙰 𝙿𝙴𝚁𝚂𝙾𝙽𝙰 𝙾 𝚁𝙴𝚂𝙿𝙾𝙽𝙳𝙰 𝙰 𝚄𝙽 𝙼𝙴𝙽𝚂𝙰𝙹𝙴 𝙴𝙽𝚅𝙸𝙰𝙳𝙾 𝙿𝙾𝚁 𝙴𝙻 𝚄𝚂𝚄𝙰𝚁𝙸𝙾 𝚀𝚄𝙴 𝙳𝙴𝚂𝙴𝙴 𝙱𝙰𝙽𝙴𝙰𝚁\n\n*—◉ 𝙴𝙹𝙴𝙼𝙿𝙻𝙾:*\n*${usedPrefix + command} @${global.suittag}*` 4 | if (!m.mentionedJid[0] && !m.quoted) return m.reply(BANtext, m.chat, { mentions: conn.parseMention(BANtext)}) 5 | let who 6 | if (m.isGroup) who = m.mentionedJid[0] ? m.mentionedJid[0] : m.quoted.sender 7 | else who = m.chat 8 | let users = global.db.data.users 9 | users[who].banned = true 10 | m.reply('*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝙻 𝚄𝚂𝚄𝙰𝚁𝙸𝙾 𝙵𝚄𝙴 𝙱𝙰𝙽𝙴𝙰𝙳𝙾 𝙲𝙾𝙽 𝙴𝚇𝙸𝚃𝙾*\n*—◉ 𝙴𝙻 𝚄𝚂𝚄𝙰𝚁𝙸𝙾 𝙽𝙾 𝙿𝙾𝙳𝚁𝙰 𝚄𝚂𝙰𝚁 𝙴𝙻 𝙱𝙾𝚃 𝙷𝙰𝚂𝚃𝙰 𝚀𝚄𝙴 𝚂𝙴𝙰 𝙳𝙴𝚂𝙱𝙰𝙽𝙴𝙰𝙳𝙾*') } 11 | handler.command = /^banuser$/i 12 | handler.rowner = true 13 | export default handler 14 | -------------------------------------------------------------------------------- /plugins/owner-bcgc.js: -------------------------------------------------------------------------------- 1 | import fs from 'fs' 2 | let handler = async (m, { conn, text } ) => { 3 | let groups = Object.entries(conn.chats).filter(([jid, chat]) => jid.endsWith('@g.us') && chat.isChats && !chat.metadata?.read_only && !chat.metadata?.announce).map(v => v[0]) 4 | let cc = text ? m : m.quoted ? await m.getQuotedObj() : false || m 5 | let teks = text ? text : cc.text 6 | for (let id of groups) { 7 | conn.sendButton(id, `*╔══❰ 𝐂𝐎𝐌𝐔𝐍𝐈𝐂𝐀𝐃𝐎 ❱══╗*\n*║*\n*╠❧* ${text}\n*║*\n*╚══════════════╝*`, '𝙀𝙎𝙏𝙀 𝙀𝙎 𝙐𝙉 𝘾𝙊𝙈𝙐𝙉𝙄𝘾𝘼𝘿𝙊 𝙊𝙁𝙄𝘾𝙄𝘼𝙇\n' + wm, fs.readFileSync('./src/avatar_contact.png'), [['🤖 𝙾𝚆𝙽𝙴𝚁 🤖', '.owner'],['💎 𝙳𝙾𝙽𝙰𝚁 💎', '.donasi']], false, { 8 | contextInfo: { externalAdReply: { 9 | title: 'ᴄᴏᴍᴜɴɪᴄᴀᴅᴏ ᴏғɪᴄɪᴀʟ ᴀ ɢʀᴜᴘᴏs', 10 | body: 'ʙʏ ᴛʜᴇ ᴍʏsᴛɪᴄ ﹣ ʙᴏᴛ', 11 | sourceUrl: `https://github.com/Shizu-Hub/Shizu-Bot`, 12 | thumbnail: fs.readFileSync('./Menu2.jpg') }}})} 13 | m.reply(`*[❗𝐈𝐍𝐅𝐎❗] 𝙼𝙴𝙽𝚂𝙰𝙹𝙴 𝙴𝙽𝚅𝙸𝙰𝙳𝙾 𝙰 ${groups.length} 𝙶𝚁𝚄𝙿𝙾/𝚂*\n\n*𝐍𝐎𝐓𝐀: 𝙴𝚂 𝙿𝙾𝚂𝙸𝙱𝙻𝙴 𝚀𝚄𝙴 𝚃𝙴𝙽𝙶𝙰 𝙵𝙰𝙻𝙻𝙾𝚂 𝙴𝚂𝚃𝙴 𝙲𝙾𝙼𝙰𝙽𝙳𝙾 𝚈 𝙽𝙾 𝚂𝙴 𝙴𝙽𝚅𝙸𝙴 𝙰 𝚃𝙾𝙳𝙾𝚂 𝙻𝙾𝚂 𝙲𝙷𝙰𝚃𝚂, 𝙳𝙸𝚂𝙲𝚄𝙻𝙿𝙴 𝙿𝙾𝚁 𝙴𝙻 𝙼𝙾𝙼𝙴𝙽𝚃𝙾*`) 14 | } 15 | handler.help = ['broadcastgroup', 'bcgc'].map(v => v + ' ') 16 | handler.tags = ['owner'] 17 | handler.command = /^(broadcast|bc)(group|grup|gc)$/i 18 | handler.rowner = true 19 | export default handler 20 | -------------------------------------------------------------------------------- /plugins/owner-block-unblock.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { text, conn, usedPrefix, command }) => { 2 | let why = `*[❗] 𝚄𝚂𝙾 𝙴𝚁𝚁𝙾𝙽𝙴𝙾, 𝙴𝙹𝙴𝙼𝙿𝙻𝙾:*\n*—◉ ${usedPrefix + command} @${m.sender.split("@")[0]}*` 3 | let who = m.mentionedJid[0] ? m.mentionedJid[0] : m.quoted ? m.quoted.sender : text ? text.replace(/[^0-9]/g, '') + '@s.whatsapp.net' : false 4 | if (!who) conn.reply(m.chat, why, m, { mentions: [m.sender] }) 5 | let res = []; 6 | switch (command) { 7 | case "blok": case "block": 8 | if (who) await conn.updateBlockStatus(who, "block").then(() => { res.push(who); }) 9 | else conn.reply(m.chat, why, m, { mentions: [m.sender] }) 10 | break 11 | case "unblok": case "unblock": 12 | if (who) await conn.updateBlockStatus(who, "unblock").then(() => { res.push(who); }) 13 | else conn.reply(m.chat, why, m, { mentions: [m.sender] }) 14 | break 15 | } 16 | if (res[0]) conn.reply(m.chat, `*[❗] 𝚂𝙴 𝚄𝚂𝙾 𝙲𝙾𝙽 𝙴𝚇𝙸𝚃𝙾 𝙴𝙻 𝙲𝙾𝙼𝙰𝙽𝙳𝙾 ${command} 𝙿𝙰𝚁𝙰 𝙴𝙻 𝚄𝚂𝚄𝙰𝚁𝙸𝙾/𝙰 ${res ? `${res.map(v => '@' + v.split("@")[0])}` : ''}*`, m, { mentions: res })} 17 | handler.command = /^(block|unblock)$/i 18 | handler.rowner = true 19 | export default handler 20 | -------------------------------------------------------------------------------- /plugins/owner-blocklist.js: -------------------------------------------------------------------------------- 1 | /* Creado por https://github.com/FG98F */ 2 | 3 | let handler = async (m, { conn }) => { 4 | await conn.fetchBlocklist().then(async data => { 5 | let txt = `*≡ Lista de bloqueados*\n\n*Total :* ${data.length}\n\n┌─⊷\n` 6 | for (let i of data) { 7 | txt += `▢ @${i.split("@")[0]}\n`} 8 | txt += "└───────────" 9 | return conn.reply(m.chat, txt, m, { mentions: await conn.parseMention(txt) }) 10 | }).catch(err => { 11 | console.log(err); 12 | throw 'No hay números bloqueados'})} 13 | handler.help = ['blocklist'] 14 | handler.tags = ['main'] 15 | handler.command = ['blocklist', 'listblock'] 16 | handler.rowner = true 17 | export default handler 18 | -------------------------------------------------------------------------------- /plugins/owner-broadcast.js: -------------------------------------------------------------------------------- 1 | import fs from 'fs' 2 | let handler = async (m, { conn, text } ) => { 3 | let chatsall = Object.entries(conn.chats).filter(([_, chat]) => chat.isChats).map(v => v[0]) 4 | let cc = text ? m : m.quoted ? await m.getQuotedObj() : false || m 5 | let teks = text ? text : cc.text 6 | for (let id of chatsall) { 7 | conn.sendButton(id, `*╔══❰ 𝐂𝐎𝐌𝐔𝐍𝐈𝐂𝐀𝐃𝐎 ❱══╗*\n*║*\n*╠❧* ${text}\n*║*\n*╚══════════════╝*`, '𝙀𝙎𝙏𝙀 𝙀𝙎 𝙐𝙉 𝘾𝙊𝙈𝙐𝙉𝙄𝘾𝘼𝘿𝙊 𝙊𝙁𝙄𝘾𝙄𝘼𝙇\n' + wm, fs.readFileSync('./src/avatar_contact.png'), [['🤖 𝙾𝚆𝙽𝙴𝚁 🤖', '.owner'],['💎 𝙳𝙾𝙽𝙰𝚁 💎', '.donasi']], false, { 8 | contextInfo: { externalAdReply: { 9 | title: 'ᴄᴏᴍᴜɴɪᴄᴀᴅᴏ ᴏғɪᴄɪᴀʟ ᴀ ᴛᴏᴅᴏs ʟᴏs ᴄʜᴀᴛs', 10 | body: 'ʙʏ ᴛʜᴇ ᴍʏsᴛɪᴄ ﹣ ʙᴏᴛ', 11 | sourceUrl: `https://github.com/Shizu-Hub/Shizu-Bot`, 12 | thumbnail: fs.readFileSync('./Menu2.jpg') }}})} 13 | m.reply(`*[❗𝐈𝐍𝐅𝐎❗] 𝙼𝙴𝙽𝚂𝙰𝙹𝙴 𝙴𝙽𝚅𝙸𝙰𝙳𝙾 𝙰 𝚃𝙾𝙳𝙾𝚂 𝙻𝙾𝚂 𝙲𝙷𝙰𝚃𝚂*\n\n*𝐍𝐎𝐓𝐀: 𝙴𝚂 𝙿𝙾𝚂𝙸𝙱𝙻𝙴 𝚀𝚄𝙴 𝚃𝙴𝙽𝙶𝙰 𝙵𝙰𝙻𝙻𝙾𝚂 𝙴𝚂𝚃𝙴 𝙲𝙾𝙼𝙰𝙽𝙳𝙾 𝚈 𝙽𝙾 𝚂𝙴 𝙴𝙽𝚅𝙸𝙴 𝙰 𝚃𝙾𝙳𝙾𝚂 𝙻𝙾𝚂 𝙲𝙷𝙰𝚃𝚂, 𝙳𝙸𝚂𝙲𝚄𝙻𝙿𝙴 𝙿𝙾𝚁 𝙴𝙻 𝙼𝙾𝙼𝙴𝙽𝚃𝙾*`) 14 | } 15 | handler.help = ['broadcast', 'bc'].map(v => v + ' ') 16 | handler.tags = ['owner'] 17 | handler.command = /^(broadcast|bc)$/i 18 | handler.rowner = true 19 | export default handler 20 | -------------------------------------------------------------------------------- /plugins/owner-broadcastchats.js: -------------------------------------------------------------------------------- 1 | import fs from 'fs' 2 | let handler = async (m, { conn, text } ) => { 3 | let chats = Object.entries(conn.chats).filter(([jid, chat]) => !jid.endsWith('@g.us') && chat.isChats).map(v => v[0]) 4 | let cc = text ? m : m.quoted ? await m.getQuotedObj() : false || m 5 | let teks = text ? text : cc.text 6 | for (let id of chats) { 7 | conn.sendButton(id, `*╔══❰ 𝐂𝐎𝐌𝐔𝐍𝐈𝐂𝐀𝐃𝐎 ❱══╗*\n*║*\n*╠❧* ${text}\n*║*\n*╚══════════════╝*`, '𝙀𝙎𝙏𝙀 𝙀𝙎 𝙐𝙉 𝘾𝙊𝙈𝙐𝙉𝙄𝘾𝘼𝘿𝙊 𝙊𝙁𝙄𝘾𝙄𝘼𝙇\n' + wm, fs.readFileSync('./src/avatar_contact.png'), [['🤖 𝙾𝚆𝙽𝙴𝚁 🤖', '.owner'],['💎 𝙳𝙾𝙽𝙰𝚁 💎', '.donasi']], false, { 8 | contextInfo: { externalAdReply: { 9 | title: 'ᴄᴏᴍᴜɴɪᴄᴀᴅᴏ ᴏғɪᴄɪᴀʟ ᴀ ᴄʜᴀᴛs ᴘʀɪᴠᴀᴅᴏs', 10 | body: 'ʙʏ ᴛʜᴇ ᴍʏsᴛɪᴄ ﹣ ʙᴏᴛ', 11 | sourceUrl: `https://github.com/Shizu-Hub/Shizu-Bot`, 12 | thumbnail: fs.readFileSync('./Menu2.jpg') }}})} 13 | m.reply(`*[❗𝐈𝐍𝐅𝐎❗] 𝙼𝙴𝙽𝚂𝙰𝙹𝙴 𝙴𝙽𝚅𝙸𝙰𝙳𝙾 𝙰 ${chats.length} 𝙲𝙷𝙰𝚃𝚂 𝙿𝚁𝙸𝚅𝙰𝙳𝙾𝚂*\n\n*𝐍𝐎𝐓𝐀: 𝙴𝚂 𝙿𝙾𝚂𝙸𝙱𝙻𝙴 𝚀𝚄𝙴 𝚃𝙴𝙽𝙶𝙰 𝙵𝙰𝙻𝙻𝙾𝚂 𝙴𝚂𝚃𝙴 𝙲𝙾𝙼𝙰𝙽𝙳𝙾 𝚈 𝙽𝙾 𝚂𝙴 𝙴𝙽𝚅𝙸𝙴 𝙰 𝚃𝙾𝙳𝙾𝚂 𝙻𝙾𝚂 𝙲𝙷𝙰𝚃𝚂, 𝙳𝙸𝚂𝙲𝚄𝙻𝙿𝙴 𝙿𝙾𝚁 𝙴𝙻 𝙼𝙾𝙼𝙴𝙽𝚃𝙾*`) 14 | } 15 | handler.help = ['broadcastchats', 'bcchats'].map(v => v + ' ') 16 | handler.tags = ['owner'] 17 | handler.command = /^(broadcastchats?|bcc(hats?)?)$/i 18 | handler.rowner = true 19 | export default handler 20 | -------------------------------------------------------------------------------- /plugins/owner-cleartmp.js: -------------------------------------------------------------------------------- 1 | import { tmpdir } from 'os' 2 | import path, { join } from 'path' 3 | import { 4 | readdirSync, 5 | statSync, 6 | unlinkSync, 7 | existsSync, 8 | readFileSync, 9 | watch 10 | } from 'fs' 11 | let handler = async (m, { conn, usedPrefix: _p, __dirname, args }) => { 12 | 13 | conn.reply(m.chat, '*[ ✔ ] 𝙰𝚁𝙲𝙷𝙸𝚅𝙾𝚂 𝙳𝙴 𝙻𝙰 𝙲𝙰𝚁𝙿𝙴𝚃𝙰 𝚃𝙼𝙿 𝙴𝙻𝙸𝙼𝙸𝙽𝙰𝙳𝙾𝚂 𝙲𝙾𝙽 𝙴𝚇𝙸𝚃𝙾!!*', m) 14 | 15 | const tmp = [tmpdir(), join(__dirname, '../tmp')] 16 | const filename = [] 17 | tmp.forEach(dirname => readdirSync(dirname).forEach(file => filename.push(join(dirname, file)))) 18 | return filename.map(file => { 19 | const stats = statSync(file) 20 | unlinkSync(file) 21 | })} 22 | handler.help = ['cleartmp'] 23 | handler.tags = ['owner'] 24 | handler.command = /^(cleartmp|cleartemp)$/i 25 | handler.rowner = true 26 | export default handler 27 | -------------------------------------------------------------------------------- /plugins/owner-delmsg.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { command, usedPrefix, text }) => { 2 | let which = command.replace(/eliminar/i, '') 3 | if (!text) throw `*[❗𝐈𝐍𝐅𝐎❗] 𝚄𝚂𝙰𝚁 ${usedPrefix}list${which} 𝙿𝙰𝚁𝙰 𝚅𝙴𝚁 𝙻𝙰 𝙻𝙸𝚂𝚃𝙰*` 4 | let msgs = global.db.data.msgs 5 | if (!text in msgs) throw `*[❗𝐈𝐍𝐅𝐎❗] '${text}' 𝙽𝙾 𝚁𝙴𝙶𝙸𝚂𝚃𝚁𝙰𝙳𝙾 𝙴𝙽 𝙻𝙰 𝙻𝙸𝚂𝚃𝙰 𝙳𝙴 𝙼𝙴𝙽𝚂𝙰𝙹𝙴𝚂*` 6 | delete msgs[text] 7 | m.reply(`*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝙻𝙸𝙼𝙸𝙽𝙾 𝙲𝙾𝙽 𝙴𝚇𝙸𝚃𝙾 𝙴𝙽 𝙻𝙰 𝙻𝙸𝚂𝚃𝙰 𝙳𝙴 𝙼𝙴𝙽𝚂𝙰𝙹𝙴𝚂 𝙴𝙻 𝙼𝙴𝙽𝚂𝙰𝙹𝙴 𝙲𝙾𝙽 𝙴𝙻 𝙽𝙾𝙼𝙱𝚁𝙴 '${text}'*`) 8 | } 9 | handler.help = ['vn', 'msg', 'video', 'audio', 'img', 'sticker'].map(v => 'del' + v + ' ') 10 | handler.tags = ['database'] 11 | handler.command = /^eliminar(vn|msg|video|audio|img|sticker)$/ 12 | handler.rowner = true 13 | export default handler -------------------------------------------------------------------------------- /plugins/owner-delprem.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text }) => { 2 | let who 3 | if (m.isGroup) who = m.mentionedJid[0] ? m.mentionedJid[0] : m.quoted ? m.quoted.sender : text 4 | else who = m.chat 5 | if (!who) throw `*[❗𝐈𝐍𝐅𝐎❗] 𝙸𝙽𝙶𝚁𝙴𝚂𝙰 𝙴𝙻 @𝚝𝚊𝚐 𝙳𝙴 𝙻𝙰 𝙿𝙴𝚁𝚂𝙾𝙽𝙰 𝚀𝚄𝙴 𝙳𝙴𝚂𝙴𝙴 𝙴𝙻𝙸𝙼𝙸𝙽𝙰𝚁 𝙳𝙴 𝙻𝙾𝚂 𝚄𝚂𝚄𝙰𝚁𝙸𝙾𝚂 𝙿𝚁𝙴𝙼𝙸𝚄𝙼*` 6 | if (!global.prems.includes(who.split`@`[0])) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝙻 𝚄𝚂𝚄𝙰𝚁𝙸𝙾 𝙸𝙽𝙶𝚁𝙴𝚂𝙰𝙳𝙾 𝙽𝙾 𝙴𝚂 𝚄𝚂𝚄𝙰𝚁𝙸𝙾 𝙿𝚁𝙴𝙼𝙸𝚄𝙼*' 7 | let index = global.prems.findIndex(v => (v.replace(/[^0-9]/g, '') + '@s.whatsapp.net') === (who.replace(/[^0-9]/g, '') + '@s.whatsapp.net')) 8 | global.prems.splice(index, 1) 9 | let textdelprem = `*[❗𝐈𝐍𝐅𝐎❗] @${who.split`@`[0]} 𝙰𝙷𝙾𝚁𝙰 𝚈𝙰 𝙽𝙾 𝙵𝙾𝚁𝙼𝙰 𝙿𝙰𝚁𝚃𝙴 𝙳𝙴 𝙻𝙾𝚂 𝚄𝚂𝚄𝙰𝚁𝙸𝙾𝚂 𝙿𝚁𝙴𝙼𝙸𝚄𝙼*` 10 | m.reply(textdelprem, null, { mentions: conn.parseMention(textdelprem) }) 11 | } 12 | handler.help = ['delprem <@user>'] 13 | handler.tags = ['owner'] 14 | handler.command = /^(remove|-|del)prem$/i 15 | handler.group = true 16 | handler.rowner = true 17 | export default handler 18 | -------------------------------------------------------------------------------- /plugins/owner-exec2.js: -------------------------------------------------------------------------------- 1 | import cp, { exec as _exec } from 'child_process' 2 | import { promisify } from 'util' 3 | let exec = promisify(_exec).bind(cp) 4 | let handler = async (m, { conn, isOwner, command, text, usedPrefix, args }) => { 5 | if (global.conn.user.jid != conn.user.jid) return 6 | m.reply('Executing...') 7 | let o 8 | try { 9 | o = await exec(command.trimStart() + ' ' + text.trimEnd()) 10 | } catch (e) { 11 | o = e 12 | } finally { 13 | let { stdout, stderr } = o 14 | if (stdout.trim()) m.reply(stdout) 15 | if (stderr.trim()) m.reply(stderr) 16 | } 17 | } 18 | handler.customPrefix = /^[$]/ 19 | handler.command = new RegExp 20 | handler.rowner = true 21 | export default handler 22 | -------------------------------------------------------------------------------- /plugins/owner-getmsg.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, command, usedPrefix, text }) => { 2 | let which = command.replace(/ver/i, '') 3 | if (!text) throw `*[❗𝐈𝐍𝐅𝐎❗] 𝚄𝚂𝙰𝚁 *${usedPrefix}list${which}* 𝙿𝙰𝚁𝙰 𝚅𝙴𝚁 𝙻𝙰 𝙻𝙸𝚂𝚃𝙰*` 4 | let msgs = global.db.data.msgs 5 | if (!text in msgs) throw `*[❗𝐈𝐍𝐅𝐎❗] '${text}' 𝙽𝙾 𝚁𝙴𝙶𝙸𝚂𝚃𝚁𝙰𝙳𝙾 𝙴𝙽 𝙻𝙰 𝙻𝙸𝚂𝚃𝙰 𝙳𝙴 𝙼𝙴𝙽𝚂𝙰𝙹𝙴𝚂*` 6 | let _m = await conn.serializeM(msgs[text]) 7 | await _m.copyNForward(m.chat, true) 8 | } 9 | handler.help = ['vn', 'msg', 'video', 'audio', 'img', 'sticker'].map(v => 'get' + v + ' ') 10 | handler.tags = ['database'] 11 | handler.command = /^ver(vn|msg|video|audio|img|sticker)$/ 12 | handler.rowner = true 13 | export default handler -------------------------------------------------------------------------------- /plugins/owner-infinito.js: -------------------------------------------------------------------------------- 1 | //let { MessageType } = require('@adiwajshing/baileys') 2 | import MessageType from '@adiwajshing/baileys' 3 | //SOLO USA SI ERES EL/LA PROPIETARIO(A) DEL BOT PARA TENER TODO ILIMITADO O USA EL COMANDO PREMIUM Jajaj 4 | let handler = async (m, { conn }) => { 5 | let user = global.db.data.users[m.sender] 6 | conn.reply(m.chat, `*ÉXITO!!*`, m) 7 | global.db.data.users[m.sender].money = Infinity 8 | global.db.data.users[m.sender].limit = Infinity 9 | global.db.data.users[m.sender].level = Infinity 10 | 11 | } 12 | handler.help = ['cheat'] 13 | handler.tags = ['owner'] 14 | handler.command = /^(ilimitado|infiniy)$/i 15 | handler.rowner = true 16 | handler.mods = false 17 | handler.premium = false 18 | handler.group = false 19 | handler.private = false 20 | 21 | handler.admin = false 22 | handler.botAdmin = false 23 | 24 | handler.fail = null 25 | //handler.money = 0 26 | 27 | export default handler 28 | -------------------------------------------------------------------------------- /plugins/owner-leavegc.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, args, command }) => { 2 | await m.reply('*Adios a todos, el Bot se despide! (≧ω≦)ゞ*') 3 | await conn.groupLeave(m.chat)} 4 | handler.command = /^(out|leavegc|leave|salirdelgrupo)$/i 5 | handler.group = true 6 | handler.rowner = true 7 | export default handler 8 | -------------------------------------------------------------------------------- /plugins/owner-listmsg.js: -------------------------------------------------------------------------------- 1 | let handler = m => { 2 | let msgs = global.db.data.msgs 3 | m.reply(` 4 | *🔰 𝙻𝙸𝚂𝚃𝙰 𝙳𝙴 𝚃𝙴𝚇𝚃𝙾𝚂/𝙼𝙴𝙽𝚂𝙰𝙹𝙴𝚂/𝙿𝙰𝙻𝙰𝙱𝚁𝙰𝚂 𝙲𝙻𝙰𝚅𝙴𝚂 🔰* 5 | 6 | *✳️ 𝙼𝙴𝙽𝚂𝙰𝙹𝙴𝚂 ✳️* 7 | ${Object.keys(msgs).map(v => '*👉🏻 ' + v).join('*\n*')}* 8 | `.trim()) 9 | } 10 | handler.help = ['vn', 'msg', 'video', 'audio', 'img', 'sticker'].map(v => 'list' + v) 11 | handler.tags = ['database'] 12 | handler.command = /^lista(vn|msg|video|audio|img|sticker)$/ 13 | export default handler -------------------------------------------------------------------------------- /plugins/owner-listprem.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | let prem = global.prems.map(v => v.replace(/[^0-9]/g, '') + '@s.whatsapp.net').filter(v => v != conn.user.jid) 3 | let textprem = `*「 𝐔𝐒𝐔𝐀𝐑𝐈𝐎𝐒 𝐏𝐑𝐄𝐌𝐈𝐔𝐌 」* 4 | ` + prem.map(v => '- @' + v.replace(/@.+/, '')).join`\n` 5 | m.reply(textprem, null, {mentions: conn.parseMention(textprem)}) 6 | } 7 | handler.help = ['premlist'] 8 | handler.tags = ['owner'] 9 | handler.command = /^(listprem|premlist)$/i 10 | handler.rowner = true 11 | export default handler 12 | -------------------------------------------------------------------------------- /plugins/owner-reporte.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text, usedPrefix, command }) => { 2 | if (!text) throw `*[❗𝐈𝐍𝐅𝐎❗] 𝙸𝙽𝙶𝚁𝙴𝚂𝙴 𝚄𝙽 𝚁𝙴𝙿𝙾𝚁𝚃𝙴*\n\n*𝙴𝙹𝙴𝙼𝙿𝙻𝙾:*\n*${usedPrefix + command} el comando ${usedPrefix}play no manda nada*` 3 | if (text.length < 10) throw `*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝙻 𝚁𝙴𝙿𝙾𝚁𝚃𝙴 𝙳𝙴𝙱𝙴 𝚂𝙴𝚁 𝙳𝙴 𝙼𝙸𝙽𝙸𝙼𝙾 𝟷0 𝙲𝙰𝚁𝙰𝙲𝚃𝙴𝚁𝙴𝚂!*` 4 | if (text.length > 1000) throw `*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝙻 𝚁𝙴𝙿𝙾𝚁𝚃𝙴 𝙳𝙴𝙱𝙴 𝚂𝙴𝚁 𝙳𝙴 𝙼𝙰𝚇𝙸𝙼𝙾 𝟷000 𝙲𝙰𝚁𝙰𝙲𝚃𝙴𝚁𝙴𝚂!*` 5 | let teks = `*❒═════[𝐑𝐄𝐏𝐎𝐑𝐓𝐄]═════❒*\n*┬*\n*├❧ 𝙽𝚄𝙼𝙴𝚁𝙾:* wa.me/${m.sender.split`@`[0]}\n*┴*\n*┬*\n*├❧ 𝙼𝙴𝙽𝚂𝙰𝙹𝙴:* ${text}\n*┴*` 6 | conn.reply('5219996125657@s.whatsapp.net', m.quoted ? teks + m.quoted.text : teks, null, { 7 | contextInfo: { 8 | mentionedJid: [m.sender] 9 | }}) 10 | m.reply(`*[ ✔️ ] 𝚁𝙴𝙿𝙾𝚁𝚃𝙴 𝙴𝙽𝚅𝙸𝙰𝙳𝙾 𝙲𝙾𝙽 𝙴𝚇𝙸𝚃𝙾 𝙰𝙻 𝙲𝚁𝙴𝙰𝙳𝙾𝚁 𝙳𝙴𝙻 𝙱𝙾𝚃, 𝚂𝚄 𝚁𝙴𝙿𝙾𝚁𝚃𝙴 𝚂𝙴𝚁𝙰́ 𝙰𝚃𝙴𝙽𝙳𝙸𝙳𝙾 𝙻𝙾 𝙰𝙽𝚃𝙴𝚂 𝙿𝙾𝚂𝙸𝙱𝙻𝙴, 𝚂𝙸 𝙴𝚂 𝙵𝙰𝙻𝚂𝙾 𝙾 𝙱𝚁𝙾𝙼𝙰 𝚂𝙾𝙻𝙾 𝚂𝙴 𝙸𝙶𝙽𝙾𝚁𝙰𝚁𝙰*`) 11 | } 12 | handler.help = ['reporte', 'request'].map(v => v + ' ') 13 | handler.tags = ['info'] 14 | handler.command = /^(report|request|reporte|bugs|bug|report-owner|reportes)$/i 15 | export default handler 16 | -------------------------------------------------------------------------------- /plugins/owner-resetprefix.js: -------------------------------------------------------------------------------- 1 | let handler = async(m, { conn }) => { 2 | 3 | global.prefix = new RegExp('^[' + (opts['prefix'] || '‎xzXZ/i!#$%+£¢€¥^°=¶∆×÷π√✓©®:;?&.\\-').replace(/[|\\{}()[\]^$+*?.\-\^]/g, '\\$&') + ']') 4 | await m.reply(`[❗𝐈𝐍𝐅𝐎❗] 𝙿𝚁𝙴𝙵𝙸𝙹𝙾 𝚁𝙴𝚂𝚃𝙰𝙱𝙻𝙴𝙲𝙸𝙳𝙾 𝙲𝙾𝙽 𝙴𝚇𝙸𝚃𝙾`) 5 | // conn.fakeReply(m.chat, '[❗𝐈𝐍𝐅𝐎❗] 𝙿𝚁𝙴𝙵𝙸𝙹𝙾 𝚁𝙴𝚂𝚃𝙰𝙱𝙻𝙴𝙲𝙸𝙳𝙾 𝙲𝙾𝙽 𝙴𝚇𝙸𝚃𝙾', '0@s.whatsapp.net', 'Reset Prefix') 6 | } 7 | handler.help = ['resetprefix'] 8 | handler.tags = ['owner'] 9 | handler.command = /^(resetprefix)$/i 10 | handler.rowner = true 11 | 12 | 13 | export default handler 14 | -------------------------------------------------------------------------------- /plugins/owner-restart.js: -------------------------------------------------------------------------------- 1 | import { spawn } from 'child_process' 2 | let handler = async (m, { conn, isROwner, text }) => { 3 | if (!process.send) throw 'Dont: node main.js\nDo: node index.js' 4 | if (global.conn.user.jid == conn.user.jid) { 5 | await m.reply('```R E S T A R T . . .```') 6 | process.send('reset') 7 | } else throw '_eeeeeiiittsssss..._' 8 | } 9 | 10 | handler.help = ['restart'] 11 | handler.tags = ['owner'] 12 | handler.command = /^(res(tart)?)$/i 13 | 14 | handler.rowner = true 15 | 16 | export default handler 17 | -------------------------------------------------------------------------------- /plugins/owner-setppbot.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, usedPrefix, command }) => { 2 | let bot = conn.user.jid 3 | let q = m.quoted ? m.quoted : m 4 | let mime = (q.msg || q).mimetype || '' 5 | if (/image/.test(mime)) { 6 | let img = await q.download() 7 | if (!img) throw `*[❗𝐈𝐍𝐅𝐎❗] 𝙽𝙾 𝚂𝙴 𝙴𝙽𝙲𝙾𝙽𝚃𝚁𝙾 𝙻𝙰 𝙸𝙼𝙰𝙶𝙴𝙽, 𝙿𝙾𝚁 𝙵𝙰𝚅𝙾𝚁 𝚁𝙴𝚂𝙿𝙾𝙽𝙳𝙴 𝙰 𝚄𝙽𝙰 𝙸𝙼𝙰𝙶𝙴𝙽 𝚄𝚂𝙰𝙽𝙳𝙾 𝙴𝙻 𝙲𝙾𝙼𝙰𝙽𝙳𝙾 ${usedPrefix + command}*` 8 | await conn.updateProfilePicture(bot, img) 9 | conn.reply(m.chat, '*[❗𝐈𝐍𝐅𝐎❗] 𝚂𝙴 𝙲𝙰𝙼𝙱𝙸𝙾 𝙲𝙾𝙽 𝙴𝚇𝙸𝚃𝙾 𝙻𝙰 𝙵𝙾𝚃𝙾 𝙳𝙴 𝙿𝙴𝚁𝙵𝙸𝙻 𝙳𝙴𝙻 𝙽𝚄𝙼𝙴𝚁𝙾 𝙳𝙴𝙻 𝙱𝙾𝚃*', m) 10 | } else throw `*[❗𝐈𝐍𝐅𝐎❗] 𝙽𝙾 𝚂𝙴 𝙴𝙽𝙲𝙾𝙽𝚃𝚁𝙾 𝙻𝙰 𝙸𝙼𝙰𝙶𝙴𝙽, 𝙿𝙾𝚁 𝙵𝙰𝚅𝙾𝚁 𝚁𝙴𝚂𝙿𝙾𝙽𝙳𝙴 𝙰 𝚄𝙽𝙰 𝙸𝙼𝙰𝙶𝙴𝙽 𝚄𝚂𝙰𝙽𝙳𝙾 𝙴𝙻 𝙲𝙾𝙼𝙰𝙽𝙳𝙾 ${usedPrefix + command}*`} 11 | handler.command = /^setppbot$/i 12 | handler.rowner = true 13 | export default handler 14 | -------------------------------------------------------------------------------- /plugins/owner-setprefix.js: -------------------------------------------------------------------------------- 1 | let handler = async(m, { conn, text }) => { 2 | if (!text) throw `[❗𝐈𝐍𝐅𝐎❗] 𝙽𝙾 𝚂𝙴 𝙷𝙰 𝙳𝙴𝚃𝙴𝙲𝚃𝙰𝙳𝙾 𝙽𝙸𝙽𝙶𝚄𝙽 𝙿𝚁𝙴𝙵𝙸𝙹𝙾...` 3 | global.prefix = new RegExp('^[' + (text || global.opts['prefix'] || '‎xzXZ/i!#$%+£¢€¥^°=¶∆×÷π√✓©®:;?&.\\-').replace(/[|\\{}()[\]^$+*?.\-\^]/g, '\\$&') + ']') 4 | await m.reply(`[❗𝐈𝐍𝐅𝐎❗] 𝙴𝙻 𝙿𝚁𝙴𝙵𝙸𝙹𝙾 𝙷𝙰 𝚂𝙸𝙳𝙾 𝙲𝙰𝙼𝙱𝙸𝙰𝙳𝙾 𝙰 *${text}*`) 5 | // conn.fakeReply(m.chat, '[❗𝐈𝐍𝐅𝐎❗] 𝙴𝙻 𝙿𝚁𝙴𝙵𝙸𝙹𝙾 𝙷𝙰 𝚂𝙸𝙳𝙾 𝙲𝙰𝙼𝙱𝙸𝙰𝙳𝙾 𝙰 *${text}*', '0@s.whatsapp.net', 'Set Prefix Bot') 6 | } 7 | handler.help = ['setprefix'].map(v => v + ' [prefix]') 8 | handler.tags = ['owner'] 9 | handler.command = /^(setprefix)$/i 10 | handler.rowner = true 11 | 12 | export default handler 13 | -------------------------------------------------------------------------------- /plugins/owner-traba1.js: -------------------------------------------------------------------------------- 1 | import fetch from 'node-fetch' 2 | let handler = async (m, { conn, text, args }) => { 3 | const estiloaudio = { key: { fromMe: false, participant: `05675@s.whatsapp.net`, ...(m.chat ? { remoteJid: "5219992606@g.us" } : {}) }, message: {"audioMessage": { "mimetype":"audio/ogg; codecs=opus", "seconds": "995576878678657856785678567856785678768757876856769", "ptt": "true"}}} 4 | let virtex = await fetch('https://raw.githubusercontent.com/Caliph91/txt/main/pirtex/1.txt').then(v => v.text()); 5 | let virtex2 = await fetch('https://raw.githubusercontent.com/Caliph91/txt/main/pirtex/2.txt').then(v => v.text()); 6 | let virtex3 = await fetch('https://raw.githubusercontent.com/Caliph91/txt/main/pirtex/3.txt').then(v => v.text()); 7 | let virtex4 = await fetch('https://raw.githubusercontent.com/Caliph91/txt/main/pirtex/4.txt').then(v => v.text()); 8 | let virtex5 = await fetch('https://raw.githubusercontent.com/BrunoSobrino/ShadowBotV3-OBSOLETO/master/lib/Binario.txt').then(v => v.text()); 9 | conn.sendPresenceUpdate('recording', m.chat) 10 | m.reply(virtex, estiloaudio); 11 | m.reply(virtex2, estiloaudio); 12 | conn.sendPresenceUpdate('recording', m.chat) 13 | m.reply(virtex3, estiloaudio); 14 | m.reply(virtex4, estiloaudio); 15 | conn.sendPresenceUpdate('recording', m.chat) 16 | } 17 | handler.command = /^traba1|c1|binario1$/i 18 | handler.rowner = true 19 | export default handler 20 | -------------------------------------------------------------------------------- /plugins/owner-unbanchat.js: -------------------------------------------------------------------------------- 1 | let handler = async (m) => { 2 | global.db.data.chats[m.chat].isBanned = false 3 | m.reply('*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝚂𝚃𝙴 𝙲𝙷𝙰𝚃 𝙵𝚄𝙴 𝙳𝙴𝚂𝙱𝙰𝙽𝙴𝙰𝙳𝙾 𝙲𝙾𝙽 𝙴𝚇𝙸𝚃𝙾*') 4 | } 5 | handler.help = ['unbanchat'] 6 | handler.tags = ['owner'] 7 | handler.command = /^unbanchat$/i 8 | handler.rowner = true 9 | export default handler 10 | -------------------------------------------------------------------------------- /plugins/owner-unbanuser.js: -------------------------------------------------------------------------------- 1 | 2 | let handler = async (m, { conn, text}) => { 3 | if (!text) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝙸𝙽𝙶𝚁𝙴𝚂𝙰 𝙴𝙻 @𝚝𝚊𝚐 𝙳𝙴 𝙰𝙻𝙶𝚄𝙽 𝚄𝚂𝚄𝙰𝚁𝙸𝙾*' 4 | let who 5 | if (m.isGroup) who = m.mentionedJid[0] 6 | else who = m.chat 7 | if (!who) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝙸𝙽𝙶𝚁𝙴𝚂𝙰 𝙴𝙻 @𝚝𝚊𝚐 𝙳𝙴 𝙰𝙻𝙶𝚄𝙽 𝚄𝚂𝚄𝙰𝚁𝙸𝙾*' 8 | let users = global.db.data.users 9 | users[who].banned = false 10 | conn.reply(m.chat, `*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝙻 𝚄𝚂𝚄𝙰𝚁𝙸𝙾 𝙵𝚄𝙴 𝙳𝙴𝚂𝙱𝙰𝙽𝙴𝙰𝙳𝙾 𝙲𝙾𝙽 𝙴𝚇𝙸𝚃𝙾*\n*—◉ 𝙴𝙻 𝚄𝚂𝚄𝙰𝚁𝙸𝙾 𝚈𝙰 𝙿𝚄𝙴𝙳𝙴 𝚄𝚂𝙰𝚁 𝙴𝙻 𝙱𝙾𝚃*`, m) 11 | } 12 | handler.help = ['unbanuser'] 13 | handler.tags = ['owner'] 14 | handler.command = /^unbanuser$/i 15 | handler.rowner = true 16 | export default handler 17 | -------------------------------------------------------------------------------- /plugins/owner-update.js: -------------------------------------------------------------------------------- 1 | import { execSync } from 'child_process' 2 | let handler = async (m, { conn, text }) => { 3 | try { 4 | if (global.conn.user.jid == conn.user.jid) { 5 | let stdout = execSync('git pull' + (m.fromMe && text ? ' ' + text : '')) 6 | conn.reply(m.chat, stdout.toString(), m)} 7 | } catch { 8 | var update = execSync('git remote set-url origin https://github.com/Shizu-Hub/Shizu-Bot-MD.git && git pull') 9 | await m.reply(update.toString()) 10 | }} 11 | handler.help = ['update'] 12 | handler.tags = ['owner'] 13 | handler.command = /^update|actualizar$/i 14 | handler.rowner = true 15 | export default handler 16 | -------------------------------------------------------------------------------- /plugins/random-C. Ronaldo.js: -------------------------------------------------------------------------------- 1 | import axios from 'axios' 2 | let handler = async(m, { conn, usedPrefix, command }) => { 3 | let res = await axios("https://meme-api.herokuapp.com/gimme/Cristianoronaldo") 4 | let json = res.data 5 | let url = json.url 6 | conn.sendButton(m.chat, "*Siiiuuuuuu*", author, url, [['⚽ SIGUIENTE ⚽', `${usedPrefix + command}`]], m)} 7 | handler.help = ['cristianoronaldo'] 8 | handler.tags = ['internet'] 9 | handler.command = /^(cristianoronaldo)$/i 10 | export default handler 11 | -------------------------------------------------------------------------------- /plugins/random-Messi.js: -------------------------------------------------------------------------------- 1 | import axios from 'axios' 2 | let handler = async(m, { conn, usedPrefix, command }) => { 3 | let res = await axios("https://meme-api.herokuapp.com/gimme/messi") 4 | let json = res.data 5 | let url = json.url 6 | conn.sendButton(m.chat, "*Messi*", author, url, [['⚽ SIGUIENTE ⚽', `${usedPrefix + command}`]], m)} 7 | handler.help = ['messi'] 8 | handler.tags = ['internet'] 9 | handler.command = /^(messi)$/i 10 | export default handler 11 | -------------------------------------------------------------------------------- /plugins/random-blackpink.js: -------------------------------------------------------------------------------- 1 | import fetch from 'node-fetch' 2 | let handler = async(m, { conn, args, usedPrefix, command }) => { 3 | fetch('https://raw.githubusercontent.com/ArugaZ/grabbed-results/main/random/kpop/blackpink.txt').then(res => res.text()).then(body => { 4 | let randomkpop = body.split('\n') 5 | let randomkpopx = randomkpop[Math.floor(Math.random() * randomkpop.length)] 6 | conn.sendButton(m.chat, `_${command}_`, author, randomkpopx, [['🔄 𝚂𝙸𝙶𝚄𝙸𝙴𝙽𝚃𝙴 🔄', `/${command}`]], m) 7 | })} 8 | handler.help = ['blackpink'] 9 | handler.tags = ['internet'] 10 | handler.command = /^(blackpink)$/i 11 | export default handler 12 | -------------------------------------------------------------------------------- /plugins/random-cat.js: -------------------------------------------------------------------------------- 1 | import fetch from 'node-fetch' 2 | let handler = async (m, { conn, text }) => { 3 | try { 4 | let res = await fetch('https://cataas.com/cat') 5 | let img = await res.buffer() 6 | let caption = ` 7 | _©The Mystic - Bot_ 8 | `.trim() 9 | conn.sendFile(m.chat, img, 'cat.jpg', caption, m) 10 | } catch (e) { 11 | console.log(e) 12 | throw '*Error!*' 13 | }} 14 | handler.help = ['cat'] 15 | handler.tags = ['random'] 16 | handler.command = /^cat$/i 17 | handler.fail = null 18 | export default handler 19 | -------------------------------------------------------------------------------- /plugins/random-itzy.js: -------------------------------------------------------------------------------- 1 | import fetch from 'node-fetch' 2 | import axios from 'axios' 3 | let handler = async(m, { conn, args, usedPrefix, command }) => { 4 | let res = await axios("https://meme-api.herokuapp.com/gimme/Itzy") 5 | let json = res.data 6 | let mystic = json.url 7 | conn.sendButton(m.chat, `_${command}_`, author, mystic, [['🔄 𝚂𝙸𝙶𝚄𝙸𝙴𝙽𝚃𝙴 🔄', `/${command}`]], m) 8 | } 9 | handler.help = ['itzy','kpopitzy'] 10 | handler.tags = ['internet'] 11 | handler.command = /^(itzy|kpopitzy)$/i 12 | export default handler 13 | -------------------------------------------------------------------------------- /plugins/random-kpop.js: -------------------------------------------------------------------------------- 1 | import fetch from 'node-fetch' 2 | let handler = async(m, { conn, args, usedPrefix }) => { 3 | if (args.length == 0) return conn.reply(m.chat, `Usar ${usedPrefix}kpop\nPor favor escribe: ${usedPrefix}kpop [buscar]\nEjemplo:: ${usedPrefix}kpop bts\n\nBusquedas disponibles:\nblackpink, exo, bts`, m) 4 | if (args[0] == 'blackpink' || args[0] == 'exo' || args[0] == 'bts') { 5 | fetch('https://raw.githubusercontent.com/ArugaZ/grabbed-results/main/random/kpop/' + args[0] + '.txt') 6 | .then(res => res.text()) 7 | .then(body => { 8 | let randomkpop = body.split('\n') 9 | let randomkpopx = randomkpop[Math.floor(Math.random() * randomkpop.length)] 10 | conn.sendFile(m.chat, randomkpopx, '', 'Dasar Kpopers', m) 11 | }) 12 | .catch(() => { 13 | conn.reply(m.chat, 'Ocurrio un error, vuelve a intentar, si el fallo continua avisar a mi creador', m) 14 | }) 15 | } else { 16 | conn.reply(m.chat, `Lo sentimos, la busqueda no está disponible. Por favor escribe ${usedPrefix}kpop para ver la lista de busquedas disponibles`, m) 17 | }} 18 | handler.help = ['kpop'].map(v => v + ' ') 19 | handler.tags = ['image'] 20 | handler.command = /^(kpop)$/i 21 | export default handler 22 | -------------------------------------------------------------------------------- /plugins/random-lolivid.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, usedPrefix, command }) => { 2 | let res = "https://recoders-area.caliph.repl.co/api/lolivid" 3 | conn.sendButton(m.chat, `ʟᴏʟɪ ɪѕ ᴄᴜᴛᴇ 🥺`, wm, res, [['🔄 𝚂𝙸𝙶𝚄𝙸𝙴𝙽𝚃𝙴 🔄', `/${command}`]], m)} 4 | handler.help = ['lolivid'] 5 | handler.tags = ['random'] 6 | handler.command = /^(lolivid|lolivideos|lolívid)$/i 7 | export default handler 8 | -------------------------------------------------------------------------------- /plugins/random-navidad.js: -------------------------------------------------------------------------------- 1 | import fetch from 'node-fetch' 2 | import axios from 'axios' 3 | let handler = async(m, { conn, args, usedPrefix, command }) => { 4 | let res = await axios("https://meme-api.herokuapp.com/gimme/Christmas") 5 | let json = res.data 6 | let mystic = json.url 7 | conn.sendButton(m.chat, `_Navidad 🧑‍🎄_`, author, mystic, [['🔄 𝚂𝙸𝙶𝚄𝙸𝙴𝙽𝚃𝙴 🔄', `/${command}`]], m) 8 | } 9 | handler.help = ['navidad'] 10 | handler.tags = ['internet'] 11 | handler.command = /^(navidad)$/i 12 | export default handler 13 | -------------------------------------------------------------------------------- /plugins/random-neko.js: -------------------------------------------------------------------------------- 1 | import fetch from 'node-fetch' 2 | let handler = async (m, { conn, command }) => { 3 | let ne = await (await fetch('https://raw.githubusercontent.com/ArugaZ/grabbed-results/main/random/anime/neko.txt')).text() 4 | let nek = ne.split('\n') 5 | let neko = pickRandom(nek) 6 | conn.sendButton(m.chat, 'Nyaww~ 🐾💗', wm, neko, [['🔄 𝚂𝙸𝙶𝚄𝙸𝙴𝙽𝚃𝙴 🔄', `/${command}`]],m) 7 | } 8 | handler.command = /^(neko)$/i 9 | handler.tags = ['anime'] 10 | handler.help = ['neko'] 11 | export default handler 12 | function pickRandom(list) { 13 | return list[Math.floor(Math.random() * list.length)] 14 | } 15 | -------------------------------------------------------------------------------- /plugins/random-ppcp.js: -------------------------------------------------------------------------------- 1 | import fetch from 'node-fetch' 2 | let handler = async (m, { conn, command }) => { 3 | let res = await fetch(`https://api.lolhuman.xyz/api/random/ppcouple?apikey=${lolkeysapi}`) 4 | if (res.status != 200) throw await res.text() 5 | let json = await res.json() 6 | if (!json.status) throw json 7 | conn.sendButton(m.chat, '𝙲𝙷𝙸𝙲𝙰 𝙲𝚄𝚃𝙴', wm, json.result.female, [['🔄 𝚂𝙸𝙶𝚄𝙸𝙴𝙽𝚃𝙴 🔄', `/${command}`]], m) 8 | conn.sendButton(m.chat, '𝙲𝙷𝙸𝙲𝙾 𝙲𝚄𝚃𝙴', wm, json.result.male, [['🔄 𝚂𝙸𝙶𝚄𝙸𝙴𝙽𝚃𝙴 🔄', `/${command}`]], m) 9 | } 10 | handler.help = ['ppcouple'] 11 | handler.tags = ['internet'] 12 | handler.command = /^(ppcp|ppcouple)$/i 13 | export default handler 14 | -------------------------------------------------------------------------------- /plugins/random-waifu.js: -------------------------------------------------------------------------------- 1 | import fetch from 'node-fetch' 2 | let handler = async (m, { conn, usedPrefix, command }) => { 3 | let res = await fetch('https://api.waifu.pics/sfw/waifu') 4 | if (!res.ok) throw await res.text() 5 | let json = await res.json() 6 | if (!json.url) throw 'Error!' 7 | conn.sendButton(m.chat, `𝙰-𝙰𝚁𝙰 𝙰𝚁𝙰 𝚂𝙴𝙼𝙿𝙰𝙸~~`, author, json.url, [['🔄 𝚂𝙸𝙶𝚄𝙸𝙴𝙽𝚃𝙴 🔄', `/${command}`]], m) 8 | } 9 | handler.help = ['waifu'] 10 | handler.tags = ['anime'] 11 | handler.command = /^(waifu)$/i 12 | export default handler 13 | -------------------------------------------------------------------------------- /plugins/rpg-balance.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, {usedPrefix}) => { 2 | let who 3 | if (m.isGroup) who = m.mentionedJid[0] ? m.mentionedJid[0] : m.sender 4 | else who = m.sender 5 | let name = conn.getName(who) 6 | m.reply(` 7 | ┌───⊷ 𝐁𝐀𝐋𝐀𝐍𝐂𝐄 ⊶ 8 | ▢ *𝙽𝚘𝚖𝚋𝚛𝚎:* ${name} 9 | ▢ *𝙳𝚒𝚊𝚖𝚊𝚗𝚝𝚎𝚜:* ${global.db.data.users[who].limit}💎 10 | └────────────── 11 | *𝙽𝙾𝚃𝙰:* 12 | *𝙿𝚞𝚎𝚍𝚎𝚜 𝚌𝚘𝚖𝚙𝚛𝚊𝚛 𝚍𝚒𝚊𝚖𝚊𝚗𝚝𝚎𝚜 💎 𝚞𝚜𝚊𝚗𝚍𝚘 𝚕𝚘𝚜 𝚌𝚘𝚖𝚊𝚗𝚍𝚘𝚜* 13 | ❏ *${usedPrefix}buy * 14 | ❏ *${usedPrefix}buyall*`) 15 | } 16 | handler.help = ['bal'] 17 | handler.tags = ['xp'] 18 | handler.command = ['bal', 'diamantes', 'diamond', 'balance'] 19 | export default handler 20 | -------------------------------------------------------------------------------- /plugins/rpg-minar.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, isPrems}) => { 2 | let hasil = Math.floor(Math.random() * 1000) 3 | let time = global.db.data.users[m.sender].lastmiming + 600000 4 | if (new Date - global.db.data.users[m.sender].lastmiming < 600000) throw `*[ ⏲️ ] 𝙴𝚜𝚙𝚎𝚛𝚊 ${msToTime(time - new Date())} 𝚙𝚊𝚛𝚊 𝚟𝚘𝚕𝚟𝚎𝚛 𝚊 𝚖𝚒𝚗𝚊𝚛*` 5 | m.reply(`*[ 🎉 ] 𝙶𝚎𝚗𝚒𝚊𝚕, 𝚖𝚒𝚗𝚊𝚜𝚝𝚎 ${hasil} 𝚇𝙿*`) 6 | global.db.data.users[m.sender].lastmiming = new Date * 1 7 | 8 | } 9 | handler.help = ['minar'] 10 | handler.tags = ['xp'] 11 | handler.command = ['minar', 'miming', 'mine'] 12 | handler.fail = null 13 | handler.exp = 0 14 | export default handler 15 | 16 | function msToTime(duration) { 17 | var milliseconds = parseInt((duration % 1000) / 100), 18 | seconds = Math.floor((duration / 1000) % 60), 19 | minutes = Math.floor((duration / (1000 * 60)) % 60), 20 | hours = Math.floor((duration / (1000 * 60 * 60)) % 24) 21 | 22 | hours = (hours < 10) ? "0" + hours : hours 23 | minutes = (minutes < 10) ? "0" + minutes : minutes 24 | seconds = (seconds < 10) ? "0" + seconds : seconds 25 | 26 | return minutes + " m y " + seconds + " s " 27 | } 28 | -------------------------------------------------------------------------------- /plugins/rpg-myns.js: -------------------------------------------------------------------------------- 1 | import { createHash } from 'crypto' 2 | let handler = async function (m, { conn, text, usedPrefix }) { 3 | let sn = createHash('md5').update(m.sender).digest('hex') 4 | m.reply(`┏┅ ━━━━━━━━━━━━ ┅ ━ 5 | ┃ *𝙽𝚄𝙼𝙴𝚁𝙾 𝙳𝙴 𝚂𝙴𝚁𝙸𝙴:* 6 | ┃ ${sn} 7 | ┗┅ ━━━━━━━━━━━━ ┅ ━`.trim())} 8 | handler.help = ['myns'] 9 | handler.tags = ['xp'] 10 | handler.command = /^(myns|ceksn)$/i 11 | handler.register = true 12 | export default handler 13 | -------------------------------------------------------------------------------- /plugins/rpg-shop.js: -------------------------------------------------------------------------------- 1 | const xpperlimit = 350 2 | let handler = async (m, { conn, command, args }) => { 3 | let count = command.replace(/^buy/i, '') 4 | count = count ? /all/i.test(count) ? Math.floor(global.db.data.users[m.sender].exp / xpperlimit) : parseInt(count) : args[0] ? parseInt(args[0]) : 1 5 | count = Math.max(1, count) 6 | if (global.db.data.users[m.sender].exp >= xpperlimit * count) { 7 | global.db.data.users[m.sender].exp -= xpperlimit * count 8 | global.db.data.users[m.sender].limit += count 9 | conn.reply(m.chat, ` 10 | ┌─「 *NOTA DE PAGO* 」 11 | ‣ *Compra nominal* : + ${count}💎 12 | ‣ *Gastado* : -${xpperlimit * count} XP 13 | └──────────────`, m) 14 | } else conn.reply(m.chat, `❎ Lo siento, no tienes suficientes *XP* para comprar *${count}* Diamantes💎`, m) 15 | } 16 | handler.help = ['Buy', 'Buyall'] 17 | handler.tags = ['xp'] 18 | handler.command = ['buy', 'buyall'] 19 | 20 | handler.disabled = false 21 | 22 | export default handler 23 | -------------------------------------------------------------------------------- /plugins/rpg-unreg.js: -------------------------------------------------------------------------------- 1 | import { createHash } from 'crypto' 2 | let handler = async function (m, { args }) { 3 | if (!args[0]) throw '*[❗𝐍𝐅𝐎❗] 𝙸𝙽𝙶𝚁𝙴𝚂𝙴 𝚂𝚄 𝙽𝚄𝙼𝙴𝚁𝙾 𝙳𝙴 𝚂𝙴𝚁𝙸𝙴, 𝚂𝙸 𝙽𝙾 𝙻𝙾 𝚁𝙴𝙲𝚄𝙴𝚁𝙳𝙰 𝙿𝚄𝙴𝙳𝙴 𝚄𝚂𝙰𝚁 𝙴𝙻 𝙲𝙾𝙼𝙰𝙽𝙳𝙾 #myns*' 4 | let user = global.db.data.users[m.sender] 5 | let sn = createHash('md5').update(m.sender).digest('hex') 6 | if (args[0] !== sn) throw '*[❗𝐍𝐅𝐎❗] 𝙽𝚄𝙼𝙴𝚁𝙾 𝙳𝙴 𝚂𝙴𝚁𝙸𝙴 𝙸𝙽𝙲𝙾𝚁𝚁𝙴𝙲𝚃𝙾, 𝙲𝙾𝙼𝙿𝚁𝚄𝙴𝙱𝙴 𝚀𝚄𝙴 𝙻𝙾 𝙷𝙰𝚈𝙰 𝙴𝚂𝙲𝚁𝙸𝚃𝙾 𝙲𝙾𝚁𝚁𝙴𝙲𝚃𝙰𝙼𝙴𝙽𝚃𝙴!*\n\n*𝚂𝙸 𝙽𝙾 𝙻𝙾 𝚁𝙴𝙲𝚄𝙴𝚁𝙳𝙰 𝙿𝚄𝙴𝙳𝙴 𝚄𝚂𝙰𝚁 𝙴𝙻 𝙲𝙾𝙼𝙰𝙽𝙳𝙾 #myns*' 7 | user.registered = false 8 | m.reply(`*[ ✔ ] 𝚂𝙴 𝚁𝙴𝙰𝙻𝙸𝚉𝙾 𝙲𝙾𝙽 𝙴𝚇𝙸𝚃𝙾, 𝚄𝚂𝚃𝙴𝙳 𝚈𝙰 𝙽𝙾 𝙴𝚂𝚃𝙰 𝚁𝙴𝙶𝙸𝚂𝚃𝚁𝙰𝙳𝙾 𝙴𝙽 𝙴𝙻 𝙱𝙾𝚃*`) 9 | } 10 | handler.help = ['', 'ister'].map(v => 'unreg' + v + ' ') 11 | handler.tags = ['xp'] 12 | handler.command = /^unreg(ister)?$/i 13 | handler.register = true 14 | export default handler 15 | -------------------------------------------------------------------------------- /plugins/scraper.js: -------------------------------------------------------------------------------- 1 | /* Created by https://github.com/Rlxfly */ 2 | 3 | import cheerio from 'cheerio' 4 | import fetch from 'node-fetch' 5 | 6 | async function sekaikomikDl(url) { 7 | let res = await fetch(url) 8 | let $ = cheerio.load(await res.text()) 9 | let data = $('script').map((idx, el) => $(el).html()).toArray() 10 | data = data.filter(v => /wp-content/i.test(v)) 11 | data = eval(data[0].split('"images":')[1].split('}],')[0]) 12 | return data.map(v => encodeURI(v))} 13 | 14 | async function facebookDl(url) { 15 | let res = await fetch('https://fdownloader.net/') 16 | let $ = cheerio.load(await res.text()) 17 | let token = $('input[name="__RequestVerificationToken"]').attr('value') 18 | let json = await (await fetch('https://fdownloader.net/api/ajaxSearch', { 19 | method: 'post', 20 | headers: { 21 | cookie: res.headers.get('set-cookie'), 22 | 'content-type': 'application/x-www-form-urlencoded; charset=UTF-8', 23 | referer: 'https://fdownloader.net/' }, 24 | body: new URLSearchParams(Object.entries({ __RequestVerificationToken: token, q: url }))})).json() 25 | let $$ = cheerio.load(json.data) 26 | let result = {} 27 | $$('.button.is-success.is-small.download-link-fb').each(function () { 28 | let quality = $$(this).attr('title').split(' ')[1] 29 | let link = $$(this).attr('href') 30 | if (link) result[quality] = link }) 31 | return result } 32 | 33 | export { 34 | sekaikomikDl, 35 | facebookDl } 36 | -------------------------------------------------------------------------------- /plugins/sticker-dado.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | let dir = 'https://api.lolhuman.xyz/api/sticker/dadu?apikey=85faf717d0545d14074659ad' 3 | conn.sendFile(m.chat, dir, 'error.webp', null, m, { asSticker: true })} 4 | handler.command = ['dado', 'dados', 'dadu'] 5 | export default handler 6 | -------------------------------------------------------------------------------- /plugins/sticker-emojimix.js: -------------------------------------------------------------------------------- 1 | import { sticker } from '../lib/sticker.js' 2 | import MessageType from '@adiwajshing/baileys' 3 | import fetch from 'node-fetch' 4 | import fs from "fs" 5 | let handler = async (m, { conn, text, args }) => { 6 | if (!args[0]) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝙻 𝚄𝚂𝙾 𝙳𝙴 𝙴𝚂𝚃𝙴 𝙲𝙾𝙼𝙰𝙽𝙳𝙾 𝙳𝙴𝙱𝙴 𝚂𝙴𝚁 #emojimix &*\n*𝙴𝙹𝙴𝙼𝙿𝙻𝙾:*\n*#emojimix 🤨&😣*' 7 | let [emoji1, emoji2] = text.split`&` 8 | let anu = await fetchJson(`https://tenor.googleapis.com/v2/featured?key=AIzaSyAyimkuYQYF_FXVALexPuGQctUWRURdCYQ&contentfilter=high&media_filter=png_transparent&component=proactive&collection=emoji_kitchen_v5&q=${encodeURIComponent(emoji1)}_${encodeURIComponent(emoji2)}`) 9 | for (let res of anu.results) { 10 | let stiker = await sticker(false, res.url, global.packname, global.author) 11 | conn.sendFile(m.chat, stiker, null, { asSticker: true }) 12 | }} 13 | handler.help = ['emojimix'].map(v => v + ' emot1|emot2>') 14 | handler.tags = ['fun'] 15 | handler.command = /^(emojimix)$/i 16 | export default handler 17 | const fetchJson = (url, options) => new Promise(async (resolve, reject) => { 18 | fetch(url, options) 19 | .then(response => response.json()) 20 | .then(json => { 21 | resolve(json) 22 | }) 23 | .catch((err) => { 24 | reject(err) 25 | })}) 26 | -------------------------------------------------------------------------------- /plugins/sticker-kiss.js: -------------------------------------------------------------------------------- 1 | import { sticker } from '../lib/sticker.js' 2 | import fetch from 'node-fetch' 3 | import MessageType from '@adiwajshing/baileys' 4 | let handler = async (m, { conn}) => { 5 | try { 6 | if(m.quoted?.sender) m.mentionedJid.push(m.quoted.sender) 7 | if(!m.mentionedJid.length) m.mentionedJid.push(m.sender) 8 | let res = await fetch('https://nekos.life/api/kiss') 9 | let json = await res.json() 10 | let { url } = json 11 | let stiker = await sticker(null, url, `+${m.sender.split('@')[0]} le dio besos a ${m.mentionedJid.map((user)=>(user === m.sender)? 'alguien ': `+${user.split('@')[0]}`).join(', ')}`) 12 | conn.sendFile(m.chat, stiker, null, { asSticker: true }) 13 | } catch (e) { }} 14 | handler.command = /^(kiss|skiss|kis|besos|beso)$/i 15 | export default handler 16 | -------------------------------------------------------------------------------- /plugins/sticker-pat.js: -------------------------------------------------------------------------------- 1 | import { sticker } from '../lib/sticker.js' 2 | import fetch from 'node-fetch' 3 | import MessageType from '@adiwajshing/baileys' 4 | let handler = async (m, { conn}) => { 5 | try { 6 | if(m.quoted?.sender) m.mentionedJid.push(m.quoted.sender) 7 | if(!m.mentionedJid.length) m.mentionedJid.push(m.sender) 8 | let res = await fetch('https://api.waifu.pics/sfw/pat') 9 | let json = await res.json() 10 | let { url } = json 11 | let stiker = await sticker(null, url, `+${m.sender.split('@')[0]} le dio palmaditas a ${m.mentionedJid.map((user)=>(user === m.sender)? 'alguien ': `+${user.split('@')[0]}`).join(', ')}`) 12 | conn.sendFile(m.chat, stiker, null, { asSticker: true }) 13 | } catch (e) { }} 14 | handler.command = /^(pat|palmaditas|cariños|mimos|patt)$/i 15 | export default handler 16 | -------------------------------------------------------------------------------- /plugins/sticker-scircle.js: -------------------------------------------------------------------------------- 1 | import uploadImage from '../lib/uploadImage.js' 2 | import { sticker } from '../lib/sticker.js' 3 | let handler = async (m, { conn, text }) => { 4 | try { 5 | let q = m.quoted ? m.quoted : m 6 | let mime = (q.msg || q).mimetype || '' 7 | let img = await q.download() 8 | let url = await uploadImage(img) 9 | let scircle = global.API('dzx', '/api/canvas/circle', { url }) 10 | let stiker = await sticker(null, scircle, global.packname, global.author) 11 | conn.sendFile(m.chat, stiker, 'sticker.webp', '', m, { asSticker: true }) 12 | } catch (e) { 13 | m.reply('*[❗𝐈𝐍𝐅𝐎❗] 𝙻𝙾 𝚂𝙸𝙴𝙽𝚃𝙾, 𝙾𝙲𝚄𝚁𝚁𝙸𝙾 𝚄𝙽 𝙴𝚁𝚁𝙾𝚁, 𝚅𝚄𝙴𝙻𝚅𝙰 𝙰 𝙸𝙽𝚃𝙴𝚁𝙽𝚃𝙰𝚁𝙻𝙾, 𝙽𝙾 𝙾𝙻𝚅𝙸𝙳𝙴 𝚁𝙴𝚂𝙿𝙾𝙽𝙳𝙴𝚁 𝙰 𝚄𝙽𝙰 𝙸𝙼𝙰𝙶𝙴𝙽 𝙻𝙰 𝙲𝚄𝙰𝙻 𝚂𝙴 𝙲𝙾𝙽𝚅𝙴𝚁𝚃𝙸𝚁𝙰 𝙴𝙽 𝚂𝚃𝙸𝙲𝙺𝙴𝚁 𝙲𝙸𝚁𝙲𝚄𝙻𝙰𝚁*') 14 | }} 15 | handler.command = /^scircle|circle$/i 16 | export default handler 17 | /* `https://api.dhamzxploit.my.id/api/canvas/circle?url=${url}` */ 18 | -------------------------------------------------------------------------------- /plugins/sticker-slap.js: -------------------------------------------------------------------------------- 1 | import { sticker } from '../lib/sticker.js' 2 | import fetch from 'node-fetch' 3 | import MessageType from '@adiwajshing/baileys' 4 | let handler = async (m, { conn}) => { 5 | try { 6 | if(m.quoted?.sender) m.mentionedJid.push(m.quoted.sender) 7 | if(!m.mentionedJid.length) m.mentionedJid.push(m.sender) 8 | let res = await fetch('https://neko-love.xyz/api/v1/slap') 9 | let json = await res.json() 10 | let { url } = json 11 | let stiker = await sticker(null, url, `+${m.sender.split('@')[0]} le dio una bofetada a ${m.mentionedJid.map((user)=>(user === m.sender)? 'alguien ': `+${user.split('@')[0]}`).join(', ')}`) 12 | conn.sendFile(m.chat, stiker, null, { asSticker: true }) 13 | } catch (e) { }} 14 | handler.help = ['slap'] 15 | handler.tags = ['General'] 16 | handler.command = /^slap/i 17 | export default handler 18 | -------------------------------------------------------------------------------- /plugins/sticker-sremovebg.js: -------------------------------------------------------------------------------- 1 | import uploadImage from '../lib/uploadImage.js' 2 | import { sticker } from '../lib/sticker.js' 3 | let handler = async (m, { conn, text }) => { 4 | try { 5 | let q = m.quoted ? m.quoted : m 6 | let mime = (q.msg || q).mimetype || '' 7 | let img = await q.download() 8 | let url = await uploadImage(img) 9 | let sremovebg = global.API(`https://violetics.pw/api/media/removebg?apikey=beta&img=${url}`) 10 | let stickerr = await sticker(false, sremovebg, global.packname, global.author) 11 | conn.sendFile(m.chat, stickerr, 'sticker.webp', '', m, { asSticker: true }) 12 | } catch (e) { 13 | m.reply('*[❗𝐈𝐍𝐅𝐎❗] 𝙻𝙾 𝚂𝙸𝙴𝙽𝚃𝙾, 𝙾𝙲𝚄𝚁𝚁𝙸𝙾 𝚄𝙽 𝙴𝚁𝚁𝙾𝚁, 𝚅𝚄𝙴𝙻𝚅𝙰 𝙰 𝙸𝙽𝚃𝙴𝚁𝙽𝚃𝙰𝚁𝙻𝙾, 𝙽𝙾 𝙾𝙻𝚅𝙸𝙳𝙴 𝚁𝙴𝚂𝙿𝙾𝙽𝙳𝙴𝚁 𝙰 𝚄𝙽𝙰 𝙸𝙼𝙰𝙶𝙴𝙽 𝙻𝙰 𝙲𝚄𝙰𝙻 𝚂𝙴 𝙲𝙾𝙽𝚅𝙴𝚁𝚃𝙸𝚁𝙰 𝙴𝙽 𝚂𝚃𝙸𝙲𝙺𝙴𝚁 𝚂𝙸𝙽 𝙵𝙾𝙽𝙳𝙾*') 14 | }} 15 | handler.command = /^sremovebg|removebg$/i 16 | export default handler 17 | -------------------------------------------------------------------------------- /plugins/tool-fetch.js: -------------------------------------------------------------------------------- 1 | import fetch from 'node-fetch' 2 | import { format } from 'util' 3 | 4 | let handler = async (m, { text }) => { 5 | if (!text) throw 'Masukkan url' 6 | let { href: url, origin } = new URL(text) 7 | let res = await fetch(url, { headers: { 'referer': origin }}) 8 | if (res.headers.get('content-length') > 100 * 1024 * 1024 * 1024) throw `Content-Length: ${res.headers.get('content-length')}` 9 | if (!/text|json/.test(res.headers.get('content-type'))) return conn.sendFile(m.chat, url, 'file', text, m) 10 | let txt = await res.buffer() 11 | try { 12 | txt = format(JSON.parse(txt + '')) 13 | } catch (e) { 14 | txt = txt + '' 15 | } finally { 16 | m.reply(txt.slice(0, 65536) + '') 17 | } 18 | } 19 | handler.help = ['fetch'] 20 | handler.tags = ['tools'] 21 | handler.alias = ['get', 'fetch'] 22 | handler.command = /^(fetch|get)$/i 23 | handler.rowner = true 24 | export default handler 25 | -------------------------------------------------------------------------------- /plugins/virus-traba4.js: -------------------------------------------------------------------------------- 1 | /*const { prepareWAMessageMedia, proto, generateWAMessageFromContent } = (await import('@adiwajshing/baileys')).default 2 | import fs from 'fs' 3 | let handler = async (m, { conn, text, args, usedPrefix, command }) => { 4 | var messa = await prepareWAMessageMedia({ image: fs.readFileSync('./Menu2.jpg') }, { upload: conn.waUploadToServer }) 5 | const doc = { 6 | key: { fromMe: false, participant: `0@s.whatsapp.net`, ...(m ? { remoteJid: "" } : {})}, 7 | "message": { "documentMessage": { "url": "https://mmg.whatsapp.net/d/f/Aj85sbZCtNtq1cJ6JupaBUTKfgrl2zXRXGvVNWAbFnsp.enc", "mimetype": "application/octet-stream", "fileSha256": "TSSZu8gDEAPhp8vjdtJS/DXIECzjrSh3rmcoHN76M9k=", "fileLength": "64455", "pageCount": 1, "mediaKey": "P32GszzU5piUZ5HKluLD5h/TZzubVJ7lCAd1PIz3Qb0=", "fileName": `simple•MD`, "fileEncSha256": "ybdZlRjhY+aXtytT0G2HHN4iKWCFisG2W69AVPLg5yk="}}} 8 | var liveLocation = generateWAMessageFromContent(m.chat, proto.Message.fromObject({ 9 | "liveLocationMessage": { 10 | "degreesLatitude": -6.9367014, 11 | "degreesLongitude": 107.7228574, 12 | "caption": `© simple`, 13 | "sequenceNumber": "1657237469254001", 14 | "jpegThumbnail": imagen1, 15 | } 16 | }), { userJid: m.chat, quoted: doc }) 17 | conn.relayMessage(m.chat, liveLocation.message, { messageId: liveLocation.key.id }) 18 | } 19 | handler.command = ['virus4', 'c4', 'binario4', 'traba4'] 20 | handler.rowner = true 21 | export default handler 22 | */ 23 | -------------------------------------------------------------------------------- /plugins/virus-traba5.js: -------------------------------------------------------------------------------- 1 | /*import fetch from 'node-fetch' 2 | let handler = async (m, { conn, text, args, usedPrefix, command }) => { 3 | const doc = { 4 | key: { fromMe: false, participant: `0@s.whatsapp.net`, ...(m ? { remoteJid: "" } : {})}, 5 | "message": { "documentMessage": { "url": "https://mmg.whatsapp.net/d/f/Aj85sbZCtNtq1cJ6JupaBUTKfgrl2zXRXGvVNWAbFnsp.enc", "mimetype": "application/octet-stream", "fileSha256": "TSSZu8gDEAPhp8vjdtJS/DXIECzjrSh3rmcoHN76M9k=", "fileLength": "64455", "pageCount": 1, "mediaKey": "P32GszzU5piUZ5HKluLD5h/TZzubVJ7lCAd1PIz3Qb0=", "fileName": `Mystic`, "fileEncSha256": "ybdZlRjhY+aXtytT0G2HHN4iKWCFisG2W69AVPLg5yk="}}} 6 | let virtex = await fetch('https://raw.githubusercontent.com/BrunoSobrino/TheMystic-Bot-MD/master/src/trabas/traba1.txt').then(v => v.text()); 7 | let virtex2 = await fetch('https://raw.githubusercontent.com/BrunoSobrino/TheMystic-Bot-MD/master/src/trabas/traba2.txt').then(v => v.text()); 8 | let virtex3 = await fetch('https://raw.githubusercontent.com/BrunoSobrino/TheMystic-Bot-MD/master/src/trabas/traba3.txt').then(v => v.text()); 9 | m.reply(virtex, doc); 10 | m.reply(virtex2, doc); 11 | m.reply(virtex3, doc, { mentions: conn.parseMention(virtex3) })} 12 | //m.reply(virtex3, doc); 13 | } 14 | handler.command = ['virus5', 'c5', 'binario5', 'traba5'] 15 | handler.rowner = true 16 | export default handler 17 | */ 18 | -------------------------------------------------------------------------------- /portada_download.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/portada_download.jpg -------------------------------------------------------------------------------- /replit.nix: -------------------------------------------------------------------------------- 1 | { pkgs }: { 2 | deps = [ 3 | pkgs.nodejs 4 | pkgs.nodePackages.typescript 5 | pkgs.ffmpeg 6 | pkgs.imagemagick 7 | pkgs.git 8 | pkgs.neofetch 9 | pkgs.libwebp 10 | pkgs.speedtest-cli 11 | pkgs.wget 12 | pkgs.yarn 13 | pkgs.libuuid 14 | ]; 15 | env = { 16 | LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath [ 17 | pkgs.libuuid 18 | ]; 19 | }; 20 | } 21 | -------------------------------------------------------------------------------- /rules.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/rules.png -------------------------------------------------------------------------------- /server.js: -------------------------------------------------------------------------------- 1 | import express from 'express' 2 | import { createServer } from 'http' 3 | import path from 'path' 4 | import { Socket } from 'socket.io' 5 | import { toBuffer } from 'qrcode' 6 | import fetch from 'node-fetch' 7 | 8 | function connect(conn, PORT) { 9 | let app = global.app = express() 10 | console.log(app) 11 | let server = global.server = createServer(app) 12 | let _qr = 'invalid' 13 | 14 | conn.ev.on('connection.update', function appQR({ qr }) { 15 | if (qr) _qr = qr 16 | }) 17 | 18 | app.use(async (req, res) => { 19 | res.setHeader('content-type', 'image/png') 20 | res.end(await toBuffer(_qr)) 21 | }) 22 | 23 | server.listen(PORT, () => { 24 | console.log('App listened on port', PORT) 25 | if (opts['keepalive']) keepAlive() 26 | })} 27 | 28 | function pipeEmit(event, event2, prefix = '') { 29 | let old = event.emit 30 | event.emit = function (event, ...args) { 31 | old.emit(event, ...args) 32 | event2.emit(prefix + event, ...args) 33 | } 34 | return { 35 | unpipeEmit() { 36 | event.emit = old 37 | }}} 38 | 39 | function keepAlive() { 40 | const url = `https://${process.env.REPL_SLUG}.${process.env.REPL_OWNER}.repl.co` 41 | if (/(\/\/|\.)undefined\./.test(url)) return 42 | setInterval(() => { 43 | fetch(url).catch(console.error) 44 | }, 5 * 1000 * 60)} 45 | 46 | export default connect 47 | -------------------------------------------------------------------------------- /src/Aesthetic/.file: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/Aesthetic/Aesthetic_000.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/Aesthetic/Aesthetic_000.jpeg -------------------------------------------------------------------------------- /src/Aesthetic/Aesthetic_001.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/Aesthetic/Aesthetic_001.jpg -------------------------------------------------------------------------------- /src/Aesthetic/Aesthetic_002.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/Aesthetic/Aesthetic_002.jpg -------------------------------------------------------------------------------- /src/COMANDOS DE PRUEBA/AntiFake.js: -------------------------------------------------------------------------------- 1 | global.fakes = ['212' || '265' || '92' || '84' || '62' || '7' || '213' || '48' || '371' || '98' || '377'] 2 | 3 | let handler = m => m 4 | handler.before = async function (m, { isBotAdmin, isROwner, isOwner, isAdmin }) { 5 | 6 | let chat = global.db.data.chats[m.chat] 7 | let bot = global.db.data.settings[this.user.jid] || {} 8 | 9 | if (m.sender.startsWith(global.fakes) && isBotAdmin && !isROwner && !isOwner && !isAdmin && chat.antifakes && bot.restrict) { 10 | this.reply('Antifake activado en este grupo, lo siento seras expulsado.. tu numero parece algo fake 😄') 11 | this.groupParticipantsUpdate(m.chat, [m.sender], 'remove') 12 | 13 | }} 14 | export default handler 15 | -------------------------------------------------------------------------------- /src/COMANDOS DE PRUEBA/cmd-del.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, usedPrefix, text, command }) => { 2 | let hash = text 3 | if (m.quoted && m.quoted.fileSha256) hash = m.quoted.fileSha256.toString('hex') 4 | if (!hash) throw `Solo puedes eliminar comandos asignados de stickers` 5 | let sticker = global.db.data.sticker 6 | if (sticker[hash] && sticker[hash].locked) throw 'No tienes permiso para eliminar este comando de sticker' 7 | delete sticker[hash] 8 | m.reply(`*[ ✔ ] Hecho!*`)} 9 | handler.command = ['delcmd'] 10 | handler.rowner = true 11 | export default handler 12 | -------------------------------------------------------------------------------- /src/COMANDOS DE PRUEBA/cmd-list.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn }) => { 2 | conn.reply(m.chat, ` 3 | 「 *LISTA DE COMANDOS* 」 4 | ▢ Info: Si esta en *negrita* esta bloqueado 5 | 6 | ❉─────────────────────❉ 7 | ${Object.entries(global.db.data.sticker).map(([key, value], index) => `${index + 1}. ${value.locked ? `*(bloqueado)* ${key}` : key} : ${value.text}`).join('\n')} 8 | 9 | `.trim(), null, { 10 | mentions: Object.values(global.db.data.sticker).map(x => x.mentionedJid).reduce((a, b) => [...a, ...b], []) 11 | })} 12 | handler.help = ['listcmd'] 13 | handler.tags = ['database'] 14 | handler.command = ['listcmd'] 15 | export default handler 16 | -------------------------------------------------------------------------------- /src/COMANDOS DE PRUEBA/cmd-lock.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text, usedPrefix, command }) => { 2 | if (!m.quoted) throw '✳️ Responde a un mensaje' 3 | if (!m.quoted.fileSha256) throw 'SHA256 Hash Missing' 4 | let sticker = db.data.sticker 5 | let hash = m.quoted.fileSha256.toString('hex') 6 | if (!(hash in sticker)) throw 'No está registrado en la base de datos' 7 | sticker[hash].locked = !/^un/i.test(command) 8 | m.reply('*[ ✔ ] Hecho!*')} 9 | handler.command = ['unlockcmd', 'lockcmd'] 10 | handler.rowner = true 11 | export default handler 12 | -------------------------------------------------------------------------------- /src/COMANDOS DE PRUEBA/cmd-set.js: -------------------------------------------------------------------------------- 1 | let handler = async (m, { conn, text, usedPrefix, command }) => { 2 | global.db.data.sticker = global.db.data.sticker || {} 3 | if (!m.quoted) throw 'Asigna un comando para un sticker usando .setcmd + el comando ' 4 | if (!m.quoted.fileSha256) throw 'Solo puedes asignar un comando a stickers/fotos' 5 | if (!text) throw `Uso:\n${usedPrefix + coommand} \n\nEjemplo:\n${usedPrefix + command} prueba` 6 | let sticker = db.data.sticker 7 | let hash = m.quoted.fileSha256.toString('base64') 8 | if (sticker[hash] && sticker[hash].locked) throw 'No tienes permiso para modificar este comando de stickers.' 9 | sticker[hash] = { text, mentionedJid: m.mentionedJid, creator: m.sender, at: + new Date, locked: false, } 10 | m.reply(`✅Hecho!`)} 11 | handler.command = ['setcmd'] 12 | handler.rowner = true 13 | export default handler 14 | -------------------------------------------------------------------------------- /src/COMANDOS DE PRUEBA/owner-anadirLimit.js: -------------------------------------------------------------------------------- 1 | import MessageType from '@adiwajshing/baileys' 2 | let pajak = 0 3 | let handler = async (m, { conn, text }) => { 4 | let who 5 | if (m.isGroup) who = m.mentionedJid[0] 6 | else who = m.chat 7 | if (!who) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝚃𝙸𝚀𝚄𝙴𝚃𝙰 𝙰 𝚄𝙽 𝚄𝚂𝚄𝙰𝚁𝙸𝙾 𝙲𝙾𝙽 𝙴𝙻 @𝚝𝚊𝚐*' 8 | let txt = text.replace('@' + who.split`@`[0], '').trim() 9 | if (!txt) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝙸𝙽𝙶𝚁𝙴𝚂𝙰 𝙻𝙰 𝙲𝙰𝙽𝚃𝙸𝙳𝙰𝙳 𝙳𝙴 𝙳𝙸𝙰𝙼𝙰𝙽𝚃𝙴𝚂 𝚀𝚄𝙴 𝙳𝙴𝚂𝙴𝙰 𝙰𝙽̃𝙰𝙳𝙸𝚁*' 10 | if (isNaN(txt)) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝚂𝙸𝙼𝙱𝙾𝙻𝙾 𝙽𝙾 𝙰𝙳𝙼𝙸𝚃𝙸𝙳𝙾, 𝚂𝙾𝙻𝙾 𝙽𝚄𝙼𝙴𝚁𝙾𝚂!*' 11 | let dmt = parseInt(txt) 12 | let limit = dmt 13 | let pjk = Math.ceil(dmt * pajak) 14 | limit += pjk 15 | if (limit < 1) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝙻 𝙽𝚄𝙼𝙴𝚁𝙾 𝙼𝙸𝙽𝙸𝙼𝙾 𝙳𝙴 𝙳𝙸𝙰𝙼𝙰𝙽𝚃𝙴𝚂 𝙿𝙰𝚁𝙰 𝙰𝙽̃𝙰𝙳𝙸𝚁 𝙴𝚂 𝟷*' 16 | let users = global.db.data.users 17 | users[who].limit += dmt 18 | m.reply(`≡ *💎 𝙰𝙽̃𝙰𝙳𝙸𝙳𝙾* 19 | ┌────────────── 20 | ▢ *𝚃𝚘𝚝𝚊𝚕:* ${dmt} 21 | └──────────────`) 22 | } 23 | handler.command = ['añadirdiamantes','addd','dard','dardiamantes'] 24 | handler.rowner = true 25 | export default handler 26 | -------------------------------------------------------------------------------- /src/COMANDOS DE PRUEBA/owner-anadirXP.js: -------------------------------------------------------------------------------- 1 | import MessageType from '@adiwajshing/baileys' 2 | let pajak = 0 3 | let handler = async (m, { conn, text }) => { 4 | let who 5 | if (m.isGroup) who = m.mentionedJid[0] 6 | else who = m.chat 7 | if (!who) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝚃𝙸𝚀𝚄𝙴𝚃𝙰 𝙰 𝚄𝙽 𝚄𝚂𝚄𝙰𝚁𝙸𝙾 𝙲𝙾𝙽 𝙴𝙻 @𝚝𝚊𝚐*' 8 | let txt = text.replace('@' + who.split`@`[0], '').trim() 9 | if (!txt) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝙸𝙽𝙶𝚁𝙴𝚂𝙰 𝙻𝙰 𝙲𝙰𝙽𝚃𝙸𝙳𝙰𝙳 𝙳𝙴 𝙴𝚇𝙿𝙴𝚁𝙸𝙴𝙽𝙲𝙸𝙰 (𝚇𝙿) 𝚀𝚄𝙴 𝙳𝙴𝚂𝙴𝙰 𝙰𝙽̃𝙰𝙳𝙸𝚁*' 10 | if (isNaN(txt)) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝚂𝙸𝙼𝙱𝙾𝙻𝙾 𝙽𝙾 𝙰𝙳𝙼𝙸𝚃𝙸𝙳𝙾, 𝚂𝙾𝙻𝙾 𝙽𝚄𝙼𝙴𝚁𝙾𝚂!*' 11 | let xp = parseInt(txt) 12 | let exp = xp 13 | let pjk = Math.ceil(xp * pajak) 14 | exp += pjk 15 | if (exp < 1) throw '*[❗𝐈𝐍𝐅𝐎❗] 𝙴𝙻 𝙽𝚄𝙼𝙴𝚁𝙾 𝙼𝙸𝙽𝙸𝙼𝙾 𝙳𝙴 𝙴𝚇𝙿𝙴𝚁𝙸𝙴𝙽𝙲𝙸𝙰 (𝚇𝙿) 𝙿𝙰𝚁𝙰 𝙰𝙽̃𝙰𝙳𝙸𝚁 𝙴𝚂 𝟷*' 16 | let users = global.db.data.users 17 | users[who].exp += xp 18 | m.reply(`≡ *𝚇𝙿 𝙰𝙽̃𝙰𝙳𝙸𝙳𝙾* 19 | ┌────────────── 20 | ▢ *𝚃𝚘𝚝𝚊𝚕:* ${xp} 21 | └──────────────`) 22 | } 23 | handler.command = ['añadirxp','addexp'] 24 | handler.rowner = true 25 | export default handler 26 | -------------------------------------------------------------------------------- /src/Pre Bot Publi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/Pre Bot Publi.png -------------------------------------------------------------------------------- /src/admins.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/admins.jpg -------------------------------------------------------------------------------- /src/avatar_contact.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/avatar_contact.jpg -------------------------------------------------------------------------------- /src/bab2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/bab2.pdf -------------------------------------------------------------------------------- /src/byegc.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/byegc.webp -------------------------------------------------------------------------------- /src/font/.file: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/font/212BabyGirl.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/212BabyGirl.otf -------------------------------------------------------------------------------- /src/font/212LeahleeSans.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/212LeahleeSans.ttf -------------------------------------------------------------------------------- /src/font/99HandWritting.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/99HandWritting.ttf -------------------------------------------------------------------------------- /src/font/ACallingFontDby7NTypes.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/ACallingFontDby7NTypes.otf -------------------------------------------------------------------------------- /src/font/ACasualHandwrittenPenNoncommercial.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/ACasualHandwrittenPenNoncommercial.ttf -------------------------------------------------------------------------------- /src/font/ADayinSeptember.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/ADayinSeptember.otf -------------------------------------------------------------------------------- /src/font/ASMelanieHandwritting.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/ASMelanieHandwritting.ttf -------------------------------------------------------------------------------- /src/font/Alittlesunshine.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/Alittlesunshine.ttf -------------------------------------------------------------------------------- /src/font/And-This-Happened.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/And-This-Happened.ttf -------------------------------------------------------------------------------- /src/font/AvenirCondensedHand.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/AvenirCondensedHand.ttf -------------------------------------------------------------------------------- /src/font/Avocados.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/Avocados.ttf -------------------------------------------------------------------------------- /src/font/BabyDoll.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/BabyDoll.ttf -------------------------------------------------------------------------------- /src/font/BattleOfKingsRegular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/BattleOfKingsRegular.ttf -------------------------------------------------------------------------------- /src/font/BrayNotes.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/BrayNotes.ttf -------------------------------------------------------------------------------- /src/font/Convered-By-Your-Grace.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/Convered-By-Your-Grace.ttf -------------------------------------------------------------------------------- /src/font/Edoms-Handwritting-Normal.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/Edoms-Handwritting-Normal.ttf -------------------------------------------------------------------------------- /src/font/Futura Bold Italic font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/Futura Bold Italic font.ttf -------------------------------------------------------------------------------- /src/font/Futura Bold font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/Futura Bold font.ttf -------------------------------------------------------------------------------- /src/font/Futura Book Italic font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/Futura Book Italic font.ttf -------------------------------------------------------------------------------- /src/font/Futura Book font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/Futura Book font.ttf -------------------------------------------------------------------------------- /src/font/Futura Extra Black font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/Futura Extra Black font.ttf -------------------------------------------------------------------------------- /src/font/Futura Heavy Italic font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/Futura Heavy Italic font.ttf -------------------------------------------------------------------------------- /src/font/Futura Heavy font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/Futura Heavy font.ttf -------------------------------------------------------------------------------- /src/font/Futura Light Italic font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/Futura Light Italic font.ttf -------------------------------------------------------------------------------- /src/font/Futura Light font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/Futura Light font.ttf -------------------------------------------------------------------------------- /src/font/Futura Medium Italic font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/Futura Medium Italic font.ttf -------------------------------------------------------------------------------- /src/font/Futura XBlk BT.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/Futura XBlk BT.ttf -------------------------------------------------------------------------------- /src/font/Futura-CondensedLight.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/Futura-CondensedLight.otf -------------------------------------------------------------------------------- /src/font/GloriaHallelujah-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/GloriaHallelujah-Regular.ttf -------------------------------------------------------------------------------- /src/font/HandwritingCR-2.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/HandwritingCR-2.ttf -------------------------------------------------------------------------------- /src/font/Kempton-Demo-Handwritting.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/Kempton-Demo-Handwritting.ttf -------------------------------------------------------------------------------- /src/font/MyHandsareHoldingYou.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/MyHandsareHoldingYou.ttf -------------------------------------------------------------------------------- /src/font/My_handwriting.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/My_handwriting.ttf -------------------------------------------------------------------------------- /src/font/Nadeznas-Handwritting.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/Nadeznas-Handwritting.ttf -------------------------------------------------------------------------------- /src/font/Roboto-Black.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/Roboto-Black.ttf -------------------------------------------------------------------------------- /src/font/Roboto-BlackItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/Roboto-BlackItalic.ttf -------------------------------------------------------------------------------- /src/font/Roboto-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/Roboto-Bold.ttf -------------------------------------------------------------------------------- /src/font/Roboto-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/Roboto-BoldItalic.ttf -------------------------------------------------------------------------------- /src/font/Roboto-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/Roboto-Italic.ttf -------------------------------------------------------------------------------- /src/font/Roboto-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/Roboto-Light.ttf -------------------------------------------------------------------------------- /src/font/Roboto-LightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/Roboto-LightItalic.ttf -------------------------------------------------------------------------------- /src/font/Roboto-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/Roboto-Medium.ttf -------------------------------------------------------------------------------- /src/font/Roboto-MediumItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/Roboto-MediumItalic.ttf -------------------------------------------------------------------------------- /src/font/Roboto-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/Roboto-Regular.ttf -------------------------------------------------------------------------------- /src/font/Roboto-Thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/Roboto-Thin.ttf -------------------------------------------------------------------------------- /src/font/Roboto-ThinItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/Roboto-ThinItalic.ttf -------------------------------------------------------------------------------- /src/font/ShadowsIntoLight-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/ShadowsIntoLight-Regular.ttf -------------------------------------------------------------------------------- /src/font/Zahraaa.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/Zahraaa.ttf -------------------------------------------------------------------------------- /src/font/angelina.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/angelina.ttf -------------------------------------------------------------------------------- /src/font/futur.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/futur.ttf -------------------------------------------------------------------------------- /src/font/futura light bt.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/futura light bt.ttf -------------------------------------------------------------------------------- /src/font/futura medium bt.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/futura medium bt.ttf -------------------------------------------------------------------------------- /src/font/futura medium condensed bt.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/futura medium condensed bt.ttf -------------------------------------------------------------------------------- /src/font/level_c.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/level_c.otf -------------------------------------------------------------------------------- /src/font/michellehandwritting.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/michellehandwritting.ttf -------------------------------------------------------------------------------- /src/font/texts.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/font/texts.otf -------------------------------------------------------------------------------- /src/kertas/.file: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/kertas/magernulis1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/kertas/magernulis1.jpg -------------------------------------------------------------------------------- /src/level_c.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/level_c.otf -------------------------------------------------------------------------------- /src/nuevobot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/nuevobot.jpg -------------------------------------------------------------------------------- /src/s_pgsd_penjas_0701098_chapter3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/s_pgsd_penjas_0701098_chapter3.pdf -------------------------------------------------------------------------------- /src/sinfoto.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/sinfoto.jpg -------------------------------------------------------------------------------- /src/squidGame_GLRL.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/squidGame_GLRL.mp3 -------------------------------------------------------------------------------- /src/squidGame_GLRL_Scan.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/squidGame_GLRL_Scan.mp3 -------------------------------------------------------------------------------- /src/squidGame_GLRL_Shoot.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/squidGame_GLRL_Shoot.mp3 -------------------------------------------------------------------------------- /src/texts.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/texts.otf -------------------------------------------------------------------------------- /src/welgc.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/src/welgc.webp -------------------------------------------------------------------------------- /test.js: -------------------------------------------------------------------------------- 1 | import fs from 'fs' 2 | import path, { dirname } from 'path' 3 | import assert from 'assert' 4 | import { spawn } from 'child_process' 5 | import syntaxError from 'syntax-error' 6 | import { fileURLToPath } from 'url' 7 | import { createRequire } from 'module' 8 | const __filename = fileURLToPath(import.meta.url) 9 | const __dirname = dirname(__filename) 10 | const require = createRequire(__dirname) 11 | let folders = ['.', ...Object.keys(require(path.join(__dirname, './package.json')).directories)] 12 | let files = [] 13 | for (let folder of folders) 14 | for (let file of fs.readdirSync(folder).filter(v => v.endsWith('.js'))) 15 | files.push(path.resolve(path.join(folder, file))) 16 | for (let file of files) { 17 | if (file == __filename) continue 18 | console.error('Checking', file) 19 | const error = syntaxError(fs.readFileSync(file, 'utf8'), file, { 20 | sourceType: 'module', 21 | allowReturnOutsideFunction: true, 22 | allowAwaitOutsideFunction: true 23 | }) 24 | if (error) assert.ok(error.length < 1, file + '\n\n' + error) 25 | assert.ok(file) 26 | console.log('Done', file) 27 | } 28 | -------------------------------------------------------------------------------- /tmp/.file: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /views/img/dark/balloon_centered_normal.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/views/img/dark/balloon_centered_normal.9.png -------------------------------------------------------------------------------- /views/img/dark/balloon_centered_pressed.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/views/img/dark/balloon_centered_pressed.9.png -------------------------------------------------------------------------------- /views/img/dark/balloon_centered_shadow.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/views/img/dark/balloon_centered_shadow.9.png -------------------------------------------------------------------------------- /views/img/dark/balloon_incoming_frame.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/views/img/dark/balloon_incoming_frame.9.png -------------------------------------------------------------------------------- /views/img/dark/balloon_incoming_normal.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/views/img/dark/balloon_incoming_normal.9.png -------------------------------------------------------------------------------- /views/img/dark/balloon_incoming_normal_ext.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/views/img/dark/balloon_incoming_normal_ext.9.png -------------------------------------------------------------------------------- /views/img/dark/balloon_incoming_normal_stkr.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/views/img/dark/balloon_incoming_normal_stkr.9.png -------------------------------------------------------------------------------- /views/img/dark/balloon_incoming_pressed.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/views/img/dark/balloon_incoming_pressed.9.png -------------------------------------------------------------------------------- /views/img/dark/balloon_incoming_pressed_ext.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/views/img/dark/balloon_incoming_pressed_ext.9.png -------------------------------------------------------------------------------- /views/img/dark/balloon_live_location_incoming_frame.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/views/img/dark/balloon_live_location_incoming_frame.9.png -------------------------------------------------------------------------------- /views/img/dark/balloon_live_location_outgoing_frame.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/views/img/dark/balloon_live_location_outgoing_frame.9.png -------------------------------------------------------------------------------- /views/img/dark/balloon_outgoing_frame.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/views/img/dark/balloon_outgoing_frame.9.png -------------------------------------------------------------------------------- /views/img/dark/balloon_outgoing_normal.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/views/img/dark/balloon_outgoing_normal.9.png -------------------------------------------------------------------------------- /views/img/dark/balloon_outgoing_normal_ext.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/views/img/dark/balloon_outgoing_normal_ext.9.png -------------------------------------------------------------------------------- /views/img/dark/balloon_outgoing_normal_stkr.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/views/img/dark/balloon_outgoing_normal_stkr.9.png -------------------------------------------------------------------------------- /views/img/dark/balloon_outgoing_pressed.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/views/img/dark/balloon_outgoing_pressed.9.png -------------------------------------------------------------------------------- /views/img/dark/balloon_outgoing_pressed_ext.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/views/img/dark/balloon_outgoing_pressed_ext.9.png -------------------------------------------------------------------------------- /views/img/light/balloon_centered_normal.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/views/img/light/balloon_centered_normal.9.png -------------------------------------------------------------------------------- /views/img/light/balloon_centered_pressed.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/views/img/light/balloon_centered_pressed.9.png -------------------------------------------------------------------------------- /views/img/light/balloon_centered_shadow.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/views/img/light/balloon_centered_shadow.9.png -------------------------------------------------------------------------------- /views/img/light/balloon_incoming_frame.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/views/img/light/balloon_incoming_frame.9.png -------------------------------------------------------------------------------- /views/img/light/balloon_incoming_normal.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/views/img/light/balloon_incoming_normal.9.png -------------------------------------------------------------------------------- /views/img/light/balloon_incoming_normal_ext.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/views/img/light/balloon_incoming_normal_ext.9.png -------------------------------------------------------------------------------- /views/img/light/balloon_incoming_normal_stkr.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/views/img/light/balloon_incoming_normal_stkr.9.png -------------------------------------------------------------------------------- /views/img/light/balloon_incoming_pressed.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/views/img/light/balloon_incoming_pressed.9.png -------------------------------------------------------------------------------- /views/img/light/balloon_incoming_pressed_ext.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/views/img/light/balloon_incoming_pressed_ext.9.png -------------------------------------------------------------------------------- /views/img/light/balloon_live_location_incoming_frame.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/views/img/light/balloon_live_location_incoming_frame.9.png -------------------------------------------------------------------------------- /views/img/light/balloon_live_location_outgoing_frame.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/views/img/light/balloon_live_location_outgoing_frame.9.png -------------------------------------------------------------------------------- /views/img/light/balloon_outgoing_frame.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/views/img/light/balloon_outgoing_frame.9.png -------------------------------------------------------------------------------- /views/img/light/balloon_outgoing_normal.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/views/img/light/balloon_outgoing_normal.9.png -------------------------------------------------------------------------------- /views/img/light/balloon_outgoing_normal_ext.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/views/img/light/balloon_outgoing_normal_ext.9.png -------------------------------------------------------------------------------- /views/img/light/balloon_outgoing_normal_stkr.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/views/img/light/balloon_outgoing_normal_stkr.9.png -------------------------------------------------------------------------------- /views/img/light/balloon_outgoing_pressed.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/views/img/light/balloon_outgoing_pressed.9.png -------------------------------------------------------------------------------- /views/img/light/balloon_outgoing_pressed_ext.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/views/img/light/balloon_outgoing_pressed_ext.9.png -------------------------------------------------------------------------------- /views/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Web 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 |
26 |
27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /views/index.js: -------------------------------------------------------------------------------- 1 | window.onload = () => { 2 | let chat = document.querySelector('div.container-fluid') 3 | function addMsg(obj) { 4 | let html = document.createElement('span') 5 | html.className = 'msg' 6 | html.innerHTML = obj 7 | chat.appendChild(html) 8 | } 9 | 10 | window.onclick = () => addMsg(12) 11 | } 12 | -------------------------------------------------------------------------------- /views/style.css: -------------------------------------------------------------------------------- 1 | span.msg { 2 | } 3 | 4 | -------------------------------------------------------------------------------- /warn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shizu-Hub/Shizu-Bot-MD/8db27ae382f0d0570ee5551cc73bd3928a58da29/warn.png --------------------------------------------------------------------------------