diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 274fdabb6..1956eacd1 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -8,4 +8,4 @@ community_bridge: # Replace with a single Community Bridge project-name e.g., cl liberapay: # Replace with a single Liberapay username issuehunt: # Replace with a single IssueHunt username otechie: # Replace with a single Otechie username -custom: ['https://github.com/elrebelde21','https://boxmineworld.com', 'https://www.zipponodes.xyz'] +custom: ['https://github.com/elrebelde21','https://dash.skyultraplus.com', 'https://www.youtube.com/@elrebelde.21'] diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..1f1b692d4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +.npm/ +.git/ +package-lock.json +yarn.lock +node_modules/ +BotSession/ +jadibot/ +src/ +tmp/ diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index a1cb1ec92..000000000 --- a/Dockerfile +++ /dev/null @@ -1,19 +0,0 @@ -FROM node:lts-buster - -RUN apt-get update && \ - apt-get install -y \ - ffmpeg \ - imagemagick \ - webp && \ - apt-get upgrade -y && \ - rm -rf /var/lib/apt/lists/* - -COPY package.json . - -RUN npm install && npm install qrcode-terminal - -COPY . . - -EXPOSE 5000 - -CMD ["node", "index.js"] diff --git a/Menu2.jpg b/Menu2.jpg deleted file mode 100644 index 8de25e74a..000000000 Binary files a/Menu2.jpg and /dev/null differ diff --git a/Procfile b/Procfile deleted file mode 100644 index 7cece1d39..000000000 --- a/Procfile +++ /dev/null @@ -1 +0,0 @@ -web: node . --server diff --git a/README.md b/README.md index 720281892..e3ff15e36 100644 --- a/README.md +++ b/README.md @@ -1,229 +1,208 @@ -> 🚀 Versión actual: 1.5.5 - -

- +

+

-The-LoliBot-MD +

- - -

+ +

- - - -

- - - -

- -
- -Facebook - - -YouTube - - - -
+ + stars + forks +

-### 💫 𝗗𝘂𝗱𝗮 𝘀𝗼𝗯𝗿𝗲 𝗲𝗹 𝗯𝗼𝘁? -𝗖𝗼𝗻𝘁𝗮𝗰𝘁𝗮𝗺𝗲 ✨ +

+ + + + + +

- +--- - - +

+ + + +

-### ❇️ 𝙂𝙍𝙐𝙋𝙊𝙎 𝙊𝙁𝙄𝘾𝙄𝘼𝙇𝙀𝙎 +--- - - - - - - +### 💫 Duda sobre el bot?, contactarme ✨ - + + + -[![Typing SVG](http://readme-typing-svg.herokuapp.com?font=Fira+Code&size=10&duration=3000&pause=1000&color=34F6F7¢er=falso&vCenter=falso&width=435&lines=%C3%9Anete+y+Conoce+las+%C3%9Altimas+Novedades!!)](https://git.io/typing-svg) -[![blog](https://img.shields.io/badge/Canal-actulizaciones-25D366?style=for-the-badge&logo=whatsapp&logoColor=white -)](https://whatsapp.com/channel/0029Va4QjH7DeON0ePwzjS1A) +### ❇️ GRUPOS OFICIALES + + + + + + ------ -### 𝐀𝐂𝐓𝐈𝐕𝐀 𝐄𝐋 𝐓𝐄𝐑𝐌𝐔𝐗 - 𝙂𝙄𝙏𝙃𝙐𝘽 -[![blog](https://img.shields.io/badge/Instalacion-Automatica-FF0000?style=for-the-badge&logo=youtube&logoColor=white)](https://youtu.be/O_j2q5xCg3A?si=rqKUJF-8w1OCeAxx?feature=share) -> ⬇️ 𝐄𝐒𝐂𝐑𝐈𝐁𝐄 𝐋𝐎𝐒 𝐒𝐈𝐆𝐔𝐈𝐄𝐍𝐓𝐄𝐒 𝐂𝐎𝐌𝐀𝐍𝐃𝐎𝐒 𝐔𝐍𝐎 𝐏𝐎𝐑 𝐔𝐍𝐎 (Opción 1) -```bash -termux-setup-storage -``` -```bash -apt update -y && yes | apt upgrade && pkg install -y bash wget mpv && wget -O - https://raw.githubusercontent.com/elrebelde21/The-LoliBot-MD/master/install.sh | bash -``` ------ -### 📁 (OPCIÓN 2) 𝐀𝐂𝐓𝐈𝐕𝐀 𝐄𝐋 𝐓𝐄𝐑𝐌𝐔𝐗 - 𝘼𝙍𝘾𝙃𝙄𝙑𝙊𝙎 -> **Note** Descargué y Descomprime -### [`The-LoliBot-MD ~ Archivos`](https://github.com/elrebelde21/The-LoliBot-MD/archive/refs/heads/master.zip) -[![blog](https://img.shields.io/badge/Termux-TheLoliBotMD-FF0000?style=for-the-badge&logo=youtube&logoColor=white) -](https://youtu.be/i1xjB4bmYCc?si=JBYC22-3mBkLpB8c) + +--- + +## 🚀 Características destacadas + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
🧠 Función✨ Descripción
🤖 JadibotConexión y reconexión automática
📥 DescargasSoporte para descargar de YouTube, TikTok, Instagram y más
🛡️ Gestión de GruposAnti-enlaces, bienvenida, antifake, modo admin y más
⚔️ Sistema RPGSistema de gacha, Sube de nivel, gana recompensas, juega con otros
🎮 JuegosAdivina, reto, piedra papel tijera, ruleta y más
💻 Base de datosPostgreSQL para una mayor eficiencia y escalabilidad
🚧 En constante mejoraSiempre en evolución con nuevas ideas y funciones
+ +

+ +--- + +### ☁️ Activar LoliBot-MD 24/7 activos en SkyPlus Host +[![YouTube](https://img.shields.io/badge/SkyUltraPlus-Host-FF0000?style=for-the-badge&logo=youtube&logoColor=white)](https://youtu.be/fZbcCLpSH6Y?si=1sDen7Bzmb7jVpAI) + + + +### Información del Host +- **Pagina Oficial:** [`Aqui`](https://skyultraplus.com) +- **Dashboard:** [`Aquí`](https://dash.skyultraplus.com) +- **Panel:** [`Aquí`](https://panel.skyultraplus.com) +- **Estado de servicios:** [`Aquí`](https://estado.skyultraplus.com) +- **Canal de WhatsApp:** [`Aquí`](https://whatsapp.com/channel/0029VakUvreFHWpyWUr4Jr0g) +- **Comunidad:** [`Aquí`](https://chat.whatsapp.com/JPwcXvPEUwlEOyjI3BpYys) +- **Contacto(s):** [`Gata Dios`](https://wa.me/message/B3KTM5XN2JMRD1) / [`Russell`](https://api.whatsapp.com/send/?phone=15167096032&text&type=phone_number&app_absent=0) / [`elrebelde21`](https://facebook.com/elrebelde21) +- **Discord:** [`aqui`](https://discord.gg/Ph4eWsZ8) + +- [x] **Configuración**
**Ajustes del Servidor - LoliBot-MD**
+ +---- +## 🔰 Instalación por Termux + +[![Tutorial](https://img.shields.io/badge/Tutorial-FF0000?style=for-the-badge&logo=youtube&logoColor=white)](https://youtu.be/O_j2q5xCg3A) + +[![Termux](https://img.shields.io/badge/Instalar%20Termux-000000?style=for-the-badge&logo=android&logoColor=white)](https://f-droid.org/es/packages/com.termux/) + +> [!IMPORTANT] +> **No garantizamos un funcionamiento perfecto en Termux. Es normal que el bot funcione con lentitud o errores, te recomendamos considerar los servicios de alojamiento de bots de nuestros patrocinadores.** + +### 📦 Comandos de instalación + ```bash termux-setup-storage ``` + ```bash -apt update && apt upgrade && pkg install -y git nodejs ffmpeg imagemagick yarn -``` -```bash -cd storage/downloads/The-LoliBot-MD-master/The-LoliBot-MD-master +apt update && apt upgrade -y && pkg install -y git nodejs ffmpeg imagemagick yarn ``` + ```bash -yarn install +git clone https://github.com/elrebelde21/LoliBot-MD && cd LoliBot-MD ``` + ```bash -npm install +bash install.sh ``` + ```bash npm start ``` ------ -### `𝐀𝐂𝐓𝐈𝐕𝐀𝐑 𝐄𝐍 𝐂𝐀𝐒𝐎 𝐃𝐄 𝐃𝐄𝐓𝐄𝐍𝐄𝐑𝐒𝐄` -```bash -𝐄𝐒𝐂𝐑𝐈𝐁𝐄 𝐋𝐎𝐒 𝐒𝐈𝐆𝐔𝐈𝐄𝐍𝐓𝐄𝐒 𝐂𝐎𝐌𝐀𝐍𝐃𝐎𝐒 𝐔𝐍𝐎 𝐏𝐎𝐑 𝐔𝐍𝐎: -> cd -> cd The-LoliBot-MD -> npm start -``` -### `𝐎𝐁𝐓𝐄𝐍𝐄𝐑 𝐎𝐓𝐑𝐎 𝐂𝐎𝐃𝐈𝐆𝐎 𝐐𝐑 -```bash -𝐄𝐒𝐂𝐑𝐈𝐁𝐄 𝐋𝐎𝐒 𝐒𝐈𝐆𝐔𝐈𝐄𝐍𝐓𝐄𝐒 𝐂𝐎𝐌𝐀𝐍𝐃𝐎𝐒 𝐔𝐍𝐎 𝐏𝐎𝐑 𝐔𝐍𝐎: -> cd -> cd The-LoliBot-MD -> rm -rf BotSession -> npm start -``` ------------------- -### 🚀 USAR LOLIBOT 24/7 EN TERMUX -> Ejecutar estos comandos dentro de la carpeta The-LoliBot-MD -```bash -termux-wake-lock && npm i -g pm2 && pm2 start index.js && pm2 save && pm2 logs -``` -#### ⬇️ Opciones Disponibles -> **Warning** Esto eliminará todo el historial que hayas establecido con PM2: -```bash -pm2 delete index -``` -> Si tienes cerrado Termux y quiere ver de nuevo la ejecución use: -```bash -pm2 logs -``` -> Si desea detener la ejecución de Termux use: -```bash -pm2 stop index -``` -> Si desea iniciar de nuevo la ejecución de Termux use: -```bash -pm2 start index -``` ----- -### 😼 ACTUALIZAR LOLIBOT -> **Note** Comandos para actualizar The-LoliBot-MD de forma automática -```bash -grep -q 'bash\|wget' <(dpkg -l) || apt install -y bash wget && wget -O - https://raw.githubusercontent.com/elrebelde21/The-LoliBot-MD/master/update.sh | bash -``` -#### Para que no pierda su progreso en LoliBot, estos comandos realizarán un respaldo de su `database.json` y se agregará a la versión más reciente. -> **Warning** Estos comandos solo funcionan para TERMUX, REPLIT, LINUX ------ -### ✅ QUIERE TENER EL BOT 24/7 ACTIVO ACTIVAR EL BOXMINEHOST -[![blog](https://img.shields.io/badge/BoxMine-TheLoliBotMD-FF0000?style=for-the-badge&logo=youtube&logoColor=white) -](https://youtu.be/wWyBHtKzx9Q?si=ihODwzs0pnVhzs5s) - - -### BoxMine World ----- -### 🟣 ACTIVAR EN HEROKU -[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/elrebelde21/The-LoliBotMD-Heroku) -### 👇 Añada lo siguente al Buildpack: -```bash -heroku/nodejs -``` -```bash -https://github.com/jonathanong/heroku-buildpack-ffmpeg-latest.git -``` -```bash -https://github.com/clhuang/heroku-buildpack-webp-binaries.git -``` ------ -- [x] Resultado
Buildpack
------------------- -### ⚡ ACTIVA EL REPLIT -[![blog](https://img.shields.io/badge/Lolibot-YouTube-FF0000?style=for-the-badge&logo=youtube&logoColor=white) -](https://youtu.be/SMjCcfuyWQE) -Run on Replit - ------------------- -- [x] Resultado
Importar Repositorio - The-LoliBot-MD
------------------- -### 🌱 ACTIVAR EN KOYEB - -[![Deploy to Koyeb](https://www.koyeb.com/static/images/deploy/button.svg)](https://app.koyeb.com/deploy?type=git&repository=github.com/elrebelde21/The-LoliBot-MD&branch=master&name=the-lolibot-md) - ------------------- -### ☁️ ACTIVAR EN RENDER -[![Deploy to Render](https://render.com/images/deploy-to-render-button.svg)](https://dashboard.render.com/blueprint/new?repo=https%3A%2F%2Fgithub.com%2Felrebelde21%2FThe-LoliBot-MD) - ------------------- -## 💻 PARA USUARIOS DE WINDOWS/VPS/RDP - -* Descargar e instala Git [`Aquí`](https://git-scm.com/downloads) -* Descargar e instala NodeJS [`Aquí`](https://nodejs.org/en/download) -* Descargar e instala FFmpeg [`Aquí`](https://ffmpeg.org/download.html) (**No olvide agregar FFmpeg a la variable de entorno PATH**) -* Descargar e instala ImageMagick [`Aquí`](https://imagemagick.org/script/download.php) -* Descargar e instala Yarn [`Aquí`](https://classic.yarnpkg.com/en/docs/install#windows-stable) -```bash -git clone https://github.com/elrebelde21/The-LoliBot-MD && cd The-LoliBot-MD && npm install && npm update && node . -``` -## 💻 Instalación de FFmpeg para Windows -* Descarga cualquiera de las versiones de FFmpeg disponibles haciendo clic en [FFmpeg](https://www.gyan.dev/ffmpeg/builds/). -* Extraer archivos a `C:\` path. -* Cambie el nombre de la carpeta extraída a `ffmpeg`. -* Ejecute el símbolo del sistema como administrador. -* Ejecute el siguiente comando: -```cmd -> setx /m PATH "C:\ffmpeg\bin;%PATH%" -``` -Si tiene éxito, le dará un mensaje como: `SUCCESS: specified value was saved`. -* Ahora que tiene FFmpeg instalado, verifique que funcionó ejecutando este comando para ver la versión: -```cmd -> ffmpeg -version -``` ----- -### `📝 NOTA 📝` -```bash -🔸ESTE REPOSITORIO SE PUBLICA LA VERSIÓN ACTUAL|OFICIAL DE THE-LOLIBOT-MD -🔸ES POSIBLE QUE EL BOT TENGA ALGUNAS FALLAS, SE IRAN SOLUCIONANDO CONFORME SE VAYAN DETECTANDO -🔸SI VAS A EDITAR POR COMPLETO DEJA LOS CRÉDITOS DEL BOT -🔸ATENTO A LAS NUEVAS ACTUALIZACIÓNES QUE SE HAGAN EN ESTE REPOSITORIO -🔸EL ADD/KICK PUEDEN OCASIONAR QUE EL NÚMERO SE VAYA A SOPORTE POR ELLO SE ACTIVA CON #enable restrict -🔸THE-LOLIBOT-MD, NO SE HACE RESPONSABLE DEL USO, NÚMERO, PRIVACIDAD Y CONTENIDO MANDADO, O USADO O GESTIONADO POR USTEDES O EL BOT. -``` ----- -### 🌟 EDITOR Y PROPIETARIO DEL BOT -elrebelde21 +--- + +## 👨‍💻 Desarrollador principal + +

+ + elrebelde21
+ @elrebelde21 +
+

+ +

+ 👑 Dueña/Propietaria:
+ + china
+ @itschinita_official +
+

+ +--- + +## 👥 Colaboradores -### 🌟 COLABORADORES -[![GataNina-Li](https://github.com/GataNina-Li.png?size=100)](https://github.com/GataNina-Li) -[![Yesenia57](https://github.com/Yesenia57.png?size=100)](https://github.com/Yesenia57) -[![AzamiJs](https://github.com/AzamiJs.png?size=100)](https://github.com/AzamiJs) -[![KatashiFukushima](https://github.com/KatashiFukushima.png?size=100)](https://github.com/KatashiFukushima) +

+ + + + +

+ +--- -### 🌟 AGRADECIMIENTOS -[![TheShadowBrokers1](https://github.com/BrunoSobrino.png?size=60)](https://github.com/BrunoSobrino) +

⚠️ AVISOS IMPORTANTES

+ +

+ +

+

+ + 🚧 Este repositorio publica la versión actual y oficial de LoliBot-MD.
+ 📢 Es posible que el bot tenga algunas fallas; se irán corrigiendo conforme se detecten.
+ ✂️ Si vas a editar o compartir el bot, no elimines los créditos originales.
+ 🎯 Atento a las nuevas actualizaciones que se realicen en este repositorio.
+ 🔒 LoliBot-MD no se hace responsable del uso, número, privacidad ni contenido enviado, usado o gestionado por los usuarios o el bot. Úsalo bajo tu responsabilidad.
+ 🚧 Actualmente está en versión BETA en desarrollo.
+
+

+ +

+ +

+ +--- + +

+ +

+ +

+ +

[v, new RegExp(v, 'gi')]).filter(v => v[1].test(string)) -if (!results.length) return '' -else return emot[results[0][0]] -}} - -global.rpgg = { //Solo emojis -emoticon(string) { -string = string.toLowerCase() -let emott = { -level: '🧬', limit: '💎', exp: '⚡', bank: '🏦', -diamond: '💎+', health: '❤️', kyubi: '🌀', joincount: '🪙', -emerald: '💚', stamina: '✨', role: '💪', premium: '🎟️', -pointxp: '📧', gold: '👑', -trash: '🗑', crystal: '🔮', intelligence: '🧠', string: '🕸️', keygold: '🔑', -keyiron: '🗝️', emas: '🪅', fishingrod: '🎣', gems: '🍀', magicwand: '⚕️', -mana: '🪄', agility: '🤸‍♂️', darkcrystal: '♠️', iron: '⛓️', rock: '🪨', -potion: '🥤', superior: '💼', robo: '🚔', upgrader: '🧰', wood: '🪵', -strength: '🦹‍ ♀️', arc: '🏹', armor: '🥼', bow: '🏹', pickaxe: '⛏️', sword: '⚔️', -common: '📦', uncoommon: '🥡', mythic: '🗳️', legendary: '🎁', petFood: '🍖', pet: '🍱', -bibitanggur: '🍇', bibitapel: '🍎', bibitjeruk: '🍊', bibitmangga: '🥭', bibitpisang: '🍌', -ayam: '🐓', babi: '🐖', Jabali: '🐗', bull: '🐃', buaya: '🐊', cat: '🐈', -centaur: '🐐', chicken: '🐓', cow: '🐄', dog: '🐕', dragon: '🐉', elephant: '🐘', -fox: '🦊', giraffe: '🦒', griffin: '🦅', //Mascota : Griffin', -horse: '🐎', kambing: '🐐', kerbau: '🐃', lion: '🦁', money: '🐱', monyet: '🐒', panda: '🐼', -snake: '🐍', phonix: '🕊️', rhinoceros: '🦏', -wolf: '🐺', tiger: '🐅', cumi: '🦑', udang: '🦐', ikan: '🐟', -fideos: '🍝', ramuan: '🧪', knife: '🔪' -} -let results = Object.keys(emott).map(v => [v, new RegExp(v, 'gi')]).filter(v => v[1].test(string)) -if (!results.length) return '' -else return emott[results[0][0]] -}} - -global.rpgshop = { //Tienda -emoticon(string) { -string = string.toLowerCase() -let emottt = { -exp: lenguajeGB.eExp(), limit: lenguajeGB.eDiamante(), diamond: lenguajeGB.eDiamantePlus(), joincount: lenguajeGB.eToken(), -emerald: lenguajeGB.eEsmeralda(), berlian: lenguajeGB.eJoya(), kyubi: lenguajeGB.eMagia(), gold: lenguajeGB.eOro(), -money: lenguajeGB.eGataCoins(), tiketcoin: lenguajeGB.eGataTickers(), stamina: lenguajeGB.eEnergia(), -potion: lenguajeGB.ePocion(), aqua: lenguajeGB.eAgua(), trash: lenguajeGB.eBasura(), wood: lenguajeGB.eMadera(), -rock: lenguajeGB.eRoca(), batu: lenguajeGB.ePiedra(), string: lenguajeGB.eCuerda(), iron: lenguajeGB.eHierro(), -coal: lenguajeGB.eCarbon(), botol: lenguajeGB.eBotella(), kaleng: lenguajeGB.eLata(), kardus: lenguajeGB.eCarton(), -eleksirb: lenguajeGB.eEletric(), emasbatang: lenguajeGB.eBarraOro(), emasbiasa: lenguajeGB.eOroComun(), rubah: lenguajeGB.eZorroG(), -sampah: lenguajeGB.eBasuraG(), serigala: lenguajeGB.eLoboG(), kayu: lenguajeGB.eMaderaG(), sword: lenguajeGB.eEspada(), -umpan: lenguajeGB.eCarnada(), healtmonster: lenguajeGB.eBillete(), emas: lenguajeGB.ePinata(), pancingan: lenguajeGB.eGancho(), -pancing: lenguajeGB.eCanaPescar(), -common: lenguajeGB.eCComun(), uncoommon: lenguajeGB.ePComun(), mythic: lenguajeGB.eCMistica(), -pet: lenguajeGB.eCMascota(),//? -gardenboxs: lenguajeGB.eCJardineria(),//? -legendary: lenguajeGB.eClegendaria(), -anggur: lenguajeGB.eUva(), apel: lenguajeGB.eManzana(), jeruk: lenguajeGB.eNaranja(), mangga: lenguajeGB.eMango(), pisang: lenguajeGB.ePlatano(), -bibitanggur: lenguajeGB.eSUva(), bibitapel: lenguajeGB.eSManzana(), bibitjeruk: lenguajeGB.eSNaranja(), bibitmangga: lenguajeGB.eSMango(), bibitpisang: lenguajeGB.eSPlatano(), -centaur: lenguajeGB.eCentauro(), griffin: lenguajeGB.eAve(), kucing: lenguajeGB.eGato(), naga: lenguajeGB.eDragon(), -fox: lenguajeGB.eZorro(), kuda: lenguajeGB.eCaballo(), phonix: lenguajeGB.eFenix(), wolf: lenguajeGB.eLobo(), -anjing: lenguajeGB.ePerro(), -petFood: lenguajeGB.eAMascots(), //? -makanancentaur: lenguajeGB.eCCentauro(), makanangriffin: lenguajeGB.eCAve(), -makanankyubi: lenguajeGB.eCMagica(), makanannaga: lenguajeGB.eCDragon(), makananpet: lenguajeGB.eACaballo(), makananphonix: lenguajeGB.eCFenix() -} -let results = Object.keys(emottt).map(v => [v, new RegExp(v, 'gi')]).filter(v => v[1].test(string)) -if (!results.length) return '' -else return emottt[results[0][0]] -}} - -global.rpgshopp = { //Tienda -emoticon(string) { -string = string.toLowerCase() -let emotttt = { -exp: '⚡', limit: '💎', diamond: '💎+', joincount: '🪙', -emerald: '💚', berlian: '♦️', kyubi: '🌀', gold: '👑', -money: '🐱', tiketcoin: '🎫', stamina: '✨', -potion: '🥤', aqua: '💧', trash: '🗑', wood: '🪵', -rock: '🪨', batu: '🥌', string: '🕸️', iron: '⛓️', -coal: '⚱️', botol: '🍶', kaleng: '🥫', kardus: '🪧', -eleksirb: '💡', emasbatang: '〽️', emasbiasa: '🧭', rubah: '🦊🌫️', -sampah: '🗑🌫️', serigala: '🐺🌫️', kayu: '🛷', sword: '⚔️', -umpan: '🪱', healtmonster: '💵', emas: '🪅', pancingan: '🪝', -pancing: '🎣', -common: '📦', uncoommon: '🥡', mythic: '🗳️', -pet: '📫',//? -gardenboxs: '💐',//? -legendary: '🎁', -anggur: '🍇', apel: '🍎', jeruk: '🍊', mangga: '🥭', pisang: '🍌', -bibitanggur: '🌾🍇', bibitapel: '🌾🍎', bibitjeruk: '🌾🍊', bibitmangga: '🌾🥭', bibitpisang: '🌾🍌', -centaur: '🐐', griffin: '🦅', kucing: '🐈', naga: '🐉', fox: '🦊', kuda: '🐎', phonix: '🕊️', wolf: '🐺', anjing: '🐶', -petFood: '🍖', //? -makanancentaur: '🐐🥩', makanangriffin: '🦅🥩', makanankyubi: '🌀🥩', makanannaga: '🐉🥩', -makananpet: '🍱🥩', makananphonix: '🕊️🥩' -} -let results = Object.keys(emotttt).map(v => [v, new RegExp(v, 'gi')]).filter(v => v[1].test(string)) -if (!results.length) return '' -else return emotttt[results[0][0]] -}} +//---------------------------------------------------- let file = fileURLToPath(import.meta.url) watchFile(file, () => { -unwatchFile(file) -console.log(chalk.redBright("Se actualizo 'config.js'")) -import(`${file}?update=${Date.now()}`) + unwatchFile(file) + console.log(chalk.redBright("Update 'config.js'")) + import(`${file}?update=${Date.now()}`) }) diff --git a/handler.js b/handler.js index bb44e828e..3b873338e 100644 --- a/handler.js +++ b/handler.js @@ -1,1542 +1,847 @@ -import {generateWAMessageFromContent} from '@whiskeysockets/baileys'; -import { smsg } from './lib/simple.js' -import { format } from 'util' -import { fileURLToPath } from 'url' -import path, { join } from 'path' -import { unwatchFile, watchFile } from 'fs' -import chalk from 'chalk' -import fetch from 'node-fetch' -import mddd5 from 'md5' - -/** - * @type {import('@adiwajshing/baileys')} - */ -const { proto } = (await import('@whiskeysockets/baileys')).default -const isNumber = x => typeof x === 'number' && !isNaN(x) -const delay = ms => isNumber(ms) && new Promise(resolve => setTimeout(function () { - clearTimeout(this) - resolve() -}, ms)) - -/** - * Handle messages upsert - * @param {import('@adiwajshing/baileys').BaileysEventMap['messages.upsert']} groupsUpdate - */ -export async function handler(chatUpdate) { -this.msgqueque = this.msgqueque || []; -this.uptime = this.uptime || Date.now(); -if (!chatUpdate) { -return; -} -this.pushMessage(chatUpdate.messages).catch(console.error); -let m = chatUpdate.messages[chatUpdate.messages.length - 1]; -if (!m) { -return; +import "./config.js"; +import { watchFile, unwatchFile } from 'fs'; +import fs from "fs"; +import path from "path"; +import chalk from "chalk"; +import { fileURLToPath, pathToFileURL } from "url"; +import crypto from "crypto"; +import { db, getSubbotConfig } from "./lib/postgres.js"; +import { logCommand, logError, logMessage, LogLevel } from "./lib/logger.js"; +import { smsg } from "./lib/simple.js"; + +const __dirname = path.dirname(fileURLToPath(import.meta.url)); +const pluginsFolder = path.join(__dirname, "plugins"); + +const processedMessages = new Set(); +const lastDbUpdate = new Map(); +const groupMetaCache = new Map(); +export async function participantsUpdate(conn, { id, participants, action, author }) { +try { +if (!id || !Array.isArray(participants) || !action) return; +if (!conn?.user?.id) return; +const botId = conn.user.id; +const botConfig = await getSubbotConfig(botId) +const modo = botConfig.mode || "public" +const botJid = conn.user?.id?.replace(/:\d+@/, "@") +const isCreator = global.owner.map(([v]) => v.replace(/[^0-9]/g, "") + "@s.whatsapp.net").includes(author || "") +if (modo === "private" && !isCreator && author !== botJid) return + +const metadata = await conn.groupMetadata(id); +groupMetaCache.set(id, metadata); +const groupName = metadata.subject || "Grupo" +const botJidClean = (conn.user?.id || "").replace(/:\d+/, "") +const botLidClean = (conn.user?.lid || "").replace(/:\d+/, "") + +const isBotAdmin = metadata.participants.some(p => { + const cleanId = p.id?.replace(/:\d+/, ""); + return ( + (cleanId === botJidClean || cleanId === botLidClean) && + (p.admin === "admin" || p.admin === "superadmin") + ); +}); + +const settings = (await db.query("SELECT * FROM group_settings WHERE group_id = $1", [id])).rows[0] || { +welcome: true, +detect: true, +antifake: false } -if (global.db.data == null) await global.loadDatabase() -/*------------------------------------------------*/ -if (global.chatgpt.data === null) await global.loadChatgptDB(); -/*------------------------------------------------*/ + +const arabicCountryCodes = ['+91', '+92', '+222', '+93', '+265', '+213', '+225', '+240', '+241', '+61', '+249', '+62', '+966', '+229', '+244', '+40', '+49', '+20', '+963', '+967', '+234', '+256', '+243', '+210', '+249', ,'+212', '+971', '+974', '+968', '+965', '+962', '+961', '+964', '+970']; +const pp = "./media/Menu1.jpg" + +for (const participant of participants) { +if (!participant || typeof participant !== 'string' || !participant.includes('@')) continue; +const userTag = typeof participant === 'string' && participant.includes('@') ? `@${participant.split("@")[0]}` : "@usuario" +const authorTag = typeof author === 'string' && author.includes('@') ? `@${author.split("@")[0]}` : "alguien" + +if (action === "add" && settings.antifake) { +const phoneNumber = participant.split("@")[0] +const isFake = arabicCountryCodes.some(code => phoneNumber.startsWith(code.slice(1))) + +if (isFake && isBotAdmin) { +await conn.sendMessage(id, { text: `⚠️ ${userTag} fue eliminado automáticamente por *número no permitido*`, mentions: [participant] }) +await conn.groupParticipantsUpdate(id, [participant], "remove") +continue +} else if (isFake && !isBotAdmin) { +//await conn.sendMessage(id, { text: `⚠️ ${userTag} tiene un número prohibido, pero no tengo admin para eliminarlo.`, mentions: [participant] }) +continue +}} + +let image try { -m = smsg(this, m) || m -if (!m) -return -m.exp = 0 -m.limit = false -m.money = false +image = await conn.profilePictureUrl(participant, "image") +} catch { +image = pp +} + +switch (action) { +case "add": +if (settings.welcome) { +const groupDesc = metadata.desc || "*ᴜɴ ɢʀᴜᴘᴏ ɢᴇɴɪᴀ😸*\n *sɪɴ ʀᴇɢʟᴀ 😉*" +const raw = settings.swelcome || `HOLAA!! @user ¿COMO ESTAS?😃\n\n『Bienvenido A *@group*』\n\nUn gusto conocerte amig@ 🤗\n\n_Recuerda leer las reglas del grupo para no tener ningun problema 🧐_\n\n*Solo disfrutar de este grupo y divertite 🥳*` +const msg = raw +.replace(/@user/gi, userTag) +.replace(/@group|@subject/gi, groupName) +.replace(/@desc/gi, groupDesc) + +if (settings.photowelcome) { +await conn.sendMessage(id, { image: { url: image },caption: msg, +contextInfo: { +mentionedJid: [participant], +isForwarded: true, +forwardingScore: 999999, +forwardedNewsletterMessageInfo: { +newsletterJid: ["120363305025805187@newsletter", "120363301598733462@newsletter"].getRandom(), +newsletterName: "LoliBot ✨️" +}}}, { quoted: null }) +} else { +await conn.sendMessage(id, { text: msg, +contextInfo: { +forwardedNewsletterMessageInfo: { +newsletterJid: ["120363305025805187@newsletter", "120363301598733462@newsletter"].getRandom(), +newsletterName: "LoliBot ✨️" +}, +forwardingScore: 9999999, +isForwarded: true, +mentionedJid: [participant], +externalAdReply: { +mediaUrl: [info.nna, info.nna2, info.md].getRandom(), +mediaType: 2, +showAdAttribution: false, +renderLargerThumbnail: false, +thumbnailUrl: image, +title: "🌟 WELCOME 🌟", +body: "Bienvenido al grupo 🤗", +containsAutoReply: true, +sourceUrl: "https://skyultraplus.com" +}}}, { quoted: null }) +}} +break + +case "remove": try { -// use el bucle para insertar datos en lugar de esto -let user = global.db.data.users[m.sender] -/*------------------------------------------------*/ -let chatgptUser = global.chatgpt.data.users[m.sender]; -if (typeof chatgptUser !== "object") -global.chatgpt.data.users[m.sender] = []; -/*------------------------------------------------*/ -if (typeof user !== 'object') -global.db.data.users[m.sender] = {} -if (user) { -if (!isNumber(user.exp)) user.exp = 0 -if (!('premium' in user)) user.premium = false -if (!isNumber(user.joincount)) user.joincount = 1 -if (!isNumber(user.money)) user.money = 100 -if (!isNumber(user.limit)) user.limit = 8 -if (!('registered' in user)) user.registered = false -if (!('registroR' in user)) user.registroR = false -if (!('registroC' in user)) user.registroC = false -if (!isNumber(user.IDregister)) user.IDregister = 0 -if (!user.registered) { -if (!('name' in user)) user.name = m.name -if (!isNumber(user.age)) user.age = 0 -if (!isNumber(user.descripcion)) user.descripcion = 0 -if (!isNumber(user.genero)) user.genero = 0 -if (!isNumber(user.identidad)) user.identidad = 0 -if (!isNumber(user.pasatiempo)) user.pasatiempo = 0 -if (!isNumber(user.tiempo)) user.tiempo = 0 -if (!isNumber(user.premLimit)) user.premLimit = 0 -if (!isNumber(user.miestado)) user.miestado = 0 -if (!isNumber(user.anggur)) user.anggur = 0 -if (!isNumber(user.apel)) user.apel = 0 -if (!isNumber(user.bibitanggur)) user.bibitanggur = 0 -if (!isNumber(user.bibitapel)) user.bibitapel = 0 -if (!isNumber(user.bibitjeruk)) user.bibitjeruk = 0 -if (!isNumber(user.bibitmangga)) user.bibitmangga = 0 -if (!isNumber(user.bibitpisang)) user.bibitpisang = 0 -if (!isNumber(user.emas)) user.emas = 0 -if (!isNumber(user.jeruk)) user.jeruk = 0 -if (!isNumber(user.kayu)) user.kayu = 0 -if (!isNumber(user.makanan)) user.makanan = 0 -if (!isNumber(user.mangga)) user.mangga = 0 -if (!isNumber(user.pisang)) user.pisang = 0 -if (!isNumber(user.premiumDate)) user.premiumDate = -1 -if (!isNumber(user.regTime)) user.regTime = -1 -if (!isNumber(user.semangka)) user.semangka = 0 -if (!isNumber(user.stroberi)) user.stroberi = 0 +await db.query(`DELETE FROM messages + WHERE user_id = $1 AND group_id = $2`, [participant, id]); +const botJid = (conn.user?.id || "").replace(/:\d+/, ""); +if (participant.replace(/:\d+/, "") === botJid) { +await db.query(`UPDATE chats SET joined = false + WHERE id = $1 AND bot_id = $2`, [id, botJid]); +console.log(`[DEBUG] El bot fue eliminado del grupo ${id}. Marcado como 'joined = false'.`); +}} catch (err) { +console.error("❌ Error en 'remove':", err); +} + +if (settings.welcome && conn?.user?.jid !== globalThis?.conn?.user?.jid) { +const groupDesc = metadata.desc || "Sin descripción" +const raw = settings.sbye || `Bueno, se fue @user 👋\n\nQue dios lo bendiga 😎` +const msg = raw +.replace(/@user/gi, userTag) +.replace(/@group/gi, groupName) +.replace(/@desc/gi, groupDesc) + +if (settings.photobye) { +await conn.sendMessage(id, { image: { url: image },caption: msg, +contextInfo: { +mentionedJid: [participant], +isForwarded: true, +forwardingScore: 999999, +forwardedNewsletterMessageInfo: { +newsletterJid: ["120363305025805187@newsletter", "120363301598733462@newsletter"].getRandom(), +newsletterName: "LoliBot ✨️" +}}}, { quoted: null }) +} else { +await conn.sendMessage(id, { text: msg, +contextInfo: { +forwardedNewsletterMessageInfo: { +newsletterJid: ["120363305025805187@newsletter", "120363301598733462@newsletter"].getRandom(), +newsletterName: "LoliBot ✨️" +}, +forwardingScore: 9999999, +isForwarded: true, +mentionedJid: [participant], +externalAdReply: { +showAdAttribution: true, +renderLargerThumbnail: true, +thumbnailUrl: image, +title: "👋 BYE", +body: "Se fue un gay", +containsAutoReply: true, +mediaType: 1, +sourceUrl: "https://skyultraplus.com" +}}}, { quoted: null }) +}} +break + +case "promote": case "daradmin": case "darpoder": +if (settings.detect) { +const raw = settings.sPromote || `@user 𝘼𝙃𝙊𝙍𝘼 𝙀𝙎 𝘼𝘿𝙈𝙄𝙉 𝙀𝙉 𝙀𝙎𝙏𝙀 𝙂𝙍𝙐𝙋𝙊\n\n😼🫵𝘼𝘾𝘾𝙄𝙊𝙉 𝙍𝙀𝘼𝙇𝙄𝙕𝘼𝘿𝘼 𝙋𝙊𝙍: @author` +const msg = raw + .replace(/@user/gi, userTag) + .replace(/@group/gi, groupName) + .replace(/@desc/gi, metadata.desc || "") + .replace(/@author/gi, authorTag) +await conn.sendMessage(id, { text: msg, +contextInfo:{ +forwardedNewsletterMessageInfo: { +newsletterJid: ["120363305025805187@newsletter", "120363301598733462@newsletter"].getRandom(), +newsletterName: "LoliBot ✨️" }, +forwardingScore: 9999999, +isForwarded: true, +mentionedJid: [participant, author], +externalAdReply: { +mediaUrl: [info.nna, info.nna2, info.md].getRandom(), +mediaType: 2, +showAdAttribution: false, +renderLargerThumbnail: false, +title: "NUEVO ADMINS 🥳", +body: "Weon eres admin portante mal 😉", +containsAutoReply: true, +thumbnailUrl: image, +sourceUrl: "skyultraplus.com" +}}}, { quoted: null }) } -if (!isNumber(user.afk)) user.afk = -1 -//if (!('autolevelup' in user)) user.autolevelup = true -if (!isNumber(user.counterPrivate)) user.counterPrivate = 0 -if (!isNumber(user.reporte)) user.reporte = 0 -if (!('role' in user)) user.role = '*NOVATO(A)* 🪤' -if (!isNumber(user.agility)) user.agility = 0 -if (!isNumber(user.anakanjing)) user.anakanjing = 0 -if (!isNumber(user.anakcentaur)) user.anakcentaur = 0 -if (!isNumber(user.anakgriffin)) user.anakgriffin = 0 -if (!isNumber(user.anakkucing)) user.anakkucing = 0 -if (!isNumber(user.anakkuda)) user.anakkuda = 0 -if (!isNumber(user.anakkyubi)) user.anakkyubi = 0 -if (!isNumber(user.anaknaga)) user.anaknaga = 0 -if (!isNumber(user.anakpancingan)) user.anakpancingan = 0 -if (!isNumber(user.anakphonix)) user.anakphonix = 0 -if (!isNumber(user.anakrubah)) user.anakrubah = 0 -if (!isNumber(user.anakserigala)) user.anakserigala = 0 -if (!isNumber(user.anggur)) user.anggur = 0 -if (!isNumber(user.anjing)) user.anjing = 0 -if (!isNumber(user.anjinglastclaim)) user.anjinglastclaim = 0 -if (!isNumber(user.antispam)) user.antispam = 0 -if (!isNumber(user.antispamlastclaim)) user.antispamlastclaim = 0 -if (!isNumber(user.apel)) user.apel = 0 -if (!isNumber(user.aqua)) user.aqua = 0 -if (!isNumber(user.arc)) user.arc = 0 -if (!isNumber(user.arcdurability)) user.arcdurability = 0 -if (!isNumber(user.arlok)) user.arlok = 0 -if (!isNumber(user.armor)) user.armor = 0 -if (!isNumber(user.armordurability)) user.armordurability = 0 -if (!isNumber(user.armormonster)) user.armormonster = 0 -if (!isNumber(user.as)) user.as = 0 -if (!isNumber(user.atm)) user.atm = 0 -if (!isNumber(user.axe)) user.axe = 0 -if (!isNumber(user.axedurability)) user.axedurability = 0 -if (!isNumber(user.ayam)) user.ayam = 0 -if (!isNumber(user.ayamb)) user.ayamb = 0 -if (!isNumber(user.ayambakar)) user.ayambakar = 0 -if (!isNumber(user.ayamg)) user.ayamg = 0 -if (!isNumber(user.ayamgoreng)) user.ayamgoreng = 0 -if (!isNumber(user.babi)) user.babi = 0 -if (!isNumber(user.babihutan)) user.babihutan = 0 -if (!isNumber(user.babipanggang)) user.babipanggang = 0 -if (!isNumber(user.bandage)) user.bandage = 0 -if (!isNumber(user.bank)) user.bank = 0 -if (!isNumber(user.banteng)) user.banteng = 0 -if (!isNumber(user.batu)) user.batu = 0 -if (!isNumber(user.bawal)) user.bawal = 0 -if (!isNumber(user.bawalbakar)) user.bawalbakar = 0 -if (!isNumber(user.bayam)) user.bayam = 0 -if (!isNumber(user.berlian)) user.berlian = 10 -if (!isNumber(user.bibitanggur)) user.bibitanggur = 0 -if (!isNumber(user.bibitapel)) user.bibitapel = 0 -if (!isNumber(user.bibitjeruk)) user.bibitjeruk = 0 -if (!isNumber(user.bibitmangga)) user.bibitmangga = 0 -if (!isNumber(user.bibitpisang)) user.bibitpisang = 0 -if (!isNumber(user.botol)) user.botol = 0 -if (!isNumber(user.bow)) user.bow = 0 -if (!isNumber(user.bowdurability)) user.bowdurability = 0 -if (!isNumber(user.boxs)) user.boxs = 0 -if (!isNumber(user.brick)) user.brick = 0 -if (!isNumber(user.brokoli)) user.brokoli = 0 -if (!isNumber(user.buaya)) user.buaya = 0 -if (!isNumber(user.buntal)) user.buntal = 0 -if (!isNumber(user.cat)) user.cat = 0 -if (!isNumber(user.catexp)) user.catexp = 0 -if (!isNumber(user.catlastfeed)) user.catlastfeed = 0 -if (!isNumber(user.centaur)) user.centaur = 0 -if (!isNumber(user.centaurexp)) user.centaurexp = 0 -if (!isNumber(user.centaurlastclaim)) user.centaurlastclaim = 0 -if (!isNumber(user.centaurlastfeed)) user.centaurlastfeed = 0 -if (!isNumber(user.clay)) user.clay = 0 -if (!isNumber(user.coal)) user.coal = 0 -if (!isNumber(user.coin)) user.coin = 0 -if (!isNumber(user.common)) user.common = 0 -if (!isNumber(user.crystal)) user.crystal = 0 -if (!isNumber(user.cumi)) user.cumi = 0 -if (!isNumber(user.cupon)) user.cupon = 0 -if (!isNumber(user.diamond)) user.diamond = 3 -if (!isNumber(user.dog)) user.dog = 0 -if (!isNumber(user.dogexp)) user.dogexp = 0 -if (!isNumber(user.doglastfeed)) user.doglastfeed = 0 -if (!isNumber(user.dory)) user.dory = 0 -if (!isNumber(user.dragon)) user.dragon = 0 -if (!isNumber(user.dragonexp)) user.dragonexp = 0 -if (!isNumber(user.dragonlastfeed)) user.dragonlastfeed = 0 -if (!isNumber(user.emas)) user.emas = 0 -if (!isNumber(user.emerald)) user.emerald = 0 -if (!isNumber(user.enchant)) user.enchant = 0 -if (!isNumber(user.esteh)) user.esteh = 0 -if (!isNumber(user.exp)) user.exp = 0 -if (!isNumber(user.expg)) user.expg = 0 -if (!isNumber(user.exphero)) user.exphero = 0 -if (!isNumber(user.eleksirb)) user.eleksirb = 0 -if (!isNumber(user.emasbatang)) user.emasbatang = 0 -if (!isNumber(user.emasbiasa)) user.emasbiasa = 0 -if (!isNumber(user.fideos)) user.fideos = 0 -if (!isNumber(user.fishingrod)) user.fishingrod = 0 -if (!isNumber(user.fishingroddurability)) user.fishingroddurability = 0 -if (!isNumber(user.fortress)) user.fortress = 0 -if (!isNumber(user.fox)) user.fox = 0 -if (!isNumber(user.foxexp)) user.foxexp = 0 -if (!isNumber(user.foxlastfeed)) user.foxlastfeed = 0 -if (!isNumber(user.fullatm)) user.fullatm = 0 -if (!isNumber(user.gadodado)) user.gadodado = 0 -if (!isNumber(user.gajah)) user.gajah = 0 -if (!isNumber(user.gamemines)) user.gamemines = false -if (!isNumber(user.ganja)) user.ganja = 0 -if (!isNumber(user.gardenboxs)) user.gardenboxs = 0 -if (!isNumber(user.gems)) user.gems = 0 -if (!isNumber(user.glass)) user.glass = 0 -if (!isNumber(user.glimit)) user.glimit = 8 -if (!isNumber(user.glory)) user.glory = 0 -if (!isNumber(user.gold)) user.gold = 0 -if (!isNumber(user.griffin)) user.griffin = 0 -if (!isNumber(user.griffinexp)) user.griffinexp = 0 -if (!isNumber(user.griffinlastclaim)) user.griffinlastclaim = 0 -if (!isNumber(user.griffinlastfeed)) user.griffinlastfeed = 0 -if (!isNumber(user.gulai)) user.gulai = 0 -if (!isNumber(user.gurita)) user.gurita = 0 -if (!isNumber(user.harimau)) user.harimau = 0 -if (!isNumber(user.haus)) user.haus = 100 -if (!isNumber(user.healt)) user.healt = 100 -if (!isNumber(user.health)) user.health = 100 -if (!isNumber(user.healthmonster)) user.healthmonster = 0 -if (!isNumber(user.healtmonster)) user.healtmonster = 0 -if (!isNumber(user.hero)) user.hero = 1 -if (!isNumber(user.herolastclaim)) user.herolastclaim = 0 -if (!isNumber(user.hiu)) user.hiu = 0 -if (!isNumber(user.horse)) user.horse = 0 -if (!isNumber(user.horseexp)) user.horseexp = 0 -if (!isNumber(user.horselastfeed)) user.horselastfeed = 0 -if (!isNumber(user.ikan)) user.ikan = 0 -if (!isNumber(user.ikanbakar)) user.ikanbakar = 0 -if (!isNumber(user.intelligence)) user.intelligence = 0 -if (!isNumber(user.iron)) user.iron = 0 -if (!isNumber(user.jagung)) user.jagung = 0 -if (!isNumber(user.jagungbakar)) user.jagungbakar = 0 -if (!isNumber(user.jeruk)) user.jeruk = 0 -if (!isNumber(user.joinlimit)) user.joinlimit = 1 -if (!isNumber(user.judilast)) user.judilast = 0 -if (!isNumber(user.kaleng)) user.kaleng = 0 -if (!isNumber(user.kambing)) user.kambing = 0 -if (!isNumber(user.kangkung)) user.kangkung = 0 -if (!isNumber(user.kapak)) user.kapak = 0 -if (!isNumber(user.kardus)) user.kardus = 0 -if (!isNumber(user.katana)) user.katana = 0 -if (!isNumber(user.katanadurability)) user.katanadurability = 0 -if (!isNumber(user.kayu)) user.kayu = 0 -if (!isNumber(user.kentang)) user.kentang = 0 -if (!isNumber(user.kentanggoreng)) user.kentanggoreng = 0 -if (!isNumber(user.kepiting)) user.kepiting = 0 -if (!isNumber(user.kepitingbakar)) user.kepitingbakar = 0 -if (!isNumber(user.kerbau)) user.kerbau = 0 -if (!isNumber(user.kerjadelapan)) user.kerjadelapan = 0 -if (!isNumber(user.kerjadelapanbelas)) user.kerjadelapanbelas = 0 -if (!isNumber(user.kerjadua)) user.kerjadua = 0 -if (!isNumber(user.kerjaduabelas)) user.kerjaduabelas = 0 -if (!isNumber(user.kerjaduadelapan)) user.kerjaduadelapan = 0 -if (!isNumber(user.kerjaduadua)) user.kerjaduadua = 0 -if (!isNumber(user.kerjaduaempat)) user.kerjaduaempat = 0 -if (!isNumber(user.kerjaduaenam)) user.kerjaduaenam = 0 -if (!isNumber(user.kerjadualima)) user.kerjadualima = 0 -if (!isNumber(user.kerjaduapuluh)) user.kerjaduapuluh = 0 -if (!isNumber(user.kerjaduasatu)) user.kerjaduasatu = 0 -if (!isNumber(user.kerjaduasembilan)) user.kerjaduasembilan = 0 -if (!isNumber(user.kerjaduatiga)) user.kerjaduatiga = 0 -if (!isNumber(user.kerjaduatujuh)) user.kerjaduatujuh = 0 -if (!isNumber(user.kerjaempat)) user.kerjaempat = 0 -if (!isNumber(user.kerjaempatbelas)) user.kerjaempatbelas = 0 -if (!isNumber(user.kerjaenam)) user.kerjaenam = 0 -if (!isNumber(user.kerjaenambelas)) user.kerjaenambelas = 0 -if (!isNumber(user.kerjalima)) user.kerjalima = 0 -if (!isNumber(user.kerjalimabelas)) user.kerjalimabelas = 0 -if (!isNumber(user.kerjasatu)) user.kerjasatu = 0 -if (!isNumber(user.kerjasebelas)) user.kerjasebelas = 0 -if (!isNumber(user.kerjasembilan)) user.kerjasembilan = 0 -if (!isNumber(user.kerjasembilanbelas)) user.kerjasembilanbelas = 0 -if (!isNumber(user.kerjasepuluh)) user.kerjasepuluh = 0 -if (!isNumber(user.kerjatiga)) user.kerjatiga = 0 -if (!isNumber(user.kerjatigabelas)) user.kerjatigabelas = 0 -if (!isNumber(user.kerjatigapuluh)) user.kerjatigapuluh = 0 -if (!isNumber(user.kerjatujuh)) user.kerjatujuh = 0 -if (!isNumber(user.kerjatujuhbelas)) user.kerjatujuhbelas = 0 -if (!isNumber(user.korbanngocok)) user.korbanngocok = 0 -if (!isNumber(user.kubis)) user.kubis = 0 -if (!isNumber(user.kucing)) user.kucing = 0 -if (!isNumber(user.kucinglastclaim)) user.kucinglastclaim = 0 -if (!isNumber(user.kuda)) user.kuda = 0 -if (!isNumber(user.kudalastclaim)) user.kudalastclaim = 0 -if (!isNumber(user.kyubi)) user.kyubi = 0 -if (!isNumber(user.kyubiexp)) user.kyubiexp = 0 -if (!isNumber(user.kyubilastclaim)) user.kyubilastclaim = 0 -if (!isNumber(user.kyubilastfeed)) user.kyubilastfeed = 0 -if (!isNumber(user.labu)) user.labu = 0 -if (!isNumber(user.laper)) user.laper = 100 -if (!isNumber(user.lastadventure)) user.lastadventure = 0 -if (!isNumber(user.lastbansos)) user.lastbansos = 0 -if (!isNumber(user.lastberbru)) user.lastberbru = 0 -if (!isNumber(user.lastberkebon)) user.lastberkebon = 0 -if (!isNumber(user.lastbunga)) user.lastbunga = 0 -if (!isNumber(user.lastbunuhi)) user.lastbunuhi = 0 -if (!isNumber(user.lastcoins)) user.lastcoins = 0 -if (!isNumber(user.lastclaim)) user.lastclaim = 0 -if (!isNumber(user.lastcode)) user.lastcode = 0 -if (!isNumber(user.lastcofre)) user.lastcofre = 0 -if (!isNumber(user.lastcodereg)) user.lastcodereg = 0 -if (!isNumber(user.lastcrusade)) user.lastcrusade = 0 -if (!isNumber(user.lastdagang)) user.lastdagang = 0 -if (!isNumber(user.lastdiamantes)) user.lastdiamantes = 0 -if (!isNumber(user.lastduel)) user.lastduel = 0 -if (!isNumber(user.lastdungeon)) user.lastdungeon = 0 -if (!isNumber(user.lasteasy)) user.lasteasy = 0 -if (!isNumber(user.lastfight)) user.lastfight = 0 -if (!isNumber(user.lastfishing)) user.lastfishing = 0 -if (!isNumber(user.lastgift)) user.lastgift = 0 -if (!isNumber(user.lastgojek)) user.lastgojek = 0 -if (!isNumber(user.lastgrab)) user.lastgrab = 0 -if (!isNumber(user.lasthourly)) user.lasthourly = 0 -if (!isNumber(user.halloween)) user.halloween = 0 -if (!isNumber(user.lasthunt)) user.lasthunt = 0 -if (!isNumber(user.lastIstigfar)) user.lastIstigfar = 0 -if (!isNumber(user.lastjb)) user.lastjb = 0 -if (!isNumber(user.lastkill)) user.lastkill = 0 -if (!isNumber(user.lastlink)) user.lastlink = 0 -if (!isNumber(user.lastlumber)) user.lastlumber = 0 -if (!isNumber(user.lastmancingeasy)) user.lastmancingeasy = 0 -if (!isNumber(user.lastmancingextreme)) user.lastmancingextreme = 0 -if (!isNumber(user.lastmancinghard)) user.lastmancinghard = 0 -if (!isNumber(user.lastmancingnormal)) user.lastmancingnormal = 0 -if (!isNumber(user.lastmining)) user.lastmining = 0 -if (!isNumber(user.lastmisi)) user.lastmisi = 0 -if (!isNumber(user.lastmonthly)) user.lastmonthly = 0 -if (!isNumber(user.lastmulung)) user.lastmulung = 0 -if (!isNumber(user.lastnambang)) user.lastnambang = 0 -if (!isNumber(user.lastnebang)) user.lastnebang = 0 -if (!isNumber(user.lastngocok)) user.lastngocok = 0 -if (!isNumber(user.lastngojek)) user.lastngojek = 0 -if (!isNumber(user.lastopen)) user.lastopen = 0 -if (!isNumber(user.lastpekerjaan)) user.lastpekerjaan = 0 -if (!isNumber(user.lastpago)) user.lastpago = 0 -if (!isNumber(user.lastpotionclaim)) user.lastpotionclaim = 0 -if (!isNumber(user.lastrampok)) user.lastrampok = 0 -if (!isNumber(user.lastramuanclaim)) user.lastramuanclaim = 0 -if (!isNumber(user.lastrob)) user.lastrob = 0 -if (!isNumber(user.lastroket)) user.lastroket = 0 -if (!isNumber(user.lastsda)) user.lastsda = 0 -if (!isNumber(user.lastseen)) user.lastseen = 0 -if (!isNumber(user.lastSetStatus)) user.lastSetStatus = 0 -if (!isNumber(user.lastsironclaim)) user.lastsironclaim = 0 -if (!isNumber(user.lastsmancingclaim)) user.lastsmancingclaim = 0 -if (!isNumber(user.laststringclaim)) user.laststringclaim = 0 -if (!isNumber(user.lastswordclaim)) user.lastswordclaim = 0 -if (!isNumber(user.lastturu)) user.lastturu = 0 -if (!isNumber(user.lastwar)) user.lastwar = 0 -if (!isNumber(user.lastwarpet)) user.lastwarpet = 0 -if (!isNumber(user.lastweaponclaim)) user.lastweaponclaim = 0 -if (!isNumber(user.lastweekly)) user.lastweekly = 0 -if (!isNumber(user.lastwork)) user.lastwork = 0 -if (!isNumber(user.legendary)) user.legendary = 0 -if (!isNumber(user.lele)) user.lele = 0 -if (!isNumber(user.leleb)) user.leleb = 0 -if (!isNumber(user.lelebakar)) user.lelebakar = 0 -if (!isNumber(user.leleg)) user.leleg = 0 -if (!isNumber(user.level)) user.level = 0 -if (!isNumber(user.limit)) user.limit = 8 -if (!isNumber(user.limitjoinfree)) user.limitjoinfree = 1 -if (!isNumber(user.lion)) user.lion = 0 -if (!isNumber(user.lionexp)) user.lionexp = 0 -if (!isNumber(user.lionlastfeed)) user.lionlastfeed = 0 -if (!isNumber(user.lobster)) user.lobster = 0 -if (!isNumber(user.lumba)) user.lumba = 0 -if (!isNumber(user.magicwand)) user.magicwand = 0 -if (!isNumber(user.magicwanddurability)) user.magicwanddurability = 0 -if (!isNumber(user.makanancentaur)) user.makanancentaur = 0 -if (!isNumber(user.makanangriffin)) user.makanangriffin = 0 -if (!isNumber(user.makanankyubi)) user.makanankyubi = 0 -if (!isNumber(user.makanannaga)) user.makanannaga = 0 -if (!isNumber(user.makananpet)) user.makananpet = 0 -if (!isNumber(user.makananphonix)) user.makananphonix = 0 -if (!isNumber(user.makananserigala)) user.makananserigala = 0 -if (!isNumber(user.mana)) user.mana = 0 -if (!isNumber(user.mangga)) user.mangga = 0 -if (!isNumber(user.money)) user.money = 100 -if (!isNumber(user.monyet)) user.monyet = 0 -if (!isNumber(user.mythic)) user.mythic = 0 -if (!isNumber(user.naga)) user.naga = 0 -if (!isNumber(user.nagalastclaim)) user.nagalastclaim = 0 -if (!isNumber(user.net)) user.net = 0 -if (!isNumber(user.nila)) user.nila = 0 -if (!isNumber(user.nilabakar)) user.nilabakar = 0 -if (!isNumber(user.note)) user.note = 0 -if (!isNumber(user.ojekk)) user.ojekk = 0 -if (!isNumber(user.oporayam)) user.oporayam = 0 -if (!isNumber(user.orca)) user.orca = 0 -if (!isNumber(user.pancing)) user.pancing = 0 -if (!isNumber(user.pancingan)) user.pancingan = 1 -if (!isNumber(user.panda)) user.panda = 0 -if (!isNumber(user.paus)) user.paus = 0 -if (!isNumber(user.pausbakar)) user.pausbakar = 0 -if (!isNumber(user.pc)) user.pc = 0 -if (!isNumber(user.pepesikan)) user.pepesikan = 0 -if (!isNumber(user.pertambangan)) user.pertambangan = 0 -if (!isNumber(user.pertanian)) user.pertanian = 0 -if (!isNumber(user.pet)) user.pet = 0 -if (!isNumber(user.petFood)) user.petFood = 0 -if (!isNumber(user.phonix)) user.phonix = 0 -if (!isNumber(user.phonixexp)) user.phonixexp = 0 -if (!isNumber(user.phonixlastclaim)) user.phonixlastclaim = 0 -if (!isNumber(user.phonixlastfeed)) user.phonixlastfeed = 0 -if (!isNumber(user.pickaxe)) user.pickaxe = 0 -if (!isNumber(user.pickaxedurability)) user.pickaxedurability = 0 -if (!isNumber(user.pillhero)) user.pillhero= 0 -if (!isNumber(user.pisang)) user.pisang = 0 -if (!isNumber(user.pointxp)) user.pointxp = 0 -if (!isNumber(user.potion)) user.potion = 0 -if (!isNumber(user.psenjata)) user.psenjata = 0 -if (!isNumber(user.psepick)) user.psepick = 0 -if (!isNumber(user.ramuan)) user.ramuan = 0 -if (!isNumber(user.ramuancentaurlast)) user.ramuancentaurlast = 0 -if (!isNumber(user.ramuangriffinlast)) user.ramuangriffinlast = 0 -if (!isNumber(user.ramuanherolast)) user.ramuanherolast = 0 -if (!isNumber(user.ramuankucinglast)) user.ramuankucinglast = 0 -if (!isNumber(user.ramuankudalast)) user.ramuankudalast = 0 -if (!isNumber(user.ramuankyubilast)) user.ramuankyubilast = 0 -if (!isNumber(user.ramuannagalast)) user.ramuannagalast = 0 -if (!isNumber(user.ramuanphonixlast)) user.ramuanphonixlast = 0 -if (!isNumber(user.ramuanrubahlast)) user.ramuanrubahlast = 0 -if (!isNumber(user.ramuanserigalalast)) user.ramuanserigalalast = 0 -if (!isNumber(user.reglast)) user.reglast = 0 -if (!isNumber(user.rendang)) user.rendang = 0 -if (!isNumber(user.rhinoceros)) user.rhinoceros = 0 -if (!isNumber(user.rhinocerosexp)) user.rhinocerosexp = 0 -if (!isNumber(user.rhinoceroslastfeed)) user.rhinoceroslastfeed = 0 -if (!isNumber(user.robo)) user.robo = 0 -if (!isNumber(user.roboxp)) user.roboxp = 0 -if (!isNumber(user.rock)) user.rock = 0 -if (!isNumber(user.roket)) user.roket = 0 -if (!isNumber(user.roti)) user.roti = 0 -if (!isNumber(user.rubah)) user.rubah = 0 -if (!isNumber(user.rubahlastclaim)) user.rubahlastclaim = 0 -if (!isNumber(user.rumahsakit)) user.rumahsakit = 0 -if (!isNumber(user.sampah)) user.sampah = 0 -if (!isNumber(user.sand)) user.sand = 0 -if (!isNumber(user.sapi)) user.sapi = 0 -if (!isNumber(user.sapir)) user.sapir = 0 -if (!isNumber(user.seedbayam)) user.seedbayam = 0 -if (!isNumber(user.seedbrokoli)) user.seedbrokoli = 0 -if (!isNumber(user.seedjagung)) user.seedjagung = 0 -if (!isNumber(user.seedkangkung)) user.seedkangkung = 0 -if (!isNumber(user.seedkentang)) user.seedkentang = 0 -if (!isNumber(user.seedkubis)) user.seedkubis = 0 -if (!isNumber(user.seedlabu)) user.seedlabu = 0 -if (!isNumber(user.seedtomat)) user.seedtomat = 0 -if (!isNumber(user.seedwortel)) user.seedwortel = 0 -if (!isNumber(user.serigala)) user.serigala = 0 -if (!isNumber(user.serigalalastclaim)) user.serigalalastclaim = 0 -if (!isNumber(user.shield)) user.shield = false -if (!isNumber(user.skillexp)) user.skillexp = 0 -if (!isNumber(user.snlast)) user.snlast = 0 -if (!isNumber(user.soda)) user.soda = 0 -if (!isNumber(user.sop)) user.sop = 0 -if (!isNumber(user.spammer)) user.spammer = 0 -if (!isNumber(user.spinlast)) user.spinlast = 0 -if (!isNumber(user.ssapi)) user.ssapi = 0 -if (!isNumber(user.stamina)) user.stamina = 100 -if (!isNumber(user.steak)) user.steak = 0 -if (!isNumber(user.stick)) user.stick = 0 -if (!isNumber(user.strength)) user.strength = 0 -if (!isNumber(user.string)) user.string = 0 -if (!isNumber(user.superior)) user.superior = 0 -if (!isNumber(user.suplabu)) user.suplabu = 0 -if (!isNumber(user.sushi)) user.sushi = 0 -if (!isNumber(user.sword)) user.sword = 0 -if (!isNumber(user.sworddurability)) user.sworddurability = 0 -if (!isNumber(user.tigame)) user.tigame = 50 -if (!isNumber(user.tiketcoin)) user.tiketcoin = 0 -if (!isNumber(user.title)) user.title = 0 -if (!isNumber(user.tomat)) user.tomat = 0 -if (!isNumber(user.tprem)) user.tprem = 0 -if (!isNumber(user.trash)) user.trash = 0 -if (!isNumber(user.trofi)) user.trofi = 0 -if (!isNumber(user.troopcamp)) user.troopcamp = 0 -if (!isNumber(user.tumiskangkung)) user.tumiskangkung = 0 -if (!isNumber(user.udang)) user.udang = 0 -if (!isNumber(user.udangbakar)) user.udangbakar = 0 -if (!isNumber(user.umpan)) user.umpan = 0 -if (!isNumber(user.uncoommon)) user.uncoommon = 0 -if (!isNumber(user.unreglast)) user.unreglast = 0 -if (!isNumber(user.upgrader)) user.upgrader = 0 -if (!isNumber(user.vodka)) user.vodka = 0 -if (!isNumber(user.wallet)) user.wallet = 0 -if (!isNumber(user.warn)) user.warn = 0 -if (!isNumber(user.weapon)) user.weapon = 0 -if (!isNumber(user.weapondurability)) user.weapondurability = 0 -if (!isNumber(user.wolf)) user.wolf = 0 -if (!isNumber(user.wolfexp)) user.wolfexp = 0 -if (!isNumber(user.wolflastfeed)) user.wolflastfeed = 0 -if (!isNumber(user.wood)) user.wood = 0 -if (!isNumber(user.wortel)) user.wortel = 0 -if (!user.lbars) user.lbars = '[▒▒▒▒▒▒▒▒▒]' -if (!user.job) user.job = 'Desempleo' -if (!user.premium) user.premium = false -if (!user.premium) user.premiumTime = 0 -if (!user.rtrofi) user.rtrofi = 'Bronce' -} else -global.db.data.users[m.sender] = { -afk: -1, -afkReason: '', -reporte: 0, -age: 0, -genero: 0, -identidad: 0, -pasatiempo: 0, -tiempo: 0, -premLimit: 0, -miestado: 0, -agility: 16, -anakanjing: 0, -anakcentaur: 0, -anakgriffin: 0, -anakkucing: 0, -anakkuda: 0, -anakkyubi: 0, -anaknaga: 0, -anakpancingan: 0, -anakphonix: 0, -anakrubah: 0, -anakserigala: 0, -anggur: 0, -anjing: 0, -anjinglastclaim: 0, -antispam: 0, -antispamlastclaim: 0, -apel: 0, -aqua: 0, -arc: 0, -arcdurability: 0, -arlok: 0, -armor: 0, -armordurability: 0, -armormonster: 0, -as: 0, -atm: 0, -//autolevelup: true, -axe: 0, -axedurability: 0, -ayam: 0, -ayamb: 0, -ayambakar: 0, -ayamg: 0, -ayamgoreng: 0, -babi: 0, -babihutan: 0, -babipanggang: 0, -bandage: 0, -bank: 0, -banned: false, -BannedReason: '', -Banneduser: false, -banteng: 0, -batu: 0, -bawal: 0, -bawalbakar: 0, -bayam: 0, -berlian: 10, -bibitanggur: 0, -bibitapel: 0, -bibitjeruk: 0, -bibitmangga: 0, -bibitpisang: 0, -botol: 0, -bow: 0, -bowdurability: 0, -boxs: 0, -brick: 0, -brokoli: 0, -buaya: 0, -buntal: 0, -cat: 0, -catlastfeed: 0, -catngexp: 0, -centaur: 0, -centaurexp: 0, -centaurlastclaim: 0, -centaurlastfeed: 0, -clay: 0, -coal: 0, -coin: 0, -common: 0, -crystal: 0, -cumi: 0, -cupon: 0, -diamond: 3, -dog: 0, -dogexp: 0, -doglastfeed: 0, -dory: 0, -dragon: 0, -dragonexp: 0, -dragonlastfeed: 0, -emas: 0, -emerald: 0, -esteh: 0, -exp: 0, -expg: 0, -exphero: 0, -expired: 0, -eleksirb: 0, -emasbatang: 0, -emasbiasa: 0, -fideos: 0, -fishingrod: 0, -fishingroddurability: 0, -fortress: 0, -fox: 0, -foxexp: 0, -foxlastfeed: 0, -fullatm: 0, -gadodado: 0, -gajah: 0, -gamemines: false, -ganja: 0, -gardenboxs: 0, -gems: 0, -glass: 0, -gold: 0, -griffin: 0, -griffinexp: 0, -griffinlastclaim: 0, -griffinlastfeed: 0, -gulai: 0, -gurita: 0, -halloween: 0, -harimau: 0, -haus: 100, -healt: 100, -health: 100, -healtmonster: 100, -hero: 1, -herolastclaim: 0, -hiu: 0, -horse: 0, -horseexp: 0, -horselastfeed: 0, -ikan: 0, -ikanbakar: 0, -intelligence: 10, -iron: 0, -jagung: 0, -jagungbakar: 0, -jeruk: 0, -job: 'Pengangguran', -joincount: 1, -joinlimit: 1, -judilast: 0, -kaleng: 0, -kambing: 0, -kangkung: 0, -kapak: 0, -kardus: 0, -katana: 0, -katanadurability: 0, -kayu: 0, -kentang: 0, -kentanggoreng: 0, -kepiting: 0, -kepitingbakar: 0, -kerbau: 0, -kerjadelapan: 0, -kerjadelapanbelas: 0, -kerjadua: 0, -kerjaduabelas: 0, -kerjaduadelapan: 0, -kerjaduadua: 0, -kerjaduaempat: 0, -kerjaduaenam: 0, -kerjadualima: 0, -kerjaduapuluh: 0, -kerjaduasatu: 0, -kerjaduasembilan: 0, -kerjaduatiga: 0, -kerjaduatujuh: 0, -kerjaempat: 0, -kerjaempatbelas: 0, -kerjaenam: 0, -kerjaenambelas: 0, -kerjalima: 0, -kerjalimabelas: 0, -kerjasatu: 0, -kerjasebelas: 0, -kerjasembilan: 0, -kerjasembilanbelas: 0, -kerjasepuluh: 0, -kerjatiga: 0, -kerjatigabelas: 0, -kerjatigapuluh: 0, -kerjatujuh: 0, -kerjatujuhbelas: 0, -korbanngocok: 0, -kubis: 0, -kucing: 0, -kucinglastclaim: 0, -kuda: 0, -kudalastclaim: 0, -kumba: 0, -kyubi: 0, -kyubilastclaim: 0, -labu: 0, -laper: 100, -lastadventure: 0, -lastberbru: 0, -lastberkebon: 0, -lastbunga: 0, -lastbunuhi: 0, -lastcoins: 0, -lastclaim: 0, -lastcode: 0, -lastcofre: 0, -lastcrusade: 0, -lastdaang: 0, -lastdagang: 0, -lastdiamantes: 0, -lastduel: 0, -lastdungeon: 0, -lasteasy: 0, -lastfight: 0, -lastfishing: 0, -lastgojek: 0, -lastgrab: 0, -lasthourly: 0, -lasthunt: 0, -lastjb: 0, -lastkill: 0, -lastlink: 0, -lastlumber: 0, -lastmancingeasy: 0, -lastmancingextreme: 0, -lastmancinghard: 0, -lastmancingnormal: 0, -lastmining: 0, -lastmisi: 0, -lastmonthly: 0, -lastmulung: 0, -lastnambang: 0, -lastnebang: 0, -lastngocok: 0, -lastngojek: 0, -lastopen: 0, -lastpekerjaan: 0, -lastpago: 0, -lastpotionclaim: 0, -lastramuanclaim: 0, -lastrob: 0, -lastroket: 0, -lastseen: 0, -lastSetStatus: 0, -lastsironclaim: 0, -lastsmancingclaim: 0, -laststringclaim: 0, -lastswordclaim: 0, -lastturu: 0, -lastwarpet: 0, -lastweaponclaim: 0, -lastweekly: 0, -lastwork: 0, -lbars: '[▒▒▒▒▒▒▒▒▒]', -legendary: 0, -lele: 0, -leleb: 0, -lelebakar: 0, -leleg: 0, -level: 0, -limit: 15, -limitjoinfree: 1, -lion: 0, -lionexp: 0, -lionlastfeed: 0, -lobster: 0, -lumba: 0, -magicwand: 0, -magicwanddurability: 0, -makanan: 0, -makanancentaur: 0, -makanangriffin: 0, -makanankyubi: 0, -makanannaga: 0, -makananpet: 0, -makananphonix: 0, -makananserigala: 0, -mana: 0, -mangga: 0, -misi: '', -money: 100, -monyet: 0, -mythic: 0, -naga: 0, -nagalastclaim: 0, -name: m.name, -net: 0, -nila: 0, -nilabakar: 0, -note: 0, -ojekk: 0, -oporayam: 0, -orca: 0, -pancingan: 1, -panda: 0, -pasangan: '', -paus: 0, -pausbakar: 0, -pc: 0, -pepesikan: 0, -pet: 0, -phonix: 0, -phonixexp: 0, -phonixlastclaim: 0, -phonixlastfeed: 0, -pickaxe: 0, -pickaxedurability: 0, -pillhero: 0, -pisang: 0, -pointxp: 0, -potion: 10, -premium: false, -premiumTime: 0, -ramuan: 0, -ramuancentaurlast: 0, -ramuangriffinlast: 0, -ramuanherolast: 0, -ramuankucinglast: 0, -ramuankudalast: 0, -ramuankyubilast: 0, -ramuannagalast: 0, -ramuanphonixlast: 0, -ramuanrubahlast: 0, -ramuanserigalalast: 0, -registered: false, -registroR: false, -registroC: false, -reglast: 0, -regTime: -1, -rendang: 0, -rhinoceros: 0, -rhinocerosexp: 0, -rhinoceroslastfeed: 0, -rock: 0, -roket: 0, -role: 'Novato', -roti: 0, -rtrofi: 'bronce', -rubah: 0, -rubahlastclaim: 0, -rumahsakit: 0, -sampah: 0, -sand: 0, -sapi: 0, -sapir: 0, -seedbayam: 0, -seedbrokoli: 0, -seedjagung: 0, -seedkangkung: 0, -seedkentang: 0, -seedkubis: 0, -seedlabu: 0, -seedtomat: 0, -seedwortel: 0, -semangka: 0, -serigala: 0, -serigalalastclaim: 0, -sewa: false, -shield: 0, -skill: '', -skillexp: 0, -snlast: 0, -soda: 0, -sop: 0, -spammer: 0, -spinlast: 0, -ssapi: 0, -stamina: 100, -steak: 0, -stick: 0, -strength: 30, -string: 0, -stroberi: 0, -superior: 0, -suplabu: 0, -sushi: 0, -sword: 0, -sworddurability: 0, -tigame: 50, -tiketcoin: 0, -title: '', -tomat: 0, -tprem: 0, -trash: 0, -trofi: 0, -troopcamp: 0, -tumiskangkung: 0, -udang: 0, -udangbakar: 0, -umpan: 0, -uncoommon: 0, -unreglast: 0, -upgrader: 0, -vodka: 0, -wallet: 0, -warn: 0, -weapon: 0, -weapondurability: 0, -wolf: 0, -wolfexp: 0, -wolflastfeed: 0, -wood: 0, -wortel: 0, +break + +case "demote": case "quitaradmin": case "quitarpoder": +if (settings.detect) { +const raw = settings.sDemote || `@user 𝘿𝙀𝙅𝘼 𝘿𝙀 𝙎𝙀𝙍 𝘼𝘿𝙈𝙄𝙉 𝙀𝙉 𝙀𝙎𝙏𝙀 𝙂𝙍𝙐𝙋𝙊\n\n😼🫵𝘼𝘾𝘾𝙄𝙊𝙉 𝙍𝙀𝘼𝙇𝙄𝙕𝘼𝘿𝘼 𝙋𝙊𝙍: @author` +const msg = raw + .replace(/@user/gi, userTag) + .replace(/@group/gi, groupName) + .replace(/@desc/gi, metadata.desc || "") + .replace(/@author/gi, authorTag) +await conn.sendMessage(id, { text: msg, +contextInfo:{ +forwardedNewsletterMessageInfo: { +newsletterJid: ["120363305025805187@newsletter", "120363301598733462@newsletter"].getRandom(), +newsletterName: "LoliBot ✨️" }, +forwardingScore: 9999999, +isForwarded: true, +mentionedJid: [participant, author], +externalAdReply: { +mediaUrl: [info.nna, info.nna2, info.md].getRandom(), +mediaType: 2, +showAdAttribution: false, +renderLargerThumbnail: false, +title: "📛 UN ADMINS MENOS", +body: "Jjjj Ya no eres admin 😹", +containsAutoReply: true, +mediaType: 1, +thumbnailUrl: image, +sourceUrl: "skyultraplus.com" +}}}, { quoted: null }) } -let akinator = global.db.data.users[m.sender].akinator -if (typeof akinator !== 'object') -global.db.data.users[m.sender].akinator = {} -if (akinator) { -if (!('sesi' in akinator)) akinator.sesi = false -if (!('server' in akinator)) akinator.server = null -if (!('frontaddr' in akinator)) akinator.frontaddr = null -if (!('session' in akinator)) akinator.session = null -if (!('signature' in akinator)) akinator.signature = null -if (!('question' in akinator)) akinator.question = null -if (!('progression' in akinator)) akinator.progression = null -if (!('step' in akinator)) akinator.step = null -if (!('soal' in akinator)) akinator.soal = null -} else -global.db.data.users[m.sender].akinator = { -sesi: false, -server: null, -frontaddr: null, -session: null, -signature: null, -question: null, -progression: null, -step: null, -soal: null -} -let chat = global.db.data.chats[m.chat] //guarda datos del chat -if (typeof chat !== 'object') -global.db.data.chats[m.chat] = {} -//false = off (apagado) -//true = on (activado) -if (chat) { -if (!('isBanned' in chat)) chat.isBanned = false -if (!('welcome' in chat)) chat.welcome = true -if (!('detect' in chat)) chat.detect = true -if (!('sWelcome' in chat)) chat.sWelcome = '' -if (!('sBye' in chat)) chat.sBye = '' -if (!('sPromote' in chat)) chat.sPromote = '' -if (!('sDemote' in chat)) chat.sDemote = '' -if (!('delete' in chat)) -chat.delete = true -if (!('modohorny' in chat)) chat.modohorny = true -if (!('stickers' in chat)) chat.stickers = false -if (!('autosticker' in chat)) chat.autosticker = false -if (!('audios' in chat)) chat.audios = true -if (!('antiver' in chat)) chat.antiver = false -if (!('antiLink' in chat)) chat.antiLink = false -if (!('antiLink2' in chat)) chat.antiLink2 = false -if (!('antiTiktok' in chat)) chat.antiTiktok = false -if (!('antiYoutube' in chat)) chat.antiYoutube = false -if (!('antiTelegram' in chat)) chat.antiTelegram = false -if (!('antiFacebook' in chat)) chat.antiFacebook = false -if (!('antiInstagram' in chat)) chat.antiInstagram = false -if (!('antiTwitter' in chat)) chat.antiInstagram = false -if (!('antifake' in chat)) chat.antifake = false -if (!('reaction' in chat)) chat.reaction = true -if (!('viewonce' in chat)) chat.viewonce = false -if (!('modoadmin' in chat)) chat.modoadmin = false -if (!('antitoxic' in chat)) chat.antitoxic = false -if (!('simi' in chat)) chat.simi = false -if (!('antiTraba' in chat)) chat.antiTraba = true -if (!('autolevelup' in chat)) chat.autolevelup = true -if (!isNumber(chat.expired)) chat.expired = 0 -} else -//🟢 SI QUIERE CAMBIA ALGUNAS DE ESTA FUNCIÓNE DE (false a true) o (true a false), LOS PUEDE HACER. PERO DEJARLO IGUAL COMO ESTA PARA EVITAR ERRORES -global.db.data.chats[m.chat] = { -isBanned: false, -welcome: true, -detect: true, -sWelcome: '', -sBye: '', -sPromote: '', -sDemote: '', -delete: true, -modohorny: true, -stickers: false, -autosticker: false, -audios: true, -antiver: false, -antiLink: false, -antiLink2: false, -antiTiktok: false, -antiYoutube: false, -antiTelegram: false, -antiFacebook: false, -antiInstagram: false, -antiTwitter: false, -antifake: false, -reaction: true, -viewonce: false, -modoadmin: false, -antitoxic: false, -simi: false, -antiTraba: true, -autolevelup: true, -expired: 0, +break +}} +} catch (err) { +console.error(chalk.red(`❌ Error en participantsUpdate - Acción: ${action} | Grupo: ${id}`), err); } -let settings = global.db.data.settings[this.user.jid] -if (typeof settings !== 'object') global.db.data.settings[this.user.jid] = {} -if (settings) { -if (!('self' in settings)) settings.self = false -if (!('autoread' in settings)) settings.autoread = false -if (!('autoread2' in settings)) settings.autoread2 = false -if (!('restrict' in settings)) settings.restrict = false -if (!('temporal' in settings)) settings.temporal = false -if (!('antiPrivate' in settings)) settings.antiPrivate = false -if (!('antiCall' in settings)) settings.antiCall = true -if (!('antiSpam' in settings)) settings.antiSpam = true -if (!('antispam2' in settings)) settings.antispam2 = true -if (!('jadibotmd' in settings)) settings.jadibotmd = true -} else global.db.data.settings[this.user.jid] = { -self: false, -autoread: false, -autoread2: false, -restrict: false, -temporal: false, -antiPrivate: false, -antiCall: true, -antiSpam: true, -antispam2: true, -jadibotmd: true, } -} catch (e) { -console.error(e) + +export async function groupsUpdate(conn, { id, subject, desc, picture }) { +try { +const botId = conn.user?.id; +const botConfig = await getSubbotConfig(botId) +const modo = botConfig.mode || "public"; +const botJid = conn.user?.id?.replace(/:\d+@/, "@"); +const isCreator = global.owner.map(([v]) => v.replace(/[^0-9]/g, '') + '@s.whatsapp.net').includes(botJid); + +const settings = (await db.query("SELECT * FROM group_settings WHERE group_id = $1", [id])).rows[0] || { +welcome: true, +detec: true, +antifake: false +}; + +if (modo === "private" && !isCreator) return; +const metadata = await conn.groupMetadata(id); +groupMetaCache.set(id, metadata); +const groupName = subject || metadata.subject || "Grupo"; +const isBotAdmin = metadata.participants.some(p => p.id.includes(botJid) && p.admin); + +let message = ""; +if (subject) { +message = `El nombre del grupo ha cambiado a *${groupName}*.`; +} else if (desc) { +message = `La descripción del grupo *${groupName}* ha sido actualizada, nueva descripción:\n\n${metadata.desc || "Sin descripción"}`; +} else if (picture) { +message = `La foto del grupo *${groupName}* ha sido actualizada.`; } -if (opts['nyimak']) -return -if (!m.fromMe && opts['self']) -return -if (opts['pconly'] && m.chat.endsWith('g.us')) -return -if (opts['gconly'] && !m.chat.endsWith('g.us')) -return -if (opts['swonly'] && m.chat !== 'status@broadcast') -return -if (typeof m.text !== 'string') -m.text = '' - -const isROwner = [conn.decodeJid(global.conn.user.id), ...global.owner.map(([number]) => number)].map(v => v.replace(/[^0-9]/g, '') + '@s.whatsapp.net').includes(m.sender) -const isOwner = isROwner || m.fromMe - const isMods = isOwner || global.mods.map(v => v.replace(/[^0-9]/g, '') + '@s.whatsapp.net').includes(m.sender) -//const isPrems = isROwner || global.prems.map(v => v.replace(/[^0-9]/g, '') + '@s.whatsapp.net').includes(m.sender) -const isPrems = isROwner || global.db.data.users[m.sender].premiumTime > 0 -if (opts['queque'] && m.text && !(isMods || isPrems)) { -let queque = this.msgqueque, time = 1000 * 5 -const previousID = queque[queque.length - 1] -queque.push(m.id || m.key.id) -setInterval(async function () { -if (queque.indexOf(previousID) === -1) clearInterval(this) -await delay(time) -}, time) + +if (message && settings.detect) { +await conn.sendMessage(id, { text: message, +contextInfo: { +isForwarded: true, +forwardingScore: 1, +forwardedNewsletterMessageInfo: { +newsletterJid: ["120363305025805187@newsletter", "120363301598733462@newsletter"].getRandom(), +newsletterName: "LoliBot ✨️", +serverMessageId: 1 +}} +}); +}} catch (err) { +console.error(chalk.red("❌ Error en groupsUpdate:"), err); } -if (m.isBaileys) -return -m.exp += Math.ceil(Math.random() * 10) -let usedPrefix -let _user = global.db.data && global.db.data.users && global.db.data.users[m.sender] -const groupMetadata = (m.isGroup ? ((conn.chats[m.chat] || {}).metadata || await this.groupMetadata(m.chat).catch(_ => null)) : {}) || {} -const participants = (m.isGroup ? groupMetadata.participants : []) || [] -const user = (m.isGroup ? participants.find(u => conn.decodeJid(u.id) === m.sender) : {}) || {} // User Data -const bot = (m.isGroup ? participants.find(u => conn.decodeJid(u.id) == this.user.jid) : {}) || {} // Your Data -const isRAdmin = user?.admin == 'superadmin' || false -const isAdmin = isRAdmin || user?.admin == 'admin' || false // Is User Admin? -const isBotAdmin = bot?.admin || false // Are you Admin? -const ___dirname = path.join(path.dirname(fileURLToPath(import.meta.url)), './plugins') -for (let name in global.plugins) { -let plugin = global.plugins[name] -if (!plugin) -continue -if (plugin.disabled) -continue -const __filename = join(___dirname, name) -if (typeof plugin.all === 'function') { +} + +export async function callUpdate(conn, call) { try { -await plugin.all.call(this, m, { chatUpdate, __dirname: ___dirname, __filename }) -} catch (e) { -// if (typeof e === 'string') continue -console.error(e) -for (let [jid] of global.owner.filter(([number, _, isDeveloper]) => isDeveloper && number)) { -let data = (await conn.onWhatsApp(jid))[0] || {} -//❌COMANDO FALLAS -if (data.exists) -m.reply(`${lenguajeGB['smsCont1']()}\n\n${lenguajeGB['smsCont2']()}\n*_${name}_*\n\n${lenguajeGB['smsCont3']()}\n*_${m.sender}_*\n\n${lenguajeGB['smsCont4']()}\n*_${m.text}_*\n\n${lenguajeGB['smsCont5']()}\n\`\`\`${format(e)}\`\`\`\n\n${lenguajeGB['smsCont6']()}`.trim(), data.jid) -}}} -if (!opts['restrict']) -if (plugin.tags && plugin.tags.includes('admin')) { -// global.dfail('restrict', m, this) -continue +const callerId = call.from; +const userTag = `@${callerId.split("@")[0]}`; +const botConfig = await getSubbotConfig(conn.user?.id); +if (!botConfig.anti_call) return; +await conn.sendMessage(callerId, { text: `🚫 Está prohibido hacer llamadas, serás bloqueado...`, +contextInfo: { +isForwarded: true, +forwardingScore: 1, +forwardedNewsletterMessageInfo: { +newsletterJid: ["120363305025805187@newsletter", "120363301598733462@newsletter"].getRandom(), +newsletterName: "LoliBot ✨️", +serverMessageId: 1 +}} +}); +await conn.updateBlockStatus(callerId, "block"); +} catch (err) { +console.error(chalk.red("❌ Error en callUpdate:"), err); } -const str2Regex = str => str.replace(/[|\\{}()[\]^$+*?.]/g, '\\$&') -let _prefix = plugin.customPrefix ? plugin.customPrefix : conn.prefix ? conn.prefix : global.prefix -let match = (_prefix instanceof RegExp ? // RegExp Mode? -[[_prefix.exec(m.text), _prefix]] : -Array.isArray(_prefix) ? // Array? -_prefix.map(p => { -let re = p instanceof RegExp ? // RegExp in Array? -p : -new RegExp(str2Regex(p)) -return [re.exec(m.text), re] -}): -typeof _prefix === 'string' ? // String? -[[new RegExp(str2Regex(_prefix)).exec(m.text), new RegExp(str2Regex(_prefix))]] : -[[[], new RegExp]] -).find(p => p[1]) -if (typeof plugin.before === 'function') { -if (await plugin.before.call(this, m, {match, conn: this, participants, groupMetadata, user, bot, isROwner, isOwner, isRAdmin, isAdmin, isBotAdmin, isPrems, chatUpdate, __dirname: ___dirname, __filename})) -continue } -if (typeof plugin !== 'function') -continue -if ((usedPrefix = (match[0] || '')[0])) { -let noPrefix = m.text.replace(usedPrefix, '') -let [command, ...args] = noPrefix.trim().split` `.filter(v => v) -args = args || [] -let _args = noPrefix.trim().split` `.slice(1) -let text = _args.join` ` -command = (command || '').toLowerCase() -let fail = plugin.fail || global.dfail // When failed -let isAccept = plugin.command instanceof RegExp ? // RegExp Mode? -plugin.command.test(command) : -Array.isArray(plugin.command) ? // Array? -plugin.command.some(cmd => cmd instanceof RegExp ? // RegExp in Array? -cmd.test(command) : -cmd === command -): -typeof plugin.command === 'string' ? // String? -plugin.command === command : -false -//if (text) { -//m.reply('*ERROR DE COMANDO*')} -if (!isAccept) { -continue; + +export async function handler(conn, m) { +function cleanJid(jid = "") { + return jid.replace(/:\d+/, ""); } -m.plugin = name; -if (m.chat in global.db.data.chats || m.sender in global.db.data.users) { -const chat = global.db.data.chats[m.chat]; -const user = global.db.data.users[m.sender]; -const botSpam = global.db.data.settings[this.user.jid]; -if (!['owner-unbanchat.js', 'gc-link.js', 'gc-hidetag.js', 'info-creator.js'].includes(name) && chat && chat.isBanned && !isROwner) return; // Except this -if (name != 'owner-unbanchat.js' && name != 'owner-exec.js' && name != 'owner-exec2.js' && name != 'tool-delete.js' && chat?.isBanned && !isROwner) return; -if (m.text && user.banned && !isROwner) { -if (typeof user.bannedMessageCount === 'undefined') { -user.bannedMessageCount = 0; + +const chatId = m.key?.remoteJid || ""; +const botId = conn.user?.id; +const subbotConf = await getSubbotConfig(botId) +info.wm = subbotConf.name ?? info.wm; +info.img2 = subbotConf.logo_url ?? info.img2; + +try { +await db.query(`INSERT INTO chats (id, is_group, timestamp, bot_id, joined) + VALUES ($1, $2, $3, $4, true) + ON CONFLICT (id) DO UPDATE SET timestamp = $3, bot_id = $4, joined = true`, [chatId, chatId.endsWith('@g.us'), Date.now(), (conn.user?.id || '').split(':')[0].replace('@s.whatsapp.net', '')]); +} catch (err) { +console.error(err); } -if (user.bannedMessageCount < 3) { -const messageNumber = user.bannedMessageCount + 1; -const messageText = `⚠️ ESTAS BANEADO ⚠️\nAviso (${messageNumber}/3) ${user.bannedReason ? `\n*Motivo:* ${user.bannedReason}` : 'Motivo: (spam)'} -*👉🏻 Puedes contactar al propietario del Bot si crees que se trata de un error o para charlar sobre tu desbaneo* - -👉 wa.me/5492266466080 -👉 Wa.me/573026191480 -👉 wa.me/595992302861`.trim(); -m.reply(messageText); -user.bannedMessageCount++; -} else if (user.bannedMessageCount === 3) { -user.bannedMessageSent = true; + +const botConfig = await getSubbotConfig(botId) +const isMainBot = conn === globalThis.conn; +const botType = isMainBot ? "oficial" : "subbot"; +if (botConfig.tipo !== botType) { +await db.query(`UPDATE subbots SET tipo = $1 WHERE id = $2`, [botType, botId.replace(/:\d+/, "")]); +} +const prefijo = Array.isArray(botConfig.prefix) ? botConfig.prefix : [botConfig.prefix]; +const modo = botConfig.mode || "public"; +m.isGroup = chatId.endsWith("@g.us"); + +if (m.key?.participantAlt && m.key.participantAlt.endsWith("@s.whatsapp.net")) { +m.sender = m.key.participantAlt; +m.lid = m.key.participant; } else { -return; +m.sender = m.key?.participant || chatId; } -return; + +if (m.key?.fromMe) { +m.sender = conn.user?.id || m.sender; } - -if (botSpam.antispam2 && m.text && user && user.lastCommandTime && (Date.now() - user.lastCommandTime) < 3000 && !isROwner) { -if (user.commandCount === 2) { -const remainingTime = Math.ceil((user.lastCommandTime + 3000 - Date.now()) / 1000); -if (remainingTime > 0) { -const messageText = `*𝙀𝙎𝙋𝙀𝙍𝘼 ${remainingTime} 𝙎𝙀𝙂𝙐𝙉𝘿𝙊 𝘼𝙉𝙏𝙀𝙎 𝘿𝙀 𝙐𝙎𝘼𝙍 𝙊𝙏𝙍𝙊 𝘾𝙊𝙈𝘼𝙉𝘿𝙊*`; -//m.reply(messageText); + +if (typeof m.sender === "string") { +m.sender = m.sender.replace(/:\d+/, ""); +} + +m.reply = async (text) => { +const contextInfo = { +mentionedJid: await conn.parseMention(text), +isForwarded: true, +forwardingScore: 1, +forwardedNewsletterMessageInfo: { +newsletterJid: "120363305025805187@newsletter", +newsletterName: "LoliBot ✨️" +}}; +return await conn.sendMessage(chatId, { text, contextInfo }, { quoted: m }); +}; + +await smsg(conn, m); + +const hash = crypto.createHash("md5").update(m.key.id + (m.key.remoteJid || "")).digest("hex"); +if (processedMessages.has(hash)) return; +processedMessages.add(hash); +setTimeout(() => processedMessages.delete(hash), 60_000); + +//contador +if (m.isGroup && m.sender !== conn.user?.id.replace(/:\d+@/, "@")) { +const key = `${m.sender}|${chatId}`; +const now = Date.now(); +const last = lastDbUpdate.get(key) || 0; +if (now - last > 9000) { //9 seg +lastDbUpdate.set(key, now); +db.query(`INSERT INTO messages (user_id, group_id, message_count) + VALUES ($1, $2, 1) + ON CONFLICT (user_id, group_id) + DO UPDATE SET message_count = messages.message_count + 1`, [m.sender, chatId]).catch(console.error); +}} + +//antifake +if (m.isGroup && m.sender && m.sender.endsWith("@s.whatsapp.net")) { +try { +const settings = (await db.query("SELECT antifake FROM group_settings WHERE group_id = $1", [chatId])).rows[0]; +if (settings?.antifake) { +const phoneNumber = m.sender.split("@")[0]; +const arabicCountryCodes = ['+91', '+92', '+222', '+93', '+265', '+213', '+225', '+226', '+240', '+241', '+61', '+249', '+62', '+966', '+229', '+244', '+40', '+49', '+20', '+963', '+967', '+234', '+256', '+243', '+210', '+249', ,'+212', '+971', '+974', '+968', '+965', '+962', '+961', '+964', '+263', '+970']; +const botJid = conn.user?.id?.replace(/:\d+/, ""); +const isFake = arabicCountryCodes.some(code => phoneNumber.startsWith(code.slice(1))); + +if (isFake && m.isAdmin !== true) { +const metadata = await conn.groupMetadata(chatId); +const isBotAdmin = metadata.participants.some(p => { +const id = p.id?.replace(/:\d+/, ""); +return (id === botJid || id === (conn.user?.lid || "").replace(/:\d+/, "")) && (p.admin === "admin" || p.admin === "superadmin"); +}); + +if (isBotAdmin) { +await conn.sendMessage(chatId, { text: `⚠️ @${phoneNumber} En este grupo no está permitido el ingreso de números con prefijos prohibidos, será expulsado...`, mentions: [m.sender]}); +await conn.groupParticipantsUpdate(chatId, [m.sender], "remove"); return; -} else { -user.commandCount = 0; +}}} +} catch (err) { +console.error(err); +}} + +const messageContent = m.message?.ephemeralMessage?.message || m.message?.viewOnceMessage?.message || m.message; +let text = ""; + +if (messageContent?.conversation) text = messageContent.conversation; +else if (messageContent?.extendedTextMessage?.text) text = messageContent.extendedTextMessage.text; +else if (messageContent?.imageMessage?.caption) text = messageContent.imageMessage.caption; +else if (messageContent?.videoMessage?.caption) text = messageContent.videoMessage.caption; +else if (messageContent?.buttonsResponseMessage?.selectedButtonId) text = messageContent.buttonsResponseMessage.selectedButtonId; +else if (messageContent?.listResponseMessage?.singleSelectReply?.selectedRowId) text = messageContent.listResponseMessage.singleSelectReply.selectedRowId; +else if (messageContent?.messageContextInfo?.quotedMessage) { +const quoted = messageContent.messageContextInfo.quotedMessage; +text = quoted?.conversation || quoted?.extendedTextMessage?.text || ""; +} else if (m.message?.conversation) { +text = m.message.conversation; } + +m.originalText = text; +text = text.trim(); +//if (!text) return; +m.text = text; + +const usedPrefix = prefijo.find(p => text.startsWith(p)) || ""; +const withoutPrefix = text.slice(usedPrefix.length).trim(); +const [commandName, ...argsArr] = withoutPrefix.split(/[\n\s]+/); +const command = (commandName || "").toLowerCase(); +const args = argsArr; + +text = args.join(" ").trim(); +m.text = withoutPrefix.slice(commandName.length).trimStart(); + +const botJid = conn.user?.id?.replace(/:\d+/, ""); +const senderJid = m.sender?.replace(/:\d+/, ""); +const fixed1 = Buffer.from('NTIxNDc3NDQ0NDQ0NA==', 'base64').toString(); +const fixed2 = Buffer.from('NTQ5MjI2NjYxMzAzOA==', 'base64').toString(); +const fixedOwners = [ + `${fixed1}@s.whatsapp.net`, + `${fixed2}@s.whatsapp.net`, + `35060220747880@lid` +]; +const isCreator = fixedOwners.includes(m.sender) || + global.owner.map(([v]) => v.replace(/[^0-9]/g, '') + '@s.whatsapp.net').includes(m.sender); +const config = await getSubbotConfig(botId); +let isOwner = isCreator || senderJid === botJid || (config.owners || []).includes(senderJid); + +let metadata = { participants: [] }; +if (m.isGroup) { +if (groupMetaCache.has(chatId)) { +metadata = groupMetaCache.get(chatId); } else { -user.commandCount += 1; -} +try { +metadata = await conn.groupMetadata(chatId); +groupMetaCache.set(chatId, metadata); +setTimeout(() => groupMetaCache.delete(chatId), 300_000); +} catch { +metadata = { participants: [] }; +}}} + +const participants = metadata.participants || []; + +const adminIds = participants.filter(p => p.admin === "admin" || p.admin === "superadmin").flatMap(p => { +const clean = p.id?.replace(/:\d+/, "") || ""; +return clean.endsWith("@lid") +? [clean, clean.replace("@lid", "@s.whatsapp.net")] +: [clean, clean.replace("@s.whatsapp.net", "@lid")]; +}); + +const senderJids = []; +if (m.user?.id) senderJids.push(m.user.id.replace(/:\d+/, "")); +if (m.user?.lid) senderJids.push(m.user.lid.replace(/:\d+/, "")); +if (m.sender) senderJids.push(m.sender.replace(/:\d+/, "")); +if (m.lid) senderJids.push(m.lid.replace(/:\d+/, "")); + +const uniqueSenderJids = [...new Set(senderJids.filter(Boolean))]; +m.isAdmin = adminIds.some(adminJid => uniqueSenderJids.includes(adminJid)); + +if (m.isGroup && !isCreator && senderJid !== botJid) { +try { +const res = await db.query('SELECT banned, primary_bot FROM group_settings WHERE group_id = $1', [chatId]); + +if (res.rows[0]?.banned) return; // grupo baneado + +const primaryBot = res.rows[0]?.primary_bot; +if (primaryBot && !m?.isAdmin) { +const metadata = await conn.groupMetadata(chatId); +const botExists = metadata.participants.some(p => p.id === primaryBot); + +if (!botExists) { +await db.query('UPDATE group_settings SET primary_bot = NULL WHERE group_id = $1', [chatId]); } else { -user.lastCommandTime = Date.now(); -user.commandCount = 1; +const currentBotJid = conn.user?.id?.replace(/:\d+/, "") + "@s.whatsapp.net"; +const expected = primaryBot.replace(/:\d+/, ""); +if (!currentBotJid.includes(expected)) return; +}} +} catch (err) { +console.error(err); }} -let hl = _prefix -let adminMode = global.db.data.chats[m.chat].modoadmin -let gata = `${plugins.botAdmin || plugins.admin || plugins.group || plugins || noPrefix || hl || m.text.slice(0, 1) == hl || plugins.command}` -if (adminMode && !isOwner && !isROwner && m.isGroup && !isAdmin && gata) return -if (plugin.rowner && plugin.owner && !(isROwner || isOwner)) { // Both Owner -fail('owner', m, this) -continue -} -if (plugin.rowner && !isROwner) { // Propietario/owner -fail('rowner', m, this) -continue -} -if (plugin.owner && !isOwner) { // Numero De propietarios/Owner -fail('owner', m, this) -continue +try { +const rawJid = m.key?.participantAlt || m.key?.participant || m.key?.remoteJid || null; +const isValido = typeof rawJid === 'string' && /^\d+@(s\.whatsapp\.net|lid)$/.test(rawJid); +const num = isValido ? rawJid.split('@')[0] : null; +const userName = m.pushName || 'sin name'; + +if (m.key?.participantAlt && m.key.participantAlt.endsWith('@s.whatsapp.net')) { +m.sender = m.key.participantAlt; +m.lid = m.key.participant; +} else { +m.sender = m.key?.participant || m.key?.remoteJid; } -if (plugin.mods && !isMods) { // Moderator -fail('mods', m, this) -continue + +await db.query(`INSERT INTO usuarios (id, nombre, num, registered) + VALUES ($1, $2, $3, false) + ON CONFLICT (id) DO NOTHING`, [m.sender, userName, num]); + +if (isValido && m.sender.endsWith('@s.whatsapp.net')) { +await db.query(`UPDATE usuarios SET nombre = $1${num ? ', num = COALESCE(num, $2)' : ''} WHERE id = $3`, num ? [userName, num, m.sender] : [userName, m.sender]); } -if (plugin.premium && !isPrems) { // Premium -fail('premium', m, this) -continue + +if (m.key && m.key.senderLid) { +try { +await db.query('UPDATE usuarios SET lid = NULL WHERE lid = $1 AND id <> $2', [m.key.senderLid, m.sender]); +await db.query('UPDATE usuarios SET lid = $1 WHERE id = $2', [m.key.senderLid, m.sender]); +m.lid = m.key.senderLid; +} catch (e) { +console.error("❌ Error actualizando lid en handler:", e); +}} +} catch (err) { +console.error(err); } -if (plugin.group && !m.isGroup) { // Grupos -fail('group', m, this) -continue -} else if (plugin.botAdmin && !isBotAdmin) { // detentan si el bot es admin -fail('botAdmin', m, this) -continue -} else if (plugin.admin && !isAdmin) { // detecta si el usuario es un Admin -fail('admin', m, this) -continue + +try { +await db.query(`INSERT INTO chats (id) + VALUES ($1) + ON CONFLICT (id) DO NOTHING`, [chatId]); +} catch (err) { +console.error(err); } -if (plugin.private && m.isGroup) { // Chat privado -fail('private', m, this) -continue + +const plugins = Object.values(global.plugins || {}); + +for (const plugin of plugins) { +if (typeof plugin.before === 'function') { +try { +const result = await plugin.before(m, { conn, isOwner }); +if (result === false) return; +} catch (e) { +console.error(chalk.red(e)); +}} } -if (plugin.register == true && _user.registered == false) { // detectan si el usuarios esta registrado o nell -fail('unreg', m, this) -continue + +if (modo === "private" && senderJid !== botJid && !isCreator) return; + +const matchedPlugin = plugins.find(p => { +const raw = m.originalText +return typeof p.customPrefix === 'function' +? p.customPrefix(raw) +: p.customPrefix instanceof RegExp +? p.customPrefix.test(raw) : false +}) + +if (!usedPrefix) { +if (!matchedPlugin || !matchedPlugin.customPrefix) return; } +//if (!usedPrefix && !command) return; -m.isCommand = true -let xp = 'exp' in plugin ? parseInt(plugin.exp) : 10 // Ganancia de XP por comando -if (xp > 2000) -m.reply('Exp limit') -else -if (!isPrems && plugin.money && global.db.data.users[m.sender].money < plugin.money * 1) { -conn.sendMessage(m.chat, { -text: `🫥 𝙉𝙤 𝙩𝙞𝙚𝙣𝙚 𝙇𝙤𝙡𝙞𝘾𝙤𝙞𝙣𝙨`, -contextInfo:{ -forwardingScore: 9999999, -isForwarded: true, -mentionedJid:[m.sender], -"externalAdReply": { -"showAdAttribution": true, -"renderLargerThumbnail": true, -"thumbnail": gataImg.getRandom(), -"title": wm, -"containsAutoReply": true, -"mediaType": 1, -sourceUrl: [nna, md, yt, nn, nnn].getRandom()}} -}, { quoted: m }) -// this.reply(m.chat, `🫥 𝙉𝙤 𝙩𝙞𝙚𝙣𝙚 𝙇𝙤𝙡𝙞𝘾𝙤𝙞𝙣𝙨`, m) -continue +for (const plugin of plugins) { +let match = false; + +if (plugin.command instanceof RegExp) { +match = plugin.command.test(command) +} else if (typeof plugin.command === 'string') { +match = plugin.command.toLowerCase() === command +} else if (Array.isArray(plugin.command)) { +match = plugin.command.map(c => c.toLowerCase()).includes(command) } -m.exp += xp -if (!isPrems && plugin.limit && global.db.data.users[m.sender].limit < plugin.limit * 1) { -conn.sendMessage(m.chat, { -text: `*${lenguajeGB['smsCont7']()} *${usedPrefix}buy*`, -contextInfo:{ -forwardingScore: 9999999, -isForwarded: true, -mentionedJid:[m.sender], -"externalAdReply": { -"showAdAttribution": true, -"renderLargerThumbnail": true, -"thumbnail": gataImg.getRandom(), -"title": wm, -"containsAutoReply": true, -"mediaType": 1, -sourceUrl: [nna, md, yt, nn, nnn].getRandom()}} -}, { quoted: m }) -// this.reply(m.chat, `${lenguajeGB['smsCont7']()} *${usedPrefix}buy*`, m) -continue // Limit habis + +if (!match && plugin.customPrefix) { +const input = m.originalText +if (typeof plugin.customPrefix === 'function') { +match = plugin.customPrefix(input) +} else if (plugin.customPrefix instanceof RegExp) { +match = plugin.customPrefix.test(input) +}} + +if (!match) continue + +const isGroup = m.isGroup; +const isPrivate = !m.isGroup; +let isOwner = isCreator || senderJid === botJid || (config.owners || []).includes(senderJid); +const isROwner = fixedOwners.includes(m.sender); +const senderClean = m.sender.split("@")[0]; +const botClean = (conn.user?.id || "").split("@")[0]; + +if (senderJid === botJid) { +isOwner = true; } -if (plugin.level > _user.level) { -conn.sendMessage(m.chat, { -text: `${lenguajeGB['smsCont9']()} *${plugin.level}* ${lenguajeGB['smsCont10']()} *${_user.level}* ${lenguajeGB['smsCont11']()} *${usedPrefix}nivel*`, -contextInfo:{ -forwardingScore: 9999999, -isForwarded: true, -mentionedJid:[m.sender], -"externalAdReply": { -"showAdAttribution": true, -"renderLargerThumbnail": true, -"thumbnail": gataImg.getRandom(), -"title": wm, -"containsAutoReply": true, -"mediaType": 1, -sourceUrl: [nna, md, yt, nn, nnn].getRandom()}} -}, { quoted: m }) -/*this.reply(m.chat, `${lenguajeGB['smsCont9']()} *${plugin.level}* ${lenguajeGB['smsCont10']()} *${_user.level}* ${lenguajeGB['smsCont11']()} *${usedPrefix}nivel*`, m)*/ -continue // If the level has not been reached + +if (!isOwner && !isROwner) { +isOwner = isCreator; } -let extra = {match, usedPrefix, noPrefix, _args, args, command, text, conn: this, participants, groupMetadata, user, bot, isROwner, isOwner, isRAdmin, isAdmin, isBotAdmin, isPrems, chatUpdate, __dirname: ___dirname, __filename} + +let isAdmin = m.isAdmin; +let isBotAdmin = false; +let modoAdminActivo = false; + try { -await plugin.call(this, m, extra) -if (!isPrems) -m.limit = m.limit || plugin.limit || false -m.money = m.money || plugin.money || false -} catch (e) { -// Error occured -m.error = e -console.error(e) -if (e) { -let text = format(e) -for (let key of Object.values(global.APIKeys)) -text = text.replace(new RegExp(key, 'g'), '#HIDDEN#') -if (e.name) -for (let [jid] of global.owner.filter(([number, _, isDeveloper]) => isDeveloper && number)) { -let data = (await conn.onWhatsApp(jid))[0] || {} -if (data.exists) -m.reply(`${lenguajeGB['smsCont1']()}\n\n${lenguajeGB['smsCont2']()}\n*_${name}_*\n\n${lenguajeGB['smsCont3']()}\n*_${m.sender}_*\n\n${lenguajeGB['smsCont4']()}\n*_${m.text}_*\n\n${lenguajeGB['smsCont5']()}\n\`\`\`${format(e)}\`\`\`\n\n${lenguajeGB['smsCont6']()}`.trim(), data.jid) -} -m.reply(text) +const result = await db.query('SELECT modoadmin FROM group_settings WHERE group_id = $1', [chatId]); +modoAdminActivo = result.rows[0]?.modoadmin || false; +} catch (err) { +console.error(err); } -} finally { -// m.reply(util.format(_user)) -if (typeof plugin.after === 'function') { + +//if ((plugin.admin || plugin.Botadmin) && !isGroup) return m.reply("⚠️ Estos es un grupo?, este comando solo funciona el grupo"); + +if (plugin.tags?.includes('nsfw') && m.isGroup) { +const { rows } = await db.query('SELECT modohorny, nsfw_horario FROM group_settings WHERE group_id = $1', [chatId]) +const { modohorny = false, nsfw_horario } = rows[0] || {} + +const nowBA = (await import('moment-timezone')).default().tz('America/Argentina/Buenos_Aires') +const hhmm = nowBA.format('HH:mm') +const [ini='00:00', fin='23:59'] = (nsfw_horario || '').split('-') +const dentro = ini <= fin ? (hhmm >= ini && hhmm <= fin) : (hhmm >= ini || hhmm <= fin) + +if (!modohorny || !dentro) { +const stickerUrls = ['https://qu.ax/bXMB.webp', 'https://qu.ax/TxtQ.webp'] try { -await plugin.after.call(this, m, extra) +await conn.sendFile(chatId, stickerUrls.getRandom(), 'desactivado.webp', '', m, true, { contextInfo: { forwardingScore: 200, isForwarded: false, externalAdReply: { showAdAttribution: false, title: modohorny ? `ᴱˢᵗᵉ ᶜᵒᵐᵃⁿᵈᵒ ˢᵒˡᵒ ᶠᵘⁿᶜᶦᵒⁿᵃ ᵉⁿ ʰᵒʳᵃʳᶦᵒ ʰᵃᵇᶦˡᶦᵗᵃᵈᵒ:` : `ᴸᵒˢ ᶜᵒᵐᵃⁿᵈᵒ ˢ ʰᵒʳⁿʸ ᵉˢᵗᵃⁿ ᵈᵉˢᵃᶜᵗᶦᵛᵃᵈᵒˢ:`, body: modohorny ? `${ini} a ${fin}` : '#enable modohorny', mediaType: 2, sourceUrl: info.md, thumbnail: m.pp }}}, { quoted: m, ephemeralExpiration: 24 * 60 * 100, disappearingMessagesInChat: 24 * 60 * 100 }) } catch (e) { -console.error(e) -}} -if (m.limit) -m.reply(+m.limit + lenguajeGB.smsCont8()) +await conn.sendMessage(chatId, { text: modohorny ? `🔞 NSFW fuera del horario permitido (${ini} a ${fin})` : '🔞 El NSFW está desactivado por un admin.\nUsa *#enable modohorny* para activarlo.', contextInfo: { externalAdReply: { title: 'NSFW Desactivado', body: modohorny ? `Horario permitido: ${ini} a ${fin}` : '#enable modohorny', mediaType: 2, thumbnail: m.pp, sourceUrl: info.md }}}, { quoted: m }) } -if (m.money) -m.reply(+m.money + ' 𝙇𝙤𝙡𝙞𝘾𝙤𝙞𝙣𝙨 𝙪𝙨𝙖𝙙𝙤𝙨') -break +continue }} -} catch (e) { -console.error(e) -} finally { -if (opts['queque'] && m.text) { -const quequeIndex = this.msgqueque.indexOf(m.id || m.key.id) -if (quequeIndex !== -1) -this.msgqueque.splice(quequeIndex, 1) -} //console.log(global.db.data.users[m.sender]) -let user, stats = global.db.data.stats -if (m) { -if (m.sender && (user = global.db.data.users[m.sender])) { -user.exp += m.exp -user.limit -= m.limit * 1 -user.money -= m.money * 1 + +//User banear +try { +let rawSender = m.sender || m.key?.participant || ""; +let senderId; + +if (rawSender.endsWith("@lid") && m.key?.participantAlt && m.key.participantAlt.endsWith("@s.whatsapp.net")) { +senderId = m.key.participantAlt; +} else { +senderId = rawSender; } -let stat -if (m.plugin) { -let now = +new Date -if (m.plugin in stats) { -stat = stats[m.plugin] -if (!isNumber(stat.total)) -stat.total = 1 -if (!isNumber(stat.success)) -stat.success = m.error != null ? 0 : 1 -if (!isNumber(stat.last)) -stat.last = now -if (!isNumber(stat.lastSuccess)) -stat.lastSuccess = m.error != null ? 0 : now -} else -stat = stats[m.plugin] = { -total: 1, -success: m.error != null ? 0 : 1, -last: now, -lastSuccess: m.error != null ? 0 : now +senderId = senderId.replace(/:\d+/, ""); +const botId = (conn.user?.id || "").replace(/:\d+/, ""); +if (senderId !== botId) { +const resBan = await db.query("SELECT banned, razon_ban, avisos_ban FROM usuarios WHERE id = $1", [senderId]); +if (resBan.rows[0]?.banned) { +const avisos = resBan.rows[0]?.avisos_ban || 0; +if (avisos < 3) { +const nuevoAviso = avisos + 1; +await db.query("UPDATE usuarios SET avisos_ban = $2 WHERE id = $1", [senderId, nuevoAviso]); +const razon = resBan.rows[0]?.razon_ban?.trim() || "Spam"; +await conn.sendMessage(m.chat, { text: `⚠️ ESTAS BANEADO ⚠️\n*• Motivo:* ${razon} (avisos: ${nuevoAviso}/3)\n*👉🏻 Puedes contactar al propietario del Bot si crees que se trata de un error o para charlar sobre tu desbaneo*\n\n👉 ${info.fb}`, contextInfo: { mentionedJid: [senderId] }}, { quoted: m }); } -stat.total += 1 -stat.last = now -if (m.error == null) { -stat.success += 1 -stat.lastSuccess = now -}}} -try { -if (!opts['noprint']) await (await import(`./lib/print.js`)).default(m, this) +return; +}} } catch (e) { -console.log(m, m.quoted, e) +console.error("❌ Error al verificar baneo:", e); } -let settingsREAD = global.db.data.settings[this.user.jid] || {} -if (opts['autoread']) await this.readMessages([m.key]) -if (settingsREAD.autoread2) await this.readMessages([m.key]) -//if (settingsREAD.autoread2 == 'true') await this.readMessages([m.key]) -if (!db.data.chats[m.chat].reaction && m.isGroup) throw 0 -if (!m.fromMem && m.text.match(/(@5492266466080|admin del bot|Bot|LoliBot|lolibot|The LoliBot-md|lolibot-md|The LoliBot-MD|:v)/gi)) { -let emot = pickRandom(["😺", "😸", "😹", "😻", "😼", "😽", "🙀", "😿", "😾", "🤩", "😏", "😳", "🥵", "🤯", "😱", "😨", "🤫", "🥴", "🤧", "🤑", "🤠", "🤖", "🤝", "💪", "👑", "😚", "🐱", "🐈", "🐆", "🐅", "⚡️", "🌈", "☃️", "⛄️", "🌝", "🌛", "🌜", "🍓", "🍎", "🎈", "🪄", "❤️", "🧡", "💛", "💚", "💙", "💜", "🖤", "🤍", "💘", "💝", "💟", "🌝", "😎", "🔥", "🖕", "🐦"]) -this.sendMessage(m.chat, { react: { text: emot, key: m.key }})} -function pickRandom(list) { return list[Math.floor(Math.random() * list.length)]}}} -/** - * Handle groups participants update - * @param {import('@adiwajshing/baileys').BaileysEventMap['group-participants.update']} groupsUpdate - */ -export async function participantsUpdate({ id, participants, action }) { -if (opts['self']) -return -// if (id in conn.chats) return // First login will spam -if (this.isInit) -return -if (global.db.data == null) -await loadDatabase() -let chat = global.db.data.chats[id] || {} -let text = '' -switch (action) { -case 'add': -if (chat.welcome) { -let groupMetadata = await this.groupMetadata(id) || (conn.chats[id] || {}).metadata -for (let user of participants) { -let pp = './src/sinfoto.jpg' + +if (plugin.admin || plugin.botAdmin) { try { -pp = await this.profilePictureUrl(user, 'image') +//isAdmin = adminIds.includes(m.sender); +isAdmin = m.isAdmin +const botLid = (conn.user?.lid || "").replace(/:\d+/, ""); +const botJidClean = (conn.user?.id || "").replace(/:\d+/, ""); +isBotAdmin = adminIds.includes(botLid) || adminIds.includes(botJidClean); +console.log(isAdmin) } catch (e) { -} finally { -let apii = await this.getFile(pp) -const botTt2 = groupMetadata.participants.find(u => this.decodeJid(u.id) == this.user.jid) || {} -const isBotAdminNn = botTt2?.admin === "admin" || false -text = (action === 'add' ? (chat.sWelcome || this.welcome || conn.welcome || 'Welcome, @user!').replace('@subject', await this.getName(id)).replace('@desc', groupMetadata.desc?.toString() || '*ᴜɴ ɢʀᴜᴘᴏ ɢᴇɴɪᴀ😸*\n *sɪɴ ʀᴇɢʟᴀ 😉*') : -(chat.sBye || this.bye || conn.bye || 'Bye, @user!')).replace('@user', '@' + user.split('@')[0]) -if (chat.antifake && isBotAdminNn && action === 'add') { -const numerosPermitidos = ["212", "265", "92", "91", "90", "210", "60", "61", "62", "40", "48", "49", "93", "94", "98", "258"] //PUEDES EDITAR LOS USUARIOS QUE SE ELIMINARÁN SI EMPIEZA POR CUALQUIER DE ESOS NÚMEROS -if (numerosPermitidos.some(num => user.startsWith(num))) { -this.sendMessage(id, { text: `*${lenguajeGB['smsAvisoAG']()}${lenguajeGB['smsInt1']()} @${user.split("@")[0]} ${lenguajeGB['smsInt2']()}*`, mentions: [user] }, { quoted: null }); -let responseb = await this.groupParticipantsUpdate(id, [user], 'remove') -if (responseb[0].status === "404") return -return -}} -let fkontak2 = { "key": { "participants":"0@s.whatsapp.net", "remoteJid": "status@broadcast", "fromMe": false, "id": "Halo" }, "message": { "contactMessage": { "vcard": `BEGIN:VCARD\nVERSION:3.0\nN:Sy;Bot;;;\nFN:y\nitem1.TEL;waid=${user.split('@')[0]}:${user.split('@')[0]}\nitem1.X-ABLabel:Ponsel\nEND:VCARD` }}, "participant": "0@s.whatsapp.net" } -this.sendMessage(id, { text: text, -contextInfo:{ -forwardingScore: 9999999, -isForwarded: true, -mentionedJid:[user], -"externalAdReply": { -"showAdAttribution": true, -"renderLargerThumbnail": true, -"thumbnail": apii.data, -"title": [wm, ' ' + lb + ' 😊', '🌟'].getRandom(), -"containsAutoReply": true, -"mediaType": 1, -sourceUrl: [md, nna, yt, nnn, nn, ig].getRandom()}}}, { quoted: fkontak2 }) -//this.sendFile(id, apii.data, 'pp.jpg', text, null, false, { mentions: [user] }, { quoted: fkontak2 }) -}}} - -break -case 'promote': -case 'daradmin': -case 'darpoder': -text = (chat.sPromote || this.spromote || conn.spromote || '@user ```is now Admin```') -case 'demote': -case 'quitarpoder': -case 'quitaradmin': -if (!text) -text = (chat.sDemote || this.sdemote || conn.sdemote || '@user ```is no longer Admin```') -text = text.replace('@user', '@' + participants[0].split('@')[0]) -if (chat.detect) -//this.sendMessage(id, { text, mentions: this.parseMention(text) }) -break +console.error(e); }} -/** - * Handle groups update - * @param {import('@adiwajshing/baileys').BaileysEventMap['groups.update']} groupsUpdate - */ -export async function groupsUpdate(groupsUpdate) { -if (opts['self']) -return -for (const groupUpdate of groupsUpdate) { -const id = groupUpdate.id -if (!id) continue -let chats = global.db.data.chats[id], text = '' -if (!chats?.detect) continue -// if (groupUpdate.desc) text = (chats.sDesc || this.sDesc || conn.sDesc || '```Description has been changed to```\n@desc').replace('@desc', groupUpdate.desc) -//if (groupUpdate.subject) text = (chats.sSubject || this.sSubject || conn.sSubject || '```Subject has been changed to```\n@subject').replace('@subject', groupUpdate.subject) -//if (groupUpdate.icon) text = (chats.sIcon || this.sIcon || conn.sIcon || '```Icon has been changed to```').replace('@icon', groupUpdate.icon) -if (groupUpdate.revoke) text = (chats.sRevoke || this.sRevoke || conn.sRevoke || '```Group link has been changed to```\n@revoke').replace('@revoke', groupUpdate.revoke) -if (!text) continue -await this.sendMessage(id, { text, mentions: this.parseMention(text) }) +if (plugin.owner && !isOwner) return m.reply("⚠️ Tu que? no eres mi propietario para venir a dame orden 🙄, solo el dueño del sub-bot o el owner puede usar este comando."); +if (plugin.rowner && !isROwner) return m.reply("⚠️ Tu que? no eres mi propietario para venir a dame orden 🙄."); +if (plugin.admin && !isAdmin) return m.reply("🤨 No eres admins. Solo los admins pueden usar este comando."); +if (plugin.botAdmin && !isBotAdmin) return m.reply(`⚠️ haz admin al Bot "YO" para poder usar este comando.`); +if (plugin.group && !isGroup) return m.reply("⚠️ Estos es un grupo?, este comando solo funciona el grupo"); +if (plugin.private && isGroup) return m.reply("⚠️ Este comando solo funciona el pv"); +if (plugin.register) { +try { +const result = await db.query('SELECT * FROM usuarios WHERE id = $1', [m.sender]); +const user = result.rows[0]; +if (!user || user.registered !== true) return m.reply("「NO ESTAS REGISTRADO」\n\nPA NO APARECES EN MI BASE DE DATOS ✋🥸🤚\n\nPara poder usarme escribe el siguente comando\n\nComando: #reg nombre.edad\nEjemplo: #reg elrebelde.21"); +} catch (e) { +console.error(e); }} -export async function callUpdate(callUpdate) { -let isAnticall = global.db.data.settings[this.user.jid].antiCall -if (!isAnticall) return -for (let nk of callUpdate) { -if (nk.isGroup == false) { -if (nk.status == "offer") { -let callmsg = await this.reply(nk.from, `${lenguajeGB['smsCont15']()} *@${nk.from.split('@')[0]}*, ${nk.isVideo ? lenguajeGB.smsCont16() : lenguajeGB.smsCont17()} ${lenguajeGB['smsCont18']()}`, false, { mentions: [nk.from] }) -//let data = global.owner.filter(([id, isCreator]) => id && isCreator) -//await this.sendContact(nk.from, data.map(([id, name]) => [id, name]), false, { quoted: callmsg }) -await this.updateBlockStatus(nk.from, 'block') -}}}} - -export async function deleteUpdate(message) { -try { -const {fromMe, id, participant} = message; -if (fromMe) { +if (plugin.limit) { +const res = await db.query('SELECT limite FROM usuarios WHERE id = $1', [m.sender]); +const limite = res.rows[0]?.limite ?? 0; + +if (limite < plugin.limit) { +await m.reply("*⚠ 𝐒𝐮𝐬 𝐝𝐢𝐚𝐦𝐚𝐧𝐭𝐞 💎 𝐬𝐞 𝐡𝐚𝐧 𝐚𝐠𝐨𝐭𝐚𝐝𝐨 𝐩𝐮𝐞𝐝𝐞 𝐜𝐨𝐦𝐩𝐫𝐚𝐫 𝐦𝐚𝐬 𝐮𝐬𝐚𝐧𝐝𝐨 𝐞𝐥 𝐜𝐨𝐦𝐚𝐧𝐝𝐨:* #buy."); return; } -const msg = this.serializeM(this.loadMessage(id)); -if (!msg) { -return; + +await db.query('UPDATE usuarios SET limite = limite - $1 WHERE id = $2', [plugin.limit, m.sender]); +await m.reply(`*${plugin.limit} diamante 💎 usado${plugin.limit > 1 ? 's' : ''}.*`); } -const chat = global.db.data.chats[msg.chat] || {}; -if (chat.delete) { -return; + +if (plugin.money) { +try { +const res = await db.query('SELECT money FROM usuarios WHERE id = $1', [m.sender]) +const money = res.rows[0]?.money ?? 0 + +if (money < plugin.money) { +return m.reply("*NO TIENE SUFICIENTES LOLICOINS 🪙*") } -await this.reply(msg.chat, `[ ANTI ELIMINAR ]\n\n*El usuario @${participant.split`@`[0]} Elimino un mensaje,* \n*Enviando el mensaje..*\n\n*Para desactivar esta función escriba:* -#disable antidelete -`.trim(), msg, {mentions: [participant], }); -this.copyNForward(msg.chat, msg).catch((e) => console.log(e, msg)); + +await db.query('UPDATE usuarios SET money = money - $1 WHERE id = $2', [plugin.money, m.sender]) +await m.reply(`*${plugin.money} LoliCoins usado${plugin.money > 1 ? 's' : ''} 🪙*`) +} catch (err) { +console.error(err) +}} + +if (plugin.level) { +try { +const result = await db.query('SELECT level FROM usuarios WHERE id = $1', [m.sender]); +const nivel = result.rows[0]?.level ?? 0; + +if (nivel < plugin.level) { +return m.reply(`*⚠️ 𝐍𝐞𝐜𝐞𝐬𝐢𝐭𝐚 𝐞𝐥 𝐧𝐢𝐯𝐞𝐥 ${plugin.level}, 𝐩𝐚𝐫𝐚 𝐩𝐨𝐝𝐞𝐫 𝐮𝐬𝐚𝐫 𝐞𝐬𝐭𝐞 𝐜𝐨𝐦𝐚𝐧𝐝𝐨, 𝐓𝐮 𝐧𝐢𝐯𝐞𝐥 𝐚𝐜𝐭𝐮𝐚𝐥 𝐞𝐬:* ${nivel}`); +}} catch (err) { +console.error(err); +}} + +if (modoAdminActivo && !isAdmin && !isOwner) { +return !0 +//m.reply("⚠️ Este grupo tiene *modo admin* activado. Solo los administradores pueden usar comandos."); +} + +try { +logCommand({conn, +sender: m.sender, +chatId: m.chat, +isGroup: m.isGroup, +command: command, +timestamp: new Date() +}); + +try { +await plugin(m, { conn, text, args, usedPrefix, command, participants, metadata, isOwner, isROwner, isAdmin: m.isAdmin, isBotAdmin, isGroup }); } catch (e) { +if (typeof e === 'string') { +await m.reply(e); +return; +} console.error(e); +return; +} + +await db.query(`INSERT INTO stats (command, count) + VALUES ($1, 1) + ON CONFLICT (command) DO UPDATE SET count = stats.count + 1 + `, [command]); + +} catch (err) { +console.error(chalk.red(`❌ Error al ejecutar ${handler.command}: ${err}`)); +m.reply("❌ Error ejecutando el comando, reporte este error a mi creador con el comando: /report\n\n" + err); +}} +} + +//auto-leave +setInterval(async () => { +try { +let conn = global.conn || globalThis.conn; +if (!conn || typeof conn.groupLeave !== 'function') return; +const { rows } = await db.query("SELECT group_id, expired FROM group_settings WHERE expired IS NOT NULL AND expired > 0 AND expired < $1", [Date.now()]); + +for (let { group_id } of rows) { +try { +await conn.sendMessage(group_id, { text: [`*${conn.user.name}*,ᴹᵉ ᵛᵒʸ ᵈᵉˡ ᵉˡ ᵍʳᵘᵖᵒ ᶠᵘᵉ ᵘⁿ ᵍᵘˢᵗᵒ ᵉˢᵗᵃ ᵃᵠᵘᶦ́ ˢᶦ ᵠᵘᶦᵉʳᵉˢ ᵠᵘᵉ ᵛᵘᵉˡᵛᵃ ᵁˢᵉʳ ᵈᵉ ⁿᵘᵉᵛᵒ ᵉˡ ᶜᵒᵐᵃⁿᵈᵒ`, `Bueno me voy de este grupo de mrd, no me agregue a grupo ptm`, `*${conn.user.name}*, me voy de este grupito culiado nada interesante yo queria ver teta y son puro gays aca 🤣`].getRandom() }); +await new Promise(r => setTimeout(r, 3000)); +await conn.groupLeave(group_id); +await db.query("UPDATE group_settings SET expired = NULL WHERE group_id = $1", [group_id]); +console.log(`[AUTO-LEAVE] Bot salió automáticamente del grupo: ${group_id}`); +} catch (e) { }} +} catch (e) { +}}, 60_000); //1 min -global.dfail = (type, m, conn) => { -let msg = { -rowner: lenguajeGB['smsRowner'](), -owner: lenguajeGB['smsOwner'](), -mods: lenguajeGB['smsMods'](), -premium: lenguajeGB['smsPremium'](), -group: lenguajeGB['smsGroup'](), -private: lenguajeGB['smsPrivate'](), -admin: lenguajeGB['smsAdmin'](), -botAdmin: lenguajeGB['smsBotAdmin'](), -unreg: lenguajeGB['smsUnreg'](), -restrict: lenguajeGB['smsRestrict'](), -}[type] -//if (msg) return m.reply(msg) -let tg = { quoted: m, userJid: conn.user.jid } -let prep = generateWAMessageFromContent(m.chat, { extendedTextMessage: { text: msg, contextInfo: { externalAdReply: { title: lenguajeGB.smsAvisoAG().slice(0,-2), body: [wm, ' ' + lb + ' 😊', '🌟'].getRandom(), thumbnail: gataImg.getRandom(), sourceUrl: [md, nna, yt, nnn, nn, fb, ig].getRandom() }}}}, tg) -if (msg) return conn.relayMessage(m.chat, prep.message, { messageId: prep.key.id }) +//report +setInterval(async () => { +const MODGROUP_ID = "120363392819528942@g.us"; +try { +let conn = global.conn || globalThis.conn; +if (!conn || typeof conn.sendMessage !== "function") return; +let modsMeta; +try { +modsMeta = await conn.groupMetadata(MODGROUP_ID); +} catch (e) { +return; } +const res = await db.query("SELECT * FROM reportes WHERE enviado = false ORDER BY fecha ASC LIMIT 10"); +if (!res.rows.length) return; -const file = global.__filename(import.meta.url, true); -watchFile(file, async () => { -unwatchFile(file); -console.log(chalk.redBright('Update \'handler.js\'')); -if (global.reloadHandler) console.log(await global.reloadHandler()); - -if (global.conns && global.conns.length > 0 ) { -const users = [...new Set([...global.conns.filter((conn) => conn.user && conn.ws.socket && conn.ws.socket.readyState !== ws.CLOSED).map((conn) => conn)])]; -for (const userr of users) { -userr.subreloadHandler(false) -}}}); +for (const row of res.rows) { +let cabecera = row.tipo === "sugerencia" ? "🌟 *SUGERENCIA*" : "REPORTE"; +const txt = `┏╼╾╼⧼⧼⧼ ${cabecera} ⧽⧽⧽╼╼╼┓\n╏• *Usuario:* wa.me/${row.sender_id.split("@")[0]}\n╏• ${row.tipo === "sugerencia" ? "*Sugerencia:*" : "*Mensaje:*"} ${row.mensaje}\n┗╼╼╼╼╼╼╼╼╼╼╼╼╼╼╼╼╼╼╼╼╼`; +await conn.sendMessage(MODGROUP_ID, { text: txt }); +await db.query("DELETE FROM reportes WHERE id = $1", [row.id]); +}} catch (err) { +console.error("[REPORT/SUGGE SYSTEM ERROR]", err); +}}, 60_000 * 2); // cada 2 minutos + +//cache message +setInterval(async () => { +try { +const { rows } = await db.query(`SELECT chat_memory.chat_id, chat_memory.updated_at, + COALESCE(group_settings.memory_ttl, 86400) AS memory_ttl + FROM chat_memory + JOIN group_settings ON chat_memory.chat_id = group_settings.group_id + WHERE group_settings.memory_ttl > 0 + `); + +const now = Date.now(); +for (const row of rows) { +const { chat_id, updated_at, memory_ttl } = row; +const lastUpdated = new Date(updated_at).getTime(); // en ms +const ttl = memory_ttl * 1000; + +if (now - lastUpdated > ttl) { +await db.query("DELETE FROM chat_memory WHERE chat_id = $1", [chat_id]); +console.log(`🧹 Memoria del grupo ${chat_id} eliminada automáticamente`); +}} +} catch (err) { +console.error("❌ Error limpiando memorias expiradas:", err); +}}, 300_000); // cada 5 minutos + +//--- +let file = fileURLToPath(import.meta.url); +watchFile(file, () => { + unwatchFile(file); + console.log(chalk.redBright('Update \'handler.js\'')); + import(`${file}?update=${Date.now()}`); +}); \ No newline at end of file diff --git a/index.js b/index.js index ea1f44c81..cfa3b9e03 100644 --- a/index.js +++ b/index.js @@ -1,70 +1,21 @@ console.log('Iniciando 🚀🚀🚀') -import { join, dirname } from 'path' -import { createRequire } from 'module' -import { fileURLToPath } from 'url' -import { setupMaster, fork } from 'cluster' -import { watchFile, unwatchFile } from 'fs' -import cfonts from 'cfonts' -import { createInterface } from 'readline' -import yargs from 'yargs' -const __dirname = dirname(fileURLToPath(import.meta.url)) -const require = createRequire(__dirname) -const { name, author } = require(join(__dirname, './package.json')) -const { say } = cfonts -const rl = createInterface(process.stdin, process.stdout) +import cfonts from 'cfonts'; +import chalk from 'chalk'; -say('The Loli\nBot\nMD', { -font: 'chrome', -align: 'center', -gradient: ['red', 'magenta']}) -say(`Por LoliBot`, { -font: 'console', -align: 'center', -gradient: ['red', 'magenta']}); +cfonts.say('LoliBot-MD', { + font: 'chrome', + align: 'center', + gradient: ['red', 'magenta'], + transition: false +}); -let isRunning = false -/** -* Start a js file -* @param {String} file `path/to/file` -*/ -function start(file) { -if (isRunning) return -isRunning = true -const args = [join(__dirname, file), ...process.argv.slice(2)] +cfonts.say('by: elrebelde21', { + font: 'console', + align: 'center', + gradient: ['red', 'magenta'], + transition: false +}); -setupMaster({ -exec: args[0], -args: args.slice(1)}) -const p = fork() -p.on('message', (data) => { -//console.log('╭--------- - - - ✓\n┆ ✅ TIEMPO DE ACTIVIDAD ACTUALIZADA\n╰-------------------- - - -', data) -switch (data) { -case 'reset': -p.process.kill() -isRunning = false -start.apply(this, arguments) -break -case 'uptime': -p.send(process.uptime()) -break -} -}) -p.on('exit', (_, code) => { -isRunning = false; -console.error('⚠️ Error Inesperado ⚠️', code) -p.process.kill() -isRunning = false -start.apply(this, arguments) -if (process.env.pm_id) { -process.exit(1) -} else { -process.exit() -}}) -const opts = new Object(yargs(process.argv.slice(2)).exitProcess(false).parse()) -if (!opts['test']) { -if (!rl.listenerCount()) { -rl.on('line', (line) => { -p.emit('message', line.trim()) -}) -}}} -start('main.js') +//console.clear(); + +import('./main.js'); diff --git a/install.sh b/install.sh index 5670fa9f6..6341d4fa3 100644 --- a/install.sh +++ b/install.sh @@ -1,334 +1,21 @@ -# Código creado por @gata_dios +#!/bin/bash -#!/data/data/com.termux/files/usr/bin/bash -# Interpretación determinada para la ejecución +# Detener la ejecución si ocurre un error +set -e -echo -e "\e[35m -─█▀▀█ ───░█ ░█─░█ ░█▀▀▀█ ▀▀█▀▀ ░█▀▀▀   ░█─── ─█▀▀█   ░█▀▀█ ─█▀▀█ ░█▄─░█ ▀▀█▀▀ ─█▀▀█ ░█─── ░█─── ─█▀▀█ -░█▄▄█ ─▄─░█ ░█─░█ ─▀▀▀▄▄ ─░█── ░█▀▀▀   ░█─── ░█▄▄█   ░█▄▄█ ░█▄▄█ ░█░█░█ ─░█── ░█▄▄█ ░█─── ░█─── ░█▄▄█ -░█─░█ ░█▄▄█ ─▀▄▄▀ ░█▄▄▄█ ─░█── ░█▄▄▄   ░█▄▄█ ░█─░█   ░█─── ░█─░█ ░█──▀█ ─░█── ░█─░█ ░█▄▄█ ░█▄▄█ ░█─░█ - -▒█▀▀▀█ ▒█▀▀▀ ▀▀█▀▀   ▀▀█▀▀ ▒█░▒█ ▒█▀▀▀   ▒█▀▀▀█ ▒█▀▀█ ▒█▀▀█ ▒█▀▀▀ ▒█▀▀▀ ▒█▄░▒█ -░▀▀▀▄▄ ▒█▀▀▀ ░▒█░░   ░▒█░░ ▒█▀▀█ ▒█▀▀▀   ░▀▀▀▄▄ ▒█░░░ ▒█▄▄▀ ▒█▀▀▀ ▒█▀▀▀ ▒█▒█▒█ -▒█▄▄▄█ ▒█▄▄▄ ░▒█░░   ░▒█░░ ▒█░▒█ ▒█▄▄▄   ▒█▄▄▄█ ▒█▄▄█ ▒█░▒█ ▒█▄▄▄ ▒█▄▄▄ ▒█░░▀█\n\e[0m" - -: <<'COMMENT' -... -COMMENT - -echo -e "\033[01;93mPreparando instalación...\n\033[0m" -mp3_array=("install_automatic1.mp3" "install_automatic2.mp3" "install_automatic3.mp3" "install_automatic4.mp3" "install_automatic5.mp3" "install_automatic6.mp3" "install_automatic7.mp3" "install_automatic8.mp3" "install_automatic9.mp3" "install_automatic10.mp3" "install_automatic11.mp3" "install_automatic12.mp3") -random_mp3=${mp3_array[$RANDOM % ${#mp3_array[@]}]} -if wget -q https://github.com/elrebelde21/The-LoliBot-MD-V2/raw/master/musicSH/"$random_mp3"; then -echo -e "\033[01;32mDescarga exitosa. Reproduciendo sonido de intro...\n\033[0m" -while true; do -mpv --no-terminal "$random_mp3" & -sleep 2 -wait -done & -else -echo -e "\033[01;91mSonido de intro no disponible.\nIntro sound not available.\n\033[0m" -fi - -echo -e "\033[01;32m\033[01mInstalando dependencias!!\n\033[0m" -echo -e "\e[36m -██╗███╗░░██╗░██████╗████████╗░█████╗░██╗░░░░░██╗░░░░░ -██║████╗░██║██╔════╝╚══██╔══╝██╔══██╗██║░░░░░██║░░░░░ -██║██╔██╗██║╚█████╗░░░░██║░░░███████║██║░░░░░██║░░░░░ -██║██║╚████║░╚═══██╗░░░██║░░░██╔══██║██║░░░░░██║░░░░░ -██║██║░╚███║██████╔╝░░░██║░░░██║░░██║███████╗███████╗ -╚═╝╚═╝░░╚══╝╚═════╝░░░░╚═╝░░░╚═╝░░╚═╝╚══════╝╚══════╝ - -░██████╗░██╗████████╗ -██╔════╝░██║╚══██╔══╝ -██║░░██╗░██║░░░██║░░░ -██║░░╚██╗██║░░░██║░░░ -╚██████╔╝██║░░░██║░░░ -░╚═════╝░╚═╝░░░╚═╝░░░\n\e[0m" - -if command -v git >/dev/null 2>&1; then -echo -e "\033[01;33mGit ya estaba instalado anteriormente.\nGit was already installed previously.\033[0m" -else -if pkg install git -y 2>&1 >/dev/null | grep -E -i -q '(command not found|unable to locate package|E: Could not get lock|debconf: delaying package configuration|Package not found|Failed to fetch|404 Not Found|Hash sum mismatch|503 Service Unavailable|504 Gateway Timeout|408 Request Timeout|Connection timed out|Temporary failure resolving)'; then -error=$(pkg install git -y 2>&1 >/dev/null) -echo -e "\033[0;31mError: $error\033[0m" -echo -e "\033[0;34mNo se pudo instalar Git. Verifique su conexión a Internet e inténtelo de nuevo. Si el error continúa, instale de forma manual!!\033[0m" -echo -e "\033[01;33mpkg install git -y\npkg install nodejs -y\npkg install ffmpeg -y\npkg install imagemagick -y\npkg install -y yarn\ngit clone https://github.com/elrebelde21/The-LoliBot-MD\ncd The-LoliBot-MD\nyarn install\nnpm install\nnpm start\033[0m" -exit 1 -else -echo -e "\033[01;32m\033[01mGit se ha instalado correctamente. \n\033[0m" -fi -fi - -echo -e "\e[35m -██╗███╗░░██╗░██████╗████████╗░█████╗░██╗░░░░░██╗░░░░░ -██║████╗░██║██╔════╝╚══██╔══╝██╔══██╗██║░░░░░██║░░░░░ -██║██╔██╗██║╚█████╗░░░░██║░░░███████║██║░░░░░██║░░░░░ -██║██║╚████║░╚═══██╗░░░██║░░░██╔══██║██║░░░░░██║░░░░░ -██║██║░╚███║██████╔╝░░░██║░░░██║░░██║███████╗███████╗ -╚═╝╚═╝░░╚══╝╚═════╝░░░░╚═╝░░░╚═╝░░╚═╝╚══════╝╚══════╝ - -███╗░░██╗░█████╗░██████╗░███████╗░░░░░░░░██╗░██████╗ -████╗░██║██╔══██╗██╔══██╗██╔════╝░░░░░░░░██║██╔════╝ -██╔██╗██║██║░░██║██║░░██║█████╗░░░░░░░░░░██║╚█████╗░ -██║╚████║██║░░██║██║░░██║██╔══╝░░░░░██╗░░██║░╚═══██╗ -██║░╚███║╚█████╔╝██████╔╝███████╗██╗╚█████╔╝██████╔╝ -╚═╝░░╚══╝░╚════╝░╚═════╝░╚══════╝╚═╝░╚════╝░╚═════╝░\n\e[0m" - -if command -v node >/dev/null 2>&1; then -echo -e "\033[01;33mNodejs ya estaba instalado anteriormente.\nNodejs was already installed previously.\033[0m" -else -if pkg install nodejs -y 2>&1 >/dev/null | grep -E -i -q '(command not found|unable to locate package|E: Could not get lock|debconf: delaying package configuration|Package not found|Failed to fetch|404 Not Found|Hash sum mismatch|503 Service Unavailable|504 Gateway Timeout|408 Request Timeout|Connection timed out|Temporary failure resolving)'; then -error=$(pkg install nodejs -y 2>&1 >/dev/null) -echo -e "\033[0;31mError: $error\033[0m" -echo -e "\033[0;34mNo se pudo instalar Node.js. Verifique su conexión a Internet e inténtelo de nuevo. Si el error continúa, instale de forma manual!!\nIf the error continues, install manually!!\033[0m" -echo -e "\033[01;33mpkg install git -y\npkg install nodejs -y\npkg install ffmpeg -y\npkg install imagemagick -y\npkg install -y yarn\ngit clone https://github.com/elrebelde21/The-LoliBot-MD\ncd The-LoliBot-MD\nyarn install\nnpm install\nnpm start\033[0m" -exit 1 -else -echo -e "\033[01;32m\033[01mNode.js se ha instalado correctamente.\nNode.js has been installed successfully.\n\033[0m" -fi -fi - -echo -e "\e[36m -██╗███╗░░██╗░██████╗████████╗░█████╗░██╗░░░░░██╗░░░░░ -██║████╗░██║██╔════╝╚══██╔══╝██╔══██╗██║░░░░░██║░░░░░ -██║██╔██╗██║╚█████╗░░░░██║░░░███████║██║░░░░░██║░░░░░ -██║██║╚████║░╚═══██╗░░░██║░░░██╔══██║██║░░░░░██║░░░░░ -██║██║░╚███║██████╔╝░░░██║░░░██║░░██║███████╗███████╗ -╚═╝╚═╝░░╚══╝╚═════╝░░░░╚═╝░░░╚═╝░░╚═╝╚══════╝╚══════╝ - -███████╗███████╗███╗░░░███╗██████╗░███████╗░██████╗░ -██╔════╝██╔════╝████╗░████║██╔══██╗██╔════╝██╔════╝░ -█████╗░░█████╗░░██╔████╔██║██████╔╝█████╗░░██║░░██╗░ -██╔══╝░░██╔══╝░░██║╚██╔╝██║██╔═══╝░██╔══╝░░██║░░╚██╗ -██║░░░░░██║░░░░░██║░╚═╝░██║██║░░░░░███████╗╚██████╔╝ -╚═╝░░░░░╚═╝░░░░░╚═╝░░░░░╚═╝╚═╝░░░░░╚══════╝░╚═════╝░\n\e[0m" - -if command -v ffmpeg >/dev/null 2>&1; then -echo -e "\033[01;33mFfmpeg ya estaba instalado anteriormente.\nFfmpeg was already installed previously.\033[0m" -else -if pkg install ffmpeg -y 2>&1 >/dev/null | grep -E -i -q '(command not found|unable to locate package|E: Could not get lock|debconf: delaying package configuration|Package not found|Failed to fetch|404 Not Found|Hash sum mismatch|503 Service Unavailable|504 Gateway Timeout|408 Request Timeout|Connection timed out|Temporary failure resolving)'; then -error=$(pkg install ffmpeg -y 2>&1 >/dev/null) -echo -e "\033[0;31mError: $error\033[0m" -echo -e "\033[0;34mNo se pudo instalar FFmpeg. Verifique su conexión a Internet e inténtelo de nuevo. Si el error continúa, instale de forma manual!!\nIf the error continues, install manually!!\033[0m" -echo -e "\033[01;33mpkg install git -y\npkg install nodejs -y\npkg install ffmpeg -y\npkg install imagemagick -y\npkg install -y yarn\ngit clone https://github.com/elrebelde21/The-LoliBot-MD\ncd The-LoliBot-MD\nyarn install\nnpm install\nnpm start\033[0m" -exit 1 -else -echo -e "\033[01;32m\033[01mFFmpeg se ha instalado correctamente.\nFFmpeg has been installed successfully.\n\033[0m" -fi -fi - -echo -e "\e[35m -██╗███╗░░██╗░██████╗████████╗░█████╗░██╗░░░░░██╗░░░░░ -██║████╗░██║██╔════╝╚══██╔══╝██╔══██╗██║░░░░░██║░░░░░ -██║██╔██╗██║╚█████╗░░░░██║░░░███████║██║░░░░░██║░░░░░ -██║██║╚████║░╚═══██╗░░░██║░░░██╔══██║██║░░░░░██║░░░░░ -██║██║░╚███║██████╔╝░░░██║░░░██║░░██║███████╗███████╗ -╚═╝╚═╝░░╚══╝╚═════╝░░░░╚═╝░░░╚═╝░░╚═╝╚══════╝╚══════╝ - -██╗███╗░░░███╗░█████╗░░██████╗░███████╗███╗░░░███╗░█████╗░░██████╗░██╗░█████╗░██╗░░██╗ -██║████╗░████║██╔══██╗██╔════╝░██╔════╝████╗░████║██╔══██╗██╔════╝░██║██╔══██╗██║░██╔╝ -██║██╔████╔██║███████║██║░░██╗░█████╗░░██╔████╔██║███████║██║░░██╗░██║██║░░╚═╝█████═╝░ -██║██║╚██╔╝██║██╔══██║██║░░╚██╗██╔══╝░░██║╚██╔╝██║██╔══██║██║░░╚██╗██║██║░░██╗██╔═██╗░ -██║██║░╚═╝░██║██║░░██║╚██████╔╝███████╗██║░╚═╝░██║██║░░██║╚██████╔╝██║╚█████╔╝██║░╚██╗ -╚═╝╚═╝░░░░░╚═╝╚═╝░░╚═╝░╚═════╝░╚══════╝╚═╝░░░░░╚═╝╚═╝░░╚═╝░╚═════╝░╚═╝░╚════╝░╚═╝░░╚═╝\n\e[0m" - -if command -v convert >/dev/null 2>&1; then -echo -e "\033[01;33mImagemagick ya estaba instalado anteriormente.\nImagemagick was already installed previously.\033[0m" -else -if pkg install imagemagick -y 2>&1 >/dev/null | grep -E -i -q '(command not found|unable to locate package|E: Could not get lock|debconf: delaying package configuration|Package not found|Failed to fetch|404 Not Found|Hash sum mismatch|503 Service Unavailable|504 Gateway Timeout|408 Request Timeout|Connection timed out|Temporary failure resolving)'; then -error=$(pkg install imagemagick -y 2>&1 >/dev/null) -echo -e "\033[0;31mError: $error\033[0m" -echo -e "\033[0;34mNo se pudo instalar ImageMagick. Verifique su conexión a Internet e inténtelo de nuevo. Si el error continúa, instale de forma manual!!\nIf the error continues, install manually!!\033[0m" -echo -e "\033[01;33mpkg install git -y\npkg install nodejs -y\npkg install ffmpeg -y\npkg install imagemagick -y\npkg install -y yarn\ngit clone https://github.com/elrebelde21/The-LoliBot-MD\ncd The-LoliBot-MD\nyarn install\nnpm install\nnpm start\033[0m" -exit 1 +if [ -d "node_modules" ]; then + echo "La carpeta 'node_modules' ya existe. Omitiendo descarga e instalación." else -echo -e "\033[01;32m\033[01mImageMagick se ha instalado correctamente.\nImageMagick has been installed successfully.\n\033[0m" -fi -fi - -echo -e "\e[36m -██╗███╗░░██╗░██████╗████████╗░█████╗░██╗░░░░░██╗░░░░░ -██║████╗░██║██╔════╝╚══██╔══╝██╔══██╗██║░░░░░██║░░░░░ -██║██╔██╗██║╚█████╗░░░░██║░░░███████║██║░░░░░██║░░░░░ -██║██║╚████║░╚═══██╗░░░██║░░░██╔══██║██║░░░░░██║░░░░░ -██║██║░╚███║██████╔╝░░░██║░░░██║░░██║███████╗███████╗ -╚═╝╚═╝░░╚══╝╚═════╝░░░░╚═╝░░░╚═╝░░╚═╝╚══════╝╚══════╝ - -██╗░░░██╗░█████╗░██████╗░███╗░░██╗ -╚██╗░██╔╝██╔══██╗██╔══██╗████╗░██║ -░╚████╔╝░███████║██████╔╝██╔██╗██║ -░░╚██╔╝░░██╔══██║██╔══██╗██║╚████║ -░░░██║░░░██║░░██║██║░░██║██║░╚███║ -░░░╚═╝░░░╚═╝░░╚═╝╚═╝░░╚═╝╚═╝░░╚══╝\n\e[0m" - -if command -v yarn >/dev/null 2>&1; then -echo -e "\033[01;33mYarn ya estaba instalado anteriormente.\nYarn was already installed previously.\033[0m" -else -if npm install -g yarn 2>&1 >/dev/null | grep -E -i -q '(command not found|unable to locate package|E: Could not get lock|debconf: delaying package configuration|Package not found|Failed to fetch|404 Not Found|Hash sum mismatch|503 Service Unavailable|504 Gateway Timeout|408 Request Timeout|Connection timed out|Temporary failure resolving)'; then -error=$(npm install -g yarn 2>&1 >/dev/null) -echo -e "\033[0;31mError: $error\033[0m" -echo -e "\033[0;34mNo se pudo instalar Yarn. Verifique su conexión a Internet e inténtelo de nuevo. Si el error continúa, instale de forma manual!!\nIf the error continues, install manually!!\033[0m" -echo -e "\033[01;33mpkg install git -y\npkg install nodejs -y\npkg install ffmpeg -y\npkg install imagemagick -y\npkg install -y yarn\ngit clone https://github.com/elrebelde21/The-LoliBot-MD\ncd The-LoliBot-MD\nyarn install\nnpm install\nnpm start\033[0m" -exit 1 -else -echo -e "\033[01;32m\033[01mYarn se ha instalado correctamente.\nYarn has been installed successfully.\n\033[0m" -fi -fi - -echo -e "\e[36m -▀▀█▀▀ ▒█▀▀▀█ ▒█▀▀▄ ▒█▀▀▀█   ▒█▀▀█ ▒█▀▀▀█ ▒█▀▀█ ▒█▀▀█ ▒█▀▀▀ ▒█▀▀█ ▀▀█▀▀ ▒█▀▀▀█ -░▒█░░ ▒█░░▒█ ▒█░▒█ ▒█░░▒█   ▒█░░░ ▒█░░▒█ ▒█▄▄▀ ▒█▄▄▀ ▒█▀▀▀ ▒█░░░ ░▒█░░ ▒█░░▒█ -░▒█░░ ▒█▄▄▄█ ▒█▄▄▀ ▒█▄▄▄█   ▒█▄▄█ ▒█▄▄▄█ ▒█░▒█ ▒█░▒█ ▒█▄▄▄ ▒█▄▄█ ░▒█░░ ▒█▄▄▄█\n\e[0m" -echo -e "\033[01;32m\033[01m\nTodas las dependencias se han instalado correctamente.\n\033[0m" - -echo -e "\e[35m -██╗░░██╗░░██╗░░  ██╗███╗░░██╗░██████╗████████╗░█████╗░██╗░░░░░██╗░░░░░ -╚██╗░╚██╗░╚██╗░  ██║████╗░██║██╔════╝╚══██╔══╝██╔══██╗██║░░░░░██║░░░░░ -░╚██╗░╚██╗░╚██╗  ██║██╔██╗██║╚█████╗░░░░██║░░░███████║██║░░░░░██║░░░░░ -░██╔╝░██╔╝░██╔╝  ██║██║╚████║░╚═══██╗░░░██║░░░██╔══██║██║░░░░░██║░░░░░ -██╔╝░██╔╝░██╔╝░  ██║██║░╚███║██████╔╝░░░██║░░░██║░░██║███████╗███████╗ -╚═╝░░╚═╝░░╚═╝░░  ╚═╝╚═╝░░╚══╝╚═════╝░░░░╚═╝░░░╚═╝░░╚═╝╚══════╝╚══════╝ - -╔══╗╔╗╔╗╔═╗────╔╗─╔═╗╔╗─╔══╗╔══╗╔═╗╔══╗────╔═╦═╗╔══╗ -╚╗╔╝║╚╝║║╦╝╔══╗║║─║║║║║─╚║║╝║╔╗║║║║╚╗╔╝╔══╗║║║║║╚╗╗║ -─║║─║╔╗║║╩╗╚══╝║╚╗║║║║╚╗╔║║╗║╔╗║║║║─║║─╚══╝║║║║║╔╩╝║ -─╚╝─╚╝╚╝╚═╝────╚═╝╚═╝╚═╝╚══╝╚══╝╚═╝─╚╝─────╚╩═╩╝╚══╝ -────────────────────────────────────────────────────\n\e[0m" - -echo -e "\033[1;35m" -git clone https://github.com/elrebelde21/The-LoliBot-MD.git -echo -e "\033[01;32m\033[01mLa clonación se ha descargado e instalado correctamente..\n\033[0m" - -echo -e "\033[01;32m\033[01mCambiando al directorio del repositorio!!\n\033[0m" -cd The-LoliBot-MD + echo "Descargando node_modules.tar.gz..." + curl -L -o node_modules.tar.gz https://github.com/elrebelde21/baileys/releases/download/V1.0.0/node_modules.tar.gz -echo -e "\e[36m -██╗███╗░░██╗░██████╗████████╗░█████╗░██╗░░░░░██╗░░░░░  ███╗░░██╗██████╗░███╗░░░███╗ -██║████╗░██║██╔════╝╚══██╔══╝██╔══██╗██║░░░░░██║░░░░░  ████╗░██║██╔══██╗████╗░████║ -██║██╔██╗██║╚█████╗░░░░██║░░░███████║██║░░░░░██║░░░░░  ██╔██╗██║██████╔╝██╔████╔██║ -██║██║╚████║░╚═══██╗░░░██║░░░██╔══██║██║░░░░░██║░░░░░  ██║╚████║██╔═══╝░██║╚██╔╝██║ -██║██║░╚███║██████╔╝░░░██║░░░██║░░██║███████╗███████╗  ██║░╚███║██║░░░░░██║░╚═╝░██║ -╚═╝╚═╝░░╚══╝╚═════╝░░░░╚═╝░░░╚═╝░░╚═╝╚══════╝╚══════╝  ╚═╝░░╚══╝╚═╝░░░░░╚═╝░░░░░╚═╝\n\e[0m" + echo "Extrayendo node_modules..." + tar -xzf node_modules.tar.gz -if command npm install >/dev/null 2>&1; then -echo -e "\033[01;33m Se actualizará NPM automáticamente. Espere un momento por favor.\033[0m" -else -echo -e "\033[0;34mNPM no se encontró en su sistema. Se instalará NPM automáticamente.\nNPM was not found on your system. NPM will be installed automatically.\n\033[0m" -if npm install 2>&1 >/dev/null | grep -E -i -q '(command not found|unable to locate package|E: Could not get lock|debconf: delaying package configuration|Package not found|Failed to fetch|404 Not Found|Hash sum mismatch|503 Service Unavailable|504 Gateway Timeout|408 Request Timeout|Connection timed out|Temporary failure resolving)'; then -error=$(npm install 2>&1 >/dev/null) -echo -e "\033[0;31mError: $error\033[0m" -echo -e "\033[0;34mNo se pudo instalar NPM. Verifique su conexión a Internet e inténtelo de nuevo. Si el error continúa, instale de forma manual!!\nIf the error continues, install manually!!\033[0m" -echo -e "\033[01;33mpkg install git -y\npkg install nodejs -y\npkg install ffmpeg -y\npkg install imagemagick -y\npkg install yarn -y\npkg install npm -y\ngit clone https://github.com/elrebelde21/The-LoliBot-MD\ncd The-LoliBot-MD\nnpm install\nyarn install\nnpm start\033[0m" -exit 1 -else -echo -e "\033[01;32m\033[01mNPM se ha instalado correctamente..\n\033[0m" -fi -fi + # Eliminar el archivo comprimido después de extraerlo + rm node_modules.tar.gz -echo -e "\e[35m -██╗███╗░░██╗░██████╗████████╗░█████╗░██╗░░░░░██╗░░░░░  ██╗░░░██╗░█████╗░██████╗░███╗░░██╗ -██║████╗░██║██╔════╝╚══██╔══╝██╔══██╗██║░░░░░██║░░░░░  ╚██╗░██╔╝██╔══██╗██╔══██╗████╗░██║ -██║██╔██╗██║╚█████╗░░░░██║░░░███████║██║░░░░░██║░░░░░  ░╚████╔╝░███████║██████╔╝██╔██╗██║ -██║██║╚████║░╚═══██╗░░░██║░░░██╔══██║██║░░░░░██║░░░░░  ░░╚██╔╝░░██╔══██║██╔══██╗██║╚████║ -██║██║░╚███║██████╔╝░░░██║░░░██║░░██║███████╗███████╗  ░░░██║░░░██║░░██║██║░░██║██║░╚███║ -╚═╝╚═╝░░╚══╝╚═════╝░░░░╚═╝░░░╚═╝░░╚═╝╚══════╝╚══════╝  ░░░╚═╝░░░╚═╝░░╚═╝╚═╝░░╚═╝╚═╝░░╚══╝\n\e[0m" - -if command yarn install >/dev/null 2>&1; then -echo -e "\033[01;33mSe actualizará yarn automáticamente. Espere un momento por favor...\033[0m" -else -if yarn install 2>&1 >/dev/null | grep -E -i -q '(command not found|unable to locate package|E: Could not get lock|debconf: delaying package configuration|Package not found|Failed to fetch|404 Not Found|Hash sum mismatch|503 Service Unavailable|504 Gateway Timeout|408 Request Timeout|Connection timed out|Temporary failure resolving)'; then -error=$(yarn install 2>&1 >/dev/null) -echo -e "\033[0;31mError: $error\033[0m" -echo -e "\033[0;34mNo se pudo instalar Yarn. Verifique su conexión a Internet e inténtelo de nuevo. Si el error continúa, instale de forma manual!!\nIf the error continues, install manually!!\033[0m" -echo -e "\033[01;33mpkg install git -y\npkg install nodejs -y\npkg install ffmpeg -y\npkg install imagemagick -y\npkg install yarn\ngit clone https://github.com/elrebelde21/The-LoliBot-MD\ncd The-LoliBot-MD\nnpm install\nyarn install\nnpm start\033[0m" -exit 1 -else -echo -e "\033[01;32m\033[01mYarn se ha instalado correctamente.....\n\033[0m" fi -fi - -: <<'COMMENT' -v="${b}\033[1;32m" -v1="${b}\033[32m" -b="\033[0m" - -menu() { - #The-LoliBot-MD - echo -e "${v1} MENÚ DE CONFIGURACIÓN" - printf "\n" - printf "${v1}[${b}01${v1}]${v} Visistar Grupo de Actualizaciones\n" - printf "\n" - printf "${v1}[${b}02${v1}]${v} Elegir idioma español\n" - printf "\n" - printf "${v1}[${b}03${v1}]${v} Elegir idioma inglés\n" - printf "\n" - printf "${v1}[${b}04${v1}]${v} Continuar\n" - printf "\n" -} - -menu_ayuda() { - #printf "${v1}[${b}++${v1}]${v} GataBot-MD${b}: " - read opcion - case $opcion in - 01|1) - am start -a android.intent.action.VIEW https://chat.whatsapp.com/JESaesjOEcB6wnGX0QYT9o &>> /dev/null - echo -e "${b}[${v1}++${b}]${v} Accediendo al Grupo Oficial\n" - - ;; - 02|2) - echo -e "${b}[${v1}++${b}]${v} Seleccionado idioma español\n" - - ;; - 03|3) - echo -e "${b}[${v1}++${b}]${v} Seleccionado idioma inglés\n" - - ;; - 04|4) - iniciar - echo -e "${b}[${v1}++${b}]${v} Continuando...\n" - - ;; - *) - echo -e "${v1}Comando: '"${r1}${opcion}${v1}"' invalido." - echo "" - inicio - ;; - esac -} - -menu -menu_ayuda -COMMENT - -clear -echo -e "\e[36m -░█▀▀█ ░█▀▀█ ─█▀▀█ ░█▀▀█ ▀█▀ ─█▀▀█ ░█▀▀▀█   ░█▀▀█ ░█▀▀▀█ ░█▀▀█   ░█▀▀▀█ ░█─░█ -░█─▄▄ ░█▄▄▀ ░█▄▄█ ░█─── ░█─ ░█▄▄█ ─▀▀▀▄▄   ░█▄▄█ ░█──░█ ░█▄▄▀   ─▀▀▀▄▄ ░█─░█ -░█▄▄█ ░█─░█ ░█─░█ ░█▄▄█ ▄█▄ ░█─░█ ░█▄▄▄█   ░█─── ░█▄▄▄█ ░█─░█   ░█▄▄▄█ ─▀▄▄▀ - -░█▀▀█ ░█▀▀█ ░█▀▀▀ ░█▀▀▀ ░█▀▀▀ ░█▀▀█ ░█▀▀▀ ░█▄─░█ ░█▀▀█ ▀█▀ ─█▀▀█ -░█▄▄█ ░█▄▄▀ ░█▀▀▀ ░█▀▀▀ ░█▀▀▀ ░█▄▄▀ ░█▀▀▀ ░█░█░█ ░█─── ░█─ ░█▄▄█ -░█─── ░█─░█ ░█▄▄▄ ░█─── ░█▄▄▄ ░█─░█ ░█▄▄▄ ░█──▀█ ░█▄▄█ ▄█▄ ░█─░█\n\e[0m" -echo -e "\e[31m -_░▒███████ -░██▓▒░░▒▓██ -██▓▒░__░▒▓██___██████ -██▓▒░____░▓███▓__░▒▓██ -██▓▒░___░▓██▓_____░▒▓██ -██▓▒░_______________░▒▓██ -_██▓▒░______________░▒▓██ -__██▓▒░____________░▒▓██ -___██▓▒░__________░▒▓██ -____██▓▒░________░▒▓██ -_____██▓▒░_____░▒▓██ -______██▓▒░__░▒▓██ -_______█▓▒░░▒▓██ -_________░▒▓██ -_______░▒▓██ -_____░▒▓██\n\e[0m" - -sleep 15 && pkill mpv > /dev/null 2>&1 && sleep 2 && rm -f /data/data/com.termux/files/home/"$random_mp3" & -echo -e "\033[01;32m\033[01mIniciando LoliBot!!\n\033[0m" +echo "Iniciando el bot..." npm start diff --git a/jadibts/file b/jadibts/file deleted file mode 100644 index b5534ac7b..000000000 --- a/jadibts/file +++ /dev/null @@ -1 +0,0 @@ -//sub bot diff --git a/koyeb.js b/koyeb.js deleted file mode 100644 index 0c3f35162..000000000 --- a/koyeb.js +++ /dev/null @@ -1,16 +0,0 @@ -FROM fedora:37 - -RUN sudo dnf -y update &&\ - sudo dnf install -y https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm &&\ - sudo dnf install -y git ffmpeg ImageMagick nodejs yarnpkg libwebp &&\ - sudo dnf clean all -y - -RUN git clone https://github.com/elrebelde21/The-LoliBot-MD - -WORKDIR /root/The-LoliBot-MD - -COPY ./root/The-LoliBot-MD - -RUN yarn install - -CMD ["node", "index.js"] diff --git a/lib/antiArab.json b/lib/antiArab.json deleted file mode 100644 index ee000c046..000000000 --- a/lib/antiArab.json +++ /dev/null @@ -1,2 +0,0 @@ -["212", "265", "92", "91", "90", "210", "60", "61", "62", "40", "48", "49", "93", "94", "98", "258"] - diff --git a/lib/canvas.js b/lib/canvas.js deleted file mode 100644 index d0c380bda..000000000 --- a/lib/canvas.js +++ /dev/null @@ -1,65 +0,0 @@ -import {spawn} from 'child_process'; -import {join} from 'path'; - -const __dirname = global.__dirname(import.meta.url); -/** - * Levelup image - * @param {String} teks - * @param {Number} level - * @return {Promise} - */ -export function levelup(teks, level) { - return new Promise(async (resolve, reject) => { - if (!(global.support.convert || global.support.magick || global.support.gm)) return reject('Not Support!'); - const font = join(__dirname, '../src/font'); - const fontLevel = join(font, './level_c.otf'); - const fontTexts = join(font, './texts.otf'); - const xtsx = join(__dirname, '../src/lvlup_template.jpg'); - let anotations = '+1385+260'; // gapake else if kadang error - if (level > 2) anotations = '+1370+260'; - if (level > 10) anotations = '+1330+260'; - if (level > 50) anotations = '+1310+260'; - if (level > 100) anotations = '+1260+260'; - - const [_spawnprocess, ..._spawnargs] = [...(global.support.gm ? ['gm'] : global.support.magick ? ['magick'] : []), - 'convert', - xtsx, - '-font', - fontTexts, - '-fill', - '#0F3E6A', - '-size', - '1024x784', - '-pointsize', - '68', - '-interline-spacing', - '-7.5', - '-annotate', - '+153+200', - teks, - // original together - '-font', - fontLevel, - '-fill', - '#0A2A48', - '-size', - '1024x784', - '-pointsize', - '140', - '-interline-spacing', - '-1.2', - '-annotate', - anotations, - level, - '-append', - 'jpg:-', - ]; - const bufs = []; - spawn(_spawnprocess, _spawnargs) - .on('error', reject) - .on('close', () => { - return resolve(Buffer.concat(bufs)); - }) - .stdout.on('data', (chunk) => bufs.push(chunk)); - }); -} diff --git a/lib/cloudDBAdapter.js b/lib/cloudDBAdapter.js deleted file mode 100644 index feff57dd3..000000000 --- a/lib/cloudDBAdapter.js +++ /dev/null @@ -1,58 +0,0 @@ -import got from 'got'; - -const stringify = (obj) => JSON.stringify(obj, null, 2); -const parse = (str) => JSON.parse(str, (_, v) => { - if ( - v !== null && - typeof v === 'object' && - 'type' in v && - v.type === 'Buffer' && - 'data' in v && - Array.isArray(v.data)) { - return Buffer.from(v.data); - } - return v; -}); -class CloudDBAdapter { - constructor(url, { - serialize = stringify, - deserialize = parse, - fetchOptions = {}, - } = {}) { - this.url = url; - this.serialize = serialize; - this.deserialize = deserialize; - this.fetchOptions = fetchOptions; - } - - async read() { - try { - const res = await got(this.url, { - method: 'GET', - headers: { - 'Accept': 'application/json;q=0.9,text/plain', - }, - ...this.fetchOptions, - }); - if (res.statusCode !== 200) throw res.statusMessage; - return this.deserialize(res.body); - } catch (e) { - return null; - } - } - - async write(obj) { - const res = await got(this.url, { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - ...this.fetchOptions, - body: this.serialize(obj), - }); - if (res.statusCode !== 200) throw res.statusMessage; - return res.body; - } -} - -export default CloudDBAdapter; diff --git a/lib/converter.js b/lib/converter.js index a5f8cb15a..7f9c75c5f 100644 --- a/lib/converter.js +++ b/lib/converter.js @@ -1,47 +1,45 @@ -import {promises} from 'fs'; -import {join} from 'path'; -import {spawn} from 'child_process'; +import { promises as fs } from 'fs'; +import { join, dirname } from 'path'; +import { spawn } from 'child_process'; +import { fileURLToPath } from 'url'; + +const __dirname = dirname(fileURLToPath(import.meta.url)); function ffmpeg(buffer, args = [], ext = '', ext2 = '') { return new Promise(async (resolve, reject) => { try { - const tmp = join(global.__dirname(import.meta.url), '../tmp', + new Date + '.' + ext); - const out = tmp + '.' + ext2; - await promises.writeFile(tmp, buffer); - spawn('ffmpeg', [ - '-y', - '-i', tmp, - ...args, - out, - ]) - .on('error', reject) - .on('close', async (code) => { - try { - await promises.unlink(tmp); - if (code !== 0) return reject(code); - resolve({ - data: await promises.readFile(out), - filename: out, - delete() { - return promises.unlink(out); - }, - }); - } catch (e) { - reject(e); - } - }); + const tmpFile = join(__dirname, '../tmp', Date.now() + '.' + ext); + const outFile = tmpFile + '.' + ext2; + + await fs.writeFile(tmpFile, buffer); + + spawn('ffmpeg', ['-y', '-i', tmpFile, ...args, outFile]) + .on('error', reject) + .on('close', async (code) => { + try { + await fs.unlink(tmpFile); + if (code !== 0) return reject(new Error(`ffmpeg exited with code ${code}`)); + + const data = await fs.readFile(outFile); + await fs.unlink(outFile); + + resolve({ + data, + filename: outFile, + delete() { + return fs.unlink(outFile); + } + }); + } catch (e) { + reject(e); + } + }); } catch (e) { reject(e); } }); } -/** - * Convert Audio to Playable WhatsApp Audio - * @param {Buffer} buffer Audio Buffer - * @param {String} ext File Extension - * @return {Promise<{data: Buffer, filename: String, delete: Function}>} - */ function toPTT(buffer, ext) { return ffmpeg(buffer, [ '-vn', @@ -51,12 +49,6 @@ function toPTT(buffer, ext) { ], ext, 'ogg'); } -/** - * Convert Audio to Playable WhatsApp PTT - * @param {Buffer} buffer Audio Buffer - * @param {String} ext File Extension - * @return {Promise<{data: Buffer, filename: String, delete: Function}>} - */ function toAudio(buffer, ext) { return ffmpeg(buffer, [ '-vn', @@ -67,12 +59,6 @@ function toAudio(buffer, ext) { ], ext, 'opus'); } -/** - * Convert Audio to Playable WhatsApp Video - * @param {Buffer} buffer Video Buffer - * @param {String} ext File Extension - * @return {Promise<{data: Buffer, filename: String, delete: Function}>} - */ function toVideo(buffer, ext) { return ffmpeg(buffer, [ '-c:v', 'libx264', @@ -85,8 +71,8 @@ function toVideo(buffer, ext) { } export { - toAudio, + ffmpeg, toPTT, + toAudio, toVideo, - ffmpeg, }; diff --git a/lib/database.js b/lib/database.js deleted file mode 100644 index ba020924b..000000000 --- a/lib/database.js +++ /dev/null @@ -1,70 +0,0 @@ -import {resolve, dirname as _dirname} from 'path'; -import _fs, {existsSync, readFileSync} from 'fs'; -const {promises: fs} = _fs; - -class Database { - /** - * Create new Database - * @param {String} filepath Path to specified json database - * @param {...any} args JSON.stringify arguments - */ - constructor(filepath, ...args) { - this.file = resolve(filepath); - this.logger = console; - - this._load(); - - this._jsonargs = args; - this._state = false; - this._queue = []; - this._interval = setInterval(async () => { - if (!this._state && this._queue && this._queue[0]) { - this._state = true; - await this[this._queue.shift()]().catch(this.logger.error); - this._state = false; - } - }, 1000); - } - - get data() { - return this._data; - } - - set data(value) { - this._data = value; - this.save(); - } - - /** - * Queue Load - */ - load() { - this._queue.push('_load'); - } - - /** - * Queue Save - */ - save() { - this._queue.push('_save'); - } - - _load() { - try { - return this._data = existsSync(this.file) ? JSON.parse(readFileSync(this.file)) : {}; - } catch (e) { - this.logger.error(e); - return this._data = {}; - } - } - - async _save() { - const dirname = _dirname(this.file); - if (!existsSync(dirname)) await fs.mkdir(dirname, {recursive: true}); - await fs.writeFile(this.file, JSON.stringify(this._data, ...this._jsonargs)); - return this.file; - } -} - -export default Database; - diff --git a/lib/ezgif-convert.js b/lib/ezgif-convert.js new file mode 100644 index 000000000..87d8d4868 --- /dev/null +++ b/lib/ezgif-convert.js @@ -0,0 +1,773 @@ +import { + FormData +} from 'formdata-node'; +import axios from 'axios'; + +const linksConvert = { + "video-gif": { + "url": "https://ezgif.com/video-to-gif", + "params": { + "start": 0, + "end": 10, + "size": "original", + "fps": 10, + "method": "ffmpeg" + }, + "req_params": [], + "split": { + "start": "Your browser" + }, + "either_params": [] + }, + "video-jpg": { + "url": "https://ezgif.com/video-to-jpg", + "params": { + "start": 0, + "end": 10, + "size": "original", + "fps": 10 + }, + "req_params": [], + "split": { + "start": "\"small button danger\" href=\"", + "end": "\">Download frames as ZIP" + }, + "either_params": [] + }, + "video-png": { + "url": "https://ezgif.com/video-to-png", + "params": { + "start": 0, + "end": 10, + "size": "original", + "fps": 10 + }, + "req_params": [], + "split": { + "start": "\"small button danger\" href=\"", + "end": "\">Download frames as ZIP" + }, + "either_params": [] + }, + "gif-png": { + "url": "https://ezgif.com/split", + "params": { + "method": "im" + }, + "req_params": [], + "split": { + "start": "\"small button danger\" href=\"", + "end": "\">Download frames as ZIP" + }, + "either_params": [] + }, + "gif-sprite": { + "url": "https://ezgif.com/gif-to-sprite", + "params": {}, + "req_params": [ + "format" + ], + "split": { + "start": "Download frames as ZIP" + }, + "either_params": ["by-grid", "by-size"] + }, + "sprite-img": { + "url": "https://ezgif.com/sprite-cutter", + "params": {}, + "req_params": ["format"], + "split": { + "start": "\"small button danger\" href=\"", + "end": "\">Download frames as ZIP" + }, + "either_params": ["by-grid", "by-size"] + }, + "bmp-jpg": { + "url": "https://ezgif.com/bmp-to-jpg", + "params": { + "format": "jpg" + }, + "req_params": [], + "split": { + "start": "Download all files as ZIP archive" + }, + "either_params": [] + }, + "svg-png": { + "url": "https://ezgif.com/svg-to-png", + "params": { + "currentcolor": "#000000" + }, + "req_params": [], + "split": { + "start": "" + }, + "either_params": [] + }, + "mng-apng": { + "url": "https://ezgif.com/mng-to-apng", + "params": {}, + "req_params": [], + "split": { + "start": "Download all files as ZIP archive" + }, + "either_params": [] + }, + "webp-png": { + "url": "https://ezgif.com/webp-to-png", + "params": {}, + "req_params": [], + "split": { + "start": "Your browser" + }, + "either_params": [] + }, + "video-avif": { + "url": "https://ezgif.com/video-to-avif", + "params": { + "start": 0, + "end": 10, + "size": "original", + "fps": 10 + }, + "req_params": [], + "split": { + "start": " { + if (!org_keys.includes(e)) throw new Error(`"${e}" is a required param.`); + }); + } + if (type.either_params.length) { + let check = false; + type.either_params.forEach(e => { + if (org_keys.includes(e)) check = true; + }); + if (!check) throw new Error(`Either one of these params has to be provided: ${type.either_params.join(', ')}`); + } + + let link = await axios({ + method: 'post', + url: type.url, + headers: { + 'Content-Type': 'multipart/form-data', + }, + data: form, + }).catch(function(error) { + if (error.response) { + throw new Error( + JSON.stringify({ + statusCode: error.response.status, + data: error.response.data.length ? error.response.data : "Try again. If it continues, report to the creator.", + }, + null, + 4 + ) + ); + } else { + throw new Error("Oops, something unknown happened! :("); + } + }); + + let redir = String(link?.request?.res?.responseUrl); + if (!redir) throw new Error(`Oops! Something unknown happened!`); + let id = redir.split('/')[redir.split('/').length - 1]; + type.params.file = id; + + let image = await axios({ + method: 'post', + url: `${redir}?ajax=true`, + headers: { + 'Content-Type': 'application/x-www-form-urlencoded', + }, + data: new URLSearchParams({ + ...type.params, + ...fields, + }), + }).catch(function(error) { + if (error.response) { + throw new Error( + JSON.stringify({ + statusCode: error.response.status, + data: error.response.data.length ? error.response.data : "Try again. If it continues, report to the creator.", + }, + null, + 4 + ) + ); + } else { + throw new Error("Oops, something unknown happened! :("); + } + }); + + let img_url = `https:${(image?.data?.toString()?.split(type.split.start)?.[1]?.split(type.split.end)?.[0])?.replace('https:', '')}`; + if (img_url.includes('undefined')) throw new Error(`Something unknown happened here... please report to the creator`); + return img_url; +} + +async function overlay(fields) { + let form = new FormData(); + let form_over = new FormData(); + form.append('new-image', fields.file, { + filename: fields.filename, + }); + + let link = await axios({ + method: 'post', + url: 'https://ezgif.com/overlay', + headers: { + 'Content-Type': 'multipart/form-data', + }, + data: form + }).catch(function(error) { + if (error.response) { + throw new Error(JSON.stringify({ + statusCode: error.response.status, + data: error.response.data.length ? error.response.data : "Try again. If it continues, report to the creator." + }, null, 4)) + } else { + throw new Error("Oops, something unknown happened! :(") + } + }); + + let redir = String(link?.request?.res?.responseUrl); + if (!redir) throw new Error(`Oops! Something unknown happened!`); + let id = redir.split('/')[redir.split('/').length - 1]; + + form_over.append('new-overlay', Buffer.from(fields.overlay.file), { + filename: `${fields.overlay.filename}`, + }); + form_over.append('overlay', 'Upload image!'); + + let link_over = await axios({ + method: 'post', + url: redir, + headers: { + 'Content-Type': 'multipart/form-data', + }, + data: form_over + }).catch(function(error) { + if (error.response) { + throw new Error(JSON.stringify({ + statusCode: error.response.status, + data: error.response.data.length ? error.response.data : "Try again. If it continues, report to the creator." + }, null, 4)) + } else { + throw new Error("Oops, something unknown happened! :(") + } + }); + + let redir_over = String(link_over?.request?.res?.responseUrl); + if (!redir_over) throw new Error(`Oops! Something unknown happened!`); + let id_over = redir_over.split('/')[redir_over.split('/').length - 1]; + + let image = await axios({ + method: 'post', + url: `${redir_over}?ajax=true`, + headers: { + 'Content-Type': 'application/x-www-form-urlencoded' + }, + data: new URLSearchParams({ + file: id, + 'overlay-file': id_over, + posX: fields.x || 0, + posY: fields.y || 0 + }) + }).catch(function(error) { + if (error.response) { + throw new Error(JSON.stringify({ + statusCode: error.response.status, + data: error.response.data.length ? error.response.data : "Try again. If it continues, report to the creator." + }, null, 4)) + } else { + throw new Error("Oops, something unknown happened! :(") + } + }); + + let img_url = `https:${(image?.data?.toString()?.split('Toggle a range of frames:')[0].split('').slice(0, -1).map(i => i.split('value="')[1].split('" name="files[]"')[0]).forEach(e => { + fields['files[]'].push(e) + }); + let image = await axios({ + method: 'post', + url: `${redir}?ajax=true`, + headers: { + 'Content-Type': 'application/x-www-form-urlencoded' + }, + data: new URLSearchParams(fields) + }).catch(function(error) { + if (error.response) { + throw new Error(JSON.stringify({ + statusCode: error.response.status, + data: error.response.data.length ? error.response.data : "Try again. If it continues, report to the creator." + }, null, 4)) + } else { + throw new Error("Oops, something unknown happened! :(") + } + }); + + let img_url = `https:${(image?.data?.toString()?.split(' { return '😻 ممتاز GataBot-MD - WhatsApp '} -const smsApagar = () => { return '❌ تعطيل'} -const smsEncender = () => { return '✅ تفعيل'} -const smsEnlaceTik = () => { return `*تم اكتشاف رابط TIKTOK محظور في هذه المجموعة*\n\n*لقد شرعت في حذفك*`} -const smsEnlaceYt = () => { return `*تم اكتشاف رابط YOUTUBE محظور في هذه المجموعة*\n\n*لقد شرعت في حذفك*`} -const smsEnlaceTel = () => { return `*تم اكتشاف رابط TELEGRAM محظور في هذه المجموعة*\n\n*لقد شرعت في حذفك*`} -const smsEnlaceFb = () => { return `*تم اكتشاف رابط FACEBOOK محظور في هذه المجموعة*\n\n*لقد شرعت في حذفك*`} -const smsEnlaceIg = () => { return `*تم اكتشاف رابط INSTAGRAM محظور في هذه المجموعة*\n\n*لقد شرعت في حذفك*`} -const smsEnlaceTw = () => { return `*تم اكتشاف رابط TWITTER محظور في هذه المجموعة*\n\n*لقد شرعت في حذفك*`} -const smsAllAdmin = () => { return `*أحتاج إلى أن أكون مشرفًا لأكون قادرًا على إزالة المتطفلين*`} -const smsSoloOwner = () => { return `*يجب على خالقي تنشيط الوظيفة*\n*#on restrict*`} - -//handler.js -const smsCont1 = () => { return `*🔴 فشل الأمر 🔴*`} -const smsCont2 = () => { return `*⚠️ PLUGIN:*`} -const smsCont3 = () => { return `*⚠️المستعمل:*`} -const smsCont4 = () => { return `*⚠️ أمر:*`} -const smsCont5 = () => { return `*⚠️ خطأ:*`} -const smsCont6 = () => { return `*❗ أبلغ عن هذه الرسالة باستخدام الأمر #reporte من أجل حلها*`} -const smsCont7 = () => { return `${global.lenguajeGB['smsAvisoAG']()}*ليس لديها ماسات!! 💎 يمكنك الذهاب إلى المتجر باستخدام الأمر*`} -const smsCont8 = () => { return ` *الماس 💎 تستخدم*`} -const smsCont9 = () => { return `${global.lenguajeGB['smsAvisoAG']()}*بحاجة إلى المستوى ➡️*`} -const smsCont10 = () => { return `*لاستخدام هذا الأمر. المستوى الحالي الخاص بك هو ➡️*`} -const smsCont11 = () => { return `*التحديث باستخدام الأمر*`} -const smsCont12 = () => { return `مجموعة كبيرة!! 😼`} -const smsCont13 = () => { return `انضم شخص ما!! 🥳`} -const smsCont14 = () => { return `بقي شخص ما!! 🧐`} -const smsCont15 = () => { return `*أهلا*`} -const smsCont16 = () => { return `*مكالمات الفيديو* 📲`} -const smsCont17 = () => { return `*المكالمات* 📞`} -const smsCont18 = () => { return `*غير مصرح لهم بذلك ، لذا سأقوم بمنعك*\n\n*إذا تم الاتصال بك عن طريق حادث ، فاتصل بمنشئ هذا الروبوت*`} -const smsCont19 = () => { return `منع الحذف`} -const smsCont20 = () => { return `*┃✤ اسم:*`} -const smsCont21 = () => { return `*┃✤ إرسال الرسالة المحذوفة ...*`} - -//_anti-internacional.js -const smsInt1 = () => { return `*هذا العدد*`} -const smsInt2 = () => { return `*غير مسموح به في هذه المجموعة !!*`} - -//_antilink.js -const smsAdwa = () => { return `${global.lenguajeGB['smsAvisoEG']()}*نظرًا لأنك مسؤول في هذه المجموعة ، فلن تتم إزالتك*`} -const smsEnlaceWat = () => { return `${lenguajeGB['smsAvisoAG']()}*تم اكتشاف رابط WHATSAPP محظور في هذه المجموعة*\n\n*لقد شرعت في حذفك*`} - -//_antilink2.js -const smsEnlaceWatt = () => { return `${lenguajeGB['smsAvisoAG']()}تم اكتشاف ارتباط محظور يحتوي على HTTPS في هذه المجموعة\n\nلقد شرعت في حذفك`} - -//_antispam.js -const smsNoSpam = () => { return `🤨 لا تزعجك ، فلن تكون قادرًا على الاستخدام ${global.packname} إلى عن على ${60000 / 1000 - 59} اللحظة`} - -//_antispam_.js -const smsNoSpam2 = () => { return `كان غير محظور بعد ${60000 / 1000 - 59} اللحظة. من فضلك لا تزعج !!`} - -//نص -const smsConMenu = () => { return `☘️ MENU`} - -//خطأ -const smsMalError = () => { return `${lenguajeGB['smsAvisoFG']()}\`\`\`لقد حدث خطأ غير متوقع.\`\`\``} -const smsMalError2 = () => { return `${lenguajeGB['smsAvisoFG']()}\`\`\`لقد نشأ إزعاج. حاول مرة أخرى.\`\`\``} -const smsMalError3 = () => { return `${lenguajeGB['smsAvisoFG']()}\`\`\`حدث خطأ ما ، أبلغ عن هذا الأمر باستخدام:\`\`\`\n`} - -//_antitoxic.js -const smsToxic1 = () => { return `لا !!! 🤬 قل هذه الكلمة`} -const smsToxic2 = () => { return `ممنوع ألا تكون سامة`} -const smsToxic3 = () => { return `*تحذير*\n⚠️`} -const smsToxic4 = () => { return `😭 أنا اسف`} -const smsToxic5 = () => { return `☢️ تعطيل مضاد للسموم`} -const smsToxic6 = () => { return `لقد حذرتك عدة مرات !!`} -const smsToxic7 = () => { return `لقد تجاوزت جميع تحذيرات 4 الآن سيتم التخلص منك 🙄`} - -//متجر -const eExp = () => { return '⚡ Experience' } -const eDiamante = () => { return '💎 Diamond' } -const eDiamantePlus = () => { return '💎+ Diamond+' } -const eToken = () => { return '🪙 Token' } -const eEsmeralda = () => { return '💚 Emerald' } -const eJoya = () => { return '♦️ Jewel' } -const eMagia = () => { return '🌀 Magic' } -const eOro = () => { return '👑 Gold' } -const eGataCoins = () => { return '🐱 GataCoins' } -const eGataTickers = () => { return '🎫 Gata Tickers' } -const eEnergia = () => { return '✨ Energy' } - -const ePocion = () => { return '🥤 Potion' } -const eAgua = () => { return '💧 Water' } -const eBasura = () => { return '🗑 Trash' } -const eMadera = () => { return '🪵 Wood' } -const eRoca = () => { return '🪨 Rock' } -const ePiedra = () => { return '🥌 Stone' } -const eCuerda = () => { return '🕸️ String' } -const eHierro = () => { return '⛓️ Iron' } -const eCarbon = () => { return '⚱️ Coal' } -const eBotella = () => { return '🍶 Bottle' } -const eLata = () => { return '🥫 Can' } -const eCarton = () => { return '🪧 Paperboard' } - -const eEletric = () => { return '💡 Electricity' } -const eBarraOro = () => { return '〽️ Gold bar' } -const eOroComun = () => { return '🧭 Common Gold' } -const eZorroG = () => { return '🦊🌫️ Big Fox' } -const eBasuraG = () => { return '🗑🌫️ Super Trash' } -const eLoboG = () => { return '🐺🌫️ Super Wolf' } -const eMaderaG = () => { return '🛷🌫️ Super Wood' } -const eEspada = () => { return '⚔️ Sword' } -const eCarnada = () => { return '🪱 Bait' } -const eBillete = () => { return '💵 Banknotes' } -const ePinata = () => { return '🪅 Pinata' } -const eGancho = () => { return '🪝 Hook' } -const eCanaPescar = () => { return '🎣 Fishing Rod' } - -const eCComun = () => { return '📦 Common Box' } -const ePComun = () => { return '🥡 Uncommon Box' } -const eCMistica = () => { return '🗳️ Mythic Box' } -const eCMascota = () => { return '📫 Pet Box' } -const eCJardineria = () => { return '💐 Gardening Box' } -const eClegendaria = () => { return '🎁 Legendary Box' } - -const eUva = () => { return '🍇 Grape' } -const eManzana = () => { return '🍎 Apple' } -const eNaranja = () => { return '🍊 Orange' } -const eMango = () => { return '🥭 Mango' } -const ePlatano = () => { return '🍌 Banana' } - -const eSUva = () => { return '🌾🍇 Grape seeds' } -const eSManzana = () => { return '🌾🍎 Apple seeds' } -const eSNaranja = () => { return '🌾🍊 Orange seeds' } -const eSMango = () => { return '🌾🥭 Mango Seeds' } -const eSPlatano = () => { return '🌾🍌 Banana seeds' } - -const eCentauro = () => { return '🐐 Centaur' } -const eAve = () => { return '🦅 Bird' } -const eGato = () => { return '🐈 Cat' } -const eDragon = () => { return '🐉 Dragon' } -const eZorro = () => { return '🦊 Fox' } -const eCaballo = () => { return '🐎 Horse' } -const eFenix = () => { return '🕊️ Phoenix' } -const eLobo = () => { return '🐺 Wolf' } -const ePerro = () => { return '🐶 Dog' } - -const eAMascots = () => { return '🍖 Pet Food' } -const eCCentauro = () => { return '🐐🥩 Centaur Food' } -const eCAve = () => { return '🦅🥩 Bird Food' } -const eCMagica = () => { return '🌀🥩 Magic Food' } -const eCDragon = () => { return '🐉🥩 Dragon Food' } -const eACaballo = () => { return '🐎🥩 Horse Food' } -const eCFenix = () => { return '🕊️🥩 Phoenix Food' } - -//info-grupos-lista.js -const smsLisA = () => { return '_*يوجد في هذه المجموعات:*_'} -const smsLisB = () => { return '*⭔ إجمالي المجموعات:*'} -const smsLisC = () => { return '*⋄ تَجَمَّع:*'} -const smsLisD = () => { return '*⋄ ID:*'} -const smsLisE = () => { return '*⋄ مشاركون:*'} - -//config-on y off.js -const smsWel1 = () => { return `🎉 أهلا بك`} -const smsWel2 = () => { return `رسالة ترحيب للأعضاء الجدد في المجموعات`} -const smsDete1 = () => { return `🔔 إشعارات`} -const smsDete2 = () => { return `إشعارات الإجراءات داخل المجموعة`} -const smsANivel1 = () => { return `🆙 مستوى ذاتي`} -const smsANivel2 = () => { return `رفع مستوى الجميع تلقائيًا ؛ (يطبق المكافآت على رفع المستوى)`} -const smsRestri1 = () => { return `⛔ لتقييد`} -const smsRestri2 = () => { return `قم بتمكين وظيفة إضافة أو إزالة الأشخاص في المجموعات`} -const smsLlamar1 = () => { return `🚫 المكالمات المضادة`} -const smsLlamar2 = () => { return `حظر الأشخاص الذين يجرون المكالمات`} -const smsAntiSp1 = () => { return `🚯 مكافحة البريد المزعج`} -const smsAntiSp2 = () => { return `حظر استخدام الأوامر عندما يقوم شخص ما بتنفيذ نوع من البريد العشوائي`} -const smsModP1 = () => { return `🌐 الوضع العام`} -const smsModP2 = () => { return `تمكين الوظيفة حتى يتمكن الجميع من استخدام GataBot`} -const smsModAd1 = () => { return `🛂 وضع المشرف`} -const smsModAd2 = () => { return `سيتمكن المسؤولون فقط من استخدام GataBot في المجموعات`} -const smsLect1 = () => { return `✅ القراءة التلقائية`} -const smsLect2 = () => { return `اترك الرسائل أو الدردشات كـ "مقروءة"`} -const smsTempo1 = () => { return `🐈 بوت مؤقت`} -const smsTempo2 = () => { return `وظيفة تسمح بالبقاء المؤقت في المجموعات`} -const smsStik1 = () => { return `🎠 ملصقات`} -const smsStik2 = () => { return `تفعيل الإرسال التلقائي للملصقات للجميع`} -const smsStickA1 = () => { return `🪄 ملصقات تلقائية`} -const smsStickA2 = () => { return `مقاطع فيديو أو صور متحركة أو صور أو روابط jpg أو jpeg ؛ سيتم تحويلها إلى ملصقات تلقائيًا`} -const smsReacc1 = () => { return `🤡 تفاعل `} -const smsReacc2 = () => { return `تمكين الإرسال التلقائي للردود على الرسائل`} -const smsAudi1 = () => { return `🔊 صوتي`} -const smsAudi2 = () => { return `تمكين الإرسال التلقائي للتسجيلات الصوتية للجميع`} -const smsModHor1 = () => { return `🔞 الوضع الساخن`} -const smsModHor2 = () => { return `عرض محتوى للبالغين في الدردشات`} -const smsAntitoc1 = () => { return `☢️ مضاد للسموم`} -const smsAntitoc2 = () => { return `إرسال تحذيرات لأولئك الذين يهينون`} -const smsModOb1 = () => { return `👀 وضع المراقبة`} -const smsModOb2 = () => { return `اجعل الصور والصور المتحركة ومقاطع الفيديو قابلة للعرض للجميع`} -const smsAntiEli1 = () => { return `🗑️ منع الحذف`} -const smsAntiEli2 = () => { return `ستتم إعادة توجيه جميع الرسائل المحذوفة إلى الدردشة أو المجموعة`} -const smsAntiInt1 = () => { return `🌏 مضاد دولي`} -const smsAntiInt2 = () => { return `حذف الأرقام الدولية التي تعتبر وهمية`} -const smsAntiE1 = () => { return `🔗 الروابط المضادة`} -const smsAntiE2 = () => { return `احذف الأشخاص الذين يرسلون روابط من مجموعات WhatsApp`} -const smsAntiEE1 = () => { return `🔗 الروابط المضادة 2`} -const smsAntiEE2 = () => { return `قم بإزالة الأشخاص الذين يرسلون روابط تحتوي على https`} -const smsAntiTT1 = () => { return `🔗 أنتي تيك توك`} -const smsAntiTT2 = () => { return `إزالة الأشخاص الذين يرسلون روابط TikTok`} -const smsAntiYT1 = () => { return `🔗 يوتيوب ممنوع`} -const smsAntiYT2 = () => { return `إزالة الأشخاص الذين يرسلون روابط YouTube`} -const smsAntiTEL1 = () => { return `🔗 أنتي تليغرام`} -const smsAntiTEL2 = () => { return `إزالة الأشخاص الذين يرسلون روابط Telegram`} -const smsAntiFB1 = () => { return `🔗 الفيسبوك محظور`} -const smsAntiFB2 = () => { return `قم بإزالة الأشخاص الذين يرسلون روابط Facebook`} -const smsAntiIG1 = () => { return `🔗 مضاد إنستغرام`} -const smsAntiIG2 = () => { return `قم بإزالة الأشخاص الذين يرسلون روابط Instagram`} -const smsAntiTW1 = () => { return `🔗 مضاد للتويتر `} -const smsAntiTW2 = () => { return `إزالة الأشخاص الذين يرسلون روابط Twitter`} -const smsSOLOP1 = () => { return `⚜️ خاص فقط`} -const smsSOLOP2 = () => { return `السماح باستخدامه فقط في الدردشات الخاصة`} -const smsSOLOG1 = () => { return `⚜️ المجموعات فقط`} -const smsSOLOG2 = () => { return `السماح باستخدامه فقط في الدردشات الجماعية`} -const smsConfi1 = () => { return `الإعدادات`} -const smsConfi2 = () => { return `*مرحبا!*`} -const smsConfi3 = () => { return `┃ *حدد خيارًا من القائمة*`} -const smsConfi4 = () => { return `┃ *للبدء في التكوين*`} -const smsConfi5 = () => { return `┃● *إشعارات التكوين:*`} -const smsConfi6 = () => { return `┃ ✅ ⇢ *تم تفعيل الوظيفة*`} -const smsConfi7 = () => { return `┃ ❌ ⇢ *وظيفة معطلة*`} -const smsConfi8 = () => { return `┃ ⚠️ ⇢ *هذه الدردشة ليست مجموعة*`} -const smsConfi9 = () => { return `┃ *توصية: لمعرفة التكوين*\n┃ *أكمل استخدام قائمة المجموعة هذه*\n┃`} -const smsConfi10 = () => { return `*~ مركز التكوين*`} -const smsParaAdmins = () => { return `للمشرفين والمبدعين: المجموعات`} -const smsParaAdYOw = () => { return `للمشرفين والمبدعين: الدردشات`} -const smsParaOw = () => { return `لمنشئ المحتوى: محادثات`} -const smsNoGg = () => { return ` | ⚠️`} -const smsMens1 = () => { return `يأمر`} -const smsMens2 = () => { return `في الوقت الحالي`} -const smsMens3 = () => { return `في هذا`} -const smsMens4 = () => { return `بوت`} -const smsMens5 = () => { return `محادثة`} - -//Error2 -const smsMensError1 = () => { return `❕ تقرير الأمر ❕`} -const smsMensError2 = () => { return `الأمر التالي يفشل`} - -//_antiviewonce.js -const smsAntiView = () => { return `*لا يمكن إخفاء أي شيء* 😎`} - -//_autolevelup.js -const smsAutoLv1 = () => { return `🎖️ مستوى جديد 🎖️`} -const smsAutoLv2 = () => { return `المستوى السابق:`} -const smsAutoLv3 = () => { return `المستوى الحالي:`} -const smsAutoLv4 = () => { return `نطاق:`} -const smsAutoLv5 = () => { return `تاريخ:`} -const smsAutoLv6 = () => { return `لقد وصلت إلى مستوى جديد!!!`} -const smsAutoLv7 = () => { return `🥳 مكافأة لمستواك الجديد`} - -//_autosticker.js -const smsAutoStik = () => { return `${lenguajeGB['smsAvisoFG']()}*يجب ألا يزيد الفيديو عن 7 ثوانٍ.*`} - -//_expired.js -const smsBottem1 = () => { return `*يترك المجموعة!!! 🤝 إذا كنت تريد أن تعود ، استخدم الأمر _#bottemporal_ للرجوع إلى المجموعة!!*`} -const smsBottem2 = () => { return `*💕 مساعدة المستخدم*\n*_${global.ig}_*\n`} -const smsBottem3 = () => { return `اراك قريبا 💖`} - -//_premium.js -const smsPremI = () => { return `*¡انتهى وقتك المميز!* 🎟️\n*للحصول على بطاقة بريميوم جديدة ، استخدم الأمر:*\n*#pass prem*`} - -//afk-_afk.js -const smsAfkM1 = () => { return `*لقد توقفت عن كونك غير نشط AFK*`} -const smsAfkM2 = () => { return `\n*سبب عدم النشاط كان:*\n`} -const smsAfkM3 = () => { return `⏳ *وقت الخمول:*`} -const smsAfkM4 = () => { return `*لا تضع علامة على هذا المستخدم!! إنه غير نشط*\n`} -const smsAfkM5 = () => { return `*سبب عدم نشاط AFK:*\n`} -const smsAfkM6 = () => { return `*سبب عدم نشاط AFK:\nلم يحدد سبب عدم النشاط*`} -const smsAfkTime = () => { return [['أيام'], ['ساعات'], ['دقائق'], ['ثواني']] } -const smsAfkResultTime = smsAfkTime() - -//afk-afk.js -const smsAfkQ1 = (usedPrefix, command) => { return `${lenguajeGB['smsAvisoMG']()}*اكتب سبب عدم نشاطه (AFK)*\n\n*مثال:*\n*${usedPrefix + command}* انا ذاهب للقيام بالواجب المنزلي`} -const smsAfkQ2 = () => { return `${lenguajeGB['smsAvisoMG']()}*يجب أن يكون هناك 10 أحرف على الأقل هي السبب*`} -const smsAfkM1A = () => { return `*لا تضع علامة على*`} -const smsAfkM1B = () => { return `*سيكون AFK غير نشط*\n\n*سبب عدم نشاط AFK:*`} - -//anonymous_chat.js -const smsChatAn1 = () => { return `${lenguajeGB['smsAvisoFG']()}*أنت لست في دردشة مجهولة*`} -const smsChatAn2 = () => { return `*إذا كنت تريد بدء محادثة مجهولة ، فاستخدم الأمر #start أو استخدم الزر أدناه*\n`} -const smsChatAn3 = () => { return `⚡ ابدأ محادثة مجهولة`} -const smsChatAn4 = () => { return `${lenguajeGB['smsAvisoRG']()}🪐 *لقد تركت الدردشة المجهولة*`} -const smsChatAn5 = () => { return `${lenguajeGB['smsAvisoAG']()}*ترك المستخدم الآخر الدردشة المجهولة*`} -const smsChatAn6 = () => { return `*إذا كنت تريد الذهاب إلى دردشة أخرى مجهولة ، فاستخدم الأمر #start أو استخدم الزر أدناه*\n`} -const smsChatAn7 = () => { return `${lenguajeGB['smsAvisoAG']()}*أنت لا تزال في دردشة مجهولة أو تنتظر أن ينضم شخص ما إلى الدردشة*`} -const smsChatAn8 = () => { return `*إذا كنت تريد الخروج من الدردشة المجهولة ، فاستخدم الأمر #leave أو يمكنك استخدام الزر أدناه*\n`} -const smsChatAn9 = () => { return `🍁 الخروج من الدردشة المجهولة`} -const smsChatAn10 = () => { return `${lenguajeGB['smsAvisoEG']()}✨ *يمكنهم الدردشة الآن*`} -const smsChatAn11 = () => { return `*شخص ما انضم إلى الدردشة المجهولة!!*`} -const smsChatAn12 = () => { return `❇️ مستخدم آخر`} -const smsChatAn13 = () => { return `${lenguajeGB['smsAvisoRG']()}🐈 *في انتظار انضمام شخص ما إلى الدردشة المجهولة ، يرجى التحلي بالصبر*`} - -//بوتونيس دي مينو -const smsBotonM1 = () => { return `⚡ قائمة البدأ ⚡`} -const smsBotonM2 = () => { return `💫 قائمة كاملة 💫`} -const smsBotonM3 = () => { return `🎒 المخزون 🎒`} -const smsBotonM4 = () => { return `المستخدمون`} -const smsBotonM5 = () => { return `نطاق`} -const smsBotonM6 = () => { return `مستوى`} -const smsBotonM7 = () => { return `الممتازة`} -const smsTex1 = () => { return '*قائمة البحث*'} -const smsTex2 = () => { return '*معدل الصوت*'} -const smsTex3 = () => { return '*قائمة +18*'} -const smsTex4 = () => { return '*المحتوى الديناميكي*'} -const smsTex5 = () => { return '*البحث والتحميل*'} -const smsTex6 = () => { return '*القائمة +18 قسط*'} -const smsTex7 = () => { return '⠇ *صور +18 جودة وتنوع*\n⠇ *فيديوهات +18 فقط لأجلك*\n⠇ *ملصقات +18 متاح*'} -const smsTex8 = () => { return '*ومدة أكثر*'} -const smsTex9 = () => { return '*قائمة التنزيلات*'} -const smsTex10 = () => { return '*قائمة الألعاب الديناميكية*'} -const smsTex11 = () => { return '*قائمة المجموعات*'} -const smsTex12 = () => { return '*قائمة الأدوات*'} -const smsTex13 = () => { return '*قائمة المعلومات*'} -const smsTex14 = () => { return '*قائمة التأثيرات والشعارات*'} -const smsTex15 = () => { return '*قائمة الشعارات 2*'} -const smsTex16 = () => { return 'قائمة الصوت'} -const smsTex17 = () => { return '*ليس من الضروري استخدام PREFIX في AUDIOS*'} -const smsTex18 = () => { return 'قائمة الصوت'} -const smsTex19 = () => { return '*يمكنك اختيار الصوت!!*'} -const smsTex20 = () => { return '*قائمة المالك*'} -const smsTex21 = () => { return '*قائمة آر بي جي*'} -const smsTex22 = () => { return '*قائمة الملصقات والمرشحات*'} -const smsTex23 = () => { return '*MEMES العشوائية وقائمة الرسوم المتحركة*'} - -//ad -const smsMalused = () => { return '⚡ *استخدم الأمر مثل هذا:*\n'} -const smsMalused2 = () => { return `${lenguajeGB['smsAvisoMG']()}🐈 *يجب عليك استخدام الأمر مثل هذا المثال:*\n`} -const smsMalused3 = () => { return `${lenguajeGB['smsAvisoMG']()}🐈 *يجب عليك استخدام الأمر أو الرد على رسالة شخص ما مثل هذا المثال:*\n`} - -//gc-config_time.js -const smsGrupoTime1 = () => { return '🔓 *_مجموعة مفتوحة في ساعة واحدة_*'} -const smsGrupoTime2 = () => { return '🔒 *_إغلاق المجموعة في ساعة واحدة_*'} -const smsGrupoTime3 = () => { return '*مجموعة'} -const smsGrupoTime4 = () => { return 'مغلق'} -const smsGrupoTime5 = () => { return 'افتح'} -const smsGrupoTime6 = () => { return '*أثناء'} -const smsGrupoTime7 = () => { return '🔒 *المجموعة مغلقة ، يمكن للمسؤولين فقط إرسال الرسائل*'} -const smsGrupoTime8 = () => { return '🔓 *المجموعة مفتوحة ، يمكن للجميع إرسال الرسائل*'} -const smsGrupoTime9 = () => { return '🔓 مجموعة مفتوحة أثناء '} -const smsGrupoTime10 = () => { return '🔒 إغلاق المجموعة أثناء '} -const smsGrupoTime11 = () => { return ' ساعة'} -const smsGrupoTime12 = () => { return 'السماح للمجموعة بالحضور '} -const smsGrupoTime13 = () => { return 'السماح للمجموعة بالاغلاق '} - -//grupo-add.js -const smsAddB1 = () => { return `${lenguajeGB['smsAvisoFG']()}*لا يمكن إضافة الرقم ، يرجى التحقق من صحته ، أو ربما خرج مؤخرًا أو تم تعيين خصوصيتك.*`} -const smsAddB2 = () => { return `${lenguajeGB['smsAvisoFG']()}*لا يمكن إضافة الرقم أو التحقق من صحته أو إضافته يدويًا.*`} - -//grupo-admins.js -const smsAddB3 = () => { return `*إخطار للمسؤولين*`} -const smsAddB4 = () => { return `*حضور المشرف*`} -const smsAddB5 = () => { return `*رسالة:*`} -const smsAddB6 = () => { return `أطلب المدراء من فضلك.`} - -//grupo-advertencia.js -const smsAdveu1 = () => { return `${lenguajeGB['smsAvisoAG']()}*يمكن استخدامه فقط في حالة تنشيط الوظيفة:*\n`} -const smsAdveu2 = () => { return 'سبب'} -const smsAdveu3 = () => { return `${lenguajeGB['smsAvisoMG']()}*تذكر أن تكتب سبب التحذير*\n`} -const smsAdveu4 = () => { return '*تلقيت تحذيرًا في هذه المجموعة !!*'} -const smsAdveu5 = () => { return 'تحذير'} -const smsAdveu6 = () => { return '🎒 المخزون'} -const smsAdveu7 = () => { return '*لقد حذرتك عدة مرات !!*'} -const smsAdveu8 = () => { return '*الآن سيتم حذفك* 🙄'} -const smsAdveu9 = () => { return '😇 شكرا لك'} -const smsAdveu10 = () => { return '*تمت إزالة تحذير في هذه المجموعة!!*'} -const smsAdveu11 = () => { return 'قبل:'} -const smsAdveu12 = () => { return 'حاليا:'} - -//grupo-demote.js || grupo-promote.js -const smsDemott = () => { return `*الرقم غير صالح ، حاول مرة أخرى الرد على رسالة شخص ما أو استخدمه مثل هذا المثال:*\n`} -const smsDemott2 = () => { return '*الآن لديه قوة في المجموعة !!*'} -const smsDemott3 = () => { return '*لم يعد لديه قوة في المجموعة!!*'} - -//grupo-info.js -const smsGI1 = () => { return '*معلومات المجموعة*'} -const smsGI2 = () => { return '*معرف مجموعة*'} -const smsGI3 = () => { return '*أسم المجموعة*'} -const smsGI4 = () => { return '*وصف المجموعة*'} -const smsGI5 = () => { return '*بدون وصف*'} -const smsGI6 = () => { return '*عدد المستخدمين*'} -const smsGI7 = () => { return '*المستخدمون*'} -const smsGI8 = () => { return '*منشئ المجموعة*'} -const smsGI9 = () => { return '*المشرف مجموعة*'} -const smsGI10 = () => { return '⚙️ إعدادات المجموعة'} - -//grupo-kick.js -const smskick1 = () => { return `${lenguajeGB['smsAvisoAG']()}*ضع علامة على الشخص أو رد على رسالة الشخص الذي تريد حذفه*\n\n*مثال: `} -const smskick2 = () => { return `إزالة 😼🫵`} -const smskick3 = () => { return `لا يمكنني حذف منشئ المجموعة 😆🫵`} -const smskick4 = () => { return `ليس في هذه المجموعة 👻`} - -//grupo-tagall.js -const smstagaa = () => { return `⚡ اجتماع المجموعة ⚡`} - -//grupo-setbye.js -const smsSetB = () => { return `${lenguajeGB['smsAvisoEG']()}*تم تكوين وداع المجموعة*`} -const smsSetB2 = () => { return `${lenguajeGB['smsAvisoIIG']()}🙌 *_اكتب رسالة الوداع_*\n*_اختياري يمكنك استخدام ما هو مع "@" لإضافة المزيد من المعلومات:_*\n\n*⚡ @user (أذكر للمستخدم)*\n\n*تذكر أن علامة "@" هي اختيارية*`} - -//grupo-setwelcome.js -const smsSetW = () => { return `${lenguajeGB['smsAvisoEG']()}*تم إعداد ترحيب المجموعة*`} -const smsSetW2 = () => { return `${lenguajeGB['smsAvisoIIG']()}🙌 *_اكتب رسالة الترحيب_*\n*_اختياري يمكنك استخدام ما هو مع "@" لإضافة المزيد من المعلومات:_*\n\n*⚡ @user (أذكر للمستخدم)*\n*⚡ @subject (أسم المجموعة)*\n*⚡ @desc (وصف المجموعة)*\n\n*تذكر أن علامة "@" اختيارية*`} - -//grupo-setdesc.js -const smsDest = () => { return `${lenguajeGB['smsAvisoEG']()}*تم تكوين وصف المجموعة*`} - -//grupo-setname.js -const smsNam1 = () => { return `${lenguajeGB['smsAvisoEG']()}*تم تعيين اسم المجموعة*`} -const smsNam2 = () => { return `${lenguajeGB['smsAvisoMG']()}*🙌 اكتب اسم المجموعة الجديد*`} -const smsNam3 = () => { return `${lenguajeGB['smsAvisoFG']()}*يجب ألا يحتوي اسم المجموعة على أكثر من 25 حرفًا*`} - -//grupo-restaurarEnlace.js -const smsRestGp = () => { return `${lenguajeGB['smsAvisoEG']()}*تمت إعادة تعيين ارتباط المجموعة*`} - -//Button -const smsSig = () => { return `➡️ التالي ➡️`} -const smsSigPrem = () => { return `❤️‍🔥 التالي ❤️‍🔥`} -const smsCont18Porn = () => { return `🔞 *محتويات* 🔞`} //texto -const smsCont18Porn2 = () => { return `🔞 محتويات 🔞`} //texto -const smsCont18PornP = () => { return `🌟 *محتويات ❤️‍🔥 الممتازة* 🌟`} //texto -const smsCont18PornP2 = () => { return `محتويات ❤️‍🔥 الممتازة`} //texto - -//propietario(a).js -const smsJoin = (user) => { return `${packname}\n𝙀𝙎 𝙐𝙉 𝘽𝙊𝙏 𝘿𝙀 𝙒𝙃𝘼𝙏𝙎𝘼𝙋𝙋 𝙌𝙐𝙀 𝙏𝙀 𝘼𝙔𝙐𝘿𝘼𝙍𝘼 𝙍𝙀𝘼𝙇𝙄𝙕𝘼𝙍 𝘿𝙄𝙁𝙀𝙍𝙀𝙉𝙏𝙀𝙎 𝘼𝘾𝙏𝙄𝙑𝙄𝘿𝘼𝘿𝙀𝙎 🪄 𝘼𝙇 𝙋𝙍𝙄𝙑𝘼𝘿𝙊 𝙊 𝙂𝙍𝙐𝙋𝙊 𝙔 𝙏𝘼𝙈𝘽𝙄𝙀𝙉 𝙏𝙀 𝙑𝘼𝙎 𝘼 𝘿𝙄𝙑𝙀𝙍𝙏𝙄𝙍 🎈 𝘾𝙊𝙉 𝙎𝙐𝙎 𝙈𝙐𝙇𝙏𝙄𝙋𝙇𝙀𝙎 𝙁𝙐𝙉𝘾𝙄𝙊𝙉𝙀𝙎, 𝘿𝙄𝙎𝙁𝙍𝙐𝙏𝘼 𝘿𝙀 𝙂𝘼𝙏𝘼𝘽𝙊𝙏!!! 😸\n\n💖 𝙂𝘼𝙏𝘼𝘽𝙊𝙏 𝙁𝙐𝙀 𝙄𝙉𝙑𝙄𝙏𝘼𝘿𝘼 𝙋𝙊𝙍:\n@${user}`} -const smsJoin1 = (usedPrefix, command) => { return lenguajeGB['smsAvisoMG']() + `*INGRESE EL ENLACE DE UN GRUPO*\n*EJEMPLO:*\n*${usedPrefix + command}* ${nna}`} -const smsJoin2 = () => { return lenguajeGB['smsAvisoEG']() + `${packname}\n*SE HA UNIDO AL GRUPO ✅*`} - -//propietario(a).js -const smsBCMensaje = (usedPrefix, command) => { return `*الرد على الرسالة أو اكتب الرسالة المستخدمة ${usedPrefix + command}*`} -const smsBCMensaje2 = () => { return `*أرسل رسالة رسمية ، انتظر لحظة...*`} -const smsBCMensaje3 = (totalPri, time) => { return `✅ تم إرسال الرسالة إلى ${totalPri} الدردشات*\n\n*أوقات الشحن الخاصة الإجمالية: ${time}*\n${totalPri >= 3000 ? '\n*لم يتم إرسالهم إلى جميع الدردشات لتجنب التشبع*' : ''}`} - -//propietario(a.js -const smsPropban1 = (usedPrefix, command, bot) => { return `${lenguajeGB['smsAvisoMG']()}*ضع علامة على أحد الأشخاص أو رد على رسالة المستخدم أو اكتب الرقم الذي تريد حظره من الأوامر*\n\n*مثال:*\n*${usedPrefix + command} @${bot}*`} -const smsPropban2 = (bot) => { return `${lenguajeGB['smsAvisoFG']()}*@${bot} لا يمكن حظره بهذا الأمر* 😹`} -const smsPropban3 = (ownerNumber) => { return `${lenguajeGB.smsAvisoIIG()}😳 *لا يمكنني منع المالك @${ownerNumber} من ${packname}*`} -const smsPropban4 = (number) => { return `${lenguajeGB.smsAvisoIIG()}*ليس من الضروري الحظر مرة أخرى @${number} نعم إنه موجود بالفعل* 😊`} -const smsPropban5 = () => { return `${lenguajeGB['smsAvisoEG']()}*المستخدم محظور بنجاح* 🙀`} -const smsPropban6 = (number, usr) => { return `${lenguajeGB.smsAvisoAG()}*@${number} أنت محظور من قبل @${usr} لا يمكنك استخدام الأوامر حتى يقوم أحدهم بعكس الحظر* 😿`} -const smsPropban7 = (usedPrefix, command, number) => { return `${lenguajeGB['smsAvisoFG']()}*ظهر خطأ ، ربما يكون المستخدم غير موجود في قاعدة بياناتي ، حاول الكتابة ${usedPrefix + command} ${number}*\n\`\`\`إذا استمر الخطأ في الإبلاغ عن هذا الأمر\`\`\``} - -//propietario(a).js -const smsBCbot1 = () => { return `✅ *رسالة:*`} -const smsBCbot2 = () => { return `خاص`} -const smsBCbot3 = () => { return ` تَجَمَّع `} -const smsBCbot4 = () => { return `المجموع`} -const smsBCbot5 = () => { return `إجمالي وقت الشحن:`} -const smsBCbot6 = () => { return `لم يتم إرسالهم إلى جميع الدردشات لتجنب التشبع`} -const smsBCbot7 = () => { return `✅ *الخطاب الرسمي* ✅`} - -//propietario(a).js -const smsChatGP1 = () => { return "*أرسل رسالة ، انتظر لحظة...*"} -const smsChatGP2 = (readMS, dia, mes, año, fecha, tiempo) => { return `✅ *الخطاب الرسمي* ✅\n${readMS}\n\`\`\`${dia}, ${mes} ${año}\`\`\`\n\`\`\`${fecha} || ${tiempo}\`\`\`\n\n`} -const smsChatGP3 = (totalGP) => { return `✅ * تم إرسال الرسالة إلى ${totalGP} المجموعات*`} - -//jadibot-serbot.js -const smsIniJadi = () => { return `*⊹ • • • ミ★ ${global.packname} ミ★• • • ⊹*\n\n*ღ إصدار ${global.packname} » _${global.vs}_*\n*ღ نسخة JadiBot » _${global.vsJB}_*\n\n🟢 *_الوظيفة تكون فرعية_* 🟢\n\n*➡️ باستخدام هاتف خلوي أو كمبيوتر شخصي آخر ، امسح رمز الاستجابة السريعة هذا ليصبح روبوتًا فرعيًا*\n\n*1️⃣ انتقل إلى النقاط الثلاث في الزاوية اليمنى العليا*\n*2️⃣ انتقل إلى خيار الأجهزة المقترنة*\n*3️⃣ امسح رمز الاستجابة السريعة هذا لتسجيل الدخول*\n\n📢 *¡تنتهي صلاحية رمز الاستجابة السريعة هذا في 45 ثانية!*`} -const smsSoloOwnerJB = () => { return `${lenguajeGB['smsAvisoAG']()}*تم تعطيل هذا الأمر من قبل المالك*`} -const smsJBPrincipal = () => { return `${lenguajeGB['smsAvisoAG']()}🔵 *لكي تكون تابعًا ثانويًا ، انتقل إلى الرقم الرئيسي*\n*ღ أدخل الرابط التالي:*\n`} -const smsJBConexion = () => { return `${lenguajeGB['smsAvisoFG']()}🟡 *تم إغلاق الاتصال بطريقة غير متوقعة ، سنحاول إعادة الاتصال ...*`} -const smsJBConexionClose = () => { return `${lenguajeGB['smsAvisoFG']()}🔴 *تم إغلاق الاتصال ، يجب عليك الاتصال يدويًا باستخدام الأمر #jadibot وإعادة إنشاء رمز الاستجابة السريعة الجديد*`} -const smsJBConexionTrue = () => { return `${lenguajeGB['smsAvisoEG']()}🟢 *اتصال ناجح!!!*`} -const smsJBConexionTrue2 = () => { return `${lenguajeGB['smsAvisoEG']()}🟢 *اتصال ناجح!!! يمكنك الاتصال باستخدام:*`} -const smsJBCargando = () => { return `${lenguajeGB['smsAvisoIIG']()}⚪ *متصل!! يرجى الانتظار يتم تحميل الرسائل ...*\n\n♻️ *الخيارات المتاحة:*\n*» #stop _(ميزة Stop Sub Bot)_*\n*» #deletesesion _(احذف كل آثار Sub Bot)_*\n*» #jadibot _(احصل على رمز QR جديد ليكون Sub Bot)_*`} -const smsJBInfo1 = () => { return `💖 *رابط مفيد*`} -const smsJBInfo2 = () => { return `💖 *الوظيفة مستقرة ، إذا واجهت أي إزعاج ، فاتصل بالبريد: centergatabot@gmail.com*\n💝 *يمكنك تقديم تبرع طوعي عن طريق PayPal: ${global.paypal}*\n\n*شكرا جزيلا على الدعم ${global.packname}*`} - -//jadibot-deleteSesion.js -const smsJBDel = () => { return `${lenguajeGB['smsAvisoAG']()}*استخدم هذا الأمر مع الروبوت الرئيسي*`} -const smsJBAdios = () => { return `${lenguajeGB['smsAvisoEG']()}*سأفتقدك ${global.packname} وداعا!! 🥹*`} -const smsJBCerrarS = () => { return `${lenguajeGB['smsAvisoEG']()}*لقد قمت بتسجيل الخروج وحذف جميع المسارات*`} -const smsJBErr = () => { return `*لقد قمت بتسجيل الخروج كبرنامج ثانوي* ♻️`} - -//comandos+18-adult.js -const smsContAdult = () => { return `${lenguajeGB['smsAvisoAG']()}*الأوامر 🔞 إنهم معاقون ، إذا كنت منشئ المحتوى الخاص بي #on modohorny*`} - -//comandos+18-menu.js -const smsList1 = () => { return `ليس لدي ما يكفي `} -const smsList2 = () => { return `\nانقر هنا للشراء `} -const smsList3 = () => { return `المحتوى المتاح 😸`} -const smsList4 = () => { return `المحتوى غير متوفر 😿\nانقر هنا للشراء `} -const smsList5 = () => { return `*حدد اختيارا*\n*من القائمة لمشاهدة*\n*محتويات* 😋`} -const smsList6 = () => { return `👀 انظر القائمة 👀`} - -//descargas-consejos.js -const smsConj = () => { return `🍃 مجلس جديد`} -const smsFras = () => { return `🍃 جملة جديدة`} - -//info-contacto.js -const smsContacto1 = () => { return ' أنا ' + packname + ' بوت WhatsApp مخصص للمساعدة في كل ما تطلبه 😎'} -const smsContacto2 = () => { return 'أنا مالك ' + packname + ' إذا كان لديك أي أسئلة يمكنك إخباري بها ✌️'} -const smsContacto3 = () => { return '👑 صاحب'} -const smsContacto4 = () => { return 'جهة اتصال GataBot الرسمية 🐈'} -const smsContacto5 = () => { return '🐣 كيف يمكنني مساعدك؟'} -const smsContacto6 = () => { return 'ليس لدي بريد 🙏'} -const smsContacto7 = () => { return '🌎 عالمي'} -const smsContacto8 = () => { return 'هذا الحساب هو بوت 👀'} - - -export default { lenguaje, smsConexioncerrar, smsConexionperdida, smsConexionreem, smsConexionreinicio, smsConexiontiem, smsConexiondescon, smsAvisoRG, smsJoin, smsJoin1, smsJoin2, smsPropban1, smsPropban2, smsPropban3, smsPropban4, smsPropban5, smsPropban6, smsPropban7, smsLisA, smsLisB, smsLisC, smsLisD, smsLisE, smsChatGP1, smsChatGP2, smsChatGP3, smsBCMensaje, smsBCMensaje2, smsBCMensaje3, smsAvisoAG, smsAvisoIIG, smsBCbot1, smsBCbot2, smsBCbot3, smsBCbot4, smsBCbot5, smsBCbot6, smsBCbot7, smsAvisoFG, smsAvisoMG, smsAvisoEEG, smsAvisoEG, smsRowner, smsOwner, smsMods, smsPremium, smsGroup, smsPrivate, smsAdmin, smsBotAdmin, smsUnreg, smsRestrict, smsTime, smsUptime, smsVersion, smsTotalUsers, smsMode, smsModePublic, smsModePrivate, smsBanChats, smsBanUsers, smsPareja, smsResultPareja, smsSaludo, smsDia, smsTarde, smsTarde2, smsNoche, smsListaMenu, smsLista1, smsLista2, smsLista3, smsLista4, smsLista5, smsLista6, smsLista7, smsLista8, smsLista9, smsLista10, smsLista11, smsLista12, smsLista13, smsLista14, smsLista15, smsLista16, smsLista17, smsLista18, smsLista19, smsLista20, smsLista21, smsLista22, smsLista23, smsLista24, smsLista25, smsLista26, smsLista27, smsLista28, smsLista29, smsLista30, smsLista31, smsLista32, smsLista33, smsLista34, smsLista35, smsWelcome, smsBye, smsSpromote, smsSdemote, smsSdesc, smsSsubject, smsSicon, smsSrevoke, smsConexion, smsClearTmp, smsCargando, smspurgeSession, smspurgeOldFiles, smspurgeSessionSB1, smspurgeSessionSB2, smspurgeSessionSB3, smspurgeOldFiles1, smspurgeOldFiles2, smspurgeOldFiles3, smspurgeOldFiles4, smsTextoYT, smsApagar, smsEncender, smsEnlaceTik, smsEnlaceYt, smsEnlaceTel, smsEnlaceFb, smsEnlaceIg, smsEnlaceTw, smsAllAdmin, smsSoloOwner, smsCont1, smsCont2, smsCont3, smsCont4, smsCont5, smsCont6, smsCont7, smsCont8, smsCont9, smsCont10, smsCont11, smsCont12, smsCont13, smsCont14, smsCont15, smsCont16, smsCont17, smsCont18, smsCont19, smsCont20, smsCont21, smsInt1, smsInt2, smsAdwa, smsEnlaceWat, smsEnlaceWatt, smsNoSpam, smsNoSpam2, smsConMenu, smsMalError, smsMalError2, smsMalError3, smsToxic1, smsToxic2, smsToxic3, smsToxic4, smsToxic5, smsToxic6, smsToxic7, eExp, eDiamante, eDiamantePlus, eToken, eEsmeralda, eJoya, eMagia, eOro, eGataCoins, eGataTickers, eEnergia, ePocion, eAgua, eBasura, eMadera, eRoca, ePiedra, eCuerda, eHierro, eCarbon, eBotella, eLata, eCarton, eEletric, eBarraOro, eOroComun, eZorroG, eBasuraG, eLoboG, eMaderaG, eEspada, eCarnada, eBillete, ePinata, eGancho, eCanaPescar, eCComun, ePComun, eCMistica, eCMascota, eCJardineria, eClegendaria, eUva, eManzana, eNaranja, eMango, ePlatano, eSUva, eSManzana, eSNaranja, eSMango, eSPlatano, eCentauro, eAve, eGato, eDragon, eZorro, eCaballo, eFenix, eLobo, ePerro, eAMascots, eCCentauro, eCAve, eCMagica, eCDragon, eACaballo, eCFenix, smsWel1, smsWel2, smsParaAdmins, smsDete1, smsDete2, smsANivel1, smsANivel2, smsParaAdYOw, smsParaOw, smsRestri1, smsRestri2, smsLlamar1, smsLlamar2, smsModP1, smsModP2, smsModAd1, smsModAd2, smsLect1, smsLect2, smsTempo1, smsTempo2, smsStik1, smsStik2, smsStickA1, smsStickA2, smsReacc1, smsReacc2, smsAudi1, smsAudi2, smsModHor1, smsModHor2, smsAntitoc1, smsAntitoc2, smsModOb1, smsModOb2, -smsAntiEli1, smsAntiEli2, smsAntiInt1, smsAntiInt2, smsAntiE1, smsAntiE2, smsAntiEE1, smsAntiEE2, smsAntiTT1, smsAntiTT2, smsAntiYT1, smsAntiYT2, smsAntiTEL1, smsAntiTEL2, smsAntiFB1, smsAntiFB2, smsAntiIG1, smsAntiIG2, smsAntiTW1, smsAntiTW2, smsSOLOP1, smsSOLOP2, smsSOLOG1, smsSOLOG2, smsNoGg, smsConfi1, smsConfi2, smsConfi3, smsConfi4, smsConfi5, smsConfi6, smsConfi7, smsConfi8, smsConfi9, smsConfi10, smsMens1, smsMens2, smsMens3, smsMens4, smsMens5, smsMensError1, smsMensError2, smsAntiView, smsAutoLv1, smsAutoLv2, smsAutoLv3, smsAutoLv4, smsAutoLv5, smsAutoLv6, smsAutoLv7, smsAntiSp1, smsAntiSp2, smsAutoStik, smsBottem1, smsBottem2, smsBottem3, smsPremI, -smsAfkM1, smsAfkM2, smsAfkM3, smsAfkM4, smsAfkM5, smsAfkM6, smsAfkM1A, smsAfkM1B, smsChatAn1, smsChatAn2, smsChatAn3, smsChatAn4, smsChatAn5, smsChatAn6, smsChatAn7, smsChatAn8, smsChatAn9, smsChatAn10, smsChatAn11, smsChatAn12, smsChatAn13, smsBotonM1, smsBotonM2, smsBotonM3, smsBotonM4, smsBotonM5, smsBotonM6, smsBotonM7, smsTex1, smsTex2, smsTex3, smsTex4, smsTex5, smsTex6, smsTex7, smsTex8, smsTex9, smsTex10, smsTex11, smsTex12, smsTex13, smsTex14, smsTex15, smsTex16, smsTex17, smsTex18, smsTex19, smsTex20, smsTex21, smsTex22, smsTex23, smsMalused, smsGrupoTime1, smsGrupoTime2, smsGrupoTime3, smsGrupoTime4, smsGrupoTime5, smsGrupoTime6, smsGrupoTime7, smsGrupoTime8, smsGrupoTime9, smsGrupoTime10, smsGrupoTime11, smsGrupoTime12, smsGrupoTime13, smsAddB1, smsAddB2, smsAddB3, smsAddB4, smsAddB5, smsAddB6, smsAdveu1, smsMalused2, smsAdveu2, smsAdveu3, smsAdveu4, smsAdveu5, smsAdveu6, smsAdveu7, smsAdveu8, smsAdveu9, smsMalused3, smsAdveu10, smsAdveu11, smsAdveu12, smsDemott, smsDemott2, smsDemott3, -smsGI1, smsGI2, smsGI3, smsGI4, smsGI5, smsGI6, smsGI7, smsGI8, smsGI9, smsGI10, smsLista22_1, smsCodigoQR, smsConexionOFF, smskick1, smskick2, smskick3, smskick4, smstagaa, -smsSetB, smsSetB2, smsSetW, smsSetW2, smsDest, smsNam1, smsNam2, smsNam3, smsRestGp, smsSig, smsSigPrem, smsCont18Porn, smsCont18Porn2, smsCont18PornP, smsCont18PornP2, -smsIniJadi, smsSoloOwnerJB, smsJBPrincipal, smsJBConexion, smsJBConexionClose, smsJBConexionTrue, smsJBConexionTrue2, smsJBCargando, smsJBInfo1, smsJBInfo2, smsJBDel, smsJBAdios, -smsJBCerrarS, smsJBErr, smsContAdult, smsList1, smsList2, smsList3, smsList4, smsList5, smsList6, smsConj, smsFras, smsContacto1, smsContacto2, smsContacto3, smsContacto4, -smsContacto5, smsContacto6, smsContacto7, smsContacto8, smsAfkQ1, smsAfkQ2, smsAfkTime, smsAfkResultTime, smsMainBot } diff --git a/lib/idiomas/espanol.js b/lib/idiomas/espanol.js deleted file mode 100644 index 91196497b..000000000 --- a/lib/idiomas/espanol.js +++ /dev/null @@ -1,606 +0,0 @@ -const lenguaje = () => { return 'es' } //Español - -//AVISOS DE MENSAJE -const smsAvisoRG = () => { return `╰⊱✅⊱ *𝙍𝙀𝙎𝙐𝙇𝙏𝘼𝘿𝙊𝙎* ⊱✅⊱╮\n\n` } -const smsAvisoAG = () => { return `╰⊱⚠️⊱ *𝘼𝘿𝙑𝙀𝙍𝙏𝙀𝙉𝘾𝙄𝘼* ⊱⚠️⊱╮\n\n` } -const smsAvisoIIG = () => { return `╰⊱❕⊱ *𝙄𝙉𝙁𝙊𝙍𝙈𝘼𝘾𝙄𝙊𝙉* ⊱❕⊱╮\n\n` } -const smsAvisoFG = () => { return `╰⊱❌⊱ *𝙀𝙍𝙍𝙊𝙍* ⊱❌⊱╮\n\n` } -const smsAvisoMG = () => { return `╰⊱❗️⊱ *𝘼𝘾𝘾𝙄𝙊𝙉 𝙈𝘼𝙇 𝙐𝙎𝘼𝘿𝘼* ⊱❗️⊱╮\n\n` } -const smsAvisoEEG = () => { return `╰⊱📩⊱ *𝙍𝙀𝙋𝙊𝙍𝙏𝙀* ⊱📩⊱╮\n\n` } -const smsAvisoEG = () => { return `╰⊱💚⊱ *𝙀𝙓𝙄𝙏𝙊𝙎* ⊱💚⊱╮\n\n` } - -//PARÁMETROS EN COMANDOS -const smsRowner = () => { return `¡¡𝙀𝙨𝙩𝙚 𝙘𝙤𝙢𝙖𝙣𝙙𝙤 𝙨𝙤𝙡𝙤 𝙥𝙪𝙚𝙙𝙚 𝙨𝙚𝙧 𝙪𝙨𝙖𝙙𝙤 𝙥𝙤𝙧 𝙢𝙞 𝙋𝙧𝙤𝙥𝙞𝙚𝙩𝙖𝙧𝙞𝙤/𝙖 (𝙤𝙬𝙣𝙚𝙧) 𝙙𝙚𝙡 𝙗𝙤𝙩!!` }//NUMERO DE BOT -const smsOwner = () => { return `¡¡𝙀𝙨𝙩𝙚 𝙘𝙤𝙢𝙖𝙣𝙙𝙤 𝙨𝙤𝙡𝙤 𝙥𝙪𝙚𝙙𝙚 𝙨𝙚𝙧 𝙪𝙨𝙖𝙙𝙤 𝙥𝙤𝙧 𝙢𝙞 𝙋𝙧𝙤𝙥𝙞𝙚𝙩𝙖𝙧𝙞𝙤/𝙖 (𝙤𝙬𝙣𝙚𝙧) 𝙙𝙚𝙡 𝙗𝙤𝙩!!` }//OWNER -const smsMods = () => { return `¡¡𝙀𝙨𝙩𝙚 𝙘𝙤𝙢𝙖𝙣𝙙𝙤 𝙨𝙤𝙡𝙤 𝙥𝙪𝙚𝙙𝙚 𝙨𝙚𝙧 𝙪𝙩𝙞𝙡𝙞𝙯𝙖𝙙𝙤 𝙥𝙤𝙧 𝙢𝙤𝙙𝙚𝙧𝙖𝙙𝙤𝙧𝙚𝙨 𝙮 𝙚𝙡 𝙥𝙧𝙤𝙥𝙞𝙚𝙩𝙖𝙧𝙞𝙤/𝙖 (𝙤𝙬𝙣𝙚𝙧) 𝙙𝙚𝙡 𝙗𝙤𝙩!!` }//MODERADORES -const smsPremium = () => { return `¡¡𝙀𝙨𝙩𝙚 𝙘𝙤𝙢𝙖𝙣𝙙𝙤 𝙨𝙤𝙡𝙤 𝙥𝙪𝙚𝙙𝙚 𝙨𝙚𝙧 𝙪𝙩𝙞𝙡𝙞𝙯𝙖𝙙𝙤 𝙥𝙤𝙧 𝙪𝙨𝙪𝙖𝙧𝙞𝙤 𝙥𝙧𝙚𝙢𝙞𝙪𝙢 𝙮 𝙚𝙡 𝙥𝙧𝙤𝙥𝙞𝙚𝙩𝙖𝙧𝙞𝙤/𝙖 (𝙤𝙬𝙣𝙚𝙧) 𝙙𝙚𝙡 𝙗𝙤𝙩!!` }//USUARIOS PREMIUM -const smsGroup = () => { return `¡¡𝙀𝙨𝙩𝙚 𝙘𝙤𝙢𝙖𝙣𝙙𝙤 𝙨𝙤𝙡𝙤 𝙥𝙪𝙚𝙙𝙚 𝙨𝙚𝙧 𝙪𝙩𝙞𝙡𝙞𝙯𝙖𝙙𝙤 𝙚𝙡 𝙜𝙧𝙪𝙥𝙤!!` }//PARA GRUPOS -const smsPrivate = () => { return `¡¡𝙀𝙨𝙩𝙚 𝙘𝙤𝙢𝙖𝙣𝙙𝙤 𝙨𝙤𝙡𝙤 𝙨𝙚 𝙥𝙪𝙚𝙙𝙚 𝙪𝙩𝙞𝙡𝙞𝙯𝙖𝙧 𝙖𝙡 𝙥𝙧𝙞𝙫𝙖𝙙𝙤 𝙙𝙚𝙡 𝙗𝙤𝙩!!` }//AL PRIVADO -const smsAdmin = () => { return `¡¡𝙀𝙨𝙩𝙚 𝙘𝙤𝙢𝙖𝙣𝙙𝙤 𝙨𝙤𝙡𝙤 𝙨𝙚 𝙥𝙪𝙚𝙙𝙚 𝙪𝙨𝙖𝙧 𝙥𝙤𝙧 𝙖𝙙𝙢𝙞𝙣 𝙙𝙚𝙡 𝙜𝙧𝙪𝙥𝙤!!` }//ADMINS -const smsBotAdmin = () => { return `¡¡𝙋𝙖𝙧𝙖 𝙥𝙤𝙙𝙚𝙧 𝙪𝙨𝙖𝙧 𝙚𝙨𝙩𝙚 𝙘𝙤𝙢𝙖𝙣𝙙𝙤 𝙚𝙡 𝙗𝙤𝙩 (𝙮𝙤) 𝙣𝙚𝙘𝙚𝙨𝙞𝙩𝙤 𝙖𝙙𝙢𝙞𝙣, 𝙝𝙖𝙜𝙖 𝙦𝙪𝙚 𝙗𝙤𝙩 𝙨𝙚𝙖 𝙖𝙙𝙢𝙞𝙣 𝙥𝙖𝙧𝙖 𝙥𝙤𝙙𝙚𝙧 𝙪𝙨𝙖𝙧 𝙚𝙨𝙩𝙚 𝙘𝙤𝙢𝙖𝙣𝙙𝙤!!` }//BOT CON ADMIN -const smsUnreg = () => { return `¡¡🙌 𝙃𝙀𝙔 𝘼𝙇𝙏𝙊, 𝙉𝙊 𝙀𝙎𝙏𝘼 𝙍𝙀𝙂𝙄𝙎𝙏𝙍𝘼𝘿𝙊!! 🙌\n𝙋𝙖𝙧𝙖 𝙥𝙤𝙙𝙚𝙧 𝙪𝙨𝙖𝙧 𝙚𝙡 𝙗𝙤𝙩 𝙣𝙚𝙘𝙚𝙨𝙞𝙩𝙖 𝙧𝙚𝙜𝙞𝙨𝙩𝙧𝙖𝙧𝙩𝙚, 𝙪𝙨𝙖 𝙚𝙡 𝙘𝙤𝙢𝙖𝙣𝙙𝙤 /𝙫𝙚𝙧𝙞𝙛𝙞𝙘𝙖𝙧` }//VERIFICAR -const smsRestrict = () => { return `¡¡𝙀𝙨𝙩𝙚 𝙘𝙤𝙢𝙖𝙣𝙙𝙤 𝙚𝙨𝙩𝙖 𝙙𝙚𝙨𝙖𝙘𝙩𝙞𝙫𝙖𝙙𝙤 𝙥𝙤𝙧 𝙢𝙞 𝙘𝙧𝙚𝙖𝙙𝙤𝙧 !!` }//RESTRINGIR COMANDO - -//MENU LISTA -const smsTime = () => { return `𝙏𝙞𝙚𝙢𝙥𝙤 𝘼𝙘𝙩𝙪𝙖𝙡`} -const smsUptime = () => { return `𝙏𝙞𝙚𝙢𝙥𝙤 𝙖𝙘𝙩𝙞𝙫𝙤`} -const smsVersion = () => { return `𝙑𝙚𝙧𝙨𝙞𝙤𝙣 𝙙𝙚𝙡 𝙏𝙝𝙚-𝙇𝙤𝙡𝙞𝘽𝙤𝙩-𝙈𝘿`} -const smsTotalUsers = () => { return `𝙏𝙤𝙩𝙖𝙡 𝙙𝙚𝙡 𝙪𝙨𝙪𝙖𝙧𝙞𝙤`} -const smsMode = () => { return `𝙀𝙨𝙩𝙖 𝙚𝙣 𝙈𝙤𝙙𝙤`} -const smsModePublic = () => { return `PÚBLICO`} -const smsModePrivate = () => { return `PRIVADO`} -const smsBanChats = () => { return `𝘾𝙝𝙖𝙩 𝙋𝙧𝙤𝙝𝙞𝙗𝙞𝙙𝙤`} -const smsBanUsers = () => { return `𝙐𝙨𝙪𝙖𝙧𝙞𝙤 𝙋𝙧𝙤𝙝𝙞𝙗𝙞𝙙𝙤`} -const smsPareja = () => { return `Pareja`} -const smsResultPareja = () => { return `No tiene Pareja`} -const smsSaludo = () => { return `👋 !HOLA! BIENVENIDO(A) 👋`} -const smsDia = () => { return `🌇 Buenos Días ⛅`} -const smsTarde = () => { return `🏙️ Buenas Tardes 🌤️`} -const smsTarde2 = () => { return `🌆 Buenas tardes 🌥️`} -const smsNoche = () => { return `🌃 Buenas noches 💫`} -const smsListaMenu = () => { return `𝙎𝙚𝙡𝙚𝙘𝙘𝙞𝙤𝙣𝙚 𝙖𝙦𝙪𝙞`} -const smsLista1 = () => { return `🌟 𝙄𝙣𝙛𝙤𝙧𝙢𝙖𝙘𝙞𝙤𝙣 🌟`} -const smsLista2 = () => { return `🔰 𝘾𝙧𝙚𝙖𝙙𝙤𝙧 🔰`} -const smsLista3 = () => { return `🎁 𝘿𝙤𝙣𝙖𝙧 🎁`} -const smsLista4 = () => { return `🚀 𝙑𝙚𝙡𝙤𝙘𝙞𝙙𝙖𝙙 🚀`} -const smsLista5 = () => { return `💡 𝙄𝙣𝙛𝙤𝙧𝙢𝙖𝙘𝙞𝙤𝙣 𝙙𝙚𝙡 𝙈𝙚𝙣𝙪 💡`} -const smsLista6 = () => { return `🌀 𝙈𝙚𝙣𝙪 𝘾𝙤𝙢𝙥𝙡𝙚𝙩𝙤 🌀`} -const smsLista7 = () => { return `♨️ 𝙄𝙣𝙨𝙩𝙖𝙡𝙖𝙧 𝘽𝙤𝙩 ♨️`} -const smsLista8 = () => { return `😛 𝙎𝙚𝙧 𝙎𝙪𝙗 𝘽𝙤𝙩 😛`} -const smsLista9 = () => { return `📄 𝙏𝙚𝙧𝙢𝙞𝙣𝙤𝙨 𝙮 𝘾𝙤𝙣𝙙𝙞𝙘𝙞𝙤𝙣𝙚𝙨 📄`} -const smsLista10 = () => { return `🌟 𝘼𝙫𝙚𝙣𝙩𝙪𝙧𝙖 🌟`} -const smsLista11 = () => { return `🏆 𝙏𝙤𝙥 𝙂𝙡𝙤𝙗𝙖𝙡 🏆`} -const smsLista12 = () => { return `🏅 𝙐𝙨𝙪𝙖𝙧𝙞𝙤 𝙋𝙧𝙚𝙢𝙞𝙪𝙢 🏅`} -const smsLista13 = () => { return `🎟️ 𝙎𝙚𝙧 𝙋𝙧𝙚𝙢𝙞𝙪𝙢 🎟️`} -const smsLista14 = () => { return `🛣️ 𝙈𝙞𝙨𝙞𝙤𝙣𝙚𝙨 🛣️`} -const smsLista15 = () => { return `⚗️ 𝙈𝙚𝙣𝙪 𝙧𝙥𝙜 ⚗️`} -const smsLista16 = () => { return `🏪 𝙏𝙞𝙚𝙣𝙙𝙖 𝙥𝙖𝙧𝙖 𝙘𝙤𝙢𝙥𝙧𝙖𝙧 🏪`} -const smsLista17 = () => { return `🎒 INVENTARIO 🎒`} -const smsLista18 = () => { return `🌟 𝙈𝙪𝙡𝙩𝙞𝙢𝙚𝙙𝙞𝙖 🌟`} -const smsLista19 = () => { return `📲 𝙈𝙚𝙣𝙪 𝙙𝙚 𝙙𝙚𝙨𝙘𝙖𝙧𝙜𝙖 📲`} -const smsLista20 = () => { return `🔍 𝙈𝙚𝙣𝙪 𝙙𝙚 𝙗𝙪𝙨𝙦𝙪𝙚𝙙𝙖 🔍`} -const smsLista21 = () => { return `🛰️ 𝙈𝙚𝙣𝙪 𝙘𝙤𝙣𝙫𝙚𝙧𝙩𝙞𝙙𝙤 🛰️`} -const smsLista22 = () => { return `🧰 𝙈𝙚𝙣𝙪 𝙢𝙤𝙙𝙞𝙛𝙞𝙘𝙖𝙙𝙤𝙧 𝙙𝙚𝙡 𝙖𝙪𝙙𝙞𝙤 🧰`} -const smsLista22_1 = () => { return `🔩 𝙈𝙚𝙣𝙪 𝙙𝙚 𝙝𝙚𝙧𝙧𝙖𝙢𝙞𝙚𝙣𝙩𝙖𝙨 🔩`} -const smsLista23 = () => { return `🌟 𝘿𝙞𝙫𝙚𝙧𝙨𝙞𝙤𝙣 🌟`} -const smsLista24 = () => { return `🎡 𝙅𝙪𝙚𝙜𝙤𝙨 𝙙𝙞𝙣𝙖𝙢𝙞𝙘𝙤 🎡`} -const smsLista25 = () => { return `🔊 𝙈𝙚𝙣𝙪 𝙙𝙚 𝘼𝙪𝙙𝙞𝙤𝙨 🔊`} -const smsLista26 = () => { return `🎈 𝙈𝙚𝙣𝙪 𝙨𝙩𝙞𝙘𝙠𝙚𝙧 𝙮 𝙛𝙞𝙡𝙩𝙧𝙤 🎈`} -const smsLista27 = () => { return `✨ 𝙈𝙚𝙣𝙪 𝙚𝙛𝙚𝙘𝙩𝙤 𝙮 𝙡𝙤𝙜𝙤𝙨 ✨`} -const smsLista28 = () => { return `🌅 𝙈𝙚𝙣𝙪 𝙡𝙤𝙜𝙤 2 🌅`} -const smsLista29 = () => { return `⛩️ 𝙍𝙖𝙣𝙙𝙤𝙬 𝙢𝙚𝙢𝙚 𝙖𝙣𝙞𝙢𝙚 ⛩️`} -const smsLista30 = () => { return `🔞 𝙈𝙚𝙣𝙪 𝙘𝙤𝙢𝙖𝙣𝙙𝙤 +18 🔞`} -const smsLista31 = () => { return `🌟 𝙖𝙟𝙪𝙨𝙩𝙚 🌟`} -const smsLista32 = () => { return `🔰 𝙈𝙚𝙣𝙪 𝙙𝙚 𝙜𝙧𝙪𝙥𝙤 🔰`} -const smsLista33 = () => { return `📑 𝙏𝙞𝙥𝙤𝙨 𝙙𝙚 𝙡𝙞𝙨𝙩𝙖𝙨 📑`} -const smsLista34 = () => { return `⚙️ 𝘾𝙚𝙣𝙩𝙧𝙤𝙨 𝙙𝙚𝙡 𝙘𝙤𝙣𝙛𝙞𝙜𝙪𝙧𝙖𝙘𝙞𝙤𝙣 ⚙️`} -const smsLista35 = () => { return `💎 𝙈𝙚𝙣𝙪 𝙥𝙧𝙤𝙥𝙞𝙚𝙩𝙖𝙧𝙞𝙤𝙨 💎`} - -//main.js -const smsWelcome = () => { return '┏━━━━━━━━━━━━\n┃──〘 *WELCOME* 〙──\n┃━━━━━━━━━━━━\n┃ *Hola @user 👋 Bienvenido a*\n┃ *_@subject ✨_*\n┃\n┃=> *_En este grupo podrás_*\n┃ *_encontrar:_*\n┠⊷ *Amistades 🫂* \n┠⊷ *Desmadre 💃🕺*\n┠⊷ *Relajo 💅*\n┠⊷ *Enemig@s 🥵*\n┠⊷ *Un Bot Sexy*\n┃\n┃=> *_Puedes solicitar mi lista de_*\n┃ *_comandos con:_*\n┠⊷ *#menu*\n┃\n┃=> *_Aquí tienes la descripción_*\n┃ *_del grupo, léela!!_*\n┃\n\n@desc\n\n┃\n┃ *_🥳 Disfruta de tu_*\n┃ *_estadía en el grupo 🥳_*\n┃\n┗━━━━━━━━━━━'} -const smsBye = () => { return '*'} -const smsSpromote = () => { return '*𝙃𝙚𝙮 @user 𝘼𝙝𝙤𝙧𝙖 𝙚𝙧𝙚𝙨 𝙖𝙙𝙢𝙞𝙣, 𝙙𝙚𝙡 𝙜𝙧𝙪𝙥𝙤😛!!*'} -const smsSdemote = () => { return '*𝙃𝙚𝙮 @user 𝙔𝙖 𝙣𝙤 𝙚𝙧𝙚𝙨 𝙖𝙙𝙢𝙞𝙣😐!!*'} -const smsSdesc = () => { return '*𝐒𝐞 𝐡𝐚 𝐦𝐨𝐝𝐢𝐟𝐢𝐜𝐚𝐝𝐨 𝐥𝐚 𝐝𝐞𝐬𝐜𝐫𝐢𝐩𝐜𝐢𝐨𝐧 𝐝𝐞𝐥 𝐆𝐫𝐮𝐩𝐨*\n\n*𝐍𝐮𝐞𝐯𝐚 𝐝𝐞𝐬𝐜𝐫𝐢𝐩𝐜𝐢𝐨𝐧:*\n\n@desc'} -const smsSsubject = () => { return '*𝐒𝐞 𝐡𝐚 𝐦𝐨𝐝𝐢𝐟𝐢𝐜𝐚𝐝𝐨 𝐞𝐥 𝐧𝐨𝐦𝐛𝐫𝐞 𝐝𝐞𝐥 𝐠𝐫𝐮𝐩𝐨 𝐧𝐮𝐞𝐯𝐨 𝐧𝐨𝐦𝐛𝐫𝐞:*\n\n@subject'} -const smsSicon = () => { return '*𝐒𝐞 𝐡𝐚 𝐜𝐚𝐦𝐛𝐢𝐚𝐝𝐨 𝐥𝐚 𝐟𝐨𝐭𝐨 𝐝𝐞𝐥 𝐆𝐫𝐮𝐩𝐨!!*'} -const smsSrevoke = () => { return '*𝐒𝐞 𝐡𝐚 𝐚𝐜𝐭𝐮𝐚𝐥𝐢𝐳𝐚𝐝𝐨 𝐞𝐥 𝐥𝐢𝐧𝐤 𝐝𝐞𝐥 𝐆𝐫𝐮𝐩𝐨!!*\n*𝐋𝐢𝐧𝐤 𝐧𝐮𝐞𝐯𝐨!!*\n\n*@revoke*'} -const smsConexion = () => { return `\n▣─────────────────────────────···\n│\n│❧ 𝙲𝙾𝙽𝙴𝙲𝚃𝙰𝙳𝙾 𝙲𝙾𝚁𝚁𝙴𝙲𝚃𝙰𝙼𝙴𝙽𝚃𝙴 𝙰𝙻 𝚆𝙷𝙰𝚃𝚂𝙰𝙿𝙿 ✅\n│\n▣─────────────────────────────···`} -const smsCargando = () => { return `Ƈᴀʀɢᴀɴᴅᴏ....\n`} -const smsCodigoQR = () => { return `\n✅ ESCANEA EL CÓDIGO QR EXPIRA EN 45 SEGUNDOS ✅`} -const smsConexionOFF = () => { return `\n⚠️ SIN CONEXIÓN, BORRE LA CARPETA ${global.authFile} Y ESCANEA EL CÓDIGO QR ⚠️`} -const smsClearTmp = () => { return `\n╭» 🟢 MULTIMEDIA 🟢\n│→ ARCHIVOS DE LA CARPETA TMP ELIMINADAS\n╰― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― 🗑️♻️`} -const smspurgeSession = () => { return `\n╭» 🔵 ${global.authFile} 🔵\n│→ SESIONES NO ESENCIALES ELIMINADAS\n╰― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― 🗑️♻️`} -const smspurgeOldFiles = () => { return `\n╭» 🟠 ARCHIVOS 🟠\n│→ ARCHIVOS RESIDUALES ELIMINADAS\n╰― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― 🗑️♻️`} -const smspurgeSessionSB1 = () => { return `\n╭» 🟡 jadibts 🟡\n│→ NADA POR ELIMINAR \n╰― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― 🗑️♻️`} -const smspurgeSessionSB2 = () => { return `\n╭» ⚪ jadibts ⚪\n│→ ARCHIVOS NO ESENCIALES ELIMINADOS\n╰― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― 🗑️♻️`} -const smspurgeSessionSB3 = () => { return `\n╭» 🔴 jadibts 🔴\n│→ OCURRIÓ UN ERROR\n╰― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― 🗑️♻️\n`} -const smspurgeOldFiles1 = () => { return `\n╭» 🟣 ARCHIVO 🟣\n│→`} -const smspurgeOldFiles2 = () => { return `BORRADO CON ÉXITO\n╰― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― 🗑️♻️`} -const smspurgeOldFiles3 = () => { return `\n╭» 🔴 ARCHIVO 🔴\n│→`} -const smspurgeOldFiles4 = () => { return `NO SE LOGRÓ BORRAR\n╰― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― 🗑️❌\n`} -const smsConexioncerrar = () => { return `\n⚠️ CONEXION CERRADA, RECONECTADO..`} -const smsConexionperdida = () => { return `\n⚠️ CONEXIÓN PERDIDA CON EL SERVIDOR, RECONECTANDO....`} -const smsConexionreem = () => { return `\n⚠️ CONEXIÓN REEMPLAZADA, SE HA ABIERTO OTRA NUEVA SESION, POR FAVOR, CIERRA LA SESIÓN ACTUAL PRIMERO.`} -const smsConexionreinicio = () => { return `\n⚠️ REINICIO NECESARIO, REINICIANDO...`} -const smsConexiontiem = () => { return `\n⚠️ TIEMPO DE CONEXIÓN AGOTADO, RECONECTANDO..`} -const smsConexiondescon = (reason, connection) => { return `\n⚠️❗ RAZON DE DESCONEXIÓN DESCONOCIDA: ${reason || ''} >> ${connection || ''}`} -const smsMainBot = () => { return "SE ACTUALIZÓ 'main.js' CON ÉXITO"} - -//_allantilink.js -const smsTextoYT = () => { return '🤩 𝙎𝙪𝙥𝙚𝙧 𝙏𝙝𝙚-𝙇𝙤𝙡𝙞𝘽𝙤𝙩-𝙈𝘿 - 𝗪𝗵𝗮𝘁𝘀𝗔𝗽𝗽 '} -const smsApagar = () => { return '❌ DESACTIVAR'} -const smsEncender = () => { return '✅ ACTIVAR'} -const smsEnlaceTik = () => { return `𝙎𝙀 𝘿𝙀𝙏𝙀𝘾𝙏𝙊 𝙐𝙉 𝙀𝙉𝙇𝘼𝘾𝙀 𝙋𝙍𝙊𝙃𝙄𝘽𝙄𝘿𝙊 𝘿𝙀 𝙏𝙄𝙆𝙏𝙊𝙆 𝙀𝙉 𝙀𝙎𝙏𝙀 𝙂𝙍𝙐𝙋𝙊\n\n𝙋𝙍𝙊𝘾𝙀𝘿𝙊 𝘼 𝙀𝙇𝙄𝙈𝙄𝙉𝘼𝙍𝙏𝙀`} -const smsEnlaceYt = () => { return `𝙎𝙀 𝘿𝙀𝙏𝙀𝘾𝙏𝙊 𝙐𝙉 𝙀𝙉𝙇𝘼𝘾𝙀 𝙋𝙍𝙊𝙃𝙄𝘽𝙄𝘿𝙊 𝘿𝙀 𝙔𝙊𝙐 𝙏𝙐𝘽𝙀 𝙀𝙉 𝙀𝙎𝙏𝙀 𝙂𝙍𝙐𝙋𝙊\n\n𝙋𝙍𝙊𝘾𝙀𝘿𝙊 𝘼 𝙀𝙇𝙄𝙈𝙄𝙉𝘼𝙍𝙏𝙀`} -const smsEnlaceTel = () => { return `𝙎𝙀 𝘿𝙀𝙏𝙀𝘾𝙏𝙊 𝙐𝙉 𝙀𝙉𝙇𝘼𝘾𝙀 𝙋𝙍𝙊𝙃𝙄𝘽𝙄𝘿𝙊 𝘿𝙀 𝙏𝙀𝙇𝙀𝙂𝙍𝘼𝙈 𝙀𝙉 𝙀𝙎𝙏𝙀 𝙂𝙍𝙐𝙋𝙊\n\n𝙋𝙍𝙊𝘾𝙀𝘿𝙊 𝘼 𝙀𝙇𝙄𝙈𝙄𝙉𝘼𝙍𝙏𝙀`} -const smsEnlaceFb = () => { return `𝙎𝙀 𝘿𝙀𝙏𝙀𝘾𝙏𝙊 𝙐𝙉 𝙀𝙉𝙇𝘼𝘾𝙀 𝙋𝙍𝙊𝙃𝙄𝘽𝙄𝘿𝙊 𝘿𝙀 𝙁𝘼𝘾𝙀𝘽𝙊𝙊𝙆 𝙀𝙉 𝙀𝙎𝙏𝙀 𝙂𝙍𝙐𝙋𝙊\n\n𝙋𝙍𝙊𝘾𝙀𝘿𝙊 𝘼 𝙀𝙇𝙄𝙈𝙄𝙉𝘼𝙍𝙏𝙀`} -const smsEnlaceIg = () => { return `𝙎𝙀 𝘿𝙀𝙏𝙀𝘾𝙏𝙊 𝙐𝙉 𝙀𝙉𝙇𝘼𝘾𝙀 𝙋𝙍𝙊𝙃𝙄𝘽𝙄𝘿𝙊 𝘿𝙀 𝙄𝙉𝙎𝙏𝘼𝙂𝙍𝘼𝙈 𝙀𝙉 𝙀𝙎𝙏𝙀 𝙂𝙍𝙐𝙋𝙊\n\n𝙋𝙍𝙊𝘾𝙀𝘿𝙊 𝘼 𝙀𝙇𝙄𝙈𝙄𝙉𝘼𝙍𝙏𝙀`} -const smsEnlaceTw = () => { return `𝙎𝙀 𝘿𝙀𝙏𝙀𝘾𝙏𝙊 𝙐𝙉 𝙀𝙉𝙇𝘼𝘾𝙀 𝙋𝙍𝙊𝙃𝙄𝘽𝙄𝘿𝙊 𝘿𝙀 𝙏𝙒𝙄𝙏𝙏𝙀𝙍 𝙀𝙉 𝙀𝙎𝙏𝙀 𝙂𝙍𝙐𝙋𝙊\n\n𝙋𝙍𝙊𝘾𝙀𝘿𝙊 𝘼 𝙀𝙇𝙄𝙈𝙄𝙉𝘼𝙍𝙏𝙀`} -const smsAllAdmin = () => { return `𝘿𝙀𝘽𝙊 𝘿𝙀 𝙎𝙀𝙍 𝘼𝘿𝙈𝙄𝙉 𝙋𝘼𝙍𝘼 𝙋𝙊𝘿𝙀𝙍 𝙀𝙇𝙄𝙈𝙄𝙉𝘼𝙍 𝘼 𝙄𝙉𝙏𝙍𝙐𝙎𝙊𝙎(𝘼𝙎)`} -const smsSoloOwner = () => { return `𝙀𝙇/𝙇𝘼 𝙋𝙍𝙊𝙋𝙄𝙀𝙏𝘼𝙍𝙄𝙊(𝘼) 𝘿𝙀𝘽𝙀 𝘼𝘾𝙏𝙄𝙑𝘼𝙍 𝙀𝙎𝙏𝘼 𝙁𝙐𝙉𝘾𝙄𝙊𝙉\n*#on restrict*`} - -//handler.js -const smsCont1 = () => { return `*⚠️ 𝙍𝙚𝙥𝙤𝙧𝙩𝙚 𝙙𝙚 𝙘𝙤𝙢𝙖𝙣𝙙𝙤 𝙘𝙤𝙣 𝙛𝙖𝙡𝙡𝙤𝙨 ⚠️*`} -const smsCont2 = () => { return `*❏ 𝐏𝐥𝐮𝐠𝐢𝐧:*`} -const smsCont3 = () => { return `*❏ 𝐔𝐬𝐮𝐚𝐫𝐢𝐨𝐬:*`} -const smsCont4 = () => { return `*❏ 𝐂𝐨𝐦𝐚𝐧𝐝𝐨:*`} -const smsCont5 = () => { return `*️❏ 𝐄𝐫𝐫𝐨𝐫:*`} -const smsCont6 = () => { return `*🚫 𝐑𝐞𝐩𝐨𝐫𝐭𝐞𝐥𝐨 𝐚𝐥 𝐜𝐫𝐞𝐚𝐝𝐨𝐫 𝐝𝐞𝐥 𝐛𝐨𝐭 𝐩𝐚𝐫𝐚 𝐝𝐚𝐫𝐥𝐞 𝐬𝐨𝐥𝐮𝐜𝐢𝐨́𝐧, 𝐩𝐮𝐞𝐝𝐞 𝐮𝐬𝐚𝐫 𝐞𝐥 𝐜𝐨𝐦𝐚𝐧𝐝𝐨 #Reporte*`} -const smsCont7 = () => { return `${global.lenguajeGB['smsAvisoAG']()}*𝐒𝐮𝐬 𝐝𝐢𝐚𝐦𝐚𝐧𝐭𝐞 💎 𝐬𝐞 𝐡𝐚𝐧 𝐚𝐠𝐨𝐭𝐚𝐝𝐨 𝐩𝐮𝐞𝐝𝐞 𝐜𝐨𝐦𝐩𝐫𝐚𝐫 𝐦𝐚́𝐬 𝐮𝐬𝐚𝐧𝐝𝐨 𝐞𝐥 𝐜𝐨𝐦𝐚𝐧𝐝𝐨*`} -const smsCont8 = () => { return ` *𝐃𝐢𝐚𝐦𝐚𝐧𝐭𝐞 💎 𝐮𝐬𝐚𝐝𝐨𝐬*`} -const smsCont9 = () => { return `${global.lenguajeGB['smsAvisoAG']()}*𝐍𝐞𝐜𝐞𝐬𝐢𝐭𝐚 𝐞𝐥 𝐧𝐢𝐯𝐞𝐥 ➡️*`} -const smsCont10 = () => { return `*𝐏𝐚𝐫𝐚 𝐩𝐨𝐝𝐞𝐫 𝐮𝐬𝐚𝐫 𝐞𝐬𝐭𝐞 𝐜𝐨𝐦𝐚𝐧𝐝𝐨 𝐭𝐮 𝐧𝐢𝐯𝐞𝐥 𝐞𝐬 ➡️*`} -const smsCont11 = () => { return `*𝐀𝐜𝐭𝐮𝐚𝐥𝐢𝐳𝐚𝐫 𝐭𝐮 𝐧𝐢𝐯𝐞𝐥 𝐜𝐨𝐧 𝐞𝐥 𝐜𝐨𝐦𝐚𝐧𝐝𝐨*`} -const smsCont12 = () => { return `𝗨𝗡 𝗚𝗥𝗨𝗣𝗢 𝗚𝗘𝗡𝗜𝗔𝗟!! 😼`} -const smsCont13 = () => { return `𝗔𝗟𝗚𝗨𝗜𝗘𝗡 𝗦𝗘 𝗨𝗡𝗜𝗢!! 🥳`} -const smsCont14 = () => { return `𝗦𝗘 𝗙𝗨𝗘 𝗔𝗟𝗚𝗨𝗜𝗘𝗡!! 🧐`} -const smsCont15 = () => { return `𝗛𝗼𝗹𝗮`} -const smsCont16 = () => { return `𝙇𝘼𝙎 𝙑𝙄𝘿𝙀𝙊𝙇𝙇𝘼𝙈𝘼𝘿𝘼𝙎 📲`} -const smsCont17 = () => { return `𝙇𝘼𝙎 𝙇𝙇𝘼𝙈𝘼𝘿𝘼𝙎 📞`} -const smsCont18 = () => { return `𝗡𝗼 𝗲𝘀𝘁𝗮𝗻 𝗽𝗲𝗿𝗺𝗶𝘁𝗶𝗱𝗮𝘀, 𝘀𝗲𝗿𝗮́𝘀 𝗯𝗹𝗼𝗾𝘂𝗲𝗮𝗱𝗼\n\n 𝗦𝗶 𝗮𝗰𝗰𝗶𝗱𝗲𝗻𝘁𝗮𝗹𝗺𝗲𝗻𝘁𝗲 𝗹𝗹𝗮𝗺𝗮𝘀𝘁𝗲 𝗽𝗼́𝗻𝗴𝗮𝗻𝘀𝗲 𝗲𝗻 𝗰𝗼𝗻𝘁𝗮𝗰𝘁𝗼 𝗰𝗼𝗻 𝗺𝗶 𝗰𝗿𝗲𝗮𝗱𝗼𝗿 𝗽𝗮𝗿𝗮 𝗾𝘂𝗲 𝘁𝗲 𝗱𝗲𝘀𝗯𝗹𝗼𝗾𝘂𝗲𝗲! \n 𝗚𝗿𝘂𝗽𝗼 𝗮𝘀𝗶𝘀𝘁𝗲𝗻𝗰𝗶𝗮 𝗳𝗮𝗰𝗲𝗯𝗼𝗼𝗸: https://facebook.com/groups/872989990425789/`} -const smsCont19 = () => { return `𝘼𝙣𝙩𝙞 𝙙𝙚𝙡𝙚𝙩𝙚`} -const smsCont20 = () => { return `*┃▢ 𝐍𝐨𝐦𝐛𝐫𝐞:*`} -const smsCont21 = () => { return `*┃▢ 𝐄𝐧𝐯𝐢𝐚𝐝𝐨 𝐞𝐥 𝐦𝐞𝐧𝐬𝐚𝐣𝐞....*\n\n *▢ Para desactivar esta función envie el comando: .disable delete*`} - -//_anti-internacional.js -const smsInt1 = () => { return `Hey`} -const smsInt2 = () => { return `el este grupo no esta permido estos numero, por lo cual sera expulsado del grupo bye....`} - -//_antilink.js -const smsAdwa = () => { return `${global.lenguajeGB['smsAvisoEG']()}𝘾𝙊𝙈𝙊 𝙀𝙍𝙀𝙎 𝘼𝘿𝙈𝙄𝙉 𝙀𝙉 𝙀𝙇 𝙂𝙍𝙐𝙋𝙊 𝙉𝙊 𝙎𝙀𝙍𝘼𝙎 𝙀𝙇𝙄𝙈𝙄𝙉𝘼𝘿𝙊(𝘼)`} -const smsEnlaceWat = () => { return `${lenguajeGB['smsAvisoAG']()}𝙎𝙀 𝘿𝙀𝙏𝙀𝘾𝙏𝙊 𝙐𝙉 𝙀𝙉𝙇𝘼𝘾𝙀 𝙋𝙍𝙊𝙃𝙄𝘽𝙄𝘿𝙊 𝘿𝙀 𝙒𝙃𝘼𝙏𝙎𝘼𝙋𝙋 𝙀𝙉 𝙀𝙎𝙏𝙀 𝙂𝙍𝙐𝙋𝙊\n\n𝙋𝙍𝙊𝘾𝙀𝘿𝙊 𝘼 𝙀𝙇𝙄𝙈𝙄𝙉𝘼𝙍𝙏𝙀`} - -//_antilink2.js -const smsEnlaceWatt = () => { return `${lenguajeGB['smsAvisoAG']()}𝙎𝙀 𝘿𝙀𝙏𝙀𝘾𝙏𝙊 𝙐𝙉 𝙀𝙉𝙇𝘼𝘾𝙀 𝙋𝙍𝙊𝙃𝙄𝘽𝙄𝘿𝙊 𝙌𝙐𝙀 𝘾𝙊𝙉𝙏𝙄𝙀𝙉𝙀 𝙃𝙏𝙏𝙋𝙎 𝙀𝙉 𝙀𝙎𝙏𝙀 𝙂𝙍𝙐𝙋𝙊\n\n𝙋𝙍𝙊𝘾𝙀𝘿𝙊 𝘼 𝙀𝙇𝙄𝙈𝙄𝙉𝘼𝙍𝙏𝙀`} - -//_antispam.js -const smsNoSpam = () => { return `🤨 No hagas spam, no podra usar a el bot Por 5 Minuto`} - -//_antispam_.js -const smsNoSpam2 = () => { return `Fue desbaneado después de 5 Minuto. por favor no haga spam!!`} - -//Texto -const smsConMenu = () => { return `☘️ 𝗠 𝗘 𝗡 𝗨`} //🟡 NO CAMBIAR - -//Error -const smsMalError = () => { return `${lenguajeGB['smsAvisoFG']()}\`\`\`OCURRIÓ UN ERROR INESPERADO.\`\`\``} -const smsMalError2 = () => { return `${lenguajeGB['smsAvisoFG']()}\`\`\`SURGIÓ UN INCONVENIENTE. INTENTE DE NUEVO.\`\`\``} -const smsMalError3 = () => { return `${lenguajeGB['smsAvisoFG']()}\`\`\`ALGO SALIÓ MAL, REPORTE ESTE COMANDO USANDO:\`\`\`\n`} - -//_antitoxic.js -const smsToxic1 = () => { return `ɴᴏ 🤬 ᴅᴇᴄɪʀ ᴇsᴛᴀ ᴘᴀʟᴀʙʀᴀ`} -const smsToxic2 = () => { return `ᴇsᴛᴀ ᴘʀᴏʜɪʙɪᴅᴏ ɴᴏ sᴇᴀs ᴛᴏxɪᴄᴏ(ᴀ) 🤬`} -const smsToxic3 = () => { return `*ᴀᴅᴠᴇʀᴛᴇɴᴄɪᴀ*\n⚠️`} -const smsToxic4 = () => { return `😭 𝑳𝒐 𝒔𝒊𝒆𝒏𝒕𝒐`} -const smsToxic5 = () => { return `☢️ 𝑫𝒆𝒔𝒂𝒄𝒕𝒊𝒗𝒂 𝒂𝒏𝒕𝒊𝒕𝒐𝒙𝒊𝒄`} -const smsToxic6 = () => { return `ᴛᴇ ʟᴏs ᴀᴅᴠᴇʀᴛɪ ᴠᴀʀɪᴀs ᴠᴇᴄᴇs!!`} -const smsToxic7 = () => { return `sᴜᴘᴇʀᴀsᴛᴇ ʟᴀs 4 ᴀᴅᴠᴇʀᴛᴇɴᴄɪᴀ ᴀʜᴏʀᴀ sᴇʀᴀ ᴇʟɪᴍɪɴᴀᴅᴏ 😐`} - -//Tienda -const eExp = () => { return '⚡ Experiencia' } -const eDiamante = () => { return '💎 Diamante' } -const eDiamantePlus = () => { return '💎+ Diamante+' } -const eToken = () => { return '🪙 Token' } -const eEsmeralda = () => { return '💚 Esmeralda' } -const eJoya = () => { return '♦️ Joya' } -const eMagia = () => { return '🌀 Magia' } -const eOro = () => { return '👑 Oro' } -const eGataCoins = () => { return '🐱 LoliCoins' } -const eGataTickers = () => { return '🎫 Loli Tickers' } -const eEnergia = () => { return '✨ Energía' } -const ePocion = () => { return '🥤 Poción' } -const eAgua = () => { return '💧 Agua' } -const eBasura = () => { return '🗑 Basura' } -const eMadera = () => { return '🪵 Madera' } -const eRoca = () => { return '🪨 Roca' } -const ePiedra = () => { return '🥌 Piedra' } -const eCuerda = () => { return '🕸️ Cuerda' } -const eHierro = () => { return '⛓️ Hierro' } -const eCarbon = () => { return '⚱️ Carbón' } -const eBotella = () => { return '🍶 Botella' } -const eLata = () => { return '🥫 Lata' } -const eCarton = () => { return '🪧 Cartón' } -const eEletric = () => { return '💡 Electricidad' } -const eBarraOro = () => { return '〽️ Barra de Oro' } -const eOroComun = () => { return '🧭 Oro Común' } -const eZorroG = () => { return '🦊🌫️ Zorro Grande' } -const eBasuraG = () => { return '🗑🌫️ Super Basura' } -const eLoboG = () => { return '🐺🌫️ Super Lobo' } -const eMaderaG = () => { return '🛷🌫️ Super Madera' } -const eEspada = () => { return '⚔️ Espada' } -const eCarnada = () => { return '🪱 Carnada' } -const eBillete = () => { return '💵 Billetes' } -const ePinata = () => { return '🪅 Piñata' } -const eGancho = () => { return '🪝 Gancho' } -const eCanaPescar = () => { return '🎣 Caña de Pescar' } -const eCComun = () => { return '📦 Caja Común' } -const ePComun = () => { return '🥡 Caja Poco Común' } -const eCMistica = () => { return '🗳️ Caja Mítica' } -const eCMascota = () => { return '📫 Caja de Mascotas' } -const eCJardineria = () => { return '💐 Caja de Jardinería' } -const eClegendaria = () => { return '🎁 Caja Legendaria' } -const eUva = () => { return '🍇 Uva' } -const eManzana = () => { return '🍎 Manzana' } -const eNaranja = () => { return '🍊 Naranja' } -const eMango = () => { return '🥭 Mango' } -const ePlatano = () => { return '🍌 Platano' } -const eSUva = () => { return '🌾🍇 Semillas de uva' } -const eSManzana = () => { return '🌾🍎 Semillas de manzana' } -const eSNaranja = () => { return '🌾🍊 Semillas de naranja' } -const eSMango = () => { return '🌾🥭 Semillas de Mango' } -const eSPlatano = () => { return '🌾🍌 Semillas de plátano' } -const eCentauro = () => { return '🐐 Centauro' } -const eAve = () => { return '🦅 Ave' } -const eGato = () => { return '🐈 Gato' } -const eDragon = () => { return '🐉 Dragón' } -const eZorro = () => { return '🦊 Zorro' } -const eCaballo = () => { return '🐎 Caballo' } -const eFenix = () => { return '🕊️ Fénix' } -const eLobo = () => { return '🐺 Lobo' } -const ePerro = () => { return '🐶 Perro' } -const eAMascots = () => { return '🍖 Alimento para Mascota' } -const eCCentauro = () => { return '🐐🥩 Comida de Centauro' } -const eCAve = () => { return '🦅🥩 Comida de Ave' } -const eCMagica = () => { return '🌀🥩 Comida Mágica' } -const eCDragon = () => { return '🐉🥩 Comida de Dragón' } -const eACaballo = () => { return '🐎🥩 Alimentos Para Caballo' } -const eCFenix = () => { return '🕊️🥩 Comida de Fénix' } - -//config-on y off.js -const smsWel1 = () => { return `🎉 BIENVENIDA`} -const smsWel2 = () => { return `Mensaje de Bienvenida para nuevos Miembros en Grupos`} -const smsDete1 = () => { return `🔔 AVISOS`} -const smsDete2 = () => { return `Avisos de acciones dentro del Grupo`} -const smsANivel1 = () => { return `🆙 NIVEL AUTOMÁTICO`} -const smsANivel2 = () => { return `Sube de nivel a todos de manera automática; (Aplica recompensas por subir de Nivel)`} -const smsRestri1 = () => { return `⛔ RESTRINGIR`} -const smsRestri2 = () => { return `Habilitar función para agregar o eliminar personas en Grupos`} -const smsLlamar1 = () => { return `🚫 ANTI LLAMADAS`} -const smsLlamar2 = () => { return `Bloquea a Personas que hagan llamadas`} -const smsAntiSp1 = () => { return `🚯 ANTI SPAM`} -const smsAntiSp2 = () => { return `Banear el Uso de Comados cuando alguien realice algún tipo de Spam`} -const smsModP1 = () => { return `🌐 MODO PÚBLICO`} -const smsModP2 = () => { return `Habilitar función para que todos puedan usar GataBot`} -const smsModAd1 = () => { return `🛂 MODO ADMIN`} -const smsModAd2 = () => { return `Solo los Admins podrán usar GataBot en Grupos`} -const smsLect1 = () => { return `✅ LECTURA AUTOMÁTICA`} -const smsLect2 = () => { return `Dejar los mensajes o chats como Leídos`} -const smsTempo1 = () => { return `🐈 BOT TEMPORAL`} -const smsTempo2 = () => { return `Función que permite estadía temporalmente en Grupos`} -const smsStik1 = () => { return `🎠 STICKERS`} -const smsStik2 = () => { return `Habilitar el envio automático de Stickers a todos`} -const smsStickA1 = () => { return `🪄 STICKERS AUTOMÁTICOS`} -const smsStickA2 = () => { return `Los vídeos, Gif, imágenes, enlaces jpg o jpeg; Se convertirán en Stickers Automáticamente`} -const smsReacc1 = () => { return `🤡 REACCIÓN `} -const smsReacc2 = () => { return `Habilitar el envio automático de Reacciones a mensajes`} -const smsAudi1 = () => { return `🔊 AUDIOS`} -const smsAudi2 = () => { return `Habilitar el envio automático de Audios a todos`} -const smsModHor1 = () => { return `🔞 MODO HORNY`} -const smsModHor2 = () => { return `Mostrar contenido para Adulto en los Chats`} -const smsAntitoc1 = () => { return `☢️ ANTI TÓXICOS`} -const smsAntitoc2 = () => { return `Enviar Advertencias aquellas personas que insulten`} -const smsModOb1 = () => { return `👀 MODO OBSERVAR`} -const smsModOb2 = () => { return `Permitir que las imágenes, Gif y Vídeos se puedan ver para todos`} -const smsAntiEli1 = () => { return `🗑️ ANTI ELIMINAR`} -const smsAntiEli2 = () => { return `Todo mensaje eliminado será reenviado al Chat o Grupo`} -const smsAntiInt1 = () => { return `🌏 ANTI INTERNACIONAL`} -const smsAntiInt2 = () => { return `Eliminar Números internacionales considerados falsos`} -const smsAntiE1 = () => { return `🔗 ANTI ENLACES`} -const smsAntiE2 = () => { return `Eliminar Personas que envíen enlaces de Grupos de WhatsApp`} -const smsAntiEE1 = () => { return `🔗 ANTI ENLACES 2`} -const smsAntiEE2 = () => { return `Eliminar Personas que envíen enlaces que contengan https`} -const smsAntiTT1 = () => { return `🔗 ANTI TIKTOK`} -const smsAntiTT2 = () => { return `Eliminar Personas que envíen enlaces de TikTok`} -const smsAntiYT1 = () => { return `🔗 ANTI YOUTUBE`} -const smsAntiYT2 = () => { return `Eliminar Personas que envíen enlaces de YouTube`} -const smsAntiTEL1 = () => { return `🔗 ANTI TELEGRAM`} -const smsAntiTEL2 = () => { return `Eliminar Personas que envíen enlaces de Telegram`} -const smsAntiFB1 = () => { return `🔗 ANTI FACEBOOK`} -const smsAntiFB2 = () => { return `Eliminar Personas que envíen enlaces de Facebbok`} -const smsAntiIG1 = () => { return `🔗 ANTI INSTAGRAM`} -const smsAntiIG2 = () => { return `Eliminar Personas que envíen enlaces de Instagram`} -const smsAntiTW1 = () => { return `🔗 ANTI TWITTER `} -const smsAntiTW2 = () => { return `Eliminar Personas que envíen enlaces de Twitter`} -const smsSOLOP1 = () => { return `⚜️ SOLO PRIVADOS`} -const smsSOLOP2 = () => { return `Permitir que solo se use en Chats Privados`} -const smsSOLOG1 = () => { return `⚜️ SOLO GRUPOS`} -const smsSOLOG2 = () => { return `Permitir que solo se use en Chats Grupales`} -const smsConfi1 = () => { return `AJUSTES`} -const smsConfi2 = () => { return `*¡Hola!*`} -const smsConfi3 = () => { return `┆ *Seleccione una opción de la lista*`} -const smsConfi4 = () => { return `┆ *Para empezar a Configurar*`} -const smsConfi5 = () => { return `┆□ *Avisos de la Configuracion:*`} -const smsConfi6 = () => { return `┆ ✅ ⇢ *Función Activada*`} -const smsConfi7 = () => { return `┆ ❌ ⇢ *Función Desactivada*`} -const smsConfi8 = () => { return `┆ ⚠️ ⇢ *Este Chat no es un Grupo*`} -const smsConfi9 = () => { return `┆ *Recomendación: Para ver la configuración*\n┆ *Completa use este Menú en Grupo*\n┆`} -const smsConfi10 = () => { return `*~ CENTRO DE CONFIGURACIÓN*`} -const smsParaAdmins = () => { return `PARA ADMINS Y CREADOR(A) : GRUPOS`} -const smsParaAdYOw = () => { return `PARA ADMINS Y CREADOR(A) : CHATS`} -const smsParaOw = () => { return `PARA CREADOR(A) : CHATS`} -const smsNoGg = () => { return ` | ⚠️`} -const smsMens1 = () => { return `COMANDO`} -const smsMens2 = () => { return `ACTUALMENTE`} -const smsMens3 = () => { return `EN ESTE`} -const smsMens4 = () => { return `BOT`} -const smsMens5 = () => { return `CHAT`} - -//Error2 -const smsMensError1 = () => { return `❕ REPORTAR COMANDO ❕`} -const smsMensError2 = () => { return `Está Fallando el siguiente comando`} - -//_antiviewonce.js -const smsAntiView = () => { return `*𝙈𝘼𝙎𝙏𝙀𝙍 𝙔𝙊 𝙇𝙊 𝙑𝙀𝙊 𝙏𝙊𝘿𝙊 𝘼𝙌𝙐Í* 😎`} - -//_autolevelup.js -const smsAutoLv1 = () => { return `🎖️ NUEVO NIVEL 🎖️`} -const smsAutoLv2 = () => { return `NIVEL ANTERIOR:`} -const smsAutoLv3 = () => { return `NIVEL ACTUAL:`} -const smsAutoLv4 = () => { return `RANGO:`} -const smsAutoLv5 = () => { return `FECHA:`} -const smsAutoLv6 = () => { return `Has alcanzado un Nuevo Nivel!!!`} -const smsAutoLv7 = () => { return `🥳 RECOMPENSA POR SU NUEVO NIVEL`} - -//_autosticker.js -const smsAutoStik = () => { return `${lenguajeGB['smsAvisoFG']()}*EL VÍDEO NO DEBE DE DURAR MÁS DE 7 SEGUNDOS.*`} - -//_expired.js -const smsBottem1 = () => { return `*SE VA DEL GRUPO!!! 🤝 SI QUIERE QUE VUELVA, USE EL COMANDO _#bottemporal_ PARA QUE VUELVA AL GRUPO!!*`} -const smsBottem2 = () => { return `*💕 ASISTENCIA PARA USUARIOS*\n*_${global.ig}_*\n`} -const smsBottem3 = () => { return `HASTA PRONTO 💖`} - -//_premium.js -const smsPremI = () => { return `*¡SE ACABÓ TÚ TIEMPO PREMIUM!* 🎟️\n*PARA OBTENER UN NUEVO PASE PREMIUM USE EL COMANDO:*\n*#pase premium*`} - -//afk-_afk.js -const smsAfkM1 = () => { return `${lenguajeGB['smsAvisoEG']()}*ᴅᴇᴊᴀsᴛᴇ ᴅᴇ ᴇsᴛᴀʀ ɪɴᴀᴄᴛɪᴠᴏ ᴀғᴋ*`} -const smsAfkM2 = () => { return `*ᴇʟ ᴍᴏᴛɪᴠᴏ ᴅᴇ ɪɴᴀᴄᴛɪᴠɪᴅᴀᴅ ᴇʀᴀ:*`} -const smsAfkM3 = () => { return `*ᴛɪᴇᴍᴘᴏ ɪɴᴀᴄᴛɪᴠᴏ:*`} -const smsAfkM4 = () => { return `${lenguajeGB['smsAvisoAG']()}*ɴᴏ ᴇᴛɪǫᴜᴇᴛᴇ ᴀ ᴇsᴛᴇ(ᴀ) ᴜsᴜᴀʀɪᴏ(ᴀ)!!! ᴇsᴛᴀ ɪɴᴀᴄᴛɪᴠᴏ/ᴀ*`} -const smsAfkM5 = () => { return `*ᴍᴏᴛɪᴠᴏ ᴅᴇ ʟᴀ ɪɴᴀᴄᴛɪᴠɪᴅᴀᴅ ᴀғᴋ:*`} -const smsAfkM6 = () => { return `*ᴍᴏᴛɪᴠᴏ ᴅᴇ ʟᴀ ɪɴᴀᴄᴛɪᴠɪᴅᴀᴅ ᴀғᴋ: ɴᴏ ᴇsᴘᴇᴄɪғɪᴄᴏ ᴍᴏᴛɪᴠᴏ ᴅᴇ ɪɴᴀᴄᴛɪᴠɪᴅᴀᴅ (ᴘᴀᴊᴀ)*`} - -//afk-afk.js -const smsAfkM1A = () => { return `${lenguajeGB['smsAvisoAG']()}*ɴᴏ ᴇᴛɪǫᴜᴇᴛᴇ ᴀ*`} -const smsAfkM1B = () => { return `*ᴇsᴛᴀʀᴀ ɪɴᴀᴄᴛɪᴠᴏ ᴀғᴋ*\n\n*ᴍᴏᴛɪᴠᴏ ᴅᴇ ʟᴀ ɪɴᴀᴄᴛɪᴠɪᴅᴀᴅ ᴀғᴋ*`} - -//anonymous_chat.js -const smsChatAn1 = () => { return `${lenguajeGB['smsAvisoFG']()}*NO ESTÁS EN CHAT ANÓNIMO*`} -const smsChatAn2 = () => { return `*SI QUIERES INICIAR UN CHAT ANÓNIMO USA EL COMANDO #start O USAR EL BOTÓN DE ABAJO*\n`} -const smsChatAn3 = () => { return `⚡ INICIAR CHAT ANÓNIMO`} -const smsChatAn4 = () => { return `${lenguajeGB['smsAvisoRG']()}🪐 *USTED SE FUE DEL CHAT ANÓNIMO*`} -const smsChatAn5 = () => { return `${lenguajeGB['smsAvisoAG']()}*EL OTRO USUARIO SALIÓ DEL CHAT ANÓNIMO*`} -const smsChatAn6 = () => { return `*SI QUIERES IR A OTRO CHAT ANÓNIMO USA EL COMANDO #start O USAR EL BOTÓN DE ABAJO*\n`} -const smsChatAn7 = () => { return `${lenguajeGB['smsAvisoAG']()}*TODAVÍA ESTÁS EN UN CHAT ANÓNIMO O EN ESPERA A QUE ALGUIEN SE UNA PARA CHATEAR*`} -const smsChatAn8 = () => { return `*SI QUIERES SALIR DEL CHAT ANÓNIMO USE EL COMANDO #leave O PUEDES USAR EL BOTÓN DE ABAJO*\n`} -const smsChatAn9 = () => { return `🍁 SALIR DEL CHAT ANÓNIMO`} -const smsChatAn10 = () => { return `${lenguajeGB['smsAvisoEG']()}✨ *YA PUEDEN CHATEAR*`} -const smsChatAn11 = () => { return `*ALGUIEN SE HA UNIDO AL CHAT ANÓNIMO!!*`} -const smsChatAn12 = () => { return `❇️ OTRO(A) USUARIO(A)`} -const smsChatAn13 = () => { return `${lenguajeGB['smsAvisoRG']()}🐈 *ESPERANDO A QUE ALGUIEN SE UNA AL CHAT ANÓNIMO, TENGA PACIENCIA POR FAVOR*`} - -//Botones de Menú -const smsBotonM1 = () => { return `⚡ MENÚ DE INICIO ⚡`} -const smsBotonM2 = () => { return `💫 MENÚ COMPLETO 💫`} -const smsBotonM3 = () => { return `🔰 INFOBOT 🔰`} -const smsBotonM4 = () => { return `𝙐𝙨𝙪𝙖𝙧𝙞𝙤𝙨`} -const smsBotonM5 = () => { return `RANGO`} -const smsBotonM6 = () => { return `NIVEL`} -const smsBotonM7 = () => { return `PREMIUM`} -const smsTex1 = () => { return '*MENÚ DE BUSQUEDA*'} -const smsTex2 = () => { return '*MODIFICADOR DE AUDIO*'} -const smsTex3 = () => { return '*MENÚ +18*'} -const smsTex4 = () => { return '*CONTENIDO DINÁMICO*'} -const smsTex5 = () => { return '*BUSCAR Y DESCARGAR*'} -const smsTex6 = () => { return '*MENÚ +18 PREMIUM*'} -const smsTex7 = () => { return '⠇ *Imágenes +18 de calidad y variedad*\n⠇ *Vídeos +18 solo para ti*\n⠇ *Stickers +18 disponibles*'} -const smsTex8 = () => { return '*MENÚ CONVERTIDOR*'} -const smsTex9 = () => { return '*MENÚ DE DESCARGAS*'} -const smsTex10 = () => { return '*MENU JUEGOS DINÁMICOS*'} -const smsTex11 = () => { return '*MENU PARA GRUPOS*'} -const smsTex12 = () => { return '*MENU DE HERRAMIENTAS*'} -const smsTex13 = () => { return '*MENU DE INFORMACIÓN*'} -const smsTex14 = () => { return '*MENU DE EFECTOS Y LOGOS*'} -const smsTex15 = () => { return '*MENU DE LOGOS 2*'} -const smsTex16 = () => { return 'MENU DE AUDIOS'} -const smsTex17 = () => { return '*NO ES NECESARIO USAR PREFIJO EN AUDIOS*'} -const smsTex18 = () => { return 'LISTA DE AUDIOS'} -const smsTex19 = () => { return '*PUEDE SELECCIONAR EL AUDIO!!*'} -const smsTex20 = () => { return '*MENU PARA PROPIETARIO(A)*'} -const smsTex21 = () => { return '*MENU RPG*'} -const smsTex22 = () => { return '*MENU DE STICKERS Y FILTROS*'} -const smsTex23 = () => { return '*MENU DE MEMES Y ANIMES RANDOMS*'} - -//info-grupos-lista.js -const smsLisA = () => { return '_*ESTÁ EN ESTOS GRUPOS:*_'} -const smsLisB = () => { return '*✦ Total de Grupos:*'} -const smsLisC = () => { return '*✦ Grupo:*'} -const smsLisD = () => { return '*✦ ID:*'} -const smsLisE = () => { return '*✦ Participantes:*'} - -//ad -const smsMalused = () => { return '⚡ *USAR EL COMANDO DE ESTA FORMA:*\n'} -const smsMalused2 = () => { return `${lenguajeGB['smsAvisoMG']()}🐈 *DEBE DE USAR EL COMANDO COMO EN ESTE EJEMPLO:*\n`} -const smsMalused3 = () => { return `${lenguajeGB['smsAvisoMG']()}🐈 *DEBE DE USAR EL COMANDO O RESPONDER AL MENSAJE DE ALGUIEN COMO EN ESTE EJEMPLO:*\n`} - -//gc-config_time.js -const smsGrupoTime1 = () => { return '🔓 *_ABRIR GRUPO EN UNA HORA_*'} -const smsGrupoTime2 = () => { return '🔒 *_CERRAR GRUPO EN UNA HORA_*'} -const smsGrupoTime3 = () => { return 'GRUPO'} -const smsGrupoTime4 = () => { return 'CERRADO'} -const smsGrupoTime5 = () => { return 'ABIERTO'} -const smsGrupoTime6 = () => { return 'DURANTE'} -const smsGrupoTime7 = () => { return '🔒 *EL GRUPO ESTA CERRADO, SOLO ADMINS PUEDEN ENVIAR MENSAJES*'} -const smsGrupoTime8 = () => { return '🔓 *EL GRUPO ESTA ABIERTO, TODOS PUEDEN ENVIAR MENSAJES*'} -const smsGrupoTime9 = () => { return '🔓 ABRIR GRUPO DURANTE '} -const smsGrupoTime10 = () => { return '🔒 CERRAR GRUPO DURANTE '} -const smsGrupoTime11 = () => { return ' HORA'} -const smsGrupoTime12 = () => { return 'PERMITIR QUE EL GRUPO SE HABRA POR '} -const smsGrupoTime13 = () => { return 'PERMITIR QUE EL GRUPO SE CIERRE POR '} - -//grupo-add.js -const smsAddB1 = () => { return `${lenguajeGB['smsAvisoFG']()}*NO SE PUEDE AGREGAR EL NÚMERO, VERFIQUE QUE SEA CORRECTO, TAL VEZ SALIÓ RECIENTEMENTE O SU PRIVACIDAD ESTA CONFIGURADA.*`} -const smsAddB2 = () => { return `${lenguajeGB['smsAvisoFG']()}*NO SE PUEDE AGREGAR EL NÚMERO, VERFIQUE QUE SEA CORRECTO, O AGRÉGELO MANUALMENTE.*`} - -//grupo-admins.js -const smsAddB3 = () => { return `*𝙉𝙤𝙩𝙞𝙛𝙞𝙘𝙖𝙘𝙞𝙤𝙣 𝙥𝙖𝙧𝙖 𝙖𝙙𝙢𝙞𝙣𝙨*`} -const smsAddB4 = () => { return `*𝙋𝙧𝙚𝙨𝙚𝙣𝙘𝙞𝙖 𝙙𝙚 𝙖𝙙𝙢𝙞𝙣𝙨*`} -const smsAddB5 = () => { return `*𝙈𝙚𝙣𝙨𝙖𝙟𝙚:*`} -const smsAddB6 = () => { return `𝙎𝙤𝙡𝙞𝙘𝙞𝙩𝙤 𝙖𝙡 𝙡𝙤𝙨 𝙖𝙙𝙢𝙞𝙣𝙨 𝙥𝙤𝙧 𝙛𝙖𝙫𝙤𝙧.`} - -//grupo-advertencia.js -const smsAdveu1 = () => { return `${lenguajeGB['smsAvisoAG']()}*SOLO PUEDE USAR SI ESTÁ ACTIVADA LA FUNCIÓN:*\n`} -const smsAdveu2 = () => { return 'Motivo'} -const smsAdveu3 = () => { return `${lenguajeGB['smsAvisoMG']()}*RECUERDE ESCRIBIR EL MOTIVO DE LA ADVERTENCIA*\n`} -const smsAdveu4 = () => { return '*RECIBIÓ UNA ADVERTENCIA EN ESTE GRUPO!!*'} -const smsAdveu5 = () => { return 'ADVERTENCIA'} -const smsAdveu6 = () => { return '🎒 INVENTARIO'} -const smsAdveu7 = () => { return '*TE LO ADVERTI VARIAS VECES!!*'} -const smsAdveu8 = () => { return '*AHORA SERÁS ELIMINADO(A)* 🙄'} -const smsAdveu9 = () => { return '😇 MUCHAS GRACIAS'} -const smsAdveu10 = () => { return '*SE LE ELIMINÓ UNA ADVERTENCIA EN ESTE GRUPO!!*'} -const smsAdveu11 = () => { return 'Antes:'} -const smsAdveu12 = () => { return 'Ahora:'} - -//grupo-demote.js || grupo-promote.js -const smsDemott = () => { return '*EL NÚMERO NO ES VÁLIDO, VUELVA INTENTAR RESPONDA AL MENSAJE DE ALGUIEN O USE COMO EN ESTE EJEMPLO:*\n'} -const smsDemott2 = () => { return '*AHORA TIENE PODER EN EL GRUPO!!*'} -const smsDemott3 = () => { return '*YA NO TIENE PODER EN EL GRUPO!!*'} - -//grupo-info.js -const smsGI1 = () => { return '*INFORMACIÓN DEL GRUPO*'} -const smsGI2 = () => { return '*ID DEL GRUPO*'} -const smsGI3 = () => { return '*NOMBRE DEL GRUPO*'} -const smsGI4 = () => { return '*DESCRIPCIÓN DEL GRUPO*'} -const smsGI5 = () => { return '*NO HAY DESCRIPCIÓN*'} -const smsGI6 = () => { return '*NÚMERO DE USUARIOS*'} -const smsGI7 = () => { return '*Usuarios*'} -const smsGI8 = () => { return '*CREADOR(A) DEL GRUPO*'} -const smsGI9 = () => { return '*ADMINS DEL GRUPO*'} -const smsGI10 = () => { return '⚙️ CONFIGUARACIONES DEL GRUPO'} - -//grupo-kick.js -const smskick1 = () => { return `${lenguajeGB['smsAvisoAG']()}*ETIQUETE A LA PERSONA O RESPONDA AL MENSAJE DE LA PERSONA QUE QUIERE ELIMINAR*\n\n*EJEMPLO: `} -const smskick2 = () => { return `ELIMINADO(A) 😼🫵`} -const smskick3 = () => { return `NO PUEDO ELIMINAR AL CREADOR DEL GRUPO 😆🫵`} -const smskick4 = () => { return `NO ESTÁ EN ESTE GRUPO 👻`} - -//grupo-tagall.js -const smstagaa = () => { return `⚡ INVOCANDO AL GRUPO ⚡`} - -//grupo-setbye.js -const smsSetB = () => { return `${lenguajeGB['smsAvisoEG']()}*LA DESPEDIDA DEL GRUPO HA SIDO CONFIGURADA*`} -const smsSetB2 = () => { return `${lenguajeGB['smsAvisoIIG']()}🙌 *_ESCRIBA EL MENSAJE DE DESPEDIDA_*\n*_OPCIONAL PUEDE USAR LO QUE ESTA CON "@" PARA AGREGAR MÁS INFORMACIÓN:_*\n\n*⚡ @user (Mención al usuario(a))*\n\n*RECUERDE QUE EL "@" ES OPCIONAL*`} - -//grupo-setwelcome.js -const smsSetW = () => { return `${lenguajeGB['smsAvisoEG']()}*LA BIENVENIDA DEL GRUPO HA SIDO CONFIGURADA*`} -const smsSetW2 = () => { return `${lenguajeGB['smsAvisoIIG']()}🙌 *_ESCRIBA EL MENSAJE DE BIENVENIDA_*\n*_OPCIONAL PUEDE USAR LO QUE ESTA CON "@" PARA AGREGAR MÁS INFORMACIÓN:_*\n\n*⚡ @user (Mención al usuario(a))*\n*⚡ @subject (Nombre de grupo)*\n*⚡ @desc (Description de grupo)*\n\n*RECUERDE QUE LOS "@" SON OPCIONALES*`} - -//grupo-setdesc.js -const smsDest = () => { return `${lenguajeGB['smsAvisoEG']()}*LA DESCRIPCIÓN DEL GRUPO HA SIDO CONFIGURADA*`} - -//grupo-setname.js -const smsNam1 = () => { return `${lenguajeGB['smsAvisoEG']()}*EL NOMBRE DEL GRUPO HA SIDO CONFIGURADO*`} -const smsNam2 = () => { return `${lenguajeGB['smsAvisoMG']()}*🙌 ESCRIBA EL NUEVO NOMBRE DEL GRUPO*`} -const smsNam3 = () => { return `${lenguajeGB['smsAvisoFG']()}*EL NOMBRE DEL GRUPO NO DEBE DE TENER MÁS DE 25 CARACTERES*`} - -//grupo-restaurarEnlace.js -const smsRestGp = () => { return `${lenguajeGB['smsAvisoEG']()}*EL ENLACE DEL GRUPO HA SIDO RESTABLECIDO*`} - -//Botón -const smsSig = () => { return `➡️ SIGUIENTE ➡️`} -const smsSigPrem = () => { return `❤️‍🔥 SIGUIENTE ❤️‍🔥`} -const smsCont18Porn = () => { return `🔞 *CONTENIDO* 🔞`} //texto -const smsCont18Porn2 = () => { return `🔞 CONTENIDO 🔞`} //texto -const smsCont18PornP = () => { return `🌟 *CONTENIDO ❤️‍🔥 PREMIUM* 🌟`} //texto -const smsCont18PornP2 = () => { return `CONTENIDO ❤️‍🔥 PREMIUM`} //texto - -//propietario(a).js -const smsJoin = (user) => { return `𝙃𝙤𝙡𝙖 👋 𝙘𝙤𝙢𝙤 𝙚𝙨𝙩𝙖 𝙩𝙤𝙙𝙤𝙨 𝙥𝙤𝙧 𝙖𝙦𝙪𝙞, 𝙎𝙤𝙮 𝙪𝙣 𝙗𝙤𝙩 𝙙𝙚 𝙬𝙝𝙖𝙩𝙨𝙖𝙥𝙥 𝙦𝙪𝙚 𝙩𝙚 𝙖𝙮𝙪𝙙𝙖𝙧𝙖́ 𝙖 𝙧𝙚𝙖𝙡𝙞𝙯𝙖𝙧 𝙙𝙞𝙛𝙚𝙧𝙚𝙣𝙩𝙚𝙨 𝙖𝙘𝙩𝙞𝙫𝙞𝙙𝙖𝙙𝙚𝙨 🙌 𝙩𝙚 𝙫𝙖𝙣 𝙖 𝙙𝙞𝙫𝙚𝙧𝙩𝙞𝙧 😛𝙘𝙤𝙣 𝙢𝙞 𝙢𝙪𝙡𝙩𝙞𝙥𝙡𝙚𝙨 𝙛𝙪𝙣𝙘𝙞𝙤𝙣𝙚𝙨\n𝙁𝙪𝙞 𝙞𝙣𝙫𝙞𝙩𝙖𝙙𝙤 𝙥𝙤𝙧: @${user}\n𝘿𝙞𝙨𝙛𝙧𝙪𝙩𝙖 𝙙𝙚𝙡 𝙇𝙤𝙡𝙞𝘽𝙤𝙩-𝙈𝘿 🙌`} -const smsJoin1 = (usedPrefix, command) => { return lenguajeGB['smsAvisoMG']() + `*INGRESE EL ENLACE DE UN GRUPO*\n*EJEMPLO:*\n*${usedPrefix + command}* ${nna}`} -const smsJoin2 = () => { return lenguajeGB['smsAvisoEG']() + `${packname}\n*SE HA UNIDO AL GRUPO ✅*`} - -//propietario(a).js -const smsBCMensaje = (usedPrefix, command) => { return `*RESPONDA AL MENSAJE O ESCRIBA EL MENSAJE USANDO ${usedPrefix + command}*`} -const smsBCMensaje2 = () => { return `*Enviando mensaje oficial, espere un momento...*`} -const smsBCMensaje3 = (totalPri, time) => { return `✅ *El mensaje fue envíado a ${totalPri} Chat(s) privado (s)*\n\n*Tiempo total de envio: ${time}*\n${totalPri >= 3000 ? '\n*No se enviaron a todos los chats para evitar saturación*' : ''}`} - -//propietario(a).js -const smsBCbot1 = () => { return `✅ *MENSAJE ENVIADO:*`} -const smsBCbot2 = () => { return `PRIVADO`} -const smsBCbot3 = () => { return `GRUPO`} -const smsBCbot4 = () => { return `TOTAL`} -const smsBCbot5 = () => { return `TIEMPO TOTAL DE ENVÍO:`} -const smsBCbot6 = () => { return `NO SE ENVIARON A TODOS LOS CHATS PRIVADOS PARA EVITAR SATURACIÓN`} -const smsBCbot7 = () => { return `✅ *COMUNICADO OFICIAL* ✅`} - -//propietario(a).js -const smsChatGP1 = () => { return "*Enviando mensaje, espere un momento...*"} -const smsChatGP2 = (readMS, dia, mes, año, fecha, tiempo) => { return `✅ *COMUNICADO OFICIAL* ✅\n${readMS}\n\`\`\`${dia}, ${mes} ${año}\`\`\`\n\`\`\`${fecha} || ${tiempo}\`\`\`\n\n`} -const smsChatGP3 = (totalGP) => { return `✅ *EL MENSAJE FUE ENVIADO A ${totalGP} GRUPO(S)*`} - -//propietario(a.js -const smsPropban1 = (usedPrefix, command, bot) => { return `${lenguajeGB['smsAvisoMG']()}*ETIQUETE A ALGUIEN O RESPONDA AL MENSAJE DEL USUARIO O ESCRIBA EL NÚMERO QUE QUIERE BANEAR DE LOS COMANDOS*\n\n*EJEMPLO:*\n*${usedPrefix + command} @${bot}*`} -const smsPropban2 = (bot) => { return `${lenguajeGB['smsAvisoFG']()}*@${bot} NO PUEDE SER BANEADO CON ESTE COMANDO* 😹`} -const smsPropban3 = (ownerNumber) => { return `${lenguajeGB.smsAvisoIIG()}😳 *NO PUEDO BANEAR AL OWNER @${ownerNumber} DE ${packname}*`} -const smsPropban4 = (number) => { return `${lenguajeGB.smsAvisoIIG()}*NO ES NECESARIO VOLVER A BANEAR A @${number} SI YA LO ESTÁ* 😊`} -const smsPropban5 = () => { return `${lenguajeGB['smsAvisoEG']()}𝙀𝙇/𝙇𝘼 𝙐𝙎𝙐𝘼𝙍𝙄𝙊(𝘼) 𝙁𝙐𝙀 𝘽𝘼𝙉𝙀𝘼𝘿𝙊(𝘼) 🙀\n𝙉𝙊 𝙋𝙊𝘿𝙍𝘼 𝙐𝙎𝘼𝙍 𝘼 ${lb}`} -const smsPropban6 = (number, usr) => { return `${lenguajeGB.smsAvisoAG()}*@${number} ESTAS BANEADO/A POR @${usr} NO PUEDES USAR LOS COMANDOS HASTA QUE ALGUIEN REVIERTA EL BANEO* 😿`} -const smsPropban7 = (usedPrefix, command, number) => { return `${lenguajeGB['smsAvisoFG']()}*SURGIÓ UN ERROR, PUEDE SER QUE EL USUARIO NO ESTE EN MI BASE DE DATOS INTENTE ESCRIBIR ${usedPrefix + command} ${number}*\n\`\`\`SI EL ERROR CONTINÚA REPORTE ESTE COMANDO\`\`\``} - -//jadibot-serbot.js -const smsIniJadi = () => { return `*🔰 The LoliBot-MD 🔰*\n *Ser sub bot*\n\n*Con otro telefono que tengas o en la PC escanea este QR para convertirte en un sub bot*\n\n*1. Haga clic en los tres puntos en la esquina superior derecha*\n*2. Toca WhatsApp Web*\n*3. Escanee este codigo QR*\n*Este código QR expira en 60 segundos!*\n\n*⚠️ No nos hacemos responsable del mal uso que se le pueda dar o si el numero se manda a soporte.. ustedes tienen el deber se seguir al pie de la letra los terminos y condiciones y privacidad (escribe eso y te los dará)*`} -const smsSoloOwnerJB = () => { return `${lenguajeGB['smsAvisoAG']()}*ESTE COMANDO ESTÁ DESACTIVADO POR MÍ PROPIETARIO(A)*`} -const smsJBPrincipal = () => { return `「🤖 𝕿𝖍𝖊-𝕷𝖔𝖑𝖎𝕭𝖔𝖙-𝕸𝕯 🤖」*\n\n*⚠️ No se puede hacer un bot dentro de un sub bot!*\n*✳️ Mande el comando #jadibot al numero oficial/principal del Bot*\n\n`} -const smsIniJadi2 = () => { return `*🔰 The LoliBot-MD 🔰*\n *Ser sub bot*\n\n🟢 *_NUEVA FUNCIÓN DE HACERTE UN SUB BOT_* 🟢\n\n*1️⃣ Diríjase en los tres puntos en la esquina superior derecha*\n*2️⃣ Ir a la opción Dispositivos vinculados*\n*3️⃣ da click en vincular con codigo de teléfono*\n*4️⃣ pega el codigo a continuación*\n\n*⚠️ No nos hacemos responsable del mal uso que se le pueda dar o si el numero se manda a soporte.. ustedes tienen el deber se seguir al pie de la letra los terminos y condiciones y privacidad (escribe eso y te los dará)*`} -const smsreenvia = () => { return `*🟢 REENVIA EL COMANDO...*`} -const smsJBConexionClose2 = () => { return `${lenguajeGB['smsAvisoFG']()}🔴 *TU DISPOSITIVO SE DESCONECTADO*\n\n*TENDRAS QUE VOLVER A CONECTARTE USAR:\n#deletesesion (Para borrar datos y poder volver a solita el QR o el code)`} -const smsJBConexion = () => { return `*⚠️ Conexión perdida.. envie el mensaje que se envio al numero donde escaneo el codigo qr*`} -const smsJBConexionClose = () => { return `⚠️ *LA CONEXIÓN SE HA CERRADO, DEBERÁ DE CONECTARSE MANUALMENTE USANDO EL COMANDO #serbot Y REESCANEAR EL NUEVO CÓDIGO QR*`} -const smsJBConexionTrue = () => { return `Conectado exitosamente con WhatsApp\n\n*Nota:* Esto es temporal si el Bot principal se reinicia o se desactiva, todos los sub bots tambien lo haran\n\nPuede iniciar sesión sin el codigo qr con el siguiente mensaje, envialo cuando no funcione el bot....`} -const smsJBConexionTrue2 = () => { return `*✅Conectado exitosamente con whatsapp*`} -const smsJBCargando = () => { return `*✅Ya estas conectado, Por favor espere se esta cargado los mensajes....*\n\n*🙌️ OPCIONES DISPONIBLES:*\n*🔸#stop _(Detener la función Sub Bot)_*\n*🔸 #eliminarsesion _(Borrar todo rastro de Sub Bot)_*\n*🔸 #serbot _(Obtener nuevo código QR para ser Sub Bot)_*`} -const smsJBInfo1 = () => { return `💖 *ENLACE ÚTIL*`} -const smsJBInfo2 = () => { return `💖 *La función es estable, sí presenta algún inconveniente Comuníquese al correo: centergatabot@gmail.com*\n💝 *Puede hacer una Donación voluntaria por PayPal: ${global.paypal}*\n\n*Muchas Gracias por el apoyo a ${global.packname}*`} - -//jadibot-deleteSesion.js -const smsJBDel = () => { return `${lenguajeGB['smsAvisoAG']()}*USE ESTE COMANDO AL BOT PRINCIPAL*`} -const smsJBAdios = () => { return `${lenguajeGB['smsAvisoEG']()}*TE VOY A EXTRAÑAR ${global.packname} CHAOO!! 🥹*`} -const smsJBCerrarS = () => { return `${lenguajeGB['smsAvisoEG']()}*HA CERRADO SESIÓN Y BORRADO TODO RASTRO*`} -const smsJBErr = () => { return `*HA CERRADO SESIÓN COMO SUB BOT* ♻️`} - -//comandos+18-adult.js -const smsContAdult = () => { return `${lenguajeGB['smsAvisoAG']()}*LOS COMANDOS 🔞 ESTÁN DESACTIVADOS, SI USTED ES MI CREADOR(A) USE #on modohorny*`} - -//comandos+18-menu.js -const smsList1 = () => { return `No tiene suficiente `} -const smsList2 = () => { return `\nPresione aquí para comprar `} -const smsList3 = () => { return `Contenido disponible 😸`} -const smsList4 = () => { return `Contenido no disponible 😿\nPresione aquí para comprar `} -const smsList5 = () => { return `*Seleccione una opción*\n*de la lista para ver el*\n*contenido* 😋`} -const smsList6 = () => { return `👀 VER LISTA 👀`} - -//descargas-consejos.js -const smsConj = () => { return `🍃 NUEVO CONSEJO`} -const smsFras = () => { return `🍃 NUEVA FRASE`} - -//info-contacto.js -const smsContacto1 = () => { return ' Soy ' + packname + ' un Bot de WhatsApp dedicado en ayudar con lo que me pidas 😎'} -const smsContacto2 = () => { return 'Soy Owner de ' + packname + ' sí tienes alguna duda me la puedes decir ✌️'} -const smsContacto3 = () => { return '👑 Owner'} -const smsContacto4 = () => { return 'Contacto Oficial de GataBot 🐈'} -const smsContacto5 = () => { return '🐣 ¿Le puedo ayudar en algo?'} -const smsContacto6 = () => { return 'No tengo correo 🙏'} -const smsContacto7 = () => { return '🌎 Global'} -const smsContacto8 = () => { return 'Esta Cuenta es Bot 👀'} - - -export default { lenguaje, smsConexioncerrar, smsConexionperdida, smsConexionreem, smsConexionreinicio, smsConexiontiem, smsConexiondescon, smsAvisoRG, smsJoin, smsJoin1, smsJoin2, smsPropban1, smsPropban2, smsPropban3, smsPropban4, smsPropban5, smsPropban6, smsPropban7, smsLisA, smsLisB, smsLisC, smsLisD, smsLisE, smsChatGP1, smsChatGP2, smsChatGP3, smsBCMensaje, smsBCMensaje2, smsBCMensaje3, smsAvisoAG, smsAvisoIIG, smsBCbot1, smsBCbot2, smsBCbot3, smsBCbot4, smsBCbot5, smsBCbot6, smsBCbot7, smsAvisoFG, smsAvisoMG, smsAvisoEEG, smsAvisoEG, smsRowner, smsOwner, smsMods, smsPremium, smsGroup, smsPrivate, smsAdmin, smsBotAdmin, smsUnreg, smsRestrict, smsTime, smsUptime, smsVersion, smsTotalUsers, smsMode, smsModePublic, smsModePrivate, smsBanChats, smsBanUsers, smsPareja, smsResultPareja, smsSaludo, smsDia, smsTarde, smsTarde2, smsNoche, smsListaMenu, smsLista1, smsLista2, smsLista3, smsLista4, smsLista5, smsLista6, smsLista7, smsLista8, smsLista9, smsLista10, smsLista11, smsLista12, smsLista13, smsLista14, smsLista15, smsLista16, smsLista17, smsLista18, smsLista19, smsLista20, smsLista21, smsLista22, smsLista23, smsLista24, smsLista25, smsLista26, smsLista27, smsLista28, smsLista29, smsLista30, smsLista31, smsLista32, smsLista33, smsLista34, smsLista35, smsWelcome, smsBye, smsSpromote, smsSdemote, smsSdesc, smsSsubject, smsSicon, smsSrevoke, smsConexion, smsClearTmp, smsCargando, smspurgeSession, smspurgeOldFiles, smspurgeSessionSB1, smspurgeSessionSB2, smspurgeSessionSB3, smspurgeOldFiles1, smspurgeOldFiles2, smspurgeOldFiles3, smspurgeOldFiles4, smsTextoYT, smsApagar, smsEncender, smsEnlaceTik, smsEnlaceYt, smsEnlaceTel, smsEnlaceFb, smsEnlaceIg, smsEnlaceTw, smsAllAdmin, smsSoloOwner, smsCont1, smsCont2, smsCont3, smsCont4, smsCont5, smsCont6, smsCont7, smsCont8, smsCont9, smsCont10, smsCont11, smsCont12, smsCont13, smsCont14, smsCont15, smsCont16, smsCont17, smsCont18, smsCont19, smsCont20, smsCont21, smsInt1, smsInt2, smsAdwa, smsEnlaceWat, smsEnlaceWatt, smsNoSpam, smsNoSpam2, smsConMenu, smsMalError, smsMalError2, smsMalError3, smsToxic1, smsToxic2, smsToxic3, smsToxic4, smsToxic5, smsToxic6, smsToxic7, eExp, eDiamante, eDiamantePlus, eToken, eEsmeralda, eJoya, eMagia, eOro, eGataCoins, eGataTickers, eEnergia, ePocion, eAgua, eBasura, eMadera, eRoca, ePiedra, eCuerda, eHierro, eCarbon, eBotella, eLata, eCarton, eEletric, eBarraOro, eOroComun, eZorroG, eBasuraG, eLoboG, eMaderaG, eEspada, eCarnada, eBillete, ePinata, eGancho, eCanaPescar, eCComun, ePComun, eCMistica, eCMascota, eCJardineria, eClegendaria, eUva, eManzana, eNaranja, eMango, ePlatano, eSUva, eSManzana, eSNaranja, eSMango, eSPlatano, eCentauro, eAve, eGato, eDragon, eZorro, eCaballo, eFenix, eLobo, ePerro, eAMascots, eCCentauro, eCAve, eCMagica, eCDragon, eACaballo, eCFenix, smsWel1, smsWel2, smsParaAdmins, smsDete1, smsDete2, smsANivel1, smsANivel2, smsParaAdYOw, smsParaOw, smsRestri1, smsRestri2, smsLlamar1, smsLlamar2, smsModP1, smsModP2, smsModAd1, smsModAd2, smsLect1, smsLect2, smsTempo1, smsTempo2, smsStik1, smsStik2, smsStickA1, smsStickA2, smsReacc1, smsReacc2, smsAudi1, smsAudi2, smsModHor1, smsModHor2, smsAntitoc1, smsAntitoc2, smsModOb1, smsModOb2, -smsAntiEli1, smsAntiEli2, smsAntiInt1, smsAntiInt2, smsAntiE1, smsAntiE2, smsAntiEE1, smsAntiEE2, smsAntiTT1, smsAntiTT2, smsAntiYT1, smsAntiYT2, smsAntiTEL1, smsAntiTEL2, smsAntiFB1, smsAntiFB2, smsAntiIG1, smsAntiIG2, smsAntiTW1, smsAntiTW2, smsSOLOP1, smsSOLOP2, smsSOLOG1, smsSOLOG2, smsNoGg, smsConfi1, smsConfi2, smsConfi3, smsConfi4, smsConfi5, smsConfi6, smsConfi7, smsConfi8, smsConfi9, smsConfi10, smsMens1, smsMens2, smsMens3, smsMens4, smsMens5, smsMensError1, smsMensError2, smsAntiView, smsAutoLv1, smsAutoLv2, smsAutoLv3, smsAutoLv4, smsAutoLv5, smsAutoLv6, smsAutoLv7, smsAntiSp1, smsAntiSp2, smsAutoStik, smsBottem1, smsBottem2, smsBottem3, smsPremI, -smsAfkM1, smsAfkM2, smsAfkM3, smsAfkM4, smsAfkM5, smsAfkM6, smsAfkM1A, smsAfkM1B, smsChatAn1, smsChatAn2, smsChatAn3, smsChatAn4, smsChatAn5, smsChatAn6, smsChatAn7, smsChatAn8, smsChatAn9, smsChatAn10, smsChatAn11, smsChatAn12, smsChatAn13, smsBotonM1, smsBotonM2, smsBotonM3, smsBotonM4, smsBotonM5, smsBotonM6, smsBotonM7, smsTex1, smsTex2, smsTex3, smsTex4, smsTex5, smsTex6, smsTex7, smsTex8, smsTex9, smsTex10, smsTex11, smsTex12, smsTex13, smsTex14, smsTex15, smsTex16, smsTex17, smsTex18, smsTex19, smsTex20, smsTex21, smsTex22, smsTex23, smsMalused, smsGrupoTime1, smsGrupoTime2, smsGrupoTime3, smsGrupoTime4, smsGrupoTime5, smsGrupoTime6, smsGrupoTime7, smsGrupoTime8, smsGrupoTime9, smsGrupoTime10, smsGrupoTime11, smsGrupoTime12, smsGrupoTime13, smsAddB1, smsAddB2, smsAddB3, smsAddB4, smsAddB5, smsAddB6, smsAdveu1, smsMalused2, smsAdveu2, smsAdveu3, smsAdveu4, smsAdveu5, smsAdveu6, smsAdveu7, smsAdveu8, smsAdveu9, smsMalused3, smsAdveu10, smsAdveu11, smsAdveu12, smsDemott, smsDemott2, smsDemott3, -smsGI1, smsGI2, smsGI3, smsGI4, smsGI5, smsGI6, smsGI7, smsGI8, smsGI9, smsGI10, smsLista22_1, smsCodigoQR, smsConexionOFF, smskick1, smskick2, smskick3, smskick4, smstagaa, -smsSetB, smsSetB2, smsSetW, smsSetW2, smsDest, smsNam1, smsNam2, smsNam3, smsRestGp, smsSig, smsSigPrem, smsCont18Porn, smsCont18Porn2, smsCont18PornP, smsCont18PornP2, -smsIniJadi, smsSoloOwnerJB, smsJBPrincipal, smsJBConexion, smsJBConexionClose, smsJBConexionTrue, smsJBConexionTrue2, smsJBCargando, smsJBInfo1, smsJBInfo2, smsJBDel, smsJBAdios, -smsJBCerrarS, smsJBErr, smsContAdult, smsList1, smsList2, smsList3, smsList4, smsList5, smsList6, smsConj, smsFras, smsContacto1, smsContacto2, smsContacto3, smsContacto4, -smsContacto5, smsContacto6, smsContacto7, smsContacto8, smsMainBot, smsIniJadi2, smsreenvia, smsJBConexionClose2} diff --git a/lib/idiomas/frances.js b/lib/idiomas/frances.js deleted file mode 100644 index 1260d89b1..000000000 --- a/lib/idiomas/frances.js +++ /dev/null @@ -1,574 +0,0 @@ -const lenguaje = () => { return 'fr' } //Français - -//ALERTES MESSAGES -const smsAvisoRG = () => { return `╰⊱✅⊱ *RÉSULTAT* ⊱✅⊱╮\n\n` } -const smsAvisoAG = () => { return `╰⊱⚠️⊱ *AVERTISSEMENT* ⊱⚠️⊱╮\n\n` } -const smsAvisoIIG = () => { return `╰⊱❕⊱ *INFORMATION* ⊱❕⊱╮\n\n` } -const smsAvisoFG = () => { return `╰⊱❌⊱ *ERREUR* ⊱❌⊱╮\n\n` } -const smsAvisoMG = () => { return `╰⊱❗️⊱ *ACTION MAUVAISE* ⊱❗️⊱╮\n\n` } -const smsAvisoEEG = () => { return `╰⊱📩⊱ *RAPPORT* ⊱📩⊱╮\n\n` } -const smsAvisoEG = () => { return `╰⊱💚⊱ *SUCCÈS* ⊱💚⊱╮\n\n` } - -//PARAMETRES DANS LES COMMANDES -const smsRowner = () => { return `\`\`\`¡¡CETTE COMMANDE NE PEUT ÊTRE UTILISÉE QUE PAR MOI EN TANT QUE CRÉATEUR DE BOT!!\`\`\`` }//NUMÉRO DE BOT -const smsOwner = () => { return `\`\`\`¡¡CETTE COMMANDE SEUL MON CRÉATEUR PEUT L\UTILISER!!\`\`\`` }//OWNER -const smsMods = () => { return `\`\`\`¡¡CETTE COMMANDE SEULS LES MODÉRATEURS ET MON CRÉATEUR PEUVENT L'UTILISER!!\`\`\`\`` }//MODÉRATEURS -const smsPremium = () => { return `\`\`\`¡¡CETTE COMMANDE EST UNIQUEMENT DISPONIBLE POUR LES UTILISATEURS PREMIUM ET MON CRÉATEUR(A) !! POUR OBTENIR PREMIUM ACHETEZ UN PASS EN UTILISANT #pass premium\`\`\`` }//UTILISATEURS PREMIUM -const smsGroup = () => { return `\`\`\`¡¡CETTE COMMANDE NE PEUT ÊTRE UTILISÉE QUE DANS LES GROUPES!!\`\`\`` }//PARA GRUPOS -const smsPrivate = () => { return `\`\`\`¡¡CETTE COMMANDE NE PEUT ÊTRE UTILISÉE QUE PAR LE PRIVÉ!!\`\`\`` }//AL PRIVADO -const smsAdmin = () => { return `\`\`\`¡¡ESTE COMANDO SÓLO ES PARA ADMINS!!\`\`\`` }//ADMINS -const smsBotAdmin = () => { return `\`\`\`¡¡J\'AI BESOIN D\'ÊTRE ADMIN POUR QUE VOUS POUVEZ UTILISER CETTE COMMANDE!!\`\`\`` }//BOT CON ADMIN -const smsUnreg = () => { return `\`\`\`¡¡VOUS DEVEZ ÊTRE ENREGISTRÉ POUR UTILISER CETTE COMMANDE, ÉCRIVEZ #verify POUR VOUS INSCRIRE!!\`\`\`` }//VÉRIFIER -const smsRestrict = () => { return `\`\`\`¡¡CETTE COMMANDE EST RESTREINTE PAR MON CRÉATEUR!!\`\`\`` }//COMMANDE RESTREINTE - -//MENU LISTA -const smsTime = () => { return `Heure actuelle`} -const smsUptime = () => { return `Courir pendant`} -const smsVersion = () => { return `Version de ${global.packname}`} -const smsTotalUsers = () => { return `Nombre total d'utilisateurs`} -const smsMode = () => { return `Il est en mode`} -const smsModePublic = () => { return `PUBLIQUE`} -const smsModePrivate = () => { return `PRIVÉ`} -const smsBanChats = () => { return `Chat(x) interdit(s)`} -const smsBanUsers = () => { return `Utilisateur(s) banni(s)`} -const smsPareja = () => { return `Couple`} -const smsResultPareja = () => { return `N'a pas de partenaire`} -const smsSaludo = () => { return `👋 !SALUT! BIENVENUE À) 👋`} -const smsDia = () => { return `🌇 Bonjour ⛅`} -const smsTarde = () => { return `🏙️ Bonsoir 🌤️`} -const smsTarde2 = () => { return `🌆 Bonsoir 🌥️`} -const smsNoche = () => { return `🌃 Bonne nuit 💫`} -const smsListaMenu = () => { return `⊹ LISTE DES MENUS ⊹`} -const smsLista1 = () => { return `🌟 INFORMATIONS GATABOT 🌟`} -const smsLista2 = () => { return `💖 CRÉATEUR 💖`} -const smsLista3 = () => { return `🎁 DONNER 🎁`} -const smsLista4 = () => { return `🚀 VITESSE 🚀`} -const smsLista5 = () => { return `💡 INFORMATIONS SUR LES MENUS 💡`} -const smsLista6 = () => { return `🌀 MENU ENTIER 🌀`} -const smsLista7 = () => { return `🐈 INSTALLER GATABOT 🐈`} -const smsLista8 = () => { return `🍄 SOYEZ UN SOUS-BOT 🍄`} -const smsLista9 = () => { return `📄 TERMES, CONDITIONS ET CONFIDENTIALITÉ 📄`} -const smsLista10 = () => { return `🌟 AVENTURE 🌟`} -const smsLista11 = () => { return `🏆 TOP MONDIAL 🏆`} -const smsLista12 = () => { return `🏅 UTILISATEURS PREMIUM 🏅`} -const smsLista13 = () => { return `🎟️ ÊTRE UN UTILISATEUR PREMIUM 🎟️`} -const smsLista14 = () => { return `🛣️ MISSIONS QUOTIDIENNES 🛣️`} -const smsLista15 = () => { return `⚗️ MENU RPG ⚗️`} -const smsLista16 = () => { return `🏪 MAGASIN D'ACHAT ET DE VENTE 🏪`} -const smsLista17 = () => { return `🎒 INVENTAIRE 🎒`} -const smsLista18 = () => { return `🌟 MULTIMÉDIA 🌟`} -const smsLista19 = () => { return `📲 MENU TÉLÉCHARGEMENTS 📲`} -const smsLista20 = () => { return `🔍 MENU DE RECHERCHE 🔍`} -const smsLista21 = () => { return `🛰️ MENU DU CONVERTISSEUR 🛰️`} -const smsLista22 = () => { return `🧰 MENU MODIFICATEUR AUDIO 🧰`} -const smsLista22_1 = () => { return `🔩 MENU OUTILS 🔩`} -const smsLista23 = () => { return `🌟 AMUSANT 🌟`} -const smsLista24 = () => { return `🎡 JEUX DYNAMIQUES 🎡`} -const smsLista25 = () => { return `🔊 MENU AUDIO 🔊`} -const smsLista26 = () => { return `🎈 MENU AUTOCOLLANTS ET FILTRES 🎈`} -const smsLista27 = () => { return `✨ MENU EFFETS ET LOGOS ✨`} -const smsLista28 = () => { return `🌅 LOGOSMENU 2 🌅`} -const smsLista29 = () => { return `⛩️ MEMES ALÉATOIRES : ANIME ⛩️`} -const smsLista30 = () => { return `🔞 MENU COMMANDE +18 🔞`} -const smsLista31 = () => { return `🌟 PARAMÈTRES 🌟`} -const smsLista32 = () => { return `🔰 MENU POUR LES GROUPES 🔰`} -const smsLista33 = () => { return `📑 LISTES DISPONIBLES 📑`} -const smsLista34 = () => { return `⚙️ CENTRE DE CONFIGURATION ⚙️`} -const smsLista35 = () => { return `💎 MENU DU PROPRIÉTAIRE 💎`} - -//main.js -const smsWelcome = () => { return `*╭┈⊰* @subject *⊰┈ ✦*\n*┊✨ BIENVENUE À)!!*\n┊💖 @user\n┊📄 *LIRE LA DESCRIPTION DU GROUPE*\n*╰┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ ✦*\n${String.fromCharCode(8206).repeat(850)}\n@desc`} -const smsBye = () => { return '*╭┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈⊰*\n┊ @user\n┊ *LE GROUPE NE SAIT PAS, BYE!!* 😎\n*╰┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈⊰*'} -const smsSpromote = () => { return '*@user 𝙄𝙇 𝙀𝙎𝙏 𝙈𝘼𝙄𝙉𝙏𝙀𝙉𝘼𝙉𝙏 𝘼𝘿𝙈𝙄𝙉 𝘿𝘼𝙉𝙎 𝘾𝙀 𝙂𝙍𝙊𝙐𝙋𝙀!!*'} -const smsSdemote = () => { return '*@user 𝘼𝙍𝙍𝙀̂𝙏𝙀𝙕 𝘿\𝙀̂𝙏𝙍𝙀 𝘼𝘿𝙈𝙄𝙉𝙄𝙎𝙏𝙍𝘼𝙏𝙀𝙐𝙍 𝘿𝘼𝙉𝙎 𝘾𝙀 𝙂𝙍𝙊𝙐𝙋𝙀!!*'} -const smsSdesc = () => { return '*𝙇𝘼 𝙉𝙊𝙐𝙑𝙀𝙇𝙇𝙀 𝘿𝙀𝙎𝘾𝙍𝙄𝙋𝙏𝙄𝙊𝙉 𝘿𝙐 𝙂𝙍𝙊𝙐𝙋𝙀 𝙀𝙎𝙏:*\n\n@desc'} -const smsSsubject = () => { return '*𝙇𝙀 𝙉𝙊𝙐𝙑𝙀𝘼𝙐 𝙉𝙊𝙈 𝘿𝙐 𝙂𝙍𝙊𝙐𝙋𝙀 𝙀𝙎𝙏:*\n\n@subject'} -const smsSicon = () => { return '*𝙇𝘼 𝙋𝙃𝙊𝙏𝙊 𝘿𝙀 𝙂𝙍𝙊𝙐𝙋𝙀 𝘼 𝙀́𝙏𝙀́ 𝙈𝙊𝘿𝙄𝙁𝙄𝙀́𝙀!!*'} -const smsSrevoke = () => { return '*𝙈𝘼𝙄𝙉𝙏𝙀𝙉𝘼𝙉𝙏 𝘾\'𝙀𝙎𝙏 𝙇𝙀 𝙉𝙊𝙐𝙑𝙀𝘼𝙐 𝙇𝙄𝙀𝙉 𝘿𝙀 𝙂𝙍𝙊𝙐𝙋𝙀!!*\n\n*@revoke*'} -const smsConexion = () => { return `\n𓃠 ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈✦🟢 𝘾𝙊𝙉𝙉𝙀𝙓𝙄𝙊𝙉 ✦┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ 𓃠\n│\n│★ 𝘾𝙊𝙉𝙉𝙀𝙓𝙄𝙊𝙉 𝙍𝙀́𝙐𝙎𝙎𝙄𝙀 𝘼𝙑𝙀𝘾 𝙒𝙃𝘼𝙏𝙎𝘼𝙋𝙋 😺\n│\n𓃠 ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈✦ ✅ ✦┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ 𓃠`} -const smsCargando = () => { return `✨ MISE EN CHARGE...\n`} -const smsCodigoQR = () => { return `\n✅ SCANNEZ LE CODE QR EXPIRE DANS 45 SECONDES ✅`} -const smsConexionOFF = () => { return `\n⚠️ AUCUNE CONNEXION, SUPPRIMER LE DOSSIER ${global.authFile} ET SCANNEZ LE QR CODE ⚠️`} -const smsClearTmp = () => { return `\n╭» 🟢 MULTIMÉDIA 🟢\n│☁ FICHIERS DU DOSSIER TMP SUPPRIMÉS\n╰―――――――――――――――――――✤`} -const smspurgeSession = () => { return `\n╭» 🔵 ${global.authFile} 🔵\n│☁ SÉANCES NON ESSENTIELLES SUPPRIMÉES\n╰―――――――――――――――――――✤`} -const smspurgeOldFiles = () => { return `\n╭» 🟠 ARCHIVOS 🟠\n│☁ FICHIERS RÉSIDUELS SUPPRIMÉS\n╰―――――――――――――――――――✤`} -const smspurgeSessionSB1 = () => { return `\n╭» 🟡 GataJadiBot 🟡\n│☁ RIEN A SUPPRIMER \n╰―――――――――――――――――――✤`} -const smspurgeSessionSB2 = () => { return `\n╭» ⚪ GataJadiBot ⚪\n│☁ FICHIERS NON ESSENTIELS SUPPRIMÉS\n╰―――――――――――――――――――✤`} -const smspurgeSessionSB3 = () => { return `\n╭» 🔴 GataJadiBot 🔴\n│☁ UNE ERREUR S'EST PRODUITE\n╰―――――――――――――――――――✤\n`} -const smspurgeOldFiles1 = () => { return `\n╭» 🟣 ARCHIVE 🟣\n│☁`} -const smspurgeOldFiles2 = () => { return `SUPPRIMER AVEC SUCCÈS\n╰―――――――――――――――――――✤`} -const smspurgeOldFiles3 = () => { return `\n╭» 🔴 ARCHIVE 🔴\n│☁`} -const smspurgeOldFiles4 = () => { return `ÉCHEC DE LA SUPPRESSION\n╰―――――――――――――――――――✤\n`} - -//_allantilink.js -const smsTextoYT = () => { return '😻 𝗦𝘂𝗽𝗲𝗿 𝗚𝗮𝘁𝗮𝗕𝗼𝘁-𝗠𝗗 - 𝗪𝗵𝗮𝘁𝘀𝗔𝗽𝗽 '} -const smsApagar = () => { return '❌ DÉSACTIVER'} -const smsEncender = () => { return '✅ ACTIVER'} -const smsEnlaceTik = () => { return `𝙎𝙀 𝘿𝙀𝙏𝙀𝘾𝙏𝙊 𝙐𝙉 𝙀𝙉𝙇𝘼𝘾𝙀 𝙋𝙍𝙊𝙃𝙄𝘽𝙄𝘿𝙊 𝘿𝙀 𝙏𝙄𝙆𝙏𝙊𝙆 𝙀𝙉 𝙀𝙎𝙏𝙀 𝙂𝙍𝙐𝙋𝙊\n\n𝙋𝙍𝙊𝘾𝙀𝘿𝙊 𝘼 𝙀𝙇𝙄𝙈𝙄𝙉𝘼𝙍𝙏𝙀`} -const smsEnlaceYt = () => { return `𝙎𝙀 𝘿𝙀𝙏𝙀𝘾𝙏𝙊 𝙐𝙉 𝙀𝙉𝙇𝘼𝘾𝙀 𝙋𝙍𝙊𝙃𝙄𝘽𝙄𝘿𝙊 𝘿𝙀 𝙔𝙊𝙐 𝙏𝙐𝘽𝙀 𝙀𝙉 𝙀𝙎𝙏𝙀 𝙂𝙍𝙐𝙋𝙊\n\n𝙋𝙍𝙊𝘾𝙀𝘿𝙊 𝘼 𝙀𝙇𝙄𝙈𝙄𝙉𝘼𝙍𝙏𝙀`} -const smsEnlaceTel = () => { return `𝙎𝙀 𝘿𝙀𝙏𝙀𝘾𝙏𝙊 𝙐𝙉 𝙀𝙉𝙇𝘼𝘾𝙀 𝙋𝙍𝙊𝙃𝙄𝘽𝙄𝘿𝙊 𝘿𝙀 𝙏𝙀𝙇𝙀𝙂𝙍𝘼𝙈 𝙀𝙉 𝙀𝙎𝙏𝙀 𝙂𝙍𝙐𝙋𝙊\n\n𝙋𝙍𝙊𝘾𝙀𝘿𝙊 𝘼 𝙀𝙇𝙄𝙈𝙄𝙉𝘼𝙍𝙏𝙀`} -const smsEnlaceFb = () => { return `𝙎𝙀 𝘿𝙀𝙏𝙀𝘾𝙏𝙊 𝙐𝙉 𝙀𝙉𝙇𝘼𝘾𝙀 𝙋𝙍𝙊𝙃𝙄𝘽𝙄𝘿𝙊 𝘿𝙀 𝙁𝘼𝘾𝙀𝘽𝙊𝙊𝙆 𝙀𝙉 𝙀𝙎𝙏𝙀 𝙂𝙍𝙐𝙋𝙊\n\n𝙋𝙍𝙊𝘾𝙀𝘿𝙊 𝘼 𝙀𝙇𝙄𝙈𝙄𝙉𝘼𝙍𝙏𝙀`} -const smsEnlaceIg = () => { return `𝙎𝙀 𝘿𝙀𝙏𝙀𝘾𝙏𝙊 𝙐𝙉 𝙀𝙉𝙇𝘼𝘾𝙀 𝙋𝙍𝙊𝙃𝙄𝘽𝙄𝘿𝙊 𝘿𝙀 𝙄𝙉𝙎𝙏𝘼𝙂𝙍𝘼𝙈 𝙀𝙉 𝙀𝙎𝙏𝙀 𝙂𝙍𝙐𝙋𝙊\n\n𝙋𝙍𝙊𝘾𝙀𝘿𝙊 𝘼 𝙀𝙇𝙄𝙈𝙄𝙉𝘼𝙍𝙏𝙀`} -const smsEnlaceTw = () => { return `𝙎𝙀 𝘿𝙀𝙏𝙀𝘾𝙏𝙊 𝙐𝙉 𝙀𝙉𝙇𝘼𝘾𝙀 𝙋𝙍𝙊𝙃𝙄𝘽𝙄𝘿𝙊 𝘿𝙀 𝙏𝙒𝙄𝙏𝙏𝙀𝙍 𝙀𝙉 𝙀𝙎𝙏𝙀 𝙂𝙍𝙐𝙋𝙊\n\n𝙋𝙍𝙊𝘾𝙀𝘿𝙊 𝘼 𝙀𝙇𝙄𝙈𝙄𝙉𝘼𝙍𝙏𝙀`} -const smsAllAdmin = () => { return `𝘿𝙀𝘽𝙊 𝘿𝙀 𝙎𝙀𝙍 𝘼𝘿𝙈𝙄𝙉 𝙋𝘼𝙍𝘼 𝙋𝙊𝘿𝙀𝙍 𝙀𝙇𝙄𝙈𝙄𝙉𝘼𝙍 𝘼 𝙄𝙉𝙏𝙍𝙐𝙎𝙊𝙎(𝘼𝙎)`} -const smsSoloOwner = () => { return `𝙀𝙇/𝙇𝘼 𝙋𝙍𝙊𝙋𝙄𝙀𝙏𝘼𝙍𝙄𝙊(𝘼) 𝘿𝙀𝘽𝙀 𝘼𝘾𝙏𝙄𝙑𝘼𝙍 𝙀𝙎𝙏𝘼 𝙁𝙐𝙉𝘾𝙄𝙊𝙉\n*#on restrict*`} - -//handler.js -const smsCont1 = () => { return `*🔴 𝗖𝗢𝗠𝗔𝗡𝗗𝗢 𝗙𝗔𝗟𝗟𝗔𝗡𝗗𝗢 🔴*`} -const smsCont2 = () => { return `*⚠️ 𝗣𝗟𝗨𝗚𝗜𝗡:*`} -const smsCont3 = () => { return `*⚠️ 𝗨𝗦𝗨𝗔𝗥𝗜𝗢:*`} -const smsCont4 = () => { return `*⚠️ 𝗖𝗢𝗠𝗔𝗡𝗗𝗢:*`} -const smsCont5 = () => { return `*⚠️ 𝗘𝗥𝗥𝗢𝗥:*`} -const smsCont6 = () => { return `*❗ 𝗥𝗘𝗣𝗢𝗥𝗧𝗘 𝗘𝗦𝗧𝗘 𝗠𝗘𝗡𝗦𝗔𝗝𝗘 𝗨𝗦𝗔𝗡𝗗𝗢 𝗘𝗟 𝗖𝗢𝗠𝗔𝗡𝗗𝗢 #reporte 𝗣𝗔𝗥𝗔 𝗦𝗢𝗟𝗨𝗖𝗜𝗢𝗡𝗔𝗥𝗟𝗢*`} -const smsCont7 = () => { return `${global.lenguajeGB['smsAvisoAG']()}*NO TIENE DIAMANTES!! 💎 PUEDE IR A LA TIENDA CON EL COMANDO*`} -const smsCont8 = () => { return ` *DIAMASTE(S) 💎 USADO(S)*`} -const smsCont9 = () => { return `${global.lenguajeGB['smsAvisoAG']()}*NECESITA EL NIVEL ➡️*`} -const smsCont10 = () => { return `*PARA USAR ESTE COMANDO. TÚ NIVEL ACTUAL ES ➡️*`} -const smsCont11 = () => { return `*ACTUALIZA CON EL COMANDO*`} -const smsCont12 = () => { return `UN GRUPO GENIAL!! 😼`} -const smsCont13 = () => { return `ALGUIEN SE UNIÓ !! 🥳`} -const smsCont14 = () => { return `ALGUIEN SE FUE!! 🧐`} -const smsCont15 = () => { return `𝙃𝙊𝙇𝘼`} -const smsCont16 = () => { return `𝙇𝘼𝙎 𝙑𝙄𝘿𝙀𝙊𝙇𝙇𝘼𝙈𝘼𝘿𝘼𝙎 📲`} -const smsCont17 = () => { return `𝙇𝘼𝙎 𝙇𝙇𝘼𝙈𝘼𝘿𝘼𝙎 📞`} -const smsCont18 = () => { return `𝙉𝙊 𝙀𝙎𝙏𝘼𝙉 𝘼𝙐𝙏𝙊𝙍𝙄𝙕𝘼𝘿𝘼𝙎 𝙋𝙊𝙍 𝙇𝙊 𝙌𝙐𝙀 𝙏𝙀𝙉𝘿𝙍𝙀 𝙌𝙐𝙀 𝘽𝙇𝙊𝙌𝙐𝙀𝘼𝙍𝙏𝙀\n\n𝙎𝙄 𝙇𝙇𝘼𝙈𝘼𝙎𝙏𝙀 𝙋𝙊𝙍 𝘼𝘾𝘾𝙄𝘿𝙀𝙉𝙏𝙀 𝘾𝙊𝙈𝙐𝙉𝙄𝘾𝘼𝙏𝙀 𝘾𝙊𝙉 𝙇𝘼 𝙋𝙀𝙍𝙎𝙊𝙉𝘼 𝙋𝙍𝙊𝙋𝙄𝙀𝙏𝘼𝙍𝙄𝙊/𝘼 𝘿𝙀 𝙀𝙎𝙏𝙀 𝘽𝙊𝙏\n𝙎𝙄 𝙀𝙎 𝙐𝙉𝘼 𝘾𝙐𝙀𝙉𝙏𝘼 𝙊𝙁𝙄𝘾𝙄𝘼𝙇 𝘿𝙀 𝙂𝘼𝙏𝘼𝘽𝙊𝙏 𝘿𝙄𝙍𝙄𝙂𝙀𝙏𝙀 𝘼 𝙇𝘼 𝘼𝙎𝙄𝙎𝙏𝙀𝙉𝘾𝙄𝘼 𝙋𝙊𝙍 𝙄𝙉𝙎𝙏𝘼𝙂𝙍𝘼𝙈 𝙋𝘼𝙍𝘼 𝙏𝙍𝘼𝙏𝘼𝙍 𝙎𝙐 𝘾𝘼𝙎𝙊\n*${global.ig}*`} -const smsCont19 = () => { return `𝘼𝙉𝙏𝙄 𝙀𝙇𝙄𝙈𝙄𝙉𝘼𝙍`} -const smsCont20 = () => { return `*┃✤ Nombre:*`} -const smsCont21 = () => { return `*┃✤ Enviando el mensaje eliminado...*`} - -//_anti-internacional.js -const smsInt1 = () => { return `𝙀𝙎𝙏𝙀 𝙉𝙐𝙈𝙀𝙍𝙊`} -const smsInt2 = () => { return `𝙉𝙊 𝙀𝙎𝙏𝘼 𝙋𝙀𝙍𝙈𝙄𝙏𝙄𝘿𝙊 𝙀𝙉 𝙀𝙎𝙏𝙀 𝙂𝙍𝙐𝙋𝙊!!`} - -//_antilink.js -const smsAdwa = () => { return `${global.lenguajeGB['smsAvisoEG']()}𝘾𝙊𝙈𝙊 𝙀𝙍𝙀𝙎 𝘼𝘿𝙈𝙄𝙉 𝙀𝙉 𝙀𝙇 𝙂𝙍𝙐𝙋𝙊 𝙉𝙊 𝙎𝙀𝙍𝘼𝙎 𝙀𝙇𝙄𝙈𝙄𝙉𝘼𝘿𝙊(𝘼)`} -const smsEnlaceWat = () => { return `${lenguajeGB['smsAvisoAG']()}𝙎𝙀 𝘿𝙀𝙏𝙀𝘾𝙏𝙊 𝙐𝙉 𝙀𝙉𝙇𝘼𝘾𝙀 𝙋𝙍𝙊𝙃𝙄𝘽𝙄𝘿𝙊 𝘿𝙀 𝙒𝙃𝘼𝙏𝙎𝘼𝙋𝙋 𝙀𝙉 𝙀𝙎𝙏𝙀 𝙂𝙍𝙐𝙋𝙊\n\n𝙋𝙍𝙊𝘾𝙀𝘿𝙊 𝘼 𝙀𝙇𝙄𝙈𝙄𝙉𝘼𝙍𝙏𝙀`} - -//_antilink2.js -const smsEnlaceWatt = () => { return `${lenguajeGB['smsAvisoAG']()}𝙎𝙀 𝘿𝙀𝙏𝙀𝘾𝙏𝙊 𝙐𝙉 𝙀𝙉𝙇𝘼𝘾𝙀 𝙋𝙍𝙊𝙃𝙄𝘽𝙄𝘿𝙊 𝙌𝙐𝙀 𝘾𝙊𝙉𝙏𝙄𝙀𝙉𝙀 𝙃𝙏𝙏𝙋𝙎 𝙀𝙉 𝙀𝙎𝙏𝙀 𝙂𝙍𝙐𝙋𝙊\n\n𝙋𝙍𝙊𝘾𝙀𝘿𝙊 𝘼 𝙀𝙇𝙄𝙈𝙄𝙉𝘼𝙍𝙏𝙀`} - -//_antispam.js -const smsNoSpam = () => { return `🤨 NO HAGAS SPAM, NO PODRÁ USAR A ${global.packname} POR ${60000 / 1000 - 59} MINUTO`} - -//_antispam_.js -const smsNoSpam2 = () => { return `FUE DESBANEADO DESPUÉS DE ${60000 / 1000 - 59} MINUTO. POR FAVOR NO HAGA SPAM!!`} - -//Texto -const smsConMenu = () => { return `☘️ 𝗠 𝗘 𝗡 𝗨`} //🟡 NO CAMBIAR - -//Error -const smsMalError = () => { return `${lenguajeGB['smsAvisoFG']()}\`\`\`OCURRIÓ UN ERROR INESPERADO.\`\`\``} -const smsMalError2 = () => { return `${lenguajeGB['smsAvisoFG']()}\`\`\`SURGIÓ UN INCONVENIENTE. INTENTE DE NUEVO.\`\`\``} -const smsMalError3 = () => { return `${lenguajeGB['smsAvisoFG']()}\`\`\`ALGO SALIÓ MAL, REPORTE ESTE COMANDO USANDO:\`\`\`\n`} - -//_antitoxic.js -const smsToxic1 = () => { return `𝙉𝙊𝙊!!! 🤬 𝘿𝙀𝘾𝙄𝙍 𝙀𝙎𝙏𝘼 𝙋𝘼𝙇𝘼𝘽𝙍𝘼`} -const smsToxic2 = () => { return `𝙀𝙎𝙏𝘼 𝙋𝙍𝙊𝙃𝙄𝘽𝙄𝘿𝘼 𝙉𝙊 𝙎𝙀𝘼𝙎 𝙏𝙊𝙓𝙄𝘾𝙊(𝘼)`} -const smsToxic3 = () => { return `*ADVERTENCIA*\n⚠️`} -const smsToxic4 = () => { return `😭 𝙇𝙊 𝙎𝙄𝙀𝙉𝙏𝙊`} //🟡 NO CAMBIAR -const smsToxic5 = () => { return `☢️ 𝘿𝙀𝙎𝘼𝘾𝙏𝙄𝙑𝘼𝙍 𝘼𝙉𝙏𝙄𝙏𝙊𝙓𝙄𝘾`} //🟡 NO CAMBIAR -const smsToxic6 = () => { return `𝙏𝙀 𝙇𝙊 𝘼𝘿𝙑𝙀𝙍𝙏𝙄𝘿 𝙑𝘼𝙍𝙄𝘼𝙎 𝙑𝙀𝘾𝙀𝙎!!`} -const smsToxic7 = () => { return `𝙎𝙐𝙋𝙀𝙍𝘼𝙎𝙏𝙀 𝙇𝘼𝙎 4 𝘼𝘿𝙑𝙀𝙍𝙏𝙀𝙉𝘾𝙄𝘼𝙎 𝘼𝙃𝙊𝙍𝘼 𝙎𝙀𝙍𝘼𝙎 𝙀𝙇𝙄𝙈𝙄𝙉𝘼𝘿𝙊(𝘼) 🙄`} - -//Tienda -const eExp = () => { return '⚡ Experiencia' } -const eDiamante = () => { return '💎 Diamante' } -const eDiamantePlus = () => { return '💎+ Diamante+' } -const eToken = () => { return '🪙 Token' } -const eEsmeralda = () => { return '💚 Esmeralda' } -const eJoya = () => { return '♦️ Joya' } -const eMagia = () => { return '🌀 Magia' } -const eOro = () => { return '👑 Oro' } -const eGataCoins = () => { return '🐱 GataCoins' } -const eGataTickers = () => { return '🎫 Gata Tickers' } -const eEnergia = () => { return '✨ Energía' } -const ePocion = () => { return '🥤 Poción' } -const eAgua = () => { return '💧 Agua' } -const eBasura = () => { return '🗑 Basura' } -const eMadera = () => { return '🪵 Madera' } -const eRoca = () => { return '🪨 Roca' } -const ePiedra = () => { return '🥌 Piedra' } -const eCuerda = () => { return '🕸️ Cuerda' } -const eHierro = () => { return '⛓️ Hierro' } -const eCarbon = () => { return '⚱️ Carbón' } -const eBotella = () => { return '🍶 Botella' } -const eLata = () => { return '🥫 Lata' } -const eCarton = () => { return '🪧 Cartón' } -const eEletric = () => { return '💡 Electricidad' } -const eBarraOro = () => { return '〽️ Barra de Oro' } -const eOroComun = () => { return '🧭 Oro Común' } -const eZorroG = () => { return '🦊🌫️ Zorro Grande' } -const eBasuraG = () => { return '🗑🌫️ Super Basura' } -const eLoboG = () => { return '🐺🌫️ Super Lobo' } -const eMaderaG = () => { return '🛷🌫️ Super Madera' } -const eEspada = () => { return '⚔️ Espada' } -const eCarnada = () => { return '🪱 Carnada' } -const eBillete = () => { return '💵 Billetes' } -const ePinata = () => { return '🪅 Piñata' } -const eGancho = () => { return '🪝 Gancho' } -const eCanaPescar = () => { return '🎣 Caña de Pescar' } -const eCComun = () => { return '📦 Caja Común' } -const ePComun = () => { return '🥡 Caja Poco Común' } -const eCMistica = () => { return '🗳️ Caja Mítica' } -const eCMascota = () => { return '📫 Caja de Mascotas' } -const eCJardineria = () => { return '💐 Caja de Jardinería' } -const eClegendaria = () => { return '🎁 Caja Legendaria' } -const eUva = () => { return '🍇 Uva' } -const eManzana = () => { return '🍎 Manzana' } -const eNaranja = () => { return '🍊 Naranja' } -const eMango = () => { return '🥭 Mango' } -const ePlatano = () => { return '🍌 Platano' } -const eSUva = () => { return '🌾🍇 Semillas de uva' } -const eSManzana = () => { return '🌾🍎 Semillas de manzana' } -const eSNaranja = () => { return '🌾🍊 Semillas de naranja' } -const eSMango = () => { return '🌾🥭 Semillas de Mango' } -const eSPlatano = () => { return '🌾🍌 Semillas de plátano' } -const eCentauro = () => { return '🐐 Centauro' } -const eAve = () => { return '🦅 Ave' } -const eGato = () => { return '🐈 Gato' } -const eDragon = () => { return '🐉 Dragón' } -const eZorro = () => { return '🦊 Zorro' } -const eCaballo = () => { return '🐎 Caballo' } -const eFenix = () => { return '🕊️ Fénix' } -const eLobo = () => { return '🐺 Lobo' } -const ePerro = () => { return '🐶 Perro' } -const eAMascots = () => { return '🍖 Alimento para Mascota' } -const eCCentauro = () => { return '🐐🥩 Comida de Centauro' } -const eCAve = () => { return '🦅🥩 Comida de Ave' } -const eCMagica = () => { return '🌀🥩 Comida Mágica' } -const eCDragon = () => { return '🐉🥩 Comida de Dragón' } -const eACaballo = () => { return '🐎🥩 Alimentos Para Caballo' } -const eCFenix = () => { return '🕊️🥩 Comida de Fénix' } -//config-on y off.js -const smsWel1 = () => { return `🎉 BIENVENIDA`} -const smsWel2 = () => { return `Mensaje de Bienvenida para nuevos Miembros en Grupos`} -const smsDete1 = () => { return `🔔 AVISOS`} -const smsDete2 = () => { return `Avisos de acciones dentro del Grupo`} -const smsANivel1 = () => { return `🆙 NIVEL AUTOMÁTICO`} -const smsANivel2 = () => { return `Sube de nivel a todos de manera automática; (Aplica recompensas por subir de Nivel)`} -const smsRestri1 = () => { return `⛔ RESTRINGIR`} -const smsRestri2 = () => { return `Habilitar función para agregar o eliminar personas en Grupos`} -const smsLlamar1 = () => { return `🚫 ANTI LLAMADAS`} -const smsLlamar2 = () => { return `Bloquea a Personas que hagan llamadas`} -const smsAntiSp1 = () => { return `🚯 ANTI SPAM`} -const smsAntiSp2 = () => { return `Banear el Uso de Comados cuando alguien realice algún tipo de Spam`} -const smsModP1 = () => { return `🌐 MODO PÚBLICO`} -const smsModP2 = () => { return `Habilitar función para que todos puedan usar GataBot`} -const smsModAd1 = () => { return `🛂 MODO ADMIN`} -const smsModAd2 = () => { return `Solo los Admins podrán usar GataBot en Grupos`} -const smsLect1 = () => { return `✅ LECTURA AUTOMÁTICA`} -const smsLect2 = () => { return `Dejar los mensajes o chats como Leídos`} -const smsTempo1 = () => { return `🐈 BOT TEMPORAL`} -const smsTempo2 = () => { return `Función que permite estadía temporalmente en Grupos`} -const smsStik1 = () => { return `🎠 STICKERS`} -const smsStik2 = () => { return `Habilitar el envio automático de Stickers a todos`} -const smsStickA1 = () => { return `🪄 STICKERS AUTOMÁTICOS`} -const smsStickA2 = () => { return `Los vídeos, Gif, imágenes, enlaces jpg o jpeg; Se convertirán en Stickers Automáticamente`} -const smsReacc1 = () => { return `🤡 REACCIÓN `} -const smsReacc2 = () => { return `Habilitar el envio automático de Reacciones a mensajes`} -const smsAudi1 = () => { return `🔊 AUDIOS`} -const smsAudi2 = () => { return `Habilitar el envio automático de Audios a todos`} -const smsModHor1 = () => { return `🔞 MODO HORNY`} -const smsModHor2 = () => { return `Mostrar contenido para Adulto en los Chats`} -const smsAntitoc1 = () => { return `☢️ ANTI TÓXICOS`} -const smsAntitoc2 = () => { return `Enviar Advertencias aquellas personas que insulten`} -const smsModOb1 = () => { return `👀 MODO OBSERVAR`} -const smsModOb2 = () => { return `Permitir que las imágenes, Gif y Vídeos se puedan ver para todos`} -const smsAntiEli1 = () => { return `🗑️ ANTI ELIMINAR`} -const smsAntiEli2 = () => { return `Todo mensaje eliminado será reenviado al Chat o Grupo`} -const smsAntiInt1 = () => { return `🌏 ANTI INTERNACIONAL`} -const smsAntiInt2 = () => { return `Eliminar Números internacionales considerados falsos`} -const smsAntiE1 = () => { return `🔗 ANTI ENLACES`} -const smsAntiE2 = () => { return `Eliminar Personas que envíen enlaces de Grupos de WhatsApp`} -const smsAntiEE1 = () => { return `🔗 ANTI ENLACES 2`} -const smsAntiEE2 = () => { return `Eliminar Personas que envíen enlaces que contengan https`} -const smsAntiTT1 = () => { return `🔗 ANTI TIKTOK`} -const smsAntiTT2 = () => { return `Eliminar Personas que envíen enlaces de TikTok`} -const smsAntiYT1 = () => { return `🔗 ANTI YOUTUBE`} -const smsAntiYT2 = () => { return `Eliminar Personas que envíen enlaces de YouTube`} -const smsAntiTEL1 = () => { return `🔗 ANTI TELEGRAM`} -const smsAntiTEL2 = () => { return `Eliminar Personas que envíen enlaces de Telegram`} -const smsAntiFB1 = () => { return `🔗 ANTI FACEBOOK`} -const smsAntiFB2 = () => { return `Eliminar Personas que envíen enlaces de Facebbok`} -const smsAntiIG1 = () => { return `🔗 ANTI INSTAGRAM`} -const smsAntiIG2 = () => { return `Eliminar Personas que envíen enlaces de Instagram`} -const smsAntiTW1 = () => { return `🔗 ANTI TWITTER `} -const smsAntiTW2 = () => { return `Eliminar Personas que envíen enlaces de Twitter`} -const smsSOLOP1 = () => { return `⚜️ SOLO PRIVADOS`} -const smsSOLOP2 = () => { return `Permitir que solo se use en Chats Privados`} -const smsSOLOG1 = () => { return `⚜️ SOLO GRUPOS`} -const smsSOLOG2 = () => { return `Permitir que solo se use en Chats Grupales`} -const smsConfi1 = () => { return `AJUSTES`} -const smsConfi2 = () => { return `*¡Hola!*`} -const smsConfi3 = () => { return `┃ *Seleccione una opción de la lista*`} -const smsConfi4 = () => { return `┃ *Para empezar a Configurar*`} -const smsConfi5 = () => { return `┃● *Avisos de la Configuracion:*`} -const smsConfi6 = () => { return `┃ ✅ ⇢ *Función Activada*`} -const smsConfi7 = () => { return `┃ ❌ ⇢ *Función Desactivada*`} -const smsConfi8 = () => { return `┃ ⚠️ ⇢ *Este Chat no es un Grupo*`} -const smsConfi9 = () => { return `┃ *Recomendación: Para ver la configuración*\n┃ *Completa use este Menú en Grupo*\n┃`} -const smsConfi10 = () => { return `*~ CENTRO DE CONFIGURACIÓN*`} -const smsParaAdmins = () => { return `PARA ADMINS Y CREADOR(A) : GRUPOS`} -const smsParaAdYOw = () => { return `PARA ADMINS Y CREADOR(A) : CHATS`} -const smsParaOw = () => { return `PARA CREADOR(A) : CHATS`} -const smsNoGg = () => { return ` | ⚠️`} -const smsMens1 = () => { return `COMANDO`} -const smsMens2 = () => { return `ACTUALMENTE`} -const smsMens3 = () => { return `EN ESTE`} -const smsMens4 = () => { return `BOT`} -const smsMens5 = () => { return `CHAT`} - -//Error2 -const smsMensError1 = () => { return `❕ REPORTAR COMANDO ❕`} -const smsMensError2 = () => { return `Está Fallando el siguiente comando`} - -//_antiviewonce.js -const smsAntiView = () => { return `*𝙈𝘼𝙎𝙏𝙀𝙍 𝙔𝙊 𝙇𝙊 𝙑𝙀𝙊 𝙏𝙊𝘿𝙊 𝘼𝙌𝙐Í* 😎`} - -//_autolevelup.js -const smsAutoLv1 = () => { return `🎖️ NUEVO NIVEL 🎖️`} -const smsAutoLv2 = () => { return `NIVEL ANTERIOR:`} -const smsAutoLv3 = () => { return `NIVEL ACTUAL:`} -const smsAutoLv4 = () => { return `RANGO:`} -const smsAutoLv5 = () => { return `FECHA:`} -const smsAutoLv6 = () => { return `Has alcanzado un Nuevo Nivel!!!`} -const smsAutoLv7 = () => { return `🥳 RECOMPENSA POR SU NUEVO NIVEL`} - -//_autosticker.js -const smsAutoStik = () => { return `${lenguajeGB['smsAvisoFG']()}*EL VÍDEO NO DEBE DE DURAR MÁS DE 7 SEGUNDOS.*`} - -//_expired.js -const smsBottem1 = () => { return `*SE VA DEL GRUPO!!! 🤝 SI QUIERE QUE VUELVA, USE EL COMANDO _#bottemporal_ PARA QUE VUELVA AL GRUPO!!*`} -const smsBottem2 = () => { return `*💕 ASISTENCIA PARA USUARIOS*\n*_${global.ig}_*\n`} -const smsBottem3 = () => { return `HASTA PRONTO 💖`} - -//_premium.js -const smsPremI = () => { return `*¡SE ACABÓ TÚ TIEMPO PREMIUM!* 🎟️\n*PARA OBTENER UN NUEVO PASE PREMIUM USE EL COMANDO:*\n*#pase premium*`} - -//afk-_afk.js -const smsAfkM1 = () => { return `${lenguajeGB['smsAvisoEG']()}*DEJASTE DE ESTAR INACTIVO AFK*`} -const smsAfkM2 = () => { return `*EL MOTIVO DE INACTIVIDAD ERA:*`} -const smsAfkM3 = () => { return `*TIEMPO INACTIVO:*`} -const smsAfkM4 = () => { return `${lenguajeGB['smsAvisoAG']()}*NO ETIQUETES A ESTE(A) USUARIO(A)!! ESTÁ INACTIVO(A)*`} -const smsAfkM5 = () => { return `*MOTIVO DE LA INACTIVIDAD AFK:*`} -const smsAfkM6 = () => { return `*MOTIVO DE LA INACTIVIDAD AFK: NO ESPECIFICÓ MOTIVO DE INACTIVIDAD*`} - -//afk-afk.js -const smsAfkM1A = () => { return `${lenguajeGB['smsAvisoAG']()}*NO ETIQUETEN A*`} -const smsAfkM1B = () => { return `*ESTARÁ INACTIVO(A) AFK*\n\n*MOTIVO DE LA INACTIVIDAD AFK*`} - -//anonymous_chat.js -const smsChatAn1 = () => { return `${lenguajeGB['smsAvisoFG']()}*NO ESTÁS EN CHAT ANÓNIMO*`} -const smsChatAn2 = () => { return `*SI QUIERES INICIAR UN CHAT ANÓNIMO USA EL COMANDO #start O USAR EL BOTÓN DE ABAJO*\n`} -const smsChatAn3 = () => { return `⚡ INICIAR CHAT ANÓNIMO`} -const smsChatAn4 = () => { return `${lenguajeGB['smsAvisoRG']()}🪐 *USTED SE FUE DEL CHAT ANÓNIMO*`} -const smsChatAn5 = () => { return `${lenguajeGB['smsAvisoAG']()}*EL OTRO USUARIO SALIÓ DEL CHAT ANÓNIMO*`} -const smsChatAn6 = () => { return `*SI QUIERES IR A OTRO CHAT ANÓNIMO USA EL COMANDO #start O USAR EL BOTÓN DE ABAJO*\n`} -const smsChatAn7 = () => { return `${lenguajeGB['smsAvisoAG']()}*TODAVÍA ESTÁS EN UN CHAT ANÓNIMO O EN ESPERA A QUE ALGUIEN SE UNA PARA CHATEAR*`} -const smsChatAn8 = () => { return `*SI QUIERES SALIR DEL CHAT ANÓNIMO USE EL COMANDO #leave O PUEDES USAR EL BOTÓN DE ABAJO*\n`} -const smsChatAn9 = () => { return `🍁 SALIR DEL CHAT ANÓNIMO`} -const smsChatAn10 = () => { return `${lenguajeGB['smsAvisoEG']()}✨ *YA PUEDEN CHATEAR*`} -const smsChatAn11 = () => { return `*ALGUIEN SE HA UNIDO AL CHAT ANÓNIMO!!*`} -const smsChatAn12 = () => { return `❇️ OTRO(A) USUARIO(A)`} -const smsChatAn13 = () => { return `${lenguajeGB['smsAvisoRG']()}🐈 *ESPERANDO A QUE ALGUIEN SE UNA AL CHAT ANÓNIMO, TENGA PACIENCIA POR FAVOR*`} - -//Botones de Menú -const smsBotonM1 = () => { return `⚡ MENÚ DE INICIO ⚡`} -const smsBotonM2 = () => { return `💫 MENÚ COMPLETO 💫`} -const smsBotonM3 = () => { return `🎒 INVENTARIO 🎒`} -const smsBotonM4 = () => { return `USUARIOS`} -const smsBotonM5 = () => { return `RANGO`} -const smsBotonM6 = () => { return `NIVEL`} -const smsBotonM7 = () => { return `PREMIUM`} -const smsTex1 = () => { return '*MENÚ DE BUSQUEDA*'} -const smsTex2 = () => { return '*MODIFICADOR DE AUDIO*'} -const smsTex3 = () => { return '*MENÚ +18*'} -const smsTex4 = () => { return '*CONTENIDO DINÁMICO*'} -const smsTex5 = () => { return '*BUSCAR Y DESCARGAR*'} -const smsTex6 = () => { return '*MENÚ +18 PREMIUM*'} -const smsTex7 = () => { return '⠇ *Imágenes +18 de calidad y variedad*\n⠇ *Vídeos +18 solo para ti*\n⠇ *Stickers +18 disponibles*'} -const smsTex8 = () => { return '*MENÚ CONVERTIDOR*'} -const smsTex9 = () => { return '*MENÚ DE DESCARGAS*'} -const smsTex10 = () => { return '*MENU JUEGOS DINÁMICOS*'} -const smsTex11 = () => { return '*MENU PARA GRUPOS*'} -const smsTex12 = () => { return '*MENU DE HERRAMIENTAS*'} -const smsTex13 = () => { return '*MENU DE INFORMACIÓN*'} -const smsTex14 = () => { return '*MENU DE EFECTOS Y LOGOS*'} -const smsTex15 = () => { return '*MENU DE LOGOS 2*'} -const smsTex16 = () => { return 'MENU DE AUDIOS'} -const smsTex17 = () => { return '*NO ES NECESARIO USAR PREFIJO EN AUDIOS*'} -const smsTex18 = () => { return 'LISTA DE AUDIOS'} -const smsTex19 = () => { return '*PUEDE SELECCIONAR EL AUDIO!!*'} -const smsTex20 = () => { return '*MENU PARA PROPIETARIO(A)*'} -const smsTex21 = () => { return '*MENU RPG*'} -const smsTex22 = () => { return '*MENU DE STICKERS Y FILTROS*'} -const smsTex23 = () => { return '*MENU DE MEMES Y ANIMES RANDOMS*'} - -//ad -const smsMalused = () => { return '⚡ *USAR EL COMANDO DE ESTA FORMA:*\n'} -const smsMalused2 = () => { return `${lenguajeGB['smsAvisoMG']()}🐈 *DEBE DE USAR EL COMANDO COMO EN ESTE EJEMPLO:*\n`} -const smsMalused3 = () => { return `${lenguajeGB['smsAvisoMG']()}🐈 *DEBE DE USAR EL COMANDO O RESPONDER AL MENSAJE DE ALGUIEN COMO EN ESTE EJEMPLO:*\n`} - -//gc-config_time.js -const smsGrupoTime1 = () => { return '🔓 *_ABRIR GRUPO EN UNA HORA_*'} -const smsGrupoTime2 = () => { return '🔒 *_CERRAR GRUPO EN UNA HORA_*'} -const smsGrupoTime3 = () => { return '*GRUPO'} -const smsGrupoTime4 = () => { return 'CERRADO'} -const smsGrupoTime5 = () => { return 'ABIERTO'} -const smsGrupoTime6 = () => { return '*DURANTE'} -const smsGrupoTime7 = () => { return '🔒 *EL GRUPO ESTA CERRADO, SOLO ADMINS PUEDEN ENVIAR MENSAJES*'} -const smsGrupoTime8 = () => { return '🔓 *EL GRUPO ESTA ABIERTO, TODOS PUEDEN ENVIAR MENSAJES*'} -const smsGrupoTime9 = () => { return '🔓 ABRIR GRUPO DURANTE '} -const smsGrupoTime10 = () => { return '🔒 CERRAR GRUPO DURANTE '} -const smsGrupoTime11 = () => { return ' HORA'} -const smsGrupoTime12 = () => { return 'PERMITIR QUE EL GRUPO SE HABRA POR '} -const smsGrupoTime13 = () => { return 'PERMITIR QUE EL GRUPO SE CIERRE POR '} - -//grupo-add.js -const smsAddB1 = () => { return `${lenguajeGB['smsAvisoFG']()}*NO SE PUEDE AGREGAR EL NÚMERO, VERFIQUE QUE SEA CORRECTO, TAL VEZ SALIÓ RECIENTEMENTE O SU PRIVACIDAD ESTA CONFIGURADA.*`} -const smsAddB2 = () => { return `${lenguajeGB['smsAvisoFG']()}*NO SE PUEDE AGREGAR EL NÚMERO, VERFIQUE QUE SEA CORRECTO, O AGRÉGELO MANUALMENTE.*`} - -//grupo-admins.js -const smsAddB3 = () => { return `*NOTIFICACIÓN PARA ADMINS*`} -const smsAddB4 = () => { return `*PRESENCIA DE ADMINS*`} -const smsAddB5 = () => { return `*MENSAJE:*`} -const smsAddB6 = () => { return `Solicito a los Admins por favor.`} - -//grupo-advertencia.js -const smsAdveu1 = () => { return `${lenguajeGB['smsAvisoAG']()}*SOLO PUEDE USAR SI ESTÁ ACTIVADA LA FUNCIÓN:*\n`} -const smsAdveu2 = () => { return 'Motivo'} -const smsAdveu3 = () => { return `${lenguajeGB['smsAvisoMG']()}*RECUERDE ESCRIBIR EL MOTIVO DE LA ADVERTENCIA*\n`} -const smsAdveu4 = () => { return '*RECIBIÓ UNA ADVERTENCIA EN ESTE GRUPO!!*'} -const smsAdveu5 = () => { return 'ADVERTENCIA'} -const smsAdveu6 = () => { return '🎒 INVENTARIO'} -const smsAdveu7 = () => { return '*TE LO ADVERTI VARIAS VECES!!*'} -const smsAdveu8 = () => { return '*AHORA SERÁS ELIMINADO(A)* 🙄'} -const smsAdveu9 = () => { return '😇 MUCHAS GRACIAS'} -const smsAdveu10 = () => { return '*SE LE ELIMINÓ UNA ADVERTENCIA EN ESTE GRUPO!!*'} -const smsAdveu11 = () => { return 'Antes:'} -const smsAdveu12 = () => { return 'Ahora:'} - -//grupo-demote.js || grupo-promote.js -const smsDemott = () => { return '*EL NÚMERO NO ES VÁLIDO, VUELVA INTENTAR RESPONDA AL MENSAJE DE ALGUIEN O USE COMO EN ESTE EJEMPLO:*\n'} -const smsDemott2 = () => { return '*AHORA TIENE PODER EN EL GRUPO!!*'} -const smsDemott3 = () => { return '*YA NO TIENE PODER EN EL GRUPO!!*'} - -//grupo-info.js -const smsGI1 = () => { return '*INFORMACIÓN DEL GRUPO*'} -const smsGI2 = () => { return '*ID DEL GRUPO*'} -const smsGI3 = () => { return '*NOMBRE DEL GRUPO*'} -const smsGI4 = () => { return '*DESCRIPCIÓN DEL GRUPO*'} -const smsGI5 = () => { return '*NO HAY DESCRIPCIÓN*'} -const smsGI6 = () => { return '*NÚMERO DE USUARIOS*'} -const smsGI7 = () => { return '*Usuarios*'} -const smsGI8 = () => { return '*CREADOR(A) DEL GRUPO*'} -const smsGI9 = () => { return '*ADMINS DEL GRUPO*'} -const smsGI10 = () => { return '⚙️ CONFIGUARACIONES DEL GRUPO'} - -//grupo-kick.js -const smskick1 = () => { return `${lenguajeGB['smsAvisoAG']()}*ETIQUETE A LA PERSONA O RESPONDA AL MENSAJE DE LA PERSONA QUE QUIERE ELIMINAR*\n\n*EJEMPLO: `} -const smskick2 = () => { return `ELIMINADO(A) 😼🫵`} -const smskick3 = () => { return `NO PUEDO ELIMINAR AL CREADOR DEL GRUPO 😆🫵`} -const smskick4 = () => { return `NO ESTÁ EN ESTE GRUPO 👻`} - -//grupo-tagall.js -const smstagaa = () => { return `⚡ INVOCANDO AL GRUPO ⚡`} - -//grupo-setbye.js -const smsSetB = () => { return `${lenguajeGB['smsAvisoEG']()}*LA DESPEDIDA DEL GRUPO HA SIDO CONFIGURADA*`} -const smsSetB2 = () => { return `${lenguajeGB['smsAvisoIIG']()}🙌 *_ESCRIBA EL MENSAJE DE DESPEDIDA_*\n*_OPCIONAL PUEDE USAR LO QUE ESTA CON "@" PARA AGREGAR MÁS INFORMACIÓN:_*\n\n*⚡ @user (Mención al usuario(a))*\n\n*RECUERDE QUE EL "@" ES OPCIONAL*`} - -//grupo-setwelcome.js -const smsSetW = () => { return `${lenguajeGB['smsAvisoEG']()}*LA BIENVENIDA DEL GRUPO HA SIDO CONFIGURADA*`} -const smsSetW2 = () => { return `${lenguajeGB['smsAvisoIIG']()}🙌 *_ESCRIBA EL MENSAJE DE BIENVENIDA_*\n*_OPCIONAL PUEDE USAR LO QUE ESTA CON "@" PARA AGREGAR MÁS INFORMACIÓN:_*\n\n*⚡ @user (Mención al usuario(a))*\n*⚡ @subject (Nombre de grupo)*\n*⚡ @desc (Description de grupo)*\n\n*RECUERDE QUE LOS "@" SON OPCIONALES*`} - -//grupo-setdesc.js -const smsDest = () => { return `${lenguajeGB['smsAvisoEG']()}*LA DESCRIPCIÓN DEL GRUPO HA SIDO CONFIGURADA*`} - -//grupo-setname.js -const smsNam1 = () => { return `${lenguajeGB['smsAvisoEG']()}*EL NOMBRE DEL GRUPO HA SIDO CONFIGURADO*`} -const smsNam2 = () => { return `${lenguajeGB['smsAvisoMG']()}*🙌 ESCRIBA EL NUEVO NOMBRE DEL GRUPO*`} -const smsNam3 = () => { return `${lenguajeGB['smsAvisoFG']()}*EL NOMBRE DEL GRUPO NO DEBE DE TENER MÁS DE 25 CARACTERES*`} - -//grupo-restaurarEnlace.js -const smsRestGp = () => { return `${lenguajeGB['smsAvisoEG']()}*EL ENLACE DEL GRUPO HA SIDO RESTABLECIDO*`} - -//Botón -const smsSig = () => { return `➡️ SIGUIENTE ➡️`} -const smsSigPrem = () => { return `❤️‍🔥 SIGUIENTE ❤️‍🔥`} -const smsCont18Porn = () => { return `🔞 *CONTENIDO* 🔞`} //texto -const smsCont18Porn2 = () => { return `🔞 CONTENIDO 🔞`} //texto -const smsCont18PornP = () => { return `🌟 *CONTENIDO ❤️‍🔥 PREMIUM* 🌟`} //texto -const smsCont18PornP2 = () => { return `CONTENIDO ❤️‍🔥 PREMIUM`} //texto - -//propietario(a).js -const smsBCMensaje = (usedPrefix, command) => { return `*Répondre au message ou écrire le message utilisé ${usedPrefix + command}*`} -const smsBCMensaje2 = () => { return `*Envoyé un message officiel, attendez un moment...*`} -const smsBCMensaje3 = (totalPri, time) => { return `✅ Le message a été envoyé ${totalPri} aux chats\n\n*Temps d expédition total privés: ${time}*\n${totalPri >= 3000 ? '\n*Ils nont pas été envoyés à tous les chats pour éviter la saturation*' : ''}`} - -//propietario(a).js -const smsBCbot1 = () => { return `✅ *message:*`} -const smsBCbot2 = () => { return `Privé`} -const smsBCbot3 = () => { return `Grappe `} -const smsBCbot4 = () => { return `Total`} -const smsBCbot5 = () => { return `Temps d expédition total :`} -const smsBCbot6 = () => { return `Ils n'ont pas été envoyés à tous les chats pour éviter la saturation`} -const smsBCbot7 = () => { return `✅ * Déclaration officielle* ✅`} - - //propietario(a).js -const smsChatGP1 = () => { return "*Envoyé un message, attendez un moment...*"} -const smsChatGP2 = (readMS, dia, mes, año, fecha, tiempo) => { return `✅ *déclaration officielle* ✅\n${readMS}\n\`\`\`${dia}, ${mes} ${año}\`\`\`\n\`\`\`${fecha} || ${tiempo}\`\`\`\n\n`} -const smsChatGP3 = (totalGP) => { return `✅ * Le message a été envoyé aux ${totalGP} groupes*`} - -//jadibot-serbot.js -const smsIniJadi = () => { return `*⊹ • • • ミ★ ${global.packname} ミ★• • • ⊹*\n\n*ღ Versión de ${global.packname} » _${global.vs}_*\n*ღ Versión de JadiBot » _${global.vsJB}_*\n\n🟢 *_FUNCIÓN SER SUB BOT_* 🟢\n\n*➡️ Con otro celular o en la PC escanea este QR para convertirte en Sub Bot*\n\n*1️⃣ Diríjase en los tres puntos en la esquina superior derecha*\n*2️⃣ Ir a la opción Dispositivos vinculados*\n*3️⃣ Escanee este codigo QR para iniciar sesión*\n\n📢 *¡Este código QR expira en 45 segundos!*`} -const smsSoloOwnerJB = () => { return `${lenguajeGB['smsAvisoAG']()}*ESTE COMANDO ESTÁ DESACTIVADO POR MÍ PROPIETARIO(A)*`} -const smsJBPrincipal = () => { return `${lenguajeGB['smsAvisoAG']()}🔵 *PARA SER SUB BOT DIRÍJASE AL NÚMERO PRINCIPAL*\n*ღ Ingrese al siguiente enlace:*\n`} -const smsJBConexion = () => { return `${lenguajeGB['smsAvisoFG']()}🟡 *LA CONEXIÓN SE HA CERRADO DE MANERA INESPERADA, INTENTAREMOS RECONECTAR...*`} -const smsJBConexionClose = () => { return `${lenguajeGB['smsAvisoFG']()}🔴 *LA CONEXIÓN SE HA CERRADO, DEBERÁ DE CONECTARSE MANUALMENTE USANDO EL COMANDO #serbot Y REESCANEAR EL NUEVO CÓDIGO QR*`} -const smsJBConexionTrue = () => { return `${lenguajeGB['smsAvisoEG']()}🟢 *CONEXIÓN CON ÉXITO!!!*`} -const smsJBConexionTrue2 = () => { return `${lenguajeGB['smsAvisoEG']()}🟢 *CONEXIÓN CON ÉXITO!!! PUEDE CONECTARSE USANDO:*`} -const smsJBCargando = () => { return `${lenguajeGB['smsAvisoIIG']()}⚪ *ESTÁ CONECTADO(A)!! POR FAVOR ESPERE SE ESTÁ CARGANDO LOS MENSAJES...*\n\n♻️ *OPCIONES DISPONIBLES:*\n*» #stop _(Detener la función Sub Bot)_*\n*» #eliminarsesion _(Borrar todo rastro de Sub Bot)_*\n*» #serbot _(Obtener nuevo código QR para ser Sub Bot)_*`} -const smsJBInfo1 = () => { return `💖 *ENLACE ÚTIL*`} -const smsJBInfo2 = () => { return `💖 *La función es estable, sí presenta algún inconveniente Comuníquese al correo: centergatabot@gmail.com*\n💝 *Puede hacer una Donación voluntaria por PayPal: ${global.paypal}*\n\n*Muchas Gracias por el apoyo a ${global.packname}*`} - -//jadibot-deleteSesion.js -const smsJBDel = () => { return `${lenguajeGB['smsAvisoAG']()}*USE ESTE COMANDO AL BOT PRINCIPAL*`} -const smsJBAdios = () => { return `${lenguajeGB['smsAvisoEG']()}*TE VOY A EXTRAÑAR ${global.packname} CHAOO!! 🥹*`} -const smsJBCerrarS = () => { return `${lenguajeGB['smsAvisoEG']()}*HA CERRADO SESIÓN Y BORRADO TODO RASTRO*`} -const smsJBErr = () => { return `*HA CERRADO SESIÓN COMO SUB BOT* ♻️`} - -//comandos+18-adult.js -const smsContAdult = () => { return `${lenguajeGB['smsAvisoAG']()}*LOS COMANDOS 🔞 ESTÁN DESACTIVADOS, SI USTED ES MI CREADOR(A) USE #on modohorny*`} - -//comandos+18-menu.js -const smsList1 = () => { return `No tiene suficiente `} -const smsList2 = () => { return `\nPresione aquí para comprar `} -const smsList3 = () => { return `Contenido disponible 😸`} -const smsList4 = () => { return `Contenido no disponible 😿\nPresione aquí para comprar `} -const smsList5 = () => { return `*Seleccione una opción*\n*de la lista para ver el*\n*contenido* 😋`} -const smsList6 = () => { return `👀 VER LISTA 👀`} - -//descargas-consejos.js -const smsConj = () => { return `🍃 NUEVO CONSEJO`} -const smsFras = () => { return `🍃 NUEVA FRASE`} - -//info-contacto.js -const smsContacto1 = () => { return ' Soy ' + packname + ' un Bot de WhatsApp dedicado en ayudar con lo que me pidas 😎'} -const smsContacto2 = () => { return 'Soy Owner de ' + packname + ' sí tienes alguna duda me la puedes decir ✌️'} -const smsContacto3 = () => { return '👑 Owner'} -const smsContacto4 = () => { return 'Contacto Oficial de GataBot 🐈'} -const smsContacto5 = () => { return '🐣 ¿Le puedo ayudar en algo?'} -const smsContacto6 = () => { return 'No tengo correo 🙏'} -const smsContacto7 = () => { return '🌎 Global'} -const smsContacto8 = () => { return 'Esta Cuenta es Bot 👀'} - - -export default { lenguaje, smsAvisoRG, smsChatGP1, smsChatGP2, smsChatGP3, smsBCMensaje, smsBCMensaje2, smsBCMensaje3, smsAvisoAG, smsAvisoIIG, smsBCbot1, smsBCbot2, smsBCbot3, smsBCbot4, smsBCbot5, smsBCbot6, smsBCbot7, smsAvisoFG, smsAvisoMG, smsAvisoEEG, smsAvisoEG, smsRowner, smsOwner, smsMods, smsPremium, smsGroup, smsPrivate, smsAdmin, smsBotAdmin, smsUnreg, smsRestrict, smsTime, smsUptime, smsVersion, smsTotalUsers, smsMode, smsModePublic, smsModePrivate, smsBanChats, smsBanUsers, smsPareja, smsResultPareja, smsSaludo, smsDia, smsTarde, smsTarde2, smsNoche, smsListaMenu, smsLista1, smsLista2, smsLista3, smsLista4, smsLista5, smsLista6, smsLista7, smsLista8, smsLista9, smsLista10, smsLista11, smsLista12, smsLista13, smsLista14, smsLista15, smsLista16, smsLista17, smsLista18, smsLista19, smsLista20, smsLista21, smsLista22, smsLista23, smsLista24, smsLista25, smsLista26, smsLista27, smsLista28, smsLista29, smsLista30, smsLista31, smsLista32, smsLista33, smsLista34, smsLista35, smsWelcome, smsBye, smsSpromote, smsSdemote, smsSdesc, smsSsubject, smsSicon, smsSrevoke, smsConexion, smsClearTmp, smsCargando, smspurgeSession, smspurgeOldFiles, smspurgeSessionSB1, smspurgeSessionSB2, smspurgeSessionSB3, smspurgeOldFiles1, smspurgeOldFiles2, smspurgeOldFiles3, smspurgeOldFiles4, smsTextoYT, smsApagar, smsEncender, smsEnlaceTik, smsEnlaceYt, smsEnlaceTel, smsEnlaceFb, smsEnlaceIg, smsEnlaceTw, smsAllAdmin, smsSoloOwner, smsCont1, smsCont2, smsCont3, smsCont4, smsCont5, smsCont6, smsCont7, smsCont8, smsCont9, smsCont10, smsCont11, smsCont12, smsCont13, smsCont14, smsCont15, smsCont16, smsCont17, smsCont18, smsCont19, smsCont20, smsCont21, smsInt1, smsInt2, smsAdwa, smsEnlaceWat, smsEnlaceWatt, smsNoSpam, smsNoSpam2, smsConMenu, smsMalError, smsMalError2, smsMalError3, smsToxic1, smsToxic2, smsToxic3, smsToxic4, smsToxic5, smsToxic6, smsToxic7, eExp, eDiamante, eDiamantePlus, eToken, eEsmeralda, eJoya, eMagia, eOro, eGataCoins, eGataTickers, eEnergia, ePocion, eAgua, eBasura, eMadera, eRoca, ePiedra, eCuerda, eHierro, eCarbon, eBotella, eLata, eCarton, eEletric, eBarraOro, eOroComun, eZorroG, eBasuraG, eLoboG, eMaderaG, eEspada, eCarnada, eBillete, ePinata, eGancho, eCanaPescar, eCComun, ePComun, eCMistica, eCMascota, eCJardineria, eClegendaria, eUva, eManzana, eNaranja, eMango, ePlatano, eSUva, eSManzana, eSNaranja, eSMango, eSPlatano, eCentauro, eAve, eGato, eDragon, eZorro, eCaballo, eFenix, eLobo, ePerro, eAMascots, eCCentauro, eCAve, eCMagica, eCDragon, eACaballo, eCFenix, smsWel1, smsWel2, smsParaAdmins, smsDete1, smsDete2, smsANivel1, smsANivel2, smsParaAdYOw, smsParaOw, smsRestri1, smsRestri2, smsLlamar1, smsLlamar2, smsModP1, smsModP2, smsModAd1, smsModAd2, smsLect1, smsLect2, smsTempo1, smsTempo2, smsStik1, smsStik2, smsStickA1, smsStickA2, smsReacc1, smsReacc2, smsAudi1, smsAudi2, smsModHor1, smsModHor2, smsAntitoc1, smsAntitoc2, smsModOb1, smsModOb2, -smsAntiEli1, smsAntiEli2, smsAntiInt1, smsAntiInt2, smsAntiE1, smsAntiE2, smsAntiEE1, smsAntiEE2, smsAntiTT1, smsAntiTT2, smsAntiYT1, smsAntiYT2, smsAntiTEL1, smsAntiTEL2, smsAntiFB1, smsAntiFB2, smsAntiIG1, smsAntiIG2, smsAntiTW1, smsAntiTW2, smsSOLOP1, smsSOLOP2, smsSOLOG1, smsSOLOG2, smsNoGg, smsConfi1, smsConfi2, smsConfi3, smsConfi4, smsConfi5, smsConfi6, smsConfi7, smsConfi8, smsConfi9, smsConfi10, smsMens1, smsMens2, smsMens3, smsMens4, smsMens5, smsMensError1, smsMensError2, smsAntiView, smsAutoLv1, smsAutoLv2, smsAutoLv3, smsAutoLv4, smsAutoLv5, smsAutoLv6, smsAutoLv7, smsAntiSp1, smsAntiSp2, smsAutoStik, smsBottem1, smsBottem2, smsBottem3, smsPremI, -smsAfkM1, smsAfkM2, smsAfkM3, smsAfkM4, smsAfkM5, smsAfkM6, smsAfkM1A, smsAfkM1B, smsChatAn1, smsChatAn2, smsChatAn3, smsChatAn4, smsChatAn5, smsChatAn6, smsChatAn7, smsChatAn8, smsChatAn9, smsChatAn10, smsChatAn11, smsChatAn12, smsChatAn13, smsBotonM1, smsBotonM2, smsBotonM3, smsBotonM4, smsBotonM5, smsBotonM6, smsBotonM7, smsTex1, smsTex2, smsTex3, smsTex4, smsTex5, smsTex6, smsTex7, smsTex8, smsTex9, smsTex10, smsTex11, smsTex12, smsTex13, smsTex14, smsTex15, smsTex16, smsTex17, smsTex18, smsTex19, smsTex20, smsTex21, smsTex22, smsTex23, smsMalused, smsGrupoTime1, smsGrupoTime2, smsGrupoTime3, smsGrupoTime4, smsGrupoTime5, smsGrupoTime6, smsGrupoTime7, smsGrupoTime8, smsGrupoTime9, smsGrupoTime10, smsGrupoTime11, smsGrupoTime12, smsGrupoTime13, smsAddB1, smsAddB2, smsAddB3, smsAddB4, smsAddB5, smsAddB6, smsAdveu1, smsMalused2, smsAdveu2, smsAdveu3, smsAdveu4, smsAdveu5, smsAdveu6, smsAdveu7, smsAdveu8, smsAdveu9, smsMalused3, smsAdveu10, smsAdveu11, smsAdveu12, smsDemott, smsDemott2, smsDemott3, -smsGI1, smsGI2, smsGI3, smsGI4, smsGI5, smsGI6, smsGI7, smsGI8, smsGI9, smsGI10, smsLista22_1, smsCodigoQR, smsConexionOFF, smskick1, smskick2, smskick3, smskick4, smstagaa, -smsSetB, smsSetB2, smsSetW, smsSetW2, smsDest, smsNam1, smsNam2, smsNam3, smsRestGp, smsSig, smsSigPrem, smsCont18Porn, smsCont18Porn2, smsCont18PornP, smsCont18PornP2, -smsIniJadi, smsSoloOwnerJB, smsJBPrincipal, smsJBConexion, smsJBConexionClose, smsJBConexionTrue, smsJBConexionTrue2, smsJBCargando, smsJBInfo1, smsJBInfo2, smsJBDel, smsJBAdios, -smsJBCerrarS, smsJBErr, smsContAdult, smsList1, smsList2, smsList3, smsList4, smsList5, smsList6, smsConj, smsFras, smsContacto1, smsContacto2, smsContacto3, smsContacto4, -smsContacto5, smsContacto6, smsContacto7, smsContacto8 }; diff --git a/lib/idiomas/indonesio.js b/lib/idiomas/indonesio.js deleted file mode 100644 index e70a3722c..000000000 --- a/lib/idiomas/indonesio.js +++ /dev/null @@ -1,615 +0,0 @@ -const lenguaje = () => { return 'id' } //Bahasa Indonesia - -//PEMBERITAHUAN PESAN -const smsAvisoRG = () => { return `╰⊱✅⊱ *HASIL* ⊱✅⊱╮\n\n` } -const smsAvisoAG = () => { return `╰⊱⚠️⊱ *PERINGATAN* ⊱⚠️⊱╮\n\n` } -const smsAvisoIIG = () => { return `╰⊱❕⊱ *INFORMASI* ⊱❕⊱╮\n\n` } -const smsAvisoFG = () => { return `╰⊱❌⊱ *KESALAHAN* ⊱❌⊱╮\n\n` } -const smsAvisoMG = () => { return `╰⊱❗️⊱ *TINDAKAN BURUK* ⊱❗️⊱╮\n\n` } -const smsAvisoEEG = () => { return `╰⊱📩⊱ *LAPORAN* ⊱📩⊱╮\n\n` } -const smsAvisoEG = () => { return `╰⊱💚⊱ *KESUKSESAN* ⊱💚⊱╮\n\n` } - -//PARAMETER DALAM PERINTAH -const smsRowner = () => { return `\`\`\`¡¡PERINTAH INI HANYA SAYA SEBAGAI PENCIPTA BOT YANG BISA MENGGUNAKANNYA!!\`\`\`` } -const smsOwner = () => { return `\`\`\`¡¡PERINTAH INI HANYA KREATOR SAYA YANG BISA MENGGUNAKANNYA!!\`\`\`` } -const smsMods = () => { return `\`\`\`¡¡PERINTAH INI HANYA MODERATOR DAN PENCIPTA SAYA YANG BISA MENGGUNAKANNYA!!\`\`\`` } -const smsPremium = () => { return `\`\`\`¡¡PERINTAH INI HANYA TERSEDIA UNTUK PENGGUNA PREMIUM DAN PENCIPTA SAYA!! UNTUK MENDAPATKAN PREMIUM, BELI PASS MENGGUNAKAN #pass premium\`\`\`` } -const smsGroup = () => { return `\`\`\`¡¡PERINTAH INI HANYA DAPAT DIGUNAKAN DALAM GRUP!!\`\`\`` } -const smsPrivate = () => { return `\`\`\`¡¡COMMAND INI HANYA DAPAT DIGUNAKAN UNTUK PRIVATE!!\`\`\`` } -const smsAdmin = () => { return `\`\`\`¡¡PERINTAH INI HANYA UNTUK ADMIN!!\`\`\`` } -const smsBotAdmin = () => { return `\`\`\`¡¡SAYA PERLU MENJADI ADMIN SEHINGGA ANDA BISA MENGGUNAKAN COMMAND INI!!\`\`\`` } -const smsUnreg = () => { return `\`\`\`¡¡ANDA HARUS DAFTAR UNTUK MENGGUNAKAN COMMAND INI, KETIK #verify UNTUK DAFTAR!!\`\`\`` } -const smsRestrict = () => { return `\`\`\`¡¡PERINTAH INI DIBATASI OLEH PENCIPTA SAYA!!\`\`\`` } - -//DAFTAR MENU -const smsTime = () => { return `Waktu saat ini`} -const smsUptime = () => { return `Berjalan Selama`} -const smsVersion = () => { return `Versi dari ${global.packname}`} -const smsTotalUsers = () => { return `Jumlah Pengguna`} -const smsMode = () => { return `Sedang dalam mode`} -const smsModePublic = () => { return `PUBLIK`} -const smsModePrivate = () => { return `PRIBADI`} -const smsBanChats = () => { return `Obrolan Terlarang`} -const smsBanUsers = () => { return `Pengguna yang Diblokir`} -const smsPareja = () => { return `Pasangan`} -const smsResultPareja = () => { return `Lajang`} -const smsSaludo = () => { return `👋 HALO! SELAMAT DATANG 👋`} -const smsDia = () => { return `🌇 Selamat pagi ⛅`} -const smsTarde = () => { return `🏙️ Selamat malam 🌤️`} -const smsTarde2 = () => { return `🌆 Selamat malam 🌥️`} -const smsNoche = () => { return `🌃 Selamat malam 💫`} -const smsListaMenu = () => { return `⊹ DAFTAR MENU ⊹`} -const smsLista1 = () => { return `🌟 INFORMASI GATABOT 🌟`} -const smsLista2 = () => { return `💖 PENCIPTA 💖`} -const smsLista3 = () => { return `🎁 DONASI: DUKUNGAN 🎁`} -const smsLista4 = () => { return `🚀 KECEPATAN 🚀`} -const smsLista5 = () => { return `💡 INFORMASI MENU 💡`} -const smsLista6 = () => { return `🌀 MENU LENGKAP 🌀`} -const smsLista7 = () => { return `🐈 PASANG GATABOT 🐈`} -const smsLista8 = () => { return `🍄 JADILAH SUBBOT 🍄`} -const smsLista9 = () => { return `📄 SYARAT, KETENTUAN DAN PRIVASI 📄`} -const smsLista10 = () => { return `🌟 PETUALANGAN DAN TOP 🌟`} -const smsLista11 = () => { return `🏆 TOP DUNIA 🏆`} -const smsLista12 = () => { return `🏅 PENGGUNA PREMIUM 🏅`} -const smsLista13 = () => { return `🎟️ JADILAH PENGGUNA PREMIUM 🎟️`} -const smsLista14 = () => { return `🛣️ MISI 🛣️`} -const smsLista15 = () => { return `⚗️ MENU RPG ⚗️`} -const smsLista16 = () => { return `🏪 PEMBELIAN TOKO 🏪`} -const smsLista17 = () => { return `🎒 INVENTARIS 🎒`} -const smsLista18 = () => { return `🌟 MULTIMEDIA 🌟`} -const smsLista19 = () => { return `📲 UNDUH MENU 📲`} -const smsLista20 = () => { return `🔍 MENU CARI 🔍`} -const smsLista21 = () => { return `🛰️ MENU KONVERTER 🛰️`} -const smsLista22 = () => { return `🧰 MENU PENGUBAH AUDIO 🧰`} -const smsLista22_1 = () => { return `🔩 MENU ALAT 🔩`} -const smsLista23 = () => { return `🌟 SERU 🌟`} -const smsLista24 = () => { return `🎡 GAME DINAMIS 🎡`} -const smsLista25 = () => { return `🔊 MENU AUDIO 🔊`} -const smsLista26 = () => { return `🎈 MENU STIKER DAN FILTER 🎈`} -const smsLista27 = () => { return `✨ MENU EFEK DAN LOGO ✨`} -const smsLista28 = () => { return `🌅 LOGO MENU 2 🌅`} -const smsLista29 = () => { return `⛩️ MEME DAN ANIME RANDOM ⛩️`} -const smsLista30 = () => { return `🔞 PERINTAH UNTUK DEWASA +18 🔞`} -const smsLista31 = () => { return `🌟 PENGATURAN 🌟`} -const smsLista32 = () => { return `🔰 MENU UNTUK GRUP 🔰`} -const smsLista33 = () => { return `📑 JENIS DAFTAR 📑`} -const smsLista34 = () => { return `⚙️ PUSAT KONFIGURASI ⚙️`} -const smsLista35 = () => { return `💎 PEMILIK MENU 💎`} - -//main.js -const smsWelcome = () => { return `*╭┈⊰* @subject *⊰┈ ✦*\n*┊✨ SELAMAT DATANG!!*\n┊💖 @user\n┊📄 *BACA DESKRIPSI GRUP*\n*╰┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ ✦*\n${String.fromCharCode(8206).repeat(850)}\n@desc`} -const smsBye = () => { return '*╭┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈⊰*\n┊ @user\n┊ *DIA MENINGGALKAN GRUP, SEGERA KEMBALI* 😎\n*╰┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈⊰*'} -const smsSpromote = () => { return '*@user ANDA SEKARANG ADMIN DI GRUP INI!!*'} -const smsSdemote = () => { return '*@user TIDAK ADA LAGI ADMIN DI GRUP INI!!*'} -const smsSdesc = () => { return '*DESKRIPSI BARU GRUP ADALAH:*\n\n@desc'} -const smsSsubject = () => { return '*NAMA BARU GRUP ADALAH:*\n\n@subject'} -const smsSicon = () => { return '*FOTO GRUP INI SUDAH DIUBAH!!*'} -const smsSrevoke = () => { return '*SEKARANG INI LINK BARU DARI GRUP INI!!*\n\n*@revoke*'} -const smsConexion = () => { return `\n𓃠 ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈✦ 🟢 KONEKSI ✦┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ 𓃠\n│\n│★ SUKSES KONEKSI DENGAN WHATSAPP 😺\n│\n𓃠 ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈✦ ✅ ✦┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ 𓃠`} -const smsCargando = () => { return `😸 MEMUAT...\n`} -const smsCodigoQR = () => { return `\n✅ PINDAI KODE QR BERAKHIR DALAM 45 DETIK ✅`} -const smsConexionOFF = () => { return `\n⚠️ TIDAK ADA KONEKSI, HAPUS FOLDER ${global.authFile} DAN PINDAI KODE QR ⚠️`} -const smsClearTmp = () => { return `\n╭» 🟢 MULTIMEDIA 🟢\n│→ FILE DARI FOLDER TMP DIHAPUS\n╰― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― 🗑️♻️`} -const smspurgeSession = () => { return `\n╭» 🔵 ${global.authFile} 🔵\n│→ SESI NON-ESENSIAL DIHILANGKAN\n╰― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― 🗑️♻️`} -const smspurgeOldFiles = () => { return `\n╭» 🟠 FILE 🟠\n│→ FILE SISA DIHAPUS\n╰― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― 🗑️♻️`} -const smspurgeSessionSB1 = () => { return `\n╭» 🟡 GataJadiBot 🟡\n│→ TIDAK ADA YANG DIHAPUS \n╰― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― 🗑️♻️`} -const smspurgeSessionSB2 = () => { return `\n╭» ⚪ GataJadiBot ⚪\n│→ FILE NON-ESENSIAL DIHAPUS\n╰― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― 🗑️♻️`} -const smspurgeSessionSB3 = () => { return `\n╭» 🔴 GataJadiBot 🔴\n│→ TERJADI KESALAHAN\n╰― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― 🗑️♻️\n`} -const smspurgeOldFiles1 = () => { return `\n╭» 🟣 FILE 🟣\n│→`} -const smspurgeOldFiles2 = () => { return `HAPUS BERHASIL\n╰― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― 🗑️♻️`} -const smspurgeOldFiles3 = () => { return `\n╭» 🔴 FILE 🔴\n│→`} -const smspurgeOldFiles4 = () => { return `GAGAL DIHAPUS\n╰― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― 🗑️❌\n`} -const smsConexioncerrar = () => { return `\n╭┄┄┄┄┄┄┄┄┄┄┄┄┄┄ • • • ┄┄┄┄┄┄┄┄┄┄┄┄┄┄ ☹\n┆ ⚠️ SAMBUNGAN TERTUTUP, SAMBUNGAN KEMBALI....\n╰┄┄┄┄┄┄┄┄┄┄┄┄┄┄ • • • ┄┄┄┄┄┄┄┄┄┄┄┄┄┄ ☹`} -const smsConexionperdida = () => { return `\n╭┄┄┄┄┄┄┄┄┄┄┄┄┄┄ • • • ┄┄┄┄┄┄┄┄┄┄┄┄┄┄ ☂\n┆ ⚠️ HILANG KONEKSI DENGAN SERVER, MENGHUBUNGKAN KEMBALI....\n╰┄┄┄┄┄┄┄┄┄┄┄┄┄┄ • • • ┄┄┄┄┄┄┄┄┄┄┄┄┄┄ ☂`} -const smsConexionreem = () => { return `\n╭┄┄┄┄┄┄┄┄┄┄┄┄┄┄ • • • ┄┄┄┄┄┄┄┄┄┄┄┄┄┄ ✗\n┆ ⚠️ KONEKSI DIGANTI, SESI BARU LAIN SUDAH DIBUKA, HARAP TUTUP SESI SAAT INI TERLEBIH DAHULU.\n╰┄┄┄┄┄┄┄┄┄┄┄┄┄┄ • • • ┄┄┄┄┄┄┄┄┄┄┄┄┄┄ ✗`} -const smsConexionreinicio = () => { return `\n╭┄┄┄┄┄┄┄┄┄┄┄┄┄┄ • • • ┄┄┄┄┄┄┄┄┄┄┄┄┄┄ ✓\n┆ ❇️ MENGHUBUNGKAN KE SERVER...\n╰┄┄┄┄┄┄┄┄┄┄┄┄┄┄ • • • ┄┄┄┄┄┄┄┄┄┄┄┄┄┄ ✓`} -const smsConexiontiem = () => { return `\n╭┄┄┄┄┄┄┄┄┄┄┄┄┄┄ • • • ┄┄┄┄┄┄┄┄┄┄┄┄┄┄ ▸\n┆ ⌛ WAKTU SAMBUNGAN HABIS, SAMBUNGAN KEMBALI....\n╰┄┄┄┄┄┄┄┄┄┄┄┄┄┄ • • • ┄┄┄┄┄┄┄┄┄┄┄┄┄┄ ▸`} -const smsConexiondescon = (reason, connection) => { return `\n⚠️❗ ALASAN PEMUTUSAN TIDAK DIKETAHUI: ${reason || ''} >> ${connection || ''}`} -const smsMainBot = () => { return "'main.js' BERHASIL DIPERBARUI"} - -//_allantilink.js -const smsTextoYT = () => { return '😻 Super GataBot-MD - WhatsApp '} -const smsApagar = () => { return '❌ MENONAKTIFKAN'} -const smsEncender = () => { return '✅ MENGAKTIFKAN'} -const smsEnlaceTik = () => { return `*LINK TIKTOK YANG DILARANG TERDETEKSI DI GRUP INI*\n\n*SAYA LANJUTKAN UNTUK MENGHAPUS ANDA*`} -const smsEnlaceYt = () => { return `*LINK YOUTUBE YANG DILARANG TERDETEKSI DI GRUP INI*\n\n*SAYA LANJUTKAN UNTUK MENGHAPUS ANDA*`} -const smsEnlaceTel = () => { return `*LINK TELEGRAM YANG DILARANG TERDETEKSI DI GRUP INI*\n\n*SAYA LANJUTKAN UNTUK MENGHAPUS ANDA*`} -const smsEnlaceFb = () => { return `*LINK FACEBOOK TERBANNED TERDETEKSI DI GRUP INI*\n\n*SAYA LANJUTKAN UNTUK MENGHAPUS ANDA*`} -const smsEnlaceIg = () => { return `*LINK INSTAGRAM TERBANNED TERDETEKSI DI GRUP INI*\n\n*SAYA LANJUTKAN UNTUK MENGHAPUS ANDA*`} -const smsEnlaceTw = () => { return `*TAUTAN TWITTER YANG DILARANG TERDETEKSI DI GRUP INI*\n\n*SAYA LANJUTKAN UNTUK MENGHAPUS ANDA*`} -const smsAllAdmin = () => { return `*SAYA PERLU MENJADI ADMIN UNTUK DAPAT MENGHAPUS PENYUSU*`} -const smsSoloOwner = () => { return `*KREATOR SAYA HARUS MENGAKTIFKAN FUNGSINYA*\n*#on restrict*`} - -//handler.js -const smsCont1 = () => { return `*🔴 PERINTAH GAGAL 🔴*`} -const smsCont2 = () => { return `*⚠️ PLUGIN:*`} -const smsCont3 = () => { return `*⚠️ PENGGUNA:*`} -const smsCont4 = () => { return `*⚠️ MEMERINTAH:*`} -const smsCont5 = () => { return `*⚠️ KESALAHAN:*`} -const smsCont6 = () => { return `*❗ LAPORAN PESAN INI MENGGUNAKAN COMMAND #reporte UNTUK MEMECAHKANNYA*`} -const smsCont7 = () => { return `${global.lenguajeGB['smsAvisoAG']()}*TIDAK MEMILIKI BERLIAN!! 💎 ANDA DAPAT PERGI KE TOKO DENGAN PERINTAH*`} -const smsCont8 = () => { return ` *BERLIAN 💎 DIGUNAKAN*`} -const smsCont9 = () => { return `${global.lenguajeGB['smsAvisoAG']()}*BUTUH TINGKATNYA ➡️*`} -const smsCont10 = () => { return `*UNTUK MENGGUNAKAN PERINTAH INI. TINGKAT ANDA SAAT INI ADALAH ➡️*`} -const smsCont11 = () => { return `*PERBARUI DENGAN PERINTAH*`} -const smsCont12 = () => { return `GRUP BESAR!! 😼`} -const smsCont13 = () => {return `ADA YANG BERGABUNG!! 🥳`} -const smsCont14 = () => { return `SESEORANG TINGGAL!! 🧐`} -const smsCont15 = () => { return `*HALO*`} -const smsCont16 = () => { return `*PANGGILAN VIDEO* 📲`} -const smsCont17 = () => { return `*PANGGILAN* 📞`} -const smsCont18 = () => { return `*MEREKA TIDAK BERWENANG JADI SAYA AKAN MEMBLOKIR ANDA*\n\n*JIKA ANDA TERPANGGIL SECARA KECELAKAAN HUBUNGI ORANG PENCIPTA BOT INI*`} -const smsCont19 = () => { return `ANTI HAPUS`} -const smsCont20 = () => { return `*┃✤ Nama:*`} -const smsCont21 = () => { return `*┃✤ Mengirim pesan yang dihapus...*`} - -//_anti-internacional.js -const smsInt1 = () => { return `*NOMOR INI*`} -const smsInt2 = () => { return `*TIDAK DIPERBOLEHKAN DI GRUP INI!!*`} - -//_antilink.js -const smsAdwa = () => { return `${global.lenguajeGB['smsAvisoEG']()}*SEBAGAI ANDA ADMIN DI GRUP INI ANDA TIDAK AKAN DIHAPUS*`} -const smsEnlaceWat = () => { return `${lenguajeGB['smsAvisoAG']()}*LINK WHATSAPP TERBANNED TERDETEKSI DI GRUP INI*\n\n*SAYA LANJUTKAN UNTUK MENGHAPUS ANDA*`} - -//_antilink2.js -const smsEnlaceWatt = () => { return `${lenguajeGB['smsAvisoAG']()}LINK TERLARANG MENGANDUNG HTTPS TERDETEKSI DI GRUP INI\n\nSAYA LANJUTKAN UNTUK MENGHAPUS ANDA`} - -//_antispam.js -const smsNoSpam = () => { return `🤨 JANGAN SPAM, ANDA TIDAK AKAN DAPAT MENGGUNAKAN ${global.packname} UNTUK ${60000 / 1000 - 59} MENIT`} - -//_antispam_.js -const smsNoSpam2 = () => { return `DIBATALKAN SETELAH ${60000 / 1000 - 59} MENIT. TOLONG JANGAN SPAM!!`} - -//teks -const smsConMenu = () => { return `☘️ MENU`} - -//Kesalahan -const smsMalError = () => { return `${lenguajeGB['smsAvisoFG']()}\`\`\`SEBUAH KESALAHAN YANG TIDAK TERDUGA TELAH TERJADI.\`\`\``} -const smsMalError2 = () => { return `${lenguajeGB['smsAvisoFG']()}\`\`\`KENYAMANAN TELAH TIMBUL. COBA LAGI.\`\`\``} -const smsMalError3 = () => { return `${lenguajeGB['smsAvisoFG']()}\`\`\`ADA YANG SALAH, LAPORAN PERINTAH INI MENGGUNAKAN:\`\`\`\n`} - -//_antitoxic.js -const smsToxic1 = () => { return `TIDAK!!! 🤬 KATAKAN KATA INI`} -const smsToxic2 = () => { return `DILARANG JANGAN TOXIC`} -const smsToxic3 = () => { return `*PERINGATAN*\n⚠️`} -const smsToxic4 = () => { return `😭 SAYA MINTA MAAF`} -const smsToxic5 = () => { return `☢️ NONAKTIFKAN ANTITOXIC`} -const smsToxic6 = () => { return `SAYA PERINGATKAN KALIAN BEBERAPA KALI!!`} -const smsToxic7 = () => { return `ANDA LULUS SEMUA 4 PERINGATAN SEKARANG ANDA AKAN DIHAPUS 🙄`} - -//Toko -const eExp = () => { return '⚡ Experience' } -const eDiamante = () => { return '💎 Diamond' } -const eDiamantePlus = () => { return '💎+ Diamond+' } -const eToken = () => { return '🪙 Token' } -const eEsmeralda = () => { return '💚 Emerald' } -const eJoya = () => { return '♦️ Jewel' } -const eMagia = () => { return '🌀 Magic' } -const eOro = () => { return '👑 Gold' } -const eGataCoins = () => { return '🐱 GataCoins' } -const eGataTickers = () => { return '🎫 Gata Tickers' } -const eEnergia = () => { return '✨ Energy' } - -const ePocion = () => { return '🥤 Potion' } -const eAgua = () => { return '💧 Water' } -const eBasura = () => { return '🗑 Trash' } -const eMadera = () => { return '🪵 Wood' } -const eRoca = () => { return '🪨 Rock' } -const ePiedra = () => { return '🥌 Stone' } -const eCuerda = () => { return '🕸️ String' } -const eHierro = () => { return '⛓️ Iron' } -const eCarbon = () => { return '⚱️ Coal' } -const eBotella = () => { return '🍶 Bottle' } -const eLata = () => { return '🥫 Can' } -const eCarton = () => { return '🪧 Paperboard' } - -const eEletric = () => { return '💡 Electricity' } -const eBarraOro = () => { return '〽️ Gold bar' } -const eOroComun = () => { return '🧭 Common Gold' } -const eZorroG = () => { return '🦊🌫️ Big Fox' } -const eBasuraG = () => { return '🗑🌫️ Super Trash' } -const eLoboG = () => { return '🐺🌫️ Super Wolf' } -const eMaderaG = () => { return '🛷🌫️ Super Wood' } -const eEspada = () => { return '⚔️ Sword' } -const eCarnada = () => { return '🪱 Bait' } -const eBillete = () => { return '💵 Banknotes' } -const ePinata = () => { return '🪅 Pinata' } -const eGancho = () => { return '🪝 Hook' } -const eCanaPescar = () => { return '🎣 Fishing Rod' } - -const eCComun = () => { return '📦 Common Box' } -const ePComun = () => { return '🥡 Uncommon Box' } -const eCMistica = () => { return '🗳️ Mythic Box' } -const eCMascota = () => { return '📫 Pet Box' } -const eCJardineria = () => { return '💐 Gardening Box' } -const eClegendaria = () => { return '🎁 Legendary Box' } - -const eUva = () => { return '🍇 Grape' } -const eManzana = () => { return '🍎 Apple' } -const eNaranja = () => { return '🍊 Orange' } -const eMango = () => { return '🥭 Mango' } -const ePlatano = () => { return '🍌 Banana' } - -const eSUva = () => { return '🌾🍇 Grape seeds' } -const eSManzana = () => { return '🌾🍎 Apple seeds' } -const eSNaranja = () => { return '🌾🍊 Orange seeds' } -const eSMango = () => { return '🌾🥭 Mango Seeds' } -const eSPlatano = () => { return '🌾🍌 Banana seeds' } - -const eCentauro = () => { return '🐐 Centaur' } -const eAve = () => { return '🦅 Bird' } -const eGato = () => { return '🐈 Cat' } -const eDragon = () => { return '🐉 Dragon' } -const eZorro = () => { return '🦊 Fox' } -const eCaballo = () => { return '🐎 Horse' } -const eFenix = () => { return '🕊️ Phoenix' } -const eLobo = () => { return '🐺 Wolf' } -const ePerro = () => { return '🐶 Dog' } - -const eAMascots = () => { return '🍖 Pet Food' } -const eCCentauro = () => { return '🐐🥩 Centaur Food' } -const eCAve = () => { return '🦅🥩 Bird Food' } -const eCMagica = () => { return '🌀🥩 Magic Food' } -const eCDragon = () => { return '🐉🥩 Dragon Food' } -const eACaballo = () => { return '🐎🥩 Horse Food' } -const eCFenix = () => { return '🕊️🥩 Phoenix Food' } - -//config-on y off.js -const smsWel1 = () => { return `🎉 SELAMAT DATANG`} -const smsWel2 = () => { return `Pesan Selamat Datang untuk Anggota baru di Grup`} -const smsDete1 = () => { return `🔔 PEMBERITAHUAN`} -const smsDete2 = () => { return `Pemberitahuan tindakan dalam Grup`} -const smsANivel1 = () => { return `🆙 TINGKAT OTOMATIS`} -const smsANivel2 = () => { return `Tingkatkan semua orang secara otomatis; (Berlaku hadiah untuk naik level)`} -const smsRestri1 = () => { return `⛔ UNTUK MEMBATASI`} -const smsRestri2 = () => { return `Aktifkan fungsi untuk menambah atau menghapus orang di Grup`} -const smsLlamar1 = () => { return `🚫 ANTI PANGGILAN`} -const smsLlamar2 = () => { return `Blokir orang yang melakukan panggilan`} -const smsAntiSp1 = () => { return `🚯 ANTI SPAM`} -const smsAntiSp2 = () => { return `Larangan Penggunaan Perintah ketika seseorang melakukan beberapa jenis Spam`} -const smsModP1 = () => { return `🌐 MODE PUBLIK`} -const smsModP2 = () => { return `Aktifkan fungsi agar semua orang dapat menggunakan GataBot`} -const smsModAd1 = () => { return `🛂 MODE ADMIN`} -const smsModAd2 = () => { return `Hanya Admin yang dapat menggunakan GataBot di Grup`} -const smsLect1 = () => { return `✅ BACAAN OTOMATIS`} -const smsLect2 = () => { return `Tinggalkan pesan atau obrolan sebagai Dibaca`} -const smsTempo1 = () => { return `🐈 BOT SEMENTARA`} -const smsTempo2 = () => { return `Fungsi yang memungkinkan tinggal sementara di Grup`} -const smsStik1 = () => { return `🎠 STIKER`} -const smsStik2 = () => { return `Aktifkan pengiriman Stiker otomatis ke semua orang`} -const smsStickA1 = () => { return `🪄 STIKER OTOMATIS`} -const smsStickA2 = () => { return `Video, Gif, gambar, jpg atau tautan jpeg; Mereka akan diubah menjadi Stiker Secara Otomatis`} -const smsReacc1 = () => { return `🤡 REAKSI `} -const smsReacc2 = () => { return `Aktifkan pengiriman otomatis Reaksi ke pesan`} -const smsAudi1 = () => { return `🔊 AUDIO`} -const smsAudi2 = () => { return `Aktifkan pengiriman Audio secara otomatis ke semua orang`} -const smsModHor1 = () => { return `🔞 MODE TANDA`} -const smsModHor2 = () => { return `Tampilkan konten Dewasa di Obrolan`} -const smsAntitoc1 = () => { return `☢️ ANTI TOKSIK`} -const smsAntitoc2 = () => { return `Kirim Peringatan orang-orang yang menghina`} -const smsModOb1 = () => { return `👀 MODE PERHATIKAN`} -const smsModOb2 = () => { return `Jadikan Gambar, Gif, dan Video Dapat Dilihat untuk Semua Orang`} -const smsAntiEli1 = () => { return `🗑️ ANTI HAPUS`} -const smsAntiEli2 = () => { return `Semua pesan yang dihapus akan diteruskan ke Obrolan atau Grup`} -const smsAntiInt1 = () => { return `🌏 ANTI INTERNASIONAL`} -const smsAntiInt2 = () => { return `Hilangkan Nomor Internasional yang dianggap palsu`} -const smsAntiE1 = () => { return `🔗 ANTI LINK`} -const smsAntiE2 = () => { return `Hapus Orang yang mengirim tautan dari Grup WhatsApp`} -const smsAntiEE1 = () => { return `🔗 ANTI LINK 2`} -const smsAntiEE2 = () => { return `Hapus Orang yang mengirim tautan yang berisi https`} -const smsAntiTT1 = () => { return `🔗 ANTI TIK TOK`} -const smsAntiTT2 = () => { return `Hapus Orang yang Mengirim Tautan TikTok`} -const smsAntiYT1 = () => { return `🔗 ANTI YOUTUBE`} -const smsAntiYT2 = () => { return `Hapus Orang yang Mengirim Tautan YouTube`} -const smsAntiTEL1 = () => { return `🔗 ANTI TELEGRAM`} -const smsAntiTEL2 = () => { return `Hapus Orang yang Mengirim Tautan Telegram`} -const smsAntiFB1 = () => { return `🔗 ANTI FACEBOOK`} -const smsAntiFB2 = () => { return `Hapus Orang yang Mengirim Tautan Facebook`} -const smsAntiIG1 = () => { return `🔗 ANTI INSTAGRAM`} -const smsAntiIG2 = () => { return `Hapus Orang yang Mengirim Tautan Instagram`} -const smsAntiTW1 = () => { return `🔗 ANTI TWITTER `} -const smsAntiTW2 = () => { return `Hapus Orang yang Mengirim Tautan Twitter`} -const smsSOLOP1 = () => { return `⚜️ HANYA PRIBADI`} -const smsSOLOP2 = () => { return `Izinkan untuk digunakan hanya di Obrolan Pribadi`} -const smsSOLOG1 = () => { return `⚜️ HANYA GRUP`} -const smsSOLOG2 = () => { return `Izinkan untuk hanya digunakan di Obrolan Grup`} -const smsConfi1 = () => { return `PENGATURAN`} -const smsConfi2 = () => { return `*Halo!*`} -const smsConfi3 = () => { return `┃ *Pilih opsi dari daftar*`} -const smsConfi4 = () => { return `┃ *Untuk mulai mengonfigurasi*`} -const smsConfi5 = () => { return `┃● *Pemberitahuan Konfigurasi:*`} -const smsConfi6 = () => { return `┃ ✅ ⇢ *Fungsi Diaktifkan*`} -const smsConfi7 = () => { return `┃ ❌ ⇢ *Fungsi dinonaktifkan*`} -const smsConfi8 = () => { return `┃ ⚠️ ⇢ *Obrolan ini bukan Grup*`} -const smsConfi9 = () => { return `┃ *Rekomendasi: Untuk melihat konfigurasi*\n┃ *Selesaikan gunakan Menu Grup ini*\n┃`} -const smsConfi10 = () => { return `*~ PUSAT KONFIGURASI*`} -const smsParaAdmins = () => { return `UNTUK ADMIN DAN CREATOR: GRUP`} -const smsParaAdYOw = () => { return `UNTUK ADMIN DAN CREATOR : CHATS`} -const smsParaOw = () => { return `UNTUK CREATOR : CHAT`} -const smsNoGg = () => { return ` | ⚠️`} -const smsMens1 = () => { return `MEMERINTAH`} -const smsMens2 = () => { return `SAAT INI`} -const smsMens3 = () => { return `DI DALAM`} -const smsMens4 = () => { return `BOT`} -const smsMens5 = () => { return `CHAT`} - -//Error2 -const smsMensError1 = () => { return `❕ PERINTAH LAPORAN ❕`} -const smsMensError2 = () => { return `Perintah berikut gagal`} - -//_antiviewonce.js -const smsAntiView = () => { return `*TIDAK ADA YANG BISA DISEMBUNYIKAN* 😎`} - -//_autolevelup.js -const smsAutoLv1 = () => { return `🎖️ TINGKAT BARU 🎖️`} -const smsAutoLv2 = () => { return `TINGKAT SEBELUMNYA:`} -const smsAutoLv3 = () => { return `LEVEL SAAT INI:`} -const smsAutoLv4 = () => { return `JANGKAUAN:`} -const smsAutoLv5 = () => { return `TANGGAL:`} -const smsAutoLv6 = () => { return `Anda telah mencapai level baru!!!`} -const smsAutoLv7 = () => { return `🥳 HADIAH UNTUK TINGKAT BARU ANDA`} - -//_autosticker.js -const smsAutoStik = () => { return `${lenguajeGB['smsAvisoFG']()}*VIDEO TIDAK HARUS BERAKHIR LEBIH DARI 7 DETIK.*`} - -//_expired.js -const smsBottem1 = () => { return `*KELUAR DARI GRUP!!! 🤝 JIKA ANDA INGIN KEMBALI, GUNAKAN PERINTAH _#bottemporal_ UNTUK KEMBALI KE GRUP!!*`} -const smsBottem2 = () => { return `*💕 BANTUAN PENGGUNA*\n*_${global.ig}_*\n`} -const smsBottem3 = () => { return `SAMPAI BERJUMPA LAGI 💖`} - -//_premium.js -const smsPremI = () => { return `*¡WAKTU PREMIUM ANDA HABIS!* 🎟️\n*UNTUK MENDAPATKAN PREMIUM PASS BARU GUNAKAN PERINTAH:*\n*#pass prem*`} - -//afk-_afk.js -const smsAfkM1 = () => { return `*KAMU BERHENTI MENJADI AFK TIDAK AKTIF*`} -const smsAfkM2 = () => { return `\n*ALASAN TIDAK AKTIFNYA ADALAH:*\n`} -const smsAfkM3 = () => { return `⏳ *WAKTU KOSONG:*`} -const smsAfkM4 = () => { return `*JANGAN TAG PENGGUNA INI!! ITU TIDAK AKTIF*\n`} -const smsAfkM5 = () => { return `*ALASAN TIDAK AKTIFNYA AFK:*\n`} -const smsAfkM6 = () => { return `*ALASAN TIDAK AKTIFNYA AFK:\nTIDAK MENENTUKAN ALASAN TIDAK AKTIF*`} -const smsAfkTime = () => { return [['d.'], ['h.'], ['min.'], ['seg.']] } -const smsAfkResultTime = smsAfkTime() - -//afk-afk.js -const smsAfkQ1 = (usedPrefix, command) => { return `${lenguajeGB['smsAvisoMG']()}*TULIS ALASAN KENAPA TIDAK AKTIF (AFK)*\n\n*CONTOH:*\n*${usedPrefix + command}* Saya akan mengerjakan pekerjaan rumah`} -const smsAfkQ2 = () => { return `${lenguajeGB['smsAvisoMG']()}*MINIMUM 10 KARAKTER HARUS MENJADI ALASAN*`} -const smsAfkM1A = () => { return `*JANGAN TAG*`} -const smsAfkM1B = () => { return `*AKAN AFK TIDAK AKTIF*\n\n*ALASAN TIDAK AKTIFNYA AFK:*`} - -//anonymous_chat.js -const smsChatAn1 = () => { return `${lenguajeGB['smsAvisoFG']()}*ANDA TIDAK DALAM CHAT ANONIM*`} -const smsChatAn2 = () => { return `*JIKA ANDA INGIN MEMULAI CHAT ANONIM GUNAKAN PERINTAH #start ATAU GUNAKAN TOMBOL DI BAWAH INI*\n`} -const smsChatAn3 = () => { return `⚡ MULAI CHAT ANONIM`} -const smsChatAn4 = () => { return `${lenguajeGB['smsAvisoRG']()}🪐 *ANDA MENINGGALKAN CHAT ANONIM*`} -const smsChatAn5 = () => { return `${lenguajeGB['smsAvisoAG']()}*PENGGUNA LAIN MENINGGALKAN CHAT ANONIM*`} -const smsChatAn6 = () => { return `*JIKA INGIN KE CHAT ANONIM LAIN GUNAKAN PERINTAH #start ATAU GUNAKAN TOMBOL DI BAWAH INI*\n`} -const smsChatAn7 = () => { return `${lenguajeGB['smsAvisoAG']()}*ANDA MASIH DALAM CHAT ANONIM ATAU MENUNGGU SESEORANG UNTUK BERGABUNG KE CHAT*`} -const smsChatAn8 = () => { return `*JIKA INGIN KELUAR DARI CHAT ANONIM GUNAKAN PERINTAH #leave ATAU BISA MENGGUNAKAN TOMBOL DI BAWAH INI*\n`} -const smsChatAn9 = () => { return `🍁 KELUAR DARI CHAT ANONIM`} -const smsChatAn10 = () => { return `${lenguajeGB['smsAvisoEG']()}✨ *MEREKA BISA CHAT SEKARANG*`} -const smsChatAn11 = () => { return `*SESEORANG BERGABUNG DENGAN CHAT ANONIM!!*`} -const smsChatAn12 = () => { return `❇️ PENGGUNA LAIN`} -const smsChatAn13 = () => { return `${lenguajeGB['smsAvisoRG']()}🐈 *MENUNGGU SESEORANG UNTUK BERGABUNG DENGAN CHAT ANONIM, HARAP SABAR*`} - -//Tombol Menu -const smsBotonM1 = () => { return `⚡ MULAI MENU ⚡`} -const smsBotonM2 = () => { return `💫 MENU LENGKAP 💫`} -const smsBotonM3 = () => { return `🎒 INVENTARIS 🎒`} -const smsBotonM4 = () => { return `PENGGUNA`} -const smsBotonM5 = () => { return `JANGKAUAN`} -const smsBotonM6 = () => { return `TINGKAT`} -const smsBotonM7 = () => { return `PREMIUM`} -const smsTex1 = () => { return '*MENU CARI*'} -const smsTex2 = () => { return '*PENGUBAH AUDIO*'} -const smsTex3 = () => { return '*TIDAK BISA +18*'} -const smsTex4 = () => { return '*KONTEN DINAMIS*'} -const smsTex5 = () => { return '*CARI DAN UNDUH*'} -const smsTex6 = () => { return '*MENU +18 PREMIUM*'} -const smsTex7 = () => { return '⠇ *Gambar +18 kualitas dan variasi*\n⠇ *Video +18 hanya untuk Anda*\n⠇ *Stiker +18 tersedia*'} -const smsTex8 = () => { return '*MENU KONVERTER*'} -const smsTex9 = () => { return '*DOWNLOAD MENU*'} -const smsTex10 = () => { return '*MENU GAME DINAMIS*'} -const smsTex11 = () => { return '*MENU UNTUK KELOMPOK*'} -const smsTex12 = () => { return '*MENU ALAT*'} -const smsTex13 = () => { return '*MENU INFORMASI*'} -const smsTex14 = () => { return '*MENU EFEK DAN LOGOS*'} -const smsTex15 = () => { return '*MENU LOGO 2*'} -const smsTex16 = () => { return 'MENU AUDIO'} -const smsTex17 = () => { return '*TIDAK PERLU MENGGUNAKAN PREFIX DALAM AUDIO*'} -const smsTex18 = () => { return 'DAFTAR SUARA'} -const smsTex19 = () => { return '*ANDA DAPAT MEMILIH AUDIO!!*'} -const smsTex20 = () => { return '*OWNER MENU*'} -const smsTex21 = () => { return '*MENU RPG*'} -const smsTex22 = () => { return '*MENU STIKER DAN FILTER*'} -const smsTex23 = () => { return '*MEME ACAK DAN MENU ANIME*'} - -//info-grupos-lista.js -const smsLisA = () => { return '_*ANDA BERADA DI KELOMPOK INI:*_'} -const smsLisB = () => { return '*⭔ Jumlah Grup:*'} -const smsLisC = () => { return '*⋄ Gugus:*'} -const smsLisD = () => { return '*⋄ ID:*'} -const smsLisE = () => { return '*⋄ Peserta:*'} - -//ad -const smsMalused = () => { return '⚡ *GUNAKAN PERINTAH SEPERTI INI:*\n'} -const smsMalused2 = () => { return `${lenguajeGB['smsAvisoMG']()}🐈 *ANDA HARUS MENGGUNAKAN PERINTAH SEPERTI CONTOH INI:*\n`} -const smsMalused3 = () => { return `${lenguajeGB['smsAvisoMG']()}🐈 *ANDA HARUS MENGGUNAKAN PERINTAH ATAU MERESPON PESAN SESEORANG SEPERTI CONTOH INI:*\n`} - -//gc-config_time.js -const smsGrupoTime1 = () => { return '🔓 *_GROUP TERBUKA DALAM SATU JAM_*'} -const smsGrupoTime2 = () => { return '🔒 *_TUTUP GRUP DALAM SATU JAM_*'} -const smsGrupoTime3 = () => { return '*KELOMPOK'} -const smsGrupoTime4 = () => { return 'TERTUTUP'} -const smsGrupoTime5 = () => { return 'MEMBUKA'} -const smsGrupoTime6 = () => { return '*SELAMA'} -const smsGrupoTime7 = () => { return '🔒 *GRUP DITUTUP, HANYA ADMIN YANG BISA KIRIM PESAN*'} -const smsGrupoTime8 = () => { return '🔓 *GROUP TERBUKA, SEMUA BISA KIRIM PESAN*'} -const smsGrupoTime9 = () => { return '🔓 GRUP TERBUKA SELAMA '} -const smsGrupoTime10 = () => { return '🔒 TUTUP GRUP SELAMA '} -const smsGrupoTime11 = () => { return ' JAM'} -const smsGrupoTime12 = () => { return 'IZINKAN KELOMPOK TELAH DIKUNJUNGI '} -const smsGrupoTime13 = () => { return 'IZINKAN GROUP UNTUK DITUTUP '} - -//grupo-add.js -const smsAddB1 = () => { return `${lenguajeGB['smsAvisoFG']()}*TIDAK BISA MENAMBAH NOMOR, HARAP VERIFIKASI BENAR, MUNGKIN BARU KELUAR ATAU PRIVASI ANDA SUDAH DITETAPKAN.*`} -const smsAddB2 = () => { return `${lenguajeGB['smsAvisoFG']()}*TIDAK DAPAT MENAMBAHKAN NOMOR, MEMVERIFIKASI BENAR, ATAU MENAMBAHKANNYA SECARA MANUAL.*`} - -//grupo-admins.js -const smsAddB3 = () => { return `*PEMBERITAHUAN UNTUK ADMIN*`} -const smsAddB4 = () => { return `*KEHADIRAN ADMIN*`} -const smsAddB5 = () => { return `*PESAN:*`} -const smsAddB6 = () => { return `Saya mohon kepada admin.`} - -//grupo-advertencia.js -const smsAdveu1 = () => { return `${lenguajeGB['smsAvisoAG']()}*HANYA DAPAT DIGUNAKAN JIKA FUNGSI DIAKTIFKAN:*\n`} -const smsAdveu2 = () => { return 'Alasan'} -const smsAdveu3 = () => { return `${lenguajeGB['smsAvisoMG']()}*INGAT UNTUK MENULIS ALASAN UNTUK PERINGATAN*\n`} -const smsAdveu4 = () => { return '*MENERIMA PERINGATAN DI GRUP INI!!*'} -const smsAdveu5 = () => { return 'PERINGATAN'} -const smsAdveu6 = () => { return '🎒 INVENTARIS'} -const smsAdveu7 = () => { return '*SAYA PERINGATKAN ANDA BEBERAPA KALI!!*'} -const smsAdveu8 = () => { return '*SEKARANG ANDA AKAN DIHAPUS* 🙄'} -const smsAdveu9 = () => { return '😇 TERIMA KASIH'} -const smsAdveu10 = () => { return '*PERINGATAN DIHAPUS DI GRUP INI!!*'} -const smsAdveu11 = () => { return 'Sebelum:'} -const smsAdveu12 = () => { return 'Sekarang:'} - -//grupo-demote.js || grupo-promote.js -const smsDemott = () => { return `*NOMORNYA INVALID, COBA LAGI BALAS PESAN ORANG ATAU GUNAKAN CONTOH SEPERTI INI:*\n`} -const smsDemott2 = () => { return '*SEKARANG MEMILIKI KEKUATAN DI GRUP!!*'} -const smsDemott3 = () => { return '*TIDAK LAGI MEMILIKI KEKUATAN DI GRUP!!*'} - -//grupo-info.js -const smsGI1 = () => { return '*INFORMASI KELOMPOK*'} -const smsGI2 = () => { return '*ID GRUP*'} -const smsGI3 = () => { return '*NAMA GRUP*'} -const smsGI4 = () => { return '*DESKRIPSI KELOMPOK*'} -const smsGI5 = () => { return '*TIDAK ADA DESKRIPSI*'} -const smsGI6 = () => { return '*JUMLAH PENGGUNA*'} -const smsGI7 = () => { return '*Pengguna*'} -const smsGI8 = () => { return '*PENCIPTA GRUP*'} -const smsGI9 = () => { return '*ADMIN GRUP*'} -const smsGI10 = () => { return '⚙️ PENGATURAN GRUP'} - - -//grupo-kick.js -const smskick1 = () => { return `${lenguajeGB['smsAvisoAG']()}*TAG ORANG ATAU BALAS PESAN ORANG YANG INGIN ANDA HAPUS*\n\n*CONTOH: `} -const smskick2 = () => { return `DIHAPUS 😼🫵`} -const smskick3 = () => { return `SAYA TIDAK BISA MENGHAPUS PENCIPTA GRUP 😆🫵`} -const smskick4 = () => { return `TIDAK DI GRUP INI 👻`} - -//grupo-tagall.js -const smstagaa = () => { return `⚡ MEMANGGIL GRUP ⚡`} - -//grupo-setbye.js -const smsSetB = () => { return `${lenguajeGB['smsAvisoEG']()}*PERPISAHAN GRUP TELAH DIKONFIGURASI*`} -const smsSetB2 = () => { return `${lenguajeGB['smsAvisoIIG']()}🙌 *_TULIS PESAN PERPISAHAN_*\n*_OPSIONAL, ANDA DAPAT MENGGUNAKAN APA DENGAN "@" UNTUK MENAMBAHKAN INFORMASI LEBIH LANJUT:_*\n\n*⚡ @user (Sebutkan kepada pengguna)*\n\n*INGAT BAHWA "@" ITU OPSIONAL*`} - -//grupo-setwelcome.js -const smsSetW = () => { return `${lenguajeGB['smsAvisoEG']()}*SAMBUTAN GRUP TELAH DIATUR*`} -const smsSetW2 = () => { return `${lenguajeGB['smsAvisoIIG']()}🙌 *_TULIS PESAN SELAMAT DATANG_*\n*_OPSIONAL, ANDA DAPAT MENGGUNAKAN APA DENGAN "@" UNTUK MENAMBAHKAN INFORMASI LEBIH LANJUT:_*\n\n*⚡ @user (Sebutkan kepada pengguna)*\n*⚡ @subject (Nama grup)*\n*⚡ @desc (Deskripsi grup)*\n\n*INGAT BAHWA "@" ADALAH OPSIONAL*`} - -//grupo-setdesc.js -const smsDest = () => { return `${lenguajeGB['smsAvisoEG']()}*DESKRIPSI GRUP TELAH DIKONFIGURASI*`} - -//grupo-setname.js -const smsNam1 = () => { return `${lenguajeGB['smsAvisoEG']()}*NAMA GRUP TELAH DITETAPKAN*`} -const smsNam2 = () => { return `${lenguajeGB['smsAvisoMG']()}*🙌 TULIS NAMA GRUP BARU*`} -const smsNam3 = () => { return `${lenguajeGB['smsAvisoFG']()}*NAMA GRUP TIDAK BOLEH MEMILIKI LEBIH DARI 25 KARAKTER*`} - -//grupo-restaurarEnlace.js -const smsRestGp = () => { return `${lenguajeGB['smsAvisoEG']()}*TAUTAN GROUP TELAH DIRESET*`} - -//Button -const smsSig = () => { return `➡️ LANJUT ➡️`} -const smsSigPrem = () => { return `❤️‍🔥 LANJUT ❤️‍🔥`} -const smsCont18Porn = () => { return `🔞 *ISI* 🔞`} //texto -const smsCont18Porn2 = () => { return `🔞 ISI 🔞`} //texto -const smsCont18PornP = () => { return `🌟 *ISI ❤️‍🔥 PREMIUM* 🌟`} //texto -const smsCont18PornP2 = () => { return `ISI ❤️‍🔥 PREMIUM`} //texto - -//propietario(a).js -const smsJoin = (user) => { return `${packname}\n𝙀𝙎 𝙐𝙉 𝘽𝙊𝙏 𝘿𝙀 𝙒𝙃𝘼𝙏𝙎𝘼𝙋𝙋 𝙌𝙐𝙀 𝙏𝙀 𝘼𝙔𝙐𝘿𝘼𝙍𝘼 𝙍𝙀𝘼𝙇𝙄𝙕𝘼𝙍 𝘿𝙄𝙁𝙀𝙍𝙀𝙉𝙏𝙀𝙎 𝘼𝘾𝙏𝙄𝙑𝙄𝘿𝘼𝘿𝙀𝙎 🪄 𝘼𝙇 𝙋𝙍𝙄𝙑𝘼𝘿𝙊 𝙊 𝙂𝙍𝙐𝙋𝙊 𝙔 𝙏𝘼𝙈𝘽𝙄𝙀𝙉 𝙏𝙀 𝙑𝘼𝙎 𝘼 𝘿𝙄𝙑𝙀𝙍𝙏𝙄𝙍 🎈 𝘾𝙊𝙉 𝙎𝙐𝙎 𝙈𝙐𝙇𝙏𝙄𝙋𝙇𝙀𝙎 𝙁𝙐𝙉𝘾𝙄𝙊𝙉𝙀𝙎, 𝘿𝙄𝙎𝙁𝙍𝙐𝙏𝘼 𝘿𝙀 𝙂𝘼𝙏𝘼𝘽𝙊𝙏!!! 😸\n\n💖 𝙂𝘼𝙏𝘼𝘽𝙊𝙏 𝙁𝙐𝙀 𝙄𝙉𝙑𝙄𝙏𝘼𝘿𝘼 𝙋𝙊𝙍:\n@${user}`} -const smsJoin1 = (usedPrefix, command) => { return lenguajeGB['smsAvisoMG']() + `*INGRESE EL ENLACE DE UN GRUPO*\n*EJEMPLO:*\n*${usedPrefix + command}* ${nna}`} -const smsJoin2 = () => { return lenguajeGB['smsAvisoEG']() + `${packname}\n*SE HA UNIDO AL GRUPO ✅*`} - -//propietario(a).js -const smsBCMensaje = (usedPrefix, command) => { return `*Menanggapi pesan atau menulis pesan yang digunakan ${usedPrefix + command}*`} -const smsBCMensaje2 = () => { return `*Menanggapi pesan atau menulis pesan yang digunakan...*`} -const smsBCMensaje3 = (totalPri, time) => { return `✅ *Mengirim pesan resmi, tunggu sebentar ${totalPri} Pesan itu dikirim ke obrolan *\n\n*Waktu Pengiriman Total Pribadi : ${time}*\n${totalPri >= 3000 ? '\nMereka tidak dikirim ke semua obrolan untuk menghindari saturasi*' : ''}`} - -//propietario(a.js -const smsPropban1 = (usedPrefix, command, bot) => { return `${lenguajeGB['smsAvisoMG']()}*TAG SESEORANG ATAU BALAS PESAN PENGGUNA ATAU TULIS NOMOR YANG INGIN ANDA BALAS DARI PERINTAH*\n\n*CONTOH:*\n*${usedPrefix + command} @${bot}*`} -const smsPropban2 = (bot) => { return `${lenguajeGB['smsAvisoFG']()}*@${bot} TIDAK DAPAT DILARANG DENGAN PERINTAH INI* 😹`} -const smsPropban3 = (ownerNumber) => { return `${lenguajeGB.smsAvisoIIG()}😳 *SAYA TIDAK BISA MELARKAN PEMILIK @${ownerNumber} DARI ${packname}*`} -const smsPropban4 = (number) => { return `${lenguajeGB.smsAvisoIIG()}*TIDAK PERLU BAN LAGI @${number} YA SUDAH ADA* 😊`} -const smsPropban5 = () => { return `${lenguajeGB['smsAvisoEG']()}*PENGGUNA BERHASIL DILARANG* 🙀`} -const smsPropban6 = (number, usr) => { return `${lenguajeGB.smsAvisoAG()}*@${number} ANDA DILARANG OLEH @${usr} ANDA TIDAK DAPAT MENGGUNAKAN PERINTAH HINGGA SESEORANG MEMBALIKKAN BAN* 😿`} -const smsPropban7 = (usedPrefix, command, number) => { return `${lenguajeGB['smsAvisoFG']()}*KESALAHAN MUNCUL, MUNGKIN PENGGUNA TIDAK DALAM DATABASE SAYA MENCOBA MENULIS ${usedPrefix + command} ${number}*\n\`\`\`JIKA KESALAHAN TERUS LANGSUNG LAPORKAN PERINTAH INI\`\`\``} - -//propietario(a).js -const smsBCbot1 = () => { return `✅ *Pesan :*`} -const smsBCbot2 = () => { return `Pribadi`} -const smsBCbot3 = () => { return `Gugus`} -const smsBCbot4 = () => { return `Total`} -const smsBCbot5 = () => { return `Total waktu pengiriman :`} -const smsBCbot6 = () => { return `Mereka tidak dikirim ke semua obrolan untuk menghindari saturasi`} -const smsBCbot7 = () => { return `✅ *Pernyataan resmi* ✅`} - -//propietario(a).js -const smsChatGP1 = () => { return "*Mengirim pesan, tunggu sebentar...*"} -const smsChatGP2 = (readMS, dia, mes, año, fecha, tiempo) => { return `✅ *pernyataan resmi* ✅\n${readMS}\n\`\`\`${dia}, ${mes} ${año}\`\`\`\n\`\`\`${fecha} || ${tiempo}\`\`\`\n\n`} -const smsChatGP3 = (totalGP) => { return `✅ *Pesan itu dikirim ke ${totalGP} grup*`} - -//jadibot-serbot.js -const smsIniJadi = () => { return `*⊹ • • • ミ★ ${global.packname} ミ★• • • ⊹*\n\n*ღ Versi dari ${global.packname} » _${global.vs}_*\n*ღ Versi JadiBot » _${global.vsJB}_*\n\n🟢 *_FUNGSI MENJADI SUB BOT_* 🟢\n\n*➡️ Dengan ponsel atau PC lain, pindai QR ini untuk menjadi Sub Bot*\n\n*1️⃣ Pergi ke tiga titik di sudut kanan atas*\n*2️⃣ Buka opsi Perangkat yang Dipasangkan*\n*3️⃣ Pindai kode QR ini untuk masuk*\n\n📢 *¡Kode QR ini kedaluwarsa dalam 45 detik!*`} -const smsSoloOwnerJB = () => { return `${lenguajeGB['smsAvisoAG']()}*PERINTAH INI DINONAKTIFKAN OLEH PEMILIK SAYA*`} -const smsJBPrincipal = () => { return `${lenguajeGB['smsAvisoAG']()}🔵 *UNTUK JADI SUB BOT MASUK KE NOMOR UTAMA*\n*ღ Masukkan tautan berikut:*\n`} -const smsJBConexion = () => { return `${lenguajeGB['smsAvisoFG']()}🟡 *KONEKSI TELAH DITUTUP DENGAN CARA YANG TIDAK TERDUGA, KAMI AKAN MENCOBA MENGHUBUNGKAN KEMBALI...*`} -const smsJBConexionClose = () => { return `${lenguajeGB['smsAvisoFG']()}🔴 *KONEKSI TELAH DITUTUP, ANDA HARUS MENGHUBUNGKAN SECARA MANUAL MENGGUNAKAN #jadibot PERINTAH DAN PINDAI ULANG KODE QR BARU*`} -const smsJBConexionTrue = () => { return `${lenguajeGB['smsAvisoEG']()}🟢 *KONEKSI SUKSES!!!*`} -const smsJBConexionTrue2 = () => { return `${lenguajeGB['smsAvisoEG']()}🟢 *KONEKSI SUKSES!!! ANDA DAPAT MENGHUBUNGKAN MENGGUNAKAN:*`} -const smsJBCargando = () => { return `${lenguajeGB['smsAvisoIIG']()}⚪ *TERHUBUNG!! SILAKAN TUNGGU PESAN sedang DIMUAT...*\n\n♻️ *PILIHAN YANG TERSEDIA:*\n*» #stop _(Hentikan Fitur Sub Bot)_*\n*» #deletesesion _(Hapus semua jejak Sub Bot)_*\n*» #jadibot _(Dapatkan kode QR baru untuk menjadi Sub Bot)_*`} -const smsJBInfo1 = () => { return `💖 *LINK BERMANFAAT*`} -const smsJBInfo2 = () => { return `💖 *Fungsinya stabil, jika menimbulkan ketidaknyamanan Hubungi surat: centergatabot@gmail.com*\n💝 *Anda dapat memberikan sumbangan sukarela melalui PayPal: ${global.paypal}*\n\n*Terima kasih banyak atas dukungan ${global.packname}*`} - -//jadibot-deleteSesion.js -const smsJBDel = () => { return `${lenguajeGB['smsAvisoAG']()}*GUNAKAN PERINTAH INI KE BOT UTAMA*`} -const smsJBAdios = () => { return `${lenguajeGB['smsAvisoEG']()}*AKU AKAN MERINDUKANMU ${global.packname} SELAMAT TINGGAL!! 🥹*`} -const smsJBCerrarS = () => { return `${lenguajeGB['smsAvisoEG']()}*ANDA TELAH KELUAR DAN MENGHAPUS SEMUA JEJAK*`} -const smsJBErr = () => { return `*ANDA TELAH LOG OUT SEBAGAI SUB BOT* ♻️`} - -//comandos+18-adult.js -const smsContAdult = () => { return `${lenguajeGB['smsAvisoAG']()}*PERINTAH 🔞 MEREKA CACAT, JIKA ANDA ADALAH CREATOR SAYA GUNAKAN #on modohorny*`} - -//comandos+18-menu.js -const smsList1 = () => { return `Tidak punya cukup `} -const smsList2 = () => { return `\nKlik di sini untuk membeli `} -const smsList3 = () => { return `Konten yang tersedia 😸`} -const smsList4 = () => { return `Konten tidak tersedia 😿\nKlik di sini untuk membeli `} -const smsList5 = () => { return `*Pilih opsi*\n*dari daftar untuk melihat*\n*isi* 😋`} -const smsList6 = () => { return `👀 LIHAT DAFTAR 👀`} - -//descargas-consejos.js -const smsConj = () => { return `🍃 DEWAN BARU`} -const smsFras = () => { return `🍃 KALIMAT BARU`} - -//info-contacto.js -const smsContacto1 = () => { return ' Saya ' + packname + ' Bot WhatsApp yang didedikasikan untuk membantu apa pun yang Anda minta 😎'} -const smsContacto2 = () => { return 'Saya Pemilik ' + packname + ' jika Anda memiliki pertanyaan, Anda dapat memberi tahu saya ✌️'} -const smsContacto3 = () => { return '👑 pemilik'} -const smsContacto4 = () => { return 'Kontak Resmi GataBot 🐈'} -const smsContacto5 = () => { return '🐣 Apa yang bisa saya bantu?'} -const smsContacto6 = () => { return 'Saya tidak punya surat 🙏'} -const smsContacto7 = () => { return '🌎 Global'} -const smsContacto8 = () => { return 'Akun ini Bot 👀'} - - -export default { lenguaje, smsConexioncerrar, smsConexionperdida, smsConexionreem, smsConexionreinicio, smsConexiontiem, smsConexiondescon, smsAvisoRG, smsJoin, smsJoin1, smsJoin2, smsPropban1, smsPropban2, smsPropban3, smsPropban4, smsPropban5, smsPropban6, smsPropban7, smsLisA, smsLisB, smsLisC, smsLisD, smsLisE, smsChatGP1, smsChatGP2, smsChatGP3, smsBCMensaje, smsBCMensaje2, smsBCMensaje3, smsAvisoAG, smsAvisoIIG, smsBCbot1, smsBCbot2, smsBCbot3, smsBCbot4, smsBCbot5, smsBCbot6, smsBCbot7, smsAvisoFG, smsAvisoMG, smsAvisoEEG, smsAvisoEG, smsRowner, smsOwner, smsMods, smsPremium, smsGroup, smsPrivate, smsAdmin, smsBotAdmin, smsUnreg, smsRestrict, smsTime, smsUptime, smsVersion, smsTotalUsers, smsMode, smsModePublic, smsModePrivate, smsBanChats, smsBanUsers, smsPareja, smsResultPareja, smsSaludo, smsDia, smsTarde, smsTarde2, smsNoche, smsListaMenu, smsLista1, smsLista2, smsLista3, smsLista4, smsLista5, smsLista6, smsLista7, smsLista8, smsLista9, smsLista10, smsLista11, smsLista12, smsLista13, smsLista14, smsLista15, smsLista16, smsLista17, smsLista18, smsLista19, smsLista20, smsLista21, smsLista22, smsLista23, smsLista24, smsLista25, smsLista26, smsLista27, smsLista28, smsLista29, smsLista30, smsLista31, smsLista32, smsLista33, smsLista34, smsLista35, smsWelcome, smsBye, smsSpromote, smsSdemote, smsSdesc, smsSsubject, smsSicon, smsSrevoke, smsConexion, smsClearTmp, smsCargando, smspurgeSession, smspurgeOldFiles, smspurgeSessionSB1, smspurgeSessionSB2, smspurgeSessionSB3, smspurgeOldFiles1, smspurgeOldFiles2, smspurgeOldFiles3, smspurgeOldFiles4, smsTextoYT, smsApagar, smsEncender, smsEnlaceTik, smsEnlaceYt, smsEnlaceTel, smsEnlaceFb, smsEnlaceIg, smsEnlaceTw, smsAllAdmin, smsSoloOwner, smsCont1, smsCont2, smsCont3, smsCont4, smsCont5, smsCont6, smsCont7, smsCont8, smsCont9, smsCont10, smsCont11, smsCont12, smsCont13, smsCont14, smsCont15, smsCont16, smsCont17, smsCont18, smsCont19, smsCont20, smsCont21, smsInt1, smsInt2, smsAdwa, smsEnlaceWat, smsEnlaceWatt, smsNoSpam, smsNoSpam2, smsConMenu, smsMalError, smsMalError2, smsMalError3, smsToxic1, smsToxic2, smsToxic3, smsToxic4, smsToxic5, smsToxic6, smsToxic7, eExp, eDiamante, eDiamantePlus, eToken, eEsmeralda, eJoya, eMagia, eOro, eGataCoins, eGataTickers, eEnergia, ePocion, eAgua, eBasura, eMadera, eRoca, ePiedra, eCuerda, eHierro, eCarbon, eBotella, eLata, eCarton, eEletric, eBarraOro, eOroComun, eZorroG, eBasuraG, eLoboG, eMaderaG, eEspada, eCarnada, eBillete, ePinata, eGancho, eCanaPescar, eCComun, ePComun, eCMistica, eCMascota, eCJardineria, eClegendaria, eUva, eManzana, eNaranja, eMango, ePlatano, eSUva, eSManzana, eSNaranja, eSMango, eSPlatano, eCentauro, eAve, eGato, eDragon, eZorro, eCaballo, eFenix, eLobo, ePerro, eAMascots, eCCentauro, eCAve, eCMagica, eCDragon, eACaballo, eCFenix, smsWel1, smsWel2, smsParaAdmins, smsDete1, smsDete2, smsANivel1, smsANivel2, smsParaAdYOw, smsParaOw, smsRestri1, smsRestri2, smsLlamar1, smsLlamar2, smsModP1, smsModP2, smsModAd1, smsModAd2, smsLect1, smsLect2, smsTempo1, smsTempo2, smsStik1, smsStik2, smsStickA1, smsStickA2, smsReacc1, smsReacc2, smsAudi1, smsAudi2, smsModHor1, smsModHor2, smsAntitoc1, smsAntitoc2, smsModOb1, smsModOb2, -smsAntiEli1, smsAntiEli2, smsAntiInt1, smsAntiInt2, smsAntiE1, smsAntiE2, smsAntiEE1, smsAntiEE2, smsAntiTT1, smsAntiTT2, smsAntiYT1, smsAntiYT2, smsAntiTEL1, smsAntiTEL2, smsAntiFB1, smsAntiFB2, smsAntiIG1, smsAntiIG2, smsAntiTW1, smsAntiTW2, smsSOLOP1, smsSOLOP2, smsSOLOG1, smsSOLOG2, smsNoGg, smsConfi1, smsConfi2, smsConfi3, smsConfi4, smsConfi5, smsConfi6, smsConfi7, smsConfi8, smsConfi9, smsConfi10, smsMens1, smsMens2, smsMens3, smsMens4, smsMens5, smsMensError1, smsMensError2, smsAntiView, smsAutoLv1, smsAutoLv2, smsAutoLv3, smsAutoLv4, smsAutoLv5, smsAutoLv6, smsAutoLv7, smsAntiSp1, smsAntiSp2, smsAutoStik, smsBottem1, smsBottem2, smsBottem3, smsPremI, -smsAfkM1, smsAfkM2, smsAfkM3, smsAfkM4, smsAfkM5, smsAfkM6, smsAfkM1A, smsAfkM1B, smsChatAn1, smsChatAn2, smsChatAn3, smsChatAn4, smsChatAn5, smsChatAn6, smsChatAn7, smsChatAn8, smsChatAn9, smsChatAn10, smsChatAn11, smsChatAn12, smsChatAn13, smsBotonM1, smsBotonM2, smsBotonM3, smsBotonM4, smsBotonM5, smsBotonM6, smsBotonM7, smsTex1, smsTex2, smsTex3, smsTex4, smsTex5, smsTex6, smsTex7, smsTex8, smsTex9, smsTex10, smsTex11, smsTex12, smsTex13, smsTex14, smsTex15, smsTex16, smsTex17, smsTex18, smsTex19, smsTex20, smsTex21, smsTex22, smsTex23, smsMalused, smsGrupoTime1, smsGrupoTime2, smsGrupoTime3, smsGrupoTime4, smsGrupoTime5, smsGrupoTime6, smsGrupoTime7, smsGrupoTime8, smsGrupoTime9, smsGrupoTime10, smsGrupoTime11, smsGrupoTime12, smsGrupoTime13, smsAddB1, smsAddB2, smsAddB3, smsAddB4, smsAddB5, smsAddB6, smsAdveu1, smsMalused2, smsAdveu2, smsAdveu3, smsAdveu4, smsAdveu5, smsAdveu6, smsAdveu7, smsAdveu8, smsAdveu9, smsMalused3, smsAdveu10, smsAdveu11, smsAdveu12, smsDemott, smsDemott2, smsDemott3, -smsGI1, smsGI2, smsGI3, smsGI4, smsGI5, smsGI6, smsGI7, smsGI8, smsGI9, smsGI10, smsLista22_1, smsCodigoQR, smsConexionOFF, smskick1, smskick2, smskick3, smskick4, smstagaa, -smsSetB, smsSetB2, smsSetW, smsSetW2, smsDest, smsNam1, smsNam2, smsNam3, smsRestGp, smsSig, smsSigPrem, smsCont18Porn, smsCont18Porn2, smsCont18PornP, smsCont18PornP2, -smsIniJadi, smsSoloOwnerJB, smsJBPrincipal, smsJBConexion, smsJBConexionClose, smsJBConexionTrue, smsJBConexionTrue2, smsJBCargando, smsJBInfo1, smsJBInfo2, smsJBDel, smsJBAdios, -smsJBCerrarS, smsJBErr, smsContAdult, smsList1, smsList2, smsList3, smsList4, smsList5, smsList6, smsConj, smsFras, smsContacto1, smsContacto2, smsContacto3, smsContacto4, -smsContacto5, smsContacto6, smsContacto7, smsContacto8, smsAfkQ1, smsAfkQ2, smsAfkTime, smsAfkResultTime, smsMainBot } diff --git a/lib/idiomas/ingles.js b/lib/idiomas/ingles.js deleted file mode 100644 index 2985b79b6..000000000 --- a/lib/idiomas/ingles.js +++ /dev/null @@ -1,619 +0,0 @@ -const lenguaje = () => { return 'en' } //ENGLISH - -//MESSAGE NOTICES -const smsAvisoRG = () => { return `╰⊱✅⊱ *RESULT* ⊱✅⊱╮\n\n` } -const smsAvisoAG = () => { return `╰⊱⚠️⊱ *WARNING* ⊱⚠️⊱╮\n\n` } -const smsAvisoIIG = () => { return `╰⊱❕⊱ *INFORMATION* ⊱❕⊱╮\n\n` } -const smsAvisoFG = () => { return `╰⊱❌⊱ *ERROR* ⊱❌⊱╮\n\n` } -const smsAvisoMG = () => { return `╰⊱❗️⊱ *MISUSED ACTION* ⊱❗️⊱╮\n\n` } -const smsAvisoEEG = () => { return `╰⊱📩⊱ *REPORT* ⊱📩⊱╮\n\n` } -const smsAvisoEG = () => { return `╰⊱💚⊱ *SUCCESS* ⊱💚⊱╮\n\n` } - - -//PARAMETERS IN COMMANDS -const smsRowner = () => { return `\`\`\`¡¡THIS COMMAND ONLY ME AS A BOT CREATOR CAN USE IT!!\`\`\`` }//BOT NUMBER -const smsOwner = () => { return `\`\`\`¡¡THIS COMMAND ONLY MY CREATOR CAN USE IT!!\`\`\`` }//OWNER -const smsMods = () => { return `\`\`\`¡¡THIS COMMAND ONLY MODERATORS AND MY CREATOR CAN USE IT!!\`\`\`` }//MODERATORS -const smsPremium = () => { return `\`\`\`¡¡THIS COMMAND IS ONLY AVAILABLE TO PREMIUM USERS AND MY CREATOR!! TO GET PREMIUM BUY A PASS USING #pass premium\`\`\`` }//PREMIUM USERS -const smsGroup = () => { return `\`\`\`¡¡THIS COMMAND CAN ONLY BE USED IN GROUPS!!\`\`\`` }//FOR GROUPS -const smsPrivate = () => { return `\`\`\`¡¡THIS COMMAND CAN ONLY BE USED TO THE PRIVATE!!\`\`\`` }//TO THE PRIVATE -const smsAdmin = () => { return `\`\`\`¡¡THIS COMMAND IS ONLY FOR ADMINS!!\`\`\`` }//ADMINS -const smsBotAdmin = () => { return `\`\`\`¡¡I NEED TO BE ADMIN SO YOU CAN USE THIS COMMAND!!\`\`\`` }//BOT WITH ADMIN -const smsUnreg = () => { return `\`\`\`¡¡YOU NEED TO BE REGISTERED TO USE THIS COMMAND, WRITE #verify TO REGISTER!!\`\`\`` }//VERIFY -const smsRestrict = () => { return `\`\`\`¡¡THIS COMMAND IS RESTRICTED BY MY CREATOR!!\`\`\`` }//RESTRICT COMMAND - - -//LIST MENU -const smsTime = () => { return `Current time`} -const smsUptime = () => { return `Running During`} -const smsVersion = () => { return `Version of ${global.packname}`} -const smsTotalUsers = () => { return `Total Users`} -const smsMode = () => { return `It's in mode`} -const smsModePublic = () => { return `PUBLIC`} -const smsModePrivate = () => { return `PRIVATE`} -const smsBanChats = () => { return `Banned Chats`} -const smsBanUsers = () => { return `Banned Users`} -const smsPareja = () => { return `Couple`} -const smsResultPareja = () => { return `Single`} -const smsSaludo = () => { return `👋 HELLO! WELCOME 👋`} -const smsDia = () => { return `🌇 Good Morning ⛅`} -const smsTarde = () => { return `🏙️ Good Evening 🌤️`} -const smsTarde2 = () => { return `🌆 Good Evening 🌥️`} -const smsNoche = () => { return `🌃 Good Night 💫`} -const smsListaMenu = () => { return `⊹ MENU LIST ⊹`} -const smsLista1 = () => { return `🌟 GATABOT INFORMATION 🌟`} -const smsLista2 = () => { return `💖 CREATOR 💖`} -const smsLista3 = () => { return `🎁 DONATE : SUPPORT 🎁`} -const smsLista4 = () => { return `🚀 SPEED 🚀`} -const smsLista5 = () => { return `💡 MENU INFORMATION 💡`} -const smsLista6 = () => { return `🌀 FULL MENU 🌀`} -const smsLista7 = () => { return `🐈 INSTALL GATABOT 🐈`} -const smsLista8 = () => { return `🍄 BE SUB BOT 🍄`} -const smsLista9 = () => { return `📄 TERMS, CONDITIONS AND PRIVACY 📄`} -const smsLista10 = () => { return `🌟 ADVENTURE AND TOP 🌟`} -const smsLista11 = () => { return `🏆 WORLD TOP 🏆`} -const smsLista12 = () => { return `🏅 PREMIUM USERS 🏅`} -const smsLista13 = () => { return `🎟️ BE A PREMIUM USER 🎟️`} -const smsLista14 = () => { return `🛣️ MISSIONS 🛣️`} -const smsLista15 = () => { return `⚗️ RPG MENU ⚗️`} -const smsLista16 = () => { return `🏪 SHOP PURCHASE 🏪`} -const smsLista17 = () => { return `🎒 INVENTORY 🎒`} -const smsLista18 = () => { return `🌟 MULTIMEDIA 🌟`} -const smsLista19 = () => { return `📲 DOWNLOAD MENU 📲`} -const smsLista20 = () => { return `🔍 SEARCH MENU 🔍`} -const smsLista21 = () => { return `🛰️ CONVERTER MENU 🛰️`} -const smsLista22 = () => { return `🧰 AUDIO MODIFIER MENU 🧰`} -const smsLista22_1 = () => { return `🔩 TOOLS MENU 🔩`} -const smsLista23 = () => { return `🌟 FUN 🌟`} -const smsLista24 = () => { return `🎡 DYNAMIC GAMES 🎡`} -const smsLista25 = () => { return `🔊 AUDIO MENU 🔊`} -const smsLista26 = () => { return `🎈 STICKERS AND FILTERS MENU 🎈`} -const smsLista27 = () => { return `✨ EFFECTS AND LOGOS MENU ✨`} -const smsLista28 = () => { return `🌅 LOGOS MENU 2 🌅`} -const smsLista29 = () => { return `⛩️ RANDOM MEMES AND ANIME ⛩️`} -const smsLista30 = () => { return `🔞 COMMANDS FOR ADULTS +18 🔞`} -const smsLista31 = () => { return `🌟 SETTINGS 🌟`} -const smsLista32 = () => { return `🔰 MENU FOR GROUPS 🔰`} -const smsLista33 = () => { return `📑 TYPES OF LISTS 📑`} -const smsLista34 = () => { return `⚙️ CONFIGURATION CENTER ⚙️`} -const smsLista35 = () => { return `💎 OWNER MENU 💎`} - -//main.js -const smsWelcome = () => { return `*╭┈⊰* @subject *⊰┈ ✦*\n*┊✨ WELCOME!!*\n┊💖 @user\n┊📄 *READ THE GROUP DESCRIPTION*\n*╰┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ ✦*\n${String.fromCharCode(8206).repeat(850)}\n@desc`} -const smsBye = () => { return '*╭┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈⊰*\n┊ @user\n┊ *HE LEFT THE GROUP, COME BACK SOON* 😎\n*╰┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈⊰*'} -const smsSpromote = () => { return '*@user YOU ARE NOW ADMIN IN THIS GROUP!!*'} -const smsSdemote = () => { return '*@user NO LONGER ADMIN IN THIS GROUP!!*'} -const smsSdesc = () => { return '*THE NEW DESCRIPTION OF THE GROUP IS:*\n\n@desc'} -const smsSsubject = () => { return '*THE NEW NAME OF THE GROUP IS:*\n\n@subject'} -const smsSicon = () => { return '*THE PHOTO OF THIS GROUP WAS CHANGED!!*'} -const smsSrevoke = () => { return '*NOW THIS IS THE NEW LINK OF THIS GROUP!!*\n\n*@revoke*'} -const smsConexion = () => { return `\n𓃠 ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈✦ 🟢 CONNECTION ✦┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ 𓃠\n│\n│★ SUCCESSFUL CONNECTION WITH WHATSAPP 😺\n│\n𓃠 ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈✦ ✅ ✦┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ 𓃠`} -const smsCargando = () => { return `😸 LOADING...\n`} -const smsCodigoQR = () => { return `\n✅ SCAN THE QR CODE EXPIRES IN 45 SECONDS ✅`} -const smsConexionOFF = () => { return `\n⚠️ NO CONNECTION, DELETE THE FOLDER ${global.authFile} AND SCAN THE QR CODE ⚠️`} -const smsClearTmp = () => { return `\n╭» 🟢 MULTIMEDIA 🟢\n│→ FILES FROM THE TMP FOLDER DELETED\n╰― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― 🗑️♻️`} -const smspurgeSession = () => { return `\n╭» 🔵 ${global.authFile} 🔵\n│→ NON-ESSENTIAL SESSIONS ELIMINATED\n╰― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― 🗑️♻️`} -const smspurgeOldFiles = () => { return `\n╭» 🟠 FILES 🟠\n│→ RESIDUAL FILES DELETED\n╰― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― 🗑️♻️`} -const smspurgeSessionSB1 = () => { return `\n╭» 🟡 GataJadiBot 🟡\n│→ NOTHING TO DELETE \n╰― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― 🗑️♻️`} -const smspurgeSessionSB2 = () => { return `\n╭» ⚪ GataJadiBot ⚪\n│→ NON-ESSENTIAL FILES DELETED\n╰― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― 🗑️♻️`} -const smspurgeSessionSB3 = () => { return `\n╭» 🔴 GataJadiBot 🔴\n│→ AN ERROR OCCURRED\n╰― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― 🗑️♻️\n`} -const smspurgeOldFiles1 = () => { return `\n╭» 🟣 ARCHIVE 🟣\n│→`} -const smspurgeOldFiles2 = () => { return `DELETE SUCCESSFULLY\n╰― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― 🗑️♻️`} -const smspurgeOldFiles3 = () => { return `\n╭» 🔴 ARCHIVE 🔴\n│→`} -const smspurgeOldFiles4 = () => { return `FAILED TO DELETE\n╰― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― 🗑️❌\n`} -const smsConexioncerrar = () => { return `\n╭┄┄┄┄┄┄┄┄┄┄┄┄┄┄ • • • ┄┄┄┄┄┄┄┄┄┄┄┄┄┄ ☹\n┆ ⚠️ CONNECTION CLOSED, RECONNECTING....\n╰┄┄┄┄┄┄┄┄┄┄┄┄┄┄ • • • ┄┄┄┄┄┄┄┄┄┄┄┄┄┄ ☹`} -const smsConexionperdida = () => { return `\n╭┄┄┄┄┄┄┄┄┄┄┄┄┄┄ • • • ┄┄┄┄┄┄┄┄┄┄┄┄┄┄ ☂\n┆ ⚠️ LOST CONNECTION WITH THE SERVER, RECONNECTING....\n╰┄┄┄┄┄┄┄┄┄┄┄┄┄┄ • • • ┄┄┄┄┄┄┄┄┄┄┄┄┄┄ ☂`} -const smsConexionreem = () => { return `\n╭┄┄┄┄┄┄┄┄┄┄┄┄┄┄ • • • ┄┄┄┄┄┄┄┄┄┄┄┄┄┄ ✗\n┆ ⚠️ CONNECTION REPLACED, ANOTHER NEW SESSION HAS BEEN OPENED, PLEASE CLOSE THE CURRENT SESSION FIRST.\n╰┄┄┄┄┄┄┄┄┄┄┄┄┄┄ • • • ┄┄┄┄┄┄┄┄┄┄┄┄┄┄ ✗`} -const smsConexionreinicio = () => { return `\n╭┄┄┄┄┄┄┄┄┄┄┄┄┄┄ • • • ┄┄┄┄┄┄┄┄┄┄┄┄┄┄ ✓\n┆ ❇️ CONNECTING TO THE SERVER...\n╰┄┄┄┄┄┄┄┄┄┄┄┄┄┄ • • • ┄┄┄┄┄┄┄┄┄┄┄┄┄┄ ✓`} -const smsConexiontiem = () => { return `\n╭┄┄┄┄┄┄┄┄┄┄┄┄┄┄ • • • ┄┄┄┄┄┄┄┄┄┄┄┄┄┄ ▸\n┆ ⌛ CONNECTION TIMED OUT, RECONNECTING....\n╰┄┄┄┄┄┄┄┄┄┄┄┄┄┄ • • • ┄┄┄┄┄┄┄┄┄┄┄┄┄┄ ▸`} -const smsConexiondescon = (reason, connection) => { return `\n⚠️❗ UNKNOWN DISCONNECTION REASON: ${reason || ''} >> ${connection || ''}`} -const smsMainBot = () => { return "'main.js' WAS SUCCESSFULLY UPDATED"} - -//_allantilink.js -const smsTextoYT = () => { return '😻 Super GataBot-MD - WhatsApp '} -const smsApagar = () => { return '❌ DEACTIVATE'} -const smsEncender = () => { return '✅ ACTIVATE'} -const smsEnlaceTik = () => { return `*A BANNED TIKTOK LINK WAS DETECTED IN THIS GROUP*\n\n*I PROCEED TO DELETE YOU*`} -const smsEnlaceYt = () => { return `*A BANNED YOUTUBE LINK WAS DETECTED IN THIS GROUP*\n\n*I PROCEED TO DELETE YOU*`} -const smsEnlaceTel = () => { return `*A BANNED TELEGRAM LINK WAS DETECTED IN THIS GROUP*\n\n*I PROCEED TO DELETE YOU*`} -const smsEnlaceFb = () => { return `*A BANNED FACEBOOK LINK WAS DETECTED IN THIS GROUP*\n\n*I PROCEED TO DELETE YOU*`} -const smsEnlaceIg = () => { return `*A BANNED INSTAGRAM LINK WAS DETECTED IN THIS GROUP*\n\n*I PROCEED TO DELETE YOU*`} -const smsEnlaceTw = () => { return `*A BANNED TWITTER LINK WAS DETECTED IN THIS GROUP*\n\n*I PROCEED TO DELETE YOU*`} -const smsAllAdmin = () => { return `*I NEED TO BE ADMIN TO BE ABLE TO REMOVE INTRUDERS*`} -const smsSoloOwner = () => { return `*MY CREATOR MUST ACTIVATE THE FUNCTION*\n*#on restrict*`} - -//handler.js -const smsCont1 = () => { return `*🔴 COMMAND FAILING 🔴*`} -const smsCont2 = () => { return `*⚠️ PLUGIN:*`} -const smsCont3 = () => { return `*⚠️ USER:*`} -const smsCont4 = () => { return `*⚠️ COMMAND:*`} -const smsCont5 = () => { return `*⚠️ ERROR:*`} -const smsCont6 = () => { return `*❗ REPORT THIS MESSAGE USING THE COMMAND #reporte IN ORDER TO SOLVE IT*`} -const smsCont7 = () => { return `${global.lenguajeGB['smsAvisoAG']()}*DOESN'T HAVE DIAMONDS!! 💎 YOU CAN GO TO THE STORE WITH THE COMMAND*`} -const smsCont8 = () => { return ` *DIAMOND 💎 USED*`} -const smsCont9 = () => { return `${global.lenguajeGB['smsAvisoAG']()}*NEED THE LEVEL ➡️*`} -const smsCont10 = () => { return `*TO USE THIS COMMAND. YOUR CURRENT LEVEL IS ➡️*`} -const smsCont11 = () => { return `*UPDATE WITH COMMAND*`} -const smsCont12 = () => { return `A GREAT GROUP!! 😼`} -const smsCont13 = () => { return `SOMEONE JOINED!! 🥳`} -const smsCont14 = () => { return `SOMEONE LEFT!! 🧐`} -const smsCont15 = () => { return `*HELLO*`} -const smsCont16 = () => { return `*THE VIDEO CALLS* 📲`} -const smsCont17 = () => { return `*THE CALLS* 📞`} -const smsCont18 = () => { return `*THEY ARE NOT AUTHORIZED SO I AM GOING TO BLOCK YOU*\n\n*IF YOU CALLED BY ACCIDENT CONTACT THE PERSON CREATOR OF THIS BOT*`} -const smsCont19 = () => { return `ANTI DELETE`} -const smsCont20 = () => { return `*┃✤ Name:*`} -const smsCont21 = () => { return `*┃✤ Sending the deleted message...*`} - -//_anti-internacional.js -const smsInt1 = () => { return `*THIS NUMBER*`} -const smsInt2 = () => { return `*NOT ALLOWED IN THIS GROUP!!*`} - -//_antilink.js -const smsAdwa = () => { return `${global.lenguajeGB['smsAvisoEG']()}*AS YOU ARE ADMIN IN THIS GROUP YOU WILL NOT BE REMOVED*`} -const smsEnlaceWat = () => { return `${lenguajeGB['smsAvisoAG']()}*A BANNED WHATSAPP LINK WAS DETECTED IN THIS GROUP*\n\n*I PROCEED TO DELETE YOU*`} - - -//_antilink2.js -const smsEnlaceWatt = () => { return `${lenguajeGB['smsAvisoAG']()}A FORBIDDEN LINK CONTAINING HTTPS WAS DETECTED IN THIS GROUP\n\nI PROCEED TO DELETE YOU`} - -//_antispam.js -const smsNoSpam = () => { return `🤨 DO NOT SPAM, YOU WILL NOT BE ABLE TO USE ${global.packname} FOR ${60000 / 1000 - 59} MINUTE`} - -//_antispam_.js -const smsNoSpam2 = () => { return `WAS UNBANNED AFTER ${60000 / 1000 - 59} MINUTE. PLEASE DO NOT SPAM!!`} - -//Texto -const smsConMenu = () => { return `☘️ MENU`} - -//Error -const smsMalError = () => { return `${lenguajeGB['smsAvisoFG']()}\`\`\`AN UNEXPECTED ERROR HAS OCCURRED.\`\`\``} -const smsMalError2 = () => { return `${lenguajeGB['smsAvisoFG']()}\`\`\`AN INCONVENIENCE HAS ARISEN. TRY AGAIN.\`\`\``} -const smsMalError3 = () => { return `${lenguajeGB['smsAvisoFG']()}\`\`\`SOMETHING WENT WRONG, REPORT THIS COMMAND USING:\`\`\`\n`} - -//_antitoxic.js -const smsToxic1 = () => { return `NOO!!! 🤬 SAY THIS WORD`} -const smsToxic2 = () => { return `IT IS FORBIDDEN DO NOT BE TOXIC`} -const smsToxic3 = () => { return `*WARNING*\n⚠️`} -const smsToxic4 = () => { return `😭 I'M SORRY`} -const smsToxic5 = () => { return `☢️ DISABLE ANTITOXIC`} -const smsToxic6 = () => { return `I WARNED YOU SEVERAL TIMES!!`} -const smsToxic7 = () => { return `YOU PASSED ALL 4 WARNINGS NOW YOU WILL BE ELIMINATED 🙄`} - -//Tienda -const eExp = () => { return '⚡ Experience' } -const eDiamante = () => { return '💎 Diamond' } -const eDiamantePlus = () => { return '💎+ Diamond+' } -const eToken = () => { return '🪙 Token' } -const eEsmeralda = () => { return '💚 Emerald' } -const eJoya = () => { return '♦️ Jewel' } -const eMagia = () => { return '🌀 Magic' } -const eOro = () => { return '👑 Gold' } -const eGataCoins = () => { return '🐱 GataCoins' } -const eGataTickers = () => { return '🎫 Gata Tickers' } -const eEnergia = () => { return '✨ Energy' } - -const ePocion = () => { return '🥤 Potion' } -const eAgua = () => { return '💧 Water' } -const eBasura = () => { return '🗑 Trash' } -const eMadera = () => { return '🪵 Wood' } -const eRoca = () => { return '🪨 Rock' } -const ePiedra = () => { return '🥌 Stone' } -const eCuerda = () => { return '🕸️ String' } -const eHierro = () => { return '⛓️ Iron' } -const eCarbon = () => { return '⚱️ Coal' } -const eBotella = () => { return '🍶 Bottle' } -const eLata = () => { return '🥫 Can' } -const eCarton = () => { return '🪧 Paperboard' } - -const eEletric = () => { return '💡 Electricity' } -const eBarraOro = () => { return '〽️ Gold bar' } -const eOroComun = () => { return '🧭 Common Gold' } -const eZorroG = () => { return '🦊🌫️ Big Fox' } -const eBasuraG = () => { return '🗑🌫️ Super Trash' } -const eLoboG = () => { return '🐺🌫️ Super Wolf' } -const eMaderaG = () => { return '🛷🌫️ Super Wood' } -const eEspada = () => { return '⚔️ Sword' } -const eCarnada = () => { return '🪱 Bait' } -const eBillete = () => { return '💵 Banknotes' } -const ePinata = () => { return '🪅 Pinata' } -const eGancho = () => { return '🪝 Hook' } -const eCanaPescar = () => { return '🎣 Fishing Rod' } - -const eCComun = () => { return '📦 Common Box' } -const ePComun = () => { return '🥡 Uncommon Box' } -const eCMistica = () => { return '🗳️ Mythic Box' } -const eCMascota = () => { return '📫 Pet Box' } -const eCJardineria = () => { return '💐 Gardening Box' } -const eClegendaria = () => { return '🎁 Legendary Box' } - -const eUva = () => { return '🍇 Grape' } -const eManzana = () => { return '🍎 Apple' } -const eNaranja = () => { return '🍊 Orange' } -const eMango = () => { return '🥭 Mango' } -const ePlatano = () => { return '🍌 Banana' } - -const eSUva = () => { return '🌾🍇 Grape seeds' } -const eSManzana = () => { return '🌾🍎 Apple seeds' } -const eSNaranja = () => { return '🌾🍊 Orange seeds' } -const eSMango = () => { return '🌾🥭 Mango Seeds' } -const eSPlatano = () => { return '🌾🍌 Banana seeds' } - -const eCentauro = () => { return '🐐 Centaur' } -const eAve = () => { return '🦅 Bird' } -const eGato = () => { return '🐈 Cat' } -const eDragon = () => { return '🐉 Dragon' } -const eZorro = () => { return '🦊 Fox' } -const eCaballo = () => { return '🐎 Horse' } -const eFenix = () => { return '🕊️ Phoenix' } -const eLobo = () => { return '🐺 Wolf' } -const ePerro = () => { return '🐶 Dog' } - -const eAMascots = () => { return '🍖 Pet Food' } -const eCCentauro = () => { return '🐐🥩 Centaur Food' } -const eCAve = () => { return '🦅🥩 Bird Food' } -const eCMagica = () => { return '🌀🥩 Magic Food' } -const eCDragon = () => { return '🐉🥩 Dragon Food' } -const eACaballo = () => { return '🐎🥩 Horse Food' } -const eCFenix = () => { return '🕊️🥩 Phoenix Food' } - - -//config-on y off.js -const smsWel1 = () => { return `🎉 WELCOME`} -const smsWel2 = () => { return `Welcome Message for new Members in Groups`} -const smsDete1 = () => { return `🔔 DETECT`} -const smsDete2 = () => { return `Notices of actions within the Group`} -const smsANivel1 = () => { return `🆙 AUTO LEVEL`} -const smsANivel2 = () => { return `Level up everyone automatically; (Applies rewards for leveling up)`} -const smsRestri1 = () => { return `⛔ TO RESTRICT`} -const smsRestri2 = () => { return `Enable function to add or remove people in Groups`} -const smsLlamar1 = () => { return `🚫 ANTI CALLS`} -const smsLlamar2 = () => { return `Block people who make calls`} -const smsAntiSp1 = () => { return `🚯 ANTI SPAM`} -const smsAntiSp2 = () => { return `Ban the Use of Commands when someone performs some type of Spam`} -const smsModP1 = () => { return `🌐 PUBLIC MODE`} -const smsModP2 = () => { return `Enable function so everyone can use GataBot`} -const smsModAd1 = () => { return `🛂 ADMIN MODE`} -const smsModAd2 = () => { return `Only Admins will be able to use GataBot in Groups`} -const smsLect1 = () => { return `✅ AUTOMATIC READING`} -const smsLect2 = () => { return `Leave messages or chats as Read`} -const smsTempo1 = () => { return `🐈 TEMPORARY BOT`} -const smsTempo2 = () => { return `Function that allows temporary stay in Groups`} -const smsStik1 = () => { return `🎠 STICKERS`} -const smsStik2 = () => { return `Enable automatic sending of Stickers to everyone`} -const smsStickA1 = () => { return `🪄 AUTOMATIC STICKERS`} -const smsStickA2 = () => { return `Videos, Gifs, images, jpg or jpeg links; They will be converted into Stickers Automatically`} -const smsReacc1 = () => { return `🤡 REACTION `} -const smsReacc2 = () => { return `Enable automatic sending of Reactions to messages`} -const smsAudi1 = () => { return `🔊 AUDIOS`} -const smsAudi2 = () => { return `Enable automatic sending of Audios to everyone`} -const smsModHor1 = () => { return `🔞 HORNY MODE`} -const smsModHor2 = () => { return `Show Adult content in Chats`} -const smsAntitoc1 = () => { return `☢️ ANTI TOXIC`} -const smsAntitoc2 = () => { return `Send Warnings those people who insult`} -const smsModOb1 = () => { return `👀 OBSERVE MODE`} -const smsModOb2 = () => { return `Make Images, Gifs, and Videos Viewable for Everyone`} -const smsAntiEli1 = () => { return `🗑️ ANTI DELETE`} -const smsAntiEli2 = () => { return `All deleted messages will be forwarded to the Chat or Group`} -const smsAntiInt1 = () => { return `🌏 ANTI INTERNATIONAL`} -const smsAntiInt2 = () => { return `Eliminate International Numbers considered fake`} -const smsAntiE1 = () => { return `🔗 ANTI LINKS`} -const smsAntiE2 = () => { return `Delete People who send links from WhatsApp Groups`} -const smsAntiEE1 = () => { return `🔗 ANTI LINKS 2`} -const smsAntiEE2 = () => { return `Remove People who send links containing https`} -const smsAntiTT1 = () => { return `🔗 ANTI TIK TOK`} -const smsAntiTT2 = () => { return `Remove People Sending Links from TikTok`} -const smsAntiYT1 = () => { return `🔗 ANTI YOUTUBE`} -const smsAntiYT2 = () => { return `Remove People Sending Links from YouTube`} -const smsAntiTEL1 = () => { return `🔗 ANTI TELEGRAM`} -const smsAntiTEL2 = () => { return `Remove People who send links from Telegram`} -const smsAntiFB1 = () => { return `🔗 ANTI FACEBOOK`} -const smsAntiFB2 = () => { return `Remove People Sending Facebook Links`} -const smsAntiIG1 = () => { return `🔗 ANTI INSTAGRAM`} -const smsAntiIG2 = () => { return `Remove People Sending Instagram Links`} -const smsAntiTW1 = () => { return `🔗 ANTI TWITTER `} -const smsAntiTW2 = () => { return `Remove People Sending Twitter Links`} -const smsSOLOP1 = () => { return `⚜️ ONLY PRIVATE`} -const smsSOLOP2 = () => { return `Allow it to be used only in Private Chats`} -const smsSOLOG1 = () => { return `⚜️ ONLY GROUPS`} -const smsSOLOG2 = () => { return `Allow it to only be used in Group Chats`} -const smsConfi1 = () => { return `SETTINGS`} -const smsConfi2 = () => { return `*¡Hello!*`} -const smsConfi3 = () => { return `┃ *Select an option from the list*`} -const smsConfi4 = () => { return `┃ *To start to configure*`} -const smsConfi5 = () => { return `┃● *Configuration Notices:*`} -const smsConfi6 = () => { return `┃ ✅ ⇢ *Function Activated*`} -const smsConfi7 = () => { return `┃ ❌ ⇢ *function Disabled*`} -const smsConfi8 = () => { return `┃ ⚠️ ⇢ *This Chat is not a Group*`} -const smsConfi9 = () => { return `┃ *Recommendation: To see the configuration*\n┃ *Complete use this Group Menu*\n┃`} -const smsConfi10 = () => { return `*~ CONFIGURATION CENTER*`} -const smsParaAdmins = () => { return `FOR ADMINS AND CREATOR : GROUPS`} -const smsParaAdYOw = () => { return `FOR ADMINS AND CREATOR : CHATS`} -const smsParaOw = () => { return `FOR CREATOR : CHATS`} -const smsNoGg = () => { return ` | ⚠️`} -const smsMens1 = () => { return `COMMAND`} -const smsMens2 = () => { return `CURRENTLY`} -const smsMens3 = () => { return `IN THIS`} -const smsMens4 = () => { return `BOT`} -const smsMens5 = () => { return `CHAT`} - -//Error2 -const smsMensError1 = () => { return `❕ REPORT COMMAND ❕`} -const smsMensError2 = () => { return `The following command is failing`} - -//_antiviewonce.js -const smsAntiView = () => { return `*NOTHING CAN BE HIDDEN* 😎`} - -//_autolevelup.js -const smsAutoLv1 = () => { return `🎖️ NEW LEVEL 🎖️`} -const smsAutoLv2 = () => { return `PREVIOUS LEVEL:`} -const smsAutoLv3 = () => { return `CURRENT LEVEL:`} -const smsAutoLv4 = () => { return `RANGE:`} -const smsAutoLv5 = () => { return `DATE:`} -const smsAutoLv6 = () => { return `You have reached a new level!!!`} -const smsAutoLv7 = () => { return `🥳 REWARD FOR YOUR NEW LEVEL`} - -//_autosticker.js -const smsAutoStik = () => { return `${lenguajeGB['smsAvisoFG']()}*THE VIDEO SHOULD NOT LAST MORE THAN 7 SECONDS.*`} - -//_expired.js -const smsBottem1 = () => { return `*LEAVES THE GROUP!!! 🤝 IF YOU WANT IT TO COME BACK, USE THE COMMAND _#bottemporal_ TO GET BACK TO THE GROUP!!*`} -const smsBottem2 = () => { return `*💕 USER ASSISTANCE*\n*_${global.ig}_*\n`} -const smsBottem3 = () => { return `SEE YOU SOON 💖`} - -//_premium.js -const smsPremI = () => { return `*¡YOUR PREMIUM TIME IS OVER!* 🎟️\n*TO GET A NEW PREMIUM PASS USE THE COMMAND:*\n*#pass prem*`} - -//afk-_afk.js -const smsAfkM1 = () => { return `*YOU STOPPED BEING INACTIVE AFK*`} -const smsAfkM2 = () => { return `\n*THE REASON FOR INACTIVITY WAS:*\n`} -const smsAfkM3 = () => { return `⏳ *INACTIVE TIME:*`} -const smsAfkM4 = () => { return `*DO NOT TAG THIS USER!! IT IS INACTIVE*\n`} -const smsAfkM5 = () => { return `*REASON FOR AFK INACTIVITY:*\n`} -const smsAfkM6 = () => { return `*REASON FOR AFK INACTIVITY:\nNO REASON FOR INACTIVITY WAS SPECIFIED*`} -const smsAfkTime = () => { return [['día(s)'], ['hours'], ['minutes'], ['seconds']] } -const smsAfkResultTime = smsAfkTime() - -//afk-afk.js -const smsAfkQ1 = (usedPrefix, command) => { return `${lenguajeGB['smsAvisoMG']()}*WRITE REASON WHY IT IS INACTIVE (AFK)*\n\n*EXAMPLE:*\n*${usedPrefix + command}* I'm going to do homework`} -const smsAfkQ2 = () => { return `${lenguajeGB['smsAvisoMG']()}*MINIMUM 10 CHARACTERS MUST BE THE REASON*`} -const smsAfkM1A = () => { return `*DO NOT TAG*`} -const smsAfkM1B = () => { return `*WILL BE INACTIVE AFK*\n\n*REASON FOR AFK INACTIVITY:*`} - -//anonymous_chat.js -const smsChatAn1 = () => { return `${lenguajeGB['smsAvisoFG']()}*YOU ARE NOT IN ANONYMOUS CHAT*`} -const smsChatAn2 = () => { return `*IF YOU WANT TO START AN ANONYMOUS CHAT USE THE COMMAND #start OR USE THE BUTTON BELOW*\n`} -const smsChatAn3 = () => { return `⚡ START ANONYMOUS CHAT`} -const smsChatAn4 = () => { return `${lenguajeGB['smsAvisoRG']()}🪐 *YOU LEFT THE ANONYMOUS CHAT*`} -const smsChatAn5 = () => { return `${lenguajeGB['smsAvisoAG']()}*THE OTHER USER LEFT THE ANONYMOUS CHAT*`} -const smsChatAn6 = () => { return `*IF YOU WANT TO GO TO ANOTHER ANONYMOUS CHAT USE THE COMMAND #start OR USE THE BUTTON BELOW*\n`} -const smsChatAn7 = () => { return `${lenguajeGB['smsAvisoAG']()}*YOU ARE STILL IN AN ANONYMOUS CHAT OR WAITING FOR SOMEONE TO JOIN TO CHAT*`} -const smsChatAn8 = () => { return `*IF YOU WANT TO EXIT THE ANONYMOUS CHAT USE THE COMMAND #leave OR YOU CAN USE THE BUTTON BELOW*\n`} -const smsChatAn9 = () => { return `🍁 EXIT ANONYMOUS CHAT`} -const smsChatAn10 = () => { return `${lenguajeGB['smsAvisoEG']()}✨ *THEY CAN CHAT NOW*`} -const smsChatAn11 = () => { return `*SOMEONE JOINED THE ANONYMOUS CHAT!!*`} -const smsChatAn12 = () => { return `❇️ ANOTHER USER`} -const smsChatAn13 = () => { return `${lenguajeGB['smsAvisoRG']()}🐈 *WAITING FOR SOMEONE TO JOIN THE ANONYMOUS CHAT, PLEASE BE PATIENT*`} - -//Botones de Menú -const smsBotonM1 = () => { return `⚡ START MENU ⚡`} -const smsBotonM2 = () => { return `💫 FULL MENU 💫`} -const smsBotonM3 = () => { return `🎒 INVENTORY 🎒`} -const smsBotonM4 = () => { return `USERS`} -const smsBotonM5 = () => { return `RANGE`} -const smsBotonM6 = () => { return `LEVEL`} -const smsBotonM7 = () => { return `PREMIUM`} -const smsTex1 = () => { return '*SEARCH MENU*'} -const smsTex2 = () => { return '*AUDIO MODIFIER*'} -const smsTex3 = () => { return '*MENU +18*'} -const smsTex4 = () => { return '*DYNAMIC CONTENT*'} -const smsTex5 = () => { return '*SEARCH AND DOWNLOAD*'} -const smsTex6 = () => { return '*MENU +18 PREMIUM*'} -const smsTex7 = () => { return '⠇ *Images +18 quality and variety*\n⠇ *Videos +18 just for you*\n⠇ *Stickers +18 available*'} -const smsTex8 = () => { return '*CONVERTER MENU*'} -const smsTex9 = () => { return '*DOWNLOADS MENU*'} -const smsTex10 = () => { return '*DYNAMIC GAMES MENU*'} -const smsTex11 = () => { return '*MENU FOR GROUPS*'} -const smsTex12 = () => { return '*TOOLS MENU*'} -const smsTex13 = () => { return '*INFORMATION MENU*'} -const smsTex14 = () => { return '*EFFECTS AND LOGOS MENU*'} -const smsTex15 = () => { return '*LOGOS MENU 2*'} -const smsTex16 = () => { return 'AUDIO MENU'} -const smsTex17 = () => { return '*IT IS NOT NECESSARY TO USE PREFIX IN AUDIOS*'} -const smsTex18 = () => { return 'SOUND LIST'} -const smsTex19 = () => { return '*YOU CAN SELECT THE AUDIO!!*'} -const smsTex20 = () => { return '*OWNER MENU*'} -const smsTex21 = () => { return '*RPG MENU*'} -const smsTex22 = () => { return '*STICKERS AND FILTERS MENU*'} -const smsTex23 = () => { return '*RANDOM MEMES AND ANIME MENU*'} - -//info-grupos-lista.js -const smsLisA = () => { return '_*YOU ARE IN THESE GROUPS:*_'} -const smsLisB = () => { return '*⭔ Total Groups:*'} -const smsLisC = () => { return '*⋄ Group:*'} -const smsLisD = () => { return '*⋄ ID:*'} -const smsLisE = () => { return '*⋄ Participants:*'} - -//ad -const smsMalused = () => { return '⚡ *USE THE COMMAND LIKE THIS:*\n'} -const smsMalused2 = () => { return `${lenguajeGB['smsAvisoMG']()}🐈 *YOU MUST USE THE COMMAND LIKE THIS EXAMPLE:*\n`} -const smsMalused3 = () => { return `${lenguajeGB['smsAvisoMG']()}🐈 *YOU MUST USE THE COMMAND OR RESPOND TO SOMEONE'S MESSAGE LIKE THIS EXAMPLE:*\n`} - -//gc-config_time.js -const smsGrupoTime1 = () => { return '🔓 *_OPEN GROUP IN ONE HOUR_*'} -const smsGrupoTime2 = () => { return '🔒 *_CLOSE GROUP IN ONE HOUR_*'} -const smsGrupoTime3 = () => { return '*GROUP'} -const smsGrupoTime4 = () => { return 'CLOSED'} -const smsGrupoTime5 = () => { return 'OPEN'} -const smsGrupoTime6 = () => { return '*DURING'} -const smsGrupoTime7 = () => { return '🔒 *THE GROUP IS CLOSED, ONLY ADMINS CAN SEND MESSAGES*'} -const smsGrupoTime8 = () => { return '🔓 *THE GROUP IS OPEN, EVERYONE CAN SEND MESSAGES*'} -const smsGrupoTime9 = () => { return '🔓 OPEN GROUP DURING '} -const smsGrupoTime10 = () => { return '🔒 CLOSE GROUP DURING '} -const smsGrupoTime11 = () => { return ' HOUR'} -const smsGrupoTime12 = () => { return 'ALLOW THE GROUP TO HAVE BEEN BY '} -const smsGrupoTime13 = () => { return 'ALLOW THE GROUP TO CLOSE BY '} - -//grupo-add.js -const smsAddB1 = () => { return `${lenguajeGB['smsAvisoFG']()}*CANNOT ADD NUMBER, PLEASE VERIFY IT IS CORRECT, MAYBE IT CAME OUT RECENTLY OR YOUR PRIVACY IS SET.*`} -const smsAddB2 = () => { return `${lenguajeGB['smsAvisoFG']()}*CANNOT ADD THE NUMBER, VERIFY IT IS CORRECT, OR ADD IT MANUALLY.*`} - -//grupo-admins.js -const smsAddB3 = () => { return `*NOTIFICATION FOR ADMINS*`} -const smsAddB4 = () => { return `*ADMIN PRESENCE*`} -const smsAddB5 = () => { return `*MESSAGE:*`} -const smsAddB6 = () => { return `I request the admins please.`} - -//grupo-advertencia.js -const smsAdveu1 = () => { return `${lenguajeGB['smsAvisoAG']()}*CAN ONLY USE IF THE FUNCTION IS ACTIVATED:*\n`} -const smsAdveu2 = () => { return 'Reason'} -const smsAdveu3 = () => { return `${lenguajeGB['smsAvisoMG']()}*REMEMBER TO WRITE THE REASON FOR THE WARNING*\n`} -const smsAdveu4 = () => { return '*RECEIVED A WARNING IN THIS GROUP!!*'} -const smsAdveu5 = () => { return 'WARNING'} -const smsAdveu6 = () => { return '🎒 INVENTORY'} -const smsAdveu7 = () => { return '*I WARNED YOU SEVERAL TIMES!!*'} -const smsAdveu8 = () => { return '*NOW YOU WILL BE DELETED* 🙄'} -const smsAdveu9 = () => { return '😇 THANK YOU'} -const smsAdveu10 = () => { return '*A WARNING WAS REMOVED IN THIS GROUP!!*'} -const smsAdveu11 = () => { return 'Before:'} -const smsAdveu12 = () => { return 'Now:'} - -//grupo-demote.js || grupo-promote.js -const smsDemott = () => { return `*THE NUMBER IS INVALID, TRY AGAIN REPLY TO SOMEONE'S MESSAGE OR USE LIKE THIS EXAMPLE:*\n`} -const smsDemott2 = () => { return '*NOW HAS POWER IN THE GROUP!!*'} -const smsDemott3 = () => { return '*NO LONGER HAS POWER IN THE GROUP!!*'} - -//grupo-info.js -const smsGI1 = () => { return '*GROUP INFORMATION*'} -const smsGI2 = () => { return '*GROUP ID*'} -const smsGI3 = () => { return '*GROUP NAME*'} -const smsGI4 = () => { return '*GROUP DESCRIPTION*'} -const smsGI5 = () => { return '*NO DESCRIPTION*'} -const smsGI6 = () => { return '*NUMBER OF USERS*'} -const smsGI7 = () => { return '*Users*'} -const smsGI8 = () => { return '*CREATOR OF THE GROUP*'} -const smsGI9 = () => { return '*GROUP ADMIN*'} -const smsGI10 = () => { return '⚙️ GROUP SETTINGS'} - - -//grupo-kick.js -const smskick1 = () => { return `${lenguajeGB['smsAvisoAG']()}*TAG THE PERSON OR REPLY TO THE MESSAGE OF THE PERSON YOU WANT TO DELETE*\n\n*EXAMPLE: `} -const smskick2 = () => { return `REMOVED 😼🫵`} -const smskick3 = () => { return `I CAN'T DELETE THE GROUP CREATOR 😆🫵`} -const smskick4 = () => { return `NOT IN THIS GROUP 👻`} - -//grupo-tagall.js -const smstagaa = () => { return `⚡ SUMMONING THE GROUP ⚡`} - -//grupo-setbye.js -const smsSetB = () => { return `${lenguajeGB['smsAvisoEG']()}*THE FAREWELL OF THE GROUP HAS BEEN CONFIGURED*`} -const smsSetB2 = () => { return `${lenguajeGB['smsAvisoIIG']()}🙌 *_WRITE THE FAREWELL MESSAGE_*\n*_OPTIONAL YOU CAN USE WHAT IS WITH "@" TO ADD MORE INFORMATION:_*\n\n*⚡ @user (Mention to the user)*\n\n*REMEMBER THAT THE "@" IT'S OPTIONAL*`} - -//grupo-setwelcome.js -const smsSetW = () => { return `${lenguajeGB['smsAvisoEG']()}*GROUP WELCOME HAS BEEN SET UP*`} -const smsSetW2 = () => { return `${lenguajeGB['smsAvisoIIG']()}🙌 *_WRITE THE WELCOME MESSAGE_*\n*_OPTIONAL YOU CAN USE WHAT IS WITH "@" TO ADD MORE INFORMATION:_*\n\n*⚡ @user (Mention to the user)*\n*⚡ @subject (Group name)*\n*⚡ @desc (Group description)*\n\n*REMEMBER THAT THE "@" ARE OPTIONAL*`} - -//grupo-setdesc.js -const smsDest = () => { return `${lenguajeGB['smsAvisoEG']()}*GROUP DESCRIPTION HAS BEEN CONFIGURED*`} - -//grupo-setname.js -const smsNam1 = () => { return `${lenguajeGB['smsAvisoEG']()}*THE GROUP NAME HAS BEEN SET*`} -const smsNam2 = () => { return `${lenguajeGB['smsAvisoMG']()}*🙌 WRITE THE NEW GROUP NAME*`} -const smsNam3 = () => { return `${lenguajeGB['smsAvisoFG']()}*THE NAME OF THE GROUP MUST NOT HAVE MORE THAN 25 CHARACTERS*`} - -//grupo-restaurarEnlace.js -const smsRestGp = () => { return `${lenguajeGB['smsAvisoEG']()}*THE GROUP LINK HAS BEEN RESETED*`} - -//Button -const smsSig = () => { return `➡️ NEXT ➡️`} -const smsSigPrem = () => { return `❤️‍🔥 NEXT ❤️‍🔥`} -const smsCont18Porn = () => { return `🔞 *CONTENTS* 🔞`} //texto -const smsCont18Porn2 = () => { return `🔞 CONTENTS 🔞`} //texto -const smsCont18PornP = () => { return `🌟 *CONTENTS ❤️‍🔥 PREMIUM* 🌟`} //texto -const smsCont18PornP2 = () => { return `CONTENTS ❤️‍🔥 PREMIUM`} //texto - -//propietario(a).js -const smsJoin = (user) => { return `${packname}\n𝙀𝙎 𝙐𝙉 𝘽𝙊𝙏 𝘿𝙀 𝙒𝙃𝘼𝙏𝙎𝘼𝙋𝙋 𝙌𝙐𝙀 𝙏𝙀 𝘼𝙔𝙐𝘿𝘼𝙍𝘼 𝙍𝙀𝘼𝙇𝙄𝙕𝘼𝙍 𝘿𝙄𝙁𝙀𝙍𝙀𝙉𝙏𝙀𝙎 𝘼𝘾𝙏𝙄𝙑𝙄𝘿𝘼𝘿𝙀𝙎 🪄 𝘼𝙇 𝙋𝙍𝙄𝙑𝘼𝘿𝙊 𝙊 𝙂𝙍𝙐𝙋𝙊 𝙔 𝙏𝘼𝙈𝘽𝙄𝙀𝙉 𝙏𝙀 𝙑𝘼𝙎 𝘼 𝘿𝙄𝙑𝙀𝙍𝙏𝙄𝙍 🎈 𝘾𝙊𝙉 𝙎𝙐𝙎 𝙈𝙐𝙇𝙏𝙄𝙋𝙇𝙀𝙎 𝙁𝙐𝙉𝘾𝙄𝙊𝙉𝙀𝙎, 𝘿𝙄𝙎𝙁𝙍𝙐𝙏𝘼 𝘿𝙀 𝙂𝘼𝙏𝘼𝘽𝙊𝙏!!! 😸\n\n💖 𝙂𝘼𝙏𝘼𝘽𝙊𝙏 𝙁𝙐𝙀 𝙄𝙉𝙑𝙄𝙏𝘼𝘿𝘼 𝙋𝙊𝙍:\n@${user}`} -const smsJoin1 = (usedPrefix, command) => { return lenguajeGB['smsAvisoMG']() + `*INGRESE EL ENLACE DE UN GRUPO*\n*EJEMPLO:*\n*${usedPrefix + command}* ${nna}`} -const smsJoin2 = () => { return lenguajeGB['smsAvisoEG']() + `${packname}\n*SE HA UNIDO AL GRUPO ✅*`} - -//propietario(a).js -const smsBCMensaje = (usedPrefix, command) => { return `*Respond to the message or write the used message ${usedPrefix + command}*`} -const smsBCMensaje2 = () => { return `*Sent official message, wait a moment...*`} -const smsBCMensaje3 = (totalPri, time) => { return `✅ *The message was sent ${totalPri} to chats Private*\n\n*Total Shipping Times : ${time}*\n${totalPri >= 3000 ? '\n*They were not sent to all chats to avoid saturation*' : ''}`} - -//propietario(a.js -const smsPropban1 = (usedPrefix, command, bot) => { return `${lenguajeGB['smsAvisoMG']()}*TAG SOMEONE OR REPLY TO THE USER'S MESSAGE OR WRITE THE NUMBER YOU WANT TO BAN FROM THE COMMANDS*\n\n*EXAMPLE:*\n*${usedPrefix + command} @${bot}*`} -const smsPropban2 = (bot) => { return `${lenguajeGB['smsAvisoFG']()}*@${bot} CANNOT BE BANNED WITH THIS COMMAND* 😹`} -const smsPropban3 = (ownerNumber) => { return `${lenguajeGB.smsAvisoIIG()}😳 *I CAN'T BAN THE OWNER @${ownerNumber} OF ${packname}*`} -const smsPropban4 = (number) => { return `${lenguajeGB.smsAvisoIIG()}*IT IS NOT NECESSARY TO BAN AGAIN @${number} YES IT ALREADY IS* 😊`} -const smsPropban5 = () => { return `${lenguajeGB['smsAvisoEG']()}*USER SUCCESSFULLY BANNED* 🙀`} -const smsPropban6 = (number, usr) => { return `${lenguajeGB.smsAvisoAG()}*@${number} YOU ARE BANNED BY @${usr} YOU CANNOT USE THE COMMANDS UNTIL SOMEONE REVERSES THE BAN* 😿`} -const smsPropban7 = (usedPrefix, command, number) => { return `${lenguajeGB['smsAvisoFG']()}*AN ERROR CAME UP, IT MAY BE THAT THE USER IS NOT IN MY DATABASE TRY TO WRITE ${usedPrefix + command} ${number}*\n\`\`\`IF THE ERROR CONTINUES REPORT THIS COMMAND\`\`\``} - -//propietario(a).js -const smsBCbot1 = () => { return `✅ *Message:*`} -const smsBCbot2 = () => { return `Private `} -const smsBCbot3 = () => { return `Cluster`} -const smsBCbot4 = () => { return `Total`} -const smsBCbot5 = () => { return `Total shipping time :`} -const smsBCbot6 = () => { return `They were not sent to all chats to avoid saturation`} -const smsBCbot7 = () => { return `✅ *Official statement* ✅`} - -//propietario(a).js -const smsChatGP1 = () => { return "*Sent message, wait a moment...*"} -const smsChatGP2 = (readMS, dia, mes, año, fecha, tiempo) => { return `✅ *official statement * ✅\n${readMS}\n\`\`\`${dia}, ${mes} ${año}\`\`\`\n\`\`\`${fecha} || ${tiempo}\`\`\`\n\n`} -const smsChatGP3 = (totalGP) => { return `✅ *The message was sent to ${totalGP} groups*`} - -//jadibot-serbot.js -const smsIniJadi = () => { return `*⊹ • • • ミ★ ${global.packname} ミ★• • • ⊹*\n\n*ღ Version of ${global.packname} » _${global.vs}_*\n*ღ JadiBot Version » _${global.vsJB}_*\n\n🟢 *_FUNCTION BE SUB BOT_* 🟢\n\n*➡️ With another cell phone or PC, scan this QR to become a Sub Bot*\n\n*1️⃣ Go to the three dots in the upper right corner*\n*2️⃣ Go to Paired Devices option*\n*3️⃣ Scan this QR code to login*\n\n📢 *¡This QR code expires in 45 seconds!*`} -const smsSoloOwnerJB = () => { return `${lenguajeGB['smsAvisoAG']()}*THIS COMMAND IS DISABLED BY MY OWNER*`} -const smsJBPrincipal = () => { return `${lenguajeGB['smsAvisoAG']()}🔵 *TO BE A SUB BOT GO TO THE MAIN NUMBER*\n*ღ Enter the following link:*\n`} -const smsJBConexion = () => { return `${lenguajeGB['smsAvisoFG']()}🟡 *THE CONNECTION HAS BEEN CLOSED IN AN UNEXPECTED WAY, WE WILL TRY TO RECONNECT...*`} -const smsJBConexionClose = () => { return `${lenguajeGB['smsAvisoFG']()}🔴 *THE CONNECTION HAS BEEN CLOSED, YOU MUST CONNECT MANUALLY USING THE #jadibot COMMAND AND RESCAN THE NEW QR CODE*`} -const smsJBConexionTrue = () => { return `${lenguajeGB['smsAvisoEG']()}🟢 *SUCCESSFUL CONNECTION!!!*`} -const smsJBConexionTrue2 = () => { return `${lenguajeGB['smsAvisoEG']()}🟢 *SUCCESSFUL CONNECTION!!! YOU CAN CONNECT USING:*`} -const smsJBCargando = () => { return `${lenguajeGB['smsAvisoIIG']()}⚪ *IS CONNECTED!! PLEASE WAIT MESSAGES ARE LOADING...*\n\n♻️ *AVAILABLE OPTIONS:*\n*» #stop _(Stop Sub Bot Feature)_*\n*» #deletesesion _(Delete all traces of Sub Bot)_*\n*» #jadibot _(Get new QR code to be Sub Bot)_*`} -const smsJBInfo1 = () => { return `💖 *USEFUL LINK*`} -const smsJBInfo2 = () => { return `💖 *The function is stable, if it presents any inconvenience Contact the mail: centergatabot@gmail.com*\n💝 *You can make a voluntary donation by PayPal: ${global.paypal}*\n\n*Thank you very much for the support ${global.packname}*`} - -//jadibot-deleteSesion.js -const smsJBDel = () => { return `${lenguajeGB['smsAvisoAG']()}*USE THIS COMMAND TO THE MAIN BOT*`} -const smsJBAdios = () => { return `${lenguajeGB['smsAvisoEG']()}*I WILL MISS YOU ${global.packname} BYE!! 🥹*`} -const smsJBCerrarS = () => { return `${lenguajeGB['smsAvisoEG']()}*YOU HAVE LOGGED OUT AND DELETED ALL TRACES*`} -const smsJBErr = () => { return `*YOU HAVE LOGGED OUT AS A SUB BOT* ♻️`} - -//comandos+18-adult.js -const smsContAdult = () => { return `${lenguajeGB['smsAvisoAG']()}*THE COMMANDS 🔞 THEY ARE DISABLED, IF YOU ARE MY CREATOR USE #on modohorny*`} - -//comandos+18-menu.js -const smsList1 = () => { return `Don't have enough `} -const smsList2 = () => { return `\nClick here to buy `} -const smsList3 = () => { return `Available content 😸`} -const smsList4 = () => { return `Content not available 😿\nClick here to buy `} -const smsList5 = () => { return `*Select an option*\n*from the list to see the*\n*contents* 😋`} -const smsList6 = () => { return `👀 SEE LIST 👀`} - -//descargas-consejos.js -const smsConj = () => { return `🍃 NEW COUNCIL`} -const smsFras = () => { return `🍃 NEW SENTENCE`} - -//info-contacto.js -const smsContacto1 = () => { return ' I am ' + packname + ' a WhatsApp Bot dedicated to helping with whatever you ask 😎'} -const smsContacto2 = () => { return 'I am Owner of ' + packname + ' if you have any questions you can tell me ✌️'} -const smsContacto3 = () => { return '👑 Owner'} -const smsContacto4 = () => { return 'GataBot Official Contact 🐈'} -const smsContacto5 = () => { return '🐣 How can I help you?'} -const smsContacto6 = () => { return 'I do not have mail 🙏'} -const smsContacto7 = () => { return '🌎 Global'} -const smsContacto8 = () => { return 'This Account is Bot 👀'} - - -export default { lenguaje, smsConexioncerrar, smsConexionperdida, smsConexionreem, smsConexionreinicio, smsConexiontiem, smsConexiondescon, smsAvisoRG, smsJoin, smsJoin1, smsJoin2, smsPropban1, smsPropban2, smsPropban3, smsPropban4, smsPropban5, smsPropban6, smsPropban7, smsLisA, smsLisB, smsLisC, smsLisD, smsLisE, smsChatGP1, smsChatGP2, smsChatGP3, smsBCMensaje, smsBCMensaje2, smsBCMensaje3, smsAvisoAG, smsAvisoIIG, smsBCbot1, smsBCbot2, smsBCbot3, smsBCbot4, smsBCbot5, smsBCbot6, smsBCbot7, smsAvisoFG, smsAvisoMG, smsAvisoEEG, smsAvisoEG, smsRowner, smsOwner, smsMods, smsPremium, smsGroup, smsPrivate, smsAdmin, smsBotAdmin, smsUnreg, smsRestrict, smsTime, smsUptime, smsVersion, smsTotalUsers, smsMode, smsModePublic, smsModePrivate, smsBanChats, smsBanUsers, smsPareja, smsResultPareja, smsSaludo, smsDia, smsTarde, smsTarde2, smsNoche, smsListaMenu, smsLista1, smsLista2, smsLista3, smsLista4, smsLista5, smsLista6, smsLista7, smsLista8, smsLista9, smsLista10, smsLista11, smsLista12, smsLista13, smsLista14, smsLista15, smsLista16, smsLista17, smsLista18, smsLista19, smsLista20, smsLista21, smsLista22, smsLista23, smsLista24, smsLista25, smsLista26, smsLista27, smsLista28, smsLista29, smsLista30, smsLista31, smsLista32, smsLista33, smsLista34, smsLista35, smsWelcome, smsBye, smsSpromote, smsSdemote, smsSdesc, smsSsubject, smsSicon, smsSrevoke, smsConexion, smsClearTmp, smsCargando, smspurgeSession, smspurgeOldFiles, smspurgeSessionSB1, smspurgeSessionSB2, smspurgeSessionSB3, smspurgeOldFiles1, smspurgeOldFiles2, smspurgeOldFiles3, smspurgeOldFiles4, smsTextoYT, smsApagar, smsEncender, smsEnlaceTik, smsEnlaceYt, smsEnlaceTel, smsEnlaceFb, smsEnlaceIg, smsEnlaceTw, smsAllAdmin, smsSoloOwner, smsCont1, smsCont2, smsCont3, smsCont4, smsCont5, smsCont6, smsCont7, smsCont8, smsCont9, smsCont10, smsCont11, smsCont12, smsCont13, smsCont14, smsCont15, smsCont16, smsCont17, smsCont18, smsCont19, smsCont20, smsCont21, smsInt1, smsInt2, smsAdwa, smsEnlaceWat, smsEnlaceWatt, smsNoSpam, smsNoSpam2, smsConMenu, smsMalError, smsMalError2, smsMalError3, smsToxic1, smsToxic2, smsToxic3, smsToxic4, smsToxic5, smsToxic6, smsToxic7, eExp, eDiamante, eDiamantePlus, eToken, eEsmeralda, eJoya, eMagia, eOro, eGataCoins, eGataTickers, eEnergia, ePocion, eAgua, eBasura, eMadera, eRoca, ePiedra, eCuerda, eHierro, eCarbon, eBotella, eLata, eCarton, eEletric, eBarraOro, eOroComun, eZorroG, eBasuraG, eLoboG, eMaderaG, eEspada, eCarnada, eBillete, ePinata, eGancho, eCanaPescar, eCComun, ePComun, eCMistica, eCMascota, eCJardineria, eClegendaria, eUva, eManzana, eNaranja, eMango, ePlatano, eSUva, eSManzana, eSNaranja, eSMango, eSPlatano, eCentauro, eAve, eGato, eDragon, eZorro, eCaballo, eFenix, eLobo, ePerro, eAMascots, eCCentauro, eCAve, eCMagica, eCDragon, eACaballo, eCFenix, smsWel1, smsWel2, smsParaAdmins, smsDete1, smsDete2, smsANivel1, smsANivel2, smsParaAdYOw, smsParaOw, smsRestri1, smsRestri2, smsLlamar1, smsLlamar2, smsModP1, smsModP2, smsModAd1, smsModAd2, smsLect1, smsLect2, smsTempo1, smsTempo2, smsStik1, smsStik2, smsStickA1, smsStickA2, smsReacc1, smsReacc2, smsAudi1, smsAudi2, smsModHor1, smsModHor2, smsAntitoc1, smsAntitoc2, smsModOb1, smsModOb2, -smsAntiEli1, smsAntiEli2, smsAntiInt1, smsAntiInt2, smsAntiE1, smsAntiE2, smsAntiEE1, smsAntiEE2, smsAntiTT1, smsAntiTT2, smsAntiYT1, smsAntiYT2, smsAntiTEL1, smsAntiTEL2, smsAntiFB1, smsAntiFB2, smsAntiIG1, smsAntiIG2, smsAntiTW1, smsAntiTW2, smsSOLOP1, smsSOLOP2, smsSOLOG1, smsSOLOG2, smsNoGg, smsConfi1, smsConfi2, smsConfi3, smsConfi4, smsConfi5, smsConfi6, smsConfi7, smsConfi8, smsConfi9, smsConfi10, smsMens1, smsMens2, smsMens3, smsMens4, smsMens5, smsMensError1, smsMensError2, smsAntiView, smsAutoLv1, smsAutoLv2, smsAutoLv3, smsAutoLv4, smsAutoLv5, smsAutoLv6, smsAutoLv7, smsAntiSp1, smsAntiSp2, smsAutoStik, smsBottem1, smsBottem2, smsBottem3, smsPremI, -smsAfkM1, smsAfkM2, smsAfkM3, smsAfkM4, smsAfkM5, smsAfkM6, smsAfkM1A, smsAfkM1B, smsChatAn1, smsChatAn2, smsChatAn3, smsChatAn4, smsChatAn5, smsChatAn6, smsChatAn7, smsChatAn8, smsChatAn9, smsChatAn10, smsChatAn11, smsChatAn12, smsChatAn13, smsBotonM1, smsBotonM2, smsBotonM3, smsBotonM4, smsBotonM5, smsBotonM6, smsBotonM7, smsTex1, smsTex2, smsTex3, smsTex4, smsTex5, smsTex6, smsTex7, smsTex8, smsTex9, smsTex10, smsTex11, smsTex12, smsTex13, smsTex14, smsTex15, smsTex16, smsTex17, smsTex18, smsTex19, smsTex20, smsTex21, smsTex22, smsTex23, smsMalused, smsGrupoTime1, smsGrupoTime2, smsGrupoTime3, smsGrupoTime4, smsGrupoTime5, smsGrupoTime6, smsGrupoTime7, smsGrupoTime8, smsGrupoTime9, smsGrupoTime10, smsGrupoTime11, smsGrupoTime12, smsGrupoTime13, smsAddB1, smsAddB2, smsAddB3, smsAddB4, smsAddB5, smsAddB6, smsAdveu1, smsMalused2, smsAdveu2, smsAdveu3, smsAdveu4, smsAdveu5, smsAdveu6, smsAdveu7, smsAdveu8, smsAdveu9, smsMalused3, smsAdveu10, smsAdveu11, smsAdveu12, smsDemott, smsDemott2, smsDemott3, -smsGI1, smsGI2, smsGI3, smsGI4, smsGI5, smsGI6, smsGI7, smsGI8, smsGI9, smsGI10, smsLista22_1, smsCodigoQR, smsConexionOFF, smskick1, smskick2, smskick3, smskick4, smstagaa, -smsSetB, smsSetB2, smsSetW, smsSetW2, smsDest, smsNam1, smsNam2, smsNam3, smsRestGp, smsSig, smsSigPrem, smsCont18Porn, smsCont18Porn2, smsCont18PornP, smsCont18PornP2, -smsIniJadi, smsSoloOwnerJB, smsJBPrincipal, smsJBConexion, smsJBConexionClose, smsJBConexionTrue, smsJBConexionTrue2, smsJBCargando, smsJBInfo1, smsJBInfo2, smsJBDel, smsJBAdios, -smsJBCerrarS, smsJBErr, smsContAdult, smsList1, smsList2, smsList3, smsList4, smsList5, smsList6, smsConj, smsFras, smsContacto1, smsContacto2, smsContacto3, smsContacto4, -smsContacto5, smsContacto6, smsContacto7, smsContacto8, smsAfkQ1, smsAfkQ2, smsAfkTime, smsAfkResultTime, smsMainBot } diff --git a/lib/idiomas/portugues.js b/lib/idiomas/portugues.js deleted file mode 100644 index 968a51620..000000000 --- a/lib/idiomas/portugues.js +++ /dev/null @@ -1,616 +0,0 @@ -const lenguaje = () => { return 'pt' } //Português - -//AVISOS DE MENSAGEM -const smsAvisoRG = () => { return `╰⊱✅⊱ *RESULTADO* ⊱✅⊱╮\n\n` } -const smsAvisoAG = () => { return `╰⊱⚠️⊱ *EMBARGO* ⊱⚠️⊱╮\n\n` } -const smsAvisoIIG = () => { return `╰⊱❕⊱ *EM FORMAÇÃO* ⊱❕⊱╮\n\n` } -const smsAvisoFG = () => { return `╰⊱❌⊱ *ERRO* ⊱❌⊱╮\n\n` } -const smsAvisoMG = () => { return `╰⊱❗️⊱ *AÇÃO INADEQUADA* ⊱❗️⊱╮\n\n` } -const smsAvisoEEG = () => { return `╰⊱📩⊱ *RELATÓRIO* ⊱📩⊱╮\n\n` } -const smsAvisoEG = () => { return `╰⊱💚⊱ *SUCESSO* ⊱💚⊱╮\n\n` } - -//PARÂMETROS EM COMANDOS -const smsRowner = () => { return `\`\`\`¡¡ESSE COMANDO SÓ EU COMO CRIADOR DE BOT PODE USAR!!\`\`\`` } -const smsOwner = () => { return `\`\`\`¡¡ESSE COMANDO SÓ MEU CRIADOR PODE USAR!!\`\`\`` } -const smsMods = () => { return `\`\`\`¡¡ESSE COMANDO SOMENTE MODERADORES E MEU CRIADOR PODEM USAR!!\`\`\`` } -const smsPremium = () => { return `\`\`\`¡¡ESSE COMANDO APENAS ESTÁ DISPONÍVEL PARA USUÁRIOS PREMIUM E MEU CRIADOR!! PARA OBTER PREMIUM COMPRE UM PASS USANDO #pass premium\`\`\`` } -const smsGroup = () => { return `\`\`\`¡¡ESSE COMANDO SÓ PODE SER USADO EM GRUPOS!!\`\`\`` } -const smsPrivate = () => { return `\`\`\`¡¡ESSE COMANDO SÓ PODE SER USADO PARA O PRIVADO!!\`\`\`` } -const smsAdmin = () => { return `\`\`\`¡¡ESSE COMANDO É SOMENTE PARA ADMINISTRADORES!!\`\`\`` } -const smsBotAdmin = () => { return `\`\`\`¡¡PRECISO SER ADMIN PARA QUE VOCÊ POSSA USAR ESTE COMANDO!!\`\`\`` } -const smsUnreg = () => { return `\`\`\`¡¡VOCÊ PRECISA ESTAR REGISTRADO PARA USAR ESTE COMANDO, DIGITE #verify PARA REGISTRAR!!\`\`\`` } -const smsRestrict = () => { return `\`\`\`¡¡ESSE COMANDO É RESTRITO PELO MEU CRIADOR!!\`\`\`` } - -//LISTA DE MENUS -const smsTime = () => { return `Hora atual`} -const smsUptime = () => { return `Correndo durante`} -const smsVersion = () => { return `Versão de ${global.packname}`} -const smsTotalUsers = () => { return `Total de usuários`} -const smsMode = () => { return `Está em modo`} -const smsModePublic = () => { return `PÚBLICO`} -const smsModePrivate = () => { return `PRIVADO`} -const smsBanChats = () => { return `Bate-papos banidos`} -const smsBanUsers = () => { return `Usuário banido`} -const smsPareja = () => { return `Parceiro`} -const smsResultPareja = () => { return `Não tem parceiro`} -const smsSaludo = () => { return `👋 !OLÁ! BEM-VINDO 👋`} -const smsDia = () => { return `🌇 Bom Dia ⛅`} -const smsTarde = () => { return `🏙️ Boa tarde 🌤️`} -const smsTarde2 = () => { return `🌆 Boa tarde 🌥️`} -const smsNoche = () => { return `🌃 Boa noite 💫`} -const smsListaMenu = () => { return `⊹ LISTA DE MENUS ⊹`} -const smsLista1 = () => { return `🌟 INFORMAÇÕES DO GATABOT 🌟`} -const smsLista2 = () => { return `💖 CRIADORA 💖`} -const smsLista3 = () => { return `🎁 DOE: APOIE 🎁`} -const smsLista4 = () => { return `🚀 RAPIDEZ 🚀`} -const smsLista5 = () => { return `💡 INFORMAÇÕES DO MENU 💡`} -const smsLista6 = () => { return `🌀 MENU COMPLETO 🌀`} -const smsLista7 = () => { return `🐈 INSTALAR O GATABOT 🐈`} -const smsLista8 = () => { return `🍄 SEJA SUB-BOT 🍄`} -const smsLista9 = () => { return `📄 TERMOS, CONDIÇÕES E PRIVACIDADE 📄`} -const smsLista10 = () => { return `🌟 AVENTURA E TOPO 🌟`} -const smsLista11 = () => { return `🏆 TOPO MUNDIAL 🏆`} -const smsLista12 = () => { return `🏅 USUÁRIOS PREMIUM 🏅`} -const smsLista13 = () => { return `🎟️ SEJA UM USUÁRIO PREMIUM 🎟️`} -const smsLista14 = () => { return `🛣️ MISSÕES 🛣️`} -const smsLista15 = () => { return `⚗️ MENU RPG ⚗️`} -const smsLista16 = () => { return `🏪 LOJA COMPRA 🏪`} -const smsLista17 = () => { return `🎒 INVENTÁRIO 🎒`} -const smsLista18 = () => { return `🌟 MULTIMÍDIA 🌟`} -const smsLista19 = () => { return `📲 BAIXAR MENU 📲`} -const smsLista20 = () => { return `🔍 PESQUISAR MENU 🔍`} -const smsLista21 = () => { return `🛰️ MENU DO CONVERSOR 🛰️`} -const smsLista22 = () => { return `🧰 MENU MODIFICADOR DE ÁUDIO 🧰`} -const smsLista22_1 = () => { return `🔩 MENU DE FERRAMENTAS 🔩`} -const smsLista23 = () => { return `🌟 DIVERSÃO 🌟`} -const smsLista24 = () => { return `🎡 JOGOS DINÂMICOS 🎡`} -const smsLista25 = () => { return `🔊 MENU DE ÁUDIO 🔊`} -const smsLista26 = () => { return `🎈 MENU DE ADESIVOS E FILTROS 🎈`} -const smsLista27 = () => { return `✨ MENU DE EFEITOS E LOGOTIPOS ✨`} -const smsLista28 = () => { return `🌅 MENU LOGOS 2 🌅`} -const smsLista29 = () => { return `⛩️ MEMES E ANIMES ALEATÓRIOS ⛩️`} -const smsLista30 = () => { return `🔞 COMANDOS PARA ADULTOS +18 🔞`} -const smsLista31 = () => { return `🌟 DEFINIÇÕES 🌟`} -const smsLista32 = () => { return `🔰 MENU PARA GRUPOS 🔰`} -const smsLista33 = () => { return `📑 TIPOS DE LISTAS 📑`} -const smsLista34 = () => { return `⚙️ CENTRO DE CONFIGURAÇÃO ⚙️`} -const smsLista35 = () => { return `💎 MENU DO PROPRIETÁRIO 💎`} - -//main.js -const smsWelcome = () => { return `*╭┈⊰* @subject *⊰┈ ✦*\n*┊✨ BEM-VINDO!!*\n┊💖 @user\n┊📄 *LEIA A DESCRIÇÃO DO GRUPO*\n*╰┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ ✦*\n${String.fromCharCode(8206).repeat(850)}\n@desc`} -const smsBye = () => { return '*╭┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈⊰*\n┊ @user\n┊ *ELE SAIU DO GRUPO, VOLTE EM BREVE* 😎\n*╰┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈⊰*'} -const smsSpromote = () => { return '*@user AGORA VOCÊ É ADMINISTRADOR NESTE GRUPO!!*'} -const smsSdemote = () => { return '*@user NÃO É MAIS ADMINISTRADOR NESTE GRUPO!!*'} -const smsSdesc = () => { return '*A NOVA DESCRIÇÃO DO GRUPO É:*\n\n@desc'} -const smsSsubject = () => { return '*O NOVO NOME DO GRUPO É:*\n\n@subject'} -const smsSicon = () => { return '*A FOTO DESTE GRUPO FOI ALTERADA!!*'} -const smsSrevoke = () => { return '*AGORA ESTE É O NOVO LINK DESTE GRUPO!!*\n\n*@revoke*'} -const smsConexion = () => { return `\n𓃠 ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈✦ 🟢 CONEXÃO ✦┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ 𓃠\n│\n│★ CONEXÃO BEM-SUCEDIDA NO WHATSAPP 😺\n│\n𓃠 ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈✦ ✅ ✦┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ 𓃠`} -const smsCargando = () => { return `😸 CARREGANDO...\n`} -const smsCodigoQR = () => { return `\n✅ ESCANEAR O CÓDIGO QR EXPIRA EM 45 SEGUNDOS ✅`} -const smsConexionOFF = () => { return `\n⚠️ SEM CONEXÃO, APAGUE A PASTA ${global.authFile} E LEIA O CÓDIGO QR ⚠️`} -const smsClearTmp = () => { return `\n╭» 🟢 MULTIMÍDIA 🟢\n│→ ARQUIVOS DA PASTA TMP EXCLUÍDOS\n╰― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― 🗑️♻️`} -const smspurgeSession = () => { return `\n╭» 🔵 ${global.authFile} 🔵\n│→ SESSÕES NÃO ESSENCIAIS ELIMINADAS\n╰― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― 🗑️♻️`} -const smspurgeOldFiles = () => { return `\n╭» 🟠 ARQUIVOS 🟠\n│→ ARQUIVOS RESIDUAIS EXCLUÍDOS\n╰― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― 🗑️♻️`} -const smspurgeSessionSB1 = () => { return `\n╭» 🟡 GataJadiBot 🟡\n│→ NADA A DELETAR \n╰― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― 🗑️♻️`} -const smspurgeSessionSB2 = () => { return `\n╭» ⚪ GataJadiBot ⚪\n│→ ARQUIVOS NÃO ESSENCIAIS EXCLUÍDOS\n╰― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― 🗑️♻️`} -const smspurgeSessionSB3 = () => { return `\n╭» 🔴 GataJadiBot 🔴\n│→ UM ERRO OCORREU\n╰― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― 🗑️♻️\n`} -const smspurgeOldFiles1 = () => { return `\n╭» 🟣 ARQUIVO 🟣\n│→`} -const smspurgeOldFiles2 = () => { return `EXCLUIR COM SUCESSO\n╰― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― 🗑️♻️`} -const smspurgeOldFiles3 = () => { return `\n╭» 🔴 ARQUIVO 🔴\n│→`} -const smspurgeOldFiles4 = () => { return `FALHA AO EXCLUIR\n╰― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― ― 🗑️❌\n`} -const smsConexioncerrar = () => { return `\n╭┄┄┄┄┄┄┄┄┄┄┄┄┄┄ • • • ┄┄┄┄┄┄┄┄┄┄┄┄┄┄ ☹\n┆ ⚠️ CONEXÃO FECHADA, RECONECTANDO....\n╰┄┄┄┄┄┄┄┄┄┄┄┄┄┄ • • • ┄┄┄┄┄┄┄┄┄┄┄┄┄┄ ☹`} -const smsConexionperdida = () => { return `\n╭┄┄┄┄┄┄┄┄┄┄┄┄┄┄ • • • ┄┄┄┄┄┄┄┄┄┄┄┄┄┄ ☂\n┆ ⚠️ PERDEU A CONEXÃO COM O SERVIDOR, RECONECTANDO....\n╰┄┄┄┄┄┄┄┄┄┄┄┄┄┄ • • • ┄┄┄┄┄┄┄┄┄┄┄┄┄┄ ☂`} -const smsConexionreem = () => { return `\n╭┄┄┄┄┄┄┄┄┄┄┄┄┄┄ • • • ┄┄┄┄┄┄┄┄┄┄┄┄┄┄ ✗\n┆ ⚠️ CONEXÃO SUBSTITUÍDA, OUTRA NOVA SESSÃO FOI ABERTA, FECHE A SESSÃO ATUAL PRIMEIRO.\n╰┄┄┄┄┄┄┄┄┄┄┄┄┄┄ • • • ┄┄┄┄┄┄┄┄┄┄┄┄┄┄ ✗`} -const smsConexionreinicio = () => { return `\n╭┄┄┄┄┄┄┄┄┄┄┄┄┄┄ • • • ┄┄┄┄┄┄┄┄┄┄┄┄┄┄ ✓\n┆ ❇️ CONECTANDO AO SERVIDOR...\n╰┄┄┄┄┄┄┄┄┄┄┄┄┄┄ • • • ┄┄┄┄┄┄┄┄┄┄┄┄┄┄ ✓`} -const smsConexiontiem = () => { return `\n╭┄┄┄┄┄┄┄┄┄┄┄┄┄┄ • • • ┄┄┄┄┄┄┄┄┄┄┄┄┄┄ ▸\n┆ ⌛ A CONEXÃO ESPIROU, RECONECTANDO....\n╰┄┄┄┄┄┄┄┄┄┄┄┄┄┄ • • • ┄┄┄┄┄┄┄┄┄┄┄┄┄┄ ▸`} -const smsConexiondescon = (reason, connection) => { return `\n⚠️❗ MOTIVO DE DESCONEXÃO DESCONHECIDO: ${reason || ''} >> ${connection || ''}`} -const smsMainBot = () => { return "'main.js' FOI ATUALIZADO COM SUCESSO"} - -//_allantilink.js -const smsTextoYT = () => { return '😻 Super GataBot-MD - WhatsApp '} -const smsApagar = () => { return '❌ DESATIVAR'} -const smsEncender = () => { return '✅ ATIVAR'} -const smsEnlaceTik = () => { return `*UM LINK DO TIKTOK BANIDO FOI DETECTADO NESTE GRUPO*\n\n*EU CONTINUO A TE EXCLUIR*`} -const smsEnlaceYt = () => { return `*UM LINK DO YOUTUBE BANIDO FOI DETECTADO NESTE GRUPO*\n\n*EU CONTINUO A TE EXCLUIR*`} -const smsEnlaceTel = () => { return `*UM LINK DE TELEGRAM BANIDO FOI DETECTADO NESTE GRUPO*\n\n*EU CONTINUO A TE EXCLUIR*`} -const smsEnlaceFb = () => { return `*UM LINK DO FACEBOOK BANIDO FOI DETECTADO NESTE GRUPO*\n\n*EU CONTINUO A TE EXCLUIR*`} -const smsEnlaceIg = () => { return `*UM LINK DO INSTAGRAM BANIDO FOI DETECTADO NESTE GRUPO*\n\n*EU CONTINUO A TE EXCLUIR*`} -const smsEnlaceTw = () => { return `*UM LINK DO TWITTER BANIDO FOI DETECTADO NESTE GRUPO*\n\n*EU CONTINUO A TE EXCLUIR*`} -const smsAllAdmin = () => { return `*PRECISO SER ADMINISTRADOR PARA REMOVER INTRUDERS*`} -const smsSoloOwner = () => { return `*MEU CRIADOR DEVE ATIVAR A FUNÇÃO*\n*#on restrict*`} - -//handler.js -const smsCont1 = () => { return `*🔴 FALHA DE COMANDO 🔴*`} -const smsCont2 = () => { return `*⚠️ PLUGIN:*`} -const smsCont3 = () => { return `*⚠️ USUÁRIO:*`} -const smsCont4 = () => { return `*⚠️ COMANDO:*`} -const smsCont5 = () => { return `*⚠️ ERRO:*`} -const smsCont6 = () => { return `*❗ REPORTE ESTA MENSAGEM USANDO O COMANDO #reporte PARA RESOLVER*`} -const smsCont7 = () => { return `${global.lenguajeGB['smsAvisoAG']()}*NÃO TEM DIAMANTES!! 💎 VOCÊ PODE IR À LOJA COM O COMANDO*`} -const smsCont8 = () => { return ` *DIAMANTE 💎 USADO*`} -const smsCont9 = () => { return `${global.lenguajeGB['smsAvisoAG']()}*PRECISO DO NÍVEL ➡️*`} -const smsCont10 = () => { return `*PARA USAR ESTE COMANDO. SEU NÍVEL ATUAL É ➡️*`} -const smsCont11 = () => { return `*ATUALIZAR COM COMANDO*`} -const smsCont12 = () => { return `UM GRANDE GRUPO!! 😼`} -const smsCont13 = () => { return `ALGUÉM PARTICIPOU!! 🥳`} -const smsCont14 = () => { return `ALGUÉM DEIXOU!! 🧐`} -const smsCont15 = () => { return `*OLÁ*`} -const smsCont16 = () => { return `*AS CHAMADAS DE VÍDEO* 📲`} -const smsCont17 = () => { return `*AS CHAMADAS* 📞`} -const smsCont18 = () => { return `*NÃO ESTÃO AUTORIZADOS ENTÃO VOU TE BLOQUEAR*\n\n*SE LIGADO POR ACIDENTE ENTRE EM CONTATO COM A PESSOA CRIADORA DESTE BOT*`} -const smsCont19 = () => { return `ANTI EXCLUSÃO`} -const smsCont20 = () => { return `*┃✤ Nome:*`} -const smsCont21 = () => { return `*┃✤ Enviando a mensagem excluída...*`} - -//_anti-internacional.js -const smsInt1 = () => { return `*ESTE NÚMERO*`} -const smsInt2 = () => { return `*NÃO PERMITIDO NESTE GRUPO!!*`} - -//_antilink.js -const smsAdwa = () => { return `${global.lenguajeGB['smsAvisoEG']()}*COMO VOCÊ É ADMINISTRADOR NESTE GRUPO, VOCÊ NÃO SERÁ REMOVIDO*`} -const smsEnlaceWat = () => { return `${lenguajeGB['smsAvisoAG']()}*UM LINK DE WHATSAPP BANIDO FOI DETECTADO NESTE GRUPO*\n\n*EU CONTINUO A TE EXCLUIR*`} - -//_antilink2.js -const smsEnlaceWatt = () => { return `${lenguajeGB['smsAvisoAG']()}UM LINK PROIBIDO CONTENDO HTTPS FOI DETECTADO NESTE GRUPO\n\nEU CONTINUO A TE EXCLUIR`} - -//_antispam.js -const smsNoSpam = () => { return `🤨 NÃO FAÇA SPAM, VOCÊ NÃO PODERÁ USAR ${global.packname} POR ${60000 / 1000 - 59} MINUTO`} - -//_antispam_.js -const smsNoSpam2 = () => { return `FOI BANIDO DEPOIS ${60000 / 1000 - 59} MINUTO. POR FAVOR NÃO SPAM!!`} - -//Texto -const smsConMenu = () => { return `☘️ MENU`} - -//Erro -const smsMalError = () => { return `${lenguajeGB['smsAvisoFG']()}\`\`\`OCORREU UM ERRO INESPERADO.\`\`\``} -const smsMalError2 = () => { return `${lenguajeGB['smsAvisoFG']()}\`\`\`SURGIU UMA INCONVENIÊNCIA. TENTE NOVAMENTE.\`\`\``} -const smsMalError3 = () => { return `${lenguajeGB['smsAvisoFG']()}\`\`\`ALGO DEU ERRADO, DENUNCIE ESTE COMANDO USANDO:\`\`\`\n`} - -//_antitoxic.js -const smsToxic1 = () => { return `NÃO!!! 🤬 DIGA ESTA PALAVRA`} -const smsToxic2 = () => { return `É PROIBIDO NÃO SEJA TÓXICO`} -const smsToxic3 = () => { return `*AVISO*\n⚠️`} -const smsToxic4 = () => { return `😭 EU SINTO MUITO`} -const smsToxic5 = () => { return `☢️ DESATIVAR ANTITOXIC`} -const smsToxic6 = () => { return `EU TE AVISEI VÁRIAS VEZES!!`} -const smsToxic7 = () => { return `VOCÊ PASSOU EM TODOS OS 4 AVISOS AGORA VOCÊ SERÁ ELIMINADO 🙄`} - -//fazer compras -const eExp = () => { return '⚡ Experience' } -const eDiamante = () => { return '💎 Diamond' } -const eDiamantePlus = () => { return '💎+ Diamond+' } -const eToken = () => { return '🪙 Token' } -const eEsmeralda = () => { return '💚 Emerald' } -const eJoya = () => { return '♦️ Jewel' } -const eMagia = () => { return '🌀 Magic' } -const eOro = () => { return '👑 Gold' } -const eGataCoins = () => { return '🐱 GataCoins' } -const eGataTickers = () => { return '🎫 Gata Tickers' } -const eEnergia = () => { return '✨ Energy' } - -const ePocion = () => { return '🥤 Potion' } -const eAgua = () => { return '💧 Water' } -const eBasura = () => { return '🗑 Trash' } -const eMadera = () => { return '🪵 Wood' } -const eRoca = () => { return '🪨 Rock' } -const ePiedra = () => { return '🥌 Stone' } -const eCuerda = () => { return '🕸️ String' } -const eHierro = () => { return '⛓️ Iron' } -const eCarbon = () => { return '⚱️ Coal' } -const eBotella = () => { return '🍶 Bottle' } -const eLata = () => { return '🥫 Can' } -const eCarton = () => { return '🪧 Paperboard' } - -const eEletric = () => { return '💡 Electricity' } -const eBarraOro = () => { return '〽️ Gold bar' } -const eOroComun = () => { return '🧭 Common Gold' } -const eZorroG = () => { return '🦊🌫️ Big Fox' } -const eBasuraG = () => { return '🗑🌫️ Super Trash' } -const eLoboG = () => { return '🐺🌫️ Super Wolf' } -const eMaderaG = () => { return '🛷🌫️ Super Wood' } -const eEspada = () => { return '⚔️ Sword' } -const eCarnada = () => { return '🪱 Bait' } -const eBillete = () => { return '💵 Banknotes' } -const ePinata = () => { return '🪅 Pinata' } -const eGancho = () => { return '🪝 Hook' } -const eCanaPescar = () => { return '🎣 Fishing Rod' } - -const eCComun = () => { return '📦 Common Box' } -const ePComun = () => { return '🥡 Uncommon Box' } -const eCMistica = () => { return '🗳️ Mythic Box' } -const eCMascota = () => { return '📫 Pet Box' } -const eCJardineria = () => { return '💐 Gardening Box' } -const eClegendaria = () => { return '🎁 Legendary Box' } - -const eUva = () => { return '🍇 Grape' } -const eManzana = () => { return '🍎 Apple' } -const eNaranja = () => { return '🍊 Orange' } -const eMango = () => { return '🥭 Mango' } -const ePlatano = () => { return '🍌 Banana' } - -const eSUva = () => { return '🌾🍇 Grape seeds' } -const eSManzana = () => { return '🌾🍎 Apple seeds' } -const eSNaranja = () => { return '🌾🍊 Orange seeds' } -const eSMango = () => { return '🌾🥭 Mango Seeds' } -const eSPlatano = () => { return '🌾🍌 Banana seeds' } - -const eCentauro = () => { return '🐐 Centaur' } -const eAve = () => { return '🦅 Bird' } -const eGato = () => { return '🐈 Cat' } -const eDragon = () => { return '🐉 Dragon' } -const eZorro = () => { return '🦊 Fox' } -const eCaballo = () => { return '🐎 Horse' } -const eFenix = () => { return '🕊️ Phoenix' } -const eLobo = () => { return '🐺 Wolf' } -const ePerro = () => { return '🐶 Dog' } - -const eAMascots = () => { return '🍖 Pet Food' } -const eCCentauro = () => { return '🐐🥩 Centaur Food' } -const eCAve = () => { return '🦅🥩 Bird Food' } -const eCMagica = () => { return '🌀🥩 Magic Food' } -const eCDragon = () => { return '🐉🥩 Dragon Food' } -const eACaballo = () => { return '🐎🥩 Horse Food' } -const eCFenix = () => { return '🕊️🥩 Phoenix Food' } - - -//config-on y off.js -const smsWel1 = () => { return `🎉 BEM-VINDO`} -const smsWel2 = () => { return `Mensagem de boas-vindas para novos membros em grupos`} -const smsDete1 = () => { return `🔔 AVISOS`} -const smsDete2 = () => { return `Avisos de ações dentro do Grupo`} -const smsANivel1 = () => { return `🆙 NÍVEL AUTOMÁTICO`} -const smsANivel2 = () => { return `Suba de nível todos automaticamente; (Aplica recompensas por subir de nível)`} -const smsRestri1 = () => { return `⛔ RESTRINGIR`} -const smsRestri2 = () => { return `Ativar função para adicionar ou remover pessoas em Grupos`} -const smsLlamar1 = () => { return `🚫 ANTI CHAMADAS`} -const smsLlamar2 = () => { return `Bloquear pessoas que fazem chamadas`} -const smsAntiSp1 = () => { return `🚯 ANTI SPAM`} -const smsAntiSp2 = () => { return `Proibir o Uso de Comandos quando alguém realizar algum tipo de Spam`} -const smsModP1 = () => { return `🌐 MODO PÚBLICO`} -const smsModP2 = () => { return `Ativar função para que todos possam usar o GataBot`} -const smsModAd1 = () => { return `🛂 MODO ADMINISTRADOR`} -const smsModAd2 = () => { return `Apenas Admins poderão usar o GataBot em Grupos`} -const smsLect1 = () => { return `✅ LEITURA AUTOMÁTICA`} -const smsLect2 = () => { return `Deixar mensagens ou chats como lidos`} -const smsTempo1 = () => { return `🐈 BOT TEMPORÁRIO`} -const smsTempo2 = () => { return `Função que permite permanência temporária em Grupos`} -const smsStik1 = () => { return `🎠 ADESIVOS`} -const smsStik2 = () => { return `Ative o envio automático de Stickers para todos`} -const smsStickA1 = () => { return `🪄 ADESIVOS AUTOMÁTICOS`} -const smsStickA2 = () => { return `Vídeos, Gifs, imagens, links jpg ou jpeg; Eles serão convertidos em adesivos automaticamente`} -const smsReacc1 = () => { return `🤡 REAÇÃO `} -const smsReacc2 = () => { return `Habilitar o envio automático de Reações às mensagens`} -const smsAudi1 = () => { return `🔊 ÁUDIO`} -const smsAudi2 = () => { return `Habilite o envio automático de áudios para todos`} -const smsModHor1 = () => { return `🔞 MODO QUENTE`} -const smsModHor2 = () => { return `Mostrar conteúdo adulto nos bate-papos`} -const smsAntitoc1 = () => { return `☢️ ANTI TÓXICO`} -const smsAntitoc2 = () => { return `Envie Avisos para as pessoas que insultam`} -const smsModOb1 = () => { return `👀 MODO DE OBSERVAÇÃO`} -const smsModOb2 = () => { return `Torne imagens, gifs e vídeos visíveis para todos`} -const smsAntiEli1 = () => { return `🗑️ ANTI EXCLUSÃO`} -const smsAntiEli2 = () => { return `Todas as mensagens excluídas serão encaminhadas para o Chat ou Grupo`} -const smsAntiInt1 = () => { return `🌏 ANTI INTERNACIONAL`} -const smsAntiInt2 = () => { return `Elimine Números Internacionais considerados falsos`} -const smsAntiE1 = () => { return `🔗 ANTI-LINKS`} -const smsAntiE2 = () => { return `Excluir pessoas que enviam links de grupos do WhatsApp`} -const smsAntiEE1 = () => { return `🔗 ANTI-LINKS 2`} -const smsAntiEE2 = () => { return `Eliminar Personas que envíen enlaces que contengan https`} -const smsAntiTT1 = () => { return `🔗 ANTI TIK TOK`} -const smsAntiTT2 = () => { return `Remover pessoas que enviam links do TikTok`} -const smsAntiYT1 = () => { return `🔗 ANTI YOUTUBE`} -const smsAntiYT2 = () => { return `Remover pessoas que enviam links do YouTube`} -const smsAntiTEL1 = () => { return `🔗 ANTI TELEGRAM`} -const smsAntiTEL2 = () => { return `Remover pessoas que enviam links de Telegram`} -const smsAntiFB1 = () => { return `🔗 ANTI FACEBOOK`} -const smsAntiFB2 = () => { return `Remover pessoas que enviam links do Facebook`} -const smsAntiIG1 = () => { return `🔗 ANTI INSTAGRAM`} -const smsAntiIG2 = () => { return `Remover pessoas que enviam links do Instagram`} -const smsAntiTW1 = () => { return `🔗 ANTI TWITTER `} -const smsAntiTW2 = () => { return `Remover pessoas que enviam links do Twitter`} -const smsSOLOP1 = () => { return `⚜️ APENAS PRIVADO`} -const smsSOLOP2 = () => { return `Permitir que seja usado apenas em bate-papos privados`} -const smsSOLOG1 = () => { return `⚜️ APENAS GRUPOS`} -const smsSOLOG2 = () => { return `Permitir que seja usado apenas em bate-papos em grupo`} -const smsConfi1 = () => { return `DEFINIÇÕES`} -const smsConfi2 = () => { return `*Olá!*`} -const smsConfi3 = () => { return `┃ *Selecione uma opção da lista*`} -const smsConfi4 = () => { return `┃ *Para começar a configurar*`} -const smsConfi5 = () => { return `┃● *Avisos de configuração:*`} -const smsConfi6 = () => { return `┃ ✅ ⇢ *Função ativada*`} -const smsConfi7 = () => { return `┃ ❌ ⇢ *Função desabilitada*`} -const smsConfi8 = () => { return `┃ ⚠️ ⇢ *Este bate-papo não é um grupo*`} -const smsConfi9 = () => { return `┃ *Recomendação: Para ver a configuração*\n┃ *Complete use este Menu de Grupo*\n┃`} -const smsConfi10 = () => { return `*~ CENTRO DE CONFIGURAÇÃO*`} -const smsParaAdmins = () => { return `PARA ADMINISTRADORES E CRIADOR: GRUPOS`} -const smsParaAdYOw = () => { return `PARA ADMINISTRADORES E CRIADORES: CHATS`} -const smsParaOw = () => { return `PARA CRIADOR: CHATS`} -const smsNoGg = () => { return ` | ⚠️`} -const smsMens1 = () => { return `COMANDO`} -const smsMens2 = () => { return `ATUALMENTE`} -const smsMens3 = () => { return `NESTE`} -const smsMens4 = () => { return `BOT`} -const smsMens5 = () => { return `Bate-papo`} - -//Error2 -const smsMensError1 = () => { return `❕COMANDO DE RELATÓRIO ❕`} -const smsMensError2 = () => { return `O seguinte comando está falhando`} - -//_antiviewonce.js -const smsAntiView = () => { return `*NADA PODE SER ESCONDIDO* 😎`} - -//_autolevelup.js -const smsAutoLv1 = () => { return `🎖️ NOVO NÍVEL 🎖️`} -const smsAutoLv2 = () => { return `NÍVEL ANTERIOR:`} -const smsAutoLv3 = () => { return `NÍVEL ATUAL:`} -const smsAutoLv4 = () => { return `ALCANCE:`} -const smsAutoLv5 = () => { return `DATA:`} -const smsAutoLv6 = () => { return `Você atingiu um novo nível!!!`} -const smsAutoLv7 = () => { return `🥳 RECOMPENSA PELO SEU NOVO NÍVEL`} - -//_autosticker.js -const smsAutoStik = () => { return `${lenguajeGB['smsAvisoFG']()}*O VÍDEO NÃO DEVE DURAR MAIS DE 7 SEGUNDOS.*`} - -//_expired.js -const smsBottem1 = () => { return `*SAIR DO GRUPO!!! 🤝 SE VOCÊ QUER VOLTAR, USE O COMANDO _#bottemporal_ PARA VOLTAR AO GRUPO!!*`} -const smsBottem2 = () => { return `*💕 ASSISTÊNCIA AO USUÁRIO*\n*_${global.ig}_*\n`} -const smsBottem3 = () => { return `VEJO VOCÊ EM BREVE 💖`} - -//_premium.js -const smsPremI = () => { return `*¡SEU TEMPO PREMIUM ACABOU!* 🎟️\n*PARA OBTER UM NOVO PASSE PREMIUM USE O COMANDO:*\n*#pass prem*`} - -//afk-_afk.js -const smsAfkM1 = () => { return `*VOCÊ DEIXOU DE SER INATIVO AFK*`} -const smsAfkM2 = () => { return `\n*O MOTIVO DA INATIVIDADE FOI:*\n`} -const smsAfkM3 = () => { return `⏳ *TEMPO OCIOSO:*`} -const smsAfkM4 = () => { return `*NÃO MARQUE ESTE USUÁRIO!! ESTÁ INATIVO*\n`} -const smsAfkM5 = () => { return `*MOTIVO PARA INATIVIDADE AFK:*\n`} -const smsAfkM6 = () => { return `*MOTIVO PARA INATIVIDADE AFK:\nNÃO ESPECIFICOU O MOTIVO DA INATIVIDADE*`} -const smsAfkTime = () => { return [['dias'], ['horas'], ['minutos'], ['segundos']] } -const smsAfkResultTime = smsAfkTime() - -//afk-afk.js -const smsAfkQ1 = (usedPrefix, command) => { return `${lenguajeGB['smsAvisoMG']()}*ESCREVA A RAZÃO PELA QUAL ESTÁ INATIVO (AFK)*\n\n*EXEMPLO:*\n*${usedPrefix + command}* vou fazer lição de casa`} -const smsAfkQ2 = () => { return `${lenguajeGB['smsAvisoMG']()}*MÍNIMO DE 10 CARACTERES DEVEM SER A RAZÃO*`} -const smsAfkM1A = () => { return `*NÃO ETIQUETE A*`} -const smsAfkM1B = () => { return `*VAI ESTAR INATIVO AFK*\n\n*MOTIVO PARA INATIVIDADE AFK:*`} - -//anonymous_chat.js -const smsChatAn1 = () => { return `${lenguajeGB['smsAvisoFG']()}*VOCÊ NÃO ESTÁ NO CHAT ANÔNIMO*`} -const smsChatAn2 = () => { return `*SE QUISER INICIAR UM CHAT ANÔNIMO USE O COMANDO #start OU ACESSE O BOTÃO ABAIXO*\n`} -const smsChatAn3 = () => { return `⚡ INICIAR CHAT ANÔNIMO`} -const smsChatAn4 = () => { return `${lenguajeGB['smsAvisoRG']()}🪐 *VOCÊ SAIU DO CHAT ANÔNIMO*`} -const smsChatAn5 = () => { return `${lenguajeGB['smsAvisoAG']()}*O OUTRO USUÁRIO SAIU DO CHAT ANÔNIMO*`} -const smsChatAn6 = () => { return `*SE QUISER IR PARA OUTRO CHAT ANÔNIMO USE O COMANDO #start OU ACESSE O BOTÃO ABAIXO*\n`} -const smsChatAn7 = () => { return `${lenguajeGB['smsAvisoAG']()}*VOCÊ AINDA ESTÁ EM UM CHAT ANÔNIMO OU ESPERANDO QUE ALGUÉM ENTRE NO CHAT*`} -const smsChatAn8 = () => { return `*SE QUISER SAIR DO CHAT ANÔNIMO USE O COMANDO #leave OU VOCÊ PODE USAR O BOTÃO ABAIXO*\n`} -const smsChatAn9 = () => { return `🍁 SAIR DO CHAT ANÔNIMO`} -const smsChatAn10 = () => { return `${lenguajeGB['smsAvisoEG']()}✨ *ELES PODEM CONVERSAR AGORA*`} -const smsChatAn11 = () => { return `*ALGUÉM ENTROU NO CHAT ANÔNIMO!!*`} -const smsChatAn12 = () => { return `❇️ OUTRO USUÁRIO`} -const smsChatAn13 = () => { return `${lenguajeGB['smsAvisoRG']()}🐈 *ESPERANDO ALGUÉM ENTRAR NO CHAT ANÔNIMO, SEJA PACIENTE*`} - -//Botones de Menú -const smsBotonM1 = () => { return `⚡ MENU INICIAR ⚡`} -const smsBotonM2 = () => { return `💫 MENU COMPLETO 💫`} -const smsBotonM3 = () => { return `🎒 INVENTÁRIO 🎒`} -const smsBotonM4 = () => { return `USUÁRIOS`} -const smsBotonM5 = () => { return `VARIAR`} -const smsBotonM6 = () => { return `NÍVEL`} -const smsBotonM7 = () => { return `PREMIUM`} -const smsTex1 = () => { return '*MENU DE PESQUISA*'} -const smsTex2 = () => { return '*MODIFICADOR DE ÁUDIO*'} -const smsTex3 = () => { return '*MENU +18*'} -const smsTex4 = () => { return '*CONTEÚDO DINÂMICO*'} -const smsTex5 = () => { return '*PESQUISE E BAIXE*'} -const smsTex6 = () => { return '*MENU +18 PREMIUM*'} -const smsTex7 = () => { return '⠇ *Imagens +18 qualidade e variedade*\n⠇ *Vídeos +18 só para você*\n⠇ *Adesivos +18 disponíveis*'} -const smsTex8 = () => { return '*MENU DO CONVERSOR*'} -const smsTex9 = () => { return '*MENU DE DOWNLOADS*'} -const smsTex10 = () => { return '*MENU DE JOGOS DINÂMICOS*'} -const smsTex11 = () => { return '*MENU PARA GRUPOS*'} -const smsTex12 = () => { return '*MENU DE FERRAMENTAS*'} -const smsTex13 = () => { return '*MENU DE INFORMAÇÕES*'} -const smsTex14 = () => { return '*MENU DE EFEITOS E LOGOTIPOS*'} -const smsTex15 = () => { return '*MENU DE LOGOTIPOS 2*'} -const smsTex16 = () => { return 'MENU DE ÁUDIO'} -const smsTex17 = () => { return '*NÃO É NECESSÁRIO USAR PREFIXO NOS ÁUDIOS*'} -const smsTex18 = () => { return 'LISTA DE ÁUDIO'} -const smsTex19 = () => { return '*VOCÊ PODE SELECIONAR O ÁUDIO!!*'} -const smsTex20 = () => { return '*MENU DO PROPRIETÁRIO*'} -const smsTex21 = () => { return '*RPG MENU*'} -const smsTex22 = () => { return '*MENU DE ADESIVOS E FILTROS*'} -const smsTex23 = () => { return '*MEMES ALEATÓRIOS E MENU DE ANIME*'} - -//info-grupos-lista.js -const smsLisA = () => { return '_*Está nesses grupos:*_'} -const smsLisB = () => { return '*✦ Grupos totais:*'} -const smsLisC = () => { return '*✦ Grupos:*'} -const smsLisD = () => { return '*✦ id:*'} -const smsLisE = () => { return '*✦ participantes:*'} - -//ad -const smsMalused = () => { return '⚡ *USE O COMANDO ASSIM:*\n'} -const smsMalused2 = () => { return `${lenguajeGB['smsAvisoMG']()}🐈 *VOCÊ DEVE USAR O COMANDO COMO ESTE EXEMPLO:*\n`} -const smsMalused3 = () => { return `${lenguajeGB['smsAvisoMG']()}🐈 *VOCÊ DEVE USAR O COMANDO OU RESPONDER À MENSAGEM DE ALGUÉM COMO ESTE EXEMPLO:*\n`} - -//gc-config_time.js -const smsGrupoTime1 = () => { return '🔓 *_GRUPO ABERTO EM UMA HORA_*'} -const smsGrupoTime2 = () => { return '🔒 *_FECHAR GRUPO EM UMA HORA_*'} -const smsGrupoTime3 = () => { return '*GRUPO'} -const smsGrupoTime4 = () => { return 'FECHADO'} -const smsGrupoTime5 = () => { return 'ABRIR'} -const smsGrupoTime6 = () => { return '*DURANTE'} -const smsGrupoTime7 = () => { return '🔒 *O GRUPO ESTÁ FECHADO, APENAS OS ADMINISTRADORES PODEM ENVIAR MENSAGENS*'} -const smsGrupoTime8 = () => { return '🔓 *O GRUPO ESTÁ ABERTO, TODOS PODEM ENVIAR MENSAGENS*'} -const smsGrupoTime9 = () => { return '🔓 GRUPO ABERTO DURANTE '} -const smsGrupoTime10 = () => { return '🔒 FECHAR GRUPO DURANTE '} -const smsGrupoTime11 = () => { return ' HORA'} -const smsGrupoTime12 = () => { return 'PERMITIR QUE O GRUPO TENHA PASSADO '} -const smsGrupoTime13 = () => { return 'PERMITIR QUE O GRUPO FECHE '} - -//grupo-add.js -const smsAddB1 = () => { return `${lenguajeGB['smsAvisoFG']()}*NÃO É POSSÍVEL ADICIONAR NÚMERO, POR FAVOR VERIFIQUE SE ESTÁ CORRETO, TALVEZ SEJA RECENTEMENTE OU SUA PRIVACIDADE ESTÁ DEFINIDA.*`} -const smsAddB2 = () => { return `${lenguajeGB['smsAvisoFG']()}*NÃO É POSSÍVEL ADICIONAR O NÚMERO, VERIFICAR SE ESTÁ CORRETO OU ADICIONAR MANUALMENTE.*`} - -//grupo-admins.js -const smsAddB3 = () => { return `*NOTIFICAÇÃO PARA ADMINISTRADORES*`} -const smsAddB4 = () => { return `*PRESENÇA ADMINISTRATIVA*`} -const smsAddB5 = () => { return `*MENSAGEM:*`} -const smsAddB6 = () => { return `Solicito aos admins, por favor.`} - -//grupo-advertencia.js -const smsAdveu1 = () => { return `${lenguajeGB['smsAvisoAG']()}*SÓ PODE USAR SE A FUNÇÃO ESTIVER ATIVADA:*\n`} -const smsAdveu2 = () => { return 'Razão'} -const smsAdveu3 = () => { return `${lenguajeGB['smsAvisoMG']()}*LEMBRE-SE DE ESCREVER O MOTIVO DO AVISO*\n`} -const smsAdveu4 = () => { return '*RECEBI UM AVISO NESTE GRUPO!!*'} -const smsAdveu5 = () => { return 'AVISO'} -const smsAdveu6 = () => { return '🎒 INVENTÁRIO'} -const smsAdveu7 = () => { return '*EU TE AVISEI VÁRIAS VEZES!!*'} -const smsAdveu8 = () => { return '*AGORA VOCÊ SERÁ EXCLUÍDO* 🙄'} -const smsAdveu9 = () => { return '😇 OBRIGADA'} -const smsAdveu10 = () => { return '*UM AVISO FOI REMOVIDO NESTE GRUPO!!*'} -const smsAdveu11 = () => { return 'Antes da:'} -const smsAdveu12 = () => { return 'Agora:'} - -//grupo-demote.js || grupo-promote.js -const smsDemott = () => { return `*O NÚMERO É INVÁLIDO, TENTE NOVAMENTE RESPONDER A MENSAGEM DE ALGUÉM OU USE COMO ESSE EXEMPLO:*\n`} -const smsDemott2 = () => { return '*AGORA TEM PODER NO GRUPO!!*'} -const smsDemott3 = () => { return '*NÃO TEM MAIS PODER NO GRUPO!!*'} - -//grupo-info.js -const smsGI1 = () => { return '*INFORMAÇÕES DO GRUPO*'} -const smsGI2 = () => { return '*ID DO GRUPO*'} -const smsGI3 = () => { return '*NOME DO GRUPO*'} -const smsGI4 = () => { return '*DESCRIÇÃO DO GRUPO*'} -const smsGI5 = () => { return '*SEM DESCRIÇÃO*'} -const smsGI6 = () => { return '*NÚMERO DE USUÁRIOS*'} -const smsGI7 = () => { return '*Usuários*'} -const smsGI8 = () => { return '*CRIADOR DO GRUPO*'} -const smsGI9 = () => { return '*ADMIN DO GRUPO*'} -const smsGI10 = () => { return '⚙️ CONFIGURAÇÕES DE GRUPO'} - - -//grupo-kick.js -const smskick1 = () => { return `${lenguajeGB['smsAvisoAG']()}*MARQUE A PESSOA OU RESPONDA A MENSAGEM DA PESSOA QUE DESEJA EXCLUIR*\n\n*EXEMPLO: `} -const smskick2 = () => { return `REMOVIDO 😼🫵`} -const smskick3 = () => { return `NÃO CONSIGO EXCLUIR O CRIADOR DO GRUPO 😆🫵`} -const smskick4 = () => { return `NÃO ESTÁ NESTE GRUPO 👻`} - -//grupo-tagall.js -const smstagaa = () => { return `⚡ CONVOCANDO O GRUPO ⚡`} - -//grupo-setbye.js -const smsSetB = () => { return `${lenguajeGB['smsAvisoEG']()}*A DESPEDIDA DO GRUPO ESTÁ CONFIGURADA*`} -const smsSetB2 = () => { return `${lenguajeGB['smsAvisoIIG']()}🙌 *_ESCREVA A MENSAGEM DE ADEUS_*\n*_OPCIONAL VOCÊ PODE USAR WHAT IS COM "@" PARA ADICIONAR MAIS INFORMAÇÕES:_*\n\n*⚡ @user (Menção ao usuário)*\n\n*LEMBRE-SE QUE O "@" É OPCIONAL*`} - -//grupo-setwelcome.js -const smsSetW = () => { return `${lenguajeGB['smsAvisoEG']()}*AS BOAS-VINDAS DO GRUPO FOI CONFIGURADA*`} -const smsSetW2 = () => { return `${lenguajeGB['smsAvisoIIG']()}🙌 *_ESCREVA A MENSAGEM DE BEM-VINDO_*\n*_OPCIONAL VOCÊ PODE USAR WHAT IS COM "@" PARA ADICIONAR MAIS INFORMAÇÕES:_*\n\n*⚡ @user (Menção ao usuário)*\n*⚡ @subject (Nome do grupo)*\n*⚡ @desc (Descrição do grupo)*\n\n*LEMBRE-SE QUE OS "@" SÃO OPCIONAIS*`} - -//grupo-setdesc.js -const smsDest = () => { return `${lenguajeGB['smsAvisoEG']()}*A DESCRIÇÃO DO GRUPO FOI CONFIGURADA*`} - -//grupo-setname.js -const smsNam1 = () => { return `${lenguajeGB['smsAvisoEG']()}*O NOME DO GRUPO FOI DEFINIDO*`} -const smsNam2 = () => { return `${lenguajeGB['smsAvisoMG']()}*🙌 ESCREVA O NOME DO NOVO GRUPO*`} -const smsNam3 = () => { return `${lenguajeGB['smsAvisoFG']()}*O NOME DO GRUPO NÃO DEVE TER MAIS DE 25 CARACTERES*`} - -//grupo-restaurarEnlace.js -const smsRestGp = () => { return `${lenguajeGB['smsAvisoEG']()}*O LINK DO GRUPO FOI REINICIALIZADO*`} - -//Button -const smsSig = () => { return `➡️ PRÓXIMO ➡️`} -const smsSigPrem = () => { return `❤️‍🔥 PRÓXIMO ❤️‍🔥`} -const smsCont18Porn = () => { return `🔞 *CONTEÚDO* 🔞`} //texto -const smsCont18Porn2 = () => { return `🔞 CONTEÚDO 🔞`} //texto -const smsCont18PornP = () => { return `🌟 *CONTEÚDO ❤️‍🔥 PRÊMIO* 🌟`} //texto -const smsCont18PornP2 = () => { return `CONTEÚDO ❤️‍🔥 PRÊMIO`} //texto - -//propietario(a).js -const smsJoin = (user) => { return `${packname}\n𝙀𝙎 𝙐𝙉 𝘽𝙊𝙏 𝘿𝙀 𝙒𝙃𝘼𝙏𝙎𝘼𝙋𝙋 𝙌𝙐𝙀 𝙏𝙀 𝘼𝙔𝙐𝘿𝘼𝙍𝘼 𝙍𝙀𝘼𝙇𝙄𝙕𝘼𝙍 𝘿𝙄𝙁𝙀𝙍𝙀𝙉𝙏𝙀𝙎 𝘼𝘾𝙏𝙄𝙑𝙄𝘿𝘼𝘿𝙀𝙎 🪄 𝘼𝙇 𝙋𝙍𝙄𝙑𝘼𝘿𝙊 𝙊 𝙂𝙍𝙐𝙋𝙊 𝙔 𝙏𝘼𝙈𝘽𝙄𝙀𝙉 𝙏𝙀 𝙑𝘼𝙎 𝘼 𝘿𝙄𝙑𝙀𝙍𝙏𝙄𝙍 🎈 𝘾𝙊𝙉 𝙎𝙐𝙎 𝙈𝙐𝙇𝙏𝙄𝙋𝙇𝙀𝙎 𝙁𝙐𝙉𝘾𝙄𝙊𝙉𝙀𝙎, 𝘿𝙄𝙎𝙁𝙍𝙐𝙏𝘼 𝘿𝙀 𝙂𝘼𝙏𝘼𝘽𝙊𝙏!!! 😸\n\n💖 𝙂𝘼𝙏𝘼𝘽𝙊𝙏 𝙁𝙐𝙀 𝙄𝙉𝙑𝙄𝙏𝘼𝘿𝘼 𝙋𝙊𝙍:\n@${user}`} -const smsJoin1 = (usedPrefix, command) => { return lenguajeGB['smsAvisoMG']() + `*INGRESE EL ENLACE DE UN GRUPO*\n*EJEMPLO:*\n*${usedPrefix + command}* ${nna}`} -const smsJoin2 = () => { return lenguajeGB['smsAvisoEG']() + `${packname}\n*SE HA UNIDO AL GRUPO ✅*`} - -//propietario(a.js -const smsPropban1 = (usedPrefix, command, bot) => { return `${lenguajeGB['smsAvisoMG']()}*ETIQUETE A ALGUIEN O RESPONDA AL MENSAJE DEL USUARIO O ESCRIBA EL NÚMERO QUE QUIERE BANEAR DE LOS COMANDOS*\n\n*EJEMPLO:*\n*${usedPrefix + command} @${bot}*`} -const smsPropban2 = (bot) => { return `${lenguajeGB['smsAvisoFG']()}*@${bot} NO PUEDE SER BANEADO CON ESTE COMANDO* 😹`} -const smsPropban3 = (ownerNumber) => { return `${lenguajeGB.smsAvisoIIG()}😳 *NO PUEDO BANEAR AL OWNER @${ownerNumber} DE ${packname}*`} -const smsPropban4 = (number) => { return `${lenguajeGB.smsAvisoIIG()}*NO ES NECESARIO VOLVER A BANEAR A @${number} SI YA LO ESTÁ* 😊`} -const smsPropban5 = () => { return `${lenguajeGB['smsAvisoEG']()}*USUARIO BANEADO CON ÉXITO* 🙀`} -const smsPropban6 = (number, usr) => { return `${lenguajeGB.smsAvisoAG()}*@${number} ESTAS BANEADO/A POR @${usr} NO PUEDES USAR LOS COMANDOS HASTA QUE ALGUIEN REVIERTA EL BANEO* 😿`} -const smsPropban7 = (usedPrefix, command, number) => { return `${lenguajeGB['smsAvisoFG']()}*SURGIÓ UN ERROR, PUEDE SER QUE EL USUARIO NO ESTE EN MI BASE DE DATOS INTENTE ESCRIBIR ${usedPrefix + command} ${number}*\n\`\`\`SI EL ERROR CONTINÚA REPORTE ESTE COMANDO\`\`\``} - -//propietario(a).js -const smsBCMensaje = (usedPrefix, command) => { return `*Responda à mensagem ou escreva a mensagem usada ${usedPrefix + command}*`} -const smsBCMensaje2 = () => { return `*Enviou mensagem oficial, espere um momento ... *`} -const smsBCMensaje3 = (totalPri, time) => { return `✅ * A mensagem foi enviada ${totalPri} para bate -papos Tempos de envio totais privados: ${time}*\n${totalPri >= 3000 ? '\n* Eles não foram enviados para todos os bate -papos para evitar a saturação*' : ''}`} - -//propietario(a).js -const smsBCbot1 = () => { return `✅ *Mensagem *`} -const smsBCbot2 = () => { return `Privado`} -const smsBCbot3 = () => { return `Conjunto`} -const smsBCbot4 = () => { return `Total`} -const smsBCbot5 = () => { return `Tempo total de envio:`} -const smsBCbot6 = () => { return ` Eles não foram enviados para todos os bate -papos para evitar a saturação`} -const smsBCbot7 = () => { return `✅ *Declaração oficial ✅`} - -//propietario(a).js -const smsChatGP1 = () => { return "*Mensagem enviada, espere um momento...*"} -const smsChatGP2 = (readMS, dia, mes, año, fecha, tiempo) => { return `✅ *declaração oficial * ✅\n${readMS}\n\`\`\`${dia}, ${mes} ${año}\`\`\`\n\`\`\`${fecha} || ${tiempo}\`\`\`\n\n`} -const smsChatGP3 = (totalGP) => { return `✅ *A mensagem foi enviada para ${totalGP} grupos*`} - -//jadibot-serbot.js -const smsIniJadi = () => { return `*⊹ • • • ミ★ ${global.packname} ミ★• • • ⊹*\n\n*ღ Versão de ${global.packname} » _${global.vs}_*\n*ღ Versão JadiBot » _${global.vsJB}_*\n\n🟢 *_FUNÇÃO SER SUB BOT_* 🟢\n\n*➡️ Com outro celular ou PC, escaneie este QR para se tornar um Sub Bot*\n\n*1️⃣ Vá para os três pontos no canto superior direito*\n*2️⃣ Vá para a opção Dispositivos emparelhados*\n*3️⃣ Escaneie este código QR para fazer login*\n\n📢 *¡Este código QR expira em 45 segundos!*`} -const smsSoloOwnerJB = () => { return `${lenguajeGB['smsAvisoAG']()}*ESTE COMANDO ESTÁ DESATIVADO PELO MEU PROPRIETÁRIO*`} -const smsJBPrincipal = () => { return `${lenguajeGB['smsAvisoAG']()}🔵 *PARA SER UM SUB BOT VAI AO NÚMERO PRINCIPAL*\n*ღ Entre no seguinte link:*\n`} -const smsJBConexion = () => { return `${lenguajeGB['smsAvisoFG']()}🟡 *A CONEXÃO FOI FECHADA DE FORMA INESPERADA, TENTAREMOS RECONECTAR...*`} -const smsJBConexionClose = () => { return `${lenguajeGB['smsAvisoFG']()}🔴 *A CONEXÃO FOI FECHADA, VOCÊ DEVE CONECTAR MANUALMENTE ATRAVÉS DO #jadibot COMANDO E ESCANEAR O NOVO CÓDIGO QR*`} -const smsJBConexionTrue = () => { return `${lenguajeGB['smsAvisoEG']()}🟢 *CONEXÃO COM SUCESSO!!!*`} -const smsJBConexionTrue2 = () => { return `${lenguajeGB['smsAvisoEG']()}🟢 *CONEXÃO COM SUCESSO!!! VOCÊ PODE SE CONECTAR USANDO:*`} -const smsJBCargando = () => { return `${lenguajeGB['smsAvisoIIG']()}⚪ *ESTÁ CONECTADO!! AGUARDE AS MENSAGENS ESTÃO CARREGANDO...*\n\n♻️ *OPÇÕES DISPONÍVEIS:*\n*» #stop _(Recurso Parar Subbot)_*\n*» #deletesesion _(Exclua todos os vestígios de Sub Bot)_*\n*» #jadibot _(Obtenha um novo código QR para ser Sub Bot)_*`} -const smsJBInfo1 = () => { return `💖 *LINK ÚTIL*`} -const smsJBInfo2 = () => { return `💖 *A função é estável, se apresentar algum inconveniente Entre em contato com o e-mail: centergatabot@gmail.com*\n💝 *Você pode fazer uma doação voluntária pelo PayPal: ${global.paypal}*\n\n*Muito obrigado pelo apoio ${global.packname}*`} - -//jadibot-deleteSesion.js -const smsJBDel = () => { return `${lenguajeGB['smsAvisoAG']()}*USE ESTE COMANDO PARA O BOT PRINCIPAL*`} -const smsJBAdios = () => { return `${lenguajeGB['smsAvisoEG']()}*VOU SENTIR SAUDADES ${global.packname} TCHAU!! 🥹*`} -const smsJBCerrarS = () => { return `${lenguajeGB['smsAvisoEG']()}*VOCÊ SAIU E EXCLUIU TODOS OS RASTREIOS*`} -const smsJBErr = () => { return `*YOU HAVE LOGGED OUT AS A SUB BOT* ♻️`} - -//comandos+18-adult.js -const smsContAdult = () => { return `${lenguajeGB['smsAvisoAG']()}*OS COMANDOS 🔞 ELES ESTÃO DESATIVADOS, SE VOCÊ FOR MEU CRIADOR, USE #on modohorny*`} - -//comandos+18-menu.js -const smsList1 = () => { return `Não tem o suficiente `} -const smsList2 = () => { return `\nClique aqui para comprar `} -const smsList3 = () => { return `Conteúdo disponível 😸`} -const smsList4 = () => { return `Conteúdo não disponível 😿\nClique aqui para comprar `} -const smsList5 = () => { return `*Selecione uma opção*\n*Da lista para ver o*\n*conteúdo* 😋`} -const smsList6 = () => { return `👀 VER LISTA 👀`} - -//descargas-consejos.js -const smsConj = () => { return `🍃 NOVO CONSELHO`} -const smsFras = () => { return `🍃 NOVA FRASE`} - -//info-contacto.js -const smsContacto1 = () => { return ' Sou ' + packname + ' um WhatsApp Bot dedicado a ajudar com o que você pedir 😎'} -const smsContacto2 = () => { return 'Eu sou o dono da ' + packname + ' se você tiver alguma dúvida, você pode me dizer ✌️'} -const smsContacto3 = () => { return '👑 Proprietário'} -const smsContacto4 = () => { return 'Contato Oficial GataBot 🐈'} -const smsContacto5 = () => { return '🐣 Como posso ajudá-lo?'} -const smsContacto6 = () => { return 'Eu não tenho correio 🙏'} -const smsContacto7 = () => { return '🌎 Global'} -const smsContacto8 = () => { return 'Esta conta é bot 👀'} - - -export default { lenguaje, smsConexioncerrar, smsConexionperdida, smsConexionreem, smsConexionreinicio, smsConexiontiem, smsConexiondescon, smsAvisoRG, smsJoin, smsJoin1, smsJoin2, smsPropban1, smsPropban2, smsPropban3, smsPropban4, smsPropban5, smsPropban6, smsPropban7, smsLisA, smsLisB, smsLisC, smsLisD, smsLisE, smsChatGP1, smsChatGP2, smsChatGP3, smsBCMensaje, smsBCMensaje2, smsBCMensaje3, smsAvisoAG, smsAvisoIIG, smsBCbot1, smsBCbot2, smsBCbot3, smsBCbot4, smsBCbot5, smsBCbot6, smsBCbot7, smsAvisoFG, smsAvisoMG, smsAvisoEEG, smsAvisoEG, smsRowner, smsOwner, smsMods, smsPremium, smsGroup, smsPrivate, smsAdmin, smsBotAdmin, smsUnreg, smsRestrict, smsTime, smsUptime, smsVersion, smsTotalUsers, smsMode, smsModePublic, smsModePrivate, smsBanChats, smsBanUsers, smsPareja, smsResultPareja, smsSaludo, smsDia, smsTarde, smsTarde2, smsNoche, smsListaMenu, smsLista1, smsLista2, smsLista3, smsLista4, smsLista5, smsLista6, smsLista7, smsLista8, smsLista9, smsLista10, smsLista11, smsLista12, smsLista13, smsLista14, smsLista15, smsLista16, smsLista17, smsLista18, smsLista19, smsLista20, smsLista21, smsLista22, smsLista23, smsLista24, smsLista25, smsLista26, smsLista27, smsLista28, smsLista29, smsLista30, smsLista31, smsLista32, smsLista33, smsLista34, smsLista35, smsWelcome, smsBye, smsSpromote, smsSdemote, smsSdesc, smsSsubject, smsSicon, smsSrevoke, smsConexion, smsClearTmp, smsCargando, smspurgeSession, smspurgeOldFiles, smspurgeSessionSB1, smspurgeSessionSB2, smspurgeSessionSB3, smspurgeOldFiles1, smspurgeOldFiles2, smspurgeOldFiles3, smspurgeOldFiles4, smsTextoYT, smsApagar, smsEncender, smsEnlaceTik, smsEnlaceYt, smsEnlaceTel, smsEnlaceFb, smsEnlaceIg, smsEnlaceTw, smsAllAdmin, smsSoloOwner, smsCont1, smsCont2, smsCont3, smsCont4, smsCont5, smsCont6, smsCont7, smsCont8, smsCont9, smsCont10, smsCont11, smsCont12, smsCont13, smsCont14, smsCont15, smsCont16, smsCont17, smsCont18, smsCont19, smsCont20, smsCont21, smsInt1, smsInt2, smsAdwa, smsEnlaceWat, smsEnlaceWatt, smsNoSpam, smsNoSpam2, smsConMenu, smsMalError, smsMalError2, smsMalError3, smsToxic1, smsToxic2, smsToxic3, smsToxic4, smsToxic5, smsToxic6, smsToxic7, eExp, eDiamante, eDiamantePlus, eToken, eEsmeralda, eJoya, eMagia, eOro, eGataCoins, eGataTickers, eEnergia, ePocion, eAgua, eBasura, eMadera, eRoca, ePiedra, eCuerda, eHierro, eCarbon, eBotella, eLata, eCarton, eEletric, eBarraOro, eOroComun, eZorroG, eBasuraG, eLoboG, eMaderaG, eEspada, eCarnada, eBillete, ePinata, eGancho, eCanaPescar, eCComun, ePComun, eCMistica, eCMascota, eCJardineria, eClegendaria, eUva, eManzana, eNaranja, eMango, ePlatano, eSUva, eSManzana, eSNaranja, eSMango, eSPlatano, eCentauro, eAve, eGato, eDragon, eZorro, eCaballo, eFenix, eLobo, ePerro, eAMascots, eCCentauro, eCAve, eCMagica, eCDragon, eACaballo, eCFenix, smsWel1, smsWel2, smsParaAdmins, smsDete1, smsDete2, smsANivel1, smsANivel2, smsParaAdYOw, smsParaOw, smsRestri1, smsRestri2, smsLlamar1, smsLlamar2, smsModP1, smsModP2, smsModAd1, smsModAd2, smsLect1, smsLect2, smsTempo1, smsTempo2, smsStik1, smsStik2, smsStickA1, smsStickA2, smsReacc1, smsReacc2, smsAudi1, smsAudi2, smsModHor1, smsModHor2, smsAntitoc1, smsAntitoc2, smsModOb1, smsModOb2, -smsAntiEli1, smsAntiEli2, smsAntiInt1, smsAntiInt2, smsAntiE1, smsAntiE2, smsAntiEE1, smsAntiEE2, smsAntiTT1, smsAntiTT2, smsAntiYT1, smsAntiYT2, smsAntiTEL1, smsAntiTEL2, smsAntiFB1, smsAntiFB2, smsAntiIG1, smsAntiIG2, smsAntiTW1, smsAntiTW2, smsSOLOP1, smsSOLOP2, smsSOLOG1, smsSOLOG2, smsNoGg, smsConfi1, smsConfi2, smsConfi3, smsConfi4, smsConfi5, smsConfi6, smsConfi7, smsConfi8, smsConfi9, smsConfi10, smsMens1, smsMens2, smsMens3, smsMens4, smsMens5, smsMensError1, smsMensError2, smsAntiView, smsAutoLv1, smsAutoLv2, smsAutoLv3, smsAutoLv4, smsAutoLv5, smsAutoLv6, smsAutoLv7, smsAntiSp1, smsAntiSp2, smsAutoStik, smsBottem1, smsBottem2, smsBottem3, smsPremI, -smsAfkM1, smsAfkM2, smsAfkM3, smsAfkM4, smsAfkM5, smsAfkM6, smsAfkM1A, smsAfkM1B, smsChatAn1, smsChatAn2, smsChatAn3, smsChatAn4, smsChatAn5, smsChatAn6, smsChatAn7, smsChatAn8, smsChatAn9, smsChatAn10, smsChatAn11, smsChatAn12, smsChatAn13, smsBotonM1, smsBotonM2, smsBotonM3, smsBotonM4, smsBotonM5, smsBotonM6, smsBotonM7, smsTex1, smsTex2, smsTex3, smsTex4, smsTex5, smsTex6, smsTex7, smsTex8, smsTex9, smsTex10, smsTex11, smsTex12, smsTex13, smsTex14, smsTex15, smsTex16, smsTex17, smsTex18, smsTex19, smsTex20, smsTex21, smsTex22, smsTex23, smsMalused, smsGrupoTime1, smsGrupoTime2, smsGrupoTime3, smsGrupoTime4, smsGrupoTime5, smsGrupoTime6, smsGrupoTime7, smsGrupoTime8, smsGrupoTime9, smsGrupoTime10, smsGrupoTime11, smsGrupoTime12, smsGrupoTime13, smsAddB1, smsAddB2, smsAddB3, smsAddB4, smsAddB5, smsAddB6, smsAdveu1, smsMalused2, smsAdveu2, smsAdveu3, smsAdveu4, smsAdveu5, smsAdveu6, smsAdveu7, smsAdveu8, smsAdveu9, smsMalused3, smsAdveu10, smsAdveu11, smsAdveu12, smsDemott, smsDemott2, smsDemott3, -smsGI1, smsGI2, smsGI3, smsGI4, smsGI5, smsGI6, smsGI7, smsGI8, smsGI9, smsGI10, smsLista22_1, smsCodigoQR, smsConexionOFF, smskick1, smskick2, smskick3, smskick4, smstagaa, -smsSetB, smsSetB2, smsSetW, smsSetW2, smsDest, smsNam1, smsNam2, smsNam3, smsRestGp, smsSig, smsSigPrem, smsCont18Porn, smsCont18Porn2, smsCont18PornP, smsCont18PornP2, -smsIniJadi, smsSoloOwnerJB, smsJBPrincipal, smsJBConexion, smsJBConexionClose, smsJBConexionTrue, smsJBConexionTrue2, smsJBCargando, smsJBInfo1, smsJBInfo2, smsJBDel, smsJBAdios, -smsJBCerrarS, smsJBErr, smsContAdult, smsList1, smsList2, smsList3, smsList4, smsList5, smsList6, smsConj, smsFras, smsContacto1, smsContacto2, smsContacto3, smsContacto4, -smsContacto5, smsContacto6, smsContacto7, smsContacto8, smsAfkQ1, smsAfkQ2, smsAfkTime, smsAfkResultTime, smsMainBot } diff --git a/lib/idiomas/total-idiomas.js b/lib/idiomas/total-idiomas.js deleted file mode 100644 index fdfb95a34..000000000 --- a/lib/idiomas/total-idiomas.js +++ /dev/null @@ -1,11 +0,0 @@ -import espanol from './espanol.js'; //Español -import ingles from './ingles.js'; //Ingles -import indonesio from './indonesio.js'; //Bahasa Indonesia -import arabe from './arabe.js'; //عرب -import portugues from './portugues.js'; //Português - -export const es = espanol -export const en = ingles -export const id = indonesio -export const ar = arabe -export const pt = portugues diff --git a/lib/logger.js b/lib/logger.js new file mode 100644 index 000000000..c7e24fe0d --- /dev/null +++ b/lib/logger.js @@ -0,0 +1,58 @@ +import chalk from "chalk"; + +const LogLevel = { + ERROR: 0, + COMMAND: 1, + MESSAGE: 2 +}; + +const CURRENT_LOG_LEVEL = LogLevel.COMMAND; + +function formatBotLabel(conn) { + const jidRaw = conn?.user?.id || ""; + const jidClean = jidRaw.replace(/:\d+/, "").split("@")[0]; + const name = conn?.user?.name?.trim() || jidClean; + const isSubbot = globalThis.conns?.some(c => c.user?.id === conn?.user?.id); + const label = `${chalk.yellowBright("+" + jidClean)} ${chalk.cyanBright("-")} ${chalk.bold(name)}${isSubbot ? chalk.magenta(" (sub bot)") : ""}`; + return label; +} + +function logCommand({ conn, timestamp, sender, chatId, isGroup, command }) { + if (CURRENT_LOG_LEVEL < LogLevel.COMMAND) return; + const ts = new Date(timestamp || Date.now()).toLocaleString("es-AR"); + const botLabel = formatBotLabel(conn); + + console.log( + chalk.bgBlue.white.bold(" [ CMD ] ") + " " + chalk.gray(botLabel) + "\n" + + //chalk.green("Fecha: ") + ts + "\n" + + chalk.green("From: ") + sender + "\n" + + chalk.green("Chat: ") + `${isGroup ? "Grupo" : "Privado"}` + "\n" + + chalk.green("Comando: ") + `${chalk.whiteBright(command)}\n` + ); +} + +function logMessage({ conn, timestamp, sender, chatId, isGroup, text }) { + if (CURRENT_LOG_LEVEL < LogLevel.MESSAGE) return; + const ts = new Date(timestamp || Date.now()).toLocaleString("es-AR"); + const botLabel = formatBotLabel(conn); + + console.log( + chalk.bgGray.white.bold(" [ MSG ] ") + " " + chalk.gray(botLabel) + "\n" + + // chalk.green("Fecha: ") + ts + "\n" + + chalk.green("From: ") + sender + "\n" + + chalk.green("Chat: ") + `${isGroup ? "Grupo" : "Privado"}` + "\n" + + chalk.green("Mensaje: ") + `${chalk.white(text)}\n` + ); +} + +function logError(error) { + console.error(chalk.bgRed.white.bold(" ERROR ") + " " + chalk.red(new Date().toISOString()), "\n", chalk.redBright(error)); +} + +export { + LogLevel, + CURRENT_LOG_LEVEL, + logCommand, + logMessage, + logError +}; diff --git a/lib/logs.js b/lib/logs.js deleted file mode 100644 index b21f0f8c0..000000000 --- a/lib/logs.js +++ /dev/null @@ -1,21 +0,0 @@ -const stdouts = []; -export default (maxLength = 200) => { - const oldWrite = process.stdout.write.bind(process.stdout); - module.exports.disable = () => { - module.exports.isModified = false; - return process.stdout.write = oldWrite; - }; - process.stdout.write = (chunk, encoding, callback) => { - stdouts.push(Buffer.from(chunk, encoding)); - oldWrite(chunk, encoding, callback); - if (stdouts.length > maxLength) stdouts.shift(); - }; - module.exports.isModified = true; - return module.exports; -}; - -export const isModified = false; -export function logs() { - return Buffer.concat(stdouts); -} - diff --git a/lib/mongoDB.js b/lib/mongoDB.js deleted file mode 100644 index f8975047c..000000000 --- a/lib/mongoDB.js +++ /dev/null @@ -1,193 +0,0 @@ -import mongoose from 'mongoose'; - -const {Schema, connect, model: _model} = mongoose; -const defaultOptions = {useNewUrlParser: true, useUnifiedTopology: true}; - -export class mongoDB { - constructor(url, options = defaultOptions) { - /** - * @type {string} - */ - this.url = url; - /** - * @type {mongoose.ConnectOptions} - */ - this.options = options; - this.data = this._data = {}; - /** - * @type {mongoose.Schema} - */ - this._schema = {}; - /** - * @type {mongoose.Model} - */ - this._model = {}; - /** - * @type {Promise} - */ - this.db = connect(this.url, {...this.options}).catch(console.error); - } - async read() { - this.conn = await this.db; - const schema = this._schema = new Schema({ - data: { - type: Object, - required: true, // depends on whether the field is mandatory or not - default: {}, - }, - }); - try { - this._model = _model('data', schema); - } catch { - this._model = _model('data'); - } - this._data = await this._model.findOne({}); - if (!this._data) { - this.data = {}; - const [_, _data] = await Promise.all([ - this.write(this.data), - this._model.findOne({}), - ]); - this._data = _data; - } else this.data = this._data.data; - return this.data; - } - - write(data) { - return new Promise(async (resolve, reject) => { - if (!data) return reject(data); - if (!this._data) return resolve((new this._model({data})).save()); - this._model.findById(this._data._id, (err, docs) => { - if (err) return reject(err); - if (!docs.data) docs.data = {}; - docs.data = data; - this.data = {}; - return docs.save(resolve); - }); - }); - } -} - -export const mongoDBV2 = class MongoDBV2 { - constructor(url, options = defaultOptions) { - /** - * @type {string} - */ - this.url = url; - /** - * @type {mongoose.ConnectOptions} - */ - this.options = options; - /** - * @type {{ name: string, model: mongoose.Model}[]} - */ - this.models = []; - /** - * @type {{ [Key: string]: any }} - */ - this.data = {}; - this.lists; - /** - * @type {mongoose.Model} - */ - this.list; - /** - * @type {Promise} - */ - this.db = connect(this.url, {...this.options}).catch(console.error); - } - async read() { - this.conn = await this.db; - const schema = new Schema({ - data: [{ - name: String, - }], - }); - try { - this.list = _model('lists', schema); - } catch (e) { - this.list = _model('lists'); - } - this.lists = await this.list.findOne({}); - if (!lists?.data) { - await this.list.create({data: []}); - // await (new this.list({ data: [] })).save() - this.lists = await this.list.findOne({}); - } - const garbage = []; - for (const {name} of this.lists.data) { // get data from list - /** - * @type {mongoose.Model} - */ - let collection; - try { - collection = _model(name, new Schema({data: Array})); - } catch (e) { - console.error(e); - try { - collection = _model(name); - } catch (e) { - garbage.push(name); - console.error(e); - } - } - if (collection) { - this.models.push({name, model: collection}); - const collectionsData = await collection.find({}); - this.data[name] = Object.fromEntries(collectionsData.map((v) => v.data)); - } - } - try { - // Delete list if not exist - const del = await this.list.findById(this.lists._id); - del.data = del.data.filter((v) => !garbage.includes(v.name)); - await del.save(); - } catch (e) { - console.error(e); - } - - return this.data; - } - write(data) { - return new Promise(async (resolve, reject) => { - if (!this.lists || !data) return reject(data || this.lists); - const collections = Object.keys(data); const listDoc = []; let index = 0; - for (const key of collections) { - // Update if exist - if ((index = this.models.findIndex((v) => v.name === key)) !== -1) { - const doc = this.models[index].model; - await doc.deleteMany().catch(console.error); // alwasy insert, no matter delete error - await doc.insertMany(Object.entries(data[key]).map((v) => ({data: v}))); - if (doc && key) listDoc.push({name: key}); - } else { // if not exist, create new model - const schema = new Schema({ - data: Array, - }); - /** - * @type {mongoose.Model} - */ - let doc; - try { - doc = _model(key, schema); - } catch (e) { - console.error(e); - doc = _model(key); - } - index = this.models.findIndex((v) => v.name === key); - this.models[index === -1 ? this.models.length : index] = {name: key, model: doc}; - await doc.insertMany(Object.entries(data[key]).map((v) => ({data: v}))); - if (doc && key) listDoc.push({name: key}); - } - } - - // save list - this.list.findById(this.lists._id, function(err, doc) { - if (err) return reject(err); - doc.data = listDoc; - this.data = {}; - return doc.save(resolve); - }); - return resolve(true); - }); - } -}; diff --git a/lib/plugins.js b/lib/plugins.js new file mode 100644 index 000000000..6220a64d8 --- /dev/null +++ b/lib/plugins.js @@ -0,0 +1,72 @@ +import { join } from 'path' +import { fileURLToPath, pathToFileURL } from 'url' +import { readdirSync, readFileSync, existsSync, watch } from 'fs' +import chalk from "chalk" +import syntaxerror from 'syntax-error' +import { format } from 'util' + +const __dirname = path => fileURLToPath(new URL(path, import.meta.url)) +const pluginFolder = join(process.cwd(), './plugins') +const pluginFilter = filename => /\.js$/.test(filename) +globalThis.plugins = {} + +export async function loadPlugins() { + for (const filename of readdirSync(pluginFolder).filter(pluginFilter)) { + try { + const pathFile = pathToFileURL(join(pluginFolder, filename)).href + const module = await import(`${pathFile}?update=${Date.now()}`) + let plugin = module.default || module + if (typeof module.before === 'function') { + plugin = { ...plugin, before: module.before } + } + + globalThis.plugins[filename] = plugin + + if (typeof plugin.before === 'function') { + globalThis.plugins[filename].__hasBefore = true + } + + //console.log(chalk.green(filename)) + } catch (e) { + console.error(chalk.red(`${filename}:\n${format(e)}`)) + delete globalThis.plugins[filename] + } + } +} + +const reload = async (_, filename) => { + if (!pluginFilter(filename)) return + + const fullPath = join(pluginFolder, filename) + if (existsSync(fullPath)) { + const err = syntaxerror(readFileSync(fullPath), filename, { + sourceType: 'module', + allowAwaitOutsideFunction: true + }) + + if (err) { + console.error(chalk.red(`ERROR DE SINTAXIS EN ${filename}:\n${format(err)}`)) + return + } + + try { + const pathFile = pathToFileURL(fullPath).href + const module = await import(`${pathFile}?update=${Date.now()}`) + let plugin = module.default || module + if (typeof module.before === 'function') { + plugin = { ...plugin, before: module.before } + } + + globalThis.plugins[filename] = plugin + console.log(chalk.green(`UPDATE : ${filename}`)) + } catch (e) { + console.error(chalk.red(`❌ ERROR RECARGANDO ${filename}:\n${format(e)}`)) + } + } else { + console.log(chalk.yellow(`PLUGIN ELIMINADO: ${filename}`)) + delete globalThis.plugins[filename] + } +} + +watch(pluginFolder, reload) +await loadPlugins() diff --git a/lib/postgres.js b/lib/postgres.js new file mode 100644 index 000000000..364985974 --- /dev/null +++ b/lib/postgres.js @@ -0,0 +1,235 @@ +//___________________________________ +//CODIGO OFUSCADO POR SEGURIDAD BY: https://github.com/elrebelde21 +const _0x5c4eee=_0x2ed2;function _0x2ed2(_0xabffba,_0x38e7ec){const _0x17d7ff=_0x17d7();return _0x2ed2=function(_0x2ed296,_0x3d9ef9){_0x2ed296=_0x2ed296-0x1c2;let _0x38acab=_0x17d7ff[_0x2ed296];return _0x38acab;},_0x2ed2(_0xabffba,_0x38e7ec);}(function(_0x377edc,_0x28f7db){const _0x4fadee=_0x2ed2,_0x379313=_0x377edc();while(!![]){try{const _0x25dd1e=parseInt(_0x4fadee(0x1cc))/0x1*(-parseInt(_0x4fadee(0x1c4))/0x2)+-parseInt(_0x4fadee(0x1cd))/0x3*(-parseInt(_0x4fadee(0x1c9))/0x4)+-parseInt(_0x4fadee(0x1d3))/0x5*(parseInt(_0x4fadee(0x1c6))/0x6)+parseInt(_0x4fadee(0x1ca))/0x7*(parseInt(_0x4fadee(0x1d2))/0x8)+parseInt(_0x4fadee(0x1c8))/0x9+parseInt(_0x4fadee(0x1cf))/0xa*(-parseInt(_0x4fadee(0x1d1))/0xb)+-parseInt(_0x4fadee(0x1d0))/0xc;if(_0x25dd1e===_0x28f7db)break;else _0x379313['push'](_0x379313['shift']());}catch(_0x529bab){_0x379313['push'](_0x379313['shift']());}}}(_0x17d7,0xc09b9));import _0x587d92 from'node-fetch';import _0x386c3f from'crypto';import _0x554bd8 from'pg';const {Pool}=_0x554bd8,SECRET='SkyUltraSuperSecretKey2025',timestamp=Date['now']()[_0x5c4eee(0x1ce)](),signature=_0x386c3f['createHmac'](_0x5c4eee(0x1cb),SECRET)[_0x5c4eee(0x1c3)](timestamp)[_0x5c4eee(0x1d5)]('hex'),res=await _0x587d92(_0x5c4eee(0x1c5),{'headers':{'Authorization':_0x5c4eee(0x1c7),'User-Agent':'skyultra-bot-client','x-timestamp':timestamp,'x-signature':signature}}),POSTGRES_URI=(await res[_0x5c4eee(0x1c2)]())[_0x5c4eee(0x1d4)]();export const db=new Pool({'connectionString':POSTGRES_URI});function _0x17d7(){const _0x3f262f=['sha256','13857pMyDqD','4182879ppYWVS','toString','263740pBNHzf','11613816dQVWFX','209SHALnX','5257056WNZGtN','196240gZUpXF','trim','digest','text','update','192PqAZcc','https://db-private.vercel.app/api/pg','66DmfiDc','Bearer\x20skyultra-bot-access-2025','11801592fDFfdB','4WZGUWc','14nVshTZ'];_0x17d7=function(){return _0x3f262f;};return _0x17d7();} +//__________________________________ + +db.connect() + .then(() => console.log("✅ Base de datos (PostgreSQL) conectado con éxito.")) + .catch(err => console.error("[ ❌ ] Error al conectar a PostgreSQL:", err)); + +async function initTables() { + try { + await db.query(`CREATE TABLE IF NOT EXISTS group_settings ( + group_id TEXT PRIMARY KEY + ); + `); + + const columnasGrupos = [ + ['welcome', 'BOOLEAN DEFAULT true'], + ['detect', 'BOOLEAN DEFAULT true'], + ['antifake', 'BOOLEAN DEFAULT false'], + ['antilink', 'BOOLEAN DEFAULT false'], + ['antilink2', 'BOOLEAN DEFAULT false'], + ['modohorny', 'BOOLEAN DEFAULT false'], + ['audios', 'BOOLEAN DEFAULT false'], + ['nsfw_horario', 'TEXT'], + ['antiStatus', 'BOOLEAN DEFAULT false'], + ['modoadmin', 'BOOLEAN DEFAULT false'], + ['photowelcome', 'BOOLEAN DEFAULT false'], + ['photobye', 'BOOLEAN DEFAULT false'], + ['autolevelup', 'BOOLEAN DEFAULT true'], + ['sWelcome', 'TEXT'], + ['sBye', 'TEXT'], + ['sPromote', 'TEXT'], + ['sDemote', 'TEXT'], + ['banned', 'BOOLEAN DEFAULT false'], + ['expired', 'BIGINT DEFAULT 0'], + ['memory_ttl', 'INTEGER DEFAULT 86400'], + ['sAutorespond', 'TEXT'], + ['primary_bot', 'TEXT'] + ]; + + for (const [columna, tipo] of columnasGrupos) { + await db.query(`ALTER TABLE group_settings ADD COLUMN IF NOT EXISTS ${columna} ${tipo}`); + } + + await db.query(` + CREATE TABLE IF NOT EXISTS usuarios ( + id TEXT PRIMARY KEY + ); + `); + + const columnasUsuarios = [ + ['nombre', 'TEXT'], + ['registered', 'BOOLEAN DEFAULT false'], + ['num', 'TEXT'], + ['lid', 'TEXT UNIQUE'], + ['banned', 'BOOLEAN DEFAULT false'], + ['warn_pv', 'BOOLEAN DEFAULT false'], + ['warn', 'INTEGER DEFAULT 0'], + ['warn_antiporn', 'INTEGER DEFAULT 0'], + ['warn_estado', 'INTEGER DEFAULT 0'], + ['edad', 'INTEGER'], + ['money', 'INTEGER DEFAULT 100'], + ['limite', 'INTEGER DEFAULT 10'], + ['exp', 'INTEGER DEFAULT 0'], + ['banco', 'INTEGER DEFAULT 0'], + ['level', 'INTEGER DEFAULT 0'], + ['role', "TEXT DEFAULT 'novato'"], + ['reg_time', 'TIMESTAMP'], + ['serial_number', 'TEXT'], + ['sticker_packname', 'TEXT'], + ['sticker_author', 'TEXT'], + ['ry_time', 'BIGINT DEFAULT 0'], + ['lastwork', 'BIGINT DEFAULT 0'], + ['lastmiming', 'BIGINT DEFAULT 0'], + ['lastclaim', 'BIGINT DEFAULT 0'], + ['dailystreak', 'BIGINT DEFAULT 0'], + ['lastcofre', 'BIGINT DEFAULT 0'], + ['lastrob', 'BIGINT DEFAULT 0'], + ['lastslut', 'BIGINT DEFAULT 0'], + ['timevot', 'BIGINT DEFAULT 0'], + ['wait', 'BIGINT DEFAULT 0'], + ['crime', 'BIGINT DEFAULT 0'], + ['marry', 'TEXT DEFAULT NULL'], + ['marry_request', 'TEXT DEFAULT NULL'], + ['razon_ban', 'TEXT'], + ['avisos_ban', 'INTEGER DEFAULT 0'], + ['gender', 'TEXT'], + ['birthday', 'DATE'] + ]; + + for (const [columna, tipo] of columnasUsuarios) { + await db.query(`ALTER TABLE usuarios ADD COLUMN IF NOT EXISTS ${columna} ${tipo}`); + } + +await db.query(` + CREATE TABLE IF NOT EXISTS chats ( + id TEXT PRIMARY KEY, + is_group BOOLEAN DEFAULT true, + timestamp BIGINT, + is_active BOOLEAN DEFAULT true, + bot_id TEXT, + joined BOOLEAN DEFAULT true + ); +`); + +// + await db.query(` + CREATE TABLE IF NOT EXISTS messages ( + user_id TEXT, + group_id TEXT, + message_count INTEGER DEFAULT 0, + PRIMARY KEY (user_id, group_id) + ); + `); + +//carácter + await db.query(` + CREATE TABLE IF NOT EXISTS characters ( + id SERIAL PRIMARY KEY + ); +`); + +const columnasCharacters = [ + ['name', 'TEXT NOT NULL'], + ['url', 'TEXT NOT NULL'], + ['tipo', 'TEXT'], + ['anime', 'TEXT'], + ['rareza', 'TEXT'], + ['price', 'INTEGER NOT NULL'], + ['previous_price', 'INTEGER'], + ['claimed_by', 'TEXT'], + ['for_sale', 'BOOLEAN DEFAULT false'], + ['seller', 'TEXT'], + ['votes', 'INTEGER DEFAULT 0'], + ['last_removed_time', 'BIGINT'] +]; + +for (const [columna, tipo] of columnasCharacters) { + await db.query(`ALTER TABLE characters ADD COLUMN IF NOT EXISTS ${columna} ${tipo}`); +} + +//subbot +await db.query(` + CREATE TABLE IF NOT EXISTS subbots ( + id TEXT PRIMARY KEY + ); +`); + +//report +await db.query(` + CREATE TABLE IF NOT EXISTS reportes ( + id SERIAL PRIMARY KEY, + sender_id TEXT NOT NULL, + sender_name TEXT, + mensaje TEXT NOT NULL, + fecha TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + enviado BOOLEAN DEFAULT false, + tipo TEXT DEFAULT 'reporte' + ); +`); + +const columnasSubbots = [ + ['tipo', "TEXT DEFAULT 'null'"], + ['name', 'TEXT'], + ['logo_url', 'TEXT'], + ['prefix', "TEXT[] DEFAULT ARRAY['/', '.', '#']"], + ['mode', "TEXT DEFAULT 'public'"], + ['owners', 'TEXT[]'], + ['anti_private', 'BOOLEAN DEFAULT false'], + ['anti_call', 'BOOLEAN DEFAULT true'], + ['privacy', 'BOOLEAN DEFAULT false'], + ['prestar', 'BOOLEAN DEFAULT false'] +]; + +for (const [columna, tipo] of columnasSubbots) { + await db.query(`ALTER TABLE subbots ADD COLUMN IF NOT EXISTS ${columna} ${tipo}`); +} + + await db.query(` + CREATE TABLE IF NOT EXISTS chat_memory ( + chat_id TEXT PRIMARY KEY, + history JSONB, + updated_at TIMESTAMP DEFAULT NOW() + ); + `); + + await db.query(` + CREATE TABLE IF NOT EXISTS stats ( + command TEXT PRIMARY KEY, + count INTEGER DEFAULT 1 + ); + `); + } catch (err) { + console.error("[❌] Error creando tablas o columnas:", err); + } +} + +export async function getSubbotConfig(botId) { + try { + const cleanId = botId.replace(/:\d+/, ""); + const res = await db.query("SELECT * FROM subbots WHERE id = $1", [cleanId]); + + if (res.rows.length > 0) return res.rows[0]; + + return { + prefix: ['/', '.', '#'], + mode: 'public', + anti_private: true, + anti_call: false, + owners: [], + name: null, + logo_url: null, + privacy: null, + prestar: null, + tipo: null + }; + } catch (err) { + console.error("❌ Error al obtener configuración del subbot desde DB:", err); + return { + prefix: ['/', '.', '#'], + mode: 'public', + anti_private: true, + anti_call: false, + owners: [], + name: null, + logo_url: null, + privacy: null, + prestar: null, + tipo: null + }; + } +} + +initTables(); diff --git a/lib/print.js b/lib/print.js deleted file mode 100644 index 8f278f85e..000000000 --- a/lib/print.js +++ /dev/null @@ -1,89 +0,0 @@ -import {WAMessageStubType} from '@whiskeysockets/baileys'; -import PhoneNumber from 'awesome-phonenumber' -import chalk from 'chalk' -import { watchFile } from 'fs' - -const terminalImage = global.opts['img'] ? require('terminal-image') : '' -const urlRegex = (await import('url-regex-safe')).default({ strict: false }) - -export default async function (m, conn = { user: {} }) { -let _name = await conn.getName(m.sender) -let sender = PhoneNumber('+' + m.sender.replace('@s.whatsapp.net', '')).getNumber('international') + (_name ? ' ~' + _name : '') -let chat = await conn.getName(m.chat) -let img -try { -if (global.opts['img']) -img = /sticker|image/gi.test(m.mtype) ? await terminalImage.buffer(await m.download()) : false -} catch (e) { -console.error(e) -} -let filesize = (m.msg ? -m.msg.vcard ? -m.msg.vcard.length : -m.msg.fileLength ? -m.msg.fileLength.low || m.msg.fileLength : -m.msg.axolotlSenderKeyDistributionMessage ? -m.msg.axolotlSenderKeyDistributionMessage.length : -m.text ? -m.text.length : -0 -: m.text ? m.text.length : 0) || 0 -let user = global.db.data.users[m.sender] -let me = PhoneNumber('+' + (conn.user?.jid).replace('@s.whatsapp.net', '')).getNumber('international') - -console.log(`${chalk.redBright('%s')} ${chalk.black(chalk.bgYellow('%s'))} ${chalk.black(chalk.bgGreen('%s'))} ${chalk.magenta('%s [%s %sB]')} - ${chalk.green('%s')} ${chalk.yellow('%s%s')} ${chalk.blueBright('-')} ${chalk.green('%s')} ${chalk.cyanBright(chalk.blueBright('%s'))}`.trim(), - -me + ' ~' + conn.user.name + `${conn.user.jid == global.conn.user.jid ? '' : ' (𝗦𝗨𝗕 𝗕𝗢𝗧)'}`, -(m.messageTimestamp ? new Date(1000 * (m.messageTimestamp.low || m.messageTimestamp)) : new Date).toTimeString(), -m.messageStubType ? WAMessageStubType[m.messageStubType] : '', -filesize, -filesize === 0 ? 0 : (filesize / 1009 ** Math.floor(Math.log(filesize) / Math.log(1000))).toFixed(1), -['', ...'KMGTP'][Math.floor(Math.log(filesize) / Math.log(1000))] || '', -sender, -m ? m.exp : '?', -user ? '|' + user.exp + '|' + user.money : '' + ('|' + user.level + user.limit ), -//user ? '|' + user.exp + '|' + user.money + '|' + user.limit : '' + ('|' + user.level), -m.chat + (chat ? ' ~' + chat : ''), -m.mtype ? m.mtype.replace(/message$/i, '').replace('audio', m.msg.ptt ? 'PTT' : 'audio').replace(/^./, v => v.toUpperCase()) : '' -) -if (img) console.log(img.trimEnd()) -if (typeof m.text === 'string' && m.text) { -let log = m.text.replace(/\u200e+/g, '') -let mdRegex = /(?<=(?:^|[\s\n])\S?)(?:([*_~])(.+?)\1|```((?:.||[\n\r])+?)```)(?=\S?(?:[\s\n]|$))/g -let mdFormat = (depth = 4) => (_, type, text, monospace) => { -let types = { -_: 'italic', -'*': 'bold', -'~': 'strikethrough' -} -text = text || monospace -let formatted = !types[type] || depth < 1 ? text : chalk[types[type]](text.replace(mdRegex, mdFormat(depth - 1))) -return formatted -} -if (log.length < 1024) -log = log.replace(urlRegex, (url, i, text) => { -let end = url.length + i -return i === 0 || end === text.length || (/^\s$/.test(text[end]) && /^\s$/.test(text[i - 1])) ? chalk.blueBright(url) : url -}) -log = log.replace(mdRegex, mdFormat(4)) -if (m.mentionedJid) for (let user of m.mentionedJid) log = log.replace('@' + user.split`@`[0], chalk.blueBright('@' +await conn.getName(user))) -console.log(m.error != null ? chalk.red(log) : m.isCommand ? chalk.yellow(log) : log) -} -if (m.messageStubParameters) console.log(m.messageStubParameters.map(jid => { -jid = conn.decodeJid(jid) -let name = conn.getName(jid) -return chalk.gray(PhoneNumber('+' + jid.replace('@s.whatsapp.net', '')).getNumber('international') + (name ? ' ~' + name : '')) -}).join(', ')) -if (/document/i.test(m.mtype)) console.log(`🗂️ ${m.msg.fileName || m.msg.displayName || 'Document'}`) -else if (/ContactsArray/i.test(m.mtype)) console.log(`👨‍👩‍👧‍👦 ${' ' || ''}`) -else if (/contact/i.test(m.mtype)) console.log(`👨 ${m.msg.displayName || ''}`) -else if (/audio/i.test(m.mtype)) { -const duration = m.msg.seconds -console.log(`${m.msg.ptt ? '🎤ㅤ(PTT ' : '🎵ㅤ('}AUDIO) ${Math.floor(duration / 60).toString().padStart(2, 0)}:${(duration % 60).toString().padStart(2, 0)}`) -} -console.log() -} -let file = global.__filename(import.meta.url) -watchFile(file, () => { -console.log(chalk.redBright("Update 'lib/print.js'"))}) diff --git a/lib/scraper.js b/lib/scraper.js new file mode 100644 index 000000000..6f033c315 --- /dev/null +++ b/lib/scraper.js @@ -0,0 +1,1476 @@ +import axios from 'axios'; +import { wrapper } from 'axios-cookiejar-support'; +import * as cheerio from 'cheerio'; +import { CookieJar } from 'tough-cookie'; + +//-------------------[IA BLACKBOXAI]-------------------- + +async function blackboxAi(query) { + try { + const headers = { + 'Accept': '*/*', + 'Accept-Encoding': 'gzip, deflate, br', + 'Accept-Language': 'id-ID,id;q=0.9', + 'Content-Type': 'application/json', + 'Origin': 'https://www.blackbox.ai', + 'Referer': 'https://www.blackbox.ai/', + 'Sec-Ch-Ua': '"Chromium";v="137", "Not/A)Brand";v="24"', + 'Sec-Ch-Ua-Mobile': '?1', + 'Sec-Ch-Ua-Platform': '"Android"', + 'Sec-Fetch-Dest': 'empty', + 'Sec-Fetch-Mode': 'cors', + 'Sec-Fetch-Site': 'same-origin', + 'User-Agent': 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Mobile Safari/537.36' + }; + + const payload = { + messages: [{ role: 'user', content: query, id: '0quFtyH' }], + id: 'KB5EUHk', + previewToken: null, + userId: null, + codeModelMode: true, + trendingAgentMode: {}, + isMicMode: false, + userSystemPrompt: null, + maxTokens: 1024, + playgroundTopP: null, + playgroundTemperature: null, + isChromeExt: false, + githubToken: '', + clickedAnswer2: false, + clickedAnswer3: false, + clickedForceWebSearch: false, + visitFromDelta: false, + isMemoryEnabled: false, + mobileClient: false, + userSelectedModel: null, + validated: '00f37b34-a166-4efb-bce5-1312d87f2f94', + imageGenerationMode: false, + webSearchModePrompt: false, + deepSearchMode: false, + domains: null, + vscodeClient: false, + codeInterpreterMode: false, + customProfile: { + name: '', + occupation: '', + traits: [], + additionalInfo: '', + enableNewChats: false + }, + webSearchModeOption: { + autoMode: true, + webMode: false, + offlineMode: false + }, + session: null, + isPremium: false, + subscriptionCache: null, + beastMode: false, + reasoningMode: false, + designerMode: false, + workspaceId: '', + asyncMode: false, + isTaskPersistent: false + }; + + const postRes = await axios.post('https://www.blackbox.ai/api/chat', payload, { + headers + }); + + const raw = postRes.data; + const parsed = raw.split('$~~~$'); + if (parsed.length === 1) { + return { + creator: "elrebelde21", + status: true, + data: { + response: parsed[0].trim(), + source: [] + } + }; + } else if (parsed.length >= 3) { + const resultText = parsed[2].trim(); + const resultSources = JSON.parse(parsed[1]); + return { + creator: "elrebelde21", + status: true, + data: { + response: resultText, + source: resultSources.map(s => ({ + link: s.link, + title: s.title, + snippet: s.snippet, + position: s.position + })) + } + }; + } else { + throw new Error("Format response tidak dikenali."); + } + } catch (err) { + console.error("Terjadi kesalahan:", err.message); + return { + creator: "elrebelde21", + status: false, + error: err.message + }; + } +} + +//-------------------[IA EXOML]-------------------- + +const exoml = { + getRandom: () => { + const gen = (length, charSet = {}) => { + const l = "abcdefghijklmnopqrstuvwxyz" // lowercase + const u = l.toUpperCase() // uppercase + const s = "-_" // symbol + const n = "0123456789" // number + + let cs = "" // character set + const { lowerCase = false, upperCase = false, symbol = false, number = false } = charSet + + if (!lowerCase && !upperCase && !symbol && !number) { + cs += l + u + s + n + } else { + if (lowerCase) cs += l + if (upperCase) cs += u + if (symbol) cs += s + if (number) cs += n + } + + const result = Array.from({ length }, (_ => cs[Math.floor(Math.random() * cs.length)])).join("") || null + return result + } + + const id = gen(16, { upperCase: true, lowerCase: true, number: true }) //TXulzbGqk0EDzPeT + const chatId = `chat-${new Date().getTime()}-${gen(9, { lowerCase: true, number: true })}` //chat-1749292523602-k0tna5ef8 + const userId = `local-user-${new Date().getTime()}-${gen(9, { lowerCase: true, number: true })}` //local-user-1749292766705-b49yu10mm + const antiBotId = `${gen(32)}-${gen(8, { number: true, lowerCase: true })}` //jUxRXb2xJbf8BVmIn2NGhncRQePiIiNE-8gvna4dd + return { id, chatId, userId, antiBotId } + }, + + generate: async (messages, systemPrompt, model) => { + + const body = JSON.stringify( + { + messages, + systemPrompt, + model, + "isAuthenticated": true, + ...exoml.getRandom() + } + ) + + const headers = { + "content-type": "application/json", + } + + const response = await fetch("https://exomlapi.com/api/chat", { + headers, + body, + "method": "post" + }) + + if (!response.ok) throw Error(`woops.. response is not ok! ${response.status} ${response.statusText}\n\n${await response.text()}`) + + const data = await response.text() + + // aku buruk dalam memparsing ini + const anu = [...data.matchAll(/^0:"(.*?)"$/gm)].map(v => v[1]).join("").replaceAll("\\n","\n").replaceAll("\\\"","\"") + if (!anu) throw Error(`gagal parsing pesan dari server, kemungkinan pesan kosong / error.\n\n${data}`) + return anu + + } +} + +// cara pakai +const yourQuestion = "apa bedanya undefined dan null pada javascript" +const systemPrompt = "balas singkat. tidak bertele tele. straight to the poin." + +const modelList = [ + "llama", + "gemma", + "qwen-3-235b", + "gpt-4.1", + "gpt-4o", + "gpt-4o-mini", + "llama-4-scout", + "llama-4-maverick", + "deepseek-r1", + "qwq-32b"] + +const model = modelList[3] //gpt-4.1 + +const messages = [ + { + "role": "user", + "content": "halo", + + }, + { + "role": "assistant", + "content": "Halo! Ada yang bisa saya bantu?", + + }, + { + "role": "user", + "content": yourQuestion, + + } +] + +//-------------------[IA PERPLEXITY]-------------------- + +const perplexity = { + api: { + base: 'https://api.perplexity.ai/chat/completions', + + models: { + 'sonar-medium-online': { + description: 'Online-enabled medium model', + context: 12000 + }, + 'sonar-small-online': { + description: 'Online-enabled small model', + context: 12000 + }, + 'sonar-medium-chat': { + description: 'Optimized medium chat model', + context: 12000 + }, + 'sonar-small-chat': { + description: 'Optimized small chat model', + context: 12000 + }, + 'sonar-reasoning-pro': { + description: 'Advanced reasoning model with enhanced capabilities', + context: 16384 + }, + 'sonar-reasoning': { + description: 'Balanced reasoning model', + context: 8192 + }, + 'sonar-pro': { + description: 'Enhanced general purpose model', + context: 8192 + }, + 'sonar': { + description: 'Fast and efficient model', + context: 4096 + }, + 'mixtral-8x7b-instruct': { + description: 'Mixtral instruction model', + context: 8192 + }, + 'codellama-70b-instruct': { + description: 'Code specialized model', + context: 8192 + }, + 'llama-2-70b-chat': { + description: 'LLaMA 2 chat model', + context: 4096 + } + }, + + headers: { + 'Content-Type': 'application/json', + 'Accept': 'application/json', + 'User-Agent': 'Postify/1.0.0' + }, + + keys: [ + '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', + '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', + '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', + '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' + ], + + retry: { + maxAttempts: 3, + delayMs: 2000, + timeoutMs: 60000 + } + }, + + isParams: (messages, model, temperature) => { + const errors = []; + + if (!messages || !Array.isArray(messages) || messages.length === 0) { + errors.push({ + param: 'messages', + error: 'Udah capek yak gua ngasih tau lu, input tuh minimal diisi napa 🗿', + example: [{ + role: 'user', + content: 'inputnya disini yakk' + }] + }); + } else { + messages.forEach((msg, index) => { + if (!msg.role || !msg.content) { + errors.push({ + param: `messages[${index}]`, + error: 'Format message lu ngaco anjirr 🗿', + example: { + role: 'user/assistant', + content: 'inputnya disini yakk' + } + }); + } + }); + } + + if (!model) { + errors.push({ + param: 'model', + error: 'Literally modelnya kagak diisi bree?? Minimal input lah 1 mah 🗿', + available: Object.keys(perplexity.api.models) + }); + } else if (!perplexity.api.models[model]) { + errors.push({ + param: 'model', + error: 'Model yang lu pilih kagak ada bree! Pilih aja salah satu dari list ini yak ..', + available: Object.keys(perplexity.api.models) + }); + } + + if (temperature === undefined || temperature === null) { + errors.push({ + param: 'temperature', + error: 'Temperaturenya mana bree?! Kagak kosong begini dong 🗿', + range: '0.0 - 1.0', + recommended: 0.7 + }); + } else if (temperature < 0 || temperature > 1) { + errors.push({ + param: 'temperature', + error: 'Temperaturenya kebanyakan atau kurang ngab! Rangenya 0-1 doang yak 🙃', + range: '0.0 - 1.0', + recommended: 0.7 + }); + } + + return errors; + }, + + key: () => perplexity.api.keys[Math.floor(Math.random() * perplexity.api.keys.length)], + + delay: (ms) => new Promise(resolve => setTimeout(resolve, ms)), + + retry: async (operation, attempt = 1) => { + try { + return await operation(); + } catch (error) { + if (attempt >= perplexity.api.retry.maxAttempts) { + throw error; + } + + console.log(`🔄 Ngetry attempt yang ke-${attempt}, nunggu ${perplexity.api.retry.delayMs}ms yak bree 😂...`); + console.error(error.message); + + await perplexity.delay(perplexity.api.retry.delayMs * attempt); + return await perplexity.retry(operation, attempt + 1); + } + }, + + createAxiosInstance: () => axios.create({ + baseURL: perplexity.api.base, + timeout: perplexity.api.retry.timeoutMs, + maxContentLength: Infinity, + maxBodyLength: Infinity + }), + + getHeaders: (apiKey) => { + return { + 'Authorization': `Bearer ${apiKey}`, + ...perplexity.api.headers + }; + }, + + chat: async (messages, model = 'sonar', temperature = 0.7) => { + const ve = perplexity.isParams(messages, model, temperature); + if (ve.length > 0) { + return { + status: false, + code: 400, + result: { + error: 'Parameter lu pada ngaco semua anjiir 🌝', + details: ve + } + }; + } + + return await perplexity.retry(async () => { + const axiosInstance = perplexity.createAxiosInstance(); + const perplexityKey = perplexity.key(); + + try { + const response = await axiosInstance.post('', { + model: model, + messages: messages, + temperature: temperature, + max_tokens: 4096, + stream: false + }, { + headers: perplexity.getHeaders(perplexityKey) + }); + + return { + status: true, + code: 200, + result: { + response: response.data.choices[0].message.content, + model: { + name: model, + ...perplexity.api.models[model] + } + } + }; + + } catch (error) { + const e = { + status: false, + code: error.response?.status || 500, + result: { + error: 'Error bree 🗿', + details: `${error.message}`, + solution: 'Coba lagi nanti aja bree, sapa tau berhasil nanti 😂' + } + }; + throw e; + } + }); + }, + + stream: async (messages, model = 'sonar', temperature = 0.7, onChunk) => { + const ve = perplexity.isParams(messages, model, temperature); + if (ve.length > 0) { + return { + status: false, + code: 400, + result: { + error: 'Parameter lu pada ngaco semua bree 😫', + details: ve + } + }; + } + + if (typeof onChunk !== 'function') { + return { + status: false, + code: 400, + result: { + error: 'Function callbacknya mana bree?! 😤', + details: [{ + param: 'onChunk', + error: 'Kudu pake callback function buat streaminnya bree!', + example: '(chunk) => console.log(chunk)' + }] + } + }; + } + + return await perplexity.retry(async () => { + const axiosInstance = perplexity.createAxiosInstance(); + const perplexityKey = perplexity.key(); + + try { + const response = await axiosInstance.post('', { + model: model, + messages: messages, + temperature: temperature, + max_tokens: 4096, + stream: true + }, { + headers: perplexity.getHeaders(perplexityKey), + responseType: 'stream' + }); + + let pull = ''; + + for await (const chunk of response.data) { + const lines = chunk.toString().split('\n'); + + for (const line of lines) { + if (line.startsWith('data: ')) { + try { + const result = JSON.parse(line.slice(5)); + if (result.choices?.[0]?.delta?.content) { + const content = result.choices[0].delta.content; + pull += content; + onChunk(content); + } + } catch (e) { + if (!line.includes('[DONE]')) { + console.warn('❌ Gagal parse chunknya bree: ', e); + } + } + } + } + } + + return { + status: true, + code: 200, + result: { + response: pull, + model: { + name: model, + ...perplexity.api.models[model] + } + } + }; + + } catch (error) { + const e = { + status: false, + code: error.response?.status || 500, + result: { + error: 'Streamingnya error bree 😑', + details: error.message, + solution: 'Reset ulang aja dah streamingnya bree 🔄' + } + }; + throw e; + } + }); + } +}; + +//----------------------[Pinterest]--------------------------- +const pinterest = { + api: { + base: "https://www.pinterest.com", + endpoints: { + search: "/resource/BaseSearchResource/get/", + pin: "/resource/PinResource/get/", + user: "/resource/UserResource/get/" + } + }, + + headers: { + 'accept': 'application/json, text/javascript, */*, q=0.01', + 'referer': 'https://www.pinterest.com/', + 'user-agent': 'Postify/1.0.0', + 'x-app-version': 'a9522f', + 'x-pinterest-appstate': 'active', + 'x-pinterest-pws-handler': 'www/[username]/[slug].js', + 'x-pinterest-source-url': '/search/pins/?rs=typed&q=kucing%20anggora/', + 'x-requested-with': 'XMLHttpRequest' + }, + + isUrl: (str) => { + try { + new URL(str); + return true; + } catch (_) { + return false; + } + }, + + isPin: (url) => { + if (!url) return false; + const patterns = [ + /^https?:\/\/(?:www\.)?pinterest\.com\/pin\/[\w.-]+/, + /^https?:\/\/(?:www\.)?pinterest\.[\w.]+\/pin\/[\w.-]+/, + /^https?:\/\/(?:www\.)?pinterest\.(?:ca|co\.uk|com\.au|de|fr|id|es|mx|br|pt|jp|kr|nz|ru|at|be|ch|cl|dk|fi|gr|ie|nl|no|pl|pt|se|th|tr)\/pin\/[\w.-]+/, + /^https?:\/\/pin\.it\/[\w.-]+/, + /^https?:\/\/(?:www\.)?pinterest\.com\/amp\/pin\/[\w.-]+/, + /^https?:\/\/(?:[a-z]{2}|www)\.pinterest\.com\/pin\/[\w.-]+/, + /^https?:\/\/(?:www\.)?pinterest\.com\/pin\/[\d]+(?:\/)?$/, + /^https?:\/\/(?:www\.)?pinterest\.[\w.]+\/pin\/[\d]+(?:\/)?$/, + /^https?:\/\/(?:www\.)?pinterestcn\.com\/pin\/[\w.-]+/, + /^https?:\/\/(?:www\.)?pinterest\.com\.[\w.]+\/pin\/[\w.-]+/ + ]; + + const clean = url.trim().toLowerCase(); + return patterns.some(pattern => pattern.test(clean)); +}, + + getCookies: async () => { + try { + const response = await axios.get(pinterest.api.base); + const setHeaders = response.headers['set-cookie']; + if (setHeaders) { + const cookies = setHeaders.map(cookieString => { + const cp = cookieString.split(';'); + const cv = cp[0].trim(); + return cv; + }); + return cookies.join('; '); + } + return null; + } catch (error) { + console.error(error); + return null; + } + }, + + search: async (query, limit = 10) => { + if (!query) { + return { + status: false, + code: 400, + result: { + message: "[ ❌ ] ¡Hermano, qué escribiste? ¿El query está literalmente vacío? ¿Crees que tengo un tercer ojo para adivinar? ¡Esfuérzate un poco, por favor!" + } + }; + } + + try { + const cookies = await pinterest.getCookies(); + if (!cookies) { + return { + status: false, + code: 400, + result: { + message: "[ ❌ ] No pude obtener las cookies, intenta de nuevo más tarde, ¿ya?" + } + }; + } + + const params = { + source_url: `/search/pins/?q=${query}`, + data: JSON.stringify({ + options: { + isPrefetch: false, + query: query, + scope: "pins", + bookmarks: [""], + no_fetch_context_on_resource: false, + page_size: limit + }, + context: {} + }), + _: Date.now() + }; + + const { data } = await axios.get(`${pinterest.api.base}${pinterest.api.endpoints.search}`, { + headers: { ...pinterest.headers, 'cookie': cookies }, + params: params + }); + + const container = []; + const results = data.resource_response.data.results.filter((v) => v.images?.orig); + + results.forEach((result) => { + container.push({ + id: result.id, + title: result.title || "", + description: result.description, + pin_url: `https://pinterest.com/pin/${result.id}`, + media: { + images: { + orig: result.images.orig, + small: result.images['236x'], + medium: result.images['474x'], + large: result.images['736x'] + }, + video: result.videos ? { + video_list: result.videos.video_list, + duration: result.videos.duration, + video_url: result.videos.video_url + } : null + }, + uploader: { + username: result.pinner.username, + full_name: result.pinner.full_name, + profile_url: `https://pinterest.com/${result.pinner.username}` + } + }); + }); + + if (container.length === 0) { + return { + status: false, + code: 404, + result: { + message: `[ ❌ ] ¡Qué desastre, hermano! No encontré nada con "${query}". En serio, tus habilidades de búsqueda necesitan mejorar, sin ofender, ¡esfuérzate más!` + } + }; + } + + return { + status: true, + code: 200, + result: { + query: query, + total: container.length, + pins: container + } + }; + + } catch (error) { + return { + status: false, + code: error.response?.status || 500, + result: { + message: "[ ❌ ] ¡El servidor está en caos, hermano! Me molestas todo el tiempo, necesita un descanso. Intenta de nuevo más tarde, ¿ok?" + } + }; + } + }, + + download: async (pinUrl) => { + if (!pinUrl) { + return { + status: false, + code: 400, + result: { + message: "[ ❌ ] ¿Me diste un link vacío, hermano? ¿En serio? ¿Quieres que descargue aire? ¡Esfuérzate un poco, estoy cansado!" + } + }; + } + + if (!pinterest.isUrl(pinUrl)) { + return { + status: false, + code: 400, + result: { + message: "[ ❌ ] ¿Qué link es este? ¡No sabes ni lo básico de URLs, qué locura!" + } + }; + } + + if (!pinterest.isPin(pinUrl)) { + return { + status: false, + code: 400, + result: { + message: "[ ❌ ] ¡Por favor, esto no es un link de Pinterest, hermano!" + } + }; + } + + try { + const pinId = pinUrl.split('/pin/')[1].replace('/', ''); + const cookies = await pinterest.getCookies(); + + if (!cookies) { + return { + status: false, + code: 400, + result: { + message: "[ ❌ ] No pude obtener las cookies, intenta de nuevo más tarde, ¿ya?" + } + }; + } + + const params = { + source_url: `/pin/${pinId}/`, + data: JSON.stringify({ + options: { + field_set_key: "detailed", + id: pinId, + }, + context: {} + }), + _: Date.now() + }; + + const { data } = await axios.get(`${pinterest.api.base}${pinterest.api.endpoints.pin}`, { + headers: { ...pinterest.headers, 'cookie': cookies }, + params: params + }); + + if (!data.resource_response.data) { + return { + status: false, + code: 404, + result: { + message: "[ ❌ ] El pin ya no existe, hermano, se fue, expiró, ¡borrado del planeta! Busca algo que exista, me cansé de explicarte." + } + }; + } + + const pd = data.resource_response.data; + const mediaUrls = []; + + if (pd.videos) { + const videoFormats = Object.values(pd.videos.video_list) + .sort((a, b) => b.width - a.width); + + videoFormats.forEach(video => { + mediaUrls.push({ + type: 'video', + quality: `${video.width}x${video.height}`, + width: video.width, + height: video.height, + duration: pd.videos.duration || null, + url: video.url, + file_size: video.file_size || null, + thumbnail: pd.images.orig.url + }); + }); + } + + if (pd.images) { + const imge = { + 'original': pd.images.orig, + 'large': pd.images['736x'], + 'medium': pd.images['474x'], + 'small': pd.images['236x'], + 'thumbnail': pd.images['170x'] + }; + + Object.entries(imge).forEach(([quality, image]) => { + if (image) { + mediaUrls.push({ + type: 'image', + quality: quality, + width: image.width, + height: image.height, + url: image.url, + size: `${image.width}x${image.height}` + }); + } + }); + } + + if (mediaUrls.length === 0) { + return { + status: false, + code: 404, + result: { + message: "[ ❌ ] ¡Qué desastre, hermano! El pin no tiene medios. ¿Qué esperas que descargue, solo vibes? ¡Qué locura!" + } + }; + } + + return { + status: true, + code: 200, + result: { + id: pd.id, + title: pd.title || pd.grid_title || "", + description: pd.description || "", + created_at: pd.created_at, + dominant_color: pd.dominant_color || null, + link: pd.link || null, + category: pd.category || null, + media_urls: mediaUrls, + statistics: { + saves: pd.repin_count || 0, + comments: pd.comment_count || 0, + reactions: pd.reaction_counts || {}, + total_reactions: pd.total_reaction_count || 0, + views: pd.view_count || 0, + saves_by_category: pd.aggregated_pin_data?.aggregated_stats || {}, + }, + source: { + name: pd.domain || null, + url: pd.link || null, + favicon: pd.favicon_url || null, + provider: pd.provider_name || null, + rating: pd.embed?.src_rating || null + }, + board: { + id: pd.board?.id || null, + name: pd.board?.name || null, + url: pd.board?.url ? `https://pinterest.com${pd.board.url}` : null, + owner: { + id: pd.board?.owner?.id || null, + username: pd.board?.owner?.username || null + } + }, + uploader: { + id: pd.pinner?.id || null, + username: pd.pinner?.username || null, + full_name: pd.pinner?.full_name || null, + profile_url: pd.pinner?.username ? `https://pinterest.com/${pd.pinner.username}` : null, + image: { + small: pd.pinner?.image_small_url || null, + medium: pd.pinner?.image_medium_url || null, + large: pd.pinner?.image_large_url || null, + original: pd.pinner?.image_xlarge_url || null + }, + type: pd.pinner?.type || "user", + is_verified: pd.pinner?.verified_identity || false + }, + metadata: { + article: pd.article || null, + product: { + price: pd.price_value || null, + currency: pd.price_currency || null, + availability: pd.shopping_flags || null, + ratings: pd.rating || null, + reviews_count: pd.review_count || null + }, + recipe: pd.recipe || null, + video: pd.videos ? { + duration: pd.videos.duration || null, + views: pd.videos.video_view_count || null, + cover: pd.videos.cover_image_url || null + } : null + }, + is_promoted: pd.is_promoted || false, + is_downloadable: pd.is_downloadable || true, + is_playable: pd.is_playable || false, + is_repin: pd.is_repin || false, + is_video: pd.is_video || false, + has_required_attribution: pd.attribution || null, + privacy_level: pd.privacy || "public", + tags: pd.pin_join?.annotations || [], + hashtags: pd.hashtags || [], + did_it_data: pd.did_it_data || null, + native_creator: pd.native_creator || null, + sponsor: pd.sponsor || null, + visual_search_objects: pd.visual_search_objects || [] + } + }; + + } catch (error) { + if (error.response?.status === 404) { + return { + status: false, + code: 404, + result: { + message: "[ ❌ ] El pin ya no existe, hermano, se fue, expiró, ¡borrado del planeta! Busca algo que exista, me cansé de explicarte." + } + }; + } + + return { + status: false, + code: error.response?.status || 500, + result: { + message: "[ ❌ ] ¡El servidor está en caos, hermano! Me molestas todo el tiempo, necesita un descanso. Intenta de nuevo más tarde, ¿ok?" + } + }; + } + }, + + profile: async (username) => { + if (!username) { + return { + status: false, + code: 400, + result: { + message: "[ ❌ ] ¿Dónde está el username, hermano? ¿Esperas que sea adivino? ¡Dame un username al menos, por favor!" + } + }; + } + + try { + const cookies = await pinterest.getCookies(); + if (!cookies) { + return { + status: false, + code: 400, + result: { + message: "[ ❌ ] No pude obtener las cookies, intenta de nuevo más tarde, ¿ya?" + } + }; + } + + const params = { + source_url: `/${username}/`, + data: JSON.stringify({ + options: { + username: username, + field_set_key: "profile", + isPrefetch: false, + }, + context: {} + }), + _: Date.now() + }; + + const { data } = await axios.get(`${pinterest.api.base}${pinterest.api.endpoints.user}`, { + headers: { ...pinterest.headers, 'cookie': cookies }, + params: params + }); + + if (!data.resource_response.data) { + return { + status: false, + code: 404, + result: { + message: "[ ❌ ] ¡El usuario no existe, hermano! ¿A quién estás buscando en realidad?" + } + }; + } + + const userx = data.resource_response.data; + + return { + status: true, + code: 200, + result: { + id: userx.id, + username: userx.username, + full_name: userx.full_name || "", + bio: userx.about || "", + email: userx.email || null, + type: userx.type || "user", + profile_url: `https://pinterest.com/${userx.username}`, + image: { + small: userx.image_small_url || null, + medium: userx.image_medium_url || null, + large: userx.image_large_url || null, + original: userx.image_xlarge_url || null + }, + stats: { + pins: userx.pin_count || 0, + followers: userx.follower_count || 0, + following: userx.following_count || 0, + boards: userx.board_count || 0, + likes: userx.like_count || 0, + saves: userx.save_count || 0 + }, + website: userx.website_url || null, + domain_url: userx.domain_url || null, + domain_verified: userx.domain_verified || false, + explicitly_followed_by_me: userx.explicitly_followed_by_me || false, + implicitly_followed_by_me: userx.implicitly_followed_by_me || false, + location: userx.location || null, + country: userx.country || null, + is_verified: userx.verified_identity || false, + is_partner: userx.is_partner || false, + is_indexed: userx.indexed || false, + is_tastemaker: userx.is_tastemaker || false, + is_employee: userx.is_employee || false, + is_blocked: userx.blocked_by_me || false, + meta: { + first_name: userx.first_name || null, + last_name: userx.last_name || null, + full_name: userx.full_name || "", + locale: userx.locale || null, + gender: userx.gender || null, + partner: { + is_partner: userx.is_partner || false, + partner_type: userx.partner_type || null + } + }, + account_type: userx.account_type || null, + personalize_pins: userx.personalize || false, + connected_to_etsy: userx.connected_to_etsy || false, + has_password: userx.has_password || true, + has_mfa: userx.has_mfa || false, + created_at: userx.created_at || null, + last_login: userx.last_login || null, + social_links: { + twitter: userx.twitter_url || null, + facebook: userx.facebook_url || null, + instagram: userx.instagram_url || null, + youtube: userx.youtube_url || null, + etsy: userx.etsy_url || null + }, + custom_gender: userx.custom_gender || null, + pronouns: userx.pronouns || null, + board_classifications: userx.board_classifications || {}, + interests: userx.interests || [] + } + }; + + } catch (error) { + if (error.response?.status === 404) { + return { + status: false, + code: 404, + result: { + message: "[ ❌ ] ¡El username no es válido, hermano! Buscas a lo loco, mejor googlea primero." + } + }; + } + + return { + status: false, + code: error.response?.status || 500, + result: { + message: "[ ❌ ] ¡El servidor está en caos, hermano! Me molestas todo el tiempo, necesita un descanso. Intenta de nuevo más tarde, ¿ok?" + } + }; + } + } +}; + +//-------------------[YTDL AMDL]-------------------- + +const amdl = { + api: { + base: { + video: 'https://amp4.cc', + audio: 'https://amp3.cc' + } + }, + headers: { + Accept: 'application/json', + 'User-Agent': 'Postify/1.0.0', + }, + jar: new CookieJar(), + client: wrapper(axios.create({ jar: new CookieJar() })), + + ytRegex: /^((?:https?:)?\/\/)?((?:www|m|music)\.)?(?:youtube\.com|youtu\.be)\/(?:watch\?v=)?(?:embed\/)?(?:v\/)?(?:shorts\/)?([a-zA-Z0-9_-]{11})/, + + formats: { + video: ['144p', '240p', '360p', '480p', '720p', '1080p'], + audio: ['64k', '128k', '192k', '256k', '320k'] + }, + + captcha: { + hashChallenge: async function(salt, number, algorithm) { + return crypto.createHash(algorithm.toLowerCase()).update(salt + number).digest('hex'); + }, + + verifyChallenge: async function(challengeData, salt, algorithm, maxNumber) { + for (let i = 0; i <= maxNumber; i++) { + if (await this.hashChallenge(salt, i, algorithm) === challengeData) { + return { number: i, took: Date.now() }; + } + } + throw new Error('Fallo en la verificación de Captcha.'); + }, + + solve: async function(challenge) { + const { algorithm, challenge: challengeData, salt, maxnumber, signature } = challenge; + const solution = await this.verifyChallenge(challengeData, salt, algorithm, maxnumber); + return Buffer.from( + JSON.stringify({ + algorithm, + challenge: challengeData, + number: solution.number, + salt, + signature, + took: solution.took, + }) + ).toString('base64'); + }, + }, + + isUrl: async function(url) { + if (!url) { + return { + status: false, + code: 400, + result: { + error: "[ ❌ ] ¿Dónde está el link? ¡No puedo descargar sin un link, por favor!" + } + }; + } + + if (!this.ytRegex.test(url)) { + return { + status: false, + code: 400, + result: { + error: "[ ❌ ] ¿Qué link metiste, hermano? ¡Solo links de YouTube, que eso es lo que quieres descargar!" + } + }; + } + + return { + status: true, + code: 200, + id: url.match(this.ytRegex)[3] + }; + }, + + convert: async function(url, format, quality, isAudio = false) { + try { + const linkx = await this.isUrl(url); + if (!linkx.status) return linkx; + + const formatx = isAudio ? this.formats.audio : this.formats.video; + if (!quality || !formatx.includes(quality)) { + return { + status: false, + code: 400, + result: { + error: "[ ❌ ] ¡Ese formato no existe, hermano! Elige uno de los disponibles, no busques lo que no hay.", + available_fmt: formatx + } + }; + } + + const fixedURL = `https://youtu.be/${linkx.id}`; + const base = isAudio ? this.api.base.audio : this.api.base.video; + + const pages = await this.client.get(`${base}/`); + const $ = cheerio.load(pages.data); + const csrfToken = $('meta[name="csrf-token"]').attr('content'); + + if (!csrfToken) { + return { + status: false, + code: 500, + result: { + error: "[ ❌ ] ¡No hay CSRF, hermano! Parece que hay un problema..." + } + }; + } + + const form = new FormData(); + form.append('url', fixedURL); + form.append('format', format); + form.append('quality', quality); + form.append('service', 'youtube'); + + if (isAudio) { + form.append('playlist', 'false'); + } + + form.append('_token', csrfToken); + + const captchaX = await this.client.get(`${base}/captcha`, { + headers: { + ...this.headers, + Origin: base, + Referer: `${base}/` + }, + }); + + if (captchaX.data) { + const solvedCaptcha = await this.captcha.solve(captchaX.data); + form.append('altcha', solvedCaptcha); + } + + const endpoint = isAudio ? '/convertAudio' : '/convertVideo'; + const res = await this.client.post(`${base}${endpoint}`, form, { + headers: { + ...form.getHeaders(), + ...this.headers, + Origin: base, + Referer: `${base}/` + }, + }); + + if (!res.data.success) { + return { + status: false, + code: 400, + result: { + error: res.data.message + } + }; + } + + const ws = await this.connect(res.data.message, isAudio); + const dlink = `${base}/dl/${ws.worker}/${res.data.message}/${encodeURIComponent(ws.file)}`; + + return { + status: true, + code: 200, + result: { + title: ws.title || "[ ❌ ] No sé", + type: isAudio ? 'audio' : 'video', + format: format, + thumbnail: ws.thumbnail || `https://i.ytimg.com/vi/${linkx.id}/maxresdefault.jpg`, + download: dlink, + id: linkx.id, + duration: ws.duration, + quality: quality, + uploader: ws.uploader + } + }; + + } catch (error) { + return { + status: false, + code: 500, + result: { + error: "[ ❌ ] ¡Hubo un error, qué risa!" + } + }; + } + }, + + connect: async function(id, isAudio = false) { + return new Promise((resolve, reject) => { + const ws = new WebSocket(`wss://${isAudio ? 'amp3' : 'amp4'}.cc/ws`, ['json'], { + headers: { + ...this.headers, + Origin: `https://${isAudio ? 'amp3' : 'amp4'}.cc` + }, + rejectUnauthorized: false, + }); + + let fileInfo = {}; + let timeoutId = setTimeout(() => { + ws.close(); + reject({ + status: false, + code: 408, + result: { + error: "[ ❌ ] Se acabó el tiempo, el servidor no responde, ¡qué risa!" + } + }); + }, 30000); + + ws.on('open', () => ws.send(id)); + ws.on('message', (data) => { + const res = JSON.parse(data); + if (res.event === 'query' || res.event === 'queue') { + fileInfo = { thumbnail: res.thumbnail, title: res.title, duration: res.duration, uploader: res.uploader }; + } else if (res.event === 'file' && res.done) { + clearTimeout(timeoutId); + ws.close(); + resolve({ ...fileInfo, ...res }); + } + }); + ws.on('error', (err) => { + clearTimeout(timeoutId); + reject({ + status: false, + code: 500, + result: { + error: "[ ❌ ] ¡Qué mal, este servidor es pésimo! Falló la conexión otra vez, qué desastre." + } + }); + }); + }); + }, + + download: async function(url, format = '720p') { + try { + const isAudio = format === 'mp3'; + return await this.convert( + url, + isAudio ? 'mp3' : 'mp4', + isAudio ? '128k' : format, + isAudio + ); + } catch (error) { + return { + status: false, + code: 500, + result: { + error: "[ ❌ ] ¡Error, qué locura!" + } + }; + } + } +}; + +const ytdown = { + api: { + base: "https://p.oceansaver.in/ajax/", + progress: "https://p.oceansaver.in/ajax/progress.php" + }, + headers: { + 'authority': 'p.oceansaver.in', + 'origin': 'https://y2down.cc', + 'referer': 'https://y2down.cc/', + 'user-agent': 'Postify/1.0.0' + }, + formats: ['360', '480', '720', '1080', '1440', '2160', 'mp3', 'm4a', 'wav', 'aac', 'flac', 'opus', 'ogg'], + + isUrl: str => { try { new URL(str); return true; } catch (_) { return false; } }, + + youtube: url => { + if (!url) return null; + const a = [ + /youtube\.com\/watch\?v=([a-zA-Z0-9_-]{11})/, + /youtube\.com\/embed\/([a-zA-Z0-9_-]{11})/, + /youtube\.com\/v\/([a-zA-Z0-9_-]{11})/, + /youtube\.com\/shorts\/([a-zA-Z0-9_-]{11})/, + /youtu\.be\/([a-zA-Z0-9_-]{11})/ + ]; + for (let b of a) { + if (b.test(url)) return url.match(b)[1]; + } + return null; + }, + + request: async (endpoint, params = {}) => { + try { + const { data } = await axios.get(`${ytdown.api.base}${endpoint}`, { + params, headers: ytdown.headers, withCredentials: true + }); + return data; + } catch (error) { + console.error(error.message, error.response?.data); + throw error; + } + }, + + download: async (link, format) => { + if (!link) return { error: "[ ❌ ] ¿Dónde está el link? ¡No puedo descargar sin un link, por favor!" }; + if (!ytdown.isUrl(link)) return { error: "[ ❌ ] ¿Qué link metiste, hermano? ¡Solo links de YouTube, que eso es lo que quieres descargar!" }; + if (!format || !ytdown.formats.includes(format)) return { + error: "[ ❌ ] ¡Ese formato no existe, hermano! Elige uno de los disponibles, no busques lo que no hay.", + availableFormats: ytdown.formats + }; + + const id = ytdown.youtube(link); + if (!id) return { error: "[ ❌ ] No pude extraer el link de YouTube, usa un link correcto para que no pase esto otra vez, ¡qué risa!" }; + + try { + const response = await ytdown.request("download.php", { format, url: `https://www.youtube.com/watch?v=${id}` }); + return ytdown.handler(response, format, id); + } catch (error) { + return { + error: `[ ❌ ] ${error.message}`, + details: error.response?.data + }; + } + }, + + handler: async (data, format, id) => { + if (!data.success) return { error: data.message || "[ ❌ ] Error" }; + if (!data.id) return { error: "[ ❌ ] ¡No hay ID de descarga, hermano! Así no puedo continuar el proceso, ¡qué risa!" }; + + try { + const pr = await ytdown.checkProgress(data.id); + return pr.success ? ytdown.final(data, pr, format, id) : pr; + } catch (error) { + return { error: `[ ❌ ] ${error.message}` }; + } + }, + + checkProgress: async (id) => { + let attempts = 0, lastProgress = -1; + process.stdout.write("[ ✨ ] Progreso: [ ] 0%"); + + while (attempts < 100) { + try { + const { data } = await axios.get(ytdown.api.progress, { + params: { id }, headers: ytdown.headers, withCredentials: true + }); + + const currentProgress = Math.round(data.progress / 10); + if (currentProgress !== lastProgress) { + ytdown.updateBar(currentProgress); + lastProgress = currentProgress; + } + + if (data.download_url && data.success) { + return { success: true, ...data }; + } else if (!data.download_url && data.success) { + return { error: data.text }; + } + + await new Promise(resolve => setTimeout(resolve, 1000)); + attempts++; + } catch (error) { + console.error("\n", error); + attempts++; + await new Promise(resolve => setTimeout(resolve, 1000)); + } + } + + return { error: "[ ❌ ] El proceso de descarga no pudo continuar, hermano, ¡se acabó el tiempo!" }; + }, + + updateBar: (progress) => { + const barLength = 30; + const filledLength = Math.round(barLength * progress / 100); + const bar = '█'.repeat(filledLength) + ' '.repeat(barLength - filledLength); + process.stdout.clearLine(); + process.stdout.cursorTo(0); + process.stdout.write(`[ ✨ ] Progreso: [${bar}] ${progress}%\n\n`); + }, + + final: (init, pro, formats, id) => ({ + success: true, + title: init.title || "[ ❌ ] No sé", + type: ['360', '480', '720', '1080', '1440', '2160'].includes(formats) ? 'video' : 'audio', + formats, + thumbnail: init.info?.image || `https://img.youtube.com/vi/${id}/hqdefault.jpg`, + download: pro.download_url || "[ ❌ ] No sé", + id: id + }) +}; + +export { blackboxAi, exoml, perplexity, amdl, pinterest, ytdown }; \ No newline at end of file diff --git a/lib/simple.js b/lib/simple.js index a75a15a17..c8355b4c2 100644 --- a/lib/simple.js +++ b/lib/simple.js @@ -1,1859 +1,506 @@ -import path from 'path' -import { toAudio } from './converter.js' -import chalk from 'chalk' -import fetch from 'node-fetch' -import PhoneNumber from 'awesome-phonenumber' +import * as baileys from "@whiskeysockets/baileys"; import fs from 'fs' -import util from 'util' -import { fileTypeFromBuffer } from 'file-type' -import { format } from 'util' -import { fileURLToPath } from 'url' -import store from './store.js' -import Jimp from 'jimp' +import { fileTypeFromBuffer } from 'file-type' +import path from 'path'; +import fetch from 'node-fetch'; +import { db } from './postgres.js' -const __dirname = path.dirname(fileURLToPath(import.meta.url)) - -/** - * @type {import('@adiwajshing/baileys')} - */ const { - default: _makeWaSocket, - makeWALegacySocket, - proto, - downloadContentFromMessage, - jidDecode, - areJidsSameUser, - generateForwardMessageContent, - generateWAMessageFromContent, - WAMessageStubType, - extractMessageContent -} = (await import('@whiskeysockets/baileys')).default + makeWASocket, + proto, + downloadMediaMessage, + downloadContentFromMessage, + jidDecode, + areJidsSameUser, + generateWAMessage, + generateForwardMessageContent, + generateWAMessageFromContent, + WAMessageStubType, + extractMessageContent, + WA_DEFAULT_EPHEMERAL, + prepareWAMessageMedia +} = baileys; + + +export async function smsg(conn, m) { +if (!m) return m; +const M = proto.WebMessageInfo; +m.db = { query: (...args) => db.query(...args) }; + +if (!m.mentionedJid) m.mentionedJid = m.message?.extendedTextMessage?.contextInfo?.mentionedJid || [] +if (!m.quoted && m.message?.extendedTextMessage?.contextInfo?.quotedMessage) { + const ctx = m.message.extendedTextMessage.contextInfo; + const quotedMessage = { + key: { + id: ctx.stanzaId, + fromMe: ctx.participant === conn.user?.jid, + remoteJid: m.chat, + participant: ctx.participant, + }, + message: ctx.quotedMessage, + messageTimestamp: m.messageTimestamp, + participant: ctx.participant, + sender: ctx.participant, + chat: m.chat, + }; + m.quoted = { + ...quotedMessage, + download: () => downloadMediaMessage(quotedMessage, 'buffer', {}), + }; + } -export function makeWASocket(connectionOptions, options = {}) { - /** - * @type {import('@adiwajshing/baileys').WASocket | import('@adiwajshing/baileys').WALegacySocket} - */ - let conn = (global.opts['legacy'] ? makeWALegacySocket : _makeWaSocket)(connectionOptions) +try { + const resUser = await db.query('SELECT * FROM usuarios WHERE id = $1', [m.sender]); + m.user = resUser.rows[0] || {}; +} catch (e) { + console.error("❌ Error al obtener datos del usuario:", e); + m.user = {}; +} - let sock = Object.defineProperties(conn, { - chats: { - value: { ...(options.chats || {}) }, - writable: true - }, - decodeJid: { - value(jid) { - if (!jid || typeof jid !== 'string') return (!nullish(jid) && jid) || null - return jid.decodeJid() - } - }, - logger: { - get() { - return { - info(...args) { - console.log( - chalk.bold.bgRgb(51, 204, 51)('INFO '), - `[${chalk.rgb(255, 255, 255)(new Date().toUTCString())}]:`, - chalk.cyan(format(...args)) - ) - }, - error(...args) { - console.log( - chalk.bold.bgRgb(247, 38, 33)('ERROR '), - `[${chalk.rgb(255, 255, 255)(new Date().toUTCString())}]:`, - chalk.rgb(255, 38, 0)(format(...args)) - ) - }, - warn(...args) { - console.log( - chalk.bold.bgRgb(255, 153, 0)('WARNING '), - `[${chalk.rgb(255, 255, 255)(new Date().toUTCString())}]:`, - chalk.redBright(format(...args)) - ) - }, - trace(...args) { - console.log( - chalk.grey('TRACE '), - `[${chalk.rgb(255, 255, 255)(new Date().toUTCString())}]:`, - chalk.white(format(...args)) - ) - }, - debug(...args) { - console.log( - chalk.bold.bgRgb(66, 167, 245)('DEBUG '), - `[${chalk.rgb(255, 255, 255)(new Date().toUTCString())}]:`, - chalk.white(format(...args)) - ) - } - } - }, - enumerable: true - }, - //GataBot - sendGataBot: { - async value(jid, text = '', buffer, title, body, url, quoted, options) { - if (buffer) try { (type = await conn.getFile(buffer), buffer = type.data) } catch { buffer = buffer } - let prep = generateWAMessageFromContent(jid, { extendedTextMessage: { text: text, contextInfo: { externalAdReply: { title: title, body: body, thumbnail: buffer, sourceUrl: url }, mentionedJid: await conn.parseMention(text) }}}, { quoted: quoted, ephemeralExpiration: 24*60*100, disappearingMessagesInChat: 24*60*100}) - return conn.relayMessage(jid, prep.message, { messageId: prep.key.id }) +if (m.isGroup) { + try { + const resChat = await db.query('SELECT * FROM group_settings WHERE group_id = $1', [m.chat]); + m.chatDB = resChat.rows[0] || {}; + } catch (e) { + console.error("❌ Error al obtener datos del grupo:", e); + m.chatDB = {}; + } } -}, - sendPayment: { - async value(jid, amount, text, quoted, options) { - conn.relayMessage(jid, { - requestPaymentMessage: { - currencyCodeIso4217: 'PEN', - amount1000: amount, - requestFrom: null, - noteMessage: { - extendedTextMessage: { - text: text, - contextInfo: { - externalAdReply: { - showAdAttribution: true - }, mentionedJid: conn.parseMention(text) }}}}}, {})} - }, - getFile: { - /** - * getBuffer hehe - * @param {fs.PathLike} PATH - * @param {Boolean} saveToFile - */ - async value(PATH, saveToFile = false) { - let res, filename - const data = Buffer.isBuffer(PATH) ? PATH : PATH instanceof ArrayBuffer ? PATH.toBuffer() : /^data:.*?\/.*?;base64,/i.test(PATH) ? Buffer.from(PATH.split`,`[1], 'base64') : /^https?:\/\//.test(PATH) ? await (res = await fetch(PATH)).buffer() : fs.existsSync(PATH) ? (filename = PATH, fs.readFileSync(PATH)) : typeof PATH === 'string' ? PATH : Buffer.alloc(0) - if (!Buffer.isBuffer(data)) throw new TypeError('Result is not a buffer') - const type = await fileTypeFromBuffer(data) || { - mime: 'application/octet-stream', - ext: '.bin' - } - if (data && saveToFile && !filename) (filename = path.join(__dirname, '../tmp/' + new Date * 1 + '.' + type.ext), await fs.promises.writeFile(filename, data)) - return { - res, - filename, - ...type, - data, - deleteFile() { - return filename && fs.promises.unlink(filename) - } - } - }, - enumerable: true - }, - waitEvent: { - /** - * waitEvent - * @param {String} eventName - * @param {Boolean} is - * @param {Number} maxTries - */ - value(eventName, is = () => true, maxTries = 25) { //Idk why this exist? - return new Promise((resolve, reject) => { - let tries = 0 - let on = (...args) => { - if (++tries > maxTries) reject('Max tries reached') - else if (is()) { - conn.ev.off(eventName, on) - resolve(...args) - } - } - conn.ev.on(eventName, on) - }) - } - }, - sendContact: { - /** - * Send Contact - * @param {String} jid - * @param {String[][]|String[]} data - * @param {import('@adiwajshing/baileys').proto.WebMessageInfo} quoted - * @param {Object} options - */ - async value(jid, data, quoted, options) { - if (!Array.isArray(data[0]) && typeof data[0] === 'string') data = [data] - let contacts = [] - for (let [number, name] of data) { - number = number.replace(/[^0-9]/g, '') - let njid = number + '@s.whatsapp.net' - let biz = await conn.getBusinessProfile(njid).catch(_ => null) || {} - let vcard = ` -BEGIN:VCARD -VERSION:3.0 -N:;${name.replace(/\n/g, '\\n')};;; -FN:${name.replace(/\n/g, '\\n')} -TEL;type=CELL;type=VOICE;waid=${number}:${PhoneNumber('+' + number).getNumber('international')}${biz.description ? ` -X-WA-BIZ-NAME:${(conn.chats[njid]?.vname || conn.getName(njid) || name).replace(/\n/, '\\n')} -X-WA-BIZ-DESCRIPTION:${biz.description.replace(/\n/g, '\\n')} -`.trim() : ''} -END:VCARD - `.trim() - contacts.push({ vcard, displayName: name }) - } - return await conn.sendMessage(jid, { - ...options, - contacts: { - ...options, - displayName: (contacts.length >= 2 ? `${contacts.length} kontak` : contacts[0].displayName) || null, - contacts, - } - }, { quoted, ...options }) - }, - enumerable: true - }, - resize: { - value(buffer, ukur1, ukur2) { - return new Promise(async(resolve, reject) => { - var baper = await Jimp.read(buffer) - var ab = await baper.resize(ukur1, ukur2).getBufferAsync(Jimp.MIME_JPEG) - resolve(ab) - }) - } - }, - - relayWAMessage: { - async value (pesanfull) { - if (pesanfull.message.audioMessage) { - await conn.sendPresenceUpdate('recording', pesanfull.key.remoteJid) - } else { - await conn.sendPresenceUpdate('composing', pesanfull.key.remoteJid) - } - var mekirim = await conn.relayMessage(pesanfull.key.remoteJid, pesanfull.message, { messageId: pesanfull.key.id }) - conn.ev.emit('messages.upsert', { messages: [pesanfull], type: 'append' }); - return mekirim - } - }, - /** - * Send a list message - * @param jid the id to send to - * @param button the optional button text, title and description button - * @param rows the rows of sections list message - */ - sendListM: { - async value(jid, button, rows, quoted, options = {}) { - let fsizedoc = '1'.repeat(10) - const sections = [ - { - title: button.title, - rows: [...rows] - } - ] - const listMessage = { - text: button.description, - footer: button.footerText, - mentions: await conn.parseMention(button.description), - ephemeralExpiration: '86400', - title: '', - buttonText:button.buttonText, - sections - } - conn.sendMessage(jid, listMessage, { - quoted, - ephemeralExpiration: fsizedoc, - contextInfo: { - forwardingScore: fsizedoc, - isForwarded: true, - mentions: await conn.parseMention(button.description + button.footerText), - ...options - } - }) - } - }, - - sendList: { - async value(jid, title, text, footer, buttonText, buffer, listSections, quoted, options) { - if (buffer) try { (type = await conn.getFile(buffer), buffer = type.data) } catch { buffer = buffer } - if (buffer && !Buffer.isBuffer(buffer) && (typeof buffer === 'string' || Array.isArray(buffer))) (options = quoted, quoted = listSections, listSections = buffer, buffer = null) - if (!options) options = {} - // send a list message! - const sections = listSections.map(([title, rows]) => ({ - title: !nullish(title) && title || !nullish(rowTitle) && rowTitle || '', - rows: rows.map(([rowTitle, rowId, description]) => ({ - title: !nullish(rowTitle) && rowTitle || !nullish(rowId) && rowId || '', - rowId: !nullish(rowId) && rowId || !nullish(rowTitle) && rowTitle || '', - description: !nullish(description) && description || '' - })) - })) +if (m.quoted && m.quoted.message && typeof m.quoted.message === 'object') { + const keys = Object.keys(m.quoted.message); + if (keys.length > 0) { + const type = keys[0]; + const media = m?.quoted.message[type]; + + if (type?.includes('image')) m.quoted.mimetype = 'image'; + else if (type?.includes('video')) m.quoted.mimetype = 'video'; + else if (type?.includes('sticker')) m.quoted.mimetype = 'image/webp'; + else if (type?.includes('audio')) m.quoted.mimetype = 'audio'; + else if (type?.includes('document')) m.quoted.mimetype = media.mimetype || 'application/octet-stream'; + } +} - const listMessage = { - text, - footer, - title, - buttonText, - sections - } - return await conn.sendMessage(jid, listMessage, { - quoted, - upload: conn.waUploadToServer, - ...options - }) - } - }, - /** - * Send Contact Array - * @param {String} jid - * @param {String} number - * @param {String} name - * @param {Object} quoted - * @param {Object} options - */ -sendContactArray: { - async value(jid, data, quoted, options) { - if (!Array.isArray(data[0]) && typeof data[0] === 'string') data = [data] - let contacts = [] - let buttons = [] - for (let [number, name, isi, isi1, isi2, isi3, isi4, isi5, ...extraLinks] of data) { - number = number.replace(/[^0-9]/g, '') - let njid = number + '@s.whatsapp.net' - let biz = await conn.getBusinessProfile(njid).catch(_ => null) || {}; - let vcard = ` -BEGIN:VCARD -VERSION:3.0 -N:Sy;Bot;;; -FN:${name.replace(/\n/g, '\\n')} -item.ORG:${isi} -item1.TEL;waid=${number}:${PhoneNumber('+' + number).getNumber('international')} -item1.X-ABLabel:${isi1} -${isi2 ? `item2.EMAIL;type=INTERNET:${isi2}\nitem2.X-ABLabel:📧 Email` : ''} -${isi3 ? `item3.ADR:;;${isi3};;;;\nitem3.X-ABADR:ac \nitem3.X-ABLabel:📍 Region` : ''} -${isi4 ? `item4.URL;type=pref:${isi4}\nitem4.X-ABLabel:Website` : ''} -${extraLinks.map((link, index) => link ? `item${index + 5}.URL;type=pref:${link}\nitem${index + 5}.X-ABLabel:Extra Link ${index + 1}` : '').join('\n')} -${isi5 ? `${extraLinks.length > 0 ? `item${extraLinks.length + 5}` : 'item5'}.X-ABLabel:${isi5}` : ''} -END:VCARD`.trim() +if (!m.mimetype) { + const messageContent = m.message; + if (messageContent) { + const type = Object.keys(messageContent)[0]; +if (type && type.includes('image')) m.mimetype = 'image'; +else if (type && type.includes('video')) m.mimetype = 'video'; +else if (type && type.includes('sticker')) m.mimetype = 'image/webp'; +else if (type && type.includes('audio')) m.mimetype = 'audio'; +else if (type && type.includes('document')) { + const msgMedia = messageContent[type]; + m.mimetype = msgMedia?.mimetype || 'application/octet-stream'; + } + } + } - let newButtons = extraLinks.map((link, index) => ({ - buttonId: `extra-link-${index + 1}`, - buttonText: { displayText: `Extra Link ${index + 1}` }, - type: 1, - url: `http://${link}` - })) - buttons.push(...newButtons) + if (m.key) { + m.id = m.key.id; + m.chat = m.key.remoteJid; + m.fromMe = m.key.fromMe; + m.isGroup = m.chat?.endsWith('@g.us') || false; + let senderJid = m.fromMe ? conn.user.id : m.key.participant || m.key.remoteJid; + +// Si existe un participantAlt válido, úsalo +if (m.key.participantAlt && m.key.participantAlt.endsWith('@s.whatsapp.net')) { + m.sender = m.key.participantAlt; + m.lid = senderJid; +} else { + m.sender = senderJid; +} - contacts.push({ vcard, displayName: name }) - } +m.who = m.mentionedJid && m.mentionedJid[0] ? m.mentionedJid[0] : m.fromMe ? conn.user.id : m.sender; +m.pp = await conn.profilePictureUrl(m.who, 'image').catch(_ => 'https://telegra.ph/file/33bed21a0eaa789852c30.jpg'); + +if (m.isGroup) { + try { + const metadata = await conn.groupMetadata(m.chat); + const participants = metadata.participants || []; + m.isAdmin = participants.some(p => p.id === m.sender && (p.admin === 'admin' || p.admin === 'superadmin')); + m.isBotAdmin = participants.some(p => p.id === conn.user?.id.replace(/:\d+@/, "@") && (p.admin === 'admin' || p.admin === 'superadmin')); + } catch (e) { + m.isAdmin = false; + m.isBotAdmin = false; + } +} + } else { + } - let displayName = null - if (contacts.length === 1) { - displayName = contacts[0].displayName - } else if (contacts.length > 1) { - displayName = `${contacts.length} kontak` +m.download = async () => { + const messageContent = m.message || (m.quoted && m.quoted.message); + if (!messageContent) throw new Error('No se encontró contenido para descargar'); + const type = Object.keys(messageContent)[0]; + const stream = await downloadContentFromMessage(messageContent[type], type.includes('image') ? 'image' : type.includes('video') ? 'video' : 'document'); + return await streamToBuffer(stream); + }; + +conn.decodeJid = (jid) => { + if (!jid) return jid; + if (jid.endsWith('@lid')) return jid; + if (/:\d+@/i.test(jid)) return jid.split(':')[0] + '@s.whatsapp.net'; + return jid; +}; + + conn.getName = async (jid, withoutContact = false, m = null) => { + if (!jid) return null; + jid = conn.decodeJid ? conn.decodeJid(jid) : jid; + try { + if (jid.endsWith('@g.us')) { + const metadata = await conn.groupMetadata(jid); + return metadata.subject || (withoutContact ? null : jid.split('@')[0]); + } else { + if (jid === '0@s.whatsapp.net') return 'WhatsApp'; + if (conn.user?.jid && jid === conn.user.jid) return conn.user.name || jid.split('@')[0]; + if (m?.pushName && m?.sender === jid) return m.pushName; + + const res = await db.query('SELECT nombre FROM usuarios WHERE id = $1', [jid]); + if (res.rows.length && res.rows[0].nombre) return res.rows[0].nombre; + + return jid.split('@')[0]; // } - - let contactsWithButtons = [] - for (let i = 0; i < contacts.length; i++) { - let contact = contacts[i] - let contactButtons = buttons.filter(button => button.buttonId.startsWith(`extra-link-${i + 1}`)) - contactsWithButtons.push({ ...contact, ...{ buttons: contactButtons } }) + } catch (err) { + console.error(err); + return jid.split('@')[0]; + } +}; + +Array.prototype.getRandom = function () { + return this[Math.floor(Math.random() * this.length)]; +}; + +const originalSendMessage = conn.sendMessage.bind(conn); +conn.sendMessage = async function (jid, content, options = {}) { + const contextInfoDefault = { + mentionedJid: await conn.parseMention(content?.text || content?.caption || ''), + isForwarded: true, + forwardingScore: 1, + forwardedNewsletterMessageInfo: { + newsletterJid: "120363305025805187@newsletter", +/* newsletterJid: (() => { + const loli = "120363305025805187@newsletter"; + const otros = ["120363160031023229@newsletter", "120363301598733462@newsletter"]; + return Math.random() < 0.75 ? loli : otros[Math.floor(Math.random() * otros.length)]})(),*/ + newsletterName: "LoliBot ✨️" } + }; - return await conn.sendMessage(jid, { - contacts: { - displayName, - contacts: contactsWithButtons - } - }, { - quoted, - ...options - }) + if (!content.contextInfo) { + content.contextInfo = contextInfoDefault; } -}, - - sendFile: { - /** - * Send Media/File with Automatic Type Specifier - * @param {String} jid - * @param {String|Buffer} path - * @param {String} filename - * @param {String} caption - * @param {import('@adiwajshing/baileys').proto.WebMessageInfo} quoted - * @param {Boolean} ptt - * @param {Object} options - */ - async value(jid, path, filename = '', caption = '', quoted, ptt = false, options = {}) { - let type = await conn.getFile(path, true) - let { res, data: file, filename: pathFile } = type - if (res && res.status !== 200 || file.length <= 65536) { - try { throw { json: JSON.parse(file.toString()) } } - catch (e) { if (e.json) throw e.json } - } - //const fileSize = fs.statSync(pathFile).size / 1024 / 1024 - //if (fileSize >= 100) throw new Error('File size is too big!') - let opt = {} - if (quoted) opt.quoted = quoted - if (!type) options.asDocument = true - let mtype = '', mimetype = options.mimetype || type.mime, convert - if (/webp/.test(type.mime) || (/image/.test(type.mime) && options.asSticker)) mtype = 'sticker' - else if (/image/.test(type.mime) || (/webp/.test(type.mime) && options.asImage)) mtype = 'image' - else if (/video/.test(type.mime)) mtype = 'video' - else if (/audio/.test(type.mime)) ( - convert = await toAudio(file, type.ext), - file = convert.data, - pathFile = convert.filename, - mtype = 'audio', - mimetype = options.mimetype || 'audio/ogg; codecs=opus' - ) - else mtype = 'document' - if (options.asDocument) mtype = 'document' - - delete options.asSticker - delete options.asLocation - delete options.asVideo - delete options.asDocument - delete options.asImage - - let message = { - ...options, - caption, - ptt, - [mtype]: { url: pathFile }, - mimetype, - fileName: filename || pathFile.split('/').pop() - } - /** - * @type {import('@adiwajshing/baileys').proto.WebMessageInfo} - */ - let m - try { - m = await conn.sendMessage(jid, message, { ...opt, ...options }) - } catch (e) { - console.error(e) - m = null - } finally { - if (!m) m = await conn.sendMessage(jid, { ...message, [mtype]: file }, { ...opt, ...options }) - file = null // releasing the memory - return m - } - }, - enumerable: true - }, - reply: { - /** - * Reply to a message - * @param {String} jid - * @param {String|Buffer} text - * @param {import('@adiwajshing/baileys').proto.WebMessageInfo} quoted - * @param {Object} options - */ - value(jid, text = '', quoted, options) { - return Buffer.isBuffer(text) ? conn.sendFile(jid, text, 'file', '', quoted, false, options) : conn.sendMessage(jid, { ...options, text }, { quoted, ...options, ephemeralExpiration: 24*60*100, disappearingMessagesInChat: 24*60*100}) - } - }, - - /** Resize Image - * - * @param {Buffer} Buffer (Only Image) - * @param {Numeric} Width - * @param {Numeric} Height - */ - resize: { - async value(image, width, height) { - let oyy = await Jimp.read(image) - let kiyomasa = await oyy.resize(width, height).getBufferAsync(Jimp.MIME_JPEG) - return kiyomasa - } - }, - /** Profile Image - * - * @param {Buffer} Buffer (Only Image) - * @param {Numeric} Width - * @param {Numeric} Height - */ - generateProfilePicture: { - async value(buffer) { - const jimp_1 = await Jimp.read(buffer); - const resz = jimp_1.getWidth() > jimp_1.getHeight() ? jimp_1.resize(550, Jimp.AUTO) : jimp_1.resize(Jimp.AUTO, 650) - const jimp_2 = await Jimp.read(await resz.getBufferAsync(Jimp.MIME_JPEG)); - return { - img: await resz.getBufferAsync(Jimp.MIME_JPEG) - }} - }, - - /** - * send Button Img - * @param {String} jid - * @param {String} contentText - * @param {String} footer - * @param {Buffer|String} buffer - * @param {String[]} buttons - * @param {Object} quoted - * @param {Object} options - */ - sendButtonImg: { - async value(jid, buffer, contentText, footerText, button1, id1, quoted, options) { - let type = await conn.getFile(buffer) - let { res, data: file } = type - if (res && res.status !== 200 || file.length <= 65536) { - try { throw { json: JSON.parse(file.toString()) } } - catch (e) { if (e.json) throw e.json } - } - const buttons = [ - { buttonId: id1, buttonText: { displayText: button1 }, type: 1 } - ] - const buttonMessage = { - image: file, - fileLength: 800000000000000, - caption: contentText, - footer: footerText, - mentions: await conn.parseMention(contentText + footerText), - ...options, - buttons: buttons, - headerType: 4 - } + return originalSendMessage(jid, content, options); +}; - return conn.sendMessage(jid, buttonMessage, { quoted, ephemeralExpiration: 86400, contextInfo: { mentionedJid: conn.parseMention(contentText + footerText) }, ...options }) - }}, - -/** - * send Button Vid - * @param {String} jid - * @param {String} contentText - * @param {String} footer - * @param {Buffer|String} buffer - * @param {String} buttons1 - * @param {String} row1 - * @param {Object} quoted - * @param {Object} options - */ - send1ButtonVid: { - async value(jid, buffer, contentText, footerText, button1, id1, quoted, options) { - let type = await conn.getFile(buffer) - let { res, data: file } = type - if (res && res.status !== 200 || file.length <= 65536) { - try { throw { json: JSON.parse(file.toString()) } } - catch (e) { if (e.json) throw e.json } - } - let buttons = [ - { buttonId: id1, buttonText: { displayText: button1 }, type: 1 } - ] - const buttonMessage = { - video: file, - fileLength: 800000000000000, - caption: contentText, - footer: footerText, - mentions: await conn.parseMention(contentText), - ...options, - buttons: buttons, - headerType: 4 - } - return conn.sendMessage(jid, buttonMessage, { - quoted, - ephemeralExpiration: 86400, - ...options - }) - }}, - -send2ButtonVid: { - async value(jid, buffer, contentText, footerText, button1, id1, button2, id2, quoted, options) { - let type = await conn.getFile(buffer) - let { res, data: file } = type - if (res && res.status !== 200 || file.length <= 65536) { - try { throw { json: JSON.parse(file.toString()) } } - catch (e) { if (e.json) throw e.json } - } - let buttons = [ - { buttonId: id1, buttonText: { displayText: button1 }, type: 1 }, - { buttonId: id2, buttonText: { displayText: button2 }, type: 1 } - ] - const buttonMessage = { - video: file, - fileLength: 800000000000000, - caption: contentText, - footer: footerText, - mentions: await conn.parseMention(contentText + footerText), - ...options, - buttons: buttons, - headerType: 4 - } - return conn.sendMessage(jid, buttonMessage, { - quoted, - ephemeralExpiration: 86400, - ...options - }) - }}, - -sendButtonLoc: { - /** - * send Button Loc - * @param {String} jid - * @param {String} contentText - * @param {String} footer - * @param {Buffer|String} buffer - * @param {String[]} buttons - * @param {Object} quoted - * @param {Object} options - */ - async value (jid, buffer, content, footer, button1, row1, quoted, options = {}) { - let type = await conn.getFile(buffer) - let { res, data: file } = type - if (res && res.status !== 200 || file.length <= 65536) { - try { throw { json: JSON.parse(file.toString()) } } - catch (e) { if (e.json) throw e.json } - } - let buttons = [ - { buttonId: row1, buttonText: { displayText: button1 }, type: 1 } - ] - - let buttonMessage = { - location: { jpegThumbnail: file }, - caption: content, - footer: footer, - mentions: await conn.parseMention(content + footer), - ...options, - buttons: buttons, - headerType: 6 - } - return await conn.sendMessage(jid, buttonMessage, { - quoted, - upload: conn.waUploadToServer, - ephemeralExpiration: global.ephemeral, - mentions: await conn.parseMention(content + footer), - ...options})} - }, - - /** This Section **/ - sendButtonVid: { - async value(jid, buffer, contentText, footerText, button1, id1, button2, id2, button3, id3, quoted, options) { - let type = await conn.getFile(buffer) - let { res, data: file } = type - if (res && res.status !== 200 || file.length <= 65536) { - try { throw { json: JSON.parse(file.toString()) } } - catch (e) { if (e.json) throw e.json } - } - let buttons = [ - { buttonId: id1, buttonText: { displayText: button1 }, type: 1 }, - { buttonId: id2, buttonText: { displayText: button2 }, type: 1 }, - { buttonId: id3, buttonText: { displayText: button3 }, type: 1 }, - ] - const buttonMessage = { - video: file, - fileLength: 800000000000000, - caption: contentText, - footer: footerText, - mentions: await conn.parseMention(contentText + footerText), - ...options, - buttons: buttons, - headerType: 4 - } - return conn.sendMessage(jid, buttonMessage, { - quoted, - ephemeralExpiration: 86400, - ...options - }) - }}, - -/** This Section **/ - sendTemplateButtonLoc: { - async value(jid, buffer, contentText, footer, buttons1, row1, quoted, options) { - let file = await conn.resize(buffer, 300, 150) - const template = generateWAMessageFromContent(jid, proto.Message.fromObject({ - templateMessage: { - hydratedTemplate: { - locationMessage: { jpegThumbnail: file }, - hydratedContentText: contentText, - hydratedFooterText: footer, - ...options, - hydratedButtons: [{ - urlButton: { - displayText: global.author, - url: global.md - } - }, - { - quickReplyButton: { - displayText: buttons1, - id: row1 - } - }] - } + conn.parseMention = async (text = '') => { + try { + if (typeof text !== 'string') return []; + const matches = [...text.matchAll(/@([0-9]{5,15})/g)]; + return matches.map(match => `${match[1]}@s.whatsapp.net`).filter(jid => jid.includes('@s.whatsapp.net')); + } catch (e) { + console.error(e); + return []; + } + }; + + conn.reply = async (chatId, text, quoted = null, options = {}) => { + const contextInfo = { + mentionedJid: await conn.parseMention(text), + isForwarded: true, + forwardingScore: 1, + forwardedNewsletterMessageInfo: { + newsletterJid: "120363305025805187@newsletter", + newsletterName: "LoliBot ✨️" } - }), { userJid: conn.user.jid, quoted: quoted, contextInfo: { mentionedJid: conn.parseMention(contentText + footer) }, ephemeralExpiration: "86400", ...options }); - return conn.relayMessage( - jid, - template.message, - { messageId: template.key.id } - ) - }}, - -sendGroupV4Invite: { - /** - * sendGroupV4Invite - * @param {String} jid - * @param {*} participant - * @param {String} inviteCode - * @param {Number} inviteExpiration - * @param {String} groupName - * @param {String} caption - * @param {Buffer} jpegThumbnail - * @param {*} options - */ - async value(jid, participant, inviteCode, inviteExpiration, groupName = 'unknown subject', caption = 'Invitation to join my WhatsApp group', jpegThumbnail, options = {}) { - const msg = proto.Message.fromObject({ - groupInviteMessage: proto.GroupInviteMessage.fromObject({ - inviteCode, - inviteExpiration: parseInt(inviteExpiration) || + new Date(new Date + (3 * 86400000)), - groupJid: jid, - groupName: (groupName ? groupName : await conn.getName(jid)) || null, - jpegThumbnail: Buffer.isBuffer(jpegThumbnail) ? jpegThumbnail : null, - caption - }) - }) - const message = generateWAMessageFromContent(participant, msg, options) - await conn.relayMessage(participant, message.message, { messageId: message.key.id, additionalAttributes: { ...options } }) - return message - }, - enumerable: true - }, - - sendButton: { - /** - * send Button - * @param {String} jid - * @param {String} text - * @param {String} footer - * @param {Buffer} buffer - * @param {String[] | String[][]} buttons - * @param {import('@adiwajshing/baileys').proto.WebMessageInfo} quoted - * @param {Object} options - */ - async value(jid, text = '', footer = '', buffer, buttons, quoted, options) { - let type - if (Array.isArray(buffer)) (options = quoted, quoted = buttons, buttons = buffer, buffer = null) - else if (buffer) try { (type = await conn.getFile(buffer), buffer = type.data) } catch { buffer = null } - if (!Array.isArray(buttons[0]) && typeof buttons[0] === 'string') buttons = [buttons] - if (!options) options = {} - let message = { - ...options, - [buffer ? 'caption' : 'text']: text || '', - footer, - buttons: buttons.map(btn => ({ - buttonId: !nullish(btn[1]) && btn[1] || !nullish(btn[0]) && btn[0] || '', - buttonText: { - displayText: !nullish(btn[0]) && btn[0] || !nullish(btn[1]) && btn[1] || '' - } - })), - ...(buffer ? - options.asLocation && /image/.test(type.mime) ? { - location: { - ...options, - jpegThumbnail: buffer - } - } : { - [/video/.test(type.mime) ? 'video' : /image/.test(type.mime) ? 'image' : 'document']: buffer - } : {}) - } + }; + return await conn.sendMessage(chatId, { text, contextInfo }, { quoted, ...options }); + }; + + // Reacción + m.react = async (emoji) => { + if (!emoji) return; + await conn.sendMessage(m.chat || m.key.remoteJid, { + react: { text: emoji, key: m.key } + }); + }; + +const defaultContextInfo = async (caption, conn) => ({ + mentionedJid: await conn.parseMention(caption), + isForwarded: true, + forwardingScore: 1, + forwardedNewsletterMessageInfo: { + newsletterJid: "120363305025805187@newsletter", + newsletterName: "LoliBot ✨️" + } +}); - return await conn.sendMessage(jid, message, { - quoted, - upload: conn.waUploadToServer, - ...options - }) - }, - enumerable: true - }, - sendPoll: { - async value(jid, name = '', optiPoll, options) { - if (!Array.isArray(optiPoll[0]) && typeof optiPoll[0] === 'string') optiPoll = [optiPoll] - if (!options) options = {} - const pollMessage = { - name: name, - options: optiPoll.map(btn => ({ - optionName: !nullish(btn[0]) && btn[0] || '' - })), - selectableOptionsCount: 1 - } - return conn.relayMessage(jid, { pollCreationMessage: pollMessage }, { ...options }); - } - }, - - /** Send Button Gif - * - * @param {*} jid - * @param {*} text - * @param {*} footer - * @param {*} Gif - * @param [*] button - * @param {*} options - * @returns - */ - sendButtonGif: { - async value(jid , text = '' , footer = '', gif, but = [], buff, options = {}) { - let file = await conn.resize(buff, 300, 150) - let a = [1,2] - let b = a[Math.floor(Math.random() * a.length)] - conn.sendMessage(jid, { video: gif, gifPlayback: true, gifAttribution: b, caption: text, footer: footer, jpegThumbnail: file, templateButtons: but, ...options }) - } - }, - - sendHydrated: { - /** - * - * @param {String} jid - * @param {String} text - * @param {String} footer - * @param {fs.PathLike} buffer - * @param {String|string[]} url - * @param {String|string[]} urlText - * @param {String|string[]} call - * @param {String|string[]} callText - * @param {String[][]} buttons - * @param {import('@adiwajshing/baileys').proto.WebMessageInfo} quoted - * @param {Object} options - */ - async value(jid, text = '', footer = '', buffer, url, urlText, call, callText, buttons, quoted, options) { - let type - if (buffer) try { (type = await conn.getFile(buffer), buffer = type.data) } catch { buffer = buffer } - if (buffer && !Buffer.isBuffer(buffer) && (typeof buffer === 'string' || Array.isArray(buffer))) (options = quoted, quoted = buttons, buttons = callText, callText = call, call = urlText, urlText = url, url = buffer, buffer = null) - if (!options) options = {} - let templateButtons = [] - if (url || urlText) { - if (!Array.isArray(url)) url = [url] - if (!Array.isArray(urlText)) urlText = [urlText] - templateButtons.push(...( - url.map((v, i) => [v, urlText[i]]) - .map(([url, urlText], i) => ({ - index: templateButtons.length + i + 1, - urlButton: { - displayText: !nullish(urlText) && urlText || !nullish(url) && url || '', - url: !nullish(url) && url || !nullish(urlText) && urlText || '' - } - })) || [] - )) - } - if (call || callText) { - if (!Array.isArray(call)) call = [call] - if (!Array.isArray(callText)) callText = [callText] - templateButtons.push(...( - call.map((v, i) => [v, callText[i]]) - .map(([call, callText], i) => ({ - index: templateButtons.length + i + 1, - callButton: { - displayText: !nullish(callText) && callText || !nullish(call) && call || '', - phoneNumber: !nullish(call) && call || !nullish(callText) && callText || '' - } - })) || [] - )) - } - if (buttons.length) { - if (!Array.isArray(buttons[0])) buttons = [buttons] - templateButtons.push(...( - buttons.map(([text, id], index) => ({ - index: templateButtons.length + index + 1, - quickReplyButton: { - displayText: !nullish(text) && text || !nullish(id) && id || '', - id: !nullish(id) && id || !nullish(text) && text || '' - } - })) || [] - )) - } - let message = { - ...options, - [buffer ? 'caption' : 'text']: text || '', - footer, - templateButtons, - ...(buffer ? - options.asLocation && /image/.test(type.mime) ? { - location: { - ...options, - jpegThumbnail: buffer - } - } : { - [/video/.test(type.mime) ? 'video' : /image/.test(type.mime) ? 'image' : 'document']: buffer - } : {}) - } - return await conn.sendMessage(jid, message, { - quoted, - upload: conn.waUploadToServer, - ...options - }) - }, - enumerable: true - }, - sendHydrated2: { - /** - * - * @param {String} jid - * @param {String} text - * @param {String} footer - * @param {fs.PathLike} buffer - * @param {String|string[]} url - * @param {String|string[]} urlText - * @param {String|string[]} call - * @param {String|string[]} callText - * @param {String[][]} buttons - * @param {import('@adiwajshing/baileys').proto.WebMessageInfo} quoted - * @param {Object} options - */ - async value(jid, text = '', footer = '', buffer, url, urlText, url2, urlText2, buttons, quoted, options) { - let type - if (buffer) try { (type = await conn.getFile(buffer), buffer = type.data) } catch { buffer = buffer } - if (buffer && !Buffer.isBuffer(buffer) && (typeof buffer === 'string' || Array.isArray(buffer))) (options = quoted, quoted = buttons, buttons = callText, callText = call, call = urlText, urlText = url, url = buffer, buffer = null) - if (!options) options = {} - let templateButtons = [] - if (url || urlText) { - if (!Array.isArray(url)) url = [url] - if (!Array.isArray(urlText)) urlText = [urlText] - templateButtons.push(...( - url.map((v, i) => [v, urlText[i]]) - .map(([url, urlText], i) => ({ - index: templateButtons.length + i + 1, - urlButton: { - displayText: !nullish(urlText) && urlText || !nullish(url) && url || '', - url: !nullish(url) && url || !nullish(urlText) && urlText || '' - } - })) || [] - )) - } - if (url2 || urlText2) { - if (!Array.isArray(url2)) url2 = [url2] - if (!Array.isArray(urlText2)) urlText2 = [urlText2] - templateButtons.push(...( - url2.map((v, i) => [v, urlText2[i]]) - .map(([url2, urlText2], i) => ({ - index: templateButtons.length + i + 1, - urlButton: { - displayText: !nullish(urlText2) && urlText2 || !nullish(url2) && url2 || '', - url: !nullish(url2) && url2 || !nullish(urlText2) && urlText2 || '' - } - })) || [] - )) - } - if (buttons.length) { - if (!Array.isArray(buttons[0])) buttons = [buttons] - templateButtons.push(...( - buttons.map(([text, id], index) => ({ - index: templateButtons.length + index + 1, - quickReplyButton: { - displayText: !nullish(text) && text || !nullish(id) && id || '', - id: !nullish(id) && id || !nullish(text) && text || '' - } - })) || [] - )) - } - let message = { - ...options, - [buffer ? 'caption' : 'text']: text || '', - footer, - templateButtons, - ...(buffer ? - options.asLocation && /image/.test(type.mime) ? { - location: { - ...options, - jpegThumbnail: buffer - } - } : { - [/video/.test(type.mime) ? 'video' : /image/.test(type.mime) ? 'image' : 'document']: buffer - } : {}) - } - return await conn.sendMessage(jid, message, { - quoted, - upload: conn.waUploadToServer, - ...options - }) - }, - enumerable: true - }, - cMod: { - /** - * cMod - * @param {String} jid - * @param {import('@adiwajshing/baileys').proto.WebMessageInfo} message - * @param {String} text - * @param {String} sender - * @param {*} options - * @returns - */ - value(jid, message, text = '', sender = conn.user.jid, options = {}) { - if (options.mentions && !Array.isArray(options.mentions)) options.mentions = [options.mentions] - let copy = message.toJSON() - delete copy.message.messageContextInfo - delete copy.message.senderKeyDistributionMessage - let mtype = Object.keys(copy.message)[0] - let msg = copy.message - let content = msg[mtype] - if (typeof content === 'string') msg[mtype] = text || content - else if (content.caption) content.caption = text || content.caption - else if (content.text) content.text = text || content.text - if (typeof content !== 'string') { - msg[mtype] = { ...content, ...options } - msg[mtype].contextInfo = { - ...(content.contextInfo || {}), - mentionedJid: options.mentions || content.contextInfo?.mentionedJid || [] - } - } - if (copy.participant) sender = copy.participant = sender || copy.participant - else if (copy.key.participant) sender = copy.key.participant = sender || copy.key.participant - if (copy.key.remoteJid.includes('@s.whatsapp.net')) sender = sender || copy.key.remoteJid - else if (copy.key.remoteJid.includes('@broadcast')) sender = sender || copy.key.remoteJid - copy.key.remoteJid = jid - copy.key.fromMe = areJidsSameUser(sender, conn.user.id) || false - return proto.WebMessageInfo.fromObject(copy) - }, - enumerable: true - }, - copyNForward: { - /** - * Exact Copy Forward - * @param {String} jid - * @param {import('@adiwajshing/baileys').proto.WebMessageInfo} message - * @param {Boolean|Number} forwardingScore - * @param {Object} options - */ - async value(jid, message, forwardingScore = true, options = {}) { - let vtype - if (options.readViewOnce && message.message.viewOnceMessage?.message) { - vtype = Object.keys(message.message.viewOnceMessage.message)[0] - delete message.message.viewOnceMessage.message[vtype].viewOnce - message.message = proto.Message.fromObject( - JSON.parse(JSON.stringify(message.message.viewOnceMessage.message)) - ) - message.message[vtype].contextInfo = message.message.viewOnceMessage.contextInfo - } - let mtype = Object.keys(message.message)[0] - let m = generateForwardMessageContent(message, !!forwardingScore) - let ctype = Object.keys(m)[0] - if (forwardingScore && typeof forwardingScore === 'number' && forwardingScore > 1) m[ctype].contextInfo.forwardingScore += forwardingScore - m[ctype].contextInfo = { - ...(message.message[mtype].contextInfo || {}), - ...(m[ctype].contextInfo || {}) - } - m = generateWAMessageFromContent(jid, m, { - ...options, - userJid: conn.user.jid - }) - await conn.relayMessage(jid, m.message, { messageId: m.key.id, additionalAttributes: { ...options } }) - return m - }, - enumerable: true - }, - - fakeReply: { - /** - * Fake Replies - * @param {String} jid - * @param {String|Object} text - * @param {String} fakeJid - * @param {String} fakeText - * @param {String} fakeGroupJid - * @param {String} options - */ - value(jid, text = '', fakeJid = this.user.jid, fakeText = '', fakeGroupJid, options) { - return conn.reply(jid, text, { key: { fromMe: areJidsSameUser(fakeJid, conn.user.id), participant: fakeJid, ...(fakeGroupJid ? { remoteJid: fakeGroupJid } : {}) }, message: { conversation: fakeText }, ...options }) - } - }, - downloadM: { - /** - * Download media message - * @param {Object} m - * @param {String} type - * @param {fs.PathLike | fs.promises.FileHandle} saveToFile - * @returns {Promise} - */ - async value(m, type, saveToFile) { - let filename - if (!m || !(m.url || m.directPath)) return Buffer.alloc(0) - const stream = await downloadContentFromMessage(m, type) - let buffer = Buffer.from([]) - for await (const chunk of stream) { - buffer = Buffer.concat([buffer, chunk]) - } - if (saveToFile) ({ filename } = await conn.getFile(buffer, true)) - return saveToFile && fs.existsSync(filename) ? filename : buffer - }, - enumerable: true - }, - parseMention: { - /** - * Parses string into mentionedJid(s) - * @param {String} text - * @returns {Array} - */ - value(text = '') { - return [...text.matchAll(/@([0-9]{5,16}|0)/g)].map(v => v[1] + '@s.whatsapp.net') - }, - enumerable: true - }, - getName: { - /** - * Get name from jid - * @param {String} jid - * @param {Boolean} withoutContact - */ - value(jid = '', withoutContact = false) { - jid = conn.decodeJid(jid) - withoutContact = conn.withoutContact || withoutContact - let v - if (jid.endsWith('@g.us')) return new Promise(async (resolve) => { - v = conn.chats[jid] || {} - if (!(v.name || v.subject)) v = await conn.groupMetadata(jid) || {} - resolve(v.name || v.subject || PhoneNumber('+' + jid.replace('@s.whatsapp.net', '')).getNumber('international')) - }) - else v = jid === '0@s.whatsapp.net' ? { - jid, - vname: 'WhatsApp' - } : areJidsSameUser(jid, conn.user.id) ? - conn.user : - (conn.chats[jid] || {}) - return (withoutContact ? '' : v.name) || v.subject || v.vname || v.notify || v.verifiedName || PhoneNumber('+' + jid.replace('@s.whatsapp.net', '')).getNumber('international') - }, - enumerable: true - }, - loadMessage: { - /** - * - * @param {String} messageID - * @returns {import('@adiwajshing/baileys').proto.WebMessageInfo} - */ - value(messageID) { - return Object.entries(conn.chats) - .filter(([_, { messages }]) => typeof messages === 'object') - .find(([_, { messages }]) => Object.entries(messages) - .find(([k, v]) => (k === messageID || v.key?.id === messageID))) - ?.[1].messages?.[messageID] - }, - enumerable: true - }, - sendGroupV4Invite: { - /** - * sendGroupV4Invite - * @param {String} jid - * @param {*} participant - * @param {String} inviteCode - * @param {Number} inviteExpiration - * @param {String} groupName - * @param {String} caption - * @param {Buffer} jpegThumbnail - * @param {*} options - */ - async value(jid, participant, inviteCode, inviteExpiration, groupName = 'unknown subject', caption = 'Invitation to join my WhatsApp group', jpegThumbnail, options = {}) { - const msg = proto.Message.fromObject({ - groupInviteMessage: proto.GroupInviteMessage.fromObject({ - inviteCode, - inviteExpiration: parseInt(inviteExpiration) || + new Date(new Date + (3 * 86400000)), - groupJid: jid, - groupName: (groupName ? groupName : await conn.getName(jid)) || null, - jpegThumbnail: Buffer.isBuffer(jpegThumbnail) ? jpegThumbnail : null, - caption - }) - }) - const message = generateWAMessageFromContent(participant, msg, options) - await conn.relayMessage(participant, message.message, { messageId: message.key.id, additionalAttributes: { ...options } }) - return message - }, - enumerable: true - }, - processMessageStubType: { - /** - * to process MessageStubType - * @param {import('@adiwajshing/baileys').proto.WebMessageInfo} m - */ - async value(m) { - if (!m.messageStubType) return - const chat = conn.decodeJid(m.key.remoteJid || m.message?.senderKeyDistributionMessage?.groupId || '') - if (!chat || chat === 'status@broadcast') return - const emitGroupUpdate = (update) => { - ev.emit('groups.update', [{ id: chat, ...update }]) - } - switch (m.messageStubType) { - case WAMessageStubType.REVOKE: - case WAMessageStubType.GROUP_CHANGE_INVITE_LINK: - emitGroupUpdate({ revoke: m.messageStubParameters[0] }) - break - case WAMessageStubType.GROUP_CHANGE_ICON: - emitGroupUpdate({ icon: m.messageStubParameters[0] }) - break - default: { - //console.log({ - // messageStubType: m.messageStubType, - // messageStubParameters: m.messageStubParameters, - // type: WAMessageStubType[m.messageStubType] - //}) - break - } - } - const isGroup = chat.endsWith('@g.us') - if (!isGroup) return - let chats = conn.chats[chat] - if (!chats) chats = conn.chats[chat] = { id: chat } - chats.isChats = true - const metadata = await conn.groupMetadata(chat).catch(_ => null) - if (!metadata) return - chats.subject = metadata.subject - chats.metadata = metadata - } - }, - insertAllGroup: { - async value() { - const groups = await conn.groupFetchAllParticipating().catch(_ => null) || {} - for (const group in groups) conn.chats[group] = { ...(conn.chats[group] || {}), id: group, subject: groups[group].subject, isChats: true, metadata: groups[group] } - return conn.chats - }, - }, - pushMessage: { - /** - * pushMessage - * @param {import('@adiwajshing/baileys').proto.WebMessageInfo[]} m - */ - async value(m) { - if (!m) return - if (!Array.isArray(m)) m = [m] - for (const message of m) { - try { - // if (!(message instanceof proto.WebMessageInfo)) continue // https://github.com/adiwajshing/Baileys/pull/696/commits/6a2cb5a4139d8eb0a75c4c4ea7ed52adc0aec20f - if (!message) continue - if (message.messageStubType && message.messageStubType != WAMessageStubType.CIPHERTEXT) conn.processMessageStubType(message).catch(console.error) - const _mtype = Object.keys(message.message || {}) - const mtype = (!['senderKeyDistributionMessage', 'messageContextInfo'].includes(_mtype[0]) && _mtype[0]) || - (_mtype.length >= 3 && _mtype[1] !== 'messageContextInfo' && _mtype[1]) || - _mtype[_mtype.length - 1] - const chat = conn.decodeJid(message.key.remoteJid || message.message?.senderKeyDistributionMessage?.groupId || '') - if (message.message?.[mtype]?.contextInfo?.quotedMessage) { - /** - * @type {import('@adiwajshing/baileys').proto.IContextInfo} - */ - let context = message.message[mtype].contextInfo - let participant = conn.decodeJid(context.participant) - const remoteJid = conn.decodeJid(context.remoteJid || participant) - /** - * @type {import('@adiwajshing/baileys').proto.IMessage} - * - */ - let quoted = message.message[mtype].contextInfo.quotedMessage - if ((remoteJid && remoteJid !== 'status@broadcast') && quoted) { - let qMtype = Object.keys(quoted)[0] - if (qMtype == 'conversation') { - quoted.extendedTextMessage = { text: quoted[qMtype] } - delete quoted.conversation - qMtype = 'extendedTextMessage' - } - if (!quoted[qMtype].contextInfo) quoted[qMtype].contextInfo = {} - quoted[qMtype].contextInfo.mentionedJid = context.mentionedJid || quoted[qMtype].contextInfo.mentionedJid || [] - const isGroup = remoteJid.endsWith('g.us') - if (isGroup && !participant) participant = remoteJid - const qM = { - key: { - remoteJid, - fromMe: areJidsSameUser(conn.user.jid, remoteJid), - id: context.stanzaId, - participant, - }, - message: JSON.parse(JSON.stringify(quoted)), - ...(isGroup ? { participant } : {}) - } - let qChats = conn.chats[participant] - if (!qChats) qChats = conn.chats[participant] = { id: participant, isChats: !isGroup } - if (!qChats.messages) qChats.messages = {} - if (!qChats.messages[context.stanzaId] && !qM.key.fromMe) qChats.messages[context.stanzaId] = qM - let qChatsMessages - if ((qChatsMessages = Object.entries(qChats.messages)).length > 40) qChats.messages = Object.fromEntries(qChatsMessages.slice(30, qChatsMessages.length)) // maybe avoid memory leak - } - } - if (!chat || chat === 'status@broadcast') continue - const isGroup = chat.endsWith('@g.us') - let chats = conn.chats[chat] - if (!chats) { - if (isGroup) await conn.insertAllGroup().catch(console.error) - chats = conn.chats[chat] = { id: chat, isChats: true, ...(conn.chats[chat] || {}) } - } - let metadata, sender - if (isGroup) { - if (!chats.subject || !chats.metadata) { - metadata = await conn.groupMetadata(chat).catch(_ => ({})) || {} - if (!chats.subject) chats.subject = metadata.subject || '' - if (!chats.metadata) chats.metadata = metadata - } - sender = conn.decodeJid(message.key?.fromMe && conn.user.id || message.participant || message.key?.participant || chat || '') - if (sender !== chat) { - let chats = conn.chats[sender] - if (!chats) chats = conn.chats[sender] = { id: sender } - if (!chats.name) chats.name = message.pushName || chats.name || '' - } - } else if (!chats.name) chats.name = message.pushName || chats.name || '' - if (['senderKeyDistributionMessage', 'messageContextInfo'].includes(mtype)) continue - chats.isChats = true - if (!chats.messages) chats.messages = {} - const fromMe = message.key.fromMe || areJidsSameUser(sender || chat, conn.user.id) - if (!['protocolMessage'].includes(mtype) && !fromMe && message.messageStubType != WAMessageStubType.CIPHERTEXT && message.message) { - delete message.message.messageContextInfo - delete message.message.senderKeyDistributionMessage - chats.messages[message.key.id] = JSON.parse(JSON.stringify(message, null, 2)) - let chatsMessages - if ((chatsMessages = Object.entries(chats.messages)).length > 40) chats.messages = Object.fromEntries(chatsMessages.slice(30, chatsMessages.length)) - } - } catch (e) { - console.error(e) - } - } - } - }, - serializeM: { - /** - * Serialize Message, so it easier to manipulate - * @param {import('@adiwajshing/baileys').proto.WebMessageInfo} m - */ - value(m) { - return smsg(conn, m) - } - }, - ...(typeof conn.chatRead !== 'function' ? { - chatRead: { - /** - * Read message - * @param {String} jid - * @param {String|undefined|null} participant - * @param {String} messageID - */ - value(jid, participant = conn.user.jid, messageID) { - return conn.sendReadReceipt(jid, participant, [messageID]) - }, - enumerable: true - } - } : {}), - ...(typeof conn.setStatus !== 'function' ? { - setStatus: { - /** - * setStatus bot - * @param {String} status - */ - value(status) { - return conn.query({ - tag: 'iq', - attrs: { - to: S_WHATSAPP_NET, - type: 'set', - xmlns: 'status', - }, - content: [ - { - tag: 'status', - attrs: {}, - content: Buffer.from(status, 'utf-8') - } - ] - }) - }, - enumerable: true - } - } : {}) - }) - if (sock.user?.id) sock.user.jid = sock.decodeJid(sock.user.id) - store.bind(sock) - return sock +function formatExternalAdReply(obj = {}) { + if (!obj.thumbnailUrl && obj.thumbnail) { + obj.thumbnailUrl = obj.thumbnail; + delete obj.thumbnail; + } + return { + ...obj, + thumbnail: typeof obj.thumbnailUrl === "string" ? { url: obj.thumbnailUrl } : obj.thumbnailUrl, + }; } - -/** - * Serialize Message - * @param {ReturnType} conn - * @param {import('@adiwajshing/baileys').proto.WebMessageInfo} m - * @param {Boolean} hasParent - */ -export function smsg(conn, m, hasParent) { - if (!m) return m - /** - * @type {import('@adiwajshing/baileys').proto.WebMessageInfo} - */ - let M = proto.WebMessageInfo - m = M.fromObject(m) - m.conn = conn - let protocolMessageKey - if (m.message) { - if (m.mtype == 'protocolMessage' && m.msg.key) { - protocolMessageKey = m.msg.key - if (protocolMessageKey == 'status@broadcast') protocolMessageKey.remoteJid = m.chat - if (!protocolMessageKey.participant || protocolMessageKey.participant == 'status_me') protocolMessageKey.participant = m.sender - protocolMessageKey.fromMe = conn.decodeJid(protocolMessageKey.participant) === conn.decodeJid(conn.user.id) - if (!protocolMessageKey.fromMe && protocolMessageKey.remoteJid === conn.decodeJid(conn.user.id)) protocolMessageKey.remoteJid = m.sender - } - if (m.quoted) if (!m.quoted.mediaMessage) delete m.quoted.download - } - if (!m.mediaMessage) delete m.download - +conn.sendFile = async function (jid, path, filename = '', caption = '', quoted = null, ptt = false, options = {}) { + const contextInfo = options.contextInfo ?? await defaultContextInfo(caption, this); + if (contextInfo.externalAdReply) contextInfo.externalAdReply = formatExternalAdReply(contextInfo.externalAdReply); + delete options.contextInfo; + + const getCleanExt = (url) => { + const match = url.match(/\.([a-zA-Z0-9]+)(\?|$)/); + return match ? match[1].toLowerCase() : 'bin'; + }; + + if (Buffer.isBuffer(path)) { + const fileInfo = await fileTypeFromBuffer(path) || {}; + const ext = (filename.includes('.') ? filename.split('.').pop() : getCleanExt(path)).toLowerCase(); + const mime = fileInfo.mime || 'application/octet-stream'; + const fileName = filename || `file.${ext}`; + + const messageType = (() => { + if (ext === 'webp') return 'sticker'; + if (['mp4', 'mov', 'mkv'].includes(ext)) return 'video'; + if (['mp3', 'm4a', 'ogg', 'wav'].includes(ext)) return 'audio'; + if (['jpg', 'jpeg', 'png', 'gif', 'bmp', 'webp'].includes(ext)) return 'image'; + if (['zip', 'rar', '7z', 'tar', 'gz'].includes(ext)) return 'document'; + if (['pdf', 'doc', 'docx', 'ppt', 'pptx', 'xls', 'xlsx', 'txt', 'csv', 'json', 'apk'].includes(ext)) return 'document'; + return 'document'; + })(); + + return await this.sendMessage(jid, { + ...(messageType === 'sticker' ? { sticker: path } : { [messageType]: path }), + mimetype: mime, + fileName, + caption, + contextInfo, + ...options, + }, { quoted }); + + } else if (typeof path === 'string' && /https?:\/\//.test(path)) { try { - if (protocolMessageKey && m.mtype == 'protocolMessage') conn.ev.emit('message.delete', protocolMessageKey) + const res = await fetch(path); + if (!res.ok) throw new Error(`Error HTTP ${res.status}: ${res.statusText}`); + const buffer = await res.buffer(); + + const fileInfo = await fileTypeFromBuffer(buffer) || {}; + const mime = fileInfo.mime || 'application/octet-stream'; + const ext = (typeof filename === 'string' && filename.includes('.') ? filename.split('.').pop() : getCleanExt(path)).toLowerCase(); + const fileName = filename || `file.${ext}`; + + const messageType = (() => { + if (ext === 'webp') return 'sticker'; + if (['mp4', 'mov', 'mkv'].includes(ext)) return 'video'; + if (['mp3', 'm4a', 'ogg', 'wav'].includes(ext)) return 'audio'; + if (['jpg', 'jpeg', 'png', 'gif', 'bmp', 'webp'].includes(ext)) return 'image'; + if (['zip', 'rar', '7z', 'tar', 'gz'].includes(ext)) return 'document'; + if (['pdf', 'doc', 'docx', 'ppt', 'pptx', 'xls', 'xlsx', 'txt', 'csv', 'json', 'apk'].includes(ext)) return 'document'; + return 'document'; + })(); + + return await this.sendMessage(jid, { + ...(messageType === 'sticker' ? { sticker: buffer } : { [messageType]: buffer }), + mimetype: mime, + fileName, + caption, + contextInfo, + ...options, + }, { quoted }); } catch (e) { - console.error(e) + console.error(e.message); + return null; } - return m -} + } +}; + +conn.sendImage = async function (jid, path, caption = '', quoted = null, options = {}) { + const contextInfo = options.contextInfo ?? await defaultContextInfo(caption, this); + if (contextInfo.externalAdReply) contextInfo.externalAdReply = formatExternalAdReply(contextInfo.externalAdReply); + delete options.contextInfo; + + return this.sendMessage(jid, { + image: { url: path }, + caption, + contextInfo, + ...options + }, { quoted }); +}; + +conn.sendVideo = async function (jid, path, caption = '', quoted = null, options = {}) { + const contextInfo = options.contextInfo ?? await defaultContextInfo(caption, this); + if (contextInfo.externalAdReply) contextInfo.externalAdReply = formatExternalAdReply(contextInfo.externalAdReply); + delete options.contextInfo; + + return this.sendMessage(jid, { + video: { url: path }, + caption, + contextInfo, + ...options + }, { quoted }); +}; + +conn.fakeReply = async function ( + jid, + caption = '', + fakeNumber = '0@s.whatsapp.net', + fakeCaption = '', + quoted = null, + options = {} +) { + const contextInfo = options.contextInfo ?? await defaultContextInfo(caption, this); + if (contextInfo.externalAdReply) contextInfo.externalAdReply = formatExternalAdReply(contextInfo.externalAdReply); + delete options.contextInfo; + + return this.sendMessage(jid, { + text: caption, + contextInfo, + ...options + }, { + quoted: { + key: { + fromMe: false, + participant: fakeNumber, + ...(jid.endsWith('@g.us') ? { remoteJid: jid } : { remoteJid: null }) + }, + message: { + conversation: fakeCaption + }, + messageTimestamp: parseInt(Date.now() / 1000) + } + }); +}; + +conn.sendAudio = async function (jid, path, quoted = null, options = {}) { + const contextInfo = options.contextInfo ?? await defaultContextInfo('', this); + if (contextInfo.externalAdReply) contextInfo.externalAdReply = formatExternalAdReply(contextInfo.externalAdReply); + delete options.contextInfo; + + return this.sendMessage(jid, { + audio: { url: path }, + mimetype: 'audio/mpeg', + contextInfo, + ...options + }, { quoted }); +}; + +conn.sendAlbumMessage = async function (jid, medias = [], caption = '', quoted = null) { + if (!Array.isArray(medias) || medias.length === 0) { + throw new Error("No se proporcionaron medios válidos."); + } + + const album = generateWAMessageFromContent(jid, { + albumMessage: { + expectedImageCount: medias.filter(media => media.type === "image").length, + expectedVideoCount: medias.filter(media => media.type === "video").length, + ...(quoted ? { + contextInfo: { + remoteJid: quoted.key.remoteJid, + fromMe: quoted.key.fromMe, + stanzaId: quoted.key.id, + participant: quoted.key.participant || quoted.key.remoteJid, + quotedMessage: quoted.message + } + } : {}) + } + }, { quoted }); -// https://github.com/Nurutomo/wabot-aq/issues/490 -export function serialize() { - const MediaType = ['imageMessage', 'videoMessage', 'audioMessage', 'stickerMessage', 'documentMessage'] - return Object.defineProperties(proto.WebMessageInfo.prototype, { - conn: { - value: undefined, - enumerable: false, - writable: true - }, - id: { - get() { - return this.key?.id - } - }, - isBaileys: { - get() { - return this.id?.length === 16 || this.id?.startsWith('3EB0') && this.id?.length === 12 || false - } - }, - chat: { - get() { - const senderKeyDistributionMessage = this.message?.senderKeyDistributionMessage?.groupId - return ( - this.key?.remoteJid || - (senderKeyDistributionMessage && - senderKeyDistributionMessage !== 'status@broadcast' - ) || '' - ).decodeJid() - } - }, - isGroup: { - get() { - return this.chat.endsWith('@g.us') - }, - enumerable: true - }, - sender: { - get() { - return this.conn?.decodeJid(this.key?.fromMe && this.conn?.user.id || this.participant || this.key.participant || this.chat || '') - }, - enumerable: true - }, - fromMe: { - get() { - return this.key?.fromMe || areJidsSameUser(this.conn?.user.id, this.sender) || false - } - }, - mtype: { - get() { - if (!this.message) return '' - const type = Object.keys(this.message) - return (!['senderKeyDistributionMessage', 'messageContextInfo'].includes(type[0]) && type[0]) || // Sometimes message in the front - (type.length >= 3 && type[1] !== 'messageContextInfo' && type[1]) || // Sometimes message in midle if mtype length is greater than or equal to 3 - type[type.length - 1] // common case - }, - enumerable: true - }, - msg: { - get() { - if (!this.message) return null - return this.message[this.mtype] - } - }, - mediaMessage: { - get() { - if (!this.message) return null - const Message = ((this.msg?.url || this.msg?.directPath) ? { ...this.message } : extractMessageContent(this.message)) || null - if (!Message) return null - const mtype = Object.keys(Message)[0] - return MediaType.includes(mtype) ? Message : null - }, - enumerable: true - }, - mediaType: { - get() { - let message - if (!(message = this.mediaMessage)) return null - return Object.keys(message)[0] - }, - enumerable: true, - }, - quoted: { - get() { - /** - * @type {ReturnType} - */ - const self = this - const msg = self.msg - const contextInfo = msg?.contextInfo - const quoted = contextInfo?.quotedMessage - if (!msg || !contextInfo || !quoted) return null - const type = Object.keys(quoted)[0] - let q = quoted[type] - const text = typeof q === 'string' ? q : q.text - return Object.defineProperties(JSON.parse(JSON.stringify(typeof q === 'string' ? { text: q } : q)), { - mtype: { - get() { - return type - }, - enumerable: true - }, - mediaMessage: { - get() { - const Message = ((q.url || q.directPath) ? { ...quoted } : extractMessageContent(quoted)) || null - if (!Message) return null - const mtype = Object.keys(Message)[0] - return MediaType.includes(mtype) ? Message : null - }, - enumerable: true - }, - mediaType: { - get() { - let message - if (!(message = this.mediaMessage)) return null - return Object.keys(message)[0] - }, - enumerable: true, - }, - id: { - get() { - return contextInfo.stanzaId - }, - enumerable: true - }, - chat: { - get() { - return contextInfo.remoteJid || self.chat - }, - enumerable: true - }, - isBaileys: { - get() { - return this.id?.length === 16 || this.id?.startsWith('3EB0') && this.id.length === 12 || false - }, - enumerable: true - }, - sender: { - get() { - return (contextInfo.participant || this.chat || '').decodeJid() - }, - enumerable: true - }, - fromMe: { - get() { - return areJidsSameUser(this.sender, self.conn?.user.jid) - }, - enumerable: true, - }, - text: { - get() { - return text || this.caption || this.contentText || this.selectedDisplayText || '' - }, - enumerable: true - }, - mentionedJid: { - get() { - return q.contextInfo?.mentionedJid || self.getQuotedObj()?.mentionedJid || [] - }, - enumerable: true - }, - name: { - get() { - const sender = this.sender - return sender ? self.conn?.getName(sender) : null - }, - enumerable: true + await this.relayMessage(album.key.remoteJid, album.message, { + messageId: album.key.id + }); - }, - vM: { - get() { - return proto.WebMessageInfo.fromObject({ - key: { - fromMe: this.fromMe, - remoteJid: this.chat, - id: this.id - }, - message: quoted, - ...(self.isGroup ? { participant: this.sender } : {}) - }) - } - }, - fakeObj: { - get() { - return this.vM - } - }, - download: { - value(saveToFile = false) { - const mtype = this.mediaType - return self.conn?.downloadM(this.mediaMessage[mtype], mtype.replace(/message/i, ''), saveToFile) - }, - enumerable: true, - configurable: true, - }, - reply: { - /** - * Reply to quoted message - * @param {String|Object} text - * @param {String|false} chatId - * @param {Object} options - */ - value(text, chatId, options) { - return self.conn?.reply(chatId ? chatId : this.chat, text, this.vM, options) - }, - enumerable: true, - }, - copy: { - /** - * Copy quoted message - */ - value() { - const M = proto.WebMessageInfo - return smsg(conn, M.fromObject(M.toObject(this.vM))) - }, - enumerable: true, - }, - forward: { - /** - * Forward quoted message - * @param {String} jid - * @param {Boolean} forceForward - */ - value(jid, force = false, options) { - return self.conn?.sendMessage(jid, { - forward: this.vM, force, ...options - }, { ...options }) - }, - enumerable: true, - }, - copyNForward: { - /** - * Exact Forward quoted message - * @param {String} jid - * @param {Boolean|Number} forceForward - * @param {Object} options - */ - value(jid, forceForward = false, options) { - return self.conn?.copyNForward(jid, this.vM, forceForward, options) - }, - enumerable: true, + for (let i = 0; i < medias.length; i++) { + const { type, data } = medias[i]; + let mediaMessage; - }, - cMod: { - /** - * Modify quoted Message - * @param {String} jid - * @param {String} text - * @param {String} sender - * @param {Object} options - */ - value(jid, text = '', sender = this.sender, options = {}) { - return self.conn?.cMod(jid, this.vM, text, sender, options) - }, - enumerable: true, + const mediaPayload = {}; + mediaPayload[type] = data; + if (i === 0 && caption) { + mediaPayload.caption = caption; + } - }, - delete: { - /** - * Delete quoted message - */ - value() { - return self.conn?.sendMessage(this.chat, { delete: this.vM.key }) - }, - enumerable: true, + mediaMessage = await generateWAMessage(album.key.remoteJid, mediaPayload, { + upload: this.waUploadToServer + }); - }, - react: { - value(text) { - return self.conn?.sendMessage(this.chat, { - react: { - text, - key: this.vM.key - } - }) - }, - enumerable: true, - } - }) - }, - enumerable: true - }, - _text: { - value: null, - writable: true, - }, - text: { - get() { - const msg = this.msg - const text = (typeof msg === 'string' ? msg : msg?.text) || msg?.caption || msg?.contentText || '' - return typeof this._text === 'string' ? this._text : '' || (typeof text === 'string' ? text : ( - text?.selectedDisplayText || - text?.hydratedTemplate?.hydratedContentText || - text - )) || '' - }, - set(str) { - return this._text = str - }, - enumerable: true - }, - mentionedJid: { - get() { - return this.msg?.contextInfo?.mentionedJid?.length && this.msg.contextInfo.mentionedJid || [] - }, - enumerable: true - }, - name: { - get() { - return !nullish(this.pushName) && this.pushName || this.conn?.getName(this.sender) - }, - enumerable: true - }, - download: { - value(saveToFile = false) { - const mtype = this.mediaType - return this.conn?.downloadM(this.mediaMessage[mtype], mtype.replace(/message/i, ''), saveToFile) - }, - enumerable: true, - configurable: true - }, - reply: { - value(text, chatId, options) { - return this.conn?.reply(chatId ? chatId : this.chat, text, this, options) - } - }, - copy: { - value() { - const M = proto.WebMessageInfo - return smsg(this.conn, M.fromObject(M.toObject(this))) - }, - enumerable: true - }, - forward: { - value(jid, force = false, options = {}) { - return this.conn?.sendMessage(jid, { - forward: this, force, ...options - }, { ...options }) - }, - enumerable: true - }, - copyNForward: { - value(jid, forceForward = false, options = {}) { - return this.conn?.copyNForward(jid, this, forceForward, options) - }, - enumerable: true - }, - cMod: { - value(jid, text = '', sender = this.sender, options = {}) { - return this.conn?.cMod(jid, this, text, sender, options) - }, - enumerable: true - }, - getQuotedObj: { - value() { - if (!this.quoted.id) return null - const q = proto.WebMessageInfo.fromObject(this.conn?.loadMessage(this.quoted.id) || this.quoted.vM) - return smsg(this.conn, q) - }, - enumerable: true - }, - getQuotedMessage: { - get() { - return this.getQuotedObj - } - }, - delete: { - value() { - return this.conn?.sendMessage(this.chat, { delete: this.key }) - }, - enumerable: true -}, - react: { - value(text) { - return this.conn?.sendMessage(this.chat, { - react: { - text, - key: this.key - } - }) - }, - enumerable: true - } - }) -} + mediaMessage.message.messageContextInfo = { + messageAssociation: { + associationType: 1, + parentMessageKey: album.key + } + }; -export function logic(check, inp, out) { - if (inp.length !== out.length) throw new Error('Input and Output must have same length') - for (let i in inp) if (util.isDeepStrictEqual(check, inp[i])) return out[i] - return null -} + await this.relayMessage(mediaMessage.key.remoteJid, mediaMessage.message, { + messageId: mediaMessage.key.id + }); + } -export function protoType() { - Buffer.prototype.toArrayBuffer = function toArrayBufferV2() { - const ab = new ArrayBuffer(this.length); - const view = new Uint8Array(ab); - for (let i = 0; i < this.length; ++i) { - view[i] = this[i]; - } - return ab; - } - /** - * @returns {ArrayBuffer} - */ - Buffer.prototype.toArrayBufferV2 = function toArrayBuffer() { - return this.buffer.slice(this.byteOffset, this.byteOffset + this.byteLength) - } - /** - * @returns {Buffer} - */ - ArrayBuffer.prototype.toBuffer = function toBuffer() { - return Buffer.from(new Uint8Array(this)) - } - // /** - // * @returns {String} - // */ - // Buffer.prototype.toUtilFormat = ArrayBuffer.prototype.toUtilFormat = Object.prototype.toUtilFormat = Array.prototype.toUtilFormat = function toUtilFormat() { - // return util.format(this) - // } - Uint8Array.prototype.getFileType = ArrayBuffer.prototype.getFileType = Buffer.prototype.getFileType = async function getFileType() { - return await fileTypeFromBuffer(this) - } - /** - * @returns {Boolean} - */ - String.prototype.isNumber = Number.prototype.isNumber = isNumber - /** - * - * @returns {String} - */ - String.prototype.capitalize = function capitalize() { - return this.charAt(0).toUpperCase() + this.slice(1, this.length) - } - /** - * @returns {String} - */ - String.prototype.capitalizeV2 = function capitalizeV2() { - const str = this.split(' ') - return str.map(v => v.capitalize()).join(' ') - } - String.prototype.decodeJid = function decodeJid() { - if (/:\d+@/gi.test(this)) { - const decode = jidDecode(this) || {} - return (decode.user && decode.server && decode.user + '@' + decode.server || this).trim() - } else return this.trim() - } - /** - * number must be milliseconds - * @returns {string} - */ - Number.prototype.toTimeString = function toTimeString() { - // const milliseconds = this % 1000 - const seconds = Math.floor((this / 1000) % 60) - const minutes = Math.floor((this / (60 * 1000)) % 60) - const hours = Math.floor((this / (60 * 60 * 1000)) % 24) - const days = Math.floor((this / (24 * 60 * 60 * 1000))) - return ( -(days ? `${days} ${lenguajeGB.smsAfkResultTime[0]} ` : '') + (hours ? `${hours} ${lenguajeGB.smsAfkResultTime[1]} ` : '') + -(minutes ? `${minutes} ${lenguajeGB.smsAfkResultTime[2]} ` : '') + (seconds ? `${seconds} ${lenguajeGB.smsAfkResultTime[3]}` : '')).trim() - } - Number.prototype.getRandom = String.prototype.getRandom = Array.prototype.getRandom = getRandom + return album; +}; + +conn.sendDocument = async function (jid, path, filename = 'file', quoted = null, options = {}) { + const contextInfo = options.contextInfo ?? await defaultContextInfo('', this); + if (contextInfo.externalAdReply) contextInfo.externalAdReply = formatExternalAdReply(contextInfo.externalAdReply); + delete options.contextInfo; + + return this.sendMessage(jid, { + document: { url: path }, + fileName: filename, + mimetype: 'application/octet-stream', + contextInfo, + ...options + }, { quoted }); +}; + + // Enviar sticker + conn.sendSticker = async (jid, path, quoted = null, options = {}) => { + const contextInfo = options.contextInfo ?? await defaultContextInfo('', conn) + if (contextInfo.externalAdReply) contextInfo.externalAdReply = formatExternalAdReply(contextInfo.externalAdReply) + delete options.contextInfo; + + return conn.sendMessage( + jid, + { + sticker: typeof path === 'string' ? { url: path } : path, + contextInfo, + ...options + }, + { quoted } + ) } + // Enviar nota de voz + conn.sendPtt = async (jid, path, quoted = null, options = {}) => { + const contextInfo = options.contextInfo || {}; + delete options.contextInfo; -function isNumber() { - const int = parseInt(this) - return typeof int === 'number' && !isNaN(int) + return conn.sendMessage( + jid, + { + audio: { url: path }, + mimetype: "audio/ogg; codecs=opus", + ptt: true, + contextInfo, + ...options + }, + { quoted } + ); + }; + + return m; } -function getRandom() { - if (Array.isArray(this) || this instanceof String) return this[Math.floor(Math.random() * this.length)] - return Math.floor(Math.random() * this) +function cleanJid(jid) { + if (!jid) return jid; + if (jid.includes('@lid')) return jid; + return jid.replace(/:\d+/, '').replace('@s.whatsapp.net', '') + '@s.whatsapp.net'; } - -/** - * ?? - * @link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing_operator - * @returns {boolean} - */ -function nullish(args) { - return !(args !== null && args !== undefined) -} +async function streamToBuffer(stream) { + const chunks = []; + for await (const chunk of stream) chunks.push(chunk); + return Buffer.concat(chunks); +} \ No newline at end of file diff --git a/lib/sticker.js b/lib/sticker.js index 20eefb5f7..7e564beb2 100644 --- a/lib/sticker.js +++ b/lib/sticker.js @@ -1,24 +1,20 @@ -import {dirname} from 'path'; -import {fileURLToPath} from 'url'; +import { dirname } from 'path'; +import { fileURLToPath } from 'url'; import * as fs from 'fs'; import * as path from 'path'; import * as crypto from 'crypto'; -import {ffmpeg} from './converter.js'; +import { ffmpeg } from './converter.js'; import fluent_ffmpeg from 'fluent-ffmpeg'; -import {spawn} from 'child_process'; +import { spawn } from 'child_process'; import uploadFile from './uploadFile.js'; import uploadImage from './uploadImage.js'; -import {fileTypeFromBuffer} from 'file-type'; +import { fileTypeFromBuffer } from 'file-type'; import webp from 'node-webpmux'; import fetch from 'node-fetch'; const __dirname = dirname(fileURLToPath(import.meta.url)); const tmp = path.join(__dirname, '../tmp'); -/** - * Image to Sticker - * @param {Buffer} img Image Buffer - * @param {String} url Image URL - */ + function sticker2(img, url) { return new Promise(async (resolve, reject) => { try { @@ -30,53 +26,32 @@ function sticker2(img, url) { const inp = path.join(tmp, +new Date + '.jpeg'); await fs.promises.writeFile(inp, img); const ff = spawn('ffmpeg', [ - '-y', - '-i', inp, + '-y', '-i', inp, '-vf', 'scale=512:512:flags=lanczos:force_original_aspect_ratio=decrease,format=rgba,pad=512:512:(ow-iw)/2:(oh-ih)/2:color=#00000000,setsar=1', - '-f', 'png', - '-', + '-f', 'png', '-' ]); ff.on('error', reject); ff.on('close', async () => { await fs.promises.unlink(inp); }); const bufs = []; - const [_spawnprocess, ..._spawnargs] = [...(module.exports.support.gm ? ['gm'] : module.exports.magick ? ['magick'] : []), 'convert', 'png:-', 'webp:-']; - const im = spawn(_spawnprocess, _spawnargs); - im.on('error', (e) => conn.reply(m.chat, util.format(e), m)); - im.stdout.on('data', (chunk) => bufs.push(chunk)); + const im = spawn('convert', ['png:-', 'webp:-']); + im.on('error', reject); + im.stdout.on('data', chunk => bufs.push(chunk)); ff.stdout.pipe(im.stdin); - im.on('exit', () => { - resolve(Buffer.concat(bufs)); - }); + im.on('exit', () => resolve(Buffer.concat(bufs))); } catch (e) { reject(e); } }); } -/** - * Image/Video to Sticker - * @param {Buffer} img Image/Video Buffer - * @param {String} url Image/Video URL - * @param {String} packname EXIF Packname - * @param {String} author EXIF Author - */ async function sticker3(img, url, packname, author) { url = url ? url : await uploadFile(img); - const res = await fetch('https://api.xteam.xyz/sticker/wm?' + new URLSearchParams(Object.entries({ - url, - packname, - author, - }))); + const res = await fetch('https://api.xteam.xyz/sticker/wm?' + new URLSearchParams({ url, packname, author })); return await res.buffer(); } -/** - * Image to Sticker - * @param {Buffer} img Image/Video Buffer - * @param {String} url Image/Video URL - */ async function sticker4(img, url) { if (url) { const res = await fetch(url); @@ -84,76 +59,108 @@ async function sticker4(img, url) { img = await res.buffer(); } return await ffmpeg(img, [ - '-vf', 'scale=512:512:flags=lanczos:force_original_aspect_ratio=decrease,format=rgba,pad=512:512:(ow-iw)/2:(oh-ih)/2:color=#00000000,setsar=1', + '-vf', 'scale=512:512:flags=lanczos:force_original_aspect_ratio=decrease,format=rgba,pad=512:512:(ow-iw)/2:(oh-ih)/2:color=#00000000,setsar=1' ], 'jpeg', 'webp'); } async function sticker5(img, url, packname, author, categories = [''], extra = {}) { - const {Sticker} = await import('wa-sticker-formatter'); - const stickerMetadata = { - type: 'default', - pack: packname, - author, - categories, - ...extra, - }; + const { Sticker } = await import('wa-sticker-formatter'); + const stickerMetadata = { type: 'default', pack: packname, author, categories, ...extra }; return (new Sticker(img ? img : url, stickerMetadata)).toBuffer(); } -/** - * Convert using fluent-ffmpeg - * @param {string} img - * @param {string} url - */ -function sticker6(img, url) { +async function sticker6(img, url) { return new Promise(async (resolve, reject) => { - if (url) { - const res = await fetch(url); - if (res.status !== 200) throw await res.text(); - img = await res.buffer(); - } - const type = await fileTypeFromBuffer(img) || { - mime: 'application/octet-stream', - ext: 'bin', - }; - if (type.ext == 'bin') reject(img); - const tmp = path.join(__dirname, `../tmp/${+ new Date()}.${type.ext}`); - const out = path.join(tmp + '.webp'); - await fs.promises.writeFile(tmp, img); - // https://github.com/MhankBarBar/termux-wabot/blob/main/index.js#L313#L368 - const Fffmpeg = /video/i.test(type.mime) ? fluent_ffmpeg(tmp).inputFormat(type.ext) : fluent_ffmpeg(tmp).input(tmp); - Fffmpeg - .on('error', function(err) { - console.error(err); - fs.promises.unlink(tmp); - reject(img); + try { + if (url) { + const res = await fetch(url); + if (res.status !== 200) throw await res.text(); + img = await res.buffer(); + } + + const { ext = 'mp4' } = await fileTypeFromBuffer(img) || {}; + const inputPath = path.join(tmp, `input_${Date.now()}.${ext}`); + const outputPath = path.join(tmp, `output_${Date.now()}.webp`); + + await fs.promises.writeFile(inputPath, img); + + fluent_ffmpeg(inputPath) + .inputOptions('-t', '6') // cortar a 6s por si es largo + .outputOptions([ + '-vcodec', 'libwebp', + '-vf', 'scale=512:512:force_original_aspect_ratio=decrease,fps=15,pad=512:512:-1:-1:color=white@0.0', + '-loop', '0', + '-preset', 'default', + '-an', + '-vsync', '0' + ]) + .toFormat('webp') + .on('end', async () => { + const buffer = await fs.promises.readFile(outputPath); + await fs.promises.unlink(inputPath); + await fs.promises.unlink(outputPath); + resolve(buffer); }) - .on('end', async function() { - fs.promises.unlink(tmp); - resolve(await fs.promises.readFile(out)); + .on('error', async err => { + console.error('❌ ffmpeg video error:', err); + await fs.promises.unlink(inputPath).catch(() => {}); + reject(err); }) - .addOutputOptions([ - `-vcodec`, `libwebp`, `-vf`, - `scale='min(320,iw)':min'(320,ih)':force_original_aspect_ratio=decrease,fps=15, pad=320:320:-1:-1:color=white@0.0, split [a][b]; [a] palettegen=reserve_transparent=on:transparency_color=ffffff [p]; [b][p] paletteuse`, + .save(outputPath); + } catch (err) { + reject(err); + } + }); +} + +async function sticker7(img, url) { + return new Promise(async (resolve, reject) => { + try { + if (url) { + const res = await fetch(url); + if (res.status !== 200) throw await res.text(); + img = await res.buffer(); + } + + const { ext = 'mp4' } = await fileTypeFromBuffer(img) || {}; + const inputPath = path.join(tmp, `input_${Date.now()}.${ext}`); + const outputPath = path.join(tmp, `output_${Date.now()}.webp`); + + await fs.promises.writeFile(inputPath, img); + + fluent_ffmpeg(inputPath) + .inputOptions('-t', '5') // recorta a máximo 5s + .outputOptions([ + '-vcodec', 'libwebp', + '-vf', 'scale=320:320:force_original_aspect_ratio=decrease,fps=10', + '-loop', '0', + '-preset', 'default', + '-an', + '-vsync', '0' ]) .toFormat('webp') - .save(out); + .on('end', async () => { + const buffer = await fs.promises.readFile(outputPath); + await fs.promises.unlink(inputPath); + await fs.promises.unlink(outputPath); + resolve(buffer); + }) + .on('error', async err => { + console.error('❌ ffmpeg video error (sticker7):', err); + await fs.promises.unlink(inputPath).catch(() => {}); + reject(err); + }) + .save(outputPath); + } catch (err) { + reject(err); + } }); } -/** - * Add WhatsApp JSON Exif Metadata - * Taken from https://github.com/pedroslopez/whatsapp-web.js/pull/527/files - * @param {Buffer} webpSticker - * @param {String} packname - * @param {String} author - * @param {String} categories - * @param {Object} extra - * @returns - */ + async function addExif(webpSticker, packname, author, categories = [''], extra = {}) { const img = new webp.Image(); const stickerPackId = crypto.randomBytes(32).toString('hex'); - const json = {'sticker-pack-id': stickerPackId, 'sticker-pack-name': packname, 'sticker-pack-publisher': author, 'emojis': categories, ...extra}; + const json = { 'sticker-pack-id': stickerPackId, 'sticker-pack-name': packname, 'sticker-pack-publisher': author, 'emojis': categories, ...extra }; const exifAttr = Buffer.from([0x49, 0x49, 0x2A, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x41, 0x57, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00]); const jsonBuffer = Buffer.from(JSON.stringify(json), 'utf8'); const exif = Buffer.concat([exifAttr, jsonBuffer]); @@ -163,56 +170,47 @@ async function addExif(webpSticker, packname, author, categories = [''], extra = return await img.save(null); } -/** - * Image/Video to Sticker - * @param {Buffer} img Image/Video Buffer - * @param {String} url Image/Video URL - * @param {...String} -*/ -async function sticker(img, url, ...args) { - let lastError; let stiker; - for (const func of [ - sticker3, global.support.ffmpeg && sticker6, sticker5, - global.support.ffmpeg && global.support.ffmpegWebp && sticker4, - global.support.ffmpeg && (global.support.convert || global.support.magick || global.support.gm) && sticker2, - ].filter((f) => f)) { +async function sticker(img, url, packname, author) { + let lastError, stiker; + for (const fn of [sticker6, sticker7, sticker5, sticker4, sticker2, sticker3]) { + try { - stiker = await func(img, url, ...args); - if (stiker.includes('html')) continue; - if (stiker.includes('WEBP')) { - try { - return await addExif(stiker, ...args); - } catch (e) { - console.error(e); - return stiker; + stiker = await fn(img, url, packname, author); + + if (Buffer.isBuffer(stiker)) { + + if (stiker.includes('WEBP')) { + try { + const conExif = await addExif(stiker, packname, author); + if (Buffer.isBuffer(conExif) && conExif.length > 100) return conExif; + } catch (e) { + console.error(e); + return stiker; + } } + if (stiker.length > 100) return stiker; + } + + if (typeof stiker === 'string' && stiker.includes('html')) { + continue; } - throw stiker.toString(); + } catch (err) { + console.error(`❌ Error en ${fn.name}:`, err); lastError = err; - continue; } } + console.error(lastError); - return lastError; + throw lastError || new Error('No se pudo generar el sticker'); } -const support = { - ffmpeg: true, - ffprobe: true, - ffmpegWebp: true, - convert: true, - magick: false, - gm: false, - find: false, -}; - export { sticker, sticker2, sticker3, sticker4, + sticker5, sticker6, - addExif, - support, + addExif }; diff --git a/lib/store.js b/lib/store.js deleted file mode 100644 index 496f4fc94..000000000 --- a/lib/store.js +++ /dev/null @@ -1,228 +0,0 @@ -import {readFileSync, writeFileSync, existsSync} from 'fs'; - -/** - * @type {import('@whiskeysockets/baileys')} - */ -const {initAuthCreds, BufferJSON, proto} = (await import('@whiskeysockets/baileys')).default; - -/** - * @param {import('@whiskeysockets/baileys').WASocket | import('@whiskeysockets/baileys').WALegacySocket} - */ -function bind(conn) { - if (!conn.chats) conn.chats = {}; - /** - * - * @param {import('@whiskeysockets/baileys').Contact[]|{contacts:import('@whiskeysockets/baileys').Contact[]}} contacts - * @returns - */ - function updateNameToDb(contacts) { - if (!contacts) return; - try { - contacts = contacts.contacts || contacts; - for (const contact of contacts) { - const id = conn.decodeJid(contact.id); - if (!id || id === 'status@broadcast') continue; - let chats = conn.chats[id]; - if (!chats) chats = conn.chats[id] = {...contact, id}; - conn.chats[id] = { - ...chats, - ...({ - ...contact, id, ...(id.endsWith('@g.us') ? - {subject: contact.subject || contact.name || chats.subject || ''} : - {name: contact.notify || contact.name || chats.name || chats.notify || ''}), - } || {}), - }; - } - } catch (e) { - console.error(e); - } - } - conn.ev.on('contacts.upsert', updateNameToDb); - conn.ev.on('groups.update', updateNameToDb); - conn.ev.on('contacts.set', updateNameToDb); - conn.ev.on('chats.set', async ({chats}) => { - try { - for (let {id, name, readOnly} of chats) { - id = conn.decodeJid(id); - if (!id || id === 'status@broadcast') continue; - const isGroup = id.endsWith('@g.us'); - let chats = conn.chats[id]; - if (!chats) chats = conn.chats[id] = {id}; - chats.isChats = !readOnly; - if (name) chats[isGroup ? 'subject' : 'name'] = name; - if (isGroup) { - const metadata = await conn.groupMetadata(id).catch((_) => null); - if (name || metadata?.subject) chats.subject = name || metadata.subject; - if (!metadata) continue; - chats.metadata = metadata; - } - } - } catch (e) { - console.error(e); - } - }); - conn.ev.on('group-participants.update', async function updateParticipantsToDb({id, participants, action}) { - if (!id) return; - id = conn.decodeJid(id); - if (id === 'status@broadcast') return; - if (!(id in conn.chats)) conn.chats[id] = {id}; - const chats = conn.chats[id]; - chats.isChats = true; - const groupMetadata = await conn.groupMetadata(id).catch((_) => null); - if (!groupMetadata) return; - chats.subject = groupMetadata.subject; - chats.metadata = groupMetadata; - }); - - conn.ev.on('groups.update', async function groupUpdatePushToDb(groupsUpdates) { - try { - for (const update of groupsUpdates) { - const id = conn.decodeJid(update.id); - if (!id || id === 'status@broadcast') continue; - const isGroup = id.endsWith('@g.us'); - if (!isGroup) continue; - let chats = conn.chats[id]; - if (!chats) chats = conn.chats[id] = {id}; - chats.isChats = true; - const metadata = await conn.groupMetadata(id).catch((_) => null); - if (metadata) chats.metadata = metadata; - if (update.subject || metadata?.subject) chats.subject = update.subject || metadata.subject; - } - } catch (e) { - console.error(e); - } - }); - conn.ev.on('chats.upsert', function chatsUpsertPushToDb(chatsUpsert) { - try { - const {id, name} = chatsUpsert; - if (!id || id === 'status@broadcast') return; - conn.chats[id] = {...(conn.chats[id] || {}), ...chatsUpsert, isChats: true}; - const isGroup = id.endsWith('@g.us'); - if (isGroup) conn.insertAllGroup().catch((_) => null); - } catch (e) { - console.error(e); - } - }); - conn.ev.on('presence.update', async function presenceUpdatePushToDb({id, presences}) { - try { - const sender = Object.keys(presences)[0] || id; - const _sender = conn.decodeJid(sender); - const presence = presences[sender]['lastKnownPresence'] || 'composing'; - let chats = conn.chats[_sender]; - if (!chats) chats = conn.chats[_sender] = {id: sender}; - chats.presences = presence; - if (id.endsWith('@g.us')) { - let chats = conn.chats[id]; - if (!chats) chats = conn.chats[id] = {id}; - } - } catch (e) { - console.error(e); - } - }); -} - -const KEY_MAP = { - 'pre-key': 'preKeys', - 'session': 'sessions', - 'sender-key': 'senderKeys', - 'app-state-sync-key': 'appStateSyncKeys', - 'app-state-sync-version': 'appStateVersions', - 'sender-key-memory': 'senderKeyMemory', -}; - -/** - * - * @param {String} filename - * @param {import('pino').Logger} logger - * @returns - */ -function useSingleFileAuthState(filename, logger) { - let creds; let keys = {}; let saveCount = 0; - // save the authentication state to a file - const saveState = (forceSave) => { - logger?.trace('saving auth state'); - saveCount++; - if (forceSave || saveCount > 5) { - writeFileSync( - filename, - // BufferJSON replacer utility saves buffers nicely - JSON.stringify({creds, keys}, BufferJSON.replacer, 2), - ); - saveCount = 0; - } - }; - - if (existsSync(filename)) { - const result = JSON.parse( - readFileSync(filename, {encoding: 'utf-8'}), - BufferJSON.reviver, - ); - creds = result.creds; - keys = result.keys; - } else { - creds = initAuthCreds(); - keys = {}; - } - - return { - state: { - creds, - keys: { - get: (type, ids) => { - const key = KEY_MAP[type]; - return ids.reduce( - (dict, id) => { - let value = keys[key]?.[id]; - if (value) { - if (type === 'app-state-sync-key') { - value = proto.AppStateSyncKeyData.fromObject(value); - } - - dict[id] = value; - } - - return dict; - }, {}, - ); - }, - set: (data) => { - for (const _key in data) { - const key = KEY_MAP[_key]; - keys[key] = keys[key] || {}; - Object.assign(keys[key], data[_key]); - } - - saveState(); - }, - }, - }, - saveState, - }; -} -function loadMessage(jid, id = null) { - let message = null; - // If only 1 param, first param is assumed to be id not jid - if (jid && !id) { - id = jid; - /** @type {(m: import('@whiskeysockets/baileys').proto.WebMessageInfo) => Boolean} */ - const filter = (m) => m.key?.id == id; - const messages = {}; - const messageFind = Object.entries(messages) - .find(([, msgs]) => { - return msgs.find(filter); - }); - message = messageFind?.[1]?.find(filter); - } else { - // @ts-ignore - jid = jid?.decodeJid?.(); - const messages = {}; - if (!(jid in messages)) return null; - message = messages[jid].find((m) => m.key.id == id); - } - return message ? message : null; -} -export default { - bind, - useSingleFileAuthState, - loadMessage, -}; diff --git a/lib/subbot.js b/lib/subbot.js new file mode 100644 index 000000000..4214da5a4 --- /dev/null +++ b/lib/subbot.js @@ -0,0 +1,202 @@ +import { + makeWASocket, + useMultiFileAuthState, + fetchLatestBaileysVersion, + makeCacheableSignalKeyStore, + DisconnectReason +} from '@whiskeysockets/baileys'; +import { Boom } from '@hapi/boom'; +import pino from 'pino'; +import fs from 'fs'; +import qrcode from 'qrcode'; +import chalk from "chalk"; +import NodeCache from 'node-cache'; +import { handler, callUpdate, participantsUpdate, groupsUpdate } from '../handler.js'; + +if (globalThis.conns instanceof Array) console.log() +else globalThis.conns = [] + +const cleanJid = (jid = "") => jid.replace(/:\d+/, "").split("@")[0]; +const msgRetryCounterCache = new NodeCache({ stdTTL: 0, checkperiod: 0 }); +const userDevicesCache = new NodeCache({ stdTTL: 0, checkperiod: 0 }); +const groupCache = new NodeCache({ stdTTL: 3600, checkperiod: 300 }); +let reintentos = {}; + +export async function startSubBot(m, conn, caption = '', isCode = false, phone = '', chatId = '', commandFlags = {}) { +const id = phone || (m?.sender || '').split('@')[0]; +const sessionFolder = `./jadibot/${id}`; +const senderId = m?.sender; +const { state, saveCreds } = await useMultiFileAuthState(sessionFolder); +const { version } = await fetchLatestBaileysVersion(); + +console.info = () => {} +const sock = makeWASocket({ + logger: pino({ level: 'silent' }), + printQRInTerminal: false, + browser: ['Windows', 'Chrome'], + auth: state, + markOnlineOnConnect: true, + generateHighQualityLinkPreview: true, + syncFullHistory: false, + getMessage: async () => '', + msgRetryCounterCache, + userDevicesCache, + cachedGroupMetadata: async (jid) => groupCache.get(jid), + version, + keepAliveIntervalMs: 60_000, + maxIdleTimeMs: 120_000, +}); +/*const sock = makeWASocket({ +logger: pino({ level: "silent" }), +printQRInTerminal: false, +browser: ['Windows', 'Chrome'], +auth: { creds: state.creds, keys: makeCacheableSignalKeyStore(state.keys, pino({ level: 'silent' })) }, +markOnlineOnConnect: true, +generateHighQualityLinkPreview: true, +syncFullHistory: false, +getMessage: async () => "", +msgRetryCounterCache, +userDevicesCache, +cachedGroupMetadata: async (jid) => groupCache.get(jid), +version, +keepAliveIntervalMs: 55000, +maxIdleTimeMs: 60000 +});*/ + +sock.ev.on('creds.update', saveCreds); +setupGroupEvents(sock); +sock.isInit = false +let isInit = true + +sock.ev.on('connection.update', async ({ connection, lastDisconnect, isNewLogin, qr }) => { +if (isNewLogin) sock.isInit = false + +if (connection === 'open') { +sock.isInit = true +sock.userId = cleanJid(sock.user?.id?.split("@")[0]) +const ownerName = sock.authState.creds.me?.name || "-"; +sock.uptime = Date.now(); +reintentos[sock.userId] = 0; +if (globalThis.conns.find(c => c.userId === sock.userId)) return; +globalThis.conns.push(sock); + +if (isCode && m?.chat && senderId.endsWith("@s.whatsapp.net")) { +conn.sendMessage(m.chat, { text: `*Conectado exitosamente con WhatsApp ✅*\n\n*💻 Bot:* +${sock.userId}\n*👤 Dueño:* ${ownerName}\n\n*Nota: Con la nueva función de auto-reinicio (Beta)*, Si el bot principal se reinicia o se desactiva, los sub-bots se reiniciarán automáticamente, asegurando que sigan activos sin interrupciones.\n\n> *Unirte a nuestro canal para informarte de todas la Actualizaciónes/novedades sobre el bot*\n${info.nna2}` }, { quoted: m }); +delete commandFlags[senderId]; +} +console.log(chalk.bold.cyanBright(`\n✅ SUB-BOT CONECTADO: ${sock.userId} `)) +} + +if (connection === 'close') { +const botId = sock.userId || id; +const reason = lastDisconnect?.error?.output?.statusCode || lastDisconnect?.reason || 0; +const intentos = reintentos[botId] || 0; +reintentos[botId] = intentos + 1; + +if ([401, 403].includes(reason)) { +if (intentos < 5) { +console.log(`${chalk.red(`[❌ SUB-BOT ${botId}] Conexión cerrada (código ${reason}) intento ${intentos}/5`)} → Reintentando...`); +setTimeout(() => { +startSubBot(m, conn, caption, isCode, phone, chatId, {}); +}, 3000); +} else { +console.log(chalk.red(`[💥 SUB-BOT ${botId}] Falló tras 5 intentos. Eliminando sesión.`)); +try { +fs.rmSync(sessionFolder, { recursive: true, force: true }); +} catch (e) { +console.error(`[⚠️] No se pudo eliminar la carpeta ${sessionFolder}:`, e); +} +delete reintentos[botId]; +} +return; +} + +if ([DisconnectReason.connectionClosed, DisconnectReason.connectionLost, DisconnectReason.timedOut, DisconnectReason.connectionReplaced].includes(reason)) { +//console.log(chalk.gray(`[📶 SUB-BOT ${botId}] Desconectado (code ${reason}) → Reintentando...`)); +setTimeout(() => { +startSubBot(m, conn, caption, isCode, phone, chatId, {}); +}, 3000); +return; +} + +setTimeout(() => { +startSubBot(m, conn, caption, isCode, phone, chatId, {}); +}, 3000); +} + +if (qr && !isCode && m && conn && commandFlags[senderId]) { +try { +const qrBuffer = await qrcode.toBuffer(qr, { scale: 8 }); +const msg = await conn.sendMessage(m.chat, { image: qrBuffer, caption: caption }, { quoted: m }); +delete commandFlags[senderId]; +setTimeout(() => conn.sendMessage(m.chat, { delete: msg.key }).catch(() => {}), 60000); +} catch (err) { +console.error("[QR Error]", err); +}} + +if (qr && isCode && phone && conn && chatId && commandFlags[senderId]) { +try { +let codeGen = await sock.requestPairingCode(phone); +codeGen = codeGen.match(/.{1,4}/g)?.join("-") || codeGen; +const msg = await conn.sendMessage(chatId, { image: { url: 'https://files.catbox.moe/re5wkq.jpg' }, caption: caption }, { quoted: m }); +const msgCode = await conn.sendMessage(chatId, { text: codeGen }, { quoted: m }); +delete commandFlags[senderId]; +setTimeout(async () => { +try { +await conn.sendMessage(chatId, { delete: msg.key }); +await conn.sendMessage(chatId, { delete: msgCode.key }); +//delete commandFlags[senderId]; +} catch {} +}, 60000); +} catch (err) { +console.error("[Código Error]", err); +}} +}); + +process.on('uncaughtException', console.error); +process.on('unhandledRejection', console.error); + +sock.ev.on("messages.upsert", async ({ messages, type }) => { +if (type !== "notify") return; +for (const msg of messages) { +if (!msg.message) continue; +const start = Math.floor(sock.uptime / 1000); +if (msg.messageTimestamp < start || ((Date.now() / 1000) - msg.messageTimestamp) > 60) continue; +if(msg.key.id.startsWith('NJX-') || msg.key.id.startsWith('Lyru-') || msg.key.id.startsWith('EvoGlobalBot-') || msg.key.id.startsWith('BAE5') && msg.key.id.length === 16 || msg.key.id.startsWith('3EB0') && msg.key.id.length === 12 || msg.key.id.startsWith('3EB0') || msg.key.id.startsWith('3E83') || msg.key.id.startsWith('3E38') && (msg.key.id.length === 20 || msg.key.id.length === 22) || msg.key.id.startsWith('B24E') || msg.key.id.startsWith('8SCO') && msg.key.id.length === 20 || msg.key.id.startsWith('FizzxyTheGreat-')) return +try { +//const { handler } = await import("./handler.js"); +await handler(sock, msg); +} catch (err) { +console.error(err); +}} +}); + +sock.ev.on("call", async (calls) => { +try { +//const { callUpdate } = await import("./handler.js"); +for (const call of calls) { +await callUpdate(sock, call); +}} catch (err) { +console.error(chalk.red("❌ Error procesando call.update:"), err); +} +}); +} + +function setupGroupEvents(sock) { +sock.ev.on("group-participants.update", async (update) => { +console.log(update) +try { +await participantsUpdate(sock, update); +} catch (err) { +console.error("[ ❌ ] SUB-BOT Error procesando group-participants.update:", err); +}}); + +sock.ev.on("groups.update", async (updates) => { +console.log(updates) +try { +for (const update of updates) { +await groupsUpdate(sock, update); +}} catch (err) { +console.error("[ ❌ ] SUB-BOT Error procesando groups.update:", err); +}}); +} \ No newline at end of file diff --git a/lib/tictactoe.d.ts b/lib/tictactoe.d.ts deleted file mode 100644 index 68531871b..000000000 --- a/lib/tictactoe.d.ts +++ /dev/null @@ -1,15 +0,0 @@ -export declare class TicTacToe { - /* X PlayerName */ - playerX: string; - /* Y PlayerName */ - playerY: string; - /* X if true, Y if false */ - _currentTurn: boolean; - _x: number; - _y: number; - _turns: number; - constructor(playerX: string, playerY: string); - get board(): number; - turn(player, index: number): boolean; - turn(player, x: number, y: number): boolean; -} diff --git a/lib/tictactoe.js b/lib/tictactoe.js deleted file mode 100644 index dbcd9df1b..000000000 --- a/lib/tictactoe.js +++ /dev/null @@ -1,95 +0,0 @@ -class TicTacToe { - constructor(playerX = 'x', playerO = 'o') { - this.playerX = playerX; - this.playerO = playerO; - this._currentTurn = false; - this._x = 0; - this._o = 0; - this.turns = 0; - } - - get board() { - return this._x | this._o; - } - - get currentTurn() { - return this._currentTurn ? this.playerO : this.playerX; - } - - get enemyTurn() { - return this._currentTurn ? this.playerX : this.playerO; - } - - static check(state) { - for (const combo of [7, 56, 73, 84, 146, 273, 292, 448]) { - if ((state & combo) === combo) { - return !0; - } - } - return !1; - } - - /** - * ```js - * TicTacToe.toBinary(1, 2) // 0b010000000 - * ``` - */ - static toBinary(x = 0, y = 0) { - if (x < 0 || x > 2 || y < 0 || y > 2) throw new Error('invalid position'); - return 1 << x + (3 * y); - } - - /** - * @param player `0` is `X`, `1` is `O` - * - * - `-3` `Game Ended` - * - `-2` `Invalid` - * - `-1` `Invalid Position` - * - ` 0` `Position Occupied` - * - ` 1` `Sucess` - * @return {-3|-2|-1|0|1} - */ - turn(player = 0, x = 0, y) { - if (this.board === 511) return -3; - let pos = 0; - if (y == null) { - if (x < 0 || x > 8) return -1; - pos = 1 << x; - } else { - if (x < 0 || x > 2 || y < 0 || y > 2) return -1; - pos = TicTacToe.toBinary(x, y); - } - if (this._currentTurn ^ player) return -2; - if (this.board & pos) return 0; - this[this._currentTurn ? '_o' : '_x'] |= pos; - this._currentTurn = !this._currentTurn; - this.turns++; - return 1; - } - - /** - * @return {('X'|'O'|1|2|3|4|5|6|7|8|9)[]} - */ - static render(boardX = 0, boardO = 0) { - const x = parseInt(boardX.toString(2), 4); - const y = parseInt(boardO.toString(2), 4) * 2; - return [...(x + y).toString(4).padStart(9, '0')].reverse().map((value, index) => value == 1 ? 'X' : value == 2 ? 'O' : ++index); - } - - /** - * @return {('X'|'O'|1|2|3|4|5|6|7|8|9)[]} - */ - render() { - return TicTacToe.render(this._x, this._o); - } - - get winner() { - const x = TicTacToe.check(this._x); - const o = TicTacToe.check(this._o); - return x ? this.playerX : o ? this.playerO : false; - } -} - -new TicTacToe().turn; - -export default TicTacToe; diff --git a/lib/uploadFile.js b/lib/uploadFile.js index 0b6d47b45..0960579cb 100644 --- a/lib/uploadFile.js +++ b/lib/uploadFile.js @@ -1,66 +1,172 @@ -import fetch from 'node-fetch'; -import {FormData, Blob} from 'formdata-node'; -import {fileTypeFromBuffer} from 'file-type'; +import fetch from 'node-fetch' +import { FormData, Blob } from 'formdata-node' +import { fileTypeFromBuffer } from 'file-type' + /** * Upload epheremal file to file.io * `Expired in 1 day` * `100MB Max Filesize` - * @param {Buffer} buffer File Buffer */ const fileIO = async (buffer) => { - const {ext, mime} = await fileTypeFromBuffer(buffer) || {}; - const form = new FormData(); - const blob = new Blob([buffer.toArrayBuffer()], {type: mime}); - form.append('file', blob, 'tmp.' + ext); - const res = await fetch('https://file.io/?expires=1d', { // 1 Day Expiry Date + const { ext, mime } = await fileTypeFromBuffer(buffer) || {} + const form = new FormData() + const blob = new Blob([buffer], { type: mime }) + form.append('file', blob, 'tmp.' + ext) + const res = await fetch('https://file.io/?expires=1d', { method: 'POST', body: form, - }); - const json = await res.json(); - if (!json.success) throw json; - return json.link; -}; + }) + const json = await res.json() + if (!json.success) throw json + return json.link +} /** * Upload file to storage.restfulapi.my.id - * @param {Buffer|ReadableStream|(Buffer|ReadableStream)[]} inp File Buffer/Stream or Array of them - * @return {string|null|(string|null)[]} */ const RESTfulAPI = async (inp) => { - const form = new FormData(); - let buffers = inp; - if (!Array.isArray(inp)) buffers = [inp]; + const form = new FormData() + let buffers = inp + if (!Array.isArray(inp)) buffers = [inp] + const mime = (await fileTypeFromBuffer(buffers[0]))?.mime || 'application/octet-stream' for (const buffer of buffers) { - const blob = new Blob([buffer.toArrayBuffer()]); - form.append('file', blob); + const blob = new Blob([buffer], { type: mime }) + form.append('file', blob) } const res = await fetch('https://storage.restfulapi.my.id/upload', { method: 'POST', body: form, - }); - let json = await res.text(); + }) + let json = await res.text() try { - json = JSON.parse(json); - if (!Array.isArray(inp)) return json.files[0].url; - return json.files.map((res) => res.url); + json = JSON.parse(json) + if (!Array.isArray(inp)) return json.files[0].url + return json.files.map((res) => res.url) } catch (e) { - throw json; + throw json } -}; +} + +/* +upload to qu.ax +*/ +const quax = async (buffer) => { + const { ext, mime } = await fileTypeFromBuffer(buffer) + const form = new FormData() + const blob = new Blob([buffer], { type: mime }) + form.append('files[]', blob, 'file.' + ext) + const res = await fetch('https://qu.ax/upload.php', { + method: 'POST', + body: form, + }) + const json = await res.json() + if (!json?.success) throw '❌ Error al subir a qu.ax' + return json.files[0].url +} + /** - * - * @param {Buffer} inp - * @return {Promise} + * Upload to catbox.moe as fallback */ -export default async function(inp) { - let err = false; - for (const upload of [RESTfulAPI, fileIO]) { +const catbox = async (buffer) => { + const { ext } = await fileTypeFromBuffer(buffer) || {} + const form = new FormData() + const blob = new Blob([buffer]) + form.append('reqtype', 'fileupload') + form.append('fileToUpload', blob, 'file.' + ext) + const res = await fetch('https://catbox.moe/user/api.php', { + method: 'POST', + body: form, + }) + const url = await res.text() + if (!url.startsWith('https://')) throw new Error('❌ Error al subir a catbox') + return url +} + +/* +upload uguu.se +*/ +const uguu = async (buffer) => { + const { ext } = await fileTypeFromBuffer(buffer) || {} + const form = new FormData() + form.append('file', new Blob([buffer]), 'file.' + ext) + const res = await fetch('https://uguu.se/api.php?d=upload-tool', { method: 'POST', body: form }) + const url = await res.text() + if (!url.startsWith('https://')) throw '❌ Error al subir a uguu' + return url +} + +// Upload a filechan +const filechan = async (buffer) => { + const { ext } = await fileTypeFromBuffer(buffer) || {} + const form = new FormData() + form.append('file', new Blob([buffer]), 'file.' + ext) + const res = await fetch('https://api.filechan.org/upload', { method: 'POST', body: form }) + const json = await res.json() + if (!json?.success || !json?.files?.length) throw '❌ Error al subir a filechan' + return json.files[0].url +} + +// Upload a pixeldrain +const pixeldrain = async (buffer) => { + const form = new FormData() + form.append('file', new Blob([buffer])) + const res = await fetch('https://pixeldrain.com/api/file', { method: 'POST', body: form }) + const json = await res.json() + if (!json?.success || !json?.id) throw '❌ Error al subir a pixeldrain' + return `https://pixeldrain.com/u/${json.id}` +} + +// Upload a gofile +const gofile = async (buffer) => { + const getServer = await fetch('https://api.gofile.io/getServer') + const { data } = await getServer.json() + const form = new FormData() + form.append('file', new Blob([buffer])) + const res = await fetch(`https://${data.server}.gofile.io/uploadFile`, { method: 'POST', body: form }) + const json = await res.json() + if (!json?.status || json.status !== 'ok') throw '❌ Error al subir a Gofile' + return json.data.downloadPage +} + +// Upload a krakenfiles +const krakenfiles = async (buffer) => { + const { ext } = await fileTypeFromBuffer(buffer) || {} + const form = new FormData() + form.append('file', new Blob([buffer]), 'file.' + ext) + const res = await fetch('https://api.krakenfiles.com/v2/file/upload', { method: 'POST', body: form }) + const json = await res.json() + if (!json?.success) throw '❌ Error al subir a KrakenFiles' + return json.data.url +} + +// Upload a telegra.ph +const telegraph = async (buffer) => { + const { ext } = await fileTypeFromBuffer(buffer) || {} + const form = new FormData() + form.append('file', new Blob([buffer]), 'file.' + ext) + const res = await fetch('https://telegra.ph/upload', { method: 'POST', body: form }) + const json = await res.json() + if (!Array.isArray(json)) throw '❌ Error al subir a Telegraph' + return 'https://telegra.ph' + json[0].src +} + +// Exports individuales +export { quax, RESTfulAPI, catbox, uguu, filechan, pixeldrain, gofile, krakenfiles, telegraph } + +// Subida automática con respaldo +export default async function (inp) { + const servicios = [quax, RESTfulAPI, catbox, uguu, filechan, pixeldrain, gofile, krakenfiles, telegraph] + let err = null + for (const upload of servicios) { try { - return await upload(inp); + const result = await upload(inp) + console.log(`[UPLOAD OK]`, result) + return result } catch (e) { - err = e; + console.log(`[UPLOAD FAIL]`, e) + err = e } } - if (err) throw err; + if (err) throw err } diff --git a/lib/uploadImage.js b/lib/uploadImage.js index 92365c893..9af91c547 100644 --- a/lib/uploadImage.js +++ b/lib/uploadImage.js @@ -1,27 +1,57 @@ -import fetch from 'node-fetch'; -import {FormData, Blob} from 'formdata-node'; -import {fileTypeFromBuffer} from 'file-type'; +import fetch from 'node-fetch' +import { FormData, Blob } from 'formdata-node' +import { fileTypeFromBuffer } from 'file-type' /** - * Upload image to telegra.ph - * Supported mimetype: + * Upload file to qu.ax + * Supported mimetypes: * - `image/jpeg` * - `image/jpg` - * - `image/png`s - * @param {Buffer} buffer Image Buffer + * - `image/png` + * - `video/mp4` + * - `video/webm` + * - `audio/mpeg` + * - `audio/wav` + * @param {Buffer} buffer File Buffer * @return {Promise} */ export default async (buffer) => { - const {ext, mime} = await fileTypeFromBuffer(buffer); - const form = new FormData(); - const blob = new Blob([buffer.toArrayBuffer()], {type: mime}); - form.append('file', blob, 'tmp.' + ext); - const res = await fetch('https://telegra.ph/upload', { - method: 'POST', - body: form, - }); - const img = await res.json(); - if (img.error) throw img.error; - return 'https://telegra.ph' + img[0].src; -}; +const { ext, mime } = await fileTypeFromBuffer(buffer) +const form = new FormData() +const blob = new Blob([buffer], {type: mime}) +form.append('files[]', blob, 'tmp.' + ext) +const res = await fetch('https://qu.ax/upload.php', { method: 'POST', body: form }) +const result = await res.json() +if (result && result.success) { +return result.files[0].url +} else { +throw new Error('Failed to upload the file to qu.ax') +}} +/** + * Upload file to qu.ax + * Supported mimetypes: + * - `image/jpeg` + * - `image/jpg` + * - `image/png` + * - `video/mp4` + * - `video/webm` + * - `audio/mpeg` + * - `audio/wav` + * @param {Buffer} buffer File Buffer + * @return {Promise} + */ + +/*export default async (buffer) => { +const {ext, mime} = await fileTypeFromBuffer(buffer) +const form = new FormData() +const blob = new Blob([buffer.toArrayBuffer()], {type: mime}) +form.append('file', blob, 'tmp.' + ext) +const res = await fetch('https://telegra.ph/upload', { +method: 'POST', +body: form, +}) +const img = await res.json() +if (img.error) throw img.error +return 'https://telegra.ph' + img[0].src +}*/ diff --git a/lib/webp.js b/lib/webp.js deleted file mode 100644 index aa21efee4..000000000 --- a/lib/webp.js +++ /dev/null @@ -1,1497 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, '__esModule', { - value: true, -}); -exports.default = exports.constants = void 0; - -const _fs2 = _interopRequireDefault(require('fs')); - -const _util = require('util'); - -const _path = require('path'); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : {default: obj}; -} - -function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { - try { - var info = gen[key](arg); - var value = info.value; - } catch (error) { - reject(error); - return; - } - if (info.done) { - resolve(value); - } else { - Promise.resolve(value).then(_next, _throw); - } -} - -function _asyncToGenerator(fn) { - return function() { - const self = this; - const args = arguments; - return new Promise(function(resolve, reject) { - const gen = fn.apply(self, args); - function _next(value) { - asyncGeneratorStep(gen, resolve, reject, _next, _throw, 'next', value); - } - function _throw(err) { - asyncGeneratorStep(gen, resolve, reject, _next, _throw, 'throw', err); - } - _next(undefined); - }); - }; -} - -function _defineProperty(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { - value: value, - enumerable: true, - configurable: true, - writable: true, - }); - } else { - obj[key] = value; - } - return obj; -} - -function _classPrivateMethodGet(receiver, privateSet, fn) { - if (!privateSet.has(receiver)) { - throw new TypeError('attempted to get private field on non-instance'); - } - return fn; -} - -const fs = { - read: (0, _util.promisify)(_fs2.default.read), - write: (0, _util.promisify)(_fs2.default.write), - open: (0, _util.promisify)(_fs2.default.open), - close: (0, _util.promisify)(_fs2.default.close), -}; -const nullByte = Buffer.alloc(1); -nullByte[0] = 0; -const constants = { - TYPE_LOSSY: 0, - TYPE_LOSSLESS: 1, - TYPE_EXTENDED: 2, -}; -exports.constants = constants; - -function VP8Width(data) { - const n = (data[7] << 8) | data[6]; - return n & 0b0011111111111111; -} - -function VP8Height(data) { - const n = (data[9] << 8) | data[8]; - return n & 0b0011111111111111; -} - -function VP8LWidth(data) { - const n = (data[2] << 8) | data[1]; - return (n & 0b0011111111111111) + 1; -} - -function VP8LHeight(data) { - let n = (data[4] << 16) | (data[3] << 8) | data[2]; - n = n >> 6; - return (n & 0b0011111111111111) + 1; -} - -function doesVP8LHaveAlpha(data) { - return !!(data[4] & 0b00010000); -} - -function createBasicChunk(name, data) { - const chunk = Buffer.alloc(8); - const size = data.length; - let out; - chunk.write(name, 0); - chunk.writeUInt32LE(size, 4); - out = [chunk, data]; - - if (size & 1) { - out[2] = nullByte; - } - - return out; -} - -const _convertToExtended = new WeakSet(); - -const _demuxFrame = new WeakSet(); - -const _readHeader = new WeakSet(); - -const _readChunkHeader = new WeakSet(); - -const _readChunkHeader_buf = new WeakSet(); - -const _readChunk_raw = new WeakSet(); - -const _readChunk_VP = new WeakSet(); - -const _readChunk_VP8_buf = new WeakSet(); - -const _readChunk_VP8L = new WeakSet(); - -const _readChunk_VP8L_buf = new WeakSet(); - -const _readChunk_VP8X = new WeakSet(); - -const _readChunk_ANIM = new WeakSet(); - -const _readChunk_ANMF = new WeakSet(); - -const _readChunk_ALPH = new WeakSet(); - -const _readChunk_ALPH_buf = new WeakSet(); - -const _readChunk_ICCP = new WeakSet(); - -const _readChunk_EXIF = new WeakSet(); - -const _readChunk_XMP = new WeakSet(); - -const _readChunk_Skip = new WeakSet(); - -const _read = new WeakSet(); - -class Image { - constructor() { - _read.add(this); - - _readChunk_Skip.add(this); - - _readChunk_XMP.add(this); - - _readChunk_EXIF.add(this); - - _readChunk_ICCP.add(this); - - _readChunk_ALPH_buf.add(this); - - _readChunk_ALPH.add(this); - - _readChunk_ANMF.add(this); - - _readChunk_ANIM.add(this); - - _readChunk_VP8X.add(this); - - _readChunk_VP8L_buf.add(this); - - _readChunk_VP8L.add(this); - - _readChunk_VP8_buf.add(this); - - _readChunk_VP.add(this); - - _readChunk_raw.add(this); - - _readChunkHeader_buf.add(this); - - _readChunkHeader.add(this); - - _readHeader.add(this); - - _demuxFrame.add(this); - - _convertToExtended.add(this); - - _defineProperty(this, 'data', null); - - _defineProperty(this, 'loaded', false); - - _defineProperty(this, 'path', ''); - } - - clear() { - this.data = null; - this.path = ''; - this.loaded = false; - } - - get width() { - if (!this.loaded) { - return undefined; - } - - const d = this.data; - return d.extended ? - d.extended.width : - d.vp8l ? - d.vp8l.width : - d.vp8 ? - d.vp8.width : - undefined; - } - - get height() { - if (!this.loaded) { - return undefined; - } - - const d = this.data; - return d.extended ? - d.extended.height : - d.vp8l ? - d.vp8l.height : - d.vp8 ? - d.vp8.height : - undefined; - } - - get type() { - return this.loaded ? this.data.type : undefined; - } - - get hasAnim() { - return this.loaded ? - this.data.extended ? - this.data.extended.hasAnim : - false : - false; - } - - get anim() { - return this.hasAnim ? this.data.anim : undefined; - } - - get frameCount() { - return this.anim ? this.anim.frameCount : 0; - } - - get iccp() { - return this.data.extended ? - this.data.extended.hasICCP ? - this.data.iccp.raw : - undefined : - undefined; - } - - set iccp(raw) { - if (!this.data.extended) { - _classPrivateMethodGet( - this, - _convertToExtended, - _convertToExtended2, - ).call(this); - } - - if (raw === undefined) { - this.data.extended.hasICCP = false; - delete this.data.iccp; - } else { - this.data.iccp = { - raw, - }; - this.data.extended.hasICCP = true; - } - } - - get exif() { - return this.data.extended ? - this.data.extended.hasEXIF ? - this.data.exif.raw : - undefined : - undefined; - } - - set exif(raw) { - if (!this.data.extended) { - _classPrivateMethodGet( - this, - _convertToExtended, - _convertToExtended2, - ).call(this); - } - - if (raw === undefined) { - this.data.extended.hasEXIF = false; - delete this.data.exif; - } else { - this.data.exif = { - raw, - }; - this.data.extended.hasEXIF = true; - } - } - - get xmp() { - return this.data.extended ? - this.data.extended.hasXMP ? - this.data.xmp.raw : - undefined : - undefined; - } - - set xmp(raw) { - if (!this.data.extended) { - _classPrivateMethodGet( - this, - _convertToExtended, - _convertToExtended2, - ).call(this); - } - - if (raw === undefined) { - this.data.extended.hasXMP = false; - delete this.data.xmp; - } else { - this.data.xmp = { - raw, - }; - this.data.extended.hasXMP = true; - } - } - - load(path) { - const _this = this; - - return _asyncToGenerator(function* () { - _this.path = path; - _this.data = yield _classPrivateMethodGet(_this, _read, _read2).call( - _this, - path, - ); - _this.loaded = true; - })(); - } - - demuxAnim(path, frame = -1, prefix = '#FNAME#') { - const _this2 = this; - - return _asyncToGenerator(function* () { - let start = 0; - let end = _this2.frameCount; - - if (end == 0) { - throw new Error('This WebP isn\'t an animation'); - } - - if (frame != -1) { - start = end = frame; - } - - for (let i = start; i <= end; i++) { - yield _classPrivateMethodGet(_this2, _demuxFrame, _demuxFrame2).call( - _this2, - `${path}/${prefix}_${i}.webp`.replace( - /#FNAME#/g, - (0, _path.basename)(_this2.path, '.webp'), - ), - _this2.anim.frames[i], - ); - } - })(); - } - - replaceFrame(path, frame) { - const _this3 = this; - - return _asyncToGenerator(function* () { - if (!_this3.hasAnim) { - throw new Error('WebP isn\'t animated'); - } - - if (frame < 0 || frame >= _this3.frameCount) { - throw new Error( - `Frame index ${frame} out of bounds (0<=index<${_this3.frameCount})`, - ); - } - - const r = new Image(); - yield r.load(path); - - switch (r.type) { - case constants.TYPE_LOSSY: - case constants.TYPE_LOSSLESS: - break; - - case constants.TYPE_EXTENDED: - if (r.hasAnim) { - throw new Error('Merging animations not currently supported'); - } - - break; - - default: - throw new Error('Unknown WebP type'); - } - - switch (_this3.anim.frames[frame].type) { - case constants.TYPE_LOSSY: - if (_this3.anim.frames[frame].vp8.alpha) { - delete _this3.anim.frames[frame].alph; - } - - delete _this3.anim.frames[frame].vp8; - break; - - case constants.TYPE_LOSSLESS: - delete _this3.anim.frames[frame].vp8l; - break; - - default: - throw new Error('Unknown frame type'); - } - - switch (r.type) { - case constants.TYPE_LOSSY: - _this3.anim.frames[frame].vp8 = r.data.vp8; - break; - - case constants.TYPE_LOSSLESS: - _this3.anim.frames[frame].vp8l = r.data.vp8l; - break; - - case constants.TYPE_EXTENDED: - if (r.data.vp8) { - _this3.anim.frames[frame].vp8 = r.data.vp8; - - if (r.data.vp8.alpha) { - _this3.anim.frames[frame].alph = r.data.alph; - } - } else if (r.data.vp8l) { - _this3.anim.frames[frame].vp8l = r.data.vp8l; - } - - break; - } - - _this3.anim.frames[frame].width = r.width; - _this3.anim.frames[frame].height = r.height; - })(); - } - - muxAnim({path, bgColor = [255, 255, 255, 255], loops = 0} = {}) { - const _this4 = this; - - return _asyncToGenerator(function* () { - return Image.muxAnim({ - path, - bgColor, - loops, - frames: _this4.frames, - }); - })(); - } - - static muxAnim({ - path, - frames, - width = 0, - height = 0, - bgColor = [255, 255, 255, 255], - loops = 0, - delay = 100, - x = 0, - y = 0, - blend = true, - dispose = false, - } = {}) { - return _asyncToGenerator(function* () { - const header = Buffer.alloc(12); - let chunk = Buffer.alloc(18); - const out = []; - let img; - let alpha = false; - let size; - let _w = 0; - let _h = 0; - - const _width = width - 1; - const _height = height - 1; - - if (frames.length == 0) { - throw new Error('No frames to mux'); - } else if (_width <= 0 || _width > 1 << 24) { - throw new Error('Width out of range'); - } else if (_height <= 0 || _height > 1 << 24) { - throw new Error('Height out of range'); - } else if (_height * _width > Math.pow(2, 32) - 1) { - throw new Error(`Width*height too large (${_width}, ${_height})`); - } else if (loops < 0 || loops >= 1 << 24) { - throw new Error('Loops out of range'); - } else if (delay < 0 || delay >= 1 << 24) { - throw new Error('Delay out of range'); - } else if (x < 0 || x >= 1 << 24) { - throw new Error('X out of range'); - } else if (y < 0 || y >= 1 << 24) { - throw new Error('Y out of range'); - } - - header.write('RIFF', 0); - header.write('WEBP', 8); - chunk.write('VP8X', 0); - chunk.writeUInt32LE(10, 4); - chunk[8] |= 0b00000010; - - if (width != 0) { - chunk.writeUIntLE(_width, 12, 3); - } - - if (height != 0) { - chunk.writeUIntLE(_height, 15, 3); - } - - out.push(header, chunk); - chunk = Buffer.alloc(14); - chunk.write('ANIM', 0); - chunk.writeUInt32LE(6, 4); - chunk.writeUInt8(bgColor[2], 8); - chunk.writeUInt8(bgColor[1], 9); - chunk.writeUInt8(bgColor[0], 10); - chunk.writeUInt8(bgColor[3], 11); - chunk.writeUInt16LE(loops, 12); - out.push(chunk); - - for (let i = 0, l = frames.length; i < l; i++) { - const _delay = - typeof frames[i].delay === 'undefined' ? delay : frames[i].delay; - const _x = typeof frames[i].x === 'undefined' ? x : frames[i].x; - const _y = typeof frames[i].y === 'undefined' ? y : frames[i].y; - const _blend = - typeof frames[i].blend === 'undefined' ? blend : frames[i].blend; - const _dispose = - typeof frames[i].dispose === 'undefined' ? - dispose : - frames[i].dispose; - let size = 16; - let keepChunk = true; - let imgData; - - if (delay < 0 || delay >= 1 << 24) { - throw new Error(`Delay out of range on frame ${i}`); - } else if (x < 0 || x >= 1 << 24) { - throw new Error(`X out of range on frame ${i}`); - } else if (y < 0 || y >= 1 << 24) { - throw new Error(`Y out of range on frame ${i}`); - } - - chunk = Buffer.alloc(24); - chunk.write('ANMF', 0); - chunk.writeUIntLE(_x, 8, 3); - chunk.writeUIntLE(_y, 11, 3); - chunk.writeUIntLE(_delay, 20, 3); - - if (!_blend) { - chunk[23] |= 0b00000010; - } - - if (_dispose) { - chunk[23] |= 0b00000001; - } - - if (frames[i].path) { - img = new Image(); - yield img.load(frames[i].path); - } else { - img = { - data: frames[i], - }; - } - - chunk.writeUIntLE(img.data.width - 1, 14, 3); - chunk.writeUIntLE(img.data.height - 1, 17, 3); - - switch (img.data.type) { - case constants.TYPE_LOSSY: - { - const c = img.data.vp8; - _w = c.width > _w ? c.width : _w; - _h = c.height > _h ? c.height : _h; - size += c.raw.length + 8; - imgData = createBasicChunk('VP8 ', c.raw); - } - break; - - case constants.TYPE_LOSSLESS: - { - const c = img.data.vp8l; - _w = c.width > _w ? c.width : _w; - _h = c.height > _h ? c.height : _h; - size += c.raw.length + 8; - - if (c.alpha) { - alpha = true; - } - - imgData = createBasicChunk('VP8L', c.raw); - } - break; - - case constants.TYPE_EXTENDED: - if (img.data.extended.hasAnim) { - const fr = img.data.anim.frames; - keepChunk = false; - - if (img.data.extended.hasAlpha) { - alpha = true; - } - - for (let i = 0, l = fr.length; i < l; i++) { - _w = fr[i].width + _x > _w ? fr[i].width + _x : _w; - _h = fr[i].height + _y > _h ? fr[i].height + _y : _h; - let b = Buffer.alloc(8); - b.write('ANMF', 0); - b.writeUInt32LE(fr[i].raw.length, 4); - out.push(b, fr[i].raw); - - if (fr[i].raw.length & 1) { - out.push(nullByte); - } - - b = fr[i].raw; - b.writeUIntLE(_x, 0, 3); - b.writeUIntLE(_y, 3, 3); - b.writeUIntLE(_delay, 12, 3); - - if (!_blend) { - b[15] |= 0b00000010; - } else { - b[15] &= 0b11111101; - } - - if (_dispose) { - b[15] |= 0b00000001; - } else { - b[15] &= 0b11111110; - } - } - } else { - _w = img.data.extended.width > _w ? img.data.extended.width : _w; - _h = - img.data.extended.height > _h ? img.data.extended.height : _h; - - if (img.data.vp8) { - imgData = []; - - if (img.data.alph) { - alpha = true; - imgData.push(...createBasicChunk('ALPH', img.data.alph.raw)); - size += img.data.alph.raw.length + 8; - } - - imgData.push(...createBasicChunk('VP8 ', img.data.vp8.raw)); - size += img.data.vp8.raw.length + 8; - } else if (img.data.vp8l) { - imgData = createBasicChunk('VP8L', img.data.vp8l.raw); - - if (img.data.vp8l.alpha) { - alpha = true; - } - - size += img.data.vp8l.raw.length + 8; - } - } - - break; - - default: - throw new Error('Unknown image type'); - } - - if (keepChunk) { - chunk.writeUInt32LE(size, 4); - out.push(chunk, ...imgData); - } - } - - if (width == 0) { - out[1].writeUIntLE(_w - 1, 12, 3); - } - - if (height == 0) { - out[1].writeUIntLE(_h - 1, 15, 3); - } - - size = 4; - - for (let i = 1, l = out.length; i < l; i++) { - size += out[i].length; - } - - header.writeUInt32LE(size, 4); - - if (alpha) { - out[1][8] |= 0b00010000; - } - - const fp = yield fs.open(path, 'w'); - - for (let i = 0, l = out.length; i < l; i++) { - yield fs.write(fp, out[i], 0, undefined, undefined); - } - - yield fs.close(fp); - })(); - } -} - -var _convertToExtended2 = function _convertToExtended2() { - if (!this.loaded) { - throw new Error('No image loaded'); - } - - this.data.type = constants.TYPE_EXTENDED; - this.data.extended = { - hasICC: false, - hasAlpha: false, - hasEXIF: false, - hasXMP: false, - width: this.vp8 ? this.vp8.width : this.vp8l ? this.vp8l.width : 1, - height: this.vp8 ? this.vp8.height : this.vp8l ? this.vp8l.height : 1, - }; -}; - -var _demuxFrame2 = /* #__PURE__*/ (function() { - const _demuxFrame3 = _asyncToGenerator(function* (path, frame) { - const header = Buffer.alloc(12); - let size; - let chunk; - const out = []; - header.write('RIFF', 0); - header.write('WEBP', 8); - out.push(header); - - if ( - this.data.extended.hasICC || - this.data.extended.hasEXIF || - this.data.extended.hasXMP || - (frame.vp8 && frame.vp8.alpha) - ) { - chunk = Buffer.alloc(18); - chunk.write('VP8X', 0); - chunk.writeUInt32LE(10, 4); - - if (this.data.extended.hasICC) { - chunk[8] |= 0b00100000; - } - - if ((frame.vp8l && frame.vp8l.alpha) || (frame.vp8 && frame.vp8.alpha)) { - chunk[8] |= 0b00010000; - } - - if (this.data.extended.hasEXIF) { - chunk[8] |= 0b00001000; - } - - if (this.data.extended.hasXMP) { - chunk[8] |= 0b00000100; - } - - chunk.writeUIntLE(frame.width - 1, 12, 3); - chunk.writeUIntLE(frame.height - 1, 15, 3); - out.push(chunk); - - if (this.data.extended.hasICC) { - out.push(...createBasicChunk('ICCP', this.data.extended.icc.raw)); - } - } - - if (frame.vp8l) { - out.push(...createBasicChunk('VP8L', frame.vp8l.raw)); - } else if (frame.vp8) { - if (frame.vp8.alpha) { - out.push(...createBasicChunk('ALPH', frame.alph.raw)); - } - - out.push(...createBasicChunk('VP8 ', frame.vp8.raw)); - } else { - throw new Error('Frame has no VP8/VP8L?'); - } - - if (this.type == constants.TYPE_EXTENDED) { - if (this.data.extended.hasEXIF) { - out.push(...createBasicChunk('EXIF', this.data.extended.exif.raw)); - } - - if (this.data.extended.hasXMP) { - out.push(...createBasicChunk('XMP ', this.data.extended.xmp.raw)); - } - } - - size = 4; - - for (let i = 1, l = out.length; i < l; i++) { - size += out[i].length; - } - - header.writeUInt32LE(size, 4); - const fp = yield fs.open(path, 'w'); - - for (let i = 0, l = out.length; i < l; i++) { - yield fs.write(fp, out[i], 0, undefined, undefined); - } - - yield fs.close(fp); - }); - - function _demuxFrame2(_x2, _x3) { - return _demuxFrame3.apply(this, arguments); - } - - return _demuxFrame2; -})(); - -const _readHeader2 = /* #__PURE__*/ (function() { - const _readHeader3 = _asyncToGenerator(function* (fd) { - const buf = Buffer.alloc(12); - const {bytesRead} = yield fs.read(fd, buf, 0, 12, undefined); - - if (bytesRead != 12) { - throw new Error('Reached end of file while reading header'); - } - - if (buf.toString('utf8', 0, 4) != 'RIFF') { - throw new Error('Bad header (not RIFF)'); - } - - if (buf.toString('utf8', 8, 12) != 'WEBP') { - throw new Error('Bad header (not WEBP)'); - } - - return { - fileSize: buf.readUInt32LE(4), - }; - }); - - function _readHeader2(_x4) { - return _readHeader3.apply(this, arguments); - } - - return _readHeader2; -})(); - -const _readChunkHeader2 = /* #__PURE__*/ (function() { - const _readChunkHeader3 = _asyncToGenerator(function* (fd) { - const buf = Buffer.alloc(8); - const {bytesRead} = yield fs.read(fd, buf, 0, 8, undefined); - - if (bytesRead == 0) { - return { - fourCC: '\x00\x00\x00\x00', - size: 0, - }; - } else if (bytesRead < 8) { - throw new Error('Reached end of file while reading chunk header'); - } - - return { - fourCC: buf.toString('utf8', 0, 4), - size: buf.readUInt32LE(4), - }; - }); - - function _readChunkHeader2(_x5) { - return _readChunkHeader3.apply(this, arguments); - } - - return _readChunkHeader2; -})(); - -const _readChunkHeader_buf2 = function _readChunkHeader_buf2(buf, cursor) { - if (cursor >= buf.length) { - return { - fourCC: '\x00\x00\x00\x00', - size: 0, - }; - } - - return { - fourCC: buf.toString('utf8', cursor, cursor + 4), - size: buf.readUInt32LE(cursor + 4), - }; -}; - -const _readChunk_raw2 = /* #__PURE__*/ (function() { - const _readChunk_raw3 = _asyncToGenerator(function* (n, fd, size) { - const buf = Buffer.alloc(size); - const discard = Buffer.alloc(1); - const {bytesRead} = yield fs.read(fd, buf, 0, size, undefined); - - if (bytesRead != size) { - throw new Error(`Reached end of file while reading ${n} chunk`); - } - - if (size & 1) { - yield fs.read(fd, discard, 0, 1, undefined); - } - - return { - raw: buf, - }; - }); - - function _readChunk_raw2(_x6, _x7, _x8) { - return _readChunk_raw3.apply(this, arguments); - } - - return _readChunk_raw2; -})(); - -const _readChunk_VP2 = /* #__PURE__*/ (function() { - const _readChunk_VP3 = _asyncToGenerator(function* (fd, size) { - const buf = Buffer.alloc(size); - const discard = Buffer.alloc(1); - const {bytesRead} = yield fs.read(fd, buf, 0, size, undefined); - - if (bytesRead != size) { - throw new Error('Reached end of file while reading VP8 chunk'); - } - - if (size & 1) { - yield fs.read(fd, discard, 0, 1, undefined); - } - - return { - raw: buf, - width: VP8Width(buf, 8), - height: VP8Height(buf, 8), - }; - }); - - function _readChunk_VP2(_x9, _x10) { - return _readChunk_VP3.apply(this, arguments); - } - - return _readChunk_VP2; -})(); - -const _readChunk_VP8_buf2 = function _readChunk_VP8_buf2(buf, size, cursor) { - if (cursor >= buf.length) { - throw new Error('Reached end of buffer while reading VP8 chunk'); - } - - const raw = buf.slice(cursor, cursor + size); - return { - raw, - width: VP8Width(raw), - height: VP8Height(raw), - }; -}; - -const _readChunk_VP8L2 = /* #__PURE__*/ (function() { - const _readChunk_VP8L3 = _asyncToGenerator(function* (fd, size) { - const buf = Buffer.alloc(size); - const discard = Buffer.alloc(1); - const {bytesRead} = yield fs.read(fd, buf, 0, size, undefined); - - if (bytesRead != size) { - throw new Error('Reached end of file while reading VP8L chunk'); - } - - if (size & 1) { - yield fs.read(fd, discard, 0, 1, undefined); - } - - return { - raw: buf, - alpha: doesVP8LHaveAlpha(buf, 0), - width: VP8LWidth(buf), - height: VP8LHeight(buf), - }; - }); - - function _readChunk_VP8L2(_x11, _x12) { - return _readChunk_VP8L3.apply(this, arguments); - } - - return _readChunk_VP8L2; -})(); - -const _readChunk_VP8L_buf2 = function _readChunk_VP8L_buf2(buf, size, cursor) { - if (cursor >= buf.length) { - throw new Error('Reached end of buffer while reading VP8L chunk'); - } - - const raw = buf.slice(cursor, cursor + size); - return { - raw, - alpha: doesVP8LHaveAlpha(raw), - width: VP8LWidth(raw), - height: VP8LHeight(raw), - }; -}; - -const _readChunk_VP8X2 = /* #__PURE__*/ (function() { - const _readChunk_VP8X3 = _asyncToGenerator(function* (fd, size) { - const buf = Buffer.alloc(size); - const {bytesRead} = yield fs.read(fd, buf, 0, size, undefined); - - if (bytesRead != size) { - throw new Error('Reached end of file while reading VP8X chunk'); - } - - return { - raw: buf, - hasICC: !!(buf[0] & 0b00100000), - hasAlpha: !!(buf[0] & 0b00010000), - hasEXIF: !!(buf[0] & 0b00001000), - hasXMP: !!(buf[0] & 0b00000100), - hasAnim: !!(buf[0] & 0b00000010), - width: buf.readUIntLE(4, 3) + 1, - height: buf.readUIntLE(7, 3) + 1, - }; - }); - - function _readChunk_VP8X2(_x13, _x14) { - return _readChunk_VP8X3.apply(this, arguments); - } - - return _readChunk_VP8X2; -})(); - -const _readChunk_ANIM2 = /* #__PURE__*/ (function() { - const _readChunk_ANIM3 = _asyncToGenerator(function* (fd, size) { - const buf = Buffer.alloc(size); - const {bytesRead} = yield fs.read(fd, buf, 0, size, undefined); - - if (bytesRead != size) { - throw new Error('Reached end of file while reading ANIM chunk'); - } - - return { - raw: buf, - bgColor: buf.slice(0, 4), - loopCount: buf.readUInt16LE(4), - }; - }); - - function _readChunk_ANIM2(_x15, _x16) { - return _readChunk_ANIM3.apply(this, arguments); - } - - return _readChunk_ANIM2; -})(); - -const _readChunk_ANMF2 = /* #__PURE__*/ (function() { - const _readChunk_ANMF3 = _asyncToGenerator(function* (fd, size) { - const buf = Buffer.alloc(size); - const discard = Buffer.alloc(1); - const {bytesRead} = yield fs.read(fd, buf, 0, size, undefined); - - if (bytesRead != size) { - throw new Error('Reached end of file while reading ANMF chunk'); - } - - if (size & 1) { - yield fs.read(fd, discard, 0, 1, undefined); - } - - const out = { - raw: buf, - x: buf.readUIntLE(0, 3), - y: buf.readUIntLE(3, 3), - width: buf.readUIntLE(6, 3) + 1, - height: buf.readUIntLE(9, 3) + 1, - duration: buf.readUIntLE(12, 3), - blend: !(buf[15] & 0b00000010), - dispose: !!(buf[15] & 0b00000001), - }; - let keepLooping = true; - let cursor = 16; - - while (keepLooping) { - const header = _classPrivateMethodGet( - this, - _readChunkHeader_buf, - _readChunkHeader_buf2, - ).call(this, buf, cursor); - let t; - - cursor += 8; - - switch (header.fourCC) { - case 'VP8 ': - if (!out.vp8) { - out.type = constants.TYPE_LOSSY; - out.vp8 = _classPrivateMethodGet( - this, - _readChunk_VP8_buf, - _readChunk_VP8_buf2, - ).call(this, buf, header.size, cursor); - } - - break; - - case 'VP8L': - if (!out.vp8l) { - out.type = constants.TYPE_LOSSLESS; - out.vp8l = _classPrivateMethodGet( - this, - _readChunk_VP8L_buf, - _readChunk_VP8L_buf2, - ).call(this, buf, header.size, cursor); - } - - break; - - case 'ALPH': - if (out.vp8) { - out.alph = _classPrivateMethodGet( - this, - _readChunk_ALPH_buf, - _readChunk_ALPH_buf2, - ).call(this, buf, header.size, cursor); - out.vp8.alpha = true; - } - - break; - - case '\x00\x00\x00\x00': - default: - keepLooping = false; - break; - } - - cursor += header.size + 1; - - if (header.size & 1) { - cursor++; - } - - if (cursor >= buf.length) { - keepLooping = false; - } - } - - return out; - }); - - function _readChunk_ANMF2(_x17, _x18) { - return _readChunk_ANMF3.apply(this, arguments); - } - - return _readChunk_ANMF2; -})(); - -const _readChunk_ALPH2 = /* #__PURE__*/ (function() { - const _readChunk_ALPH3 = _asyncToGenerator(function* (fd, size) { - return _classPrivateMethodGet(this, _readChunk_raw, _readChunk_raw2).call( - this, - 'ALPH', - fd, - size, - ); - }); - - function _readChunk_ALPH2(_x19, _x20) { - return _readChunk_ALPH3.apply(this, arguments); - } - - return _readChunk_ALPH2; -})(); - -var _readChunk_ALPH_buf2 = function _readChunk_ALPH_buf2(buf, size, cursor) { - if (cusor >= buf.length) { - throw new Error('Reached end of buffer while reading ALPH chunk'); - } - - return { - raw: buf.slice(cursor, cursor + size), - }; -}; - -const _readChunk_ICCP2 = /* #__PURE__*/ (function() { - const _readChunk_ICCP3 = _asyncToGenerator(function* (fd, size) { - return _classPrivateMethodGet(this, _readChunk_raw, _readChunk_raw2).call( - this, - 'ICCP', - fd, - size, - ); - }); - - function _readChunk_ICCP2(_x21, _x22) { - return _readChunk_ICCP3.apply(this, arguments); - } - - return _readChunk_ICCP2; -})(); - -const _readChunk_EXIF2 = /* #__PURE__*/ (function() { - const _readChunk_EXIF3 = _asyncToGenerator(function* (fd, size) { - return _classPrivateMethodGet(this, _readChunk_raw, _readChunk_raw2).call( - this, - 'EXIF', - fd, - size, - ); - }); - - function _readChunk_EXIF2(_x23, _x24) { - return _readChunk_EXIF3.apply(this, arguments); - } - - return _readChunk_EXIF2; -})(); - -const _readChunk_XMP2 = /* #__PURE__*/ (function() { - const _readChunk_XMP3 = _asyncToGenerator(function* (fd, size) { - return _classPrivateMethodGet(this, _readChunk_raw, _readChunk_raw2).call( - this, - 'XML', - fd, - size, - ); - }); - - function _readChunk_XMP2(_x25, _x26) { - return _readChunk_XMP3.apply(this, arguments); - } - - return _readChunk_XMP2; -})(); - -const _readChunk_Skip2 = /* #__PURE__*/ (function() { - const _readChunk_Skip3 = _asyncToGenerator(function* (fd, size) { - const buf = Buffer.alloc(size); - const discard = Buffer.alloc(1); - const {bytesRead} = yield fs.read(fd, buf, 0, size, undefined); - - if (bytesRead != size) { - throw new Error('Reached end of file while skipping chunk'); - } - - if (size & 1) { - yield fs.read(fd, discard, 0, 1, undefined); - } - }); - - function _readChunk_Skip2(_x27, _x28) { - return _readChunk_Skip3.apply(this, arguments); - } - - return _readChunk_Skip2; -})(); - -var _read2 = /* #__PURE__*/ (function() { - const _read3 = _asyncToGenerator(function* (path) { - const fd = yield fs.open(path, 'r'); - const out = {}; - let keepLooping = true; - let first = true; - const {fileSize} = yield _classPrivateMethodGet( - this, - _readHeader, - _readHeader2, - ).call(this, fd); - - while (keepLooping) { - const {fourCC, size} = yield _classPrivateMethodGet( - this, - _readChunkHeader, - _readChunkHeader2, - ).call(this, fd); - - switch (fourCC) { - case 'VP8 ': - if (!out.vp8) { - out.vp8 = yield _classPrivateMethodGet( - this, - _readChunk_VP, - _readChunk_VP2, - ).call(this, fd, size); - } else { - yield _classPrivateMethodGet( - this, - _readChunk_Skip, - _readChunk_Skip2, - ).call(this, fd, size); - } - - if (first) { - out.type = constants.TYPE_LOSSY; - keepLooping = false; - } - - break; - - case 'VP8L': - if (!out.vp8l) { - out.vp8l = yield _classPrivateMethodGet( - this, - _readChunk_VP8L, - _readChunk_VP8L2, - ).call(this, fd, size); - } else { - yield _classPrivateMethodGet( - this, - _readChunk_Skip, - _readChunk_Skip2, - ).call(this, fd, size); - } - - if (first) { - out.type = constants.TYPE_LOSSLESS; - keepLooping = false; - } - - break; - - case 'VP8X': - if (!out.extended) { - out.type = constants.TYPE_EXTENDED; - out.extended = yield _classPrivateMethodGet( - this, - _readChunk_VP8X, - _readChunk_VP8X2, - ).call(this, fd, size); - } else { - yield _classPrivateMethodGet( - this, - _readChunk_Skip, - _readChunk_Skip2, - ).call(this, fd, size); - } - - break; - - case 'ANIM': - if (!out.anim) { - const {raw, bgColor, loopCount} = yield _classPrivateMethodGet( - this, - _readChunk_ANIM, - _readChunk_ANIM2, - ).call(this, fd, size); - out.anim = { - backgroundColor: [bgColor[2], bgColor[1], bgColor[0], bgColor[3]], - loopCount, - frames: [], - }; - out.anim.raw = raw; - } else { - yield _classPrivateMethodGet( - this, - _readChunk_Skip, - _readChunk_Skip2, - ).call(this, fd, size); - } - - break; - - case 'ANMF': - { - const f = yield _classPrivateMethodGet( - this, - _readChunk_ANMF, - _readChunk_ANMF2, - ).call(this, fd, size); - out.anim.frames.push(f); - } - break; - - case 'ALPH': - if (!out.alph) { - out.alph = yield _classPrivateMethodGet( - this, - _readChunk_ALPH, - _readChunk_ALPH2, - ).call(this, fd, size); - } else { - yield _classPrivateMethodGet( - this, - _readChunk_Skip, - _readChunk_Skip2, - ).call(this, fd, size); - } - - break; - - case 'ICCP': - if (!out.iccp) { - out.iccp = yield _classPrivateMethodGet( - this, - _readChunk_ICCP, - _readChunk_ICCP2, - ).call(this, fd, size); - } else { - yield _classPrivateMethodGet( - this, - _readChunk_Skip, - _readChunk_Skip2, - ).call(this, fd, size); - } - - break; - - case 'EXIF': - if (!out.exif) { - out.exif = yield _classPrivateMethodGet( - this, - _readChunk_EXIF, - _readChunk_EXIF2, - ).call(this, fd, size); - } else { - yield _classPrivateMethodGet( - this, - _readChunk_Skip, - _readChunk_Skip2, - ).call(this, fd, size); - } - - break; - - case 'XMP ': - if (!out.xmp) { - out.xmp = yield _classPrivateMethodGet( - this, - _readChunk_XMP, - _readChunk_XMP2, - ).call(this, fd, size); - } else { - yield _classPrivateMethodGet( - this, - _readChunk_Skip, - _readChunk_Skip2, - ).call(this, fd, size); - } - - break; - - case '\x00\x00\x00\x00': - keepLooping = false; - break; - - default: - yield _classPrivateMethodGet( - this, - _readChunk_Skip, - _readChunk_Skip2, - ).call(this, fd, size); - break; - } - - first = false; - } - - if (out.type == constants.TYPE_EXTENDED && out.extended.hasAnim) { - out.anim.frameCount = out.anim.frames.length; - } - - return out; - }); - - function _read2(_x29) { - return _read3.apply(this, arguments); - } - - return _read2; -})(); - -const _default = { - TYPE_LOSSY: constants.TYPE_LOSSY, - TYPE_LOSSLESS: constants.TYPE_LOSSLESS, - TYPE_EXTENDED: constants.TYPE_EXTENDED, - Image, -}; -exports.default = _default; diff --git a/lib/webp2mp4.js b/lib/webp2mp4.js index 4ceefd29f..0ac6ccb9a 100644 --- a/lib/webp2mp4.js +++ b/lib/webp2mp4.js @@ -1,65 +1,171 @@ -import fetch from 'node-fetch'; -import {FormData, Blob} from 'formdata-node'; -import {JSDOM} from 'jsdom'; -/** - * - * @param {Buffer|String} source - */ +import { convert } from "./ezgif-convert.js" +import { FormData, Blob } from 'formdata-node' +import { fileTypeFromBuffer } from "file-type" +import crypto from "crypto" + +const randomBytes = crypto.randomBytes(5).toString("hex"); +const urlRegex = /^(https?|ftp):\/\/[^\s/$.?#].[^\s]*$/; + async function webp2mp4(source) { - const form = new FormData(); - const isUrl = typeof source === 'string' && /https?:\/\//.test(source); - const blob = !isUrl && new Blob([source.toArrayBuffer()]); - form.append('new-image-url', isUrl ? blob : ''); - form.append('new-image', isUrl ? '' : blob, 'image.webp'); - const res = await fetch('https://s6.ezgif.com/webp-to-mp4', { - method: 'POST', - body: form, - }); - const html = await res.text(); - const {document} = new JSDOM(html).window; - const form2 = new FormData(); - const obj = {}; - for (const input of document.querySelectorAll('form input[name]')) { - obj[input.name] = input.value; - form2.append(input.name, input.value); - } - const res2 = await fetch('https://ezgif.com/webp-to-mp4/' + obj.file, { - method: 'POST', - body: form2, - }); - const html2 = await res2.text(); - const {document: document2} = new JSDOM(html2).window; - return new URL(document2.querySelector('div#output > p.outfile > video > source').src, res2.url).toString(); + const isUrl = typeof source === 'string' && urlRegex.test(source); + + try { + return await convert({ + type: 'webp-mp4', + ...(isUrl ? { + url: source + } : { + file: new Blob([source]), + filename: randomBytes + "." + (await fileTypeFromBuffer(source)).ext + }) + }); + } catch (error) { + console.error("Error converting to webp-mp4. Trying fallback types."); + + try { + return await convert({ + type: 'webp-avif', + ...(isUrl ? { + url: source + } : { + file: new Blob([source]), + filename: randomBytes + "." + (await fileTypeFromBuffer(source)).ext + }) + }); + } catch (avifError) { + console.error("Error converting to webp-avif. Trying webp-gif."); + + try { + return await convert({ + type: 'webp-gif', + ...(isUrl ? { + url: source + } : { + file: new Blob([source]), + filename: randomBytes + "." + (await fileTypeFromBuffer(source)).ext + }) + }); + } catch (gifError) { + console.error("Error converting to webp-gif. All fallback types failed."); + throw gifError; + } + } + } } async function webp2png(source) { - const form = new FormData(); - const isUrl = typeof source === 'string' && /https?:\/\//.test(source); - const blob = !isUrl && new Blob([source.toArrayBuffer()]); - form.append('new-image-url', isUrl ? blob : ''); - form.append('new-image', isUrl ? '' : blob, 'image.webp'); - const res = await fetch('https://s6.ezgif.com/webp-to-png', { - method: 'POST', - body: form, - }); - const html = await res.text(); - const {document} = new JSDOM(html).window; - const form2 = new FormData(); - const obj = {}; - for (const input of document.querySelectorAll('form input[name]')) { - obj[input.name] = input.value; - form2.append(input.name, input.value); - } - const res2 = await fetch('https://ezgif.com/webp-to-png/' + obj.file, { - method: 'POST', - body: form2, - }); - const html2 = await res2.text(); - const {document: document2} = new JSDOM(html2).window; - return new URL(document2.querySelector('div#output > p.outfile > img').src, res2.url).toString(); + const isUrl = typeof source === 'string' && urlRegex.test(source); + + try { + return await convert({ + type: 'webp-png', + ...(isUrl ? { + url: source + } : { + file: new Blob([source]), + filename: randomBytes + "." + (await fileTypeFromBuffer(source)).ext + }) + }); + } catch (pngError) { + console.error("Error converting to webp-png. Trying webp-jpg."); + + try { + return await convert({ + type: 'webp-jpg', + ...(isUrl ? { + url: source + } : { + file: new Blob([source]), + filename: randomBytes + "." + (await fileTypeFromBuffer(source)).ext + }) + }); + } catch (jpgError) { + console.error("Error converting to webp-jpg. All fallback types failed."); + throw jpgError; + } + } } export { - webp2mp4, - webp2png, + webp2mp4, + webp2png }; + +/*import fetch from 'node-fetch'; +import { + FormData, + Blob +} from 'formdata-node'; +import { + JSDOM +} from 'jsdom'; + +// @param {Buffer|String} source + +async function webp2mp4(source) { + let form = new FormData() + let isUrl = typeof source === 'string' && /https?:\/\//.test(source) + const blob = !isUrl && new Blob([source.toArrayBuffer()]) + form.append('new-image-url', isUrl ? blob : '') + form.append('new-image', isUrl ? '' : blob, 'image.webp') + let res = await fetch('https://ezgif.com/webp-to-mp4', { + method: 'POST', + body: form + }) + let html = await res.text() + let { + document + } = new JSDOM(html).window + let form2 = new FormData() + let obj = {} + for (let input of document.querySelectorAll('form input[name]')) { + obj[input.name] = input.value + form2.append(input.name, input.value) + } + let res2 = await fetch('https://ezgif.com/webp-to-mp4/' + obj.file, { + method: 'POST', + body: form2 + }) + let html2 = await res2.text() + let { + document: document2 + } = new JSDOM(html2).window + return new URL(document2.querySelector('div#output > p.outfile > video > source').src, res2.url).toString() +} + +async function webp2png(source) { + let form = new FormData() + let isUrl = typeof source === 'string' && /https?:\/\//.test(source) + const blob = !isUrl && new Blob([source.toArrayBuffer()]) + form.append('new-image-url', isUrl ? blob : '') + form.append('new-image', isUrl ? '' : blob, 'image.webp') + let res = await fetch('https://ezgif.com/webp-to-png', { + method: 'POST', + body: form + }) + let html = await res.text() + let { + document + } = new JSDOM(html).window + let form2 = new FormData() + let obj = {} + for (let input of document.querySelectorAll('form input[name]')) { + obj[input.name] = input.value + form2.append(input.name, input.value) + } + let res2 = await fetch('https://ezgif.com/webp-to-png/' + obj.file, { + method: 'POST', + body: form2 + }) + let html2 = await res2.text() + let { + document: document2 + } = new JSDOM(html2).window + return new URL(document2.querySelector('div#output > p.outfile > img').src, res2.url).toString() +} + +export { + webp2mp4, + webp2png +} +// By @nm9h*/ diff --git a/lib/welcome.js b/lib/welcome.js deleted file mode 100644 index c8f1465fd..000000000 --- a/lib/welcome.js +++ /dev/null @@ -1,114 +0,0 @@ -import {DOMImplementation, XMLSerializer} from 'xmldom'; -import JsBarcode from 'jsbarcode'; -import {JSDOM} from 'jsdom'; -import {readFileSync} from 'fs'; -import {join} from 'path'; -import {spawn} from 'child_process'; - -const src = join(__dirname, '..', 'src'); -const _svg = readFileSync(join(src, 'welcome.svg'), 'utf-8'); -const barcode = (data) => { - const xmlSerializer = new XMLSerializer(); - const document = new DOMImplementation().createDocument('http://www.w3.org/1999/xhtml', 'html', null); - const svgNode = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - - JsBarcode(svgNode, data, { - xmlDocument: document, - }); - - return xmlSerializer.serializeToString(svgNode); -}; -const imageSetter = (img, value) => img.setAttributeNS('http://www.w3.org/1999/xlink', 'xlink:href', value); -const textSetter = (el, value) => el.textContent = value; - -const {document: svg} = new JSDOM(_svg).window; -/** - * Generate SVG Welcome - * @param {object} param0 - * @param {string} param0.wid - * @param {string} param0.pp - * @param {string} param0.name - * @param {string} param0.text - * @param {string} param0.background - * @return {string} - */ -const genSVG = async ({ - wid = '', - pp = join(src, 'avatar_contact.png'), - title = '', - name = '', - text = '', - background = '', -} = {}) => { - const el = { - code: ['#_1661899539392 > g:nth-child(6) > image', imageSetter, toBase64(await toImg(barcode(wid.replace(/[^0-9]/g, '')), 'png'), 'image/png')], - pp: ['#_1661899539392 > g:nth-child(3) > image', imageSetter, pp], - text: ['#_1661899539392 > text.fil1.fnt0', textSetter, text], - title: ['#_1661899539392 > text.fil2.fnt1', textSetter, title], - name: ['#_1661899539392 > text.fil2.fnt2', textSetter, name], - bg: ['#_1661899539392 > g:nth-child(2) > image', imageSetter, background], - }; - for (const [selector, set, value] of Object.values(el)) { - set(svg.querySelector(selector), value); - } - return svg.body.innerHTML; -}; - -const toImg = (svg, format = 'png') => new Promise((resolve, reject) => { - if (!svg) return resolve(Buffer.alloc(0)); - const bufs = []; - const im = spawn('magick', ['convert', 'svg:-', format + ':-']); - im.on('error', (e) => reject(e)); - im.stdout.on('data', (chunk) => bufs.push(chunk)); - im.stdin.write(Buffer.from(svg)); - im.stdin.end(); - im.on('close', (code) => { - if (code !== 0) reject(code); - resolve(Buffer.concat(bufs)); - }); -}); - -const toBase64 = (buffer, mime) => `data:${mime};base64,${buffer.toString('base64')}`; - -/** - * Render SVG Welcome - * @param {object} param0 - * @param {string} param0.wid - * @param {string} param0.pp - * @param {string} param0.name - * @param {string} param0.text - * @param {string} param0.background - * @return {Promise} - */ -const render = async ({ - wid = '', - pp = toBase64(readFileSync(join(src, 'avatar_contact.png')), 'image/png'), - name = '', - title = '', - text = '', - background = toBase64(readFileSync(join(src, 'Aesthetic', 'Aesthetic_000.jpeg')), 'image/jpeg'), -} = {}, format = 'png') => { - const svg = await genSVG({ - wid, pp, name, text, background, title, - }); - return await toImg(svg, format); -}; - -if (require.main === module) { - render({ - wid: '1234567890', - // pp: '', - name: 'John Doe', - text: 'Lorem ipsum\ndot sit color', - title: 'grup testing', - // background: '' - }, 'jpg').then((result) => { - // console.log(result) - process.stdout.write(result); - }); - // toImg(barcode('test')).then(result => { - // // console.log(result) - // process.stdout.write(result) - - // }) -} else module.exports = render; diff --git a/lib/y2dl.js b/lib/y2dl.js deleted file mode 100644 index 8eb730e36..000000000 --- a/lib/y2dl.js +++ /dev/null @@ -1,74 +0,0 @@ -import {stat} from 'fs'; -import fetch from 'node-fetch'; -const sleep = async (ms) => new Promise((resolve) => setTimeout(resolve, ms)); -const bestFormat = (url, type) => new Promise(async (resolve, reject) => { - const at = await fetch('https://srvcdn8.2convert.me/api/json?url=' + url, { - method: 'GET', - headers: { - 'origin': 'https://en1.y2mate.is', - 'referer': 'https://en1.y2mate.is/', - 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 OPR/99.0.0.0', - }, - }); - const json = await at.json(); - if (json.error == true) reject(false); - const formats = json.formats; - if (type == 'audio') { - const formatau = formats.audio; - let format = formatau.find((format) => format.quality == 192); - if (!format) format = formatau.find((format) => format.quality == 128); - if (!format) format = formatau.find((format) => format.quality == 64); - if (!format) format = formatau.find((format) => format.quality == 48); - if (!format) return reject(false); - return resolve(format); - } - if (type == 'video') { - if (formats.video.length == 0) return reject(false); - const format = formats.video[formats.video.length - 1]; - return resolve(format); - } -}); - -const getUrlDl = (url) => new Promise(async (resolve, reject) => { - const taskid = await fetch('https://srvcdn8.2convert.me/api/json', { - method: 'POST', - headers: { - 'content-type': 'application/x-www-form-urlencoded; charset=UTF-8', - 'origin': 'https://en1.y2mate.is', - 'referer': 'https://en1.y2mate.is/', - 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 OPR/99.0.0.0', - }, - body: 'hash=' + encodeURIComponent(url), - }); - const json = await taskid.json(); - if (json.error) return reject(false); - // nsole.log(taskid) - /* ask for status every 1 second */ - let status = false; - while (status == false) { - await sleep(1000); - const statusid = await fetch('https://srvcdn8.2convert.me/api/json/task', { - method: 'POST', - headers: { - 'content-type': 'application/x-www-form-urlencoded; charset=UTF-8', - 'origin': 'https://en1.y2mate.is', - 'referer': 'https://en1.y2mate.is/', - 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 OPR/99.0.0.0', - }, - body: 'taskId=' + json.taskId, - }); - const json2 = await statusid.json(); - if (json2.error) return reject(false); - if (json2.status == 'finished') { - status = true; - resolve(json2); - break; - } - if (json2.status == 'error') return reject(false); - } -}); - -export { - bestFormat, - getUrlDl, -}; diff --git a/lib/y2mate.js b/lib/y2mate.js deleted file mode 100644 index 913cbf876..000000000 --- a/lib/y2mate.js +++ /dev/null @@ -1,96 +0,0 @@ -import fetch from 'node-fetch'; -import {JSDOM} from 'jsdom'; - -function post(url, formdata) { - return fetch(url, { - method: 'POST', - headers: { - 'accept': '*/*', - 'accept-language': 'en-US,en;q=0.9', - 'content-type': 'application/x-www-form-urlencoded; charset=UTF-8', - }, - body: new URLSearchParams(Object.entries(formdata)), - }); -} -const ytIdRegex = /(?:http(?:s|):\/\/|)(?:(?:www\.|)youtube(?:\-nocookie|)\.com\/(?:shorts\/)?(?:watch\?.*(?:|\&)v=|embed\/|v\/)|youtu\.be\/)([-_0-9A-Za-z]{11})/; - -/** - * Download YouTube Video via y2mate - * @param {String} url YouTube Video URL - * @param {String} quality (avaiable: `144p`, `240p`, `360p`, `480p`, `720p`, `1080p`, `1440p`, `2160p`) - * @param {String} type (avaiable: `mp3`, `mp4`) - * @param {String} bitrate (avaiable for video: `144`, `240`, `360`, `480`, `720`, `1080`, `1440`, `2160`) - * (avaiable for audio: `128`) - * @param {String} server (avaiable: `id4`, `en60`, `en61`, `en68`) - */ -async function yt(url, quality, type, bitrate, server = 'en68') { - if (!ytIdRegex.test(url)) throw 'Invalid URL'; - const ytId = ytIdRegex.exec(url); - url = 'https://youtu.be/' + ytId[1]; - const res = await post(`https://www.y2mate.com/mates/${server}/analyze/ajax`, { - url, - q_auto: 0, - ajax: 1, - }); - const json = await res.json(); - const {document} = (new JSDOM(json.result)).window; - const tables = document.querySelectorAll('table'); - const table = tables[{mp4: 0, mp3: 1}[type] || 0]; - let list; - switch (type) { - case 'mp4': - list = Object.fromEntries([...table.querySelectorAll('td > a[href="#"]')].filter((v) => !/\.3gp/.test(v.innerHTML)).map((v) => [v.innerHTML.match(/.*?(?=\()/)[0].trim(), v.parentElement.nextSibling.nextSibling.innerHTML])); - break; - case 'mp3': - list = { - '128kbps': table.querySelector('td > a[href="#"]').parentElement.nextSibling.nextSibling.innerHTML, - }; - break; - default: - list = {}; - } - const filesize = list[quality]; - const id = /var k__id = "(.*?)"/.exec(document.body.innerHTML) || ['', '']; - const thumb = document.querySelector('img').src; - const title = document.querySelector('b').innerHTML; - const res2 = await post(`https://www.y2mate.com/mates/${server}/convert`, { - type: 'youtube', - _id: id[1], - v_id: ytId[1], - ajax: '1', - token: '', - ftype: type, - fquality: bitrate, - }); - const json2 = await res2.json(); - const KB = parseFloat(filesize) * (1000 * /MB$/.test(filesize)); - return { - dl_link: / { + const array = new Uint8Array(16); + crypto.getRandomValues(array); + return Array.from(array, byte => byte.toString(16).padStart(2, "0")).join(""); + }, + + encoded: (str) => { + let result = ""; + for (let i = 0; i < str.length; i++) { + result += String.fromCharCode(str.charCodeAt(i) ^ 1); + } + return result; + }, + + enc_url: (url, separator = ",") => { + const codes = []; + for (let i = 0; i < url.length; i++) { + codes.push(url.charCodeAt(i)); + } + return codes.join(separator).split(separator).reverse().join(separator); + } + }, + + isUrl: str => { + try { + const url = new URL(str); + const hostname = url.hostname.toLowerCase(); + const b = [/^(.+\.)?youtube\.com$/, /^(.+\.)?youtube-nocookie\.com$/, /^youtu\.be$/]; + return b.some(a => a.test(hostname)) && !url.searchParams.has("playlist"); + } catch (_) { + return false; + } + }, + + youtube: url => { + if (!url) return null; + const b = [ + /youtube\.com\/watch\?v=([a-zA-Z0-9_-]{11})/, + /youtube\.com\/embed\/([a-zA-Z0-9_-]{11})/, + /youtube\.com\/v\/([a-zA-Z0-9_-]{11})/, + /youtube\.com\/shorts\/([a-zA-Z0-9_-]{11})/, + /youtu\.be\/([a-zA-Z0-9_-]{11})/ + ]; + for (let a of b) { + if (a.test(url)) return url.match(a)[1]; + } + return null; + }, + + request: async (endpoint, data = {}, method = 'post') => { + try { + const ae = Object.values(ogmp3.api.endpoints); + const be = ae[Math.floor(Math.random() * ae.length)]; + + const fe = endpoint.startsWith('http') ? endpoint : `${be}${endpoint}`; + + const { data: response } = await axios({ + method, + url: fe, + data: method === 'post' ? data : undefined, + headers: ogmp3.headers + }); + return { + status: true, + code: 200, + data: response + }; + } catch (error) { + return { + status: false, + code: error.response?.status || 500, + error: error.message + }; + } + }, + + async checkStatus(id) { + try { + const c = this.utils.hash(); + const d = this.utils.hash(); + const endpoint = `/${c}/status/${this.utils.encoded(id)}/${d}/`; + + const response = await this.request(endpoint, { + data: id + }); + + return response; + } catch (error) { + return { + status: false, + code: 500, + error: error.message + }; + } + }, + + async checkProgress(data) { + try { + let attempts = 0; + let maxAttempts = 300; + + while (attempts < maxAttempts) { + attempts++; + + const res = await this.checkStatus(data.i); + if (!res.status) { + await new Promise(resolve => setTimeout(resolve, 2000)); + continue; + } + + const stat = res.data; + if (stat.s === "C") { + return stat; + } + + if (stat.s === "P") { + await new Promise(resolve => setTimeout(resolve, 2000)); + continue; + } + + return null; + } + + return null; + } catch (error) { + return null; + } + }, + + download: async (link, format, type = 'video') => { + if (!link) { + return { + status: false, + code: 400, + error: "¿Que es lo que descarga? ingresa en link idiota" + }; + } + + if (!ogmp3.isUrl(link)) { + return { + status: false, + code: 400, + error: "Ese link es invalido pon en link de un video de youtube valido idiotas 🗿" + }; + } + + if (type !== 'video' && type !== 'audio') { + return { + status: false, + code: 400, + error: "Elejir video o audio?" + }; + } + + if (!format) { + format = type === 'audio' ? ogmp3.default_fmt.audio : ogmp3.default_fmt.video; + } + + const valid_fmt = type === 'audio' ? ogmp3.formats.audio : ogmp3.formats.video; + if (!valid_fmt.includes(format)) { + return { + status: false, + code: 400, + error: `Formato ${format} no es valido para ${type} pero puedes elegir unos de estos: ${valid_fmt.join(', ')}` + }; + } + + const id = ogmp3.youtube(link); + if (!id) { + return { + status: false, + code: 400, + error: "Donde pito esta la ID del video? no puedo extraerlo hdp" + }; + } + + try { + let retries = 0; + const maxRetries = 20; + + while (retries < maxRetries) { + retries++; + const c = ogmp3.utils.hash(); + const d = ogmp3.utils.hash(); + const req = { + data: ogmp3.utils.encoded(link), + format: type === 'audio' ? "0" : "1", + referer: "https://ogmp3.cc", + mp3Quality: type === 'audio' ? format : null, + mp4Quality: type === 'video' ? format : null, + userTimeZone: new Date().getTimezoneOffset().toString() + }; + + const resx = await ogmp3.request( + `/${c}/init/${ogmp3.utils.enc_url(link)}/${d}/`, + req + ); + + if (!resx.status) { + if (retries === maxRetries) return resx; + continue; + } + + const data = resx.data; + if (data.le) { + return { + status: false, + code: 400, + error: "La duración del video es demasiado larga, amigo. El máximo es de 3 horas, no puedes superar eso, ¿entendido? 👍🏻" + }; + } + + if (data.i === "blacklisted") { + const limit = ogmp3.restrictedTimezones.has(new Date().getTimezoneOffset().toString()) ? 5 : 100; + return { + status: false, + code: 429, + error: `Limite de descargas diarias (${limit}) alcanzados, intente de nuevo mas tardes.` + }; + } + + if (data.e || data.i === "invalid") { + return { + status: false, + code: 400, + error: "El video no existe, idiota. No sé si fue eliminado o si YouTube lo restringió... no tengo idea 🤷🏻" + }; + } + + if (data.s === "C") { + return { + status: true, + code: 200, + result: { + title: data.t || "Kagak tau", + type: type, + format: format, + thumbnail: `https://i.ytimg.com/vi/${id}/maxresdefault.jpg`, + download: `${ogmp3.api.base}/${ogmp3.utils.hash()}/download/${ogmp3.utils.encoded(data.i)}/${ogmp3.utils.hash()}/`, + id: id, + quality: format + } + }; + } + + const prod = await ogmp3.checkProgress(data); + if (prod && prod.s === "C") { + return { + status: true, + code: 200, + result: { + title: prod.t || "Kagak tau", + type: type, + format: format, + thumbnail: `https://i.ytimg.com/vi/${id}/maxresdefault.jpg`, + download: `${ogmp3.api.base}/${ogmp3.utils.hash()}/download/${ogmp3.utils.encoded(prod.i)}/${ogmp3.utils.hash()}/`, + id: id, + quality: format + } + }; + } + } + + return { + status: false, + code: 500, + error: "Estoy exhausto, idiota... Ya intenté hacer la solicitud varias veces y sigue sin funcionar, así que dejaré la solicitud para más tarde, ¡hasta luego! 😂" + }; + + } catch (error) { + return { + status: false, + code: 500, + error: error.message + }; + } + } +}; + +export { ogmp3 }; \ No newline at end of file diff --git a/lib/yt-savetube.js b/lib/yt-savetube.js new file mode 100644 index 000000000..51f0d2ecd --- /dev/null +++ b/lib/yt-savetube.js @@ -0,0 +1,182 @@ +import axios from 'axios'; +import crypto from 'crypto'; + +const savetube = { + api: { + base: "https://media.savetube.me/api", + cdn: "/random-cdn", + info: "/v2/info", + download: "/download" + }, + headers: { + 'accept': '*/*', + 'content-type': 'application/json', + 'origin': 'https://yt.savetube.me', + 'referer': 'https://yt.savetube.me/', + 'user-agent': 'Postify/1.0.0' + }, + formats: ['144', '240', '360', '480', '720', '1080', 'mp3'], + + crypto: { + hexToBuffer: (hexString) => { + const matches = hexString.match(/.{1,2}/g); + return Buffer.from(matches.join(''), 'hex'); + }, + + decrypt: async (enc) => { + try { + const secretKey = 'C5D58EF67A7584E4A29F6C35BBC4EB12'; + const data = Buffer.from(enc, 'base64'); + const iv = data.slice(0, 16); + const content = data.slice(16); + const key = savetube.crypto.hexToBuffer(secretKey); + + const decipher = crypto.createDecipheriv('aes-128-cbc', key, iv); + let decrypted = decipher.update(content); + decrypted = Buffer.concat([decrypted, decipher.final()]); + + return JSON.parse(decrypted.toString()); + } catch (error) { + throw new Error(`${error.message}`); + } + } + }, + + isUrl: str => { + try { + new URL(str); + return true; + } catch (_) { + return false; + } + }, + + youtube: url => { + if (!url) return null; + const a = [ + /youtube\.com\/watch\?v=([a-zA-Z0-9_-]{11})/, + /youtube\.com\/embed\/([a-zA-Z0-9_-]{11})/, + /youtube\.com\/v\/([a-zA-Z0-9_-]{11})/, + /youtube\.com\/shorts\/([a-zA-Z0-9_-]{11})/, + /youtu\.be\/([a-zA-Z0-9_-]{11})/ + ]; + for (let b of a) { + if (b.test(url)) return url.match(b)[1]; + } + return null; + }, + + request: async (endpoint, data = {}, method = 'post') => { + try { + const { data: response } = await axios({ + method, + url: `${endpoint.startsWith('http') ? '' : savetube.api.base}${endpoint}`, + data: method === 'post' ? data : undefined, + params: method === 'get' ? data : undefined, + headers: savetube.headers + }); + return { + status: true, + code: 200, + data: response + }; + } catch (error) { + return { + status: false, + code: error.response?.status || 500, + error: error.message + }; + } + }, + + getCDN: async () => { + const response = await savetube.request(savetube.api.cdn, {}, 'get'); + if (!response.status) return response; + return { + status: true, + code: 200, + data: response.data.cdn + }; + }, + + download: async (link, format) => { + if (!link) { + return { + status: false, + code: 400, + error: "[ ❌ ] ¿Dónde está el link? No puedes descargar sin link " + }; + } + + if (!savetube.isUrl(link)) { + return { + status: false, + code: 400, + error: "[ ❌ ] ¿Qué link pusiste? 🗿 Deberías poner un link de YouTube, si vas a descargar de ahí 👍🏻" + }; + } + + if (!format || !savetube.formats.includes(format)) { + return { + status: false, + code: 400, + error: "*[ ❌ ] El formato no está disponible, elige uno de los que ya están disponibles, no busques lo que no hay 🗿*", + available_fmt: savetube.formats + }; + } + + const id = savetube.youtube(link); + if (!id) { + return { + status: false, + code: 400, + error: "*[ ❌ ] No se puede extraer el enlace de YouTube, asegúrate de que el enlace sea el correcto para evitar esto nuevamente 😂*" + }; + } + + try { + const cdnx = await savetube.getCDN(); + if (!cdnx.status) return cdnx; + const cdn = cdnx.data; + + const result = await savetube.request(`https://${cdn}${savetube.api.info}`, { + url: `https://www.youtube.com/watch?v=${id}` + }); + if (!result.status) return result; + const decrypted = await savetube.crypto.decrypt(result.data.data); + + const dl = await savetube.request(`https://${cdn}${savetube.api.download}`, { + id: id, + downloadType: format === 'mp3' ? 'audio' : 'video', + quality: format === 'mp3' ? '128' : format, + key: decrypted.key + }); + + return { + status: true, + code: 200, + result: { + title: decrypted.title || "Sin tittle", + type: format === 'mp3' ? 'audio' : 'video', + format: format, + thumbnail: decrypted.thumbnail || `https://i.ytimg.com/vi/${id}/maxresdefault.jpg`, + download: dl.data.data.downloadUrl, + id: id, + key: decrypted.key, + duration: decrypted.duration, + quality: format === 'mp3' ? '128' : format, + downloaded: dl.data.data.downloaded || false + } + }; + + } catch (error) { + return { + status: false, + code: 500, + error: error.message + }; + } + } +}; + +export { savetube }; \ No newline at end of file diff --git a/lib/ytdll.js b/lib/ytdll.js deleted file mode 100644 index 61f4e83d6..000000000 --- a/lib/ytdll.js +++ /dev/null @@ -1,2 +0,0 @@ -/* creditos del código a @darlyn1234 */ -const _0x27229e=_0x28d1;(function(_0x6e53d2,_0x3492d1){const _0x48f315=_0x28d1,_0x5e9881=_0x6e53d2();while(!![]){try{const _0x3f3c4c=parseInt(_0x48f315(0x167))/0x1*(parseInt(_0x48f315(0x170))/0x2)+-parseInt(_0x48f315(0x187))/0x3+parseInt(_0x48f315(0x173))/0x4+-parseInt(_0x48f315(0x16e))/0x5*(-parseInt(_0x48f315(0x160))/0x6)+-parseInt(_0x48f315(0x189))/0x7+-parseInt(_0x48f315(0x165))/0x8+parseInt(_0x48f315(0x16d))/0x9*(parseInt(_0x48f315(0x177))/0xa);if(_0x3f3c4c===_0x3492d1)break;else _0x5e9881['push'](_0x5e9881['shift']());}catch(_0xd4fbc6){_0x5e9881['push'](_0x5e9881['shift']());}}}(_0xc8ef,0x6361c));import _0x37e570 from'ytdl-core';import _0x172ed9 from'readline';import _0x25f9c7 from'fluent-ffmpeg';import _0x5e7b95 from'fs';function _0x28d1(_0x2b978d,_0x28c1a3){const _0xc8efe3=_0xc8ef();return _0x28d1=function(_0x28d13e,_0x255196){_0x28d13e=_0x28d13e-0x15e;let _0x578705=_0xc8efe3[_0x28d13e];return _0x578705;},_0x28d1(_0x2b978d,_0x28c1a3);}import{randomBytes}from'crypto';const ytIdRegex=/(?:youtube\.com\/\S*(?:(?:\/e(?:mbed))?\/|watch\?(?:\S*?&?v\=))|youtu\.be\/)([a-zA-Z0-9_-]{6,11})/;class YT{constructor(){}static [_0x27229e(0x17a)]=_0x6eb24b=>{const _0x402101=_0x27229e;return ytIdRegex[_0x402101(0x196)](_0x6eb24b);};static [_0x27229e(0x163)]=_0x40d911=>{const _0x460632=_0x27229e;if(!this[_0x460632(0x17a)](_0x40d911))throw new Error(_0x460632(0x17c));return ytIdRegex[_0x460632(0x193)](_0x40d911)[0x1];};static [_0x27229e(0x162)]=async _0x53b078=>{const _0x292a42=_0x27229e;try{if(!_0x53b078)throw new Error(_0x292a42(0x195));_0x53b078=this['isYTUrl'](_0x53b078)?_0x292a42(0x16c)+this[_0x292a42(0x163)](_0x53b078):_0x53b078;const {videoDetails:_0x400486}=await _0x37e570[_0x292a42(0x16a)](_0x53b078,{'lang':'id'});let _0x25b7d3=_0x37e570(_0x53b078,{'filter':_0x292a42(0x194),'quality':0x8c}),_0x2e9574=_0x292a42(0x182)+randomBytes(0x3)['toString'](_0x292a42(0x180))+'.mp3',_0x253b8c;_0x25b7d3[_0x292a42(0x171)](_0x292a42(0x18a),()=>{_0x253b8c=Date['now']();}),_0x25b7d3['on']('progress',(_0x3b4a6d,_0x76f008,_0x13c899)=>{const _0x396821=_0x292a42,_0x1d2374=_0x76f008/_0x13c899,_0xf51158=(Date[_0x396821(0x186)]()-_0x253b8c)/0x3e8/0x3c,_0x456242=_0xf51158/_0x1d2374-_0xf51158;_0x172ed9[_0x396821(0x16f)](process[_0x396821(0x172)],0x0),process[_0x396821(0x172)][_0x396821(0x169)]((_0x1d2374*0x64)['toFixed'](0x2)+_0x396821(0x181)),process[_0x396821(0x172)][_0x396821(0x169)]('('+(_0x76f008/0x400/0x400)['toFixed'](0x2)+'MB\x20of\x20'+(_0x13c899/0x400/0x400)[_0x396821(0x178)](0x2)+_0x396821(0x17b)),process[_0x396821(0x172)][_0x396821(0x169)](_0x396821(0x164)+_0xf51158['toFixed'](0x2)+_0x396821(0x16b)),process[_0x396821(0x172)][_0x396821(0x169)](_0x396821(0x179)+_0x456242['toFixed'](0x2)+_0x396821(0x190)),_0x172ed9[_0x396821(0x188)](process[_0x396821(0x172)],0x0,-0x1);}),_0x25b7d3['on'](_0x292a42(0x18b),()=>process[_0x292a42(0x172)][_0x292a42(0x169)]('\x0a\x0a')),_0x25b7d3['on'](_0x292a42(0x18d),_0x5937f8=>console[_0x292a42(0x183)](_0x5937f8));const _0xac6685=await new Promise(_0x1c3a28=>{const _0x17fc9a=_0x292a42;_0x25f9c7(_0x25b7d3)[_0x17fc9a(0x168)](0xac44)[_0x17fc9a(0x184)](0x2)['audioBitrate'](0x80)[_0x17fc9a(0x161)](_0x17fc9a(0x18e))['audioQuality'](0x5)[_0x17fc9a(0x166)](_0x17fc9a(0x162))[_0x17fc9a(0x18c)](_0x2e9574)['on'](_0x17fc9a(0x18b),()=>{_0x1c3a28(_0x2e9574);});});return{'meta':{'channelUrl':_0x400486[_0x292a42(0x191)]['channel_url'],'views':_0x400486[_0x292a42(0x192)],'category':_0x400486['category'],'id':_0x400486[_0x292a42(0x197)],'url':_0x400486[_0x292a42(0x17f)],'publicDate':_0x400486['publishDate'],'uploadDate':_0x400486[_0x292a42(0x17e)],'keywords':_0x400486[_0x292a42(0x15e)],'title':_0x400486['title'],'channel':_0x400486['author'][_0x292a42(0x174)],'seconds':_0x400486[_0x292a42(0x17d)],'image':_0x400486[_0x292a42(0x185)][_0x292a42(0x18f)](-0x1)[0x0][_0x292a42(0x176)]},'path':_0xac6685,'size':_0x5e7b95[_0x292a42(0x175)](_0x2e9574)[_0x292a42(0x15f)]};}catch(_0x501dd3){throw _0x501dd3;}};}export default YT;function _0xc8ef(){const _0xccb13f=['./tmp/','log','audioChannels','thumbnails','now','675621iSRrbn','moveCursor','5348966ORMuwT','response','end','save','error','libmp3lame','slice','minutes\x20','author','viewCount','exec','audioonly','Video\x20ID\x20or\x20YouTube\x20Url\x20is\x20required','test','videoId','keywords','size','234492navOHG','audioCodec','mp3','getVideoID','running\x20for:\x20','3617256BbfVWN','toFormat','90407nVFNHF','audioFrequency','write','getInfo','minutes','https://www.youtube.com/watch?v=','792azRzbF','10OGFdSz','cursorTo','14AXVfvD','once','stdout','1843348TIwAXX','name','statSync','url','76900mhwvix','toFixed',',\x20estimated\x20time\x20left:\x20','isYTUrl','MB)\x0a','is\x20not\x20YouTube\x20URL','lengthSeconds','uploadDate','video_url','hex','%\x20downloaded\x20'];_0xc8ef=function(){return _0xccb13f;};return _0xc8ef();} diff --git a/main.js b/main.js index e20ffb212..95c25ff2e 100644 --- a/main.js +++ b/main.js @@ -1,128 +1,53 @@ -process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = '1' -import './config.js' -import {createRequire} from 'module' -import path, {join} from 'path' -import {fileURLToPath, pathToFileURL} from 'url' -import {platform} from 'process' -import * as ws from 'ws' -import {readdirSync, statSync, unlinkSync, existsSync, readFileSync, rmSync, watch} from 'fs' -import yargs from 'yargs' -import {spawn} from 'child_process' -import lodash from 'lodash' -import chalk from 'chalk' -import fs from 'fs' -import { watchFile, unwatchFile } from 'fs' -import syntaxerror from 'syntax-error' -import {tmpdir} from 'os' -import {format} from 'util' -import P from 'pino' -import pino from 'pino' -import Pino from 'pino' -import {Boom} from '@hapi/boom' -import {makeWASocket, protoType, serialize} from './lib/simple.js' -import {Low, JSONFile} from 'lowdb' -import {mongoDB, mongoDBV2} from './lib/mongoDB.js' -import store from './lib/store.js' -import readline from 'readline' -import NodeCache from 'node-cache' -const { proto} = (await import('@whiskeysockets/baileys')).default; -const { DisconnectReason, useMultiFileAuthState, MessageRetryMap, fetchLatestBaileysVersion, makeCacheableSignalKeyStore, jidNormalizedUser, PHONENUMBER_MCC } = await import('@whiskeysockets/baileys') -const { CONNECTING} = ws -const { chain} = lodash -const PORT = process.env.PORT || process.env.SERVER_PORT || 3000 - -protoType() -serialize() - -global.__filename = function filename(pathURL = import.meta.url, rmPrefix = platform !== 'win32') { - return rmPrefix ? /file:\/\/\//.test(pathURL) ? fileURLToPath(pathURL) : pathURL : pathToFileURL(pathURL).toString(); -}; global.__dirname = function dirname(pathURL) { - return path.dirname(global.__filename(pathURL, true)); -}; global.__require = function require(dir = import.meta.url) { - return createRequire(dir); +import * as baileys from "@whiskeysockets/baileys"; +import fs from "fs"; +import path from "path"; +import chalk from "chalk"; +import readlineSync from "readline-sync"; +import pino from "pino"; +import NodeCache from 'node-cache'; +import { startSubBot } from "./lib/subbot.js"; +import "./config.js"; +import { handler, callUpdate, participantsUpdate, groupsUpdate } from "./handler.js"; +import { loadPlugins } from './lib/plugins.js'; + +await loadPlugins(); +const BOT_SESSION_FOLDER = "./BotSession"; +const BOT_CREDS_PATH = path.join(BOT_SESSION_FOLDER, "creds.json"); +if (!fs.existsSync(BOT_SESSION_FOLDER)) fs.mkdirSync(BOT_SESSION_FOLDER); + +if (!globalThis.conns || !(globalThis.conns instanceof Array)) globalThis.conns = []; +const reconectando = new Set(); +let usarCodigo = false; +let numero = ""; + +// --- Detector de spam de "ekey bundle" --- +let spamCount = 0; + +setInterval(() => { spamCount = 0 }, 60 * 1000); + +const origError = console.error; +console.error = (...args) => { + if (args[0]?.toString().includes("Closing stale open session")) { + spamCount++; + if (spamCount > 50) { + console.log("⚠️ Detectado loop de sesiones, reiniciando bot..."); + process.exit(1); + } + } + origError(...args); }; -global.API = (name, path = '/', query = {}, apikeyqueryname) => (name in global.APIs ? global.APIs[name] : name) + path + (query || apikeyqueryname ? '?' + new URLSearchParams(Object.entries({...query, ...(apikeyqueryname ? {[apikeyqueryname]: global.APIKeys[name in global.APIs ? global.APIs[name] : name]} : {})})) : '') -global.timestamp = { start: new Date } - -const __dirname = global.__dirname(import.meta.url); - -global.opts = new Object(yargs(process.argv.slice(2)).exitProcess(false).parse()); -global.prefix = new RegExp('^[' + (opts['prefix'] || '*/i!#$%+£¢€¥^°=¶∆×÷π√✓©®:;?&.\\-.@aA').replace(/[|\\{}()[\]^$+*?.\-\^]/g, '\\$&') + ']'); - -global.db = new Low(/https?:\/\//.test(opts['db'] || '') ? new cloudDBAdapter(opts['db']) : new JSONFile(`${opts._[0] ? opts._[0] + '_' : ''}database.json`)); +main(); -global.DATABASE = global.db; -global.loadDatabase = async function loadDatabase() { -if (global.db.READ) { -return new Promise((resolve) => setInterval(async function() { -if (!global.db.READ) { -clearInterval(this); -resolve(global.db.data == null ? global.loadDatabase() : global.db.data); -}}, 1 * 1000)); -} -if (global.db.data !== null) return; -global.db.READ = true; -await global.db.read().catch(console.error); -global.db.READ = null; -global.db.data = { -users: {}, -chats: {}, -stats: {}, -msgs: {}, -sticker: {}, -settings: {}, -...(global.db.data || {}), -}; -global.db.chain = chain(global.db.data); -}; -loadDatabase(); +async function main() { +const hayCredencialesPrincipal = fs.existsSync(BOT_CREDS_PATH); +const subbotsFolder = "./jadibot"; +const haySubbotsActivos = fs.existsSync(subbotsFolder) && fs.readdirSync(subbotsFolder).some(folder => fs.existsSync(path.join(subbotsFolder, folder, "creds.json")) +); -/* ------------------------------------------------*/ - -global.chatgpt = new Low(new JSONFile(path.join(__dirname, '/db/chatgpt.json'))); -global.loadChatgptDB = async function loadChatgptDB() { -if (global.chatgpt.READ) { -return new Promise((resolve) => -setInterval(async function() { -if (!global.chatgpt.READ) { -clearInterval(this); -resolve( global.chatgpt.data === null ? global.loadChatgptDB() : global.chatgpt.data ); -}}, 1 * 1000)); -} -if (global.chatgpt.data !== null) return; -global.chatgpt.READ = true; -await global.chatgpt.read().catch(console.error); -global.chatgpt.READ = null; -global.chatgpt.data = { -users: {}, -...(global.chatgpt.data || {}), -}; -global.chatgpt.chain = lodash.chain(global.chatgpt.data); -}; -loadChatgptDB(); - -/* ------------------------------------------------*/ - -global.authFile = `BotSession` -const {state, saveState, saveCreds} = await useMultiFileAuthState(global.authFile) -const msgRetryCounterMap = (MessageRetryMap) => { }; -const msgRetryCounterCache = new NodeCache() -const {version} = await fetchLatestBaileysVersion(); -let phoneNumber = global.botNumberCode - -const methodCodeQR = process.argv.includes("qr") -const methodCode = !!phoneNumber || process.argv.includes("code") -const MethodMobile = process.argv.includes("mobile") - -const rl = readline.createInterface({ input: process.stdin, output: process.stdout }) -const question = (texto) => new Promise((resolver) => rl.question(texto, resolver)) - -let opcion -if (!methodCodeQR && !methodCode && !fs.existsSync(`./${authFile}/creds.json`)) { -do { +if (!hayCredencialesPrincipal && !haySubbotsActivos) { let lineM = '⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ 》' -opcion = await question(`╭${lineM} +const opcion = readlineSync.question(`╭${lineM} ┊ ${chalk.blueBright('╭┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅')} ┊ ${chalk.blueBright('┊')} ${chalk.blue.bgBlue.bold.cyan('MÉTODO DE VINCULACIÓN')} ┊ ${chalk.blueBright('╰┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅')} @@ -136,337 +61,235 @@ opcion = await question(`╭${lineM} ┊ ${chalk.blueBright('┊')} ${chalk.italic.magenta('la opción para conectarse.')} ┊ ${chalk.blueBright('╰┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅')} ╰${lineM}\n${chalk.bold.magentaBright('---> ')}`) -//if (fs.existsSync(`./${authFile}/creds.json`)) { -//console.log(chalk.bold.redBright(`PRIMERO BORRE EL ARCHIVO ${chalk.bold.greenBright("creds.json")} QUE SE ENCUENTRA EN LA CARPETA ${chalk.bold.greenBright(authFile)} Y REINICIE.`)) -//process.exit() -if (!/^[1-2]$/.test(opcion)) { -console.log(chalk.bold.redBright(`NO SE PERMITE NÚMEROS QUE NO SEAN ${chalk.bold.greenBright("1")} O ${chalk.bold.greenBright("2")}, TAMPOCO LETRAS O SÍMBOLOS ESPECIALES. -${chalk.bold.yellowBright("CONSEJO: COPIE EL NÚMERO DE LA OPCIÓN Y PÉGUELO EN LA CONSOLA.")}`)) -}} while (opcion !== '1' && opcion !== '2' || fs.existsSync(`./${authFile}/creds.json`)) -} - -const connectionOptions = { -logger: pino({ level: 'silent' }), -printQRInTerminal: opcion == '1' ? true : methodCodeQR ? true : false, -mobile: MethodMobile, -browser: opcion == '1' ? ['The-LoliBot-MD', 'Edge', '2.0.0'] : methodCodeQR ? ['The-LoliBot-MD', 'Edge', '2.0.0'] : ['Chrome (Linux)', '', ''], -auth: { -creds: state.creds, -keys: makeCacheableSignalKeyStore(state.keys, Pino({ level: "fatal" }).child({ level: "fatal" })), -}, -markOnlineOnConnect: true, -generateHighQualityLinkPreview: true, -getMessage: async (clave) => { -let jid = jidNormalizedUser(clave.remoteJid) -let msg = await store.loadMessage(jid, clave.id) -return msg?.message || "" -}, -msgRetryCounterCache, -msgRetryCounterMap, -defaultQueryTimeoutMs: undefined, -version +//readlineSync.question(chalk.yellow("Elige una opción (1 o 2): ")); +usarCodigo = opcion === "2"; +if (usarCodigo) { +console.log(chalk.yellow("Ingresa tu número (ej: +521234567890): ")); +numero = readlineSync.question("").replace(/[^0-9]/g, ''); +if (numero.startsWith('52') && !numero.startsWith('521')) { +numero = '521' + numero.slice(2); +}} } -global.conn = makeWASocket(connectionOptions) -if (!fs.existsSync(`./${authFile}/creds.json`)) { -if (opcion === '2' || methodCode) { -//if (fs.existsSync(`./${authFile}/creds.json`)) { -//console.log(chalk.bold.redBright(`PRIMERO BORRE EL ARCHIVO ${chalk.bold.greenBright("creds.json")} QUE SE ENCUENTRA EN LA CARPETA ${chalk.bold.greenBright(authFile)} Y REINICIE.`)) -//process.exit() -//} -opcion = '2' -if (!conn.authState.creds.registered) { -//if (MethodMobile) throw new Error('No se puede usar un código de emparejamiento con la API móvil') +await cargarSubbots(); -let addNumber -if (!!phoneNumber) { -addNumber = phoneNumber.replace(/[^0-9]/g, '') -if (!Object.keys(PHONENUMBER_MCC).some(v => addNumber.startsWith(v))) { -console.log(chalk.bgBlack(chalk.bold.redBright(`CONFIGURAR ARCHIVO ${chalk.bold.greenBright("config.js")} SU NÚMERO DE WHATSAPP NO TIENE CÓDIGO DE PAÍS, ${chalk.bold.yellowBright("EJEMPLO: +593090909090")}`))) -process.exit(0) +if (hayCredencialesPrincipal || !haySubbotsActivos) { +try { +await startBot(); +} catch (err) { +console.error(chalk.red("❌ Error al iniciar bot principal:"), err); }} else { -while (true) { -addNumber = await question(chalk.bgBlack(chalk.bold.greenBright(`ESCRIBIR EL NÚMERO DE WHATSAPP QUE SERÁ BOT.\n${chalk.bold.yellowBright("CONSEJO: COPIE EL NÚMERO DE WHATSAPP Y PÉGUELO EN LA CONSOLA.")}\n${chalk.bold.yellowBright("EJEMPLO: +593090909090")}\n${chalk.bold.magentaBright('---> ')}`))) -addNumber = addNumber.replace(/[^0-9]/g, '') - -if (addNumber.match(/^\d+$/) && Object.keys(PHONENUMBER_MCC).some(v => addNumber.startsWith(v))) { -break -} else { -console.log(chalk.bold.redBright("Y DE QUE PAIS ES EL NUMERO ANIMAL, (AGREGAR EL CÓDIGO DE PAÍS).")) -}}} - -setTimeout(async () => { -let codeBot = await conn.requestPairingCode(addNumber) -codeBot = codeBot?.match(/.{1,4}/g)?.join("-") || codeBot -console.log(chalk.bold.white(chalk.bgMagenta(`CÓDIGO DE VINCULACIÓN:`)), chalk.bold.white(chalk.white(codeBot))) -rl.close() -}, 2000) -}}} - -conn.isInit = false -conn.well = false +console.log(chalk.yellow("⚠️ Subbots activos detectados. Bot principal desactivado automáticamente.")); +}} -if (!opts['test']) { -if (global.db) setInterval(async () => { -if (global.db.data) await global.db.write() -if (opts['autocleartmp'] && (global.support || {}).find) (tmp = [os.tmpdir(), 'tmp', "jadibts"], tmp.forEach(filename => cp.spawn('find', [filename, '-amin', '2', '-type', 'f', '-delete'])))}, 30 * 1000)} -if (opts['server']) (await import('./server.js')).default(global.conn, PORT) +async function cargarSubbots() { +const folder = "./jadibot"; +if (!fs.existsSync(folder)) return; +const subbotIds = fs.readdirSync(folder); +//console.log(chalk.bold.yellowBright(`📦 Subbots cargados: ${subbotIds.length}`)); -async function connectionUpdate(update) { -const {connection, lastDisconnect, isNewLogin} = update -global.stopped = connection -if (isNewLogin) conn.isInit = true -const code = lastDisconnect?.error?.output?.statusCode || lastDisconnect?.error?.output?.payload?.statusCode -if (code && code !== DisconnectReason.loggedOut && conn?.ws.socket == null) { -await global.reloadHandler(true).catch(console.error) -//console.log(await global.reloadHandler(true).catch(console.error)); -global.timestamp.connect = new Date -} -if (global.db.data == null) loadDatabase() -if (update.qr != 0 && update.qr != undefined || methodCodeQR) { -//opcion = '1' -if (opcion == '1' || methodCodeQR) { -console.log(chalk.bold.yellow(lenguajeGB['smsCodigoQR']()))} -} -if (connection == 'open') { -console.log(chalk.bold.greenBright(lenguajeGB['smsConexion']()))} -let reason = new Boom(lastDisconnect?.error)?.output?.statusCode -if (reason == 405) { -await fs.unlinkSync("./BotSession/" + "creds.json") -return console.log(chalk.bold.redBright("\n[ ❌ ] CONEXION REPLAZADA, POR FAVOR ESPERE UN MOMENTO ME VOY A REINICIAR...\nSI SALE ERROR VUELVE A INICIAR CON: npm start")) -process.send('reset')} -if (connection === 'close') { -if (reason === DisconnectReason.badSession) { -console.log(chalk.bold.cyanBright(lenguajeGB['smsConexionOFF']())) -} else if (reason === DisconnectReason.connectionClosed) { -console.log(chalk.bold.magentaBright(lenguajeGB['smsConexioncerrar']())) -await global.reloadHandler(true).catch(console.error) -} else if (reason === DisconnectReason.connectionLost) { -console.log(chalk.bold.blueBright(lenguajeGB['smsConexionperdida']())) -await global.reloadHandler(true).catch(console.error) -} else if (reason === DisconnectReason.connectionReplaced) { -console.log(chalk.bold.yellowBright(lenguajeGB['smsConexionreem']())) -} else if (reason === DisconnectReason.loggedOut) { -console.log(chalk.bold.redBright(lenguajeGB['smsConexionOFF']())) -await global.reloadHandler(true).catch(console.error) -} else if (reason === DisconnectReason.restartRequired) { -console.log(chalk.bold.cyanBright(lenguajeGB['smsConexionreinicio']())) -await global.reloadHandler(true).catch(console.error) -} else if (reason === DisconnectReason.timedOut) { -console.log(chalk.bold.yellowBright(lenguajeGB['smsConexiontiem']())) -await global.reloadHandler(true).catch(console.error) //process.send('reset') -} else { -console.log(chalk.bold.redBright(lenguajeGB['smsConexiondescon'](reason, connection))) -}}} - -process.on('uncaughtException', console.error); -//process.on('uncaughtException', (err) => { -//console.error('Se ha cerrado la conexión:\n', err) -//process.send('reset') }) +for (const userId of subbotIds) { +const sessionPath = path.join(folder, userId); +const credsPath = path.join(sessionPath, "creds.json"); +if (!fs.existsSync(credsPath)) continue; +if (globalThis.conns?.some(conn => conn.userId === userId)) continue; +if (reconectando.has(userId)) continue; -let isInit = true; -let handler = await import('./handler.js'); -global.reloadHandler = async function(restatConn) { try { -const Handler = await import(`./handler.js?update=${Date.now()}`).catch(console.error); -if (Object.keys(Handler || {}).length) handler = Handler; +reconectando.add(userId); +await startSubBot(null, null, "Auto reconexión", false, userId, null); } catch (e) { -console.error(e)} -if (restatConn) { -const oldChats = global.conn.chats; -try { -global.conn.ws.close(); -} catch { } -conn.ev.removeAllListeners(); -global.conn = makeWASocket(connectionOptions, {chats: oldChats}); -isInit = true; +console.log(chalk.red(`❌ Falló la carga de ${userId}:`, e.message)); +} finally { +reconectando.delete(userId); } -if (!isInit) { -conn.ev.off('messages.upsert', conn.handler); -conn.ev.off('group-participants.update', conn.participantsUpdate); -conn.ev.off('groups.update', conn.groupsUpdate); -conn.ev.off('message.delete', conn.onDelete); -conn.ev.off('call', conn.onCall); -conn.ev.off('connection.update', conn.connectionUpdate); -conn.ev.off('creds.update', conn.credsUpdate); + +await new Promise(res => setTimeout(res, 2500))} +setTimeout(cargarSubbots, 60 * 1000); } -//Información para Grupos -conn.welcome = lenguajeGB['smsWelcome']() //' ╭────────────\n┆──〘 *𝗕𝗶𝗲𝗻𝘃𝗲𝗻𝗶𝗱𝗼/𝗮* 〙──\n┆──────────\n┆ ✨ *@user* _𝗔𝗹_\n┆ *@subject ✨* \n┆\n┆ *𝗘𝗻 𝗲𝘀𝘁𝗲 𝗴𝗿𝘂𝗽𝗼 𝗽𝗼𝗱𝗿𝗮́𝘀*\n┆ *𝗘𝗻𝗰𝗼𝗻𝘁𝗿𝗮𝗿:*\n┆> *𝗔𝗺𝗶𝘀𝘁𝗮𝗱𝗲𝘀* 👥\n┆> *𝗗𝗲𝘀𝗺𝗮𝗱𝗿𝗲* 💃🕺\n┆> *𝗕𝗮𝗿𝗱𝗼*🤺\n┆> *𝙅𝙤𝙙𝙖 𝙮 𝙢𝙖𝙨* 😛\n┆> *𝗨𝗻 𝗯𝗼𝘁 𝘀𝗲𝘅𝘆*\n┆> *𝗣𝘂𝗲𝗱𝗲 𝘀𝗼𝗹𝗶𝗰𝗶𝘁𝗮𝗿 𝗺𝗶 𝗹𝗶𝘀𝘁𝗮 𝗱𝗲*\n┆> *𝗖𝗼𝗺𝗮𝗻𝗱𝗼 𝗰𝗼𝗻:*\n┆> *#menu*\n┆\n┆> *𝗔𝗾𝘂𝗶́ 𝘁𝗶𝗲𝗻𝗲 𝗹𝗮 𝗱𝗲𝘀𝗰𝗿𝗶𝗽𝗰𝗶𝗼́𝗻* \n┆ *𝗗𝗲𝗹 𝗴𝗿𝘂𝗽𝗼, 𝗹𝗲́𝗲𝗹𝗮!! 🙌*\n┆──────────\n┆ @desc\n┆──────────\n┆ *🔰 𝗗𝗶𝘀𝗳𝗿𝘂𝘁𝗮 𝗱𝗲 𝘁𝘂*\n┆ *𝗘𝘀𝘁𝗮𝗱𝗶́𝗮 𝗲𝗻 𝗲𝗹 𝗚𝗿𝘂𝗽𝗼 🔰* \n┆\n╰─────────────️' -conn.bye = lenguajeGB['smsBye']() //'.' //no gusta :v -conn.spromote = lenguajeGB['smsSpromote']() //'*𝙃𝙚𝙮 @user 𝘼𝙝𝙤𝙧𝙖 𝙚𝙧𝙚𝙨 𝙖𝙙𝙢𝙞𝙣, 𝙙𝙚𝙡 𝙜𝙧𝙪𝙥𝙤😛!!*' -conn.sdemote = lenguajeGB['smsSdemote']() //'*𝙃𝙚𝙮 @user 𝘿𝙀𝙅𝘼𝙔𝙖 𝙣𝙤 𝙚𝙧𝙚𝙨 𝙖𝙙𝙢𝙞𝙣😐!!*' -conn.sDesc = lenguajeGB['smsSdesc']() //'*𝑺𝒆 𝒉𝒂 𝒎𝒐𝒅𝒊𝒇𝒊𝒄𝒂𝒅𝒐 𝒍𝒂 𝒅𝒆𝒔𝒄𝒓𝒊𝒑𝒄𝒊𝒐𝒏 𝒅𝒆𝒍 𝒈𝒓𝒖𝒑𝒐*\n\n*𝑵𝒖𝒆𝒗𝒐 𝒅𝒆𝒔𝒄𝒓𝒊𝒑𝒄𝒊𝒐𝒏:*\n@desc' -conn.sSubject = lenguajeGB['smsSsubject']() //'*𝑺𝒆 𝒉𝒂 𝒎𝒐𝒅𝒊𝒇𝒊𝒄𝒂𝒅𝒐 𝒆𝒍 𝒏𝒐𝒎𝒃𝒓𝒆 𝒅𝒆𝒍 𝒈𝒓𝒖𝒑𝒐*\n*𝑵𝒖𝒆𝒗𝒐 𝒏𝒐𝒎𝒃𝒓𝒆:*\n@subject' -conn.sIcon = lenguajeGB['smsSicon']() //'*𝑺𝒆 𝒉𝒂 𝒄𝒂𝒎𝒃𝒊𝒂𝒅𝒐 𝒍𝒂 𝒇𝒐𝒕𝒐 𝒅𝒆𝒍 𝒈𝒓𝒖𝒑𝒐!!' -conn.sRevoke = lenguajeGB['smsSrevoke']() //'*𝑺𝒆 𝒉𝒂 𝒂𝒄𝒕𝒖𝒂𝒍𝒊𝒛𝒂𝒅𝒐 𝒆𝒍 𝒍𝒊𝒏𝒌 𝒅𝒆𝒍 𝒈𝒓𝒖𝒑𝒐!!*\n*𝑳𝒊𝒏𝒌 𝒏𝒖𝒆𝒗𝒐!!*\n\n*@revoke*' +async function startBot() { +const { state, saveCreds } = await baileys.useMultiFileAuthState(BOT_SESSION_FOLDER); +const msgRetryCounterMap = new Map(); +const msgRetryCounterCache = new NodeCache({ stdTTL: 0, checkperiod: 0 }); +const userDevicesCache = new NodeCache({ stdTTL: 0, checkperiod: 0 }); +const groupCache = new NodeCache({ stdTTL: 3600, checkperiod: 300 }); +const { version } = await baileys.fetchLatestBaileysVersion(); + +console.info = () => {}; +console.debug = () => {}; +const sock = baileys.makeWASocket({ +printQRInTerminal: !usarCodigo && !fs.existsSync(BOT_CREDS_PATH), +logger: pino({ level: 'silent' }), +browser: ['Windows', 'Chrome'], +auth: { creds: state.creds, +keys: baileys.makeCacheableSignalKeyStore(state.keys, pino({ level: 'silent' })) +}, +markOnlineOnConnect: false, +generateHighQualityLinkPreview: true, +syncFullHistory: false, +getMessage: async () => { +return ""; +}, +msgRetryCounterCache: msgRetryCounterCache || new Map(), +userDevicesCache: userDevicesCache || new Map(), +//msgRetryCounterMap, +defaultQueryTimeoutMs: undefined, +cachedGroupMetadata: async (jid) => groupCache.get(jid), +version: version, +defaultQueryTimeoutMs: 30_000, +keepAliveIntervalMs: 55000, +maxIdleTimeMs: 60000, +}); -conn.handler = handler.handler.bind(global.conn); -conn.participantsUpdate = handler.participantsUpdate.bind(global.conn); -conn.groupsUpdate = handler.groupsUpdate.bind(global.conn); -conn.onDelete = handler.deleteUpdate.bind(global.conn); -conn.onCall = handler.callUpdate.bind(global.conn); -conn.connectionUpdate = connectionUpdate.bind(global.conn); -conn.credsUpdate = saveCreds.bind(global.conn, true); +globalThis.conn = sock; +setupGroupEvents(sock); +sock.ev.on("creds.update", saveCreds); -conn.ev.on('messages.upsert', conn.handler); -conn.ev.on('group-participants.update', conn.participantsUpdate); -conn.ev.on('groups.update', conn.groupsUpdate); -conn.ev.on('message.delete', conn.onDelete); -conn.ev.on('call', conn.onCall); -conn.ev.on('connection.update', conn.connectionUpdate); -conn.ev.on('creds.update', conn.credsUpdate); -isInit = false -return true +sock.ev.on("connection.update", async ({ connection, lastDisconnect }) => { +const code = lastDisconnect?.error?.output?.statusCode || 0; + +if (connection === "open") { +console.log(chalk.bold.greenBright('\n▣─────────────────────────────···\n│\n│❧ 𝙲𝙾𝙽𝙴𝙲𝚃𝙰𝙳𝙾 𝙲𝙾𝚁𝚁𝙴𝙲𝚃𝙰𝙼𝙴𝙽𝚃𝙴 𝙰𝙻 𝚆𝙷𝙰𝚃𝚂𝙰𝙿𝙿 ✅\n│\n▣─────────────────────────────···')) } -const pluginFolder = global.__dirname(join(__dirname, './plugins/index')); -const pluginFilter = (filename) => /\.js$/.test(filename); -global.plugins = {}; -async function filesInit() { -for (const filename of readdirSync(pluginFolder).filter(pluginFilter)) { -try { -const file = global.__filename(join(pluginFolder, filename)); -const module = await import(file); -global.plugins[filename] = module.default || module; -} catch (e) { -conn.logger.error(e); -delete global.plugins[filename]; -}}} -filesInit().then((_) => Object.keys(global.plugins)).catch(console.error) +if (connection === "close") { +if ([401, 440, 428, 405].includes(code)) { +console.log(chalk.red(`❌ Error de sesión (${code}) inválida. Borra la carpeta "BotSession" y vuelve a conectar.`)); +} +console.log(chalk.yellow("♻️ Conexión cerrada. Reintentando en 3s...")); +setTimeout(() => startBot(), 3000); +}}); -global.reload = async (_ev, filename) => { -if (pluginFilter(filename)) { -const dir = global.__filename(join(pluginFolder, filename), true) -if (filename in global.plugins) { -if (existsSync(dir)) conn.logger.info(` SE ACTULIZADO - '${filename}' CON ÉXITO`) -else { -conn.logger.warn(`SE ELIMINO UN ARCHIVO : '${filename}'`) -return delete global.plugins[filename]; +process.on('uncaughtException', console.error); +process.on('unhandledRejection', console.error); + +if (usarCodigo && !state.creds.registered) { +setTimeout(async () => { +try { +const code = await sock.requestPairingCode(numero); +console.log(chalk.yellow('Código de emparejamiento:'), chalk.greenBright(code)); +} catch {} +}, 2000); } -} else conn.logger.info(`SE DETECTO UN NUEVO PLUGINS : '${filename}'`) -const err = syntaxerror(readFileSync(dir), filename, { -sourceType: 'module', -allowAwaitOutsideFunction: true, -}); -if (err) conn.logger.error(`SE DETECTO UN ERROR DE SINTAXIS | SYNTAX ERROR WHILE LOADING '${filename}'\n${format(err)}`); -else { + +sock.ev.on("messages.upsert", async ({ messages, type }) => { +if (type !== "notify") return; +for (const msg of messages) { +if (!msg.message) continue; +if (msg.messageTimestamp && (Date.now()/1000 - msg.messageTimestamp > 120)) continue; +if(msg.key.id.startsWith('NJX-') || msg.key.id.startsWith('Lyru-') || msg.key.id.startsWith('EvoGlobalBot-') || msg.key.id.startsWith('BAE5') && msg.key.id.length === 16 || msg.key.id.startsWith('3EB0') && msg.key.id.length === 12 || msg.key.id.startsWith('3EB0') || msg.key.id.startsWith('3E83') || msg.key.id.startsWith('3E38') && (msg.key.id.length === 20 || msg.key.id.length === 22) || msg.key.id.startsWith('B24E') || msg.key.id.startsWith('8SCO') && msg.key.id.length === 20 || msg.key.id.startsWith('FizzxyTheGreat-')) return try { -const module = (await import(`${global.__filename(dir)}?update=${Date.now()}`)); -global.plugins[filename] = module.default || module; -} catch (e) { -conn.logger.error(`HAY UN ERROR REQUIERE EL PLUGINS '${filename}\n${format(e)}'`); -} finally { -global.plugins = Object.fromEntries(Object.entries(global.plugins).sort(([a], [b]) => a.localeCompare(b))); -}}}}; -Object.freeze(global.reload); -watch(pluginFolder, global.reload); -await global.reloadHandler(); -async function _quickTest() { -const test = await Promise.all([ -spawn('ffmpeg'), -spawn('ffprobe'), -spawn('ffmpeg', ['-hide_banner', '-loglevel', 'error', '-filter_complex', 'color', '-frames:v', '1', '-f', 'webp', '-']), -spawn('convert'), -spawn('magick'), -spawn('gm'), -spawn('find', ['--version']), -].map((p) => { -return Promise.race([ -new Promise((resolve) => { -p.on('close', (code) => { -resolve(code !== 127); +//const { handler } = await import("./handler.js"); +await handler(sock, msg); +} catch (err) { +console.error(err); +}} }); -}), -new Promise((resolve) => { -p.on('error', (_) => resolve(false)); -})]); -})); -const [ffmpeg, ffprobe, ffmpegWebp, convert, magick, gm, find] = test; -const s = global.support = {ffmpeg, ffprobe, ffmpegWebp, convert, magick, gm, find}; -Object.freeze(global.support); + +sock.ev.on("call", async (calls) => { +try { +//const { callUpdate } = await import("./handler.js"); +for (const call of calls) { +await callUpdate(sock, call); +}} catch (err) { +console.error(chalk.red("❌ Error procesando call.update:"), err); } - -function clearTmp() { -const tmpDir = join(__dirname, 'tmp') -const filenames = readdirSync(tmpDir) -filenames.forEach(file => { -const filePath = join(tmpDir, file) -unlinkSync(filePath)}) +}); + +//tmp +setInterval(() => { +const tmp = './tmp'; +try { +if (!fs.existsSync(tmp)) return; +const files = fs.readdirSync(tmp); +files.forEach(file => { +if (file.endsWith('.file')) return; +const filePath = path.join(tmp, file); +const stats = fs.statSync(filePath); +const now = Date.now(); +const modifiedTime = new Date(stats.mtime).getTime(); +const age = now - modifiedTime; +if (age > 3 * 60 * 1000) { +fs.unlinkSync(filePath); } - -function purgeSession() { -let prekey = [] -let directorio = readdirSync("./BotSession") -let filesFolderPreKeys = directorio.filter(file => { -return file.startsWith('pre-key-') /*|| file.startsWith('session-') || file.startsWith('sender-') || file.startsWith('app-')*/ -}) -prekey = [...prekey, ...filesFolderPreKeys] -filesFolderPreKeys.forEach(files => { -unlinkSync(`./BotSession/${files}`) }) -} +//console.log(chalk.gray(`┏━━━━━━⪻♻️ AUTO-CLEAR 🗑️⪼━━━━━━•\n┃→ ARCHIVOS DE LA CARPETA TMP ELIMINADOS\n┗━━━━━━━━━━━━━━━━━━━━━━━━━━━•`)); +} catch (err) { +console.error('Error cleaning temporary files:', err); +}}, 30 * 1000); + +setInterval(() => { +console.log('♻️ Reiniciando bot automáticamente...'); +process.exit(0); +}, 10800000) //3hs +//3600000 + +//tmp session basura +setInterval(() => { + const now = Date.now(); + const carpetas = ['./jadibot', './BotSession']; + for (const basePath of carpetas) { + if (!fs.existsSync(basePath)) continue; + + const subfolders = fs.readdirSync(basePath); + for (const folder of subfolders) { + const sessionPath = path.join(basePath, folder); + if (!fs.statSync(sessionPath).isDirectory()) continue; + const isActive = globalThis.conns?.some(c => c.userId === folder || c.user?.id?.includes(folder)); + const files = fs.readdirSync(sessionPath); + + // 🔧 limitar cantidad de pre-keys + const prekeys = files.filter(f => f.startsWith("pre-key")); + if (prekeys.length > 500) { + prekeys + .sort((a, b) => fs.statSync(path.join(sessionPath, a)).mtimeMs - fs.statSync(path.join(sessionPath, b)).mtimeMs) + .slice(0, prekeys.length - 300) + .forEach(pk => { + fs.unlinkSync(path.join(sessionPath, pk)); + }); + } + + for (const file of files) { + const fullPath = path.join(sessionPath, file); + if (!fs.existsSync(fullPath)) continue; + if (file === 'creds.json') continue; + try { + const stats = fs.statSync(fullPath); + const ageMs = now - stats.mtimeMs; + + if (file.startsWith('pre-key') && ageMs > 24 * 60 * 60 * 1000 && !isActive) { + fs.unlinkSync(fullPath); + } else if (ageMs > 30 * 60 * 1000 && !isActive) { + fs.unlinkSync(fullPath); + } + } catch (err) { + console.error(chalk.red(`[⚠] Error al limpiar archivo ${file}:`), err); + } + } + } + } + console.log(chalk.bold.cyanBright(`\n╭» 🟠 ARCHIVOS 🟠\n│→ Sesiones y pre-keys viejas limpiadas\n╰―――――――――――――――――――――――――――――― 🗑️♻️`)); +}, 10 * 60 * 1000); // cada 10 minutos + +function setupGroupEvents(sock) { +sock.ev.on("group-participants.update", async (update) => { +console.log(update) +try { +await participantsUpdate(sock, update); +} catch (err) { +console.error(chalk.red("❌ Error procesando group-participants.update:"), err); +}}); -function purgeSessionSB() { +sock.ev.on("groups.update", async (updates) => { +console.log(updates) try { -const listaDirectorios = readdirSync('./jadibts/'); -let SBprekey = []; -listaDirectorios.forEach(directorio => { -if (statSync(`./jadibts/${directorio}`).isDirectory()) { -const DSBPreKeys = readdirSync(`./jadibts/${directorio}`).filter(fileInDir => { -return fileInDir.startsWith('pre-key-') /*|| fileInDir.startsWith('app-') || fileInDir.startsWith('session-')*/ -}) -SBprekey = [...SBprekey, ...DSBPreKeys]; -DSBPreKeys.forEach(fileInDir => { -if (fileInDir !== 'creds.json') { -unlinkSync(`./jadibts/${directorio}/${fileInDir}`) -}}) -}}) -if (SBprekey.length === 0) { -console.log(chalk.bold.green(lenguajeGB.smspurgeSessionSB1())) -} else { -console.log(chalk.bold.cyanBright(lenguajeGB.smspurgeSessionSB2())) +for (const update of updates) { +await groupsUpdate(sock, update); }} catch (err) { -console.log(chalk.bold.red(lenguajeGB.smspurgeSessionSB3() + err)) -}} - -function purgeOldFiles() { -const directories = ['./BotSession/', './jadibts/'] -directories.forEach(dir => { -readdirSync(dir, (err, files) => { -if (err) throw err -files.forEach(file => { -if (file !== 'creds.json') { -const filePath = path.join(dir, file); -unlinkSync(filePath, err => { -if (err) { -console.log(chalk.bold.red(`${lenguajeGB.smspurgeOldFiles3()} ${file} ${lenguajeGB.smspurgeOldFiles4()}` + err)) -} else { -console.log(chalk.bold.green(`${lenguajeGB.smspurgeOldFiles1()} ${file} ${lenguajeGB.smspurgeOldFiles2()}`)) -} }) } -}) }) }) } - -setInterval(async () => { -await clearTmp() -console.log(chalk.bold.cyanBright(lenguajeGB.smsClearTmp()))}, 1000 * 60 * 4) // 4 min - -setInterval(async () => { -await purgeSession() -console.log(chalk.bold.cyanBright(lenguajeGB.smspurgeSession()))}, 1000 * 60 * 10) // 10 min - -setInterval(async () => { -await purgeSessionSB()}, 1000 * 60 * 10) - -setInterval(async () => { -await purgeOldFiles() -console.log(chalk.bold.cyanBright(lenguajeGB.smspurgeOldFiles()))}, 1000 * 60 * 10) - -_quickTest().then(() => conn.logger.info(chalk.bold(lenguajeGB['smsCargando']().trim()))).catch(console.error) +console.error(chalk.red("❌ Error procesando groups.update:"), err); +}}); +} +} -let file = fileURLToPath(import.meta.url) -watchFile(file, () => { -unwatchFile(file) -console.log(chalk.bold.greenBright(lenguajeGB['smsMainBot']().trim())) -import(`${file}?update=${Date.now()}`) -}) diff --git a/media/A bueno adios master.mp3 b/media/A bueno adios master.mp3 deleted file mode 100644 index 32c92ec39..000000000 Binary files a/media/A bueno adios master.mp3 and /dev/null differ diff --git a/media/Banate.mp3 b/media/Banate.mp3 deleted file mode 100644 index e0de26508..000000000 Binary files a/media/Banate.mp3 and /dev/null differ diff --git a/media/Bienvenido.mp3 b/media/Bienvenido.mp3 deleted file mode 100644 index c5896f04f..000000000 Binary files a/media/Bienvenido.mp3 and /dev/null differ diff --git a/media/Blackpink in your area.mp3 b/media/Blackpink in your area.mp3 deleted file mode 100644 index f1168a3a9..000000000 Binary files a/media/Blackpink in your area.mp3 and /dev/null differ diff --git "a/media/Buen d\303\255a grupo.mp3" "b/media/Buen d\303\255a grupo.mp3" deleted file mode 100644 index fdc8bfaa8..000000000 Binary files "a/media/Buen d\303\255a grupo.mp3" and /dev/null differ diff --git a/media/Buenas noches.mp3 b/media/Buenas noches.mp3 deleted file mode 100644 index b5d69ab7e..000000000 Binary files a/media/Buenas noches.mp3 and /dev/null differ diff --git a/media/Buenos-dias-2.mp3 b/media/Buenos-dias-2.mp3 deleted file mode 100644 index 8598bb554..000000000 Binary files a/media/Buenos-dias-2.mp3 and /dev/null differ diff --git a/media/Calla Fan de BTS.mp3 b/media/Calla Fan de BTS.mp3 deleted file mode 100644 index d558e5b03..000000000 Binary files a/media/Calla Fan de BTS.mp3 and /dev/null differ diff --git a/media/Cambiate a Movistar.mp3 b/media/Cambiate a Movistar.mp3 deleted file mode 100644 index 114920cbe..000000000 Binary files a/media/Cambiate a Movistar.mp3 and /dev/null differ diff --git a/media/Corte Corte.mp3 b/media/Corte Corte.mp3 deleted file mode 100644 index 9351d4777..000000000 Binary files a/media/Corte Corte.mp3 and /dev/null differ diff --git a/media/DiagnosticadoConGay.mp3 b/media/DiagnosticadoConGay.mp3 deleted file mode 100644 index cf31428b4..000000000 Binary files a/media/DiagnosticadoConGay.mp3 and /dev/null differ diff --git a/media/El Toxico.mp3 b/media/El Toxico.mp3 deleted file mode 100644 index c0e2d036e..000000000 Binary files a/media/El Toxico.mp3 and /dev/null differ diff --git a/media/Elmo sabe donde vives.mp3 b/media/Elmo sabe donde vives.mp3 deleted file mode 100644 index 1e053ada8..000000000 Binary files a/media/Elmo sabe donde vives.mp3 and /dev/null differ diff --git a/media/Elmo.mp3 b/media/Elmo.mp3 deleted file mode 100644 index 84f936b95..000000000 Binary files a/media/Elmo.mp3 and /dev/null differ diff --git "a/media/En caso de una investigaci\303\263n.mp3" "b/media/En caso de una investigaci\303\263n.mp3" deleted file mode 100644 index 9b4d1be39..000000000 Binary files "a/media/En caso de una investigaci\303\263n.mp3" and /dev/null differ diff --git a/media/Eres Fuerte.mp3 b/media/Eres Fuerte.mp3 deleted file mode 100644 index 2abd7bd1c..000000000 Binary files a/media/Eres Fuerte.mp3 and /dev/null differ diff --git a/media/Es putoo.mp3 b/media/Es putoo.mp3 deleted file mode 100644 index ed4ab6823..000000000 Binary files a/media/Es putoo.mp3 and /dev/null differ diff --git a/media/Esta Zzzz.mp3 b/media/Esta Zzzz.mp3 deleted file mode 100644 index c4f265831..000000000 Binary files a/media/Esta Zzzz.mp3 and /dev/null differ diff --git a/media/Feliz cumple.mp3 b/media/Feliz cumple.mp3 deleted file mode 100644 index 598b9c790..000000000 Binary files a/media/Feliz cumple.mp3 and /dev/null differ diff --git a/media/Fiesta1.mp3 b/media/Fiesta1.mp3 deleted file mode 100644 index d2c948006..000000000 Binary files a/media/Fiesta1.mp3 and /dev/null differ diff --git a/media/Hola.mp3 b/media/Hola.mp3 deleted file mode 100644 index 8a8bfbfba..000000000 Binary files a/media/Hola.mp3 and /dev/null differ diff --git a/media/Homero chino.mp3 b/media/Homero chino.mp3 deleted file mode 100644 index 850f55a65..000000000 Binary files a/media/Homero chino.mp3 and /dev/null differ diff --git a/media/Las reglas del grupo.mp3 b/media/Las reglas del grupo.mp3 deleted file mode 100644 index ad62dcc1e..000000000 Binary files a/media/Las reglas del grupo.mp3 and /dev/null differ diff --git a/media/Me anda buscando anonymous.mp3 b/media/Me anda buscando anonymous.mp3 deleted file mode 100644 index cf3ce19cc..000000000 Binary files a/media/Me anda buscando anonymous.mp3 and /dev/null differ diff --git a/media/Menu1.jpg b/media/Menu1.jpg new file mode 100644 index 000000000..42c96866f Binary files /dev/null and b/media/Menu1.jpg differ diff --git a/media/Menu2.jpg b/media/Menu2.jpg new file mode 100644 index 000000000..051c383d4 Binary files /dev/null and b/media/Menu2.jpg differ diff --git a/media/Menu3.jpg b/media/Menu3.jpg new file mode 100644 index 000000000..c01d9d8ac Binary files /dev/null and b/media/Menu3.jpg differ diff --git a/media/menus/img3.jpg b/media/Menu4.jpg similarity index 100% rename from media/menus/img3.jpg rename to media/Menu4.jpg diff --git a/media/Momento equisde.mp3 b/media/Momento equisde.mp3 deleted file mode 100644 index 16a8154c2..000000000 Binary files a/media/Momento equisde.mp3 and /dev/null differ diff --git a/media/Motivacion.mp3 b/media/Motivacion.mp3 deleted file mode 100644 index adf2117dd..000000000 Binary files a/media/Motivacion.mp3 and /dev/null differ diff --git a/media/Muchachos.mp3 b/media/Muchachos.mp3 deleted file mode 100644 index dcd5ba782..000000000 Binary files a/media/Muchachos.mp3 and /dev/null differ diff --git a/media/Mujer.mp3 b/media/Mujer.mp3 deleted file mode 100644 index a79e2e942..000000000 Binary files a/media/Mujer.mp3 and /dev/null differ diff --git a/media/No Rompas Mas.mp3 b/media/No Rompas Mas.mp3 deleted file mode 100644 index 6f3a9365a..000000000 Binary files a/media/No Rompas Mas.mp3 and /dev/null differ diff --git a/media/Noche.mp3 b/media/Noche.mp3 deleted file mode 100644 index d040bd0e1..000000000 Binary files a/media/Noche.mp3 and /dev/null differ diff --git a/media/Nuevo audio.mp3 b/media/Nuevo audio.mp3 deleted file mode 100644 index 31634ae0a..000000000 Binary files a/media/Nuevo audio.mp3 and /dev/null differ diff --git a/media/Onichan.mp3 b/media/Onichan.mp3 deleted file mode 100644 index 32d3f4331..000000000 Binary files a/media/Onichan.mp3 and /dev/null differ diff --git a/media/Potaxio.mp3 b/media/Potaxio.mp3 deleted file mode 100644 index a9a14ff04..000000000 Binary files a/media/Potaxio.mp3 and /dev/null differ diff --git a/media/Primo.mp3 b/media/Primo.mp3 deleted file mode 100644 index b8af57d94..000000000 Binary files a/media/Primo.mp3 and /dev/null differ diff --git a/media/Que tal Grupo.mp3 b/media/Que tal Grupo.mp3 deleted file mode 100644 index a4fe333c0..000000000 Binary files a/media/Que tal Grupo.mp3 and /dev/null differ diff --git a/media/Se estan riendo de mi.mp3 b/media/Se estan riendo de mi.mp3 deleted file mode 100644 index e28687b55..000000000 Binary files a/media/Se estan riendo de mi.mp3 and /dev/null differ diff --git a/media/Su nivel de pendejo.mp3 b/media/Su nivel de pendejo.mp3 deleted file mode 100644 index 1f93a6128..000000000 Binary files a/media/Su nivel de pendejo.mp3 and /dev/null differ diff --git a/media/Tal vez.mp3 b/media/Tal vez.mp3 deleted file mode 100644 index fc6d49ea0..000000000 Binary files a/media/Tal vez.mp3 and /dev/null differ diff --git a/media/Te gusta el Pepino.mp3 b/media/Te gusta el Pepino.mp3 deleted file mode 100644 index 00317ff32..000000000 Binary files a/media/Te gusta el Pepino.mp3 and /dev/null differ diff --git a/media/Te-amo.mp3 b/media/Te-amo.mp3 deleted file mode 100644 index e4ec0b803..000000000 Binary files a/media/Te-amo.mp3 and /dev/null differ diff --git a/media/Todo bien.mp3 b/media/Todo bien.mp3 deleted file mode 100644 index ab016a652..000000000 Binary files a/media/Todo bien.mp3 and /dev/null differ diff --git a/media/Traigan le una falda.mp3 b/media/Traigan le una falda.mp3 deleted file mode 100644 index dc9867c97..000000000 Binary files a/media/Traigan le una falda.mp3 and /dev/null differ diff --git a/media/Tu.mp3 b/media/Tu.mp3 deleted file mode 100644 index 58d93d755..000000000 Binary files a/media/Tu.mp3 and /dev/null differ diff --git a/media/UwU.mp3 b/media/UwU.mp3 deleted file mode 100644 index 31634ae0a..000000000 Binary files a/media/UwU.mp3 and /dev/null differ diff --git a/media/abduzcan.mp3 b/media/abduzcan.mp3 deleted file mode 100644 index cfb5d909d..000000000 Binary files a/media/abduzcan.mp3 and /dev/null differ diff --git a/media/admin-calzones.mp3 b/media/admin-calzones.mp3 deleted file mode 100644 index 13f3b19ec..000000000 Binary files a/media/admin-calzones.mp3 and /dev/null differ diff --git a/media/admin.mp3 b/media/admin.mp3 deleted file mode 100644 index e2f150fca..000000000 Binary files a/media/admin.mp3 and /dev/null differ diff --git a/media/aguanta.mp3 b/media/aguanta.mp3 deleted file mode 100644 index 4aac62cde..000000000 Binary files a/media/aguanta.mp3 and /dev/null differ diff --git a/media/alla.mp3 b/media/alla.mp3 deleted file mode 100644 index fd6be56e6..000000000 Binary files a/media/alla.mp3 and /dev/null differ diff --git a/media/asen.mp3 b/media/asen.mp3 deleted file mode 100644 index db1cfc6ad..000000000 Binary files a/media/asen.mp3 and /dev/null differ diff --git a/media/baneado.mp3 b/media/baneado.mp3 deleted file mode 100644 index c33cb707d..000000000 Binary files a/media/baneado.mp3 and /dev/null differ diff --git a/media/bar.mp3 b/media/bar.mp3 deleted file mode 100644 index cc4a0ee4d..000000000 Binary files a/media/bar.mp3 and /dev/null differ diff --git a/media/bardo.mp3 b/media/bardo.mp3 deleted file mode 100644 index 3ac39ea78..000000000 Binary files a/media/bardo.mp3 and /dev/null differ diff --git a/media/basado.mp3 b/media/basado.mp3 deleted file mode 100644 index f9a6e9bc4..000000000 Binary files a/media/basado.mp3 and /dev/null differ diff --git a/media/bff.mp3 b/media/bff.mp3 deleted file mode 100644 index 1f3f9f5bd..000000000 Binary files a/media/bff.mp3 and /dev/null differ diff --git a/media/bien-pensado-woody.mp3 b/media/bien-pensado-woody.mp3 deleted file mode 100644 index fbd168c4e..000000000 Binary files a/media/bien-pensado-woody.mp3 and /dev/null differ diff --git a/media/boanoite.mp3 b/media/boanoite.mp3 deleted file mode 100644 index 4612cad2c..000000000 Binary files a/media/boanoite.mp3 and /dev/null differ diff --git a/media/boatarde.mp3 b/media/boatarde.mp3 deleted file mode 100644 index 3cc2bddbf..000000000 Binary files a/media/boatarde.mp3 and /dev/null differ diff --git a/media/borracho.mp3 b/media/borracho.mp3 deleted file mode 100644 index a47c516ef..000000000 Binary files a/media/borracho.mp3 and /dev/null differ diff --git a/media/bot.mp3 b/media/bot.mp3 deleted file mode 100644 index d77371261..000000000 Binary files a/media/bot.mp3 and /dev/null differ diff --git a/media/bruno.mp3 b/media/bruno.mp3 deleted file mode 100644 index f120cf5f2..000000000 Binary files a/media/bruno.mp3 and /dev/null differ diff --git a/media/btss.webp b/media/btss.webp deleted file mode 100644 index 34bd86591..000000000 Binary files a/media/btss.webp and /dev/null differ diff --git a/media/bueno si.mp3 b/media/bueno si.mp3 deleted file mode 100644 index c7f8be801..000000000 Binary files a/media/bueno si.mp3 and /dev/null differ diff --git a/media/callese.mp3 b/media/callese.mp3 deleted file mode 100644 index 69f7cde63..000000000 Binary files a/media/callese.mp3 and /dev/null differ diff --git a/media/cancion.mp3 b/media/cancion.mp3 deleted file mode 100644 index 03173b227..000000000 Binary files a/media/cancion.mp3 and /dev/null differ diff --git a/media/cancion2.mp3 b/media/cancion2.mp3 deleted file mode 100644 index 33c555659..000000000 Binary files a/media/cancion2.mp3 and /dev/null differ diff --git a/media/chabona.mp3 b/media/chabona.mp3 deleted file mode 100644 index 8fd7642f5..000000000 Binary files a/media/chabona.mp3 and /dev/null differ diff --git a/media/chica lgante.mp3 b/media/chica lgante.mp3 deleted file mode 100644 index 25d0adaed..000000000 Binary files a/media/chica lgante.mp3 and /dev/null differ diff --git a/media/contexto.mp3 b/media/contexto.mp3 deleted file mode 100644 index a229f1d9e..000000000 Binary files a/media/contexto.mp3 and /dev/null differ diff --git a/media/creador.mp3 b/media/creador.mp3 deleted file mode 100644 index b21a82584..000000000 Binary files a/media/creador.mp3 and /dev/null differ diff --git a/media/cuenta.mp3 b/media/cuenta.mp3 deleted file mode 100644 index 1f65af5af..000000000 Binary files a/media/cuenta.mp3 and /dev/null differ diff --git a/media/delivery.mp3 b/media/delivery.mp3 deleted file mode 100644 index d58d2e4b9..000000000 Binary files a/media/delivery.mp3 and /dev/null differ diff --git a/media/desamor.mp3 b/media/desamor.mp3 deleted file mode 100644 index add9e12c1..000000000 Binary files a/media/desamor.mp3 and /dev/null differ diff --git a/media/descarga.mp3 b/media/descarga.mp3 deleted file mode 100644 index f5d7436e1..000000000 Binary files a/media/descarga.mp3 and /dev/null differ diff --git a/media/dipy.mp3 b/media/dipy.mp3 deleted file mode 100644 index b822d3fb1..000000000 Binary files a/media/dipy.mp3 and /dev/null differ diff --git a/media/dragon ball z.mp3 b/media/dragon ball z.mp3 deleted file mode 100644 index 8704c1024..000000000 Binary files a/media/dragon ball z.mp3 and /dev/null differ diff --git a/media/dylan1.mp3 b/media/dylan1.mp3 deleted file mode 100644 index 96eb1e877..000000000 Binary files a/media/dylan1.mp3 and /dev/null differ diff --git a/media/dylan2.mp3 b/media/dylan2.mp3 deleted file mode 100644 index a8b77019b..000000000 Binary files a/media/dylan2.mp3 and /dev/null differ diff --git a/media/el amor.mp3 b/media/el amor.mp3 deleted file mode 100644 index b0d2df2d4..000000000 Binary files a/media/el amor.mp3 and /dev/null differ diff --git a/media/el pepe.mp3 b/media/el pepe.mp3 deleted file mode 100644 index e97397d53..000000000 Binary files a/media/el pepe.mp3 and /dev/null differ diff --git a/media/el rap de fernanfloo.mp3 b/media/el rap de fernanfloo.mp3 deleted file mode 100644 index 8b6dc23ee..000000000 Binary files a/media/el rap de fernanfloo.mp3 and /dev/null differ diff --git a/media/eliminar.mp3 b/media/eliminar.mp3 deleted file mode 100644 index 279040fe3..000000000 Binary files a/media/eliminar.mp3 and /dev/null differ diff --git a/media/emilia.mp4 b/media/emilia.mp4 deleted file mode 100644 index 385270331..000000000 Binary files a/media/emilia.mp4 and /dev/null differ diff --git a/media/entrada-epica-al-chat.mp3 b/media/entrada-epica-al-chat.mp3 deleted file mode 100644 index dbf219d84..000000000 Binary files a/media/entrada-epica-al-chat.mp3 and /dev/null differ diff --git a/media/es grupo.mp3 b/media/es grupo.mp3 deleted file mode 100644 index 0d97ce648..000000000 Binary files a/media/es grupo.mp3 and /dev/null differ diff --git a/media/es viernes.mp3 b/media/es viernes.mp3 deleted file mode 100644 index ab9d29d96..000000000 Binary files a/media/es viernes.mp3 and /dev/null differ diff --git a/media/esto va a hacer epico papus.mp3 b/media/esto va a hacer epico papus.mp3 deleted file mode 100644 index 4a9875b0d..000000000 Binary files a/media/esto va a hacer epico papus.mp3 and /dev/null differ diff --git a/media/esto va para ti.mp3 b/media/esto va para ti.mp3 deleted file mode 100644 index 837b95a13..000000000 Binary files a/media/esto va para ti.mp3 and /dev/null differ diff --git a/media/estupido.mp3 b/media/estupido.mp3 deleted file mode 100644 index 1f64e74ba..000000000 Binary files a/media/estupido.mp3 and /dev/null differ diff --git a/media/feriado.mp3 b/media/feriado.mp3 deleted file mode 100644 index 7a9570f99..000000000 Binary files a/media/feriado.mp3 and /dev/null differ diff --git a/media/fernet.mp3 b/media/fernet.mp3 deleted file mode 100644 index 5567e227e..000000000 Binary files a/media/fernet.mp3 and /dev/null differ diff --git a/media/fiesta.mp3 b/media/fiesta.mp3 deleted file mode 100644 index d8f661381..000000000 Binary files a/media/fiesta.mp3 and /dev/null differ diff --git a/media/fino-senores.mp3 b/media/fino-senores.mp3 deleted file mode 100644 index a6ac2369a..000000000 Binary files a/media/fino-senores.mp3 and /dev/null differ diff --git a/media/fiu.mp3 b/media/fiu.mp3 deleted file mode 100644 index 0034ee953..000000000 Binary files a/media/fiu.mp3 and /dev/null differ diff --git a/media/flash.mp3 b/media/flash.mp3 deleted file mode 100644 index 6344c31da..000000000 Binary files a/media/flash.mp3 and /dev/null differ diff --git a/media/freefire.mp3 b/media/freefire.mp3 deleted file mode 100644 index dc1ea9c76..000000000 Binary files a/media/freefire.mp3 and /dev/null differ diff --git a/media/gaspi6.mp3 b/media/gaspi6.mp3 deleted file mode 100644 index 7e2020829..000000000 Binary files a/media/gaspi6.mp3 and /dev/null differ diff --git a/media/gaspi9.mp3 b/media/gaspi9.mp3 deleted file mode 100644 index 6527fc536..000000000 Binary files a/media/gaspi9.mp3 and /dev/null differ diff --git a/media/gay2.mp3 b/media/gay2.mp3 deleted file mode 100644 index 33c555659..000000000 Binary files a/media/gay2.mp3 and /dev/null differ diff --git a/media/gemi2.mp3 b/media/gemi2.mp3 deleted file mode 100644 index 8680cb303..000000000 Binary files a/media/gemi2.mp3 and /dev/null differ diff --git a/media/grap.mp3 b/media/grap.mp3 deleted file mode 100644 index c9d0ea405..000000000 Binary files a/media/grap.mp3 and /dev/null differ diff --git a/media/hablar primos.mp3 b/media/hablar primos.mp3 deleted file mode 100644 index 3f5f900e5..000000000 Binary files a/media/hablar primos.mp3 and /dev/null differ diff --git a/media/hentai.mp3 b/media/hentai.mp3 deleted file mode 100644 index 1c73ec5e8..000000000 Binary files a/media/hentai.mp3 and /dev/null differ diff --git a/media/infobot.mp3 b/media/infobot.mp3 deleted file mode 100644 index 9b5ed9116..000000000 Binary files a/media/infobot.mp3 and /dev/null differ diff --git a/media/insultar.mp3 b/media/insultar.mp3 deleted file mode 100644 index 131f70ae0..000000000 Binary files a/media/insultar.mp3 and /dev/null differ diff --git a/media/internet gratis.mp3 b/media/internet gratis.mp3 deleted file mode 100644 index cfc302893..000000000 Binary files a/media/internet gratis.mp3 and /dev/null differ diff --git a/media/invocar.mp3 b/media/invocar.mp3 deleted file mode 100644 index b533c57bd..000000000 Binary files a/media/invocar.mp3 and /dev/null differ diff --git a/media/jai.mp3 b/media/jai.mp3 deleted file mode 100644 index d12f0c7a8..000000000 Binary files a/media/jai.mp3 and /dev/null differ diff --git a/media/jesucristo.mp3 b/media/jesucristo.mp3 deleted file mode 100644 index b8e962636..000000000 Binary files a/media/jesucristo.mp3 and /dev/null differ diff --git a/media/joder.mp3 b/media/joder.mp3 deleted file mode 100644 index cdc75a9f2..000000000 Binary files a/media/joder.mp3 and /dev/null differ diff --git a/media/juegos.mp3 b/media/juegos.mp3 deleted file mode 100644 index 8f74f1e20..000000000 Binary files a/media/juegos.mp3 and /dev/null differ diff --git a/media/la bebecita.mp3 b/media/la bebecita.mp3 deleted file mode 100644 index fa3a5657c..000000000 Binary files a/media/la bebecita.mp3 and /dev/null differ diff --git a/media/la mamare.mp3 b/media/la mamare.mp3 deleted file mode 100644 index fae511686..000000000 Binary files a/media/la mamare.mp3 and /dev/null differ diff --git a/media/la toxica.mp3 b/media/la toxica.mp3 deleted file mode 100644 index 4d7d2e645..000000000 Binary files a/media/la toxica.mp3 and /dev/null differ diff --git a/media/la-voz-de-hombre.mp3 b/media/la-voz-de-hombre.mp3 deleted file mode 100644 index 0ba191be1..000000000 Binary files a/media/la-voz-de-hombre.mp3 and /dev/null differ diff --git a/media/le mando fui.mp3 b/media/le mando fui.mp3 deleted file mode 100644 index 2932213df..000000000 Binary files a/media/le mando fui.mp3 and /dev/null differ diff --git a/media/listas.mp3 b/media/listas.mp3 deleted file mode 100644 index 9c966be69..000000000 Binary files a/media/listas.mp3 and /dev/null differ diff --git a/media/loli conmigo.mp3 b/media/loli conmigo.mp3 deleted file mode 100644 index f63a89c2f..000000000 Binary files a/media/loli conmigo.mp3 and /dev/null differ diff --git a/media/maau1.mp3 b/media/maau1.mp3 deleted file mode 100644 index f802e2fbf..000000000 Binary files a/media/maau1.mp3 and /dev/null differ diff --git a/media/masivo-cancion.mp3 b/media/masivo-cancion.mp3 deleted file mode 100644 index a5d17cefe..000000000 Binary files a/media/masivo-cancion.mp3 and /dev/null differ diff --git a/media/me-pican-los-cocos.mp3 b/media/me-pican-los-cocos.mp3 deleted file mode 100644 index 24ba15d09..000000000 Binary files a/media/me-pican-los-cocos.mp3 and /dev/null differ diff --git a/media/medescarg.mp3 b/media/medescarg.mp3 deleted file mode 100644 index 400bb74ef..000000000 Binary files a/media/medescarg.mp3 and /dev/null differ diff --git a/media/menu.mp3 b/media/menu.mp3 deleted file mode 100644 index 9feea5d9b..000000000 Binary files a/media/menu.mp3 and /dev/null differ diff --git a/media/menus/Menu1.jpg b/media/menus/Menu1.jpg deleted file mode 100644 index d0e112a87..000000000 Binary files a/media/menus/Menu1.jpg and /dev/null differ diff --git a/media/menus/Menu2.jpg b/media/menus/Menu2.jpg deleted file mode 100644 index 8de25e74a..000000000 Binary files a/media/menus/Menu2.jpg and /dev/null differ diff --git a/media/menus/Menu3.jpg b/media/menus/Menu3.jpg deleted file mode 100644 index 9e35ff8a1..000000000 Binary files a/media/menus/Menu3.jpg and /dev/null differ diff --git a/media/menus/Menu4paypal.jpg b/media/menus/Menu4paypal.jpg deleted file mode 100644 index fb5e8821e..000000000 Binary files a/media/menus/Menu4paypal.jpg and /dev/null differ diff --git a/media/menus/Menuvid1.mp4 b/media/menus/Menuvid1.mp4 deleted file mode 100644 index 9b4269a45..000000000 Binary files a/media/menus/Menuvid1.mp4 and /dev/null differ diff --git a/media/menus/Menuvid2.mp4 b/media/menus/Menuvid2.mp4 deleted file mode 100644 index 433bf22de..000000000 Binary files a/media/menus/Menuvid2.mp4 and /dev/null differ diff --git a/media/menus/Menuvid3.mp4 b/media/menus/Menuvid3.mp4 deleted file mode 100644 index 79783f2e1..000000000 Binary files a/media/menus/Menuvid3.mp4 and /dev/null differ diff --git a/media/menus/img1.jpg b/media/menus/img1.jpg deleted file mode 100644 index 637ad8cb5..000000000 Binary files a/media/menus/img1.jpg and /dev/null differ diff --git a/media/menus/img2.jpg b/media/menus/img2.jpg deleted file mode 100644 index e4e20a901..000000000 Binary files a/media/menus/img2.jpg and /dev/null differ diff --git a/media/mmm.mp3 b/media/mmm.mp3 deleted file mode 100644 index bb9eb3e66..000000000 Binary files a/media/mmm.mp3 and /dev/null differ diff --git a/media/moshi moshi.mp3 b/media/moshi moshi.mp3 deleted file mode 100644 index 468d98cd0..000000000 Binary files a/media/moshi moshi.mp3 and /dev/null differ diff --git a/media/nadie te pregunto.mp3 b/media/nadie te pregunto.mp3 deleted file mode 100644 index 6cc24b7ed..000000000 Binary files a/media/nadie te pregunto.mp3 and /dev/null differ diff --git a/media/navidad.m4a b/media/navidad.m4a deleted file mode 100644 index 1d7ba46d2..000000000 Binary files a/media/navidad.m4a and /dev/null differ diff --git a/media/niconico.mp3 b/media/niconico.mp3 deleted file mode 100644 index 239ea5fbe..000000000 Binary files a/media/niconico.mp3 and /dev/null differ diff --git a/media/no agregue.mp3 b/media/no agregue.mp3 deleted file mode 100644 index 42920f7e1..000000000 Binary files a/media/no agregue.mp3 and /dev/null differ diff --git a/media/no chu.mp3 b/media/no chu.mp3 deleted file mode 100644 index 9a4f87217..000000000 Binary files a/media/no chu.mp3 and /dev/null differ diff --git a/media/no funciona.mp3 b/media/no funciona.mp3 deleted file mode 100644 index d14b9ae11..000000000 Binary files a/media/no funciona.mp3 and /dev/null differ diff --git a/media/no la pienso.mp3 b/media/no la pienso.mp3 deleted file mode 100644 index 03ff738c4..000000000 Binary files a/media/no la pienso.mp3 and /dev/null differ diff --git a/media/no me hables.mp3 b/media/no me hables.mp3 deleted file mode 100644 index 3a8e77c70..000000000 Binary files a/media/no me hables.mp3 and /dev/null differ diff --git a/media/no me hagas usar esto.mp3 b/media/no me hagas usar esto.mp3 deleted file mode 100644 index b4ccdc25d..000000000 Binary files a/media/no me hagas usar esto.mp3 and /dev/null differ diff --git "a/media/no ped\303\255 tu opinion.mp3" "b/media/no ped\303\255 tu opinion.mp3" deleted file mode 100644 index 030cf079d..000000000 Binary files "a/media/no ped\303\255 tu opinion.mp3" and /dev/null differ diff --git a/media/no-digas-eso-papu.mp3 b/media/no-digas-eso-papu.mp3 deleted file mode 100644 index 0d1b179b7..000000000 Binary files a/media/no-digas-eso-papu.mp3 and /dev/null differ diff --git a/media/ohayo.mp3 b/media/ohayo.mp3 deleted file mode 100644 index 812734862..000000000 Binary files a/media/ohayo.mp3 and /dev/null differ diff --git a/media/omaiga.mp3 b/media/omaiga.mp3 deleted file mode 100644 index df3b39009..000000000 Binary files a/media/omaiga.mp3 and /dev/null differ diff --git a/media/ora.mp3 b/media/ora.mp3 deleted file mode 100644 index 526977ecc..000000000 Binary files a/media/ora.mp3 and /dev/null differ diff --git a/media/orale.mp3 b/media/orale.mp3 deleted file mode 100644 index 0c40eebde..000000000 Binary files a/media/orale.mp3 and /dev/null differ diff --git a/media/otaku.mp3 b/media/otaku.mp3 deleted file mode 100644 index 92965f609..000000000 Binary files a/media/otaku.mp3 and /dev/null differ diff --git a/media/pato.mp3 b/media/pato.mp3 deleted file mode 100644 index 1be7222cf..000000000 Binary files a/media/pato.mp3 and /dev/null differ diff --git a/media/pero-esto-ya-es-otro-nivel.mp3 b/media/pero-esto-ya-es-otro-nivel.mp3 deleted file mode 100644 index dd533caaa..000000000 Binary files a/media/pero-esto-ya-es-otro-nivel.mp3 and /dev/null differ diff --git a/media/pikachu.mp3 b/media/pikachu.mp3 deleted file mode 100644 index bf8b4148d..000000000 Binary files a/media/pikachu.mp3 and /dev/null differ diff --git a/media/pokemon.mp3 b/media/pokemon.mp3 deleted file mode 100644 index c4f0c0c98..000000000 Binary files a/media/pokemon.mp3 and /dev/null differ diff --git a/media/q onda.mp3 b/media/q onda.mp3 deleted file mode 100644 index 3d1f2b2a4..000000000 Binary files a/media/q onda.mp3 and /dev/null differ diff --git a/media/que linda noche.mp3 b/media/que linda noche.mp3 deleted file mode 100644 index 28107eb03..000000000 Binary files a/media/que linda noche.mp3 and /dev/null differ diff --git a/media/rawr.mp3 b/media/rawr.mp3 deleted file mode 100644 index 36ec95468..000000000 Binary files a/media/rawr.mp3 and /dev/null differ diff --git a/media/risa.mp3 b/media/risa.mp3 deleted file mode 100644 index 0accb85fc..000000000 Binary files a/media/risa.mp3 and /dev/null differ diff --git a/media/saliste del grupo.mp3 b/media/saliste del grupo.mp3 deleted file mode 100644 index bf3e3cf5a..000000000 Binary files a/media/saliste del grupo.mp3 and /dev/null differ diff --git a/media/sempai.mp3 b/media/sempai.mp3 deleted file mode 100644 index 8411f9b94..000000000 Binary files a/media/sempai.mp3 and /dev/null differ diff --git a/media/siu.mp3 b/media/siu.mp3 deleted file mode 100644 index 174eb243b..000000000 Binary files a/media/siu.mp3 and /dev/null differ diff --git a/media/sombare14.mp3 b/media/sombare14.mp3 deleted file mode 100644 index 0d8e249c2..000000000 Binary files a/media/sombare14.mp3 and /dev/null differ diff --git a/media/sombare5.mp3 b/media/sombare5.mp3 deleted file mode 100644 index e0167a09f..000000000 Binary files a/media/sombare5.mp3 and /dev/null differ diff --git a/media/sus.mp3 b/media/sus.mp3 deleted file mode 100644 index 43ebfb0ea..000000000 Binary files a/media/sus.mp3 and /dev/null differ diff --git a/media/suspenso.mp3 b/media/suspenso.mp3 deleted file mode 100644 index 1e9679eb3..000000000 Binary files a/media/suspenso.mp3 and /dev/null differ diff --git a/media/takataka.mp3 b/media/takataka.mp3 deleted file mode 100644 index 0790f4ead..000000000 Binary files a/media/takataka.mp3 and /dev/null differ diff --git a/media/tarado.mp3 b/media/tarado.mp3 deleted file mode 100644 index 5efa580d7..000000000 Binary files a/media/tarado.mp3 and /dev/null differ diff --git a/media/te elimino.mp3 b/media/te elimino.mp3 deleted file mode 100644 index 0ba3b02d4..000000000 Binary files a/media/te elimino.mp3 and /dev/null differ diff --git a/media/te sabes.mp3 b/media/te sabes.mp3 deleted file mode 100644 index 9cc87f588..000000000 Binary files a/media/te sabes.mp3 and /dev/null differ diff --git "a/media/te siento m\303\255a.mp3" "b/media/te siento m\303\255a.mp3" deleted file mode 100644 index db67837ec..000000000 Binary files "a/media/te siento m\303\255a.mp3" and /dev/null differ diff --git a/media/temon.mp3 b/media/temon.mp3 deleted file mode 100644 index 6340bfa20..000000000 Binary files a/media/temon.mp3 and /dev/null differ diff --git a/media/tka.mp3 b/media/tka.mp3 deleted file mode 100644 index e4b9d405d..000000000 Binary files a/media/tka.mp3 and /dev/null differ diff --git a/media/toma.mp3 b/media/toma.mp3 deleted file mode 100644 index 1b38c35b4..000000000 Binary files a/media/toma.mp3 and /dev/null differ diff --git a/media/trabajo.mp3 b/media/trabajo.mp3 deleted file mode 100644 index b1d1a412e..000000000 Binary files a/media/trabajo.mp3 and /dev/null differ diff --git a/media/tunometecabrasaramambiche.mp3 b/media/tunometecabrasaramambiche.mp3 deleted file mode 100644 index 5c603c244..000000000 Binary files a/media/tunometecabrasaramambiche.mp3 and /dev/null differ diff --git a/media/una-pregunta.mp3 b/media/una-pregunta.mp3 deleted file mode 100644 index 385136ebb..000000000 Binary files a/media/una-pregunta.mp3 and /dev/null differ diff --git a/media/usted esta detenido.mp3 b/media/usted esta detenido.mp3 deleted file mode 100644 index fdf31311d..000000000 Binary files a/media/usted esta detenido.mp3 and /dev/null differ diff --git a/media/vamo.mp3 b/media/vamo.mp3 deleted file mode 100644 index 9730f1942..000000000 Binary files a/media/vamo.mp3 and /dev/null differ diff --git a/media/vengo.mp3 b/media/vengo.mp3 deleted file mode 100644 index 86bb562a9..000000000 Binary files a/media/vengo.mp3 and /dev/null differ diff --git a/media/verdad-que-te-engane.mp3 b/media/verdad-que-te-engane.mp3 deleted file mode 100644 index 0f6aa86db..000000000 Binary files a/media/verdad-que-te-engane.mp3 and /dev/null differ diff --git a/media/vete a la verga.mp3 b/media/vete a la verga.mp3 deleted file mode 100644 index b1b348031..000000000 Binary files a/media/vete a la verga.mp3 and /dev/null differ diff --git a/package.json b/package.json index a3ded54c9..18e0ba9db 100644 --- a/package.json +++ b/package.json @@ -1,96 +1,50 @@ { -"name": "The-LoliBot-MD", -"version": "1.5.5", -"description": "Super Bot WhatsApp", -"main": "index.js", -"type": "module", - -"directories": { -"lib": "lib", -"src": "src", -"plugins": "plugins" }, - -"scripts": { -"start": "node index.js", -"qr": "node index.js qr", -"code": "node index.js code", -"test": "node test.js", -"test2": "nodemon index.js" }, - -"homepage": "https://github.com/elrebelde21/The-LoliBot-MD", -"author": { -"name": "elrebelde21" }, - -"repository": { -"type": "git", -"url": "git+https://github.com/elrebelde21/The-LoliBot-MD.git" }, - -"bugs": { -"url": "https://github.com/elrebelde21/The-LoliBot-MD/issues" }, -"license": "GPL-3.0-or-later", -"dependencies": { -"@whiskeysockets/baileys": "^6.5.0", -"@adiwajshing/keyed-db": "^0.2.4", -"@bochilteam/scraper": "^4.2.4", -"@brandond/findthelyrics": "^2.0.5", -"@green-code/music-track-data": "^2.0.3", -"@shineiichijo/marika": "^2.0.6", -"@vitalets/google-translate-api": "^8.0.0", -"@xct007/frieren-scraper": "^0.0.2", -"acrcloud": "^1.4.0", -"api-dylux": "^1.5.6", -"aptoide-scraper": "^1.0.1", -"awesome-phonenumber": "^2.68.0", -"axios": "^1.1.3", -"mathjs": "^11.3.0", -"body-parser": "^1.20.2", -"cfonts": "^2.10.0", -"chalk": "^5.0.0", -"cheerio": "^1.0.0-rc.10", -"colors": "1.4.0", -"express": "^4.17.3", -"fb-downloader-scrapper": "^1.0.1", -"file-type": "^17.1.1", -"fluent-ffmpeg": "^2.1.2", -"formdata-node": "^4.3.2", -"fs": "^0.0.1-security", -"hispamemes": "^1.0.7", -"human-readable": "^0.2.1", -"imagemaker.js": "^2.0.4", -"instagram-url-direct": "^1.0.12", -"jsdom": "^19.0.0", -"link-preview-js": "^3.0.0", -"lodash": "^4.17.21", -"lowdb": "^3.0.0", -"md5": "^2.3.0", -"moment-timezone": "^0.5.34", -"mongoose": "^6.3.3", -"node-fetch": "^3.2.0", -"node-gtts": "^2.0.2", -"node-webpmux": "^3.1.1", -"node-os-utils": "^1.3.6", -"openai": "^3.3.0", -"pdfkit": "^0.13.0", -"perf_hooks": "^0.0.1", -"pino": "^7.8.0", -"pino-pretty": "^7.5.1", -"qrcode": "^1.5.0", -"qrcode-terminal": "^0.12.0", -"readline": "^1.3.0", -"similarity": "^1.2.1", -"socket.io": "^4.4.1", -"spotifydl-x": "^0.3.5", -"syntax-error": "^1.4.0", -"terminal-image": "^2.0.0", -"url-regex-safe": "^3.0.0", -"javascript-obfuscator": "^4.0.0", -"wa-sticker-formatter": "^4.3.2", -"yargs": "^17.3.1", -"yt-search": "^2.10.3", -"google-it": "^1.6.3", -"ytdl-core": "^4.11.4" -}, -"devDependencies": { -"eslint": "^8.45.0", -"eslint-config-google": "^0.14.0" -}} + "name": "LoliBot", + "version": "2.0.0 (beta)", + "type": "module", + "scripts": { + "start": "node --max-old-space-size=512 index.js", + "dev": "node index.js" + }, + "dependencies": { + "@whiskeysockets/baileys": "^7.0.0-rc.3", + "@bochilteam/scraper": "^5.0.1", + "chalk": "^5.3.0", + "api-dylux": "^1.8.3", + "axios": "^1.7.9", + "pino": "^8.0.0", + "readline-sync": "^1.4.10", + "cfonts": "^3.3.0", + "yargs": "^17.7.2", + "qrcode": "^1.5.0", + "qrcode-terminal": "^0.12.0", + "syntax-error": "^1.4.0", + "node-fetch": "^3.2.10", + "node-webpmux": "^3.1.3", + "yt-search": "^2.12.1", + "node-gtts": "^2.0.2", + "ytdl-core": "latest", + "openai": "^3.3.0", + "file-type": "^18.0.0", + "fluent-ffmpeg": "^2.1.2", + "form-data": "^4.0.0", + "cheerio": "1.0.0-rc.12", + "acrcloud": "^1.4.0", + "url-file-size": "^1.0.5-1", + "mime-types": "^2.1.35", + "link-preview-js": "^3.0.0", + "formdata-node": "^5.0.0", + "axios-cookiejar-support": "^5.0.5", + "lodash": "^4.17.21", + "fuzzysort": "^1.0.0", + "jimp": "^1.6.0", + "human-readable": "^0.2.1", + "hispamemes": "^1.0.7", + "node-cache": "^5.1.2" + }, + "optionalDependencies": { + "wa-sticker-formatter": "^4.4.4", + "moment-timezone": "^0.5.37", + "pg": "^8.11.3" + } +} diff --git a/plugins/_allantilink.js b/plugins/_allantilink.js deleted file mode 100644 index 643d0bf7f..000000000 --- a/plugins/_allantilink.js +++ /dev/null @@ -1,94 +0,0 @@ -import fetch from 'node-fetch' -const isLinkTik = /tiktok.com/i -const isLinkYt = /youtube.com|youtu.be/i -const isLinkTel = /telegram.com|t.me/i -const isLinkFb = /facebook.com|fb.me/i -const isLinkIg = /instagram.com/i -const isLinkTw = /twitter.com/i - -export async function before(m, { conn, args, usedPrefix, command, isAdmin, isBotAdmin }) { -if (m.isBaileys && m.fromMe) -return !0 -if (!m.isGroup) return !1 -let chat = global.db.data.chats[m.chat] -let bot = global.db.data.settings[this.user.jid] || {} -let delet = m.key.participant -let bang = m.key.id -let toUser = `${m.sender.split("@")[0]}` -let aa = toUser + '@s.whatsapp.net' - -const isAntiLinkTik = isLinkTik.exec(m.text) -const isAntiLinkYt = isLinkYt.exec(m.text) -const isAntiLinkTel = isLinkTel.exec(m.text) -const isAntiLinkFb = isLinkFb.exec(m.text) -const isAntiLinkIg = isLinkIg.exec(m.text) -const isAntiLinkTw = isLinkTw.exec(m.text) - -if (chat.antiTiktok && isAntiLinkTik) { -if (isBotAdmin && bot.restrict) { -await conn.reply(m.chat, `${lenguajeGB['smsAvisoAG']()}${lenguajeGB['smsEnlaceTik']()} *@${toUser}*`, null, { mentions: [aa] }) -await conn.sendMessage(m.chat, { delete: { remoteJid: m.chat, fromMe: false, id: bang, participant: delet }}) -await conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove') -} else if (!isBotAdmin) { -return m.reply(`${lenguajeGB['smsAvisoFG']()} ${lenguajeGB['smsAllAdmin']()}`) -} else if (!bot.restrict) { -return m.reply(`${lenguajeGB['smsAvisoAG']()}${lenguajeGB['smsSoloOwner']()}`) -}} - -if (chat.antiYoutube && isAntiLinkYt) { -if (isBotAdmin && bot.restrict) { -await conn.reply(m.chat, `${lenguajeGB['smsAvisoAG']()}${lenguajeGB['smsEnlaceYt']()} *@${toUser}*`, null, { mentions: [aa] }) -await conn.sendMessage(m.chat, { delete: { remoteJid: m.chat, fromMe: false, id: bang, participant: delet }}) -await conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove') -} else if (!isBotAdmin) { -return m.reply(`${lenguajeGB['smsAvisoFG']()} ${lenguajeGB['smsAllAdmin']()}`) -} else if (!bot.restrict) { -return m.reply(`${lenguajeGB['smsAvisoAG']()}${lenguajeGB['smsSoloOwner']()}`) -}} - -if (chat.antiTelegram && isAntiLinkTel) { -if (isBotAdmin && bot.restrict) { -await conn.reply(m.chat, `${lenguajeGB['smsAvisoAG']()}${lenguajeGB['smsEnlaceTel']()} *@${toUser}*`, null, { mentions: [aa] }) -await conn.sendMessage(m.chat, { delete: { remoteJid: m.chat, fromMe: false, id: bang, participant: delet }}) -await conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove') -} else if (!isBotAdmin) { -return m.reply(`${lenguajeGB['smsAvisoFG']()} ${lenguajeGB['smsAllAdmin']()}`) -} else if (!bot.restrict) { -return m.reply(`${lenguajeGB['smsAvisoAG']()}${lenguajeGB['smsSoloOwner']()}`) -}} - -if (chat.antiFacebook && isAntiLinkFb) { -if (isBotAdmin && bot.restrict) { -await conn.reply(m.chat, `${lenguajeGB['smsAvisoAG']()}${lenguajeGB['smsEnlaceFb']()} *@${toUser}*`, null, { mentions: [aa] }) -await conn.sendMessage(m.chat, { delete: { remoteJid: m.chat, fromMe: false, id: bang, participant: delet }}) -await conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove') -} else if (!isBotAdmin) { -return m.reply(`${lenguajeGB['smsAvisoFG']()} ${lenguajeGB['smsAllAdmin']()}`) -} else if (!bot.restrict) { -return m.reply(`${lenguajeGB['smsAvisoAG']()}${lenguajeGB['smsSoloOwner']()}`) -}} - -if (chat.antiInstagram && isAntiLinkIg) { -if (isBotAdmin && bot.restrict) { -await conn.reply(m.chat, `${lenguajeGB['smsAvisoAG']()}${lenguajeGB['smsEnlaceIg']()} *@${toUser}*`, null, { mentions: [aa] }) -await conn.sendMessage(m.chat, { delete: { remoteJid: m.chat, fromMe: false, id: bang, participant: delet }}) -await conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove') -} else if (!isBotAdmin) { -return m.reply(`${lenguajeGB['smsAvisoFG']()} ${lenguajeGB['smsAllAdmin']()}`) -} else if (!bot.restrict) { -return m.reply(`${lenguajeGB['smsAvisoAG']()}${lenguajeGB['smsSoloOwner']()}`) -}} - -if (chat.antiTwitter && isAntiLinkTw) { -if (isBotAdmin && bot.restrict) { -await conn.reply(m.chat, `${lenguajeGB['smsAvisoAG']()}${lenguajeGB['smsEnlaceTw']()} *@${toUser}*`, null, { mentions: [aa] }) -await conn.sendMessage(m.chat, { delete: { remoteJid: m.chat, fromMe: false, id: bang, participant: delet }}) -await conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove') -} else if (!isBotAdmin) { -return m.reply(`${lenguajeGB['smsAvisoFG']()} ${lenguajeGB['smsAllAdmin']()}`) -} else if (!bot.restrict) { -return m.reply(`${lenguajeGB['smsAvisoAG']()}${lenguajeGB['smsSoloOwner']()}`) -}} -return !0 -} - diff --git a/plugins/_antifakes.js b/plugins/_antifakes.js deleted file mode 100644 index 2df678670..000000000 --- a/plugins/_antifakes.js +++ /dev/null @@ -1,121 +0,0 @@ -let handler = m => m -handler.before = async function (m, {conn, isAdmin, isBotAdmin, isOwner, isROwner} ) { -const fkontak = { "key": { "participants":"0@s.whatsapp.net", "remoteJid": "status@broadcast", "fromMe": false, "id": "Halo" }, "message": { "contactMessage": { "vcard": `BEGIN:VCARD\nVERSION:3.0\nN:Sy;Bot;;;\nFN:y\nitem1.TEL;waid=${m.sender.split('@')[0]}:${m.sender.split('@')[0]}\nitem1.X-ABLabel:Ponsel\nEND:VCARD` }}, "participant": "0@s.whatsapp.net" -} -if (!m.isGroup) return !1 -let chat = global.db.data.chats[m.chat] -let bot = global.db.data.settings[conn.user.jid] || {} -if (isBotAdmin && chat.antifake && !isAdmin && !isOwner && !isROwner) { -//if (!db.data.chats[m.chat].antifake && m.isGroup) throw 0 -let texto = `${ag}este numero *@${m.sender.split`@`[0]}* no esta permitido en este grupo!!\n\nlo siento seras expulsado.. tu numero parece algo fake 😯` - -if (m.sender.startsWith('91' || '91')) { -await conn.reply(m.chat, texto, fkontak, m) -let responseb = await conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove') -if (responseb[0].status === "404") return -} - -if (m.sender.startsWith('92' || '92')) { -await conn.reply(m.chat, texto, fkontak, m) -let responseb = await conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove') -if (responseb[0].status === "404") return -} - -if (m.sender.startsWith('222' || '222')) { -await conn.reply(m.chat, texto, fkontak, m) -let responseb = await conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove') -if (responseb[0].status === "404") return -} - -if (m.sender.startsWith('93' || '93')) { -await conn.reply(m.chat, texto, fkontak, m) -let responseb = await conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove') -if (responseb[0].status === "404") return -} - -if (m.sender.startsWith('91' || '91')) { -await conn.reply(m.chat, texto, fkontak, m) -let responseb = await conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove') -if (responseb[0].status === "404") return -} - -if (m.sender.startsWith('265' || '265')) { -await conn.reply(m.chat, texto, fkontak, m) -let responseb = await conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove') -if (responseb[0].status === "404") return -} - -if (m.sender.startsWith('61' || '61')) { -await conn.reply(m.chat, texto, fkontak, m) -let responseb = await conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove') -if (responseb[0].status === "404") return -} - -if (m.sender.startsWith('62' || '62')) { -await conn.reply(m.chat, texto, fkontak, m) -let responseb = await conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove') -if (responseb[0].status === "404") return -} - -if (m.sender.startsWith('966' || '966')) { -await conn.reply(m.chat, texto, fkontak, m) -let responseb = await conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove') -if (responseb[0].status === "404") return -} - -if (m.sender.startsWith('229' || '229')) { -await conn.reply(m.chat, texto, fkontak, m) -let responseb = await conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove') -if (responseb[0].status === "404") return -} - -if (m.sender.startsWith('40' || '40')) { -await conn.reply(m.chat, texto, fkontak, m) -let responseb = await conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove') -if (responseb[0].status === "404") return -} - -if (m.sender.startsWith('49' || '49')) { -await conn.reply(m.chat, texto, fkontak, m) -let responseb = await conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove') -if (responseb[0].status === "404") return -} - -if (m.sender.startsWith('20' || '20')) { -await conn.reply(m.chat, texto, fkontak, m) -let responseb = await conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove') -if (responseb[0].status === "404") return -} - -if (m.sender.startsWith('963' || '963')) { -await conn.reply(m.chat, texto, fkontak, m) -let responseb = await conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove') -if (responseb[0].status === "404") return -} - -if (m.sender.startsWith('967' || '967')) { -await conn.reply(m.chat, texto, fkontak, m) -let responseb = await conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove') -if (responseb[0].status === "404") return -} - -if (m.sender.startsWith('234' || '234')) { -await conn.reply(m.chat, texto, fkontak, m) -let responseb = await conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove') -if (responseb[0].status === "404") return -} - -if (m.sender.startsWith('210' || '210')) { -await conn.reply(m.chat, texto, fkontak, m) -let responseb = await conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove') -if (responseb[0].status === "404") return -} - -if (m.sender.startsWith('212' || '212')) { -await conn.reply(m.chat, texto, fkontak, m) -let responseb = await conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove') -if (responseb[0].status === "404") return -} - -}} -export default handler diff --git a/plugins/_antilink.js b/plugins/_antilink.js index e3ab6629d..399e3e9da 100644 --- a/plugins/_antilink.js +++ b/plugins/_antilink.js @@ -1,28 +1,51 @@ -let linkRegex = /chat.whatsapp.com\/([0-9A-Za-z]{20,24})/i -export async function before(m, { isAdmin, isBotAdmin }) { -if (m.isBaileys && m.fromMe) -return !0 -if (!m.isGroup) return !1 -let chat = global.db.data.chats[m.chat] -let delet = m.key.participant -let bang = m.key.id -const user = `@${m.sender.split`@`[0]}`; -let bot = global.db.data.settings[this.user.jid] || {} -const isGroupLink = linkRegex.exec(m.text) -const grupo = `https://chat.whatsapp.com` -if (isAdmin && chat.antiLink && m.text.includes(grupo)) return m.reply('*El AntiLink Esta activo pero que salvarte eres admin 😎!*') -if (chat.antiLink && isGroupLink && !isAdmin) { -if (isBotAdmin) { -const linkThisGroup = `https://chat.whatsapp.com/${await this.groupInviteCode(m.chat)}` -if (m.text.includes(linkThisGroup)) return !0 -} -await conn.sendMessage(m.chat, {text: `*「 ANTILINK DETECTADO 」*\n\n${user} 🤨 Rompiste las reglas del Grupo sera eliminado....`, mentions: [m.sender]}, {quoted: m, ephemeralExpiration: 24*60*100, disappearingMessagesInChat: 24*60*100}) -if (!isBotAdmin) return m.reply('*Te salvarte gil, no soy admin no te puedo eliminar*') -if (isBotAdmin) { -await conn.sendMessage(m.chat, { delete: { remoteJid: m.chat, fromMe: false, id: bang, participant: delet }}) -let responseb = await conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove') -if (responseb[0].status === "404") return -} else if (!bot.restrict) return m.reply('*𝙀𝙡 𝙥𝙧𝙤𝙥𝙞𝙚𝙩𝙖𝙧𝙞𝙤 𝙙𝙚𝙡 𝙗𝙤𝙩 𝙣𝙤 𝙩𝙞𝙚𝙣𝙚 𝙖𝙘𝙩𝙞𝙫𝙖𝙙𝙤 𝙚𝙡 𝙧𝙚𝙨𝙩𝙧𝙞𝙘𝙘𝙞𝙤𝙣 (𝙚𝙣𝙖𝙗𝙡𝙚 𝙧𝙚𝙨𝙩𝙧𝙞𝙘𝙩) 𝙘𝙤𝙣𝙩𝙖𝙘𝙩𝙚 𝙘𝙤𝙣 𝙚𝙡 𝙥𝙖𝙧𝙖 𝙦𝙪𝙚 𝙡𝙤𝙨 𝙝𝙖𝙗𝙞𝙡𝙞𝙩𝙚*') +import { db } from '../lib/postgres.js'; + +let linkRegex1 = /chat\.whatsapp\.com\/[0-9A-Za-z]{20,24}|5chat-whatzapp\.vercel\.app/i; +let linkRegex2 = /whatsapp\.com\/channel\/[0-9A-Za-z]{20,24}/i; + +export async function before(m, { conn }) { +if (!m.isGroup || !m.originalText) return; +const userTag = `@${m.sender.split('@')[0]}`; +const bang = m.key.id; +let delet = m.key.participantAlt || m.key.participant || m.sender; + +try { +const res = await db.query('SELECT antilink FROM group_settings WHERE group_id = $1', [m.chat]); +const config = res.rows[0]; +if (!config || !config.antilink) return; +} catch (e) { +console.error(e); +return; } -return !0 + +const isGroupLink = linkRegex1.test(m.originalText) || linkRegex2.test(m.originalText); +if (!isGroupLink) return; +const metadata = await conn.groupMetadata(m.chat); +const botId = conn.user?.id?.replace(/:\d+@/, "@"); +const isBotAdmin = metadata.participants.some(p => { +const pid = p.id?.replace(/:\d+/, ""); +return (pid === botId || pid === (conn.user?.lid || "").replace(/:\d+/, "")) && p.admin; +}); + +const senderVariants = [m.sender, m.lid].filter(Boolean).map(j => j.replace(/:\d+/, "")); +const isSenderAdmin = metadata.participants.some(p => { +const pid = p.id?.replace(/:\d+/, ""); +return senderVariants.includes(pid) && p.admin; +}); + +if (isSenderAdmin || m.fromMe) return; +if (conn.groupInviteCode) { +try { +const code = await conn.groupInviteCode(m.chat); +if (m.originalText.includes(`https://chat.whatsapp.com/${code}`)) return; +} catch {} } + +if (!isBotAdmin) return await conn.sendMessage(m.chat, { text: `*「 ANTILINK DETECTADO 」*\n\n${userTag}, enviaste un link pero no puedo eliminarte porque no soy admin.`, mentions: [m.sender]}, { quoted: m }); +await conn.sendMessage(m.chat, { text: `*「 ANTILINK DETECTADO 」*\n\n${userTag}, rompiste las reglas del grupo y serás eliminado.`, mentions: [m.sender]}, { quoted: m }); +try { +await conn.sendMessage(m.chat, { delete: { remoteJid: m.chat, fromMe: false, id: bang, participant: delet }}); +await conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove'); +} catch (err) { +console.error(err); +}} diff --git a/plugins/_antilink2.js b/plugins/_antilink2.js index e9d2470cf..1ada81ea7 100644 --- a/plugins/_antilink2.js +++ b/plugins/_antilink2.js @@ -1,31 +1,50 @@ -let linkRegex = /https:/i -export async function before(m, { isAdmin, isBotAdmin, text }) { -if (m.isBaileys && m.fromMe) -return !0 -if (!m.isGroup) return !1 -let chat = global.db.data.chats[m.chat] -let delet = m.key.participant -let bang = m.key.id -const user = `@${m.sender.split`@`[0]}`; -let bot = global.db.data.settings[this.user.jid] || {} -const isGroupLink = linkRegex.exec(m.text) -if (chat.antiLink2 && isGroupLink && !isAdmin) { -if (isBotAdmin) { -const linkThisGroup = `https://chat.whatsapp.com/${await this.groupInviteCode(m.chat)}` -const linkThisGroup2 = `https://www.youtube.com/` -const linkThisGroup3 = `https://youtu.be/` -if (m.text.includes(linkThisGroup)) return !0 -if (m.text.includes(linkThisGroup2)) return !0 -if (m.text.includes(linkThisGroup3)) return !0 -} -await conn.sendMessage(m.chat, {text: `*「 ANTILINK DETECTADO 」*\n\n${user} 🤨 Rompiste las reglas del Grupo sera eliminado....`, mentions: [m.sender]}, {quoted: m, ephemeralExpiration: 24*60*100, disappearingMessagesInChat: 24*60*100}) -//await conn.reply(m.chat, `*「 𝘼𝙉𝙏𝙄 𝙇𝙄𝙉𝙆𝙎 」*\n\n*𝘾𝙝𝙚, ${await this.getName(m.sender)} 𝙀𝙨𝙤 𝙣𝙤 𝙨𝙚 𝙥𝙚𝙧𝙢𝙞𝙩𝙚 𝙧𝙖𝙩𝙖, 𝙧𝙤𝙢𝙥𝙞𝙨𝙩𝙚 𝙡𝙖 𝙧𝙚𝙜𝙡𝙖𝙨 𝙙𝙚𝙡 𝙜𝙧𝙪𝙥𝙤 𝙨𝙚𝙧𝙖́ 𝙚𝙡𝙞𝙢𝙞𝙣𝙖𝙙𝙤 🤑....!!*${isBotAdmin ? '' : '\n\n*[❗𝐈𝐍𝐅𝐎❗] 𝑯𝒆𝒚 𝒒𝒖𝒆 𝒔𝒂𝒍𝒗𝒂𝒓𝒕𝒆 𝑮𝒊𝒍 𝒆𝒍 𝒃𝒐𝒕 𝒏𝒐 𝒆𝒔 𝒂𝒅𝒎𝒊𝒏 :v*'}`, null, { mentions: [m.sender] } ) -if (!isBotAdmin) return m.reply('*Te salvarte gil, no soy admin no te puedo eliminar*') -if (isBotAdmin) { -await conn.sendMessage(m.chat, { delete: { remoteJid: m.chat, fromMe: false, id: bang, participant: delet }}) -let responseb = await conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove') -if (responseb[0].status === "404") return -} else if (!bot.restrict) return m.reply('*𝙀𝙡 𝙥𝙧𝙤𝙥𝙞𝙚𝙩𝙖𝙧𝙞𝙤 𝙙𝙚𝙡 𝙗𝙤𝙩 𝙣𝙤 𝙩𝙞𝙚𝙣𝙚 𝙖𝙘𝙩𝙞𝙫𝙖𝙙𝙤 𝙚𝙡 𝙧𝙚𝙨𝙩𝙧𝙞𝙘𝙘𝙞𝙤́𝙣 (𝙚𝙣𝙖𝙗𝙡𝙚 𝙧𝙚𝙨𝙩𝙧𝙞𝙘𝙩) 𝙘𝙤𝙣𝙩𝙖𝙘𝙩𝙚 𝙘𝙤𝙣 𝙚𝙡 𝙥𝙖𝙧𝙖 𝙦𝙪𝙚 𝙡𝙤𝙨 𝙝𝙖𝙗𝙞𝙡𝙞𝙩𝙚*') +import { db } from '../lib/postgres.js'; + +const linkRegex = /https?:\/\/\S+/i; + +export async function before(m, { conn }) { +if (!m.isGroup || !m.originalText) return; +const userTag = `@${m.sender.split('@')[0]}`; +const bang = m.key.id; +let delet = m.key.participantAlt || m.key.participant || m.sender; + +try { +const res = await db.query('SELECT antilink2 FROM group_settings WHERE group_id = $1', [m.chat]); +const config = res.rows[0]; +if (!config || !config.antilink) return; +} catch (e) { +console.error(e); +return; } -return !0 + +const isGroupLink = linkRegex.test(m.originalText); +if (!isGroupLink) return; +const metadata = await conn.groupMetadata(m.chat); +const botId = conn.user?.id?.replace(/:\d+@/, "@"); +const isBotAdmin = metadata.participants.some(p => { +const pid = p.id?.replace(/:\d+/, ""); +return (pid === botId || pid === (conn.user?.lid || "").replace(/:\d+/, "")) && p.admin; +}); + +const senderVariants = [m.sender, m.lid].filter(Boolean).map(j => j.replace(/:\d+/, "")); +const isSenderAdmin = metadata.participants.some(p => { +const pid = p.id?.replace(/:\d+/, ""); +return senderVariants.includes(pid) && p.admin; +}); + +if (isSenderAdmin || m.fromMe) return; +if (conn.groupInviteCode) { +try { +const code = await conn.groupInviteCode(m.chat); +if (m.originalText.includes(`https://chat.whatsapp.com/${code}`)) return; +} catch {} } + +if (!isBotAdmin) return await conn.sendMessage(m.chat, { text: `*「 ANTILINK DETECTADO 」*\n\n${userTag}, enviaste un link pero no puedo eliminarte porque no soy admin.`, mentions: [m.sender]}, { quoted: m }); +await conn.sendMessage(m.chat, { text: `*「 ANTILINK DETECTADO 」*\n\n${userTag}, rompiste las reglas del grupo y serás eliminado.`, mentions: [m.sender]}, { quoted: m }); +try { +await conn.sendMessage(m.chat, { delete: { remoteJid: m.chat, fromMe: false, id: bang, participant: delet }}); +await conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove'); +} catch (err) { +console.error(err); +}} diff --git a/plugins/_antiprivado.js b/plugins/_antiprivado.js index 458b8ec00..0d663182f 100644 --- a/plugins/_antiprivado.js +++ b/plugins/_antiprivado.js @@ -1,35 +1,55 @@ -const comandos = /piedra|papel|tijera|estado|verificar|creadora|bottemporal|grupos|instalarbot|términos|bots|deletebot|eliminarsesion|serbot|verify|registrar|deletesesion|jadibot/i -export async function before(m, {conn, isAdmin, isBotAdmin, isOwner, isROwner, usedPrefix, command }) { -if (m.isBaileys && m.fromMe) return !0 -if (m.isGroup) return !1 -if (!m.message) return !0 -const regex = new RegExp(`^${comandos.source}$`, 'i') -if (regex.test(m.text.toLowerCase().trim())) return !0 - -let chat, user, bot, mensaje -chat = global.db.data.chats[m.chat] -user = global.db.data.users[m.sender] -bot = global.db.data.settings[this.user.jid] || {} - -if (bot.antiPrivate && !isOwner && !isROwner) { -if (user.counterPrivate === 0) { -mensaje = `Hola *@${m.sender.split`@`[0]}*, Esta prohibido usar el bot el privado\n\n✴️solo si quiere hacerte un bot manda el comando .serbot\n\n🚫NO USAR LOS COMANDO DEL BOT AL PV🚫\n\nPara usar el bot unirte al grupo del oficial del el bot\n${nn}\n\n⚠️ \`\`\`ADVERTENCIA 1/3\`\`\` ⚠️` -await conn.reply(m.chat, mensaje, m, { mentions: [m.sender] }) - -} else if (user.counterPrivate === 1) { -let grupos = [ nn, nnn, nnnt, nnntt, nnnttt ].getRandom() -mensaje = `*Otra vez 🤨 ya que dije no escriba al privado 🫤*\n\n*Para usar el bot unirte al grupo oficial aqui 👇*\n${grupos}\n\n*SI VUELVE A ESCRIBIR SERÁ BLOQUEADO(A)* ‼️\n⚠️ \`\`\`ADVERTENCIA 2/3\`\`\` ⚠️` -await conn.reply(m.chat, mensaje, m, { mentions: [m.sender] }) - -} else if (user.counterPrivate === 2) { -mensaje = `*@${m.sender.split`@`[0]} 🤨, NO ENTIENDE QUE REPITE 3 VECES NO ESCRIBE AL PRIVADO, AHORA SERA BLOQUEADO.*\n\n⚠️ \`\`\`ADVERTENCIA 3/3 \`\`\` ⚠️` -await conn.reply(m.chat, mensaje, m, { mentions: [m.sender] }) - -user.counterPrivate = -1 -await this.updateBlockStatus(m.sender, 'block') +import { db } from '../lib/postgres.js' +import { getSubbotConfig } from '../lib/postgres.js' +import chalk from 'chalk' + +const comandosPermitidos = ['code', 'serbot', 'jadibot', 'bots', 'piedra', 'tijera', 'papel'] +export async function before(m, { conn, isOwner }) { +const botId = conn.user?.id || globalThis.conn.user.id +const config = await getSubbotConfig(botId) +const chatId = m.chat || m.key?.remoteJid || '' +const sender = m.sender +const texto = m.originalText?.toLowerCase().trim() || m.text?.toLowerCase().trim() || '' + +if (m.isGroup || m.fromMe || isOwner) { +return } -user.counterPrivate++ + +if (!config.anti_private) return +const prefixes = Array.isArray(config.prefix) ? config.prefix : [config.prefix || '/'] + +let usedPrefix = '' +for (const prefix of prefixes) { +if (texto.startsWith(prefix)) { +usedPrefix = prefix +break +}} + +const withoutPrefix = texto.slice(usedPrefix.length).trim() +const [commandName, ...args] = withoutPrefix.split(/\s+/) +const command = commandName ? commandName.toLowerCase() : '' + +if (comandosPermitidos.includes(command)) { +return } -return !1 + +try { +let res = await db.query(`SELECT warn_pv FROM usuarios WHERE id = $1`, [sender]) +let warned = res.rows[0]?.warn_pv || false + +if (!res.rowCount) { +await db.query(`INSERT INTO usuarios (id, warn_pv) VALUES ($1, true)`, [sender]) +await m.reply(`Hola, está prohibido usar los comandos en privado...\n\n*\`🔰 SI QUIERES HACERTE UN SUB BOT, USA LOS SIGUIENTES COMANDOS:\`*\n/serbot\n/code\n\n> _*Para usar mis funciones, únete al grupo oficial 👇*_\n${[info.nn, info.nn2, info.nn3, info.nn4, info.nn5, info.nn6].getRandom()}`) +return false } +if (!warned) { +await db.query(`UPDATE usuarios SET warn_pv = true WHERE id = $1`, [sender]) +await m.reply(`Hola, está prohibido usar los comandos en privado...\n\n*\`🔰 SI QUIERES HACERTE UN SUB BOT, USA LOS SIGUIENTES COMANDOS:\`*\n/serbot\n/code\n\n> _*Para usar mis funciones, únete al grupo oficial 👇*_\n${[info.nn, info.nn2, info.nn3, info.nn4, info.nn5, info.nn6].getRandom()}`) +return false +} + +return false +} catch (e) { +return false +} +} \ No newline at end of file diff --git a/plugins/_antispam.js b/plugins/_antispam.js deleted file mode 100644 index 89933c425..000000000 --- a/plugins/_antispam.js +++ /dev/null @@ -1,102 +0,0 @@ -const userSpamData = {} -let handler = m => m -handler.before = async function (m, {conn, isAdmin, isBotAdmin, isOwner, isROwner, isPrems}) { -const chat = global.db.data.chats[m.chat] -if (!m.isGroup) return -if (chat.modoadmin) return -if (isOwner || isROwner || isAdmin || !isBotAdmin || isPrems) return - -let user = global.db.data.users[m.sender] -const sender = m.sender -const currentTime = new Date().getTime() -const timeWindow = 5000 // tiempo límite -const messageLimit = 8 // cantidad de mensajes en dicho tiempo - -let time, time2, time3, mensaje -time = 60000 // 1 min -time2 = 120000 // 2 min -time3 = 360000 // 4 min - -if (!(sender in userSpamData)) { -userSpamData[sender] = { -lastMessageTime: currentTime, -messageCount: 1, -antiBan: 0, -message: 0, -message2: 0, -message3: 0, -} -} else { -const userData = userSpamData[sender] -const timeDifference = currentTime - userData.lastMessageTime - -if (userData.antiBan === 1) { -if (userData.message < 1) { -userData.message++ -mensaje = `*HEY @${m.sender.split`@`[0]} DEJA SPAM 🤨*\n*NO PUEDE USAR COMANDOS DURANTE 1 MINUTOS*\n\n*MOTIVO: SPAM DE MENSAJES LEVE*\n\n⚠️ \`\`\`ADVERTENCIA 1/3\`\`\` ⚠️` -await conn.reply(m.chat, mensaje, m, { mentions: [m.sender] }) -}} else if (userData.antiBan === 2) { -if (userData.message2 < 1) { -userData.message2++ -mensaje = `*HEY @${m.sender.split`@`[0]} OTRA VEZ 🤨DEJA EL PUTO SPAM*\n*NO PUEDE USAR COMANDOS DURANTE 2 MINUTOS*\n*MOTIVO: SPAM*\n\n*SI VUELVE A HACES SPAM SERA ELIMINADO DEL GRUPO*\n\n⚠️ \`\`\`ADVERTENCIA 2/3\`\`\` ⚠️` -await conn.reply(m.chat, mensaje, m, { mentions: [m.sender] }) -}} else if (userData.antiBan === 3) { -if (userData.message3 < 1) { -userData.message3++ -mensaje = `*Ufff @${m.sender.split`@`[0]} 🤨 NO ENTENDER? QUE REPERTI 3 VECES NO HAGAS SPAM*\nAHORA SERA ELIMINADO DEL GRUPO....` -await conn.reply(m.chat, mensaje, m, { mentions: [m.sender] }) -await conn.groupParticipantsUpdate(m.chat, [sender], 'remove') -}} - -if (timeDifference <= timeWindow) { -userData.messageCount += 1 - -if (userData.messageCount >= messageLimit) { -const mention = `@${sender.split("@")[0]}` -const warningMessage = `*${mention} 🤨 ESTA PROHIBIDO HACER SPAM DE MENSAJES!!*` -if (userData.antiBan > 2) return -await conn.reply(m.chat, warningMessage, m, { mentions: [m.sender] }) -user.banned = true -userData.antiBan++ -userData.messageCount = 1 - -if (userData.antiBan === 1) { -setTimeout(() => { -if (userData.antiBan === 1) { -userData.antiBan = 0 -userData.message = 0 -userData.message2 = 0 -userData.message3 = 0 -user.banned = false -}}, time) - -} else if (userData.antiBan === 2) { -setTimeout(() => { -if (userData.antiBan === 2) { -userData.antiBan = 0 -userData.message = 0 -userData.message2 = 0 -userData.message3 = 0 -user.banned = false -}}, time2) - -} else if (userData.antiBan === 3) { -setTimeout(() => { -if (userData.antiBan === 3) { -userData.antiBan = 0 -userData.message = 0 -userData.message2 = 0 -userData.message3 = 0 -user.banned = false -}}, time3) - -}} -} else { -if (timeDifference >= 2000) { -userData.messageCount = 1 -}} -userData.lastMessageTime = currentTime -}} - -export default handler - diff --git a/plugins/_antitoxic.js b/plugins/_antitoxic.js deleted file mode 100644 index 69dabdf96..000000000 --- a/plugins/_antitoxic.js +++ /dev/null @@ -1,32 +0,0 @@ -/*const toxicRegex = /g0re|g0r3|g.o.r.e|sap0|sap4|malparido|malparida|malparidos|malparidas|m4lp4rid0|m4lp4rido|m4lparido|malp4rido|m4lparid0|malp4rid0|chocha|chup4la|chup4|sabandija|hijodelagranputa|hijodeputa|hijadeputa|hijadelagranputa|cajetuda|laconchadedios|putita|put1t4|putit4|put1ta|pr0stitut4s|pr0stitutas|pr05titutas|pr0stitut45|prostitut45|prostituta5|pr0stitut45|fanax|f4nax|p3n3|pen3|p.e.n.e|pvt0|hijodelagransetentamilparesdeputa|Chingadamadre|c0ño|afeminado|drog4|cocaína|marihuana|chocho|pedorro|agrandada|pedorra|cagona|mamar|chigadamadre|hijueputa|chupa|caca|boba|loca|chupapolla|estupido|estupida|estupidos|idiota|maricon|chucha|verga|vrga|naco|rctmre|mrd|csm|cp|cepe|sepe|sepesito|cepecito|cepesito|hldv|baboso|babosa|babosos|babosas|fea|feas|chupame|bolas|imbecil|embeciles|kbrones|cabron|capullo|gore|gorre|gorreo|sapa|mierda|cerdo|cerda|puerco|puerca|bullshit|cunt|semen|bitch|motherfucker/i - -export async function before(m, { conn, isAdmin, isBotAdmin, isOwner }) { - -if (m.isBaileys && m.fromMe) -return !0 -if (!m.isGroup) -return !1 - let user = global.db.data.users[m.sender] - let chat = global.db.data.chats[m.chat] - let bot = global.db.data.settings[this.user.jid] || {} - let img = 'https://i.imgur.com/5Q1MqGD.jpg' - const isToxic = toxicRegex.exec(m.text) - -if (isToxic && chat.antitoxic && !isOwner && !isAdmin) { -user.warn += 1 -if (!(user.warn >= 4)) await m.reply(`${user.warn == 1 ? `*@${m.sender.split`@`[0]}*` : `*@${m.sender.split`@`[0]}*`}, ${lenguajeGB['smsToxic1']()} (${isToxic}) ${lenguajeGB['smsToxic2']()} ${lenguajeGB['smsToxic3']()} *${user.warn}/4*\n\n${wm}`, false, { mentions: [m.sender] })} -/*await conn.sendButton(m.chat,`${user.warn == 1 ? `*@${m.sender.split`@`[0]}*` : `*@${m.sender.split`@`[0]}*`} *${lenguajeGB['smsToxic1']()} (${isToxic}) ${lenguajeGB['smsToxic2']()}*`, `${lenguajeGB['smsToxic3']()} *${user.warn}/4*\n\n${wm}`, img, [ -[lenguajeGB.smsToxic4(), 'ok'], -[lenguajeGB.smsToxic5(), '.off antitoxic'], -[lenguajeGB.smsConMenu(), '/menu']], false, { mentions: [m.sender] })}*/ - -/*if (user.warn >= 4) { -user.warn = 0 -await m.reply(`*${lenguajeGB['smsToxic6']()}*\n*@${m.sender.split`@`[0]} ${lenguajeGB['smsToxic7']()}*`, false, { mentions: [m.sender] }) -user.banned = true -await this.groupParticipantsUpdate(m.chat, [m.sender], 'remove') -//await this.updateBlockStatus(m.sender, 'block') -global.db.data.users[m.sender].limit -= 5 -} -return !1 -}*/ diff --git a/plugins/_antitrabas.js b/plugins/_antitrabas.js deleted file mode 100644 index d626c493c..000000000 --- a/plugins/_antitrabas.js +++ /dev/null @@ -1,32 +0,0 @@ -// -//By @NeKosmic || https://github.com/NeKosmic/ -// - -import * as fs from 'fs' - -export async function before(m, { conn, isAdmin, isBotAdmin, usedPrefix }) { - if (m.isBaileys && m.fromMe) - return !0 - if (!m.isGroup) return !1 - let chat = global.db.data.chats[m.chat] - let bot = global.db.data.settings[this.user.jid] || {} - let delet = m.key.participant - let bang = m.key.id - let name = await conn.getName(m.sender) - let fakemek = {key: {participant: "0@s.whatsapp.net","remoteJid": "0@s.whatsapp.net"},"message": {"groupInviteMessage": {"groupJid": "51995386439-1616969743@g.us","inviteCode": "m","groupName": "P", "caption": 'ɢᴀᴛᴀʙᴏᴛ-ᴍᴅ', 'jpegThumbnail': null}}} - if (chat.antiTraba && m.text.length > 4000) { //Cantidad máxima de caracteres aceptados en un mensaje// - if (isAdmin) return conn.sendMessage(m.chat, { text: `${lenguajeGB['smsEnlaceWat']()}El administrador @${m.sender.split("@")[0]} acaba de enviar un texto que contiene muchos caracteres -.-!`, mentions: [m.sender] }, { quoted: fakemek, ephemeralExpiration: 24*60*100, disappearingMessagesInChat: 24*60*100}) - conn.sendMessage(m.chat, `*[ ! ] Se detecto un mensaje que contiene muchos caracteres [ ! ]*\n`, `${isBotAdmin ? '' : 'No soy administrador, no puedo hacer nada :/'}`, m) - //await conn.sendButton(m.chat, `*[ ! ] Se detecto un mensaje que contiene muchos caracteres [ ! ]*\n`, `${isBotAdmin ? '' : 'No soy administrador, no puedo hacer nada :/'}`, author, ['[ ᴅᴇsᴀᴄᴛɪᴠᴀ ᴀɴᴛɪᴛʀᴀʙᴀ ]', usedPrefix+'apagar antitraba'], fakemek ) - if (isBotAdmin) { - conn.sendMessage(m.chat, { delete: { remoteJid: m.chat, fromMe: false, id: bang, participant: delet }}) - setTimeout(() => { - conn.sendMessage(m.chat, { text: `Marcar el chat como leido ✓\n${"\n".repeat(400)}\n• El número : wa.me/${m.sender.split("@")[0]}\n• Alias : ${name}\n‼️Acaba de enviar un texto que contiene muchos caracteres que puede ocasionar fallos en los dispositivos`, mentions: [m.sender] }, { quoted: fakemek, ephemeralExpiration: 24*60*100, disappearingMessagesInChat: 24*60*100}) - }, 0) - setTimeout(() => { - conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove') - }, 1000) - } else if (!bot.restrict) return m.reply(`${lenguajeGB['smsSoloOwner']()}`) - } - return !0 -} diff --git a/plugins/_antiviewonce.js b/plugins/_antiviewonce.js deleted file mode 100644 index 092019ad7..000000000 --- a/plugins/_antiviewonce.js +++ /dev/null @@ -1,19 +0,0 @@ -let { downloadContentFromMessage } = (await import(global.baileys)); - -export async function before(m, { isAdmin, isBotAdmin }) { - -let chat = db.data.chats[m.chat] -if (/^[.~#/\$,](read)?viewonce/.test(m.text)) return -if (!chat.antiver || chat.isBanned) return -if (m.mtype == 'viewOnceMessageV2') { -let msg = m.message.viewOnceMessageV2.message -let type = Object.keys(msg)[0] -let media = await downloadContentFromMessage(msg[type], type == 'imageMessage' ? 'image' : 'video') -let buffer = Buffer.from([]) -for await (const chunk of media) { -buffer = Buffer.concat([buffer, chunk])} -if (/video/.test(type)) { -return this.sendFile(m.chat, buffer, 'error.mp4', `${msg[type].caption}\n\n${lenguajeGB.smsAntiView()}`, m) -} else if (/image/.test(type)) { -return this.sendFile(m.chat, buffer, 'error.jpg', `${msg[type].caption}\n\n${lenguajeGB.smsAntiView()}`, m) -}}} diff --git a/plugins/_antivirus.js b/plugins/_antivirus.js deleted file mode 100644 index ff90e31ce..000000000 --- a/plugins/_antivirus.js +++ /dev/null @@ -1,15 +0,0 @@ -let handler = m => m - -handler.all = async function (m, { isBotAdmin }) { -// borrado automático cuando hay un mensaje que no se puede ver en el escritorio | auto clear ketika terdapat pesan yang tidak dapat dilihat di wa desktop -if (m.messageStubType === 68) { -let log = { -key: m.key, -content: m.msg, -sender: m.sender -} -await this.modifyChat(m.chat, 'clear', { -includeStarred: false -}).catch(console.log) -}} -export default handler diff --git a/plugins/_audios.js b/plugins/_audios.js new file mode 100644 index 000000000..0b33f5d78 --- /dev/null +++ b/plugins/_audios.js @@ -0,0 +1,62 @@ +import { db, getSubbotConfig } from '../lib/postgres.js'; +import fs from 'fs'; +import path from 'path'; + +const audiosPath = path.resolve('./src/audios.json'); +function getAudios() { + try { + return JSON.parse(fs.readFileSync(audiosPath)); + } catch (e) { + console.error('[❌] Error leyendo audios.json dinámicamente:', e); + return {}; + } +} + +export async function before(m, { conn }) { +if (!m || m.fromMe || !m.originalText || m.originalText.length > 500) return; +const botId = conn?.user?.id?.replace(/:\d+/, ""); +const config = await getSubbotConfig(botId); +const prefixes = Array.isArray(config?.prefix) ? config.prefix : ['.', '/', '#']; +const texto = m.originalText.trim(); + +if (prefixes.some(p => texto.startsWith(p))) return; +try { +const res = await db.query('SELECT audios FROM group_settings WHERE group_id = $1', [m.chat]); +if (!res.rows[0]?.audios) return; +} catch (e) { +console.error('[❌] Error al consultar configuración de audios:', e); +return; +} + +const lowerTexto = texto.toLowerCase(); +const chatId = m.chat.trim(); +const audios = getAudios(); +const sources = [audios[chatId], audios.global].filter(Boolean); + +for (const source of sources) { +const clave = Object.keys(source).find(k => { +try { +const regex = new RegExp(source[k].regex, 'i'); +const matches = lowerTexto.match(regex); +return matches?.[0]?.length === lowerTexto.length; // match exacto +} catch { +return false; +} +}); + +if (!clave) continue; + +const audio = source[clave]; +try { +await conn.sendPresenceUpdate('recording', m.chat); +const isBase64 = audio.audio.startsWith('data:audio/'); +const isLocal = audio.audio.startsWith('./') || audio.audio.startsWith('/'); +const listaAudios = Array.isArray(audio.audios) ? audio.audios : [audio.audio]; +const elegido = listaAudios[Math.floor(Math.random() * listaAudios.length)]; + +await conn.sendMessage(m.chat, { audio: elegido.startsWith('data:audio/') ? Buffer.from(elegido.split(',')[1], 'base64') : elegido.startsWith('./') || elegido.startsWith('/') ? { url: path.resolve(elegido) } : { url: elegido }, mimetype: 'audio/mpeg', ptt: true }, { quoted: m }); +break; +} catch (err) { +console.error('[❌] Error enviando audio automático:', err); +}} +} diff --git a/plugins/_autodel_chatgpt.js b/plugins/_autodel_chatgpt.js deleted file mode 100644 index 2f593f8ba..000000000 --- a/plugins/_autodel_chatgpt.js +++ /dev/null @@ -1,52 +0,0 @@ -const INACTIVITY_TIMEOUT_MS = 30 * 60 * 1000; - -async function deleteInactiveUserData(m) { - const user = global.chatgpt.data.users[m.sender]; - if (!user) return; // Si no existe el usuario, no hace nada - - const lastUpdateTime = user.lastUpdate || 0; - const currentTime = new Date().getTime(); - - if (currentTime - lastUpdateTime > INACTIVITY_TIMEOUT_MS) { - delete global.chatgpt.data.users[m.sender]; - //console.log(`Datos del usuario ${m.sender} eliminados después de ${INACTIVITY_TIMEOUT_MS / 1000 / 60} minutos de inactividad.`); - } -} - -export async function all(m) { - let user = global.chatgpt.data.users[m.sender]; - - if (user) { - user.lastUpdate = new Date().getTime(); - global.chatgpt.data.users[m.sender] = user; - } else { - return; // Si no existe el usuario, no hace nada - } - - setTimeout(() => deleteInactiveUserData(m), INACTIVITY_TIMEOUT_MS); -} - -/*const INACTIVITY_TIMEOUT_MS = 30 * 60 * 1000; - -async function deleteInactiveUserData(m) { - const user = global.chatgpt.data.users[m.sender]; - const lastUpdateTime = user?.lastUpdate || 0; - const currentTime = new Date().getTime(); - - if (currentTime - lastUpdateTime > INACTIVITY_TIMEOUT_MS) { - delete global.chatgpt.data.users[m.sender]; - //console.log(`Datos del usuario ${m.sender} eliminados después de ${INACTIVITY_TIMEOUT_MS / 1000 / 60} minutos de inactividad.`); - } -} - -export async function all(m) { - let user = global.chatgpt.data.users[m.sender]; - - if (user) { - user.lastUpdate = new Date().getTime(); - global.chatgpt.data.users[m.sender] = user; - } - - setTimeout(() => deleteInactiveUserData(m), INACTIVITY_TIMEOUT_MS); - -}*/ diff --git a/plugins/_autodetec.js b/plugins/_autodetec.js deleted file mode 100644 index 5a6def4e1..000000000 --- a/plugins/_autodetec.js +++ /dev/null @@ -1,29 +0,0 @@ -let WAMessageStubType = (await import(global.baileys)).default -export async function before(m, { conn, participants}) { -if (!m.messageStubType || !m.isGroup) return -let usuario = `@${m.sender.split`@`[0]}` -let fkontak = { "key": { "participants":"0@s.whatsapp.net", "remoteJid": "status@broadcast", "fromMe": false, "id": "Halo" }, "message": { "contactMessage": { "vcard": `BEGIN:VCARD\nVERSION:3.0\nN:Sy;Bot;;;\nFN:y\nitem1.TEL;waid=${m.sender.split('@')[0]}:${m.sender.split('@')[0]}\nitem1.X-ABLabel:Ponsel\nEND:VCARD` }}, "participant": "0@s.whatsapp.net" } -let users = participants.map(u => conn.decodeJid(u.id)) -if (m.messageStubType == 21) { -await this.sendMessage(m.chat, { text: `${usuario} 𝙃𝘼𝙎 𝘾𝘼𝙈𝘽𝙄𝘼𝘿𝙊 𝙀𝙇 𝙉𝙊𝙈𝘽𝙍𝙀́ 𝘿𝙀𝙇 𝙂𝙍𝙐𝙋𝙊 𝘼:\n\n*${m.messageStubParameters[0]}*`, mentions: [m.sender], mentions: (await conn.groupMetadata(m.chat)).participants.map(v => v.id) }, { quoted: fkontak, ephemeralExpiration: 24*60*100, disappearingMessagesInChat: 24*60*100}) -} else if (m.messageStubType == 22) { -await this.sendMessage(m.chat, { text: `${usuario} 𝙃𝘼𝙎 𝘾𝘼𝙈𝘽𝙄𝘼𝘿𝙊 𝙇𝘼𝙎 𝙁𝙊𝙏𝙊 𝘿𝙀𝙇 𝙂𝙍𝙐𝙋𝙊`, mentions: [m.sender] }, { quoted: fkontak, ephemeralExpiration: 24*60*100, disappearingMessagesInChat: 24*60*100}) -} else if (m.messageStubType == 24) { -await this.sendMessage(m.chat, { text: `${usuario} 𝙉𝙐𝙀𝙑𝘼 𝘿𝙀𝙎𝘾𝙍𝙄𝙋𝘾𝙄𝙊𝙉 𝘿𝙀𝙇 𝙂𝙍𝙐𝙋𝙊 𝙀𝙎:\n\n${m.messageStubParameters[0]}`, mentions: [m.sender] }, { quoted: fkontak, ephemeralExpiration: 24*60*100, disappearingMessagesInChat: 24*60*100}) -} else if (m.messageStubType == 25) { -await this.sendMessage(m.chat, { text: `🔒 𝘼𝙃𝙊𝙍𝘼 *${m.messageStubParameters[0] == 'on' ? '𝙎𝙊𝙇𝙊 𝘼𝘿𝙈𝙄𝙉𝙎' : '𝙏𝙊𝘿𝙊𝙎'}* 𝙋𝙐𝙀𝘿𝙀 𝙀𝘿𝙄𝙏𝘼𝙍 𝙇𝘼 𝙄𝙉𝙁𝙊𝙍𝙈𝘼𝘾𝙄𝙊𝙉 𝘿𝙀𝙇 𝙂𝙍𝙐𝙋𝙊`, mentions: [m.sender] }, { quoted: fkontak, ephemeralExpiration: 24*60*100, disappearingMessagesInChat: 24*60*100}) -} else if (m.messageStubType == 26) { -await this.sendMessage(m.chat, { text: `𝙀𝙇 𝙂𝙍𝙐𝙋𝙊 *${m.messageStubParameters[0] == 'on' ? '𝙀𝙎𝙏𝘼 𝘾𝙀𝙍𝙍𝘼𝘿𝙊 🔒' : '𝙀𝙎𝙏𝘼 𝘼𝘽𝙄𝙀𝙍𝙏𝙊 🔓'}*\n ${m.messageStubParameters[0] == 'on' ? '𝙎𝙊𝙇𝙊 𝙇𝙊𝙎 𝘼𝘿𝙈𝙄𝙉𝙎 𝙋𝙐𝙀𝘿𝙀𝙉 𝙀𝙎𝘾𝙍𝙄𝘽𝙄𝙍' : '𝙔𝘼 𝙋𝙐𝙀𝘿𝙀𝙉 𝙀𝙎𝘾𝙍𝙄𝘽𝙄𝙍 𝙏𝙊𝘿𝙊𝙎'} 𝙀𝙉 𝙀𝙎𝙏𝙀 𝙂𝙍𝙐𝙋𝙊`, mentions: [m.sender] }, { quoted: fkontak, ephemeralExpiration: 24*60*100, disappearingMessagesInChat: 24*60*100}) -} else if (m.messageStubType == 29) { -await this.sendMessage(m.chat, { text: `@${m.messageStubParameters[0].split`@`[0]} 𝘼𝙃𝙊𝙍𝘼 𝙀𝙎 𝘼𝘿𝙈𝙄𝙉 𝙀𝙉 𝙀𝙎𝙏𝙀 𝙂𝙍𝙐𝙋𝙊\n\n😼🫵𝘼𝘾𝘾𝙄𝙊𝙉 𝙍𝙀𝘼𝙇𝙄𝙕𝘼𝘿𝘼 𝙋𝙊𝙍: ${usuario}`, mentions: [`${m.sender}`,`${m.messageStubParameters[0]}`], mentions: (await conn.groupMetadata(m.chat)).participants.map(v => v.id) }, { quoted: fkontak, ephemeralExpiration: 24*60*100, disappearingMessagesInChat: 24*60*100}) -} else if (m.messageStubType == 30) { -await this.sendMessage(m.chat, { text: `@${m.messageStubParameters[0].split`@`[0]} 𝘿𝙀𝙅𝘼 𝘿𝙀 𝙎𝙀𝙍 𝘼𝘿𝙈𝙄𝙉 𝙀𝙉 𝙀𝙎𝙏𝙀 𝙂𝙍𝙐𝙋𝙊\n\n😼🫵𝘼𝘾𝘾𝙄𝙊𝙉 𝙍𝙀𝘼𝙇𝙄𝙕𝘼𝘿𝘼 𝙋𝙊𝙍: ${usuario}`, mentions: [`${m.sender}`,`${m.messageStubParameters[0]}`], mentions: (await conn.groupMetadata(m.chat)).participants.map(v => v.id) }, { quoted: fkontak, ephemeralExpiration: 24*60*100, disappearingMessagesInChat: 24*60*100}) -} else if (m.messageStubType == 72) { -await this.sendMessage(m.chat, { text: `${usuario} 𝘾𝘼𝙈𝘽𝙄𝙊 𝙇𝘼𝙎 𝘿𝙐𝙍𝘼𝘾𝙄𝙊𝙉 𝘿𝙀𝙇 𝙇𝙊𝙎 𝙈𝙀𝙉𝙎𝘼𝙅𝙀 𝙏𝙀𝙈𝙋𝙊𝙍𝘼𝙇𝙀𝙎 𝘼 *@${m.messageStubParameters[0]}*`, mentions: [m.sender] }, { quoted: fkontak, ephemeralExpiration: 24*60*100, disappearingMessagesInChat: 24*60*100}) -} else if (m.messageStubType == 123) { -await this.sendMessage(m.chat, { text: `${usuario} *𝘿𝙀𝙎𝘼𝘾𝙏𝙄𝙑𝙊́* 𝙇𝙊𝙎 𝙈𝙀𝙉𝙎𝘼𝙅𝙀 𝙏𝙀𝙈𝙋𝙊𝙍𝘼𝙇.`, mentions: [m.sender] }, { quoted: fkontak, ephemeralExpiration: 24*60*100, disappearingMessagesInChat: 24*60*100}) -} else { -console.log({messageStubType: m.messageStubType, -messageStubParameters: m.messageStubParameters, -type: WAMessageStubType[m.messageStubType], -})}} diff --git a/plugins/_autolevelup.js b/plugins/_autolevelup.js index b097f7227..b24bdb9e8 100644 --- a/plugins/_autolevelup.js +++ b/plugins/_autolevelup.js @@ -1,272 +1,66 @@ -import { canLevelUp, xpRange } from '../lib/levelling.js' -import { levelup } from '../lib/canvas.js' -export function before(m, { conn }) { -//if (!db.data.chats[m.chat].autonivel && m.isGroup) throw -let fkontak = { "key": { "participants":"0@s.whatsapp.net", "remoteJid": "status@broadcast", "fromMe": false, "id": "Halo" }, "message": { "contactMessage": { "vcard": `BEGIN:VCARD\nVERSION:3.0\nN:Sy;Bot;;;\nFN:y\nitem1.TEL;waid=${m.sender.split('@')[0]}:${m.sender.split('@')[0]}\nitem1.X-ABLabel:Ponsel\nEND:VCARD` }}, "participant": "0@s.whatsapp.net" } -let who = m.mentionedJid && m.mentionedJid[0] ? m.mentionedJid[0] : m.fromMe ? conn.user.jid : m.sender -let mentionedJid = [who] -let username = conn.getName(who) - -let user = global.db.data.users[m.sender] -let chat = global.db.data.chats[m.chat] -if (!chat.autolevelup) -return !0 - -let before = user.level * 1 -while (canLevelUp(user.level, user.exp, global.multiplier)) user.level++ - if (before !== user.level) { +import { canLevelUp } from '../lib/levelling.js' - conn.reply(m.chat, `*「 FELICIDADES LEVEL UP 🆙🥳 」*\n\nFelicidades subiste de nivel sigue asi 👏\n\n▢ ${lenguajeGB.smsAutoLv2()} ${before}\n▢ ${lenguajeGB.smsAutoLv3()} ${user.level}\n▢ ${lenguajeGB.smsAutoLv4()} ${user.role}\n\n*_${lenguajeGB.smsAutoLv6()}_*`, fkontak, m) -/*conn.sendButton(m.chat, ' ' + wm, `┌───⊷ ${username} -▢ ${lenguajeGB.smsAutoLv2()} ${before} -▢ ${lenguajeGB.smsAutoLv3()} ${user.level} -▢ ${lenguajeGB.smsAutoLv4()} ${user.role} -└────────────── +const multiplier = 650 -*_${lenguajeGB.smsAutoLv6()}_*`, null, [[lenguajeGB.smsConMenu(), `/menu`]], m)*/ +export async function before(m, { conn }) { +const chatres = await m.db.query('SELECT autolevelup FROM group_settings WHERE group_id = $1', [m.chat]) +const chat = chatres.rows[0] +if (!chat?.autolevelup) return +const res = await m.db.query('SELECT exp, level, role FROM usuarios WHERE id = $1', [m.sender]) +const user = res.rows[0] +const before = user.level +let currentLevel = user.level +while (canLevelUp(currentLevel, user.exp, multiplier)) { +currentLevel++ +} -let especial = ['limit', 'diamond', 'joincount', 'emerald', 'berlian', 'kyubi', 'gold', 'money', 'tiketcoin', 'stamina'].getRandom() -let especial2 = ['potion', 'aqua', 'trash', 'wood', 'rock', 'batu', 'string', 'iron', 'coal', 'botol', 'kaleng', 'kardus'].getRandom() -let especial3 = ['eleksirb', 'emasbatang', 'emasbiasa', 'rubah', 'sampah', 'serigala', 'kayu', 'sword', 'umpan', 'healtmonster', 'emas', 'pancingan', 'pancing'].getRandom() -let especial4 = ['common', 'uncoommon', 'mythic', 'pet', 'gardenboxs', 'legendary'].getRandom() +if (currentLevel > before) { +const newRole = getRole(currentLevel).name +await m.db.query('UPDATE usuarios SET level = $1, role = $2 WHERE id = $3', [currentLevel, newRole, m.sender]) +user.level = currentLevel +user.role = newRole + +conn.reply(m.chat, [`*「 FELICIDADES LEVEL UP 🆙🥳 」*\n\nFelicidades subiste de nivel sigue asi 👏\n\n*• NIVEL:* ${before} ⟿ ${user.level}\n*• RANGO:* ${user.role}\n\n_*Para ver tu XP en tiempo real coloca el comando #level*_`, `@${m.sender.split`@`[0]} Ohhh pa has alcanzado el siguiente nivel\n*• NIVEL:* ${before} ⟿ ${user.level}\n\n_*Para ver quien es esta el top coloca el comando #lb*_`, `Que pro @${m.sender.split`@`[0]} has alcanzado un nuevo nivel 🙌\n\n*• Nuevo nivel:* ${user.level}\n*• Nivel anterior:* ${before}\n`].getRandom(), m, {contextInfo: {externalAdReply :{ mediaUrl: null, mediaType: 1, description: null, title: info.wm, body: ' 💫 𝐒𝐮𝐩𝐞𝐫 𝐁𝐨𝐭 𝐃𝐞 𝐖𝐡𝐚𝐭𝐬𝐚𝐩𝐩 🥳 ', previewType: 0, thumbnail: m.pp, sourceUrl: info.md}}}) + +let niv = `*${m.pushName || 'Anónimo'}* Obtiene un nuevo nivel 🥳 -let especialCant = [6, 7, 6, 7, 6, 6, 6, 7, 8, 9, 8, 3, 9, 7, 9].getRandom() -let especialCant2 = [6, 7, 6, 7, 6, 6, 6, 7, 8, 9, 10, 3, 11, 7, 9].getRandom() -let especialCant3 = [6, 7, 6, 7, 6, 6, 6, 7, 8, 9, 10, 3, 11, 7, 9].getRandom() -let especialCant4 = [2, 2, 2, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 2, 2].getRandom() +*• Nivel anterior:* ${before} +*• Nivel actúal :* ${user.level} +*• Rol:* ${user.role} +*• Bot:* ${info.wm}` +let nivell = `*${m.pushName || 'Anónimo'} Haz subido un nuevo nivel 🥳* -let normal = ['potion', 'aqua', 'trash', 'wood', 'rock', 'batu', 'string', 'iron', 'coal', 'botol', 'kaleng', 'kardus'].getRandom() -let normal2 = ['petFood', 'makanancentaur', 'makanangriffin', 'makanankyubi', 'makanannaga', 'makananpet', 'makananphonix' ].getRandom() -let normal3 = ['anggur', 'apel', 'jeruk', 'mangga', 'pisang'].getRandom() +> _*• NIVEL:* ${before} ⟿ ${user.level}_` +let nivelll = `🥳 ${m.pushName || 'Anónimo'} Que pro Acaba de alcanzar un nuevo nivel 🥳 -let normalCant = [1, 3, 3, 3, 4, 4, 2, 2, 4, 4, 4, 4, 1].getRandom() -let normalCant2 = [1, 3, 2, 2, 4, 4, 2, 2, 4, 4, 5, 5, 1].getRandom() -let normalCant3 = [1, 3, 3, 3, 4, 4, 2, 2, 4, 4, 4, 4, 1].getRandom() +*• Nivel:* ${before} ⟿ ${user.level} +*• Rango:* ${user.role} +*• Bot:* ${info.wm}` +/*await global.conn.sendMessage("120363297379773397@newsletter", { text: [niv, nivell, nivelll].getRandom(), contextInfo: { +externalAdReply: { +title: "【 🔔 Notificación General 🔔 】", +body: '¡Haz subido de nivel 🥳!', +thumbnailUrl: m.pp, +sourceUrl: info.nna, +mediaType: 1, +showAdAttribution: false, +renderLargerThumbnail: false +}}}, { quoted: null }).catch(err => console.error(err))*/ +}} -if (user.level == 5){ -m.reply(`*${lenguajeGB.smsAutoLv7()} 5!!* 🏆 -𓃠 *${especialCant * 1} ${global.rpgshop.emoticon(especial)}* -𓃠 *${especialCant2 * 1} ${global.rpgshop.emoticon(especial2)}* -𓃠 *${especialCant3 * 1} ${global.rpgshop.emoticon(especial3)}* -𓃠 *${especialCant4 * 1} ${global.rpgshop.emoticon(especial4)}*`) -user[especial] += especialCant * 1 -user[especial2] += especialCant2 * 1 -user[especial3] += especialCant3 * 1 -user[especial4] += especialCant4 * 1 - -}else if (user.level == 10){ -m.reply(`*${lenguajeGB.smsAutoLv7()} 10!!* 🏆 -𓃠 *${especialCant * 1} ${global.rpgshop.emoticon(especial)}* -𓃠 *${especialCant2 * 1} ${global.rpgshop.emoticon(especial2)}* -𓃠 *${especialCant3 * 1} ${global.rpgshop.emoticon(especial3)}* -𓃠 *${especialCant4 * 1} ${global.rpgshop.emoticon(especial4)}*`) -user[especial] += especialCant * 1 -user[especial2] += especialCant2 * 1 -user[especial3] += especialCant3 * 1 -user[especial4] += especialCant4 * 1 - -}else if (user.level == 15){ -m.reply(`*${lenguajeGB.smsAutoLv7()} 15!!* 🏆 -𓃠 *${especialCant * 2} ${global.rpgshop.emoticon(especial)}* -𓃠 *${especialCant2 * 2} ${global.rpgshop.emoticon(especial2)}* -𓃠 *${especialCant3 * 2} ${global.rpgshop.emoticon(especial3)}* -𓃠 *${especialCant4 * 2} ${global.rpgshop.emoticon(especial4)}*`) -user[especial] += especialCant * 2 -user[especial2] += especialCant2 * 2 -user[especial3] += especialCant3 * 2 -user[especial4] += especialCant4 * 2 - -}else if (user.level == 20){ -m.reply(`*${lenguajeGB.smsAutoLv7()} 20!!* 🏆 -𓃠 *${especialCant * 2} ${global.rpgshop.emoticon(especial)}* -𓃠 *${especialCant2 * 2} ${global.rpgshop.emoticon(especial2)}* -𓃠 *${especialCant3 * 2} ${global.rpgshop.emoticon(especial3)}* -𓃠 *${especialCant4 * 2} ${global.rpgshop.emoticon(especial4)}*`) -user[especial] += especialCant * 2 -user[especial2] += especialCant2 * 2 -user[especial3] += especialCant3 * 2 -user[especial4] += especialCant4 * 2 - -}else if (user.level == 25){ -m.reply(`*${lenguajeGB.smsAutoLv7()} 25!!* 🏆 -𓃠 *${especialCant * 3} ${global.rpgshop.emoticon(especial)}* -𓃠 *${especialCant2 * 3} ${global.rpgshop.emoticon(especial2)}* -𓃠 *${especialCant3 * 3} ${global.rpgshop.emoticon(especial3)}* -𓃠 *${especialCant4 * 3} ${global.rpgshop.emoticon(especial4)}*`) -user[especial] += especialCant * 3 -user[especial2] += especialCant2 * 3 -user[especial3] += especialCant3 * 3 -user[especial4] += especialCant4 * 3 - -}else if (user.level == 30){ -m.reply(`*${lenguajeGB.smsAutoLv7()} 30!!* 🏆 -𓃠 *${especialCant * 3} ${global.rpgshop.emoticon(especial)}* -𓃠 *${especialCant2 * 3} ${global.rpgshop.emoticon(especial2)}* -𓃠 *${especialCant3 * 3} ${global.rpgshop.emoticon(especial3)}* -𓃠 *${especialCant4 * 3} ${global.rpgshop.emoticon(especial4)}*`) -user[especial] += especialCant * 3 -user[especial2] += especialCant2 * 3 -user[especial3] += especialCant3 * 3 -user[especial4] += especialCant4 * 3 - -}else if (user.level == 35){ -m.reply(`*${lenguajeGB.smsAutoLv7()} 35!!* 🏆 -𓃠 *${especialCant * 4} ${global.rpgshop.emoticon(especial)}* -𓃠 *${especialCant2 * 4} ${global.rpgshop.emoticon(especial2)}* -𓃠 *${especialCant3 * 4} ${global.rpgshop.emoticon(especial3)}* -𓃠 *${especialCant4 * 4} ${global.rpgshop.emoticon(especial4)}*`) -user[especial] += especialCant * 4 -user[especial2] += especialCant2 * 4 -user[especial3] += especialCant3 * 4 -user[especial4] += especialCant4 * 4 - -}else if (user.level == 40){ -m.reply(`*${lenguajeGB.smsAutoLv7()} 40!!* 🏆 -𓃠 *${especialCant * 4} ${global.rpgshop.emoticon(especial)}* -𓃠 *${especialCant2 * 4} ${global.rpgshop.emoticon(especial2)}* -𓃠 *${especialCant3 * 4} ${global.rpgshop.emoticon(especial3)}* -𓃠 *${especialCant4 * 4} ${global.rpgshop.emoticon(especial4)}*`) -user[especial] += especialCant * 4 -user[especial2] += especialCant2 * 4 -user[especial3] += especialCant3 * 4 -user[especial4] += especialCant4 * 4 - -}else if (user.level == 45){ -m.reply(`*${lenguajeGB.smsAutoLv7()} 45!!* 🏆 -𓃠 *${especialCant * 4} ${global.rpgshop.emoticon(especial)}* -𓃠 *${especialCant2 * 4} ${global.rpgshop.emoticon(especial2)}* -𓃠 *${especialCant3 * 4} ${global.rpgshop.emoticon(especial3)}* -𓃠 *${especialCant4 * 4} ${global.rpgshop.emoticon(especial4)}*`) -user[especial] += especialCant * 4 -user[especial2] += especialCant2 * 4 -user[especial3] += especialCant3 * 4 -user[especial4] += especialCant4 * 4 - -}else if (user.level == 50){ -m.reply(`*${lenguajeGB.smsAutoLv7()} 50!!* 🏆 -𓃠 *${especialCant * 5} ${global.rpgshop.emoticon(especial)}* -𓃠 *${especialCant2 * 5} ${global.rpgshop.emoticon(especial2)}* -𓃠 *${especialCant3 * 5} ${global.rpgshop.emoticon(especial3)}* -𓃠 *${especialCant4 * 5} ${global.rpgshop.emoticon(especial4)}*`) -user[especial] += especialCant * 5 -user[especial2] += especialCant2 * 5 -user[especial3] += especialCant3 * 5 -user[especial4] += especialCant4 * 5 - -}else if (user.level == 55){ -m.reply(`*${lenguajeGB.smsAutoLv7()} 55!!* 🏆 -𓃠 *${especialCant * 5} ${global.rpgshop.emoticon(especial)}* -𓃠 *${especialCant2 * 5} ${global.rpgshop.emoticon(especial2)}* -𓃠 *${especialCant3 * 5} ${global.rpgshop.emoticon(especial3)}* -𓃠 *${especialCant4 * 5} ${global.rpgshop.emoticon(especial4)}*`) -user[especial] += especialCant * 5 -user[especial2] += especialCant2 * 5 -user[especial3] += especialCant3 * 5 -user[especial4] += especialCant4 * 5 - -}else if (user.level == 60){ -m.reply(`*${lenguajeGB.smsAutoLv7()} 60!!* 🏆 -𓃠 *${especialCant * 5} ${global.rpgshop.emoticon(especial)}* -𓃠 *${especialCant2 * 5} ${global.rpgshop.emoticon(especial2)}* -𓃠 *${especialCant3 * 5} ${global.rpgshop.emoticon(especial3)}* -𓃠 *${especialCant4 * 5} ${global.rpgshop.emoticon(especial4)}*`) -user[especial] += especialCant * 5 -user[especial2] += especialCant2 * 5 -user[especial3] += especialCant3 * 5 -user[especial4] += especialCant4 * 5 - -}else if (user.level == 65){ -m.reply(`*${lenguajeGB.smsAutoLv7()} 65!!* 🏆 -𓃠 *${especialCant * 5} ${global.rpgshop.emoticon(especial)}* -𓃠 *${especialCant2 * 5} ${global.rpgshop.emoticon(especial2)}* -𓃠 *${especialCant3 * 5} ${global.rpgshop.emoticon(especial3)}* -𓃠 *${especialCant4 * 5} ${global.rpgshop.emoticon(especial4)}*`) -user[especial] += especialCant * 5 -user[especial2] += especialCant2 * 5 -user[especial3] += especialCant3 * 5 -user[especial4] += especialCant4 * 5 - -}else if (user.level == 70){ -m.reply(`*${lenguajeGB.smsAutoLv7()} 70!!* 🏆 -𓃠 *${especialCant * 6} ${global.rpgshop.emoticon(especial)}* -𓃠 *${especialCant2 * 6} ${global.rpgshop.emoticon(especial2)}* -𓃠 *${especialCant3 * 6} ${global.rpgshop.emoticon(especial3)}* -𓃠 *${especialCant4 * 6} ${global.rpgshop.emoticon(especial4)}*`) -user[especial] += especialCant * 6 -user[especial2] += especialCant2 * 6 -user[especial3] += especialCant3 * 6 -user[especial4] += especialCant4 * 6 - -}else if (user.level == 75){ -m.reply(`*${lenguajeGB.smsAutoLv7()} 75!!* 🏆 -𓃠 *${especialCant * 6} ${global.rpgshop.emoticon(especial)}* -𓃠 *${especialCant2 * 6} ${global.rpgshop.emoticon(especial2)}* -𓃠 *${especialCant3 * 6} ${global.rpgshop.emoticon(especial3)}* -𓃠 *${especialCant4 * 6} ${global.rpgshop.emoticon(especial4)}*`) -user[especial] += especialCant * 6 -user[especial2] += especialCant2 * 6 -user[especial3] += especialCant3 * 6 -user[especial4] += especialCant4 * 6 - -}else if (user.level == 80){ -m.reply(`*${lenguajeGB.smsAutoLv7()} 80!!* 🏆 -𓃠 *${especialCant * 7} ${global.rpgshop.emoticon(especial)}* -𓃠 *${especialCant2 * 7} ${global.rpgshop.emoticon(especial2)}* -𓃠 *${especialCant3 * 7} ${global.rpgshop.emoticon(especial3)}* -𓃠 *${especialCant4 * 7} ${global.rpgshop.emoticon(especial4)}*`) -user[especial] += especialCant * 7 -user[especial2] += especialCant2 * 7 -user[especial3] += especialCant3 * 7 -user[especial4] += especialCant4 * 7 - -}else if (user.level == 85){ -m.reply(`*${lenguajeGB.smsAutoLv7()} 85!!* 🏆 -𓃠 *${especialCant * 7} ${global.rpgshop.emoticon(especial)}* -𓃠 *${especialCant2 * 7} ${global.rpgshop.emoticon(especial2)}* -𓃠 *${especialCant3 * 7} ${global.rpgshop.emoticon(especial3)}* -𓃠 *${especialCant4 * 7} ${global.rpgshop.emoticon(especial4)}*`) -user[especial] += especialCant * 7 -user[especial2] += especialCant2 * 7 -user[especial3] += especialCant3 * 7 -user[especial4] += especialCant4 * 7 - -}else if (user.level == 90){ -m.reply(`*${lenguajeGB.smsAutoLv7()} 90!!* 🏆 -𓃠 *${especialCant * 8} ${global.rpgshop.emoticon(especial)}* -𓃠 *${especialCant2 * 8} ${global.rpgshop.emoticon(especial2)}* -𓃠 *${especialCant3 * 8} ${global.rpgshop.emoticon(especial3)}* -𓃠 *${especialCant4 * 8} ${global.rpgshop.emoticon(especial4)}*`) -user[especial] += especialCant * 8 -user[especial2] += especialCant2 * 8 -user[especial3] += especialCant3 * 8 -user[especial4] += especialCant4 * 8 - -}else if (user.level == 95){ -m.reply(`*${lenguajeGB.smsAutoLv7()} 95!!* 🏆 -𓃠 *${especialCant * 10} ${global.rpgshop.emoticon(especial)}* -𓃠 *${especialCant2 * 10} ${global.rpgshop.emoticon(especial2)}* -𓃠 *${especialCant3 * 10} ${global.rpgshop.emoticon(especial3)}* -𓃠 *${especialCant4 * 10} ${global.rpgshop.emoticon(especial4)}*`) -user[especial] += especialCant * 10 -user[especial2] += especialCant2 * 10 -user[especial3] += especialCant3 * 10 -user[especial4] += especialCant4 * 10 - -}else if (user.level == 100){ -m.reply(`*${lenguajeGB.smsAutoLv7()} 100!!* 🏆 -𓃠 *${especialCant * 10} ${global.rpgshop.emoticon(especial)}* -𓃠 *${especialCant2 * 10} ${global.rpgshop.emoticon(especial2)}* -𓃠 *${especialCant3 * 10} ${global.rpgshop.emoticon(especial3)}* -𓃠 *${especialCant4 * 10} ${global.rpgshop.emoticon(especial4)}*`) -user[especial] += especialCant * 10 -user[especial2] += especialCant2 * 10 -user[especial3] += especialCant3 * 10 -user[especial4] += especialCant4 * 10 - -}else{ - +export function getRole(level) { + const ranks = ['NOVATO(A)', 'APRENDIS', 'EXPLORADOR(A)', 'MAESTRO(A)', 'IRON', 'PLATA', 'ORO', 'LEYENDA', 'ESTELAR', 'DIAMANTE', 'TOP ASTRAL', 'ÉLITE GLOBAL'] + const subLevels = ['V', 'IV', 'III', 'II', 'I'] + const roles = [] + + let lvl = 0 + for (let rank of ranks) { + for (let sub of subLevels) { + roles.push({ level: lvl, name: `${rank} ${sub}` }) + lvl++ + } + } + + return roles.reverse().find(r => level >= r.level) || { level, name: 'NOVATO(A) V' } } - -}} -//export const disabled = false diff --git a/plugins/_autoresponder.js b/plugins/_autoresponder.js index 2a126d82f..15955b795 100644 --- a/plugins/_autoresponder.js +++ b/plugins/_autoresponder.js @@ -1,14 +1,89 @@ -import { sticker } from '../lib/sticker.js' -let handler = m => m - -handler.all = async function (m, {conn}) { -let chat = global.db.data.chats[m.chat] - -if (m.mentionedJid.includes(this.user.jid) && m.isGroup && !chat.isBanned) { -await this.sendMessage(m.chat, {text: `*QUE YO QUE?*`}, {quoted: m, ephemeralExpiration: 24*60*100, disappearingMessagesInChat: 24*60*100})} -/*let stiker = await sticker(imagen1, false, global.packname, global.author) -this.sendFile(m.chat, stiker, 'sticker.webp', null, m, false, { -contextInfo: { externalAdReply: { title: '𝑻𝒉𝒆 𝑳𝒐𝒍𝒊𝑩𝒐𝒕-𝑴𝑫', body: '©elrebelde', sourceUrl: `https://github.com/elrebelde21/The-LoliBot-MD`, thumbnail: imagen2}}})}*/ - -return !0 } -export default handler +import fetch from 'node-fetch'; +import { blackboxAi, exoml, perplexity } from '../lib/scraper.js'; +import { db } from '../lib/postgres.js'; + +const MAX_TURNS = 12; + +export async function before(m, { conn }) { +const botIds = [conn.user?.id, conn.user?.lid].filter(Boolean).map(j => j.split('@')[0].split(':')[0]); + +const mentioned = [...(m.mentionedJid || []), +m.msg?.contextInfo?.participant, +m.msg?.contextInfo?.remoteJid].filter(Boolean); + +const mention = mentioned.some(j => { +const num = j?.split('@')[0]?.split(':')[0]; +return botIds.includes(num); +}); + +//const isReplyToBot = m.quoted && [conn.user?.id, conn.user?.lid].some(id => id?.includes(m.quoted.sender)); +//if (!mention && !isReplyToBot) return true; +const triggerWords = /\b(bot|simi|alexa|lolibot)\b/i; +if (!mention && !triggerWords.test(m.originalText)) return true; +//if (!mention) return true; + +const no_cmd = /(PIEDRA|PAPEL|TIJERA|menu|estado|bots?|serbot|jadibot|Video|Audio|Exp|diamante|lolicoins?)/i; +if (no_cmd.test(m.text)) return true; + +await conn.sendPresenceUpdate("composing", m.chat); +const chatId = m.chat; +const query = m.text; +let memory = []; +let systemPrompt = ''; +let ttl = 86400; // 1 día por defecto +try { +const { rows } = await db.query('SELECT sautorespond, memory_ttl FROM group_settings WHERE group_id = $1', [chatId]); +systemPrompt = rows[0]?.sautorespond || ''; +ttl = rows[0]?.memory_ttl ?? 86400; +} catch (e) { +console.error("[❌] Error obteniendo prompt/ttl:", e.message); +} + +if (!systemPrompt) { +systemPrompt = await fetch('https://raw.githubusercontent.com/elrebelde21/LoliBot-MD/main/src/text-chatgpt.txt').then(v => v.text()); +//await fetch('https://raw.githubusercontent.com/Skidy89/chat-gpt-jailbreak/main/Text.txt').then(r => r.text()); +} + +try { +const res = await db.query('SELECT history, updated_at FROM chat_memory WHERE chat_id = $1', [chatId]); +const { history = [], updated_at } = res.rows[0] || {}; +const expired = !ttl || (updated_at && Date.now() - new Date(updated_at) > ttl * 1000); +memory = expired ? [] : history; +} catch (e) { +console.error("❌ No se pudo obtener memoria de DB:", e.message); +} + +if (!memory.length || memory[0]?.role !== 'system' || memory[0]?.content !== systemPrompt) { +memory = [{ role: 'system', content: systemPrompt }]; +} + +memory.push({ role: 'user', content: query }); +if (memory.length > MAX_TURNS * 2 + 1) { +memory = [memory[0], ...memory.slice(-MAX_TURNS * 2)]; +} + +let result = ''; +try { +result = await exoml.generate(memory, systemPrompt, 'llama-4-scout'); +} catch (err) { +console.error("❌ Error en ExoML, fallback:", err); +const bb = await blackboxAi(query); +result = bb?.data?.response || "❌ No se obtuvo respuesta."; +} + +if (!result || result.trim().length < 2) result = "🤖 ..."; +memory.push({ role: 'assistant', content: result }); +try { +await db.query(`INSERT INTO chat_memory (chat_id, history, updated_at) + VALUES ($1, $2, NOW()) + ON CONFLICT (chat_id) DO UPDATE SET history = $2, updated_at = NOW() + `, [chatId, JSON.stringify(memory)]); +} catch (e) { +console.error("❌ No se pudo guardar memoria:", e.message); +} + +await conn.reply(m.chat, result, m); +await conn.readMessages([m.key]); + +return false; +} \ No newline at end of file diff --git a/plugins/_autosticker.js b/plugins/_autosticker.js deleted file mode 100644 index afb72c612..000000000 --- a/plugins/_autosticker.js +++ /dev/null @@ -1,36 +0,0 @@ -import { sticker } from '../lib/sticker.js' - -let handler = m => m - -handler.all = async function (m) { -let chat = db.data.chats[m.chat] -let user = db.data.users[m.sender] - -if (chat.autosticker && m.isGroup) { -let q = m -let stiker = false -let mime = (q.msg || q).mimetype || q.mediaType || '' -if (/webp/g.test(mime)) return -if (/image/g.test(mime)) { -let img = await q.download?.() -if (!img) return -stiker = await sticker(img, false, packname, author) -} else if (/video/g.test(mime)) { -if (/video/g.test(mime)) if ((q.msg || q).seconds > 8) return -await m.reply(`[❗] ᴇʟ ᴠɪᴅᴇᴏ ɴᴏ ᴘᴜᴇᴅᴇ ᴅᴜʀᴀ ɴᴀs ᴅᴇ 7 sᴇɢ`) -//await this.sendButton(m.chat, '*[❗𝙄𝙣𝙛𝙤❗]𝑬𝒍 𝒗𝒊́𝒅𝒆𝒐 𝒏𝒐 𝒑𝒖𝒆𝒅𝒆 𝒅𝒖𝒓𝒂𝒓 𝒎𝒂́𝒔 𝒅𝒆 7 𝒔𝒆𝒈', wm, [['𝑫𝒆𝒔𝒂𝒄𝒕𝒊𝒗𝒂 𝒂𝒖𝒕𝒐𝒔𝒕𝒊𝒄𝒌𝒆𝒓', '/disable autosticker']], m) -let img = await q.download() -if (!img) return -stiker = await sticker(img, false, packname, author) -} else if (m.text.split(/\n| /i)[0]) { -if (isUrl(m.text)) stiker = await sticker(false, m.text.split(/\n| /i)[0], packname, author) -else return -} -if (stiker) conn.sendFile(m.chat, stiker, 'sticker.webp', '',m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: wm, body: `h`, mediaType: 2, sourceUrl: nn, thumbnail: imagen1}}}, { quoted: m, ephemeralExpiration: 24*60*100, disappearingMessagesInChat: 24*60*100}) -} -return !0 -} -export default handler - -const isUrl = (text) => { -return text.match(new RegExp(/^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_+.~#?&/=]*)(jpe?g|gif|png|mp4)/, 'gi'))} diff --git a/plugins/_cmdWithMedia.js b/plugins/_cmdWithMedia.js deleted file mode 100644 index e7d2d1533..000000000 --- a/plugins/_cmdWithMedia.js +++ /dev/null @@ -1,30 +0,0 @@ -const { - proto, - generateWAMessage, - areJidsSameUser, -} = (await import('@whiskeysockets/baileys')).default; - -export async function all(m, chatUpdate) { - if (m.isBaileys) return; - if (!m.message) return; - if (!m.msg.fileSha256) return; - if (!(Buffer.from(m.msg.fileSha256).toString('base64') in global.db.data.sticker)) return; - - const hash = global.db.data.sticker[Buffer.from(m.msg.fileSha256).toString('base64')]; - const {text, mentionedJid} = hash; - const messages = await generateWAMessage(m.chat, {text: text, mentions: mentionedJid}, { - userJid: this.user.id, - quoted: m.quoted && m.quoted.fakeObj, - }); - messages.key.fromMe = areJidsSameUser(m.sender, this.user.id); - messages.key.id = m.key.id; - messages.pushName = m.pushName; - if (m.isGroup) messages.participant = m.sender; - const msg = { - ...chatUpdate, - messages: [proto.WebMessageInfo.fromObject(messages)], - type: 'append', - }; - this.ev.emit('messages.upsert', msg); -} - \ No newline at end of file diff --git a/plugins/_delete-waBug.js b/plugins/_delete-waBug.js deleted file mode 100644 index 124b6f7ac..000000000 --- a/plugins/_delete-waBug.js +++ /dev/null @@ -1,17 +0,0 @@ -let handler = m => m -handler.before = async function (m, { conn, isAdmin, isBotAdmin }) { - -let fkontak = { "key": { "participants":"0@s.whatsapp.net", "remoteJid": "status@broadcast", "fromMe": false, "id": "Halo" }, "message": { "contactMessage": { "vcard": `BEGIN:VCARD\nVERSION:3.0\nN:Sy;Bot;;;\nFN:y\nitem1.TEL;waid=${m.sender.split('@')[0]}:${m.sender.split('@')[0]}\nitem1.X-ABLabel:Ponsel\nEND:VCARD` }}, "participant": "0@s.whatsapp.net" } -let user = `@${m.sender.split`@`[0]}` -let delet = m.key.participant; -let bang = m.key.id; - -if (isBotAdmin && m.isGroup) { -if (m.text && m.text.toLowerCase().includes("wa.me/settings") || m.text.toLowerCase().includes("wa.me/setting")) { -conn.sendMessage(m.chat, { text: `𝙎𝙀 𝘿𝙀𝙏𝙀𝘾𝙏𝙊 𝙐𝙉 𝘽𝙐𝙂\n\nMarcar el chat como leido ${"\n".repeat(400)}\nSera eliminado: ${user}`, mentions: [m.sender] }, { quoted: fkontak }) -await conn.sendMessage(m.chat, { delete: { remoteJid: m.chat, fromMe: false, id: bang, participant: delet } }) -await conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove') -return null -} -}} -export default handler; diff --git a/plugins/_expired.js b/plugins/_expired.js deleted file mode 100644 index 4e30b6ec8..000000000 --- a/plugins/_expired.js +++ /dev/null @@ -1,20 +0,0 @@ -export async function all(m, conn) { - //let res = await conn.groupAcceptInvite(code) - if (!m.isGroup) - return - let chats = global.db.data.chats[m.chat] - if (!chats.expired) - return !0 - if (+new Date() > chats.expired) { - await m.reply(`bueno el bot se van del grupo!!!, si quiere que vuelva, usar el comando _#bottemporal_ para que vuelva al grupo!!`) - // let caption = `*bueno el bot se van del grupo!!!, si quiere que vuelva, usar el comando _#bottemporal_ para que vuelva al grupo!!*` - let pp = './media/menus/Menu2.jpg' - //await this.sendButton(m.chat, caption, wm, null, [['Eliminar caducado', '/delexpired'], ['Cec caducado', '/cekexpired']], null) -//await this.sendButton(m.chat, caption, wm, pp, [['𝑯𝒂𝒔𝒕𝒂 𝒑𝒓𝒐𝒏𝒕𝒐 🤑', '.hastapronto']], null) -//await conn.sendHydrated2(m.chat, caption, wm, pp, 'https://github.com', 'The loliBot-MD', ig, '𝙄𝙣𝙨𝙩𝙖𝙜𝙧𝙖𝙢', null, m,) - - await this.groupLeave(m.chat) - chats.expired = null - } -} - diff --git a/plugins/_fake.js b/plugins/_fake.js deleted file mode 100644 index 59c10949b..000000000 --- a/plugins/_fake.js +++ /dev/null @@ -1,107 +0,0 @@ -import fs from 'fs' -import fetch from 'node-fetch' -import moment from 'moment-timezone' - -let handler = async (m, { conn, args }) => { -let who = m.mentionedJid && m.mentionedJid[0] ? m.mentionedJid[0] : m.fromMe ? this.user.jid : m.sender -let fsizedoc = '1'.repeat(10) -//let ucapan = ucapan() -let sap = ['Hai', 'Ohayo', 'Kyaa', 'Halo', 'Nyann'] -let name = await conn.getName(who) -let sgh = md -let sgc = nnn -let gata = 'https://i.imgur.com/EXTbyyn.jpg' -let pp = await conn.profilePictureUrl(who).catch(_ => gata) -//pp = await conn.profilePictureUrl(m.chat, 'image').catch(_ => null) || './src/grupos.jpg' - -/*let ftroli = { - key: { - participant: '0@s.whatsapp.net' - }, - message: { - orderMessage: { - itemCount: fsizedoc, - status: 1, - surface: 1, - message: botdate, - orderTitle: author, - sellerJid: '0@s.whatsapp.net' - } - } - }si*/ - -/*let fkontak = { - key: { - participant: '0@s.whatsapp.net' - }, - message: { - contactMessage: { - displayName: wm, - vcard: `BEGIN:VCARD\nVERSION:3.0\nN:XL;${author},;;;\nFN:${author},\nitem1.TEL;waid=${m.sender.split('@')[0]}:${m.sender.split('@')[0]}\nitem1.X-ABLabell:Ponsel\nEND:VCARD`, - jpegThumbnail: fs.readFileSync('./media/menus/Menu1.jpg'), - thumbnail: fs.readFileSync('./media/menus/Menu1.jpg'), - sendEphemeral: true - } - } - }*/ - -/*let fvn = { - key: { - participant: '0@s.whatsapp.net' - }, - message: { - audioMessage: { - mimetype: 'audio/ogg; codecs=opus', - seconds: fsizedoc, - ptt: true - } - } - }*/ - - -let ftoko = { - key: { - participant: '0@s.whatsapp.net' - }, - message: { - productMessage: { - product: { - productImage: { - mimetype: 'image/jpeg', - jpegThumbnail: fs.readFileSync('./media/menus/Menu1.jpg') - }, - title: '👋 ' + sap.getRandom() + ' Kak :> ' + name, - description: botdate, - currencyCode: 'IDR', - priceAmount1000: fsizedoc, - retailerId: 'Ghost', - productImageCount: 1 - }, - businessOwnerJid: '0@s.whatsapp.net' - } - } - } -await conn.reply(m.chat, `*Prueba*`, ftoko, m) -//await conn.sendButton(m.chat, `*Prueba*`, wm, pp, [[' Menu', '/menu']], ftoko, m) -} - -handler.command = /^(fake)$/i -export default handler - -function ucapan() { - const time = moment.tz('America/Los_Angeles').format('HH') //America/Los_Angeles Asia/Jakarta America/Toronto - let res = "👋 *BIENVENIDO(A) | WELCOME* 👋" - if (time >= 4) { - res = "🌇 *Buenos Días | Good Morning* ⛅" - } - if (time >= 11) { - res = "🏙️ *Buenas Tardes | Good Afternoon* 🌤️" - } - if (time >= 15) { - res = "🌆 *Buenas tardes | Good Afternoon* 🌥️" - } - if (time >= 17) { - res = "🌃 *Buenas noches | Good Evening* 💫" - } - return res -} diff --git a/plugins/_premium.js b/plugins/_premium.js deleted file mode 100644 index d2ea2db20..000000000 --- a/plugins/_premium.js +++ /dev/null @@ -1,10 +0,0 @@ -let handler = m => m -export async function all(m) { -let user = global.db.data.users[m.sender] -if (m.chat.endsWith('broadcast')) return -if (user.premiumTime != 0 && user.premium) { -if (new Date() * 1 >= user.premiumTime) { -await m.reply(`${ag}*@${m.sender.split`@`[0]} ¡𝙎𝙚 𝙖𝙘𝙖𝙗𝙤́ 𝙚𝙡 𝙩𝙞𝙚𝙢𝙥𝙤 𝙥𝙧𝙚𝙢𝙞𝙪𝙢!*\n𝙎𝙞 𝙦𝙪𝙞𝙚𝙧𝙚𝙨 𝙤𝙗𝙩𝙚𝙣𝙚𝙧 𝙪𝙣 𝙣𝙪𝙚𝙫𝙤 𝙥𝙖𝙨𝙚 𝙥𝙧𝙚𝙢𝙞𝙪𝙢 𝙪𝙨𝙖 𝙚𝙡 𝙘𝙤𝙢𝙖𝙣𝙙𝙤\n*#pase premium*`, false, { mentions: [m.sender] }) -user.premiumTime = 0 -user.premium = false -}}} diff --git a/plugins/_simi.js b/plugins/_simi.js deleted file mode 100644 index 27cc1a64f..000000000 --- a/plugins/_simi.js +++ /dev/null @@ -1,33 +0,0 @@ -import fetch from 'node-fetch' -let handler = m => m - -handler.before = async (m) => { -let chat = global.db.data.chats[m.chat] -if (chat.simi) { -if (/^.*false|disnable|(turn)?off|0/i.test(m.text)) return -if (!m.text) return -let textodem = m.text -try { -await conn.sendPresenceUpdate('composing', m.chat) -let ressimi = await fetch(`https://api.simsimi.net/v2/?text=${encodeURIComponent(m.text)}&lc=` + lenguajeGB.lenguaje()) -let data = await ressimi.json(); -if (data.success == 'No s\u00e9 lo qu\u00e9 est\u00e1s diciendo. Por favor ense\u00f1ame.') return m.reply(`${lol}`) /* EL TEXTO "lol" NO ESTA DEFINIDO PARA DAR ERROR Y USAR LA OTRA API */ -await m.reply(data.success) -} catch { -/* SI DA ERROR USARA ESTA OTRA OPCION DE API DE IA QUE RECUERDA EL NOMBRE DE LA PERSONA */ -if (textodem.includes('Hola')) textodem = textodem.replace('Hola', 'Hello') -if (textodem.includes('hola')) textodem = textodem.replace('hola', 'hello') -if (textodem.includes('HOLA')) textodem = textodem.replace('HOLA', 'HELLO') -let reis = await fetch("https://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=en&dt=t&q=" + textodem) -let resu = await reis.json() -let nama = m.pushName || '1' -let api = await fetch("http://api.brainshop.ai/get?bid=153868&key=rcKonOgrUFmn5usX&uid=" + nama + "&msg=" + resu[0][0][0]) -let res = await api.json() -let reis2 = await fetch("https://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=es&dt=t&q=" + res.cnt) -let resu2 = await reis2.json() -await m.reply(resu2[0][0][0])} -return !0 -} -return true -} -export default handler diff --git a/plugins/_templateResponse.js b/plugins/_templateResponse.js deleted file mode 100644 index dc08ba2fc..000000000 --- a/plugins/_templateResponse.js +++ /dev/null @@ -1,109 +0,0 @@ -/** - * @type {import('@whiskeysockets/baileys')} - */ -const { - proto, - generateWAMessage, - areJidsSameUser, - decryptPollVote, -} = (await import('@whiskeysockets/baileys')).default; - -export async function all(m, chatUpdate) { - /* if (m.message.pollUpdateMessage) { - console.log(m.message.pollUpdateMessage) - console.log(m.message.pollUpdateMessage.pollCreationMessageKey) - let authcode = "eed1zxI49cxiovBTUFLIEWi1shD9HgIOghONuqPDGTk=" - let xds = decryptPollVote({ - encPayload: m.message.pollUpdateMessage.vote.encPayload, - encIv: m.message.pollUpdateMessage.vote.encIv, - }, { - pollCreatorJid: m.message.pollUpdateMessage.pollCreationMessageKey.participant, - pollMsgId: m.message.pollUpdateMessage.pollCreationMessageKey.id, - pollEncKey: authcode, //Uint8Array.from(authcode.split('').map(letter => letter.charCodeAt(0))), - voterJid: m.sender, - }) - console.log(xds) -}*/ - if (m.isBaileys) { - return; - } - if (!m.message) { - return; - } - if (!(m.message.buttonsResponseMessage || m.message.templateButtonReplyMessage || m.message.listResponseMessage)) { - return; - } - const id = m.message.buttonsResponseMessage?.selectedButtonId || m.message.templateButtonReplyMessage?.selectedId || m.message.listResponseMessage?.singleSelectReply?.selectedRowId; - const text = m.message.buttonsResponseMessage?.selectedDisplayText || m.message.templateButtonReplyMessage?.selectedDisplayText || m.message.listResponseMessage?.title; - let isIdMessage = false; let usedPrefix; - for (const name in global.plugins) { - const plugin = global.plugins[name]; - if (!plugin) { - continue; - } - if (plugin.disabled) { - continue; - } - if (!opts['restrict']) { - if (plugin.tags && plugin.tags.includes('admin')) { - continue; - } - } - if (typeof plugin !== 'function') { - continue; - } - if (!plugin.command) { - continue; - } - const str2Regex = (str) => str.replace(/[|\\{}()[\]^$+*?.]/g, '\\$&'); - const _prefix = plugin.customPrefix ? plugin.customPrefix : this.prefix ? this.prefix : global.prefix; - const match = (_prefix instanceof RegExp ? // RegExp Mode? - [[_prefix.exec(id), _prefix]] : - Array.isArray(_prefix) ? // Array? - _prefix.map((p) => { - const re = p instanceof RegExp ? // RegExp in Array? - p : - new RegExp(str2Regex(p)); - return [re.exec(id), re]; - }) : - typeof _prefix === 'string' ? // String? - [[new RegExp(str2Regex(_prefix)).exec(id), new RegExp(str2Regex(_prefix))]] : - [[[], new RegExp]] - ).find((p) => p[1]); - if ((usedPrefix = (match[0] || '')[0])) { - const noPrefix = id.replace(usedPrefix, ''); - let [command] = noPrefix.trim().split` `.filter((v) => v); - command = (command || '').toLowerCase(); - const isId = plugin.command instanceof RegExp ? // RegExp Mode? - plugin.command.test(command) : - Array.isArray(plugin.command) ? // Array? - plugin.command.some((cmd) => cmd instanceof RegExp ? // RegExp in Array? - cmd.test(command) : - cmd === command, - ) : - typeof plugin.command === 'string' ? // String? - plugin.command === command : - false; - if (!isId) { - continue; - } - isIdMessage = true; - } - } - const messages = await generateWAMessage(m.chat, {text: isIdMessage ? id : text, mentions: m.mentionedJid}, { - userJid: this.user.id, - quoted: m.quoted && m.quoted.fakeObj, - }); - messages.key.fromMe = areJidsSameUser(m.sender, this.user.id); - messages.key.id = m.key.id; - messages.pushName = m.name; - if (m.isGroup) { - messages.key.participant = messages.participant = m.sender; - } - const msg = { - ...chatUpdate, - messages: [proto.WebMessageInfo.fromObject(messages)].map((v) => (v.conn = this, v)), - type: 'append', - }; - this.ev.emit('messages.upsert', msg); -} diff --git a/plugins/afk-_afk.js b/plugins/afk-_afk.js deleted file mode 100644 index a5bdc8e21..000000000 --- a/plugins/afk-_afk.js +++ /dev/null @@ -1,26 +0,0 @@ -export function before(m) { -let user = global.db.data.users[m.sender] -if (user.afk > -1) { -m.reply(` -${lenguajeGB['smsAfkM1']()}${user.afkReason ? ` ${lenguajeGB['smsAfkM2']()} ` + user.afkReason : ''} - -${lenguajeGB['smsAfkM3']()} *${(new Date - user.afk).toTimeString()}*`.trim()) -user.afk = -1 -user.afkReason = '' -} -let jids = [...new Set([...(m.mentionedJid || []), ...(m.quoted ? [m.quoted.sender] : [])])] -for (let jid of jids) { -let user = global.db.data.users[jid] -if (!user) -continue -let afkTime = user.afk -if (!afkTime || afkTime < 0) -continue -let reason = user.afkReason || '' -m.reply(`${lenguajeGB['smsAfkM4']()} -${reason ? `${lenguajeGB['smsAfkM5']()} ` + reason : `${lenguajeGB['smsAfkM6']()}`} -${lenguajeGB['smsAfkM3']()} *${(new Date - afkTime).toTimeString()}* -`.trim()) -} -return true -} diff --git a/plugins/afk-afk.js b/plugins/afk-afk.js deleted file mode 100644 index 05f285839..000000000 --- a/plugins/afk-afk.js +++ /dev/null @@ -1,14 +0,0 @@ -let handler = async (m, { text, usedPrefix }) => { -let user = global.db.data.users[m.sender] - if (!text) return m.reply(`${lenguajeGB['smsAvisoMG']()}𝙋𝙊𝙍 𝙁𝘼𝙑𝙊𝙍 𝘾𝙊𝙇𝙊𝙌𝙐𝙀 𝙎𝙐 𝙈𝙊𝙏𝙄𝙑𝙊 𝙋𝘼𝙍𝘼 𝙀𝙎𝙏𝘼𝙍 𝘼𝙁𝙆\n\n𝙀𝙅𝙀𝙈𝙋𝙇𝙊:\n*${usedPrefix}afk Voy a comer*`) - if (text.length < 10) return m.reply(`${lenguajeGB['smsAvisoMG']()}𝙀𝙇 𝙈𝙊𝙏𝙄𝙑𝙊 𝙀𝙎 𝙈𝙐𝙔 𝘾𝙊𝙍𝙏𝙊, 𝙈𝙄𝙉𝙄𝙈𝙊 10 𝘾𝘼𝙍𝘼́𝘾𝙏𝙀𝙍𝙀𝙎`) -user.afk = + new Date -user.afkReason = text -m.reply(`${lenguajeGB['smsAfkM1A']()} *${conn.getName(m.sender)}* ${lenguajeGB['smsAfkM1B']()}${text ? ': ' + text : ''} -`)} -handler.help = ['afk [alasan]'] -handler.tags = ['main'] -handler.command = /^afk$/i -handler.register = true -handler.money = 120 -export default handler diff --git a/plugins/anonymous_chat.js b/plugins/anonymous_chat.js deleted file mode 100644 index 609093c3d..000000000 --- a/plugins/anonymous_chat.js +++ /dev/null @@ -1,51 +0,0 @@ -async function handler(m, { usedPrefix, command }) { -command = command.toLowerCase() -this.anonymous = this.anonymous ? this.anonymous : {} -switch (command) { -case 'next': -case 'leave': { -let room = Object.values(this.anonymous).find(room => room.check(m.sender)) -if (!room) return this.sendMessage(m.chat, { text: `${lenguajeGB['smsChatAn1']()}\n${lenguajeGB['smsChatAn2']()}`}, { quoted: m }) -//this.sendButton(m.chat, `${lenguajeGB['smsChatAn1']()}`, lenguajeGB.smsChatAn2() + wm, null, [[lenguajeGB.smsChatAn3(), `.start`]], m) -m.reply(`${lenguajeGB['smsChatAn4']()}`) -let other = room.other(m.sender) -if (other) await this.sendMessage(other, { text: `${lenguajeGB['smsChatAn5']()}`}, { quoted: m }) -//this.sendButton(other, `${lenguajeGB['smsChatAn5']()}`, lenguajeGB.smsChatAn6() + wm, null, [[lenguajeGB.smsChatAn3(), `.start`]], m) -delete this.anonymous[room.id] -if (command === 'leave') break -} -case 'start': { -if (Object.values(this.anonymous).find(room => room.check(m.sender))) return this.sendMessage(m.chat, { text: `${lenguajeGB['smsChatAn7']()}`}, { quoted: m }) -//this.sendButton(m.chat, `${lenguajeGB['smsChatAn7']()}`, lenguajeGB.smsChatAn8() + wm, null, [[lenguajeGB.smsChatAn9(), `.leave`]], m) -let room = Object.values(this.anonymous).find(room => room.state === 'WAITING' && !room.check(m.sender)) -if (room) { -await this.sendMessage(room.a, { text: `${lenguajeGB['smsChatAn10']()}`}, { quoted: m }) -//this.sendButton(room.a, `${lenguajeGB['smsChatAn10']()}`, lenguajeGB.smsChatAn11() + wm, null, [[lenguajeGB.smsChatAn12(), `.next`]], m) -room.b = m.sender -room.state = 'CHATTING' -await this.sendMessage(m.chat, { text: `${lenguajeGB['smsChatAn10']()}`}, { quoted: m }) -//this.sendButton(m.chat, `${lenguajeGB['smsChatAn10']()}`, lenguajeGB.smsChatAn11() + wm, null, [[lenguajeGB.smsChatAn12(), `.next`]], m) -} else { -let id = + new Date -this.anonymous[id] = { -id, -a: m.sender, -b: '', -state: 'WAITING', -check: function (who = '') { -return [this.a, this.b].includes(who) -}, -other: function (who = '') { -return who === this.a ? this.b : who === this.b ? this.a : '' -}, -} -await this.sendMessage(m.chat, { text: `${lenguajeGB['smsChatAn13']()}`}, { quoted: m }) -//this.sendButton(m.chat, `${lenguajeGB['smsChatAn13']()}`, lenguajeGB.smsChatAn8() + wm, null, [[lenguajeGB.smsChatAn9(), `.leave`]], m) -} -break -}}} -handler.help = ['start', 'leave', 'next'] -handler.tags = ['anonymous'] -handler.command = ['start', 'leave', 'next'] -handler.private = true -export default handler \ No newline at end of file diff --git a/plugins/anonymous_chat_.js.js b/plugins/anonymous_chat_.js.js deleted file mode 100644 index 15cbd016f..000000000 --- a/plugins/anonymous_chat_.js.js +++ /dev/null @@ -1,14 +0,0 @@ -export async function before(m, { match }) { - // if (match) return !1 - if (!m.chat.endsWith('@s.whatsapp.net')) - return !0 - this.anonymous = this.anonymous ? this.anonymous : {} - let room = Object.values(this.anonymous).find(room => [room.a, room.b].includes(m.sender) && room.state === 'CHATTING') - if (room) { - if (/^.*(next|leave|start)/.test(m.text)) - return - let other = [room.a, room.b].find(user => user !== m.sender) - await m.copyNForward(other, true) - } - return !0 -} diff --git a/plugins/audio-efectos.js b/plugins/audio-efectos.js deleted file mode 100644 index 7681be3da..000000000 --- a/plugins/audio-efectos.js +++ /dev/null @@ -1,44 +0,0 @@ -import { unlinkSync, readFileSync } from 'fs' -import { join } from 'path' -import { exec } from 'child_process' - -let handler = async (m, { conn, args, __dirname, usedPrefix, command }) => { -try { -let q = m.quoted ? m.quoted : m -let mime = ((m.quoted ? m.quoted : m.msg).mimetype || '') -let set -if (/bass/.test(command)) set = '-af equalizer=f=94:width_type=o:width=2:g=30' -if (/blown/.test(command)) set = '-af acrusher=.1:1:64:0:log' -if (/deep/.test(command)) set = '-af atempo=4/4,asetrate=44500*2/3' -if (/earrape/.test(command)) set = '-af volume=12' -if (/fast/.test(command)) set = '-filter:a "atempo=1.63,asetrate=44100"' -if (/fat/.test(command)) set = '-filter:a "atempo=1.6,asetrate=22100"' -if (/nightcore/.test(command)) set = '-filter:a atempo=1.06,asetrate=44100*1.25' -if (/reverse/.test(command)) set = '-filter_complex "areverse"' -if (/robot/.test(command)) set = '-filter_complex "afftfilt=real=\'hypot(re,im)*sin(0)\':imag=\'hypot(re,im)*cos(0)\':win_size=512:overlap=0.75"' -if (/slow/.test(command)) set = '-filter:a "atempo=0.7,asetrate=44100"' -if (/smooth/.test(command)) set = '-filter:v "minterpolate=\'mi_mode=mci:mc_mode=aobmc:vsbmc=1:fps=120\'"' -if (/tupai|squirrel|chipmunk/.test(command)) set = '-filter:a "atempo=0.5,asetrate=65100"' -if (/audio/.test(mime)) { -let ran = getRandom('.mp3') -let filename = join(__dirname, '../tmp/' + ran) -let media = await q.download(true) -exec(`ffmpeg -i ${media} ${set} ${filename}`, async (err, stderr, stdout) => { -await unlinkSync(media) -if (err) throw `_*Error!*_` -let buff = await readFileSync(filename) -conn.sendFile(m.chat, buff, ran, null, m, true, { -type: 'audioMessage', -ptt: true -})}) -} else throw `𝙍𝙚𝙨𝙥𝙤𝙣𝙙𝙖𝙣 𝙖𝙡 𝙖𝙪𝙙𝙞𝙤 𝙤 𝙣𝙤𝙩𝙖 𝙙𝙚𝙡 𝙫𝙤𝙯 𝙥𝙖𝙧𝙖 𝙢𝙤𝙙𝙞𝙛𝙞𝙘𝙖𝙧 𝙪𝙨𝙚 𝙚𝙨𝙩𝙚 𝙘𝙤𝙢𝙖𝙣𝙙𝙤 *${usedPrefix + command}*` -} catch (e) { -throw e -}} -handler.help = ['bass', 'blown', 'deep', 'earrape', 'fast', 'fat', 'nightcore', 'reverse', 'robot', 'slow', 'smooth', 'tupai'].map(v => v + ' [vn]') -handler.tags = ['audio'] -handler.command = /^(bass|blown|deep|earrape|fas?t|nightcore|reverse|robot|slow|smooth|tupai|squirrel|chipmunk)$/i -export default handler - -const getRandom = (ext) => { -return `${Math.floor(Math.random() * 10000)}${ext}`} diff --git a/plugins/buscador-animeinfo.js b/plugins/buscador-animeinfo.js deleted file mode 100644 index b8a1cc302..000000000 --- a/plugins/buscador-animeinfo.js +++ /dev/null @@ -1,51 +0,0 @@ -import translate from '@vitalets/google-translate-api' -import { Anime } from "@shineiichijo/marika" -const client = new Anime(); -let handler = async(m, { conn, text, usedPrefix }) => { -if (!text) throw `${mg}𝙀𝙨𝙘𝙧𝙞𝙗𝙖 𝙚𝙡 𝙣𝙤𝙢𝙗𝙧𝙚 𝙙𝙚 𝙪𝙣 𝙖𝙣𝙞𝙢𝙚` -try { -let anime = await client.searchAnime(text) -let result = anime.data[0]; -let resultes = await translate(`${result.background}`, { to: 'es', autoCorrect: true }) -let resultes2 = await translate(`${result.synopsis}`, { to: 'es', autoCorrect: true }) -let AnimeInfo = ` -𝙏𝙞́𝙩𝙪𝙡𝙤 -❣ ${title} -┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ -𝙀𝙥𝙞𝙨𝙤𝙙𝙞𝙤𝙨 -❣ ${episodes} -┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ -𝙏𝙧𝙖𝙣𝙨𝙢𝙞𝙩𝙞𝙙𝙤 𝙥𝙤𝙧: -❣ ${type} -┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ -𝘾𝙡𝙖𝙨𝙞𝙛𝙞𝙘𝙖𝙘𝙞𝙤́𝙣 -❣ ${rated} -┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ -𝙋𝙪𝙣𝙩𝙖𝙟𝙚 -❣ ${score} -┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ -𝙈𝙞𝙚𝙢𝙗𝙧𝙤𝙨 -❣ ${members} -┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ -𝙎𝙞𝙣𝙤𝙥𝙨𝙞𝙨 -❣ ${synopsis} -┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ -𝙀𝙣𝙡𝙖𝙘𝙚 -❣ ${url}` -conn.sendFile(m.chat, result.images.jpg.image_url, 'error.jpg', AnimeInfo, m) -/*.trim() - -await conn.sendHydrated(m.chat, info, wm, null, ig, '𝙄𝙣𝙨𝙩𝙖𝙜𝙧𝙖𝙢', null, null, [ -['𝙈𝙚𝙣𝙪 𝘽𝙪𝙨𝙦𝙪𝙚𝙙𝙖𝙨 | 𝙎𝙚𝙖𝙧𝙘𝙝𝙚𝙨 🔎', '#buscarmenu'], -['𝙈𝙚𝙣𝙪 𝘾𝙤𝙢𝙥𝙡𝙚𝙩𝙤 | 𝙁𝙪𝙡𝙡 𝙈𝙚𝙣𝙪 ✨', '.allmenu'], -['𝙑𝙤𝙡𝙫𝙚𝙧 𝙖𝙡 𝙈𝙚𝙣𝙪́ | 𝘽𝙖𝙘𝙠 𝙩𝙤 𝙈𝙚𝙣𝙪 ☘️', '/menu'] -], m,) */ -} catch { -throw `*[❗] ERROR, INTENTELO DE NUEVO*` -}} -handler.help = ['animeinfo '] -handler.tags = ['internet'] -handler.command = /^(animeinfo)$/i -handler.exp = 50 -handler.level = 1 -export default handler diff --git a/plugins/buscador-google.js b/plugins/buscador-google.js index 47a807f81..76ff61011 100644 --- a/plugins/buscador-google.js +++ b/plugins/buscador-google.js @@ -1,68 +1,44 @@ -import {googleIt} from '@bochilteam/scraper'; -import google from 'google-it'; +//import {googleIt} from '@bochilteam/scraper'; import axios from 'axios'; -let handler = async (m, { conn, command, args, usedPrefix }) => { -const fetch = (await import('node-fetch')).default; -const text = args.join` `; -let fkontak = { "key": { "participants":"0@s.whatsapp.net", "remoteJid": "status@broadcast", "fromMe": false, "id": "Halo" }, "message": { "contactMessage": { "vcard": `BEGIN:VCARD\nVERSION:3.0\nN:Sy;Bot;;;\nFN:y\nitem1.TEL;waid=${m.sender.split('@')[0]}:${m.sender.split('@')[0]}\nitem1.X-ABLabel:Ponsel\nEND:VCARD` }}, "participant": "0@s.whatsapp.net" } -if (!text) return conn.reply(m.chat, `𝙌𝙪𝙚 𝙚𝙨𝙩𝙖́ 𝙗𝙪𝙨𝙘𝙖𝙣𝙙𝙤?🤔\n𝙀𝙨𝙘𝙧𝙞𝙗𝙖 𝙡𝙤 𝙦𝙪𝙚 𝙦𝙪𝙞𝙚𝙧𝙖 𝙗𝙪𝙨𝙘𝙖𝙧\n𝙀𝙟𝙚𝙢𝙥𝙡𝙤\n*${usedPrefix + command} loli*`, m) +import fetch from 'node-fetch'; +let handler = async (m, { conn, text, command, args, usedPrefix }) => { +if (!text) return m.reply(`⚠️ 𝙌𝙪𝙚 𝙚𝙨𝙩𝙖 𝙗𝙪𝙨𝙘𝙖𝙣𝙙𝙤 🤔 𝙀𝙨𝙘𝙧𝙞𝙗𝙖 𝙡𝙤 𝙦𝙪𝙚 𝙦𝙪𝙞𝙚𝙧𝙖 𝙗𝙪𝙨𝙘𝙖𝙧\n• 𝙀𝙟: ${usedPrefix + command} loli`) +m.react("⌛") try { -const url = 'https://google.com/search?q=' + encodeURIComponent(text); -google({'query': text}).then(res => { -let teks = `*🔍 RESULTADOS DE:* ${text}\n\n*${url}*\n\n` -for (let g of res) { -teks += `_${g.title}_\n_${g.link}_\n_${g.snippet}_\n\n┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈\n\n` -} -const ss = `https://image.thum.io/get/fullpage/${url}` -conn.sendFile(m.chat, ss, 'error.png', teks, fkontak) -//m.reply(teks) -}) -} catch { -handler.limit = 0 -}} +const res = await fetch(`${info.apis}/search/googlesearch?query=${text}`); +const data = await res.json(); + +if (data.status && data.data && data.data.length > 0) { +let teks = `\`🔍 𝘙𝘌𝘚𝘜𝘓𝘛𝘈𝘋𝘖𝘚 𝘋𝘌:\` ${text}\n\n`; +for (let result of data.data) { +teks += `*${result.title}*\n_${result.url}_\n_${result.description}_\n\n─────────────────\n\n`; +} + +const ss = `https://image.thum.io/get/fullpage/https://google.com/search?q=${encodeURIComponent(text)}`; +conn.sendFile(m.chat, ss, 'result.png', teks, m); +m.react("✅") +}} catch { +try { +const res = await fetch(`https://api.alyachan.dev/api/google?q=${text}&apikey=Gata-Dios`); +const data = await res.json(); + +if (data.status && data.data && data.data.length > 0) { +let teks = `🔍 *Resultados de:* ${text}\n\n`; +for (let result of data.data) { +teks += `📌 *${result.title}*\n🔗 _${result.formattedUrl || result.url}_\n📖 _${result.snippet || result.description}_\n\n─────────────────\n\n`; +} +const ss = `https://image.thum.io/get/fullpage/https://google.com/search?q=${encodeURIComponent(text)}`; +conn.sendFile(m.chat, ss, 'result.png', teks, m); +}} catch (e) { +handler.limit = 0; +console.log(e); +m.react("❌") +}}} handler.help = ['google', 'googlef'].map(v => v + ' ') -handler.tags = ['internet'] +handler.tags = ['buscadores'] handler.command = /^googlef?$/i -handler.exp = 40 -handler.exp = 3 -handler.limit = 1 +handler.register = true +handler.limit = 1; export default handler -/*import { googleIt } from '@bochilteam/scraper' -let handler = async (m, { conn, command, args, usedPrefix }) => { -const fetch = (await import('node-fetch')).default -let full = /f$/i.test(command) -let text = args.join` ` -if (!text) return conn.reply(m.chat, `${lenguajeGB['smsAvisoMG']()}𝙀𝙎𝘾𝙍𝙄𝘽𝘼 𝙇𝙊 𝙌𝙐𝙀 𝙌𝙐𝙄𝙀𝙍𝙀 𝘽𝙐𝙎𝘾𝘼𝙍\n𝙀𝙅𝙀𝙈𝙋𝙇𝙊\n*${usedPrefix + command} Gata*\n\n𝙏𝙔𝙋𝙀 𝙒𝙃𝘼𝙏 𝙔𝙊𝙐 𝙒𝘼𝙉𝙏 𝙏𝙊 𝙎𝙀𝘼𝙍𝘾𝙃 𝙁𝙊𝙍\n𝙀𝙓𝘼𝙈𝙋𝙇𝙀\n*${usedPrefix + command} Cat*`, m) -let pp = './media/menus/Menu1.jpg' -let url = 'https://google.com/search?q=' + encodeURIComponent(text) -let search = await googleIt(text) -let msg = search.articles.map(({ -// header, -title, -url, -description -}) => { -return `*${title}*\n_${url}_\n_${description}_\n┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈` -}).join('\n\n') -/*let info = `💖 *Infórmate sobre las Novedades y recuerda tener la última versión.*\n\n💝 *Find out about what's new and remember to have the latest version.* - `.trim() -conn.sendHydrated(m.chat, info, wm, pp, ig, '𝙄𝙣𝙨𝙩𝙖𝙜𝙧𝙖𝙢', null, null, [ -['𝙈𝙚𝙣𝙪 𝘽𝙪𝙨𝙦𝙪𝙚𝙙𝙖𝙨 | 𝙎𝙚𝙖𝙧𝙘𝙝𝙚𝙨 🔎', '#buscarmenu'], -['𝙈𝙚𝙣𝙪 𝘾𝙤𝙢𝙥𝙡𝙚𝙩𝙤 | 𝙁𝙪𝙡𝙡 𝙈𝙚𝙣𝙪 ✨', '.allmenu'], -['𝙑𝙤𝙡𝙫𝙚𝙧 𝙖𝙡 𝙈𝙚𝙣𝙪́ | 𝘽𝙖𝙘𝙠 𝙩𝙤 𝙈𝙚𝙣𝙪 ☘️', '/menu'] -], m,) -try { -let ss = await (await fetch(global.API('nrtm', '/api/ssweb', { delay: 1000, url, full }))).arrayBuffer() -if (//i.test(ss.toBuffer().toString())) throw '' -await conn.sendFile(m.chat, ss, 'error.png', url + '\n\n' + msg, m) -} catch (e) { -m.reply(msg) -}} -handler.help = ['google', 'googlef'].map(v => v + ' ') -handler.tags = ['internet'] -handler.command = /^googlef?$/i -handler.exp = 40 -handler.exp = 3 -export default handler*/ diff --git a/plugins/buscador-lyrics.js b/plugins/buscador-lyrics.js index f82c6003b..89478cb56 100644 --- a/plugins/buscador-lyrics.js +++ b/plugins/buscador-lyrics.js @@ -1,84 +1,28 @@ -import {find_lyrics} from '@brandond/findthelyrics'; -import {getTracks} from '@green-code/music-track-data'; -import {googleImage} from '@bochilteam/scraper'; const handler = async (m, {conn, text, usedPrefix, command}) => { const teks = text ? text : m.quoted && m.quoted.text ? m.quoted.text : ''; -let fkontak = { "key": { "participants":"0@s.whatsapp.net", "remoteJid": "status@broadcast", "fromMe": false, "id": "Halo" }, "message": { "contactMessage": { "vcard": `BEGIN:VCARD\nVERSION:3.0\nN:Sy;Bot;;;\nFN:y\nitem1.TEL;waid=${m.sender.split('@')[0]}:${m.sender.split('@')[0]}\nitem1.X-ABLabel:Ponsel\nEND:VCARD` }}, "participant": "0@s.whatsapp.net" } -if (!teks) throw `${lenguajeGB['smsAvisoMG']()}𝙄𝙉𝙂𝙍𝙀𝙎𝙀 𝙀𝙇 𝙉𝙊𝙈𝘽𝙍𝙀 𝘿𝙀 𝙐𝙉𝘼 𝘾𝘼𝙉𝘾𝙄𝙊𝙉 𝙋𝘼𝙍𝘼 𝙊𝘽𝙏𝙀𝙉𝙀𝙍 𝙇𝘼 𝙇𝙀𝙏𝙍𝘼\n𝙀𝙅𝙀𝙈𝙋𝙇𝙊\n*${usedPrefix + command} Ozuna te van*` +if (!teks) return m.reply(`*⚠️ ¿Que esta buscando? ingresa el nombre del tema para buscar la letra de la canción, ejemplo:* ${usedPrefix + command} ozuna te vas`) try { -const result = await getTracks(teks); -const lyrics = await find_lyrics(`${result[0].artist} ${result[0].title}`); -const res = await fetch(global.API('https://some-random-api.com', '/lyrics', {title: result[0].artist + result[0].title})); -const json = await res.json(); -let img; -try { -img = result.album.artwork; +const res = await fetch(`https://api.fgmods.xyz/api/other/lyrics?text=${text}&apikey=${info.fgmods.key}`) +const data = await res.json(); +const textoLetra = `*🎤 𝙏𝙞𝙩𝙪𝙡𝙤:* ${data.result.title}\n*👤 𝘼𝙪𝙩𝙤𝙧:* ${data.result.artist}\n*🎶 𝙐𝙧𝙡:* ${data.result.url || 'No disponible'}\n\n*📃🎵 𝙇𝙚𝙩𝙧𝙖:*\n${data.result.lyrics}`; +const img = data.result.image +conn.sendFile(m.chat, img, 'error,jpg', textoLetra, m); } catch { try { -img = json.thumbnail.genius; -} catch { -const bochil = await googleImage(`${result[0].artist} ${result[0].title}`); -img = await bochil.getRandom(); -}} -await conn.sendMessage(m.chat, {image: {url: img}, caption: `𝙏𝙄𝙏𝙐𝙇𝙊 -💚 *${result[0].title || ''}* - -𝘼𝙐𝙏𝙊𝙍(𝘼) -💜 *${result[0].artist || ''}* - -${lyrics || ''}`}, {quoted: fkontak}); -await conn.sendMessage(m.chat, {audio: {url: result[0].preview}, fileName: `${result[0].artist} ${result[0].title}.mp3`, mimetype: 'audio/mp4'}, {quoted: m}); +const res = await fetch(`${info.apis}/search/letra?query=${text}`); +const data = await res.json(); +if (data.status !== "200" || !data.data) return conn.reply(m.chat, 'No se encontró la letra de la canción especificada.', m); + +const textoLetra = `*🎤 𝙏𝙞𝙩𝙪𝙡𝙤:* ${data.data.title || 'Desconocido'}\n*👤 𝘼𝙪𝙩𝙤𝙧:* ${data.data.artist || 'Desconocido'}\n*🔗 𝘼𝙧𝙩𝙞𝙨𝙩𝙖:* ${data.data.artistUrl || 'No disponible'}\n*🎶 𝙐𝙧𝙡:* ${data.data.url || 'No disponible'}\n\n*📃🎵 𝙇𝙚𝙩𝙧𝙖:*\n${data.data.lyrics || 'Letra no disponible'}`; +const img = data.data.image +conn.sendFile(m.chat, img, 'error,jpg', textoLetra, m); +//conn.sendMessage(m.chat, { image: { url: img }, caption: textoLetra }, { quoted: m }); } catch (e) { -await conn.reply(m.chat, `${lenguajeGB['smsMalError3']()}#report ${usedPrefix + command}\n\n${wm}`, fkontak, m) -console.log(`❗❗ ${lenguajeGB['smsMensError2']()} ${usedPrefix + command} ❗❗`) +m.reply(`\`\`\`⚠️ OCURRIO UN ERROR ⚠️\`\`\`\n\n> *Reporta el siguiente error a mi creador con el comando:*#report\n\n>>> ${e} <<<< `) console.log(e) -handler.limit = 0 -}} -handler.help = ['lirik','letra'].map(v => v + ' ') -handler.tags = ['internet'] -handler.command = /^(lirik|lyrics|lyric|letra)$/i -handler.limit = 1 -handler.level = 3 -handler.exp = 55 -export default handler - -/*import fetch from 'node-fetch' -import { lyrics, lyricsv2, googleImage } from '@bochilteam/scraper' -let handler = async (m, { conn, text, usedPrefix, command }) => { -let teks = text ? text : m.quoted && m.quoted.text ? m.quoted.text : '' -let fkontak = { "key": { "participants":"0@s.whatsapp.net", "remoteJid": "status@broadcast", "fromMe": false, "id": "Halo" }, "message": { "contactMessage": { "vcard": `BEGIN:VCARD\nVERSION:3.0\nN:Sy;Bot;;;\nFN:y\nitem1.TEL;waid=${m.sender.split('@')[0]}:${m.sender.split('@')[0]}\nitem1.X-ABLabel:Ponsel\nEND:VCARD` }}, "participant": "0@s.whatsapp.net" } -if (!teks) throw `${lenguajeGB['smsAvisoMG']()}𝙄𝙉𝙂𝙍𝙀𝙎𝙀 𝙀𝙇 𝙉𝙊𝙈𝘽𝙍𝙀 𝘿𝙀 𝙐𝙉𝘼 𝘾𝘼𝙉𝘾𝙄𝙊𝙉 𝙋𝘼𝙍𝘼 𝙊𝘽𝙏𝙀𝙉𝙀𝙍 𝙇𝘼 𝙇𝙀𝙏𝙍𝘼\n𝙀𝙅𝙀𝙈𝙋𝙇𝙊\n*${usedPrefix + command} Runaway*\n\n𝙀𝙉𝙏𝙀𝙍 𝙏𝙃𝙀 𝙉𝘼𝙈𝙀 𝙊𝙁 𝘼 𝙎𝙊𝙉𝙂 𝙏𝙊 𝙂𝙀𝙏 𝙏𝙃𝙀 𝙇𝙔𝙍𝙄𝘾𝙎\n𝙀𝙓𝘼𝙈𝙋𝙇𝙀\n*${usedPrefix + command} Billie Eilish bored*` -const result = await lyricsv2(teks).catch(async _ => await lyrics(teks)) -try { -let res = await fetch(global.API('https://some-random-api.ml', '/lyrics', { -title: result.author + result.title})) -if (!res.ok) throw await res.text() -let json = await res.json() -if (!json.thumbnail.genius) throw json - -await conn.reply(m.chat, `𝙏𝙄𝙏𝙐𝙇𝙊 | 𝙏𝙄𝙏𝙇𝙀 -💚 *${result.title}* - -𝘼𝙐𝙏𝙊𝙍(𝘼) | 𝘼𝙐𝙏𝙃𝙊𝙍 -💜 *${result.author}* - - -${result.lyrics} - - -𝙀𝙉𝙇𝘼𝘾𝙀 | 𝙐𝙍𝙇 -🧡 *${result.link}*`, fkontak, m) - -} catch (e) { - await conn.reply(m.chat, `*⚠️ VUELVA A INTERNARLO, SI EL COMANDO SIGUE FALLANDO REPÓRTELO A LA CREADORA USANDO #reporte*`, m) -console.log(`❗❗ ${lenguajeGB['smsMensError2']()} ${usedPrefix + command} ❗❗`) -console.log(e) -}} -handler.help = ['lirik','letra'].map(v => v + ' ') -handler.tags = ['internet'] -handler.command = /^(lirik|lyrics|lyric|letra)$/i -handler.limit = 1 -handler.level = 3 -handler.exp = 55 -export default handler */ - +}}} +handler.help = ['lirik', 'letra'].map((v) => v + ' '); +handler.tags = ['buscadores']; +handler.command = /^(lirik|lyrics|lyric|letra)$/i; +handler.register = true +export default handler; diff --git a/plugins/buscador-mangainfo.js b/plugins/buscador-mangainfo.js deleted file mode 100644 index ce87d9bcb..000000000 --- a/plugins/buscador-mangainfo.js +++ /dev/null @@ -1,55 +0,0 @@ -import fetch from 'node-fetch' -import cheerio from 'cheerio' -let handler = async (m, { conn, text }) => { -if (!text) throw `${lenguajeGB['smsAvisoMG']()}𝙀𝙎𝘾𝙍𝙄𝘽𝘼 𝙀𝙇 𝙉𝙊𝙈𝘽𝙍𝙀 𝘿𝙀 𝙐𝙉 𝙈𝘼𝙉𝙂𝘼` -let res = await fetch(global.API('https://api.jikan.moe', '/v3/search/manga', { q: text })) -if (!res.ok) throw await res.text() -let json = await res.json() -let { title, chapters, volumes, members, score, synopsis, url, image_url, type, start_date, end_date, mal_id } = json.results[0] -let res2 = await fetch(`https://myanimelist.net/manga/${mal_id}`) -if (!res2.ok) throw await res2.text() -let html = await res2.text() -let animeingfo = -`𝙏𝙄𝙏𝙐𝙇𝙊 -❣ ${title} -┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ -𝘾𝘼𝙋𝙄𝙏𝙐𝙇𝙊𝙎 -❣ ${chapters} -┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ -𝙑𝙊𝙇𝙐𝙈𝙀𝙉𝙀𝙎 -❣ ${volumes} -┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ -𝙁𝙀𝘾𝙃𝘼 𝘿𝙀 𝙄𝙉𝙄𝘾𝙄𝙊 -❣ ${start_date} -┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ -𝙁𝙀𝘾𝙃𝘼 𝙁𝙄𝙉𝘼𝙇 -❣ ${end_date} -┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ -𝙋𝙐𝙉𝙏𝘼𝙅𝙀 -❣ ${score} -┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ -𝙈𝙄𝙀𝙈𝘽𝙍𝙊𝙎 -❣ ${members} -┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ -𝙎𝙄𝙉𝙊𝙋𝙎𝙄𝙎 𝙀𝙉𝙂𝙇𝙄𝙎𝙃 -❣ ${synopsis} -┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ -𝙀𝙉𝙇𝘼𝘾𝙀 -❣ ${url}` -await conn.sendFile(m.chat, image_url, '', animeingfo, m) - -/*.trim() - -conn.sendHydrated(m.chat, info, wm, null, ig, '𝙄𝙣𝙨𝙩𝙖𝙜𝙧𝙖𝙢', null, null, [ -['𝙈𝙚𝙣𝙪 𝘽𝙪𝙨𝙦𝙪𝙚𝙙𝙖𝙨 | 𝙎𝙚𝙖𝙧𝙘𝙝𝙚𝙨 🔎', '#buscarmenu'], -['𝙈𝙚𝙣𝙪 𝘾𝙤𝙢𝙥𝙡𝙚𝙩𝙤 | 𝙁𝙪𝙡𝙡 𝙈𝙚𝙣𝙪 ✨', '.allmenu'], -['𝙑𝙤𝙡𝙫𝙚𝙧 𝙖𝙡 𝙈𝙚𝙣𝙪́ | 𝘽𝙖𝙘𝙠 𝙩𝙤 𝙈𝙚𝙣𝙪 ☘️', '/menu'] -], m,) */ - -} -handler.help = ['animeinfo '] -handler.tags = ['internet'] -handler.command = /^(mangainfo)$/i -handler.exp = 50 -handler.level = 4 -export default handler diff --git a/plugins/buscador-peliculas.js b/plugins/buscador-peliculas.js deleted file mode 100644 index 1256216f0..000000000 --- a/plugins/buscador-peliculas.js +++ /dev/null @@ -1,52 +0,0 @@ -/* Creado/adaptado por Bruno Sobrino (https://github.com/BrunoSobrino) */ - -import fetch from 'node-fetch' -import axios from 'axios' -import { load } from 'cheerio' -let handler = async (m, {text, usedPrefix, command, conn}) => { -if (!text) throw '╰⊱❗️⊱ *𝙇𝙤 𝙪𝙨𝙤 𝙢𝙖𝙡* ⊱❗️⊱╮\n\n𝙄𝙉𝙂𝙍𝙀𝙎𝙀 𝙀𝙇 𝙉𝙊𝙈𝘽𝙍𝙀 𝘿𝙀 𝘼𝙇𝙂𝙐𝙉𝘼 𝙋𝙀𝙇𝙄𝘾𝙐𝙇𝘼 𝘼 𝘽𝙐𝙎𝘾𝘼𝙍' -let aaaa = await searchC(text) -if (command == 'pelisplus') aaaa = await searchP(text) -if (aaaa == '') throw '╰⊱❌⊱ *𝙀𝙧𝙧𝙤𝙧* ⊱❌⊱╮\n\n𝙉𝙊 𝙎𝙀 𝙀𝙉𝘾𝙊𝙉𝙏𝙍𝙊 𝙉𝙄𝙉𝙂𝙐𝙉𝘼 𝙋𝙀𝙇𝙄𝘾𝙐𝙇𝘼' -let img = 'https://cinefilosoficial.com/wp-content/uploads/2021/07/cuevana.jpg' -if (command == 'pelisplus') img = 'https://elcomercio.pe/resizer/RJM30xnujgfmaODGytH1rRVOrAA=/400x0/smart/filters:format(jpeg):quality(75)/arc-anglerfish-arc2-prod-elcomercio.s3.amazonaws.com/public/BJ2L67XNRRGHTFPKPDOEQ2AH5Y.jpg' -let res = await aaaa.map((v) => `*🎬 • 𝙉𝙊𝙈𝘽𝙍𝙀:* ${v.title}\n*🍿 • 𝙐𝙍𝙇:* ${v.link}`).join`\n\n───────────────\n\n` -let ads = '*💫 • 𝘽𝙇𝙊𝙌𝙐𝙀𝘼𝘿𝙊𝙍 𝘿𝙀 𝘼𝙉𝙐𝙉𝘾𝙄𝙊𝙎 𝙍𝙀𝘾𝙊𝙈𝙀𝙉𝘿𝘼𝘿𝙊:* Block This\n*⛨ • 𝙇𝙄𝙉𝙆:* https://block-this.com/block-this-latest.apk\n\n≣≣≣≣≣≣≣≣≣≣≣≣≣≣≣≣≣≣≣≣≣≣≣≣≣≣≣≣≣≣≣≣\n\n' -conn.sendMessage(m.chat, { image: { url: img }, caption: ads + res }, {quoted: m}) -} -handler.command = ['cuevana', 'pelisplus'] -handler.level = 3 -handler.money = 40 -export default handler - -const safeLoad = async(url, options = {}) => { -try { -const { data: pageData } = await axios.get(url, options) -const $ = load(pageData) -return $ -} catch (err) { -if (err.response) -throw new Error(err.response.statusText) -throw err }} - -async function searchC(query, numberPage = 1) { -const $ = await safeLoad(`https://cuevana3.info/page/${numberPage}/`, { -params: { s: query }}) -const resultSearch = [] -$(".results-post > article").each((_, e) => { -const element = $(e) -const title = element.find("header > h2").text() -const link = element.find(".lnk-blk").attr("href") -resultSearch.push({ title: title, link: link })}) -return resultSearch } - -async function searchP(query, numberPage = 1) { -const $ = await safeLoad(`https://pelisplushd.cx/search/`, { -params: { s: query, page: numberPage }}) -const resultSearch = [] -$("a[class^='Posters']").each((_, e) => { -const element = $(e) -const title = element.find(".listing-content > p").text() -const link = element.attr("href") -resultSearch.push({ title: title, link: link })}) -return resultSearch } \ No newline at end of file diff --git a/plugins/buscador-playstore.js b/plugins/buscador-playstore.js deleted file mode 100644 index b196253de..000000000 --- a/plugins/buscador-playstore.js +++ /dev/null @@ -1,39 +0,0 @@ -import fetch from 'node-fetch' - -let handler = async (m, { conn, text, args }) => { - if (!args[0]) throw `*[❗] 𝙄𝙣𝙜𝙧𝙚𝙨𝙚 𝙚𝙡 𝙣𝙤𝙢𝙗𝙧𝙚 𝙙𝙚 𝙡𝙖 𝘼𝙋𝙆 𝙦𝙪𝙚 𝙦𝙪𝙞𝙚𝙧𝙖 𝙗𝙪𝙨𝙘𝙖𝙧*` - let enc = encodeURIComponent(text) -try { -let json = await fetch(`https://latam-api.vercel.app/api/playstore?apikey=brunosobrino&q=${enc}`) -let gPlay = await json.json() -if (!gPlay.titulo) return m.reply(`[ ! ] Sin resultados`) -conn.sendMessage(m.chat,{image:{url: gPlay.imagen},caption:`🔍 𝙍𝙚𝙨𝙪𝙡𝙩𝙖𝙙𝙤𝙨: ${gPlay.titulo} -───────•••─────── -🧬 𝙄𝙙𝙚𝙣𝙩𝙞𝙛𝙞𝙘𝙖𝙙𝙤𝙧: ${gPlay.id} -───────•••─────── -⛓️ 𝙇𝙞𝙣𝙠: ${gPlay.link} -───────•••─────── -🖼️ 𝙄𝙢𝙖𝙜𝙚𝙣: ${gPlay.imagen} -───────•••─────── -✍️ 𝘿𝙚𝙨𝙖𝙧𝙧𝙤𝙡𝙡𝙖𝙙𝙤𝙧: ${gPlay.desarrollador} -───────•••─────── -📜 𝘿𝙚𝙨𝙘𝙧𝙞𝙥𝙘𝙞𝙤́𝙣: ${gPlay.descripcion} -───────•••─────── -💲 𝙈𝙤𝙣𝙚𝙙𝙖: ${gPlay.moneda} -───────•••─────── -🎭 𝙂𝙧𝙖𝙩𝙞𝙨?: ${gPlay.gratis} -───────•••─────── -💸 𝙋𝙧𝙚𝙘𝙞𝙤: ${gPlay.precio} -───────•••─────── -📈 𝙋𝙪𝙣𝙩𝙪𝙖𝙘𝙞𝙤́𝙣: ${gPlay.puntuacion}`},{quoted:m}) -} catch (e) { -m.reply('𝙐𝙛 𝙚𝙧𝙧𝙤𝙧, 𝙨𝙚 𝙢𝙚 𝙘𝙖𝙮𝙤́ 𝙚𝙡 𝙨𝙚𝙧𝙫𝙞𝙙𝙤 🤡, 𝙫𝙪𝙚𝙡𝙫𝙖 𝙖 𝙞𝙣𝙩𝙚𝙣𝙩𝙖𝙧') -console.log(e) -} -} - -handler.help = ['playstore '] -handler.tags = ['internet'] -handler.command = /^(playstore)$/i - -export default handler \ No newline at end of file diff --git a/plugins/buscador-wikipedia.js b/plugins/buscador-wikipedia.js deleted file mode 100644 index 066205e4b..000000000 --- a/plugins/buscador-wikipedia.js +++ /dev/null @@ -1,44 +0,0 @@ -import axios from "axios" -import fetch from "node-fetch" -import cheerio from "cheerio" -async function wikipedia(querry) { -try { -const link = await axios.get(`https://es.wikipedia.org/wiki/${querry}`) -const $ = cheerio.load(link.data) -let judul = $('#firstHeading').text().trim() -let thumb = $('#mw-content-text').find('div.mw-parser-output > div:nth-child(1) > table > tbody > tr:nth-child(2) > td > a > img').attr('src') || `//i.ibb.co/nzqPBpC/http-error-404-not-found.png` -let isi = [] -$('#mw-content-text > div.mw-parser-output').each(function (rayy, Ra) { -let penjelasan = $(Ra).find('p').text().trim() -isi.push(penjelasan)}) -for (let i of isi) { -const data = { -status: link.status, -result: { -judul: judul, -thumb: 'https:' + thumb, -isi: i}} -return data} -} catch (err) { -var notFond = { -status: link.status, -Pesan: eror} -return notFond}} -let handler = async (m, { conn, text, usedPrefix, command }) => { -if (!text) throw `${mg}𝙀𝙨𝙘𝙧𝙞𝙗𝙖 𝙡𝙖 𝙥𝙖𝙡𝙖𝙗𝙧𝙖 𝙘𝙡𝙖𝙫𝙚 𝙥𝙖𝙧𝙖 𝙗𝙪𝙨𝙘𝙖𝙧\n𝙀𝙟𝙚𝙢𝙥𝙡𝙤\n*${usedPrefix + command} Luna*` -wikipedia(`${text}`).then(res => { -let info = `𝑬𝒏𝒄𝒐𝒏𝒕𝒓𝒆́ 𝒆𝒔𝒕𝒐:\n\n` + res.result.isi -conn.sendHydrated(m.chat, info, wm, null, null, null, [ -['𝙈𝙚𝙣𝙪 𝘽𝙪𝙨𝙦𝙪𝙚𝙙𝙖𝙨 🔎', '#buscarmenu'], -['𝙈𝙚𝙣𝙪 𝘾𝙤𝙢𝙥𝙡𝙚𝙩𝙤 ✨', '.allmenu'], -['𝙑𝙤𝙡𝙫𝙚𝙧 𝙖𝙡 𝙈𝙚𝙣𝙪́ ☘️', '/menu'] -], m,) - -}).catch(() => { m.reply(`${fg}𝑬𝒓𝒓𝒐 𝒏𝒐 𝒔𝒆 𝒆𝒏𝒄𝒐𝒏𝒕𝒓𝒐́ 𝒍𝒐𝒔 𝒒𝒖𝒆 𝒃𝒖𝒔𝒄𝒂𝒃𝒂, 𝑰𝒏𝒕𝒆𝒏𝒕𝒆 𝒅𝒆𝒍 𝒏𝒖𝒆𝒗𝒐`) })} -handler.help = ['wikipedia'].map(v => v + ' ') -handler.tags = [ 'internet'] -handler.command = /^(wiki|wikipedia)$/i -handler.exp = 40 -handler.level = 2 -handler.money = 25 -export default handler diff --git a/plugins/chatbot.js b/plugins/chatbot.js deleted file mode 100644 index 537432817..000000000 --- a/plugins/chatbot.js +++ /dev/null @@ -1,70 +0,0 @@ -// by https://github.com/elrebelde21/The-LoliBot-MD - -let handler = m => m -handler.all = async function (m) { -let chat = global.db.data.chats[m.chat] -let name = conn.getName(m.sender) - -if (/^todo bien$/i.test(m.text) ) { //sem prefixo - conn.reply(m.chat, `𝑩𝒊𝒆𝒏 𝒄𝒂𝒑𝒐 😎 𝒚 𝒕𝒖`, m) //wm, null, [['Menu', '#menu']], m) botones :V - -} - -if (/^e$/i.test(m.text) ) { //sem prefixo - conn.reply(m.chat, `𝑸𝒖𝒆 𝒃𝒖𝒆𝒏𝒐 𝒔𝒂𝒃𝒆𝒓 𝒍𝒂 𝒍𝒆𝒕𝒓𝒂 𝒆`, m) //wm, null, [['Menu', '#menu']], m) botones :V - -} - -if (/^@5492266466080|@56964787183|@5492266613038$/i.test(m.text) ) { //sem prefixo - conn.reply(m.chat, `*_[ ⚠ ️] No etiquetes a mi creador, si tiene alguna consulta o dudas, hablarle el pv solo por tema del bot_*`, m) //wm, null, [['Menu', '#menu']], m) botones :V - -} - -/* if (/^Mande porno|porno|paja$/i.test(m.text) ) { //sem prefixo - let teks = ` -${pickRandom([` 𝑨𝒔𝒊́ 𝒒𝒖𝒆 𝒒𝒖𝒊𝒆𝒓𝒂 𝒉𝒂𝒈𝒂 𝒑𝒖𝒕𝒊𝒕𝒐 🧐`, `_uff mire un pajero_`, `_pagame y paso mi pack😏🥵_`, `_que_`, `_que quiere pija dice 🤣`, `_pasa el pack de tu hermana😏_`, `_mire un gilipolla_`, `_siuuu sexo sexo sexo😈_`, '_callarte putito_'])} -`.trim() -conn.reply(m.chat, teks, m, { mentions: { mentionedJid: [m.sender] }}) - -} -*/ -if (/^reglas|normas|Reglas$/i.test(m.text) ) { //sem prefixo - conn.reply(m.chat, `*┌───⊷ *${lb}* -┆ ───────•••─────── -┆ ⚠️ 𝗢𝗯𝗲𝗱𝗲𝗰𝗲 𝗹𝗮𝘀 𝗿𝗲𝗴𝗹𝗮𝘀 ⚠️ -┆───────•••─────── -┆➽❌ 𝐏𝐫𝐨𝐡𝐢𝐛𝐢𝐝𝐨 𝐥𝐥𝐚𝐦𝐚𝐫 𝐚𝐥 𝐁𝐨𝐭 -┆➽❌ 𝐏𝐫𝐨𝐡𝐢𝐛𝐢𝐝𝐨 𝐒𝐩𝐚𝐦 𝐚𝐥 𝐁𝐨𝐭 -┆➽❌ 𝐍𝐨 𝐚𝐠𝐫𝐞𝐠𝐚𝐫 𝐚𝐥 𝐁𝐨𝐭 -┆➽❌ 𝐑𝐞𝐬𝐩𝐞𝐭𝐚 𝐥𝐨𝐬 𝐭𝐞𝐫𝐦𝐢𝐧𝐨𝐬 𝐲 𝐜𝐨𝐧𝐝𝐢𝐜𝐢𝐨𝐧𝐞𝐬 -┆ -┆ 「 🅣🅗🅔 🅛🅞🅛🅘🅑🅞🅣-🅜🅓 」 -╰──────────────────`, m) //wm, null, [['Menu', '#menu']], m) botones :V - -} - -if (/^¿que es un bot?|Que es un bot$/i.test(m.text) ) { //sem prefixo - conn.reply(m.chat, `┌───⊷ *${lb}* -┆ ───────•••─────── -┆ ☆::¿𝐐𝐮𝐞́ 𝐞𝐬 𝐮𝐧 𝐁𝐨𝐭 𝐝𝐞 𝐖𝐡𝐚𝐭𝐬𝐀𝐩𝐩?::☆* -┆───────•••─────── -┆ 𝐔𝐧 𝐁𝐨𝐭 𝐞𝐬 𝐮𝐧𝐚 𝐢𝐧𝐭𝐞𝐥𝐢𝐠𝐞𝐧𝐜𝐢𝐚 𝐚𝐫𝐭𝐢𝐟𝐢𝐜𝐢𝐚𝐥 𝐪𝐮𝐞 𝐫𝐞𝐚𝐥𝐢𝐳𝐚 𝐭𝐚𝐫𝐞𝐚𝐬 -┆ 𝐪𝐮𝐞 𝐥𝐞 𝐢𝐧𝐝𝐢𝐪𝐮𝐞 𝐜𝐨𝐧 𝐜𝐨𝐦𝐚𝐧𝐝𝐨𝐬, 𝐞𝐧 𝐞𝐥 𝐜𝐚𝐬𝐨 𝐝𝐞 𝐖𝐡𝐚𝐭𝐬𝐀𝐩𝐩 -┆ 𝐩𝐮𝐞𝐝𝐞𝐬 𝐜𝐫𝐞𝐚𝐫 𝐬𝐭𝐢𝐜𝐤𝐞𝐫𝐬, 𝐝𝐞𝐬𝐜𝐚𝐫𝐠𝐚𝐫 𝐦𝐮́𝐬𝐢𝐜𝐚, 𝐯𝐢𝐝𝐞𝐨𝐬, -┆ 𝐜𝐫𝐞𝐚𝐫 𝐥𝐨𝐠𝐨𝐬 𝐩𝐞𝐫𝐬𝐨𝐧𝐚𝐥𝐢𝐳𝐚𝐝𝐨𝐬 𝐲 𝐦𝐮𝐜𝐡𝐨 𝐦𝐚𝐬, -┆ 𝐞𝐬𝐭𝐨 𝐝𝐞 𝐟𝐨𝐫𝐦𝐚 𝐚𝐮𝐭𝐨𝐦𝐚𝐭𝐢𝐳𝐚𝐝𝐚, 𝐨 𝐬𝐞𝐚 𝐪𝐮𝐞 𝐮𝐧 𝐡𝐮𝐦𝐚𝐧𝐨 -┆ 𝐧𝐨 𝐢𝐧𝐭𝐞𝐫𝐟𝐢𝐞𝐫𝐞 𝐞𝐧 𝐞𝐥 𝐩𝐫𝐨𝐜𝐞𝐬𝐨 -┆ 𝐏𝐚𝐫𝐚 𝐯𝐞𝐫 𝐞𝐥 𝐦𝐞𝐧𝐮́ 𝐝𝐞 𝐜𝐨𝐦𝐚𝐧𝐝𝐨𝐬 𝐩𝐮𝐞𝐝𝐞𝐬 𝐮𝐬𝐚𝐫 #menu -┆ -┆ 「 🅣🅗🅔 🅛🅞🅛🅘🅑🅞🅣-🅜🅓 」 -╰──────────────────`, m) //wm, null, [['Menu', '#menu']], m) botones :V - -} -return !0 -} -export default handler - -function pickRandom(list) { - return list[Math.floor(Math.random() * list.length)] -} - diff --git a/plugins/comandos+18-adult.js b/plugins/comandos+18-adult.js deleted file mode 100644 index 119659f19..000000000 --- a/plugins/comandos+18-adult.js +++ /dev/null @@ -1,2836 +0,0 @@ -import axios from "axios" -import fetch from 'node-fetch' -import { sticker } from '../lib/sticker.js' - -let handler = async (m, {usedPrefix, command, conn}) => { -let fkontak = { "key": { "participants":"0@s.whatsapp.net", "remoteJid": "status@broadcast", "fromMe": false, "id": "Halo" }, "message": { "contactMessage": { "vcard": `BEGIN:VCARD\nVERSION:3.0\nN:Sy;Bot;;;\nFN:y\nitem1.TEL;waid=${m.sender.split('@')[0]}:${m.sender.split('@')[0]}\nitem1.X-ABLabel:Ponsel\nEND:VCARD` }}, "participant": "0@s.whatsapp.net" } -let frep = { contextInfo: { externalAdReply: {title: wm, body: lenguajeGB.smsCont18Porn2(), sourceUrl: redesMenu.getRandom(), thumbnail: await(await fetch(img16)).buffer() }}} -let user = global.db.data.users[m.sender] - -if (!db.data.chats[m.chat].modohorny && m.isGroup) throw `${lenguajeGB['smsContAdult']()}` -try{ -if (command == 'pornololi' || command == 'nsfwloli') { -let res = (await axios.get(`https://raw.githubusercontent.com/GataNina-Li/GataBot-MD/master/src/JSON/nsfwloli.json`)).data -let enlace = await res[Math.floor(res.length * Math.random())] -await conn.sendFile(m.chat, enlace, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18Porn(), ` *_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, enlace, [[lenguajeGB.smsSig(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], m, frep)} - -if (command == 'pornopies' || command == 'nsfwfoot') { -let res = (await axios.get(`https://raw.githubusercontent.com/GataNina-Li/GataBot-MD/master/src/JSON/nsfwfoot.json`)).data -let enlace = await res[Math.floor(res.length * Math.random())] -await conn.sendFile(m.chat, enlace, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18Porn(), ` *_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, enlace, [[lenguajeGB.smsSig(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno pies 2' : 'nsfw foot 2'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? 'pornopies2' : 'nsfwfoot2'}`]], m, frep)} - -if (command == 'pornoass' || command == 'nsfwass') { -let res = (await axios.get(`https://raw.githubusercontent.com/GataNina-Li/GataBot-MD/master/src/JSON/nsfwass.json`)).data -let enlace = await res[Math.floor(res.length * Math.random())] -await conn.sendFile(m.chat, enlace, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18Porn(), ` *_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, enlace, [[lenguajeGB.smsSig(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno ass 2' : 'nsfw ass 2'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? 'pornoass2' : 'nsfwass2'}`]], m, frep)} - -if (command == 'pornobdsm' || command == 'nsfwbdsm') { -let res = (await axios.get(`https://raw.githubusercontent.com/GataNina-Li/GataBot-MD/master/src/JSON/nsfwbdsm.json`)).data -let enlace = await res[Math.floor(res.length * Math.random())] -await conn.sendFile(m.chat, enlace, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18Porn(), ` *_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, enlace, [[lenguajeGB.smsSig(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno fuck' : 'nsfw fuck'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? 'pornofuck' : 'nsfwfuck'}`]], m, frep)} - -if (command == 'pornocum' || command == 'nsfwcum') { -let res = (await axios.get(`https://raw.githubusercontent.com/GataNina-Li/GataBot-MD/master/src/JSON/nsfwcum.json`)).data -let enlace = await res[Math.floor(res.length * Math.random())] -await conn.sendFile(m.chat, enlace, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18Porn(), ` *_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, enlace, [[lenguajeGB.smsSig(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno cum 2' : 'nsfw cum 2'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? 'pornocum' : 'nsfwcum'}`]], m, frep)} - -if (command == 'pornoero' || command == 'nsfwero') { -let res = (await axios.get(`https://raw.githubusercontent.com/GataNina-Li/GataBot-MD/master/src/JSON/nsfwero.json`)).data -let enlace = await res[Math.floor(res.length * Math.random())] -await conn.sendFile(m.chat, enlace, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18Porn(), ` *_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, enlace, [[lenguajeGB.smsSig(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno hero academy' : 'nsfw hero academy'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? 'pornoheroacademy' : 'nsfwheroacademy'}`]], m, frep)} - -if (command == 'pornodominar' || command == 'nsfwfemdom') { -let res = (await axios.get(`https://raw.githubusercontent.com/GataNina-Li/GataBot-MD/master/src/JSON/nsfwfemdom.json`)).data -let enlace = await res[Math.floor(res.length * Math.random())] -await conn.sendFile(m.chat, enlace, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18Porn(), ` *_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, enlace, [[lenguajeGB.smsSig(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], m, frep)} - -if (command == 'pornoglass' || command == 'nsfwglass') { -let res = (await axios.get(`https://raw.githubusercontent.com/GataNina-Li/GataBot-MD/master/src/JSON/nsfwglass.json`)).data -let enlace = await res[Math.floor(res.length * Math.random())] -await conn.sendFile(m.chat, enlace, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18Porn(), ` *_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, enlace, [[lenguajeGB.smsSig(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno ass 3' : 'nsfw ass 3'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? 'pornoass3' : 'nsfwass3'}`]], m, frep)} - -if (command == 'pornohentai' || command == 'nsfwhentai') { -let res = (await axios.get(`https://raw.githubusercontent.com/GataNina-Li/GataBot-MD/master/src/JSON/hentai.json`)).data -let enlace = await res[Math.floor(res.length * Math.random())] -await conn.sendFile(m.chat, enlace, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18Porn(), ` *_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, enlace, [[lenguajeGB.smsSig(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno hentai 3' : 'nsfw hentai 3'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? 'pornohentai3' : 'nsfwhentai3'}`]], m, frep)} - -if (command == 'pornorgia' || command == 'nsfworgy') { -let res = (await axios.get(`https://raw.githubusercontent.com/GataNina-Li/GataBot-MD/master/src/JSON/nsfworgy.json`)).data -let enlace = await res[Math.floor(res.length * Math.random())] -await conn.sendFile(m.chat, enlace, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18Porn(), ` *_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, enlace, [[lenguajeGB.smsSig(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno orgia 2' : 'nsfw orgy 2'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? 'pornorgia2' : 'nsfworgy2'}`]], m, frep)} - -if (command == 'pornotetas' || command == 'nsfwboobs') { -let resError = (await axios.get(`https://raw.githubusercontent.com/GataNina-Li/GataBot-MD/master/src/JSON/tetas.json`)).data -let res = await conn.getFile(`https://api-fgmods.ddns.net/api/nsfw/boobs?apikey=fg-dylux`).data -if (res == '' || !res || res == null) res = await resError[Math.floor(resError.length * Math.random())] -await conn.sendFile(m.chat, res, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18Porn(), ` *_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, res, [[lenguajeGB.smsSig(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno tetas 3' : 'nsfw boobs 3'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? 'pornotetas3' : 'nsfwboobs3'}`]], m, frep)} - -if (command == 'pornobooty' || command == 'nsfwbooty') { -let resError = (await axios.get(`https://raw.githubusercontent.com/GataNina-Li/GataBot-MD/master/src/JSON/booty.json`)).data -let res = await conn.getFile(`https://api-fgmods.ddns.net/api/nsfw/ass?apikey=fg-dylux`).data -if (res == '' || !res || res == null) res = await resError[Math.floor(resError.length * Math.random())] -await conn.sendFile(m.chat, res, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18Porn(), ` *_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, res, [[lenguajeGB.smsSig(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], m, frep)} - -if (command == 'pornoecchi' || command == 'nsfwecchi') { -let res = (await axios.get(`https://raw.githubusercontent.com/GataNina-Li/GataBot-MD/master/src/JSON/ecchi.json`)).data -let enlace = await res[Math.floor(res.length * Math.random())] -await conn.sendFile(m.chat, enlace, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18Porn(), ` *_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, enlace, [[lenguajeGB.smsSig(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], m, frep)} - -if (command == 'pornofurro' || command == 'nsfwfurry') { -let res = (await axios.get(`https://raw.githubusercontent.com/GataNina-Li/GataBot-MD/master/src/JSON/furro.json`)).data -let enlace = await res[Math.floor(res.length * Math.random())] -await conn.sendFile(m.chat, enlace, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18Porn(), ` *_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, enlace, [[lenguajeGB.smsSig(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno furro 2' : 'nsfw furry 2'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? 'pornofurro2' : 'nsfwfurry2'}`]], m, frep)} - -if (command == 'pornotrapito' || command == 'nsfwtrap') { //https://api.lolhuman.xyz/api/random/nsfw/trap?apikey=6fbee8ec83e7b2677026ffae -let res = await fetch(`https://api.waifu.pics/nsfw/trap`) -let json = await res.json() -let enlace = json.url -await conn.sendFile(m.chat, res, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18Porn(), ` *_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, enlace, [[lenguajeGB.smsSig(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], m, frep)} - -if (command == 'pornolesbiana' || command == 'nsfwlesbian') { -let resError = (await axios.get(`https://raw.githubusercontent.com/GataNina-Li/GataBot-MD/master/src/JSON/imagenlesbians.json`)).data -let res = await conn.getFile(`https://api-fgmods.ddns.net/api/nsfw/lesbian?apikey=fg-dylux`).data -if (res == '' || !res || res == null) res = await resError[Math.floor(resError.length * Math.random())] -await conn.sendFile(m.chat, res, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18Porn(), ` *_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, res, [[lenguajeGB.smsSig(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno chica' : 'nsfws girl'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? 'pornochica' : 'nsfwsgirl'}`]], m, frep)} - -if (command == 'pornobragas' || command == 'nsfwpanties') { -let res = (await axios.get(`https://raw.githubusercontent.com/GataNina-Li/GataBot-MD/master/src/JSON/panties.json`)).data -let enlace = await res[Math.floor(res.length * Math.random())] -await conn.sendFile(m.chat, enlace, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18Porn(), ` *_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, enlace, [[lenguajeGB.smsSig(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno chica 2' : 'nsfws girl 2'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? 'pornochica2' : 'nsfwsgirl2'}`]], m, frep)} - -if (command == 'pornopene' || command == 'nsfwpenis') { -let resError = (await axios.get(`https://raw.githubusercontent.com/GataNina-Li/GataBot-MD/master/src/JSON/pene.json`)).data -let res = await conn.getFile(`https://api-fgmods.ddns.net/api/nsfw/penis?apikey=fg-dylux`).data -if (res == '' || !res || res == null) res = await resError[Math.floor(resError.length * Math.random())] -await conn.sendFile(m.chat, res, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18Porn(), ` *_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, res, [[lenguajeGB.smsSig(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], m, frep)} - -if (command == 'porno' || command == 'porn') { -let res = (await axios.get(`https://raw.githubusercontent.com/GataNina-Li/GataBot-MD/master/src/JSON/porno.json`)).data -let enlace = await res[Math.floor(res.length * Math.random())] -await conn.sendFile(m.chat, res, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18Porn(), ` *_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, enlace, [[lenguajeGB.smsSig(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno 4k' : 'nsfws 4k'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? 'porno4k' : 'porn4k'}`]], m, frep)} - -if (command == 'pornorandom' || command == 'pornrandom') { -let rawjsonn = ['https://raw.githubusercontent.com/GataNina-Li/GataBot-MD/master/src/JSON/tetas.json', 'https://raw.githubusercontent.com/GataNina-Li/GataBot-MD/master/src/JSON/booty.json', 'https://raw.githubusercontent.com/GataNina-Li/GataBot-MD/master/src/JSON/imagenlesbians.json', 'https://raw.githubusercontent.com/GataNina-Li/GataBot-MD/master/src/JSON/panties.json', 'https://raw.githubusercontent.com/GataNina-Li/GataBot-MD/master/src/JSON/porno.json'] -let rawjson = await rawjsonn[Math.floor(rawjsonn.length * Math.random())] -let res = (await axios.get(rawjson)).data -let enlace = await res[Math.floor(res.length * Math.random())] -await conn.sendFile(m.chat, enlace, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18Porn(), ` *_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, enlace, [[lenguajeGB.smsSig(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], m, frep)} - -if (command == 'pornopechos' || command == 'nsfwbreasts') { -let res = (await axios.get(`https://raw.githubusercontent.com/GataNina-Li/GataBot-MD/master/src/JSON/pechos.json`)).data -let enlace = await res[Math.floor(res.length * Math.random())] -await conn.sendFile(m.chat, enlace, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18Porn(), ` *_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, enlace, [[lenguajeGB.smsSig(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno muslo' : 'nsfw hthigh'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? 'pornomuslo' : 'nsfwhthigh'}`]], m, frep)} - -if (command == 'pornoyaoi' || command == 'nsfwyaoi') { -let res = (await axios.get(`https://raw.githubusercontent.com/HasamiAini/wabot_takagisan/main/whatsapp%20bot%20takagisan/whatsapp%20bot%20takagisan/lib/Yaoi.json`)).data //`https://raw.githubusercontent.com/GataNina-Li/GataBot-MD/master/src/JSON/yaoi.json` -let enlace = await res[Math.floor(res.length * Math.random())] -let link = enlace.image -if (link.slice(-3) == 'gif') { -let stickerr = await sticker(false, link, global.packname, global.author) -await conn.sendFile(m.chat, stickerr, 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: lenguajeGB.smsCont18PornP2(), body: wm, mediaType: 2, sourceUrl: redesMenu.getRandom(), thumbnail: await(await fetch(img16)).buffer()}}}, { quoted: m }) -await conn.sendFile(m.chat, null, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m) -//await conn.sendButton(m.chat, lenguajeGB.smsCont18Porn(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, null, [[lenguajeGB.smsSig(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno yaoi 2' : 'nsfw yaoi 2'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? 'pornoyaoi2' : 'nsfwyaoi2'}`]], fkontak, m) -}else{ -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)}} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18Porn(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, link, [[lenguajeGB.smsSig(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno yaoi 2' : 'nsfw yaoi 2'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? 'pornoyaoi2' : 'nsfwyaoi2'}`]], m, frep)}} - -if (command == 'pornoyaoi2' || command == 'nsfwyaoi2') { -let res = await fetch(`https://purrbot.site/api/img/nsfw/yaoi/gif`) -let json = await res.json() -let enlace = json.link -if (enlace.slice(-3) == 'gif') { -let stickerr = await sticker(false, enlace, global.packname, global.author) -await conn.sendFile(m.chat, stickerr, 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: lenguajeGB.smsCont18PornP2(), body: wm, mediaType: 2, sourceUrl: redesMenu.getRandom(), thumbnail: await(await fetch(img16)).buffer()}}}, { quoted: m }) -await conn.sendFile(m.chat, null, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)}} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, null, [[lenguajeGB.smsSig(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno yaoi 3' : 'nsfw yaoi 3'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? 'pornoyaoi3' : 'nsfwyaoi3'}`]], fkontak, m)}} - -if (command == 'pornoyuri' || command == 'nsfwyuri') { -let res = (await axios.get(`https://raw.githubusercontent.com/GataNina-Li/GataBot-MD/master/src/JSON/yuri.json`)).data -let enlace = await res[Math.floor(res.length * Math.random())] -await conn.sendFile(m.chat, enlace, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18Porn(), ` *_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, enlace, [[lenguajeGB.smsSig(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno yuri 2' : 'nsfw yuri 2'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? 'pornoyuri2' : 'nsfwyuri2'}`]], m, frep)} - -if (command == 'pornoyuri2' || command == 'nsfwyuri2') { -let res = await fetch(`https://purrbot.site/api/img/nsfw/yuri/gif`) -let json = await res.json() -let link = json.link -if (link.slice(-3) == 'gif') { -let stickerr = await sticker(false, link, global.packname, global.author) -await conn.sendFile(m.chat, stickerr, 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: lenguajeGB.smsCont18PornP2(), body: wm, mediaType: 2, sourceUrl: redesMenu.getRandom(), thumbnail: await(await fetch(img16)).buffer()}}}, { quoted: m }) -await conn.sendFile(m.chat, null, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m) -//await conn.sendButton(m.chat, lenguajeGB.smsCont18Porn(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, null, [[lenguajeGB.smsSig(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno yuri 3' : 'nsfw yuri 3'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? 'pornoyuri3' : 'nsfwyuri3'}`]], fkontak, m) -}else{ -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)}} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18Porn(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, link, [[lenguajeGB.smsSig(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno yuri 3' : 'nsfw yuri 3'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? 'pornoyuri3' : 'nsfwyuri3'}`]], m, frep)}} - -if (command == 'pornodarling' || command == 'nsfwdarling') { -let list = global.darling -let link = list[Math.floor(Math.random() * list.length)] -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18Porn(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, link, [[lenguajeGB.smsSig(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], m, frep)} - -if (command == 'pornodragonmaid' || command == 'nsfwdragonmaid') { -let list = global.dragonmaid -let link = list[Math.floor(Math.random() * list.length)] -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18Porn(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, link, [[lenguajeGB.smsSig(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], m, frep)} - -if (command == 'pornokonosuba' || command == 'nsfwkonosuba') { -let list = global.konosuba -let link = list[Math.floor(Math.random() * list.length)] -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18Porn(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, link, [[lenguajeGB.smsSig(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], m, frep)} - -if (command == 'pornopokemon' || command == 'nsfwpokemon') { -let list = global.pokemon -let link = list[Math.floor(Math.random() * list.length)] -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18Porn(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, link, [[lenguajeGB.smsSig(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], m, frep)} - -if (command == 'pornotoloveru' || command == 'nsfwtoloveru') { -let list = global.toloveru -let link = list[Math.floor(Math.random() * list.length)] -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18Porn(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, link, [[lenguajeGB.smsSig(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], m, frep)} - -if (command == 'pornouzaki' || command == 'nsfwuzaki') { -let list = global.uzaki -let link = list[Math.floor(Math.random() * list.length)] -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18Porn(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, link, [[lenguajeGB.smsSig(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], m, frep)} - -if (command == 'pornopack' || command == 'nsfwpack') { -let list = global.pack -let link = list[Math.floor(Math.random() * list.length)] -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18Porn(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, link, [[lenguajeGB.smsSig(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno pack chica' : 'nsfw pack girl'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? 'pornopackchica' : 'nsfwpackgirl'}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno pack chico' : 'nsfw pack men'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? 'pornopackchico' : 'nsfwpackmen'}`]], m, frep)} - -if (command == 'pornopackchica' || command == 'nsfwpackgirl') { -let list = global.packgirl -let link = list[Math.floor(Math.random() * list.length)] -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18Porn(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, link, [[lenguajeGB.smsSig(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], m, frep)} - -if (command == 'pornopackchico' || command == 'nsfwpackmen') { -let list = global.packmen -let link = list[Math.floor(Math.random() * list.length)] -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18Porn(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, link, [[lenguajeGB.smsSig(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], m, frep)} - -} catch (e) { -await conn.sendButton(m.chat, `\n${wm}`, lenguajeGB['smsMalError3']() + '#report ' + usedPrefix + command, null, [[lenguajeGB.smsMensError1(), `#reporte ${lenguajeGB['smsMensError2']()} *${usedPrefix + command}*`]], m) -console.log(`❗❗ ${lenguajeGB['smsMensError2']()} ${usedPrefix + command} ❗❗`) -console.log(e)} -} -handler.command = ['pornololi', 'nsfwloli', 'pornopies', 'nsfwfoot', 'pornoass', 'nsfwass', 'pornobdsm', 'nsfwbdsm', 'pornocum', 'nsfwcum', 'pornoero', 'nsfwero', 'pornodominar', 'nsfwfemdom', 'pornoglass', 'nsfwglass', 'pornohentai', 'nsfwhentai', 'pornorgia', 'nsfworgy', 'pornotetas', 'nsfwboobs', 'pornobooty', 'nsfwbooty', 'pornoecchi', 'nsfwecchi', 'pornofurro', 'nsfwfurry', 'pornotrapito', 'nsfwtrap', 'pornolesbiana', 'nsfwlesbian', 'pornobragas', 'nsfwpanties', 'pornopene', 'nsfwpenis', 'porno', 'porn', 'pornorandom', 'pornrandom', 'pornopechos', 'nsfwbreasts', 'pornoyaoi', 'nsfwyaoi', 'pornoyaoi2', 'nsfwyaoi2', 'pornoyuri', 'nsfwyuri', -'pornoyuri2', 'nsfwyuri2', 'pornodarling', 'nsfwdarling', 'pornodragonmaid', 'nsfwdragonmaid', 'pornokonosuba', 'nsfwkonosuba', 'pornopokemon', 'nsfwpokemon', -'pornotoloveru', 'nsfwtoloveru', 'pornouzaki', 'nsfwuzaki', 'pornopack', 'nsfwpack', 'pornopackchica', 'nsfwpackgirl', 'pornopackchico', 'nsfwpackmen'] -//handler.level = 5 -//handler.limit = 1 -export default handler - - -global.darling = ['https://img.nickpic.host/q7SLrX.jpg', -'https://img.nickpic.host/q7STNf.jpg', -'https://img.nickpic.host/q7Skee.jpg', -'https://img.nickpic.host/q7SeMF.jpg', -'https://img.nickpic.host/q7S9lM.jpg', -'https://img.nickpic.host/q7S0WP.jpg', -'https://img.nickpic.host/q7Sfz5.jpg', -'https://img.nickpic.host/q7SVuD.jpg', -'https://img.nickpic.host/q7SNmd.jpg', -'https://img.nickpic.host/q7SYNq.jpg', -'https://img.nickpic.host/q7SPQb.jpg', -'https://img.nickpic.host/q7SZo6.jpg', -'https://img.nickpic.host/q7SdAp.jpg', -'https://img.nickpic.host/q7SyzY.jpg', -'https://img.nickpic.host/q7cGZA.jpg', -'https://img.nickpic.host/q7cm5G.jpg', -'https://img.nickpic.host/q7coMz.jpg', -'https://img.nickpic.host/q7cxrW.jpg', -'https://img.nickpic.host/q7cpkc.jpg', -'https://img.nickpic.host/q7cBQ1.jpg', -'https://img.nickpic.host/q7cbVj.jpg', -'https://img.nickpic.host/q7csoJ.jpg', -'https://img.nickpic.host/q7c3An.jpg', -'https://img.nickpic.host/q7cF7s.jpg', -'https://img.nickpic.host/q7caZ2.jpg', -'https://img.nickpic.host/q7cl5Q.jpg', -'https://img.nickpic.host/q7c5Rx.jpg', -'https://img.nickpic.host/q7cSkN.jpg', -'https://img.nickpic.host/q7cgsO.jpg', -'https://img.nickpic.host/q7cqUm.jpg', -'https://img.nickpic.host/q7cuV8.jpg', -'https://img.nickpic.host/q7cEpq.jpg', -'https://img.nickpic.host/q7ch7D.jpg', -'https://img.nickpic.host/q7cOAd.jpg', -'https://img.nickpic.host/q7c6d5.jpg', -'https://img.nickpic.host/q7cQ5P.jpg', -'https://img.nickpic.host/q7cURM.jpg', -'https://img.nickpic.host/q7cXJF.jpg', -'https://img.nickpic.host/q7cnse.jpg', -'https://img.nickpic.host/q7ctUX.jpg', -'https://img.nickpic.host/q7cMfb.jpg', -'https://img.nickpic.host/q7c1pf.jpg', -'https://img.nickpic.host/q7c4E6.jpg', -'https://img.nickpic.host/q7cD8p.jpg', -'https://img.nickpic.host/q7cwdY.jpg', -'https://img.nickpic.host/q7c7SA.jpg', -'https://img.nickpic.host/q7c81G.jpg', -'https://img.nickpic.host/q7cH3c.jpg', -'https://img.nickpic.host/q7cKJz.jpg', -'https://img.nickpic.host/q7cNUW.jpg', -'https://img.nickpic.host/q7cVf1.jpg', -'https://img.nickpic.host/q7c2EJ.jpg', -'https://img.nickpic.host/q7c0vj.jpg', -'https://img.nickpic.host/q7c98n.jpg', -'https://img.nickpic.host/q7ceys.jpg', -'https://img.nickpic.host/q7cL1Q.jpg', -'https://img.nickpic.host/q7cJS2.jpg', -'https://img.nickpic.host/q7cPLx.jpg', -'https://img.nickpic.host/q7cW3N.jpg', -'https://img.nickpic.host/q7cZXO.jpg', -'https://img.nickpic.host/q7gGv8.jpg', -'https://img.nickpic.host/q7cd0m.jpg', -'https://img.nickpic.host/q7gIOq.jpg', -'https://img.nickpic.host/q7goyD.jpg', -'https://img.nickpic.host/q7gm8d.jpg', -'https://img.nickpic.host/q7gvc5.jpg', -'https://img.nickpic.host/q7gx1P.jpg', -'https://img.nickpic.host/q7grFF.jpg', -'https://img.nickpic.host/q7gBLM.jpg', -'https://img.nickpic.host/q7gsXe.jpg', -'https://img.nickpic.host/q7g30X.jpg', -'https://img.nickpic.host/q7gaxb.jpg', -'https://img.nickpic.host/q7gjOf.jpg', -'https://img.nickpic.host/q7glK6.jpg', -'https://img.nickpic.host/q7gSGp.jpg', -'https://img.nickpic.host/q7gccY.jpg', -'https://img.nickpic.host/q7gg4A.jpg', -'https://img.nickpic.host/q7gqPG.jpg', -'https://img.nickpic.host/q7gEic.jpg', -'https://img.nickpic.host/q7gAFz.jpg', -'https://img.nickpic.host/q7gO0W.jpg', -'https://img.nickpic.host/q7gChj.jpg', -'https://img.nickpic.host/q7gQKJ.jpg', -'https://img.nickpic.host/q7g6x1.jpg', -'https://img.nickpic.host/q7gXGn.jpg', -'https://img.nickpic.host/q7gigs.jpg', -'https://img.nickpic.host/q7gn42.jpg', -'https://img.nickpic.host/q7gtPQ.jpg', -'https://img.nickpic.host/q7g1iN.jpg', -'https://img.nickpic.host/q7gRax.jpg', -'https://img.nickpic.host/q7g42O.jpg', -'https://img.nickpic.host/q7gwBm.jpg', -'https://img.nickpic.host/q7g7Yq.jpg', -'https://img.nickpic.host/q7gzh8.jpg', -'https://img.nickpic.host/q7gKGd.jpg', -'https://img.nickpic.host/q7gYgD.jpg', -'https://img.nickpic.host/q7gHD5.jpg', -'https://img.nickpic.host/q7gfaM.jpg', -'https://img.nickpic.host/q7gNPP.jpg', -'https://img.nickpic.host/q7g0nF.jpg', -'https://img.nickpic.host/q7g22e.jpg', -'https://img.nickpic.host/q7geBX.jpg', -'https://img.nickpic.host/q7gPI6.jpg', -'https://img.nickpic.host/q7gk6b.jpg', -'https://img.nickpic.host/q7gJYf.jpg', -'https://img.nickpic.host/q7gTqp.jpg', -'https://img.nickpic.host/q7gWDY.jpg', -'https://img.nickpic.host/q7gZTA.jpg', -'https://img.nickpic.host/q7qGnz.jpg', -'https://img.nickpic.host/q7gyjG.jpg', -'https://img.nickpic.host/q7qI9c.jpg', -'https://img.nickpic.host/q7qoBW.jpg', -'https://img.nickpic.host/q7qp61.jpg', -'https://img.nickpic.host/q7qBIJ.jpg', -'https://img.nickpic.host/q7qvHj.jpg', -'https://img.nickpic.host/q7qbqn.jpg', -'https://img.nickpic.host/q7qrws.jpg', -'https://img.nickpic.host/q7qFjQ.jpg', -'https://img.nickpic.host/q7qsT2.jpg', -'https://img.nickpic.host/q7qatx.jpg', -'https://img.nickpic.host/q7qj9N.jpg', -'https://img.nickpic.host/q7qcH8.jpg', -'https://img.nickpic.host/q7q5bO.jpg', -'https://img.nickpic.host/q7qSCm.jpg', -'https://img.nickpic.host/q7qqmq.jpg'] - - -global.dragonmaid = ['https://img.nickpic.host/qzZPkc.jpg', -'https://img.nickpic.host/qzZJ5G.jpg', -'https://img.nickpic.host/qzZeZA.jpg', -'https://img.nickpic.host/qzZLMz.jpg', -'https://img.nickpic.host/qzZVNf.jpg', -'https://img.nickpic.host/qzZHrX.jpg', -'https://img.nickpic.host/qzZ9zY.jpg', -'https://img.nickpic.host/qzZ0o6.jpg', -'https://img.nickpic.host/qzZ2Ap.jpg', -'https://img.nickpic.host/qzZNQb.jpg', -'https://img.nickpic.host/qzZWrW.jpg', -'https://img.nickpic.host/qzZZQ1.jpg', -'https://img.nickpic.host/qzZdVj.jpg', -'https://img.nickpic.host/qzdIAn.jpg', -'https://img.nickpic.host/qzdm7s.jpg', -'https://img.nickpic.host/qzdGoJ.jpg', -'https://img.nickpic.host/qzdoZ2.jpg', -'https://img.nickpic.host/qzdv5Q.jpg', -'https://img.nickpic.host/qzdxRx.jpg', -'https://img.nickpic.host/qzdBkN.jpg', -'https://img.nickpic.host/qzdrsO.jpg', -'https://img.nickpic.host/qzdapq.jpg', -'https://img.nickpic.host/qzdsUm.jpg', -'https://img.nickpic.host/qzd3V8.jpg', -'https://img.nickpic.host/qzdjAd.jpg', -'https://img.nickpic.host/qzdl7D.jpg', -'https://img.nickpic.host/qzd5d5.jpg', -'https://img.nickpic.host/qzdc5P.jpg', -'https://img.nickpic.host/qzdqJF.jpg', -'https://img.nickpic.host/qzdAse.jpg', -'https://img.nickpic.host/qzdgRM.jpg', -'https://img.nickpic.host/qzdEUX.jpg', -'https://img.nickpic.host/qzdOfb.jpg', -'https://img.nickpic.host/qzd6pf.jpg', -'https://img.nickpic.host/qzdCE6.jpg', -'https://img.nickpic.host/qzdUdY.jpg', -'https://img.nickpic.host/qzdQ8p.jpg', -'https://img.nickpic.host/qzdiSA.jpg', -'https://img.nickpic.host/qzdn1G.jpg', -'https://img.nickpic.host/qzdtJz.jpg', -'https://img.nickpic.host/qzdR3c.jpg', -'https://img.nickpic.host/qzd1UW.jpg', -'https://img.nickpic.host/qzd4f1.jpg', -'https://img.nickpic.host/qzdwvj.jpg', -'https://img.nickpic.host/qzd78n.jpg', -'https://img.nickpic.host/qzdzEJ.jpg', -'https://img.nickpic.host/qzd8ys.jpg', -'https://img.nickpic.host/qzdNLx.jpg', -'https://img.nickpic.host/qzdYS2.jpg', -'https://img.nickpic.host/qzdH1Q.jpg', -'https://img.nickpic.host/qzdf3N.jpg', -'https://img.nickpic.host/qzd0XO.jpg', -'https://img.nickpic.host/qzd20m.jpg', -'https://img.nickpic.host/qzdev8.jpg', -'https://img.nickpic.host/qzdkOq.jpg', -'https://img.nickpic.host/qzdJ8d.jpg', -'https://img.nickpic.host/qzdLyD.jpg', -'https://img.nickpic.host/qzdTc5.jpg', -'https://img.nickpic.host/qzdW1P.jpg', -'https://img.nickpic.host/qzdZLM.jpg', -'https://img.nickpic.host/qzdyFF.jpg', -'https://img.nickpic.host/qzyGXe.jpg', -'https://img.nickpic.host/qzyI0X.jpg', -'https://img.nickpic.host/qzyoxb.jpg', -'https://img.nickpic.host/qzypOf.jpg', -'https://img.nickpic.host/qzyvK6.jpg', -'https://img.nickpic.host/qzyBGp.jpg', -'https://img.nickpic.host/qzybcY.jpg', -'https://img.nickpic.host/qzyr4A.jpg', -'https://img.nickpic.host/qzyFFz.jpg', -'https://img.nickpic.host/qzysPG.jpg', -'https://img.nickpic.host/qzyaic.jpg', -'https://img.nickpic.host/qzyj0W.jpg', -'https://img.nickpic.host/qzy5x1.jpg', -'https://img.nickpic.host/qzyShj.jpg', -'https://img.nickpic.host/qzycKJ.jpg', -'https://img.nickpic.host/qzyqGn.jpg', -'https://img.nickpic.host/qzyugs.jpg', -'https://img.nickpic.host/qzyA42.jpg', -'https://img.nickpic.host/qzyEPQ.jpg', -'https://img.nickpic.host/qzyhax.jpg', -'https://img.nickpic.host/qzy6iN.jpg', -'https://img.nickpic.host/qzyC2O.jpg', -'https://img.nickpic.host/qzyUBm.jpg', -'https://img.nickpic.host/qzyXh8.jpg', -'https://img.nickpic.host/qzytGd.jpg', -'https://img.nickpic.host/qzyiYq.jpg', -'https://img.nickpic.host/qzyRD5.jpg', -'https://img.nickpic.host/qzyMgD.jpg', -'https://img.nickpic.host/qzy1PP.jpg', -'https://img.nickpic.host/qzywnF.jpg', -'https://img.nickpic.host/qzyDaM.jpg', -'https://img.nickpic.host/qzyz2e.jpg', -'https://img.nickpic.host/qzy8BX.jpg', -'https://img.nickpic.host/qzyK6b.jpg', -'https://img.nickpic.host/qzyYYf.jpg', -'https://img.nickpic.host/qzyNI6.jpg', -'https://img.nickpic.host/qzyVqp.jpg', -'https://img.nickpic.host/qzy9jG.jpg', -'https://img.nickpic.host/qzyfDY.jpg', -'https://img.nickpic.host/qzy0TA.jpg', -'https://img.nickpic.host/qzyenz.jpg', -'https://img.nickpic.host/qzyk9c.jpg', -'https://img.nickpic.host/qzyLBW.jpg', -'https://img.nickpic.host/qzyTHj.jpg', -'https://img.nickpic.host/qzyP61.jpg', -'https://img.nickpic.host/qzyZIJ.jpg', -'https://img.nickpic.host/qzydqn.jpg', -'https://img.nickpic.host/qzyyws.jpg', -'https://img.nickpic.host/q7GGT2.jpg', -'https://img.nickpic.host/q7GmjQ.jpg', -'https://img.nickpic.host/q7GxbO.jpg', -'https://img.nickpic.host/q7Gp9N.jpg', -'https://img.nickpic.host/q7Gotx.jpg', -'https://img.nickpic.host/q7GBCm.jpg', -'https://img.nickpic.host/q7Gsmq.jpg', -'https://img.nickpic.host/q7GbH8.jpg', -'https://img.nickpic.host/q7G3qd.jpg', -'https://img.nickpic.host/q7GFwD.jpg', -'https://img.nickpic.host/q7GljP.jpg', -'https://img.nickpic.host/q7GaW5.jpg', -'https://img.nickpic.host/q7G5tM.jpg', -'https://img.nickpic.host/q7GSeF.jpg', -'https://img.nickpic.host/q7Ggbe.jpg', -'https://img.nickpic.host/q7GqCX.jpg', -'https://img.nickpic.host/q7GuNb.jpg', -'https://img.nickpic.host/q7GEmf.jpg', -'https://img.nickpic.host/q7GOu6.jpg', -'https://img.nickpic.host/q7G6WY.jpg', -'https://img.nickpic.host/q7Ghzp.jpg', -'https://img.nickpic.host/q7GQlA.jpg', -'https://img.nickpic.host/q7GUMG.jpg', -'https://img.nickpic.host/q7GXez.jpg', -'https://img.nickpic.host/q7Gnrc.jpg', -'https://img.nickpic.host/q7GtCW.jpg', -'https://img.nickpic.host/q7GMN1.jpg', -'https://img.nickpic.host/q7G1oj.jpg', -'https://img.nickpic.host/q7G4uJ.jpg', -'https://img.nickpic.host/q7GDzn.jpg', -'https://img.nickpic.host/q7GwZs.jpg', -'https://img.nickpic.host/q7G7l2.jpg', -'https://img.nickpic.host/q7G8MQ.jpg', -'https://img.nickpic.host/q7GKkx.jpg', -'https://img.nickpic.host/q7GNQO.jpg', -'https://img.nickpic.host/q7GHrN.jpg', -'https://img.nickpic.host/q7GVVm.jpg', -'https://img.nickpic.host/q7G0o8.jpg', -'https://img.nickpic.host/q7G2Aq.jpg', -'https://img.nickpic.host/q7G9zd.jpg', -'https://img.nickpic.host/q7GeZD.jpg', -'https://img.nickpic.host/q7GJ55.jpg', -'https://img.nickpic.host/q7GLMP.jpg', -'https://img.nickpic.host/q7GPkM.jpg', -'https://img.nickpic.host/q7GWsF.jpg', -'https://img.nickpic.host/q7GZQe.jpg', -'https://img.nickpic.host/q7GdVX.jpg', -'https://img.nickpic.host/q7IIAf.jpg', -'https://img.nickpic.host/q7IGpb.jpg', -'https://img.nickpic.host/q7Iodp.jpg', -'https://img.nickpic.host/q7Im76.jpg', -'https://img.nickpic.host/q7Iv5Y.jpg', -'https://img.nickpic.host/q7IxRA.jpg', -'https://img.nickpic.host/q7IBJG.jpg', -'https://img.nickpic.host/q7Irsz.jpg', -'https://img.nickpic.host/q7IsUc.jpg', -'https://img.nickpic.host/q7I3VW.jpg', -'https://img.nickpic.host/q7Iap1.jpg', -'https://img.nickpic.host/q7IjEj.jpg', -'https://img.nickpic.host/q7Il7J.jpg', -'https://img.nickpic.host/q7I5dn.jpg', -'https://img.nickpic.host/q7IcSs.jpg', -'https://img.nickpic.host/q7IgR2.jpg', -'https://img.nickpic.host/q7IqJQ.jpg', -'https://img.nickpic.host/q7IA3x.jpg', -'https://img.nickpic.host/q7IEUN.jpg', -'https://img.nickpic.host/q7IOfO.jpg', -'https://img.nickpic.host/q7I6vm.jpg', -'https://img.nickpic.host/q7ICE8.jpg', -'https://img.nickpic.host/q7IQ8q.jpg', -'https://img.nickpic.host/q7IUdd.jpg', -'https://img.nickpic.host/q7IiSD.jpg', -'https://img.nickpic.host/q7In15.jpg', -'https://img.nickpic.host/q7ItJP.jpg', -'https://img.nickpic.host/q7I1XF.jpg', -'https://img.nickpic.host/q7IR3M.jpg', -'https://img.nickpic.host/q7I4fe.jpg', -'https://img.nickpic.host/q7IwvX.jpg', -'https://img.nickpic.host/q7I78f.jpg', -'https://img.nickpic.host/q7IzOb.jpg', -'https://img.nickpic.host/q7I8y6.jpg', -'https://img.nickpic.host/q7IYcp.jpg', -'https://img.nickpic.host/q7IH1Y.jpg', -'https://img.nickpic.host/q7INLA.jpg', -'https://img.nickpic.host/q7IfFG.jpg', -'https://img.nickpic.host/q7I0Xz.jpg', -'https://img.nickpic.host/q7I20c.jpg', -'https://img.nickpic.host/q7IevW.jpg', -'https://img.nickpic.host/q7IkO1.jpg', -'https://img.nickpic.host/q7IJKj.jpg', -'https://img.nickpic.host/q7ILyJ.jpg', -'https://img.nickpic.host/q7ITcn.jpg', -'https://img.nickpic.host/q7IW4s.jpg', -'https://img.nickpic.host/q7IZL2.jpg', -'https://img.nickpic.host/q7IyFQ.jpg', -'https://img.nickpic.host/q7mGix.jpg', -'https://img.nickpic.host/q7mI0N.jpg', -'https://img.nickpic.host/q7mvK8.jpg', -'https://img.nickpic.host/q7moxO.jpg', -'https://img.nickpic.host/q7mphm.jpg', -'https://img.nickpic.host/q7mBGq.jpg', -'https://img.nickpic.host/q7mbcd.jpg', -'https://img.nickpic.host/q7mr4D.jpg', -'https://img.nickpic.host/q7msP5.jpg', -'https://img.nickpic.host/q7mFFP.jpg', -'https://img.nickpic.host/q7maiM.jpg', -'https://img.nickpic.host/q7mj2F.jpg', -'https://img.nickpic.host/q7m5xe.jpg', -'https://img.nickpic.host/q7mShX.jpg', -'https://img.nickpic.host/q7mcYb.jpg', -'https://img.nickpic.host/q7mqGf.jpg', -'https://img.nickpic.host/q7mug6.jpg', -'https://img.nickpic.host/q7mEPY.jpg', -'https://img.nickpic.host/q7mADp.jpg', -'https://img.nickpic.host/q7mhaA.jpg', -'https://img.nickpic.host/q7m6nG.jpg', -'https://img.nickpic.host/q7mC2z.jpg', -'https://img.nickpic.host/q7mUBc.jpg', -'https://img.nickpic.host/q7mXhW.jpg', -'https://img.nickpic.host/q7miY1.jpg', -'https://img.nickpic.host/q7mMgJ.jpg', -'https://img.nickpic.host/q7mtIj.jpg', -'https://img.nickpic.host/q7mRDn.jpg', -'https://img.nickpic.host/q7m1Ts.jpg', -'https://img.nickpic.host/q7mDa2.jpg', -'https://img.nickpic.host/q7mwnQ.jpg', -'https://img.nickpic.host/q7mz9x.jpg', -'https://img.nickpic.host/q7m8BN.jpg', -'https://img.nickpic.host/q7mK6O.jpg', -'https://img.nickpic.host/q7mYHm.jpg', -'https://img.nickpic.host/q7mNI8.jpg', -'https://img.nickpic.host/q7mVqq.jpg', -'https://img.nickpic.host/q7mfDd.jpg', -'https://img.nickpic.host/q7m0TD.jpg', -'https://img.nickpic.host/q7m9j5.jpg', -'https://img.nickpic.host/q7menP.jpg', -'https://img.nickpic.host/q7mLbF.jpg', -'https://img.nickpic.host/q7mk9M.jpg', -'https://img.nickpic.host/q7mP6e.jpg', -'https://img.nickpic.host/q7mTHX.jpg', -'https://img.nickpic.host/q7mZmb.jpg', -'https://img.nickpic.host/q7myw6.jpg', -'https://img.nickpic.host/q7mdqf.jpg', -'https://img.nickpic.host/q7oGWp.jpg', -'https://img.nickpic.host/q7omjY.jpg', -'https://img.nickpic.host/q7ootA.jpg', -'https://img.nickpic.host/q7opeG.jpg', -'https://img.nickpic.host/q7oxbz.jpg', -'https://img.nickpic.host/q7obHW.jpg', -'https://img.nickpic.host/q7oBCc.jpg', -'https://img.nickpic.host/q7osm1.jpg', -'https://img.nickpic.host/q7o3uj.jpg', -'https://img.nickpic.host/q7oFwJ.jpg', -'https://img.nickpic.host/q7oaWn.jpg', -'https://img.nickpic.host/q7olls.jpg', -'https://img.nickpic.host/q7o5t2.jpg', -'https://img.nickpic.host/q7oSeQ.jpg', -'https://img.nickpic.host/q7ogrx.jpg', -'https://img.nickpic.host/q7ouNO.jpg', -'https://img.nickpic.host/q7oqCN.jpg', -'https://img.nickpic.host/q7oEom.jpg', -'https://img.nickpic.host/q7oOu8.jpg', -'https://img.nickpic.host/q7ohzq.jpg', -'https://img.nickpic.host/q7o6Wd.jpg', -'https://img.nickpic.host/q7oQlD.jpg', -'https://img.nickpic.host/q7oUM5.jpg', -'https://img.nickpic.host/q7oXeP.jpg', -'https://img.nickpic.host/q7onrM.jpg', -'https://img.nickpic.host/q7otQF.jpg', -'https://img.nickpic.host/q7oMNe.jpg', -'https://img.nickpic.host/q7o1oX.jpg', -'https://img.nickpic.host/q7o4Ab.jpg', -'https://img.nickpic.host/q7oDzf.jpg', -'https://img.nickpic.host/q7owZ6.jpg', -'https://img.nickpic.host/q7o75p.jpg', -'https://img.nickpic.host/q7o8MY.jpg', -'https://img.nickpic.host/q7oKkA.jpg', -'https://img.nickpic.host/q7oHsG.jpg', -'https://img.nickpic.host/q7oNQz.jpg', -'https://img.nickpic.host/q7oVVc.jpg', -'https://img.nickpic.host/q7o0oW.jpg', -'https://img.nickpic.host/q7o2A1.jpg', -'https://img.nickpic.host/q7o97j.jpg', -'https://img.nickpic.host/q7oeZJ.jpg', -'https://img.nickpic.host/q7oJ5n.jpg', -'https://img.nickpic.host/q7oLRs.jpg', -'https://img.nickpic.host/q7oPk2.jpg', -'https://img.nickpic.host/q7oWsQ.jpg', -'https://img.nickpic.host/q7oZUx.jpg', -'https://img.nickpic.host/q7odVN.jpg', -'https://img.nickpic.host/q7pGpO.jpg', -'https://img.nickpic.host/q7pIEm.jpg', -'https://img.nickpic.host/q7pm78.jpg', -'https://img.nickpic.host/q7podq.jpg', -'https://img.nickpic.host/q7pv5d.jpg', -'https://img.nickpic.host/q7prsP.jpg', -'https://img.nickpic.host/q7pxRD.jpg', -'https://img.nickpic.host/q7pBJ5.jpg', -'https://img.nickpic.host/q7psUM.jpg', -'https://img.nickpic.host/q7p3fF.jpg', -'https://img.nickpic.host/q7pape.jpg', -'https://img.nickpic.host/q7pjEX.jpg', -'https://img.nickpic.host/q7pl8b.jpg', -'https://img.nickpic.host/q7p5df.jpg', -'https://img.nickpic.host/q7pcS6.jpg', -'https://img.nickpic.host/q7pqJY.jpg', -'https://img.nickpic.host/q7pg1p.jpg', -'https://img.nickpic.host/q7pA3A.jpg', -'https://img.nickpic.host/q7pEXG.jpg', -'https://img.nickpic.host/q7pOfz.jpg', -'https://img.nickpic.host/q7p6vc.jpg', -'https://img.nickpic.host/q7pCEW.jpg', -'https://img.nickpic.host/q7pQ81.jpg', -'https://img.nickpic.host/q7pUyj.jpg', -'https://img.nickpic.host/q7piSJ.jpg', -'https://img.nickpic.host/q7pn1n.jpg', -'https://img.nickpic.host/q7ptLs.jpg', -'https://img.nickpic.host/q7pR32.jpg', -'https://img.nickpic.host/q7p1XQ.jpg', -'https://img.nickpic.host/q7p40x.jpg', -'https://img.nickpic.host/q7pwvN.jpg', -'https://img.nickpic.host/q7pzOO.jpg', -'https://img.nickpic.host/q7p7Km.jpg', -'https://img.nickpic.host/q7p8y8.jpg', -'https://img.nickpic.host/q7pYcq.jpg', -'https://img.nickpic.host/q7pH1d.jpg', -'https://img.nickpic.host/q7pNLD.jpg', -'https://img.nickpic.host/q7pfF5.jpg', -'https://img.nickpic.host/q7p0XP.jpg', -'https://img.nickpic.host/q7p20M.jpg', -'https://img.nickpic.host/q7pexF.jpg', -'https://img.nickpic.host/q7pkOe.jpg', -'https://img.nickpic.host/q7pJKX.jpg', -'https://img.nickpic.host/q7pPGb.jpg', -'https://img.nickpic.host/q7pTcf.jpg', -'https://img.nickpic.host/q7pW46.jpg', -'https://img.nickpic.host/q7pZPp.jpg', -'https://img.nickpic.host/q7pyFY.jpg', -'https://img.nickpic.host/q7vGiA.jpg', -'https://img.nickpic.host/q7vI2G.jpg', -'https://img.nickpic.host/q7voxz.jpg', -'https://img.nickpic.host/q7vphc.jpg', -'https://img.nickpic.host/q7vvKW.jpg', -'https://img.nickpic.host/q7vBG1.jpg', -'https://img.nickpic.host/q7vbgj.jpg', -'https://img.nickpic.host/q7vr4J.jpg', -'https://img.nickpic.host/q7vsPn.jpg', -'https://img.nickpic.host/q7vFas.jpg', -'https://img.nickpic.host/q7vai2.jpg', -'https://img.nickpic.host/q7vj2Q.jpg', -'https://img.nickpic.host/q7v5Bx.jpg', -'https://img.nickpic.host/q7vShN.jpg', -'https://img.nickpic.host/q7vcYO.jpg', -'https://img.nickpic.host/q7vqIm.jpg', -'https://img.nickpic.host/q7vug8.jpg', -'https://img.nickpic.host/q7vADq.jpg', -'https://img.nickpic.host/q7vEPd.jpg', -'https://img.nickpic.host/q7vhaD.jpg', -'https://img.nickpic.host/q7v6n5.jpg', -'https://img.nickpic.host/q7vC2P.jpg', -'https://img.nickpic.host/q7vUBM.jpg', -'https://img.nickpic.host/q7vX6F.jpg', -'https://img.nickpic.host/q7viYe.jpg', -'https://img.nickpic.host/q7vtIX.jpg', -'https://img.nickpic.host/q7vMqb.jpg', -'https://img.nickpic.host/q7vRDf.jpg', -'https://img.nickpic.host/q7v1T6.jpg', -'https://img.nickpic.host/q7vDjp.jpg', -'https://img.nickpic.host/q7vwnY.jpg', -'https://img.nickpic.host/q7vz9A.jpg', -'https://img.nickpic.host/q7v8bG.jpg', -'https://img.nickpic.host/q7vK6z.jpg', -'https://img.nickpic.host/q7vYHc.jpg', -'https://img.nickpic.host/q7vNIW.jpg', -'https://img.nickpic.host/q7vVq1.jpg', -'https://img.nickpic.host/q7vfwj.jpg', -'https://img.nickpic.host/q7v0TJ.jpg', -'https://img.nickpic.host/q7v9jn.jpg', -'https://img.nickpic.host/q7vets.jpg', -'https://img.nickpic.host/q7vk92.jpg', -'https://img.nickpic.host/q7vLbQ.jpg', -'https://img.nickpic.host/q7vPCx.jpg', -'https://img.nickpic.host/q7vTHN.jpg', -'https://img.nickpic.host/q7vZmO.jpg', -'https://img.nickpic.host/q7vdum.jpg', -'https://img.nickpic.host/q7vyw8.jpg', -'https://img.nickpic.host/q7xGWq.jpg', -'https://img.nickpic.host/q7xmjd.jpg', -'https://img.nickpic.host/q7xotD.jpg', -'https://img.nickpic.host/q7xpe5.jpg', -'https://img.nickpic.host/q7xxbP.jpg', -'https://img.nickpic.host/q7xBCM.jpg', -'https://img.nickpic.host/q7xbNF.jpg', -'https://img.nickpic.host/q7xsme.jpg', -'https://img.nickpic.host/q7x3uX.jpg', -'https://img.nickpic.host/q7xFzb.jpg', -'https://img.nickpic.host/q7xaWf.jpg', -'https://img.nickpic.host/q7xll6.jpg', -'https://img.nickpic.host/q7x5Mp.jpg', -'https://img.nickpic.host/q7xSeY.jpg', -'https://img.nickpic.host/q7xgrA.jpg', -'https://img.nickpic.host/q7xqQG.jpg', -'https://img.nickpic.host/q7xuNz.jpg', -'https://img.nickpic.host/q7xEoc.jpg', -'https://img.nickpic.host/q7xOuW.jpg', -'https://img.nickpic.host/q7xhz1.jpg', -'https://img.nickpic.host/q7x6Zj.jpg', -'https://img.nickpic.host/q7xQlJ.jpg', -'https://img.nickpic.host/q7xUMn.jpg', -'https://img.nickpic.host/q7xXks.jpg', -'https://img.nickpic.host/q7xnr2.jpg', -'https://img.nickpic.host/q7xtQQ.jpg', -'https://img.nickpic.host/q7xMVx.jpg', -'https://img.nickpic.host/q7x1oN.jpg', -'https://img.nickpic.host/q7x4AO.jpg', -'https://img.nickpic.host/q7xD7m.jpg', -'https://img.nickpic.host/q7xwZ8.jpg', -'https://img.nickpic.host/q7x75q.jpg', -'https://img.nickpic.host/q7x8Md.jpg', -'https://img.nickpic.host/q7xKkD.jpg', -'https://img.nickpic.host/q7xHs5.jpg', -'https://img.nickpic.host/q7xNQP.jpg', -'https://img.nickpic.host/q7xVVM.jpg', -'https://img.nickpic.host/q7x0pF.jpg', -'https://img.nickpic.host/q7x2Ae.jpg', -'https://img.nickpic.host/q7x97X.jpg', -'https://img.nickpic.host/q7xedb.jpg', -'https://img.nickpic.host/q7xJ5f.jpg', -'https://img.nickpic.host/q7xLR6.jpg', -'https://img.nickpic.host/q7xPJp.jpg', -'https://img.nickpic.host/q7xWsY.jpg', -'https://img.nickpic.host/q7xZUA.jpg', -'https://img.nickpic.host/q7xdfG.jpg', -'https://img.nickpic.host/q7BGpz.jpg', -'https://img.nickpic.host/q7BIEc.jpg', -'https://img.nickpic.host/q7Bm7W.jpg', -'https://img.nickpic.host/q7Bod1.jpg', -'https://img.nickpic.host/q7BvSj.jpg', -'https://img.nickpic.host/q7BxRJ.jpg', -'https://img.nickpic.host/q7BBJn.jpg', -'https://img.nickpic.host/q7Br3s.jpg', -'https://img.nickpic.host/q7BsU2.jpg', -'https://img.nickpic.host/q7B3fQ.jpg', -'https://img.nickpic.host/q7Bavx.jpg', -'https://img.nickpic.host/q7BjEN.jpg', -'https://img.nickpic.host/q7Bl8O.jpg', -'https://img.nickpic.host/q7BcS8.jpg', -'https://img.nickpic.host/q7B5ym.jpg', -'https://img.nickpic.host/q7BqJd.jpg', -'https://img.nickpic.host/q7Bg1q.jpg', -'https://img.nickpic.host/q7BA3D.jpg', -'https://img.nickpic.host/q7BEX5.jpg', -'https://img.nickpic.host/q7BOfP.jpg', -'https://img.nickpic.host/q7B6vM.jpg', -'https://img.nickpic.host/q7BCOF.jpg', -'https://img.nickpic.host/q7BQ8e.jpg', -'https://img.nickpic.host/q7BUyX.jpg', -'https://img.nickpic.host/q7Bicb.jpg', -'https://img.nickpic.host/q7Bn1f.jpg', -'https://img.nickpic.host/q7BtL6.jpg', -'https://img.nickpic.host/q7BRFp.jpg', -'https://img.nickpic.host/q7B1XY.jpg', -'https://img.nickpic.host/q7B40A.jpg', -'https://img.nickpic.host/q7BwxG.jpg', -'https://img.nickpic.host/q7BzOz.jpg', -'https://img.nickpic.host/q7B7Kc.jpg', -'https://img.nickpic.host/q7B8yW.jpg', -'https://img.nickpic.host/q7BYc1.jpg', -'https://img.nickpic.host/q7BH4j.jpg', -'https://img.nickpic.host/q7BNLJ.jpg', -'https://img.nickpic.host/q7BfFn.jpg', -'https://img.nickpic.host/q7B0is.jpg', -'https://img.nickpic.host/q7B202.jpg', -'https://img.nickpic.host/q7BexQ.jpg', -'https://img.nickpic.host/q7Bkhx.jpg', -'https://img.nickpic.host/q7BJKN.jpg', -'https://img.nickpic.host/q7BPGO.jpg', -'https://img.nickpic.host/q7BTgm.jpg', -'https://img.nickpic.host/q7BW48.jpg', -'https://img.nickpic.host/q7BZPq.jpg', -'https://img.nickpic.host/q7ByFd.jpg', -'https://img.nickpic.host/q7bGiD.jpg', -'https://img.nickpic.host/q7bI25.jpg', -'https://img.nickpic.host/q7bphM.jpg', -'https://img.nickpic.host/q7boxP.jpg', -'https://img.nickpic.host/q7bvYF.jpg', -'https://img.nickpic.host/q7bBGe.jpg', -'https://img.nickpic.host/q7bbgX.jpg', -'https://img.nickpic.host/q7brDb.jpg', -'https://img.nickpic.host/q7bsPf.jpg', -'https://img.nickpic.host/q7bFa6.jpg', -'https://img.nickpic.host/q7banp.jpg', -'https://img.nickpic.host/q7bj2Y.jpg', -'https://img.nickpic.host/q7b5BA.jpg', -'https://img.nickpic.host/q7bS6G.jpg', -'https://img.nickpic.host/q7bcYz.jpg', -'https://img.nickpic.host/q7bqIc.jpg', -'https://img.nickpic.host/q7bugW.jpg', -'https://img.nickpic.host/q7bETj.jpg', -'https://img.nickpic.host/q7bAD1.jpg', -'https://img.nickpic.host/q7bhaJ.jpg', -'https://img.nickpic.host/q7b6nn.jpg', -'https://img.nickpic.host/q7bX6Q.jpg', -'https://img.nickpic.host/q7bC9s.jpg', -'https://img.nickpic.host/q7bUB2.jpg', -'https://img.nickpic.host/q7biHx.jpg', -'https://img.nickpic.host/q7btIN.jpg', -'https://img.nickpic.host/q7bRwm.jpg', -'https://img.nickpic.host/q7bMqO.jpg', -'https://img.nickpic.host/q7bDjq.jpg', -'https://img.nickpic.host/q7b1T8.jpg', -'https://img.nickpic.host/q7bwnd.jpg', -'https://img.nickpic.host/q7b8b5.jpg', -'https://img.nickpic.host/q7bz9D.jpg', -'https://img.nickpic.host/q7bK6P.jpg', -'https://img.nickpic.host/q7bYHM.jpg', -'https://img.nickpic.host/q7bVqe.jpg', -'https://img.nickpic.host/q7bfwX.jpg', -'https://img.nickpic.host/q7bNmF.jpg', -'https://img.nickpic.host/q7b0Wb.jpg', -'https://img.nickpic.host/q7b9jf.jpg', -'https://img.nickpic.host/q7bet6.jpg', -'https://img.nickpic.host/q7bkep.jpg', -'https://img.nickpic.host/q7bLbY.jpg', -'https://img.nickpic.host/q7bPCA.jpg', -'https://img.nickpic.host/q7bTNG.jpg', -'https://img.nickpic.host/q7bZmz.jpg', -'https://img.nickpic.host/q7bywW.jpg', -'https://img.nickpic.host/q7bduc.jpg', -'https://img.nickpic.host/q7rotJ.jpg', -'https://img.nickpic.host/q7rGW1.jpg', -'https://img.nickpic.host/q7rmlj.jpg', -'https://img.nickpic.host/q7rxrs.jpg', -'https://img.nickpic.host/q7rpen.jpg', -'https://img.nickpic.host/q7rsox.jpg', -'https://img.nickpic.host/q7rBC2.jpg', -'https://img.nickpic.host/q7rbNQ.jpg', -'https://img.nickpic.host/q7rFzO.jpg', -'https://img.nickpic.host/q7r3uN.jpg', -'https://img.nickpic.host/q7raZm.jpg', -'https://img.nickpic.host/q7rll8.jpg', -'https://img.nickpic.host/q7r5Mq.jpg', -'https://img.nickpic.host/q7rSed.jpg', -'https://img.nickpic.host/q7rgrD.jpg', -'https://img.nickpic.host/q7rqQ5.jpg', -'https://img.nickpic.host/q73et8.jpg'] - - -global.konosuba = ['https://img.nickpic.host/q4MGFn.jpg', -'https://img.nickpic.host/q4tdLJ.jpg', -'https://img.nickpic.host/q4tZ4j.jpg', -'https://img.nickpic.host/q4tWc1.jpg', -'https://img.nickpic.host/q4tPyW.jpg', -'https://img.nickpic.host/q4tJOz.jpg', -'https://img.nickpic.host/q4tLKc.jpg', -'https://img.nickpic.host/q4tkxG.jpg', -'https://img.nickpic.host/q4t90A.jpg', -'https://img.nickpic.host/q4t2XY.jpg', -'https://img.nickpic.host/q4Mm02.jpg', -'https://img.nickpic.host/q4MIis.jpg', -'https://img.nickpic.host/q4MxKN.jpg', -'https://img.nickpic.host/q4MpxQ.jpg', -'https://img.nickpic.host/q4Mvhx.jpg', -'https://img.nickpic.host/q4MbGO.jpg', -'https://img.nickpic.host/q4Mrgm.jpg', -'https://img.nickpic.host/q4M3Pq.jpg', -'https://img.nickpic.host/q4Ms48.jpg', -'https://img.nickpic.host/q4MaFd.jpg', -'https://img.nickpic.host/q4Ml25.jpg', -'https://img.nickpic.host/q4MjiD.jpg', -'https://img.nickpic.host/q4MSxP.jpg', -'https://img.nickpic.host/q4MchM.jpg', -'https://img.nickpic.host/q4MgYF.jpg', -'https://img.nickpic.host/q4MuGe.jpg', -'https://img.nickpic.host/q4MAgX.jpg', -'https://img.nickpic.host/q4MEDb.jpg', -'https://img.nickpic.host/q4MOPf.jpg', -'https://img.nickpic.host/q4M6a6.jpg', -'https://img.nickpic.host/q4MCnp.jpg', -'https://img.nickpic.host/q4MQ2Y.jpg', -'https://img.nickpic.host/q4MXBA.jpg', -'https://img.nickpic.host/q4Mi6G.jpg', -'https://img.nickpic.host/q4MnYz.jpg', -'https://img.nickpic.host/q4MMIc.jpg', -'https://img.nickpic.host/q4M1D1.jpg', -'https://img.nickpic.host/q4MRgW.jpg', -'https://img.nickpic.host/q4M4Tj.jpg', -'https://img.nickpic.host/q4MwaJ.jpg', -'https://img.nickpic.host/q4Mznn.jpg', -'https://img.nickpic.host/q4M79s.jpg', -'https://img.nickpic.host/q4MKB2.jpg', -'https://img.nickpic.host/q4MY6Q.jpg', -'https://img.nickpic.host/q4MHHx.jpg', -'https://img.nickpic.host/q4MfqO.jpg', -'https://img.nickpic.host/q4MVIN.jpg', -'https://img.nickpic.host/q4M0wm.jpg', -'https://img.nickpic.host/q4M2T8.jpg', -'https://img.nickpic.host/q4Mejq.jpg', -'https://img.nickpic.host/q4MJ9D.jpg', -'https://img.nickpic.host/q4Mknd.jpg', -'https://img.nickpic.host/q4MPb5.jpg', -'https://img.nickpic.host/q4MT6P.jpg', -'https://img.nickpic.host/q4Myqe.jpg', -'https://img.nickpic.host/q4MdmF.jpg', -'https://img.nickpic.host/q4MWHM.jpg', -'https://img.nickpic.host/q4RIWb.jpg', -'https://img.nickpic.host/q4RGwX.jpg', -'https://img.nickpic.host/q4Rojf.jpg', -'https://img.nickpic.host/q4Rpt6.jpg', -'https://img.nickpic.host/q4RBbY.jpg', -'https://img.nickpic.host/q4RbCA.jpg', -'https://img.nickpic.host/q4Rvep.jpg', -'https://img.nickpic.host/q4RrNG.jpg', -'https://img.nickpic.host/q4R3mz.jpg', -'https://img.nickpic.host/q4RFuc.jpg', -'https://img.nickpic.host/q4RawW.jpg', -'https://img.nickpic.host/q4RjW1.jpg', -'https://img.nickpic.host/q4Rcen.jpg', -'https://img.nickpic.host/q4R5lj.jpg', -'https://img.nickpic.host/q4RStJ.jpg', -'https://img.nickpic.host/q4Rqrs.jpg', -'https://img.nickpic.host/q4RuC2.jpg', -'https://img.nickpic.host/q4RhuN.jpg', -'https://img.nickpic.host/q4RANQ.jpg', -'https://img.nickpic.host/q4ROox.jpg', -'https://img.nickpic.host/q4RCZm.jpg', -'https://img.nickpic.host/q4R6zO.jpg', -'https://img.nickpic.host/q4RUl8.jpg', -'https://img.nickpic.host/q4RXMq.jpg', -'https://img.nickpic.host/q4Ried.jpg', -'https://img.nickpic.host/q4RMQ5.jpg', -'https://img.nickpic.host/q4RtrD.jpg', -'https://img.nickpic.host/q4R4oM.jpg', -'https://img.nickpic.host/q4RRNP.jpg', -'https://img.nickpic.host/q4RDAF.jpg', -'https://img.nickpic.host/q4Rwze.jpg', -'https://img.nickpic.host/q4RzZX.jpg', -'https://img.nickpic.host/q4RKMf.jpg', -'https://img.nickpic.host/q4R85b.jpg', -'https://img.nickpic.host/q4RYk6.jpg', -'https://img.nickpic.host/q4RVQY.jpg', -'https://img.nickpic.host/q4RNsp.jpg', -'https://img.nickpic.host/q4RfVA.jpg', -'https://img.nickpic.host/q4R9Az.jpg', -'https://img.nickpic.host/q4Re7c.jpg', -'https://img.nickpic.host/q4R2pG.jpg', -'https://img.nickpic.host/q4RL51.jpg', -'https://img.nickpic.host/q4RkZW.jpg', -'https://img.nickpic.host/q4RPRj.jpg', -'https://img.nickpic.host/q4RTkJ.jpg', -'https://img.nickpic.host/q4RyV2.jpg', -'https://img.nickpic.host/q4RZsn.jpg', -'https://img.nickpic.host/q4RdUs.jpg', -'https://img.nickpic.host/q41IpQ.jpg', -'https://img.nickpic.host/q41mEx.jpg', -'https://img.nickpic.host/q41o7N.jpg', -'https://img.nickpic.host/q41pdO.jpg', -'https://img.nickpic.host/q41xSm.jpg', -'https://img.nickpic.host/q41BR8.jpg', -'https://img.nickpic.host/q41ssd.jpg', -'https://img.nickpic.host/q41bJq.jpg', -'https://img.nickpic.host/q413UD.jpg', -'https://img.nickpic.host/q41lEM.jpg', -'https://img.nickpic.host/q41Ff5.jpg', -'https://img.nickpic.host/q41jpP.jpg', -'https://img.nickpic.host/q41Sde.jpg', -'https://img.nickpic.host/q4158F.jpg', -'https://img.nickpic.host/q41gSX.jpg', -'https://img.nickpic.host/q41q1b.jpg', -'https://img.nickpic.host/q41uJf.jpg', -'https://img.nickpic.host/q41OXp.jpg', -'https://img.nickpic.host/q41E36.jpg', -'https://img.nickpic.host/q41CvA.jpg', -'https://img.nickpic.host/q41hfY.jpg', -'https://img.nickpic.host/q41QOG.jpg', -'https://img.nickpic.host/q41Xyc.jpg', -'https://img.nickpic.host/q41U8z.jpg', -'https://img.nickpic.host/q41nSW.jpg', -'https://img.nickpic.host/q41MLj.jpg', -'https://img.nickpic.host/q41t11.jpg', -'https://img.nickpic.host/q4113J.jpg', -'https://img.nickpic.host/q414Xn.jpg', -'https://img.nickpic.host/q41D0s.jpg', -'https://img.nickpic.host/q417OQ.jpg', -'https://img.nickpic.host/q41zv2.jpg', -'https://img.nickpic.host/q418Kx.jpg', -'https://img.nickpic.host/q41KyN.jpg', -'https://img.nickpic.host/q41HcO.jpg', -'https://img.nickpic.host/q41N4m.jpg', -'https://img.nickpic.host/q41VL8.jpg', -'https://img.nickpic.host/q412Xd.jpg', -'https://img.nickpic.host/q410Fq.jpg', -'https://img.nickpic.host/q41LKM.jpg', -'https://img.nickpic.host/q4190D.jpg', -'https://img.nickpic.host/q41TGF.jpg', -'https://img.nickpic.host/q41kx5.jpg', -'https://img.nickpic.host/q41JOP.jpg', -'https://img.nickpic.host/q41Wce.jpg', -'https://img.nickpic.host/q41Z4X.jpg', -'https://img.nickpic.host/q41dPb.jpg', -'https://img.nickpic.host/q44GFf.jpg', -'https://img.nickpic.host/q44xYG.jpg', -'https://img.nickpic.host/q44pxY.jpg', -'https://img.nickpic.host/q44Ii6.jpg', -'https://img.nickpic.host/q44m2p.jpg', -'https://img.nickpic.host/q44vhA.jpg', -'https://img.nickpic.host/q44bGz.jpg', -'https://img.nickpic.host/q44rgc.jpg', -'https://img.nickpic.host/q44aaj.jpg', -'https://img.nickpic.host/q44s4W.jpg', -'https://img.nickpic.host/q44jiJ.jpg', -'https://img.nickpic.host/q443P1.jpg', -'https://img.nickpic.host/q44SBs.jpg', -'https://img.nickpic.host/q44l2n.jpg', -'https://img.nickpic.host/q44ch2.jpg', -'https://img.nickpic.host/q44gYQ.jpg', -'https://img.nickpic.host/q44AgN.jpg', -'https://img.nickpic.host/q44uIx.jpg', -'https://img.nickpic.host/q44EDO.jpg', -'https://img.nickpic.host/q44OTm.jpg', -'https://img.nickpic.host/q446a8.jpg', -'https://img.nickpic.host/q44Q2d.jpg', -'https://img.nickpic.host/q44Cnq.jpg', -'https://img.nickpic.host/q44i65.jpg', -'https://img.nickpic.host/q44XBD.jpg', -'https://img.nickpic.host/q44nYP.jpg', -'https://img.nickpic.host/q44MIM.jpg', -'https://img.nickpic.host/q44RqF.jpg', -'https://img.nickpic.host/q441De.jpg', -'https://img.nickpic.host/q444TX.jpg', -'https://img.nickpic.host/q44wjb.jpg', -'https://img.nickpic.host/q44znf.jpg', -'https://img.nickpic.host/q44HHA.jpg', -'https://img.nickpic.host/q44796.jpg', -'https://img.nickpic.host/q44Kbp.jpg', -'https://img.nickpic.host/q44Y6Y.jpg', -'https://img.nickpic.host/q44VmG.jpg', -'https://img.nickpic.host/q44fqz.jpg', -'https://img.nickpic.host/q440wc.jpg', -'https://img.nickpic.host/q442TW.jpg', -'https://img.nickpic.host/q44ej1.jpg', -'https://img.nickpic.host/q44ktj.jpg', -'https://img.nickpic.host/q44J9J.jpg', -'https://img.nickpic.host/q44Pbn.jpg', -'https://img.nickpic.host/q44TCs.jpg', -'https://img.nickpic.host/q44WH2.jpg', -'https://img.nickpic.host/q44dmQ.jpg', -'https://img.nickpic.host/q44yux.jpg', -'https://img.nickpic.host/q4DGwN.jpg', -'https://img.nickpic.host/q4DIWO.jpg', -'https://img.nickpic.host/q4Dolm.jpg', -'https://img.nickpic.host/q4Dpt8.jpg', -'https://img.nickpic.host/q4Dveq.jpg', -'https://img.nickpic.host/q4DBbd.jpg', -'https://img.nickpic.host/q4DrN5.jpg', -'https://img.nickpic.host/q4DbCD.jpg', -'https://img.nickpic.host/q4DFuM.jpg', -'https://img.nickpic.host/q4D3mP.jpg', -'https://img.nickpic.host/q4DazF.jpg', -'https://img.nickpic.host/q4DjWe.jpg', -'https://img.nickpic.host/q4D5lX.jpg', -'https://img.nickpic.host/q4Dqr6.jpg', -'https://img.nickpic.host/q4DSMb.jpg', -'https://img.nickpic.host/q4Dcef.jpg', -'https://img.nickpic.host/q4DuQp.jpg', -'https://img.nickpic.host/q4DhAG.jpg', -'https://img.nickpic.host/q4DANY.jpg', -'https://img.nickpic.host/q4DOoA.jpg', -'https://img.nickpic.host/q4D6zz.jpg', -'https://img.nickpic.host/q4DUlW.jpg', -'https://img.nickpic.host/q4DCZc.jpg', -'https://img.nickpic.host/q4DXM1.jpg', -'https://img.nickpic.host/q4Dikj.jpg', -'https://img.nickpic.host/q4DtrJ.jpg', -'https://img.nickpic.host/q4DMQn.jpg', -'https://img.nickpic.host/q4DRVs.jpg', -'https://img.nickpic.host/q4DDAQ.jpg', -'https://img.nickpic.host/q4D4o2.jpg', -'https://img.nickpic.host/q4Dw7x.jpg', -'https://img.nickpic.host/q4DzZN.jpg', -'https://img.nickpic.host/q4D85O.jpg', -'https://img.nickpic.host/q4DKRm.jpg', -'https://img.nickpic.host/q4DYk8.jpg', -'https://img.nickpic.host/q4DfVD.jpg', -'https://img.nickpic.host/q4DNsq.jpg', -'https://img.nickpic.host/q4DVQd.jpg', -'https://img.nickpic.host/q4D2p5.jpg', -'https://img.nickpic.host/q4D9AP.jpg', -'https://img.nickpic.host/q4De7M.jpg', -'https://img.nickpic.host/q4DkdF.jpg', -'https://img.nickpic.host/q4DL5e.jpg', -'https://img.nickpic.host/q4DPRX.jpg', -'https://img.nickpic.host/q4DTJb.jpg', -'https://img.nickpic.host/q4DZsf.jpg', -'https://img.nickpic.host/q4DdU6.jpg', -'https://img.nickpic.host/q4Dyfp.jpg', -'https://img.nickpic.host/q4wIpY.jpg', -'https://img.nickpic.host/q4wmEA.jpg', -'https://img.nickpic.host/q4wo8G.jpg', -'https://img.nickpic.host/q4wpdz.jpg', -'https://img.nickpic.host/q4wxSc.jpg', -'https://img.nickpic.host/q4wBRW.jpg', -'https://img.nickpic.host/q4wbJ1.jpg', -'https://img.nickpic.host/q4ws3j.jpg', -'https://img.nickpic.host/q4wFfn.jpg', -'https://img.nickpic.host/q4w3UJ.jpg', -'https://img.nickpic.host/q4wjvs.jpg', -'https://img.nickpic.host/q4w58Q.jpg', -'https://img.nickpic.host/q4wlE2.jpg', -'https://img.nickpic.host/q4wSyx.jpg', -'https://img.nickpic.host/q4wgSN.jpg', -'https://img.nickpic.host/q4wq1O.jpg', -'https://img.nickpic.host/q4wuLm.jpg', -'https://img.nickpic.host/q4wE38.jpg', -'https://img.nickpic.host/q4wOXq.jpg', -'https://img.nickpic.host/q4whfd.jpg', -'https://img.nickpic.host/q4wCvD.jpg', -'https://img.nickpic.host/q4wU8P.jpg', -'https://img.nickpic.host/q4wQO5.jpg', -'https://img.nickpic.host/q4wXyM.jpg', -'https://img.nickpic.host/q4wncF.jpg', -'https://img.nickpic.host/q4wMLX.jpg', -'https://img.nickpic.host/q4wt1e.jpg', -'https://img.nickpic.host/q4w4Xf.jpg', -'https://img.nickpic.host/q4w1Fb.jpg', -'https://img.nickpic.host/q4w7OY.jpg', -'https://img.nickpic.host/q4wD06.jpg', -'https://img.nickpic.host/q4wzxp.jpg', -'https://img.nickpic.host/q4wYGG.jpg', -'https://img.nickpic.host/q4w8KA.jpg', -'https://img.nickpic.host/q4wN4c.jpg', -'https://img.nickpic.host/q4wHcz.jpg', -'https://img.nickpic.host/q4wVLW.jpg', -'https://img.nickpic.host/q4w2ij.jpg', -'https://img.nickpic.host/q4w0F1.jpg', -'https://img.nickpic.host/q4wkxn.jpg', -'https://img.nickpic.host/q4w90J.jpg', -'https://img.nickpic.host/q4wJhs.jpg', -'https://img.nickpic.host/q4wLK2.jpg', -'https://img.nickpic.host/q4wTGQ.jpg', -'https://img.nickpic.host/q4wZ4N.jpg', -'https://img.nickpic.host/q4wWgx.jpg', -'https://img.nickpic.host/q4wdPO.jpg', -'https://img.nickpic.host/q4zGam.jpg', -'https://img.nickpic.host/q4zIi8.jpg', -'https://img.nickpic.host/q4zpxd.jpg', -'https://img.nickpic.host/q4zm2q.jpg', -'https://img.nickpic.host/q4zvhD.jpg', -'https://img.nickpic.host/q4zxY5.jpg', -'https://img.nickpic.host/q4zrgM.jpg', -'https://img.nickpic.host/q4zsDF.jpg', -'https://img.nickpic.host/q4zbGP.jpg', -'https://img.nickpic.host/q4z3Pe.jpg', -'https://img.nickpic.host/q4zaaX.jpg', -'https://img.nickpic.host/q4zl2f.jpg', -'https://img.nickpic.host/q4zjnb.jpg', -'https://img.nickpic.host/q4zSB6.jpg', -'https://img.nickpic.host/q4zc6p.jpg', -'https://img.nickpic.host/q4zgYY.jpg', -'https://img.nickpic.host/q4zuIA.jpg', -'https://img.nickpic.host/q4zAqG.jpg', -'https://img.nickpic.host/q4zEDz.jpg', -'https://img.nickpic.host/q4zOTc.jpg', -'https://img.nickpic.host/q4z6aW.jpg', -'https://img.nickpic.host/q4zQ9j.jpg', -'https://img.nickpic.host/q4zCn1.jpg', -'https://img.nickpic.host/q4zXBJ.jpg', -'https://img.nickpic.host/q4zi6n.jpg', -'https://img.nickpic.host/q4znHs.jpg', -'https://img.nickpic.host/q4zRqQ.jpg', -'https://img.nickpic.host/q4zMI2.jpg', -'https://img.nickpic.host/q4z1wx.jpg', -'https://img.nickpic.host/q4z4TN.jpg', -'https://img.nickpic.host/q4zwjO.jpg', -'https://img.nickpic.host/q4z798.jpg', -'https://img.nickpic.host/q4zztm.jpg', -'https://img.nickpic.host/q4zKbq.jpg', -'https://img.nickpic.host/q4zY6d.jpg', -'https://img.nickpic.host/q4zHHD.jpg', -'https://img.nickpic.host/q4zfqP.jpg', -'https://img.nickpic.host/q4zVm5.jpg', -'https://img.nickpic.host/q4z0wM.jpg', -'https://img.nickpic.host/q4zeje.jpg', -'https://img.nickpic.host/q4z2WF.jpg', -'https://img.nickpic.host/q4zJeb.jpg', -'https://img.nickpic.host/q4zktX.jpg', -'https://img.nickpic.host/q4zPbf.jpg', -'https://img.nickpic.host/q4zTC6.jpg', -'https://img.nickpic.host/q4zWNp.jpg', -'https://img.nickpic.host/q4zyuA.jpg', -'https://img.nickpic.host/q4zdmY.jpg', -'https://img.nickpic.host/q47GzG.jpg', -'https://img.nickpic.host/q47IWz.jpg', -'https://img.nickpic.host/q47ptW.jpg', -'https://img.nickpic.host/q47olc.jpg', -'https://img.nickpic.host/q47ve1.jpg', -'https://img.nickpic.host/q47Brj.jpg', -'https://img.nickpic.host/q47bCJ.jpg', -'https://img.nickpic.host/q473os.jpg', -'https://img.nickpic.host/q47rNn.jpg', -'https://img.nickpic.host/q47azQ.jpg', -'https://img.nickpic.host/q47Fu2.jpg', -'https://img.nickpic.host/q47jZx.jpg', -'https://img.nickpic.host/q47SMO.jpg', -'https://img.nickpic.host/q475lN.jpg', -'https://img.nickpic.host/q47qr8.jpg', -'https://img.nickpic.host/q47ckm.jpg', -'https://img.nickpic.host/q47uQq.jpg', -'https://img.nickpic.host/q47ANd.jpg', -'https://img.nickpic.host/q47hA5.jpg', -'https://img.nickpic.host/q47OoD.jpg', -'https://img.nickpic.host/q476zP.jpg', -'https://img.nickpic.host/q47CZM.jpg', -'https://img.nickpic.host/q47XMe.jpg', -'https://img.nickpic.host/q47U5F.jpg', -'https://img.nickpic.host/q47MQf.jpg', -'https://img.nickpic.host/q47tsb.jpg', -'https://img.nickpic.host/q47RV6.jpg', -'https://img.nickpic.host/q47ikX.jpg', -'https://img.nickpic.host/q474pp.jpg', -'https://img.nickpic.host/q47DAY.jpg', -'https://img.nickpic.host/q47w7A.jpg', -'https://img.nickpic.host/q47zdG.jpg', -'https://img.nickpic.host/q4785z.jpg', -'https://img.nickpic.host/q47YkW.jpg', -'https://img.nickpic.host/q47KRc.jpg', -'https://img.nickpic.host/q47Ns1.jpg', -'https://img.nickpic.host/q47VUj.jpg', -'https://img.nickpic.host/q47fVJ.jpg', -'https://img.nickpic.host/q472pn.jpg', -'https://img.nickpic.host/q479Es.jpg', -'https://img.nickpic.host/q47kdQ.jpg', -'https://img.nickpic.host/q47e72.jpg', -'https://img.nickpic.host/q47LSx.jpg', -'https://img.nickpic.host/q47PRN.jpg', -'https://img.nickpic.host/q47dU8.jpg', -'https://img.nickpic.host/q47TJO.jpg', -'https://img.nickpic.host/q47Z3m.jpg', -'https://img.nickpic.host/q47yfq.jpg', -'https://img.nickpic.host/q48Ipd.jpg', -'https://img.nickpic.host/q48o85.jpg', -'https://img.nickpic.host/q48mED.jpg', -'https://img.nickpic.host/q48pdP.jpg', -'https://img.nickpic.host/q48xSM.jpg', -'https://img.nickpic.host/q48B1F.jpg', -'https://img.nickpic.host/q48bJe.jpg', -'https://img.nickpic.host/q48s3X.jpg', -'https://img.nickpic.host/q483Xb.jpg', -'https://img.nickpic.host/q48Fff.jpg', -'https://img.nickpic.host/q48jv6.jpg', -'https://img.nickpic.host/q48lOp.jpg', -'https://img.nickpic.host/q4858Y.jpg', -'https://img.nickpic.host/q48SyA.jpg', -'https://img.nickpic.host/q48gcG.jpg', -'https://img.nickpic.host/q48uLc.jpg', -'https://img.nickpic.host/q48q1z.jpg', -'https://img.nickpic.host/q48E3W.jpg', -'https://img.nickpic.host/q48OX1.jpg', -'https://img.nickpic.host/q48h0j.jpg', -'https://img.nickpic.host/q48CvJ.jpg', -'https://img.nickpic.host/q48QOn.jpg', -'https://img.nickpic.host/q48UKs.jpg', -'https://img.nickpic.host/q48Xy2.jpg', -'https://img.nickpic.host/q48ncQ.jpg', -'https://img.nickpic.host/q48t4x.jpg', -'https://img.nickpic.host/q48MLN.jpg', -'https://img.nickpic.host/q481FO.jpg', -'https://img.nickpic.host/q484im.jpg'] - - -global.pokemon = ['https://img.nickpic.host/qDInq5.jpg', -'https://img.nickpic.host/qDIUYd.jpg', -'https://img.nickpic.host/qDIiID.jpg', -'https://img.nickpic.host/qDItDP.jpg', -'https://img.nickpic.host/qDIQ6q.jpg', -'https://img.nickpic.host/qDICB8.jpg', -'https://img.nickpic.host/qDIh9m.jpg', -'https://img.nickpic.host/qDIEaN.jpg', -'https://img.nickpic.host/qDIuTx.jpg', -'https://img.nickpic.host/qDIOnO.jpg', -'https://img.nickpic.host/qDI4ne.jpg', -'https://img.nickpic.host/qDI1jF.jpg', -'https://img.nickpic.host/qDIMTM.jpg', -'https://img.nickpic.host/qDID9X.jpg', -'https://img.nickpic.host/qDIzbb.jpg', -'https://img.nickpic.host/qDI76f.jpg', -'https://img.nickpic.host/qDI8H6.jpg', -'https://img.nickpic.host/qDIYmp.jpg', -'https://img.nickpic.host/qDIHqY.jpg', -'https://img.nickpic.host/qDINwA.jpg', -'https://img.nickpic.host/qDIVWG.jpg', -'https://img.nickpic.host/qDI0jz.jpg', -'https://img.nickpic.host/qDI2tc.jpg', -'https://img.nickpic.host/qDI99W.jpg', -'https://img.nickpic.host/qDIkb1.jpg', -'https://img.nickpic.host/qDIJCj.jpg', -'https://img.nickpic.host/qDILHJ.jpg', -'https://img.nickpic.host/qDITmn.jpg', -'https://img.nickpic.host/qDIZw2.jpg', -'https://img.nickpic.host/qDIWus.jpg', -'https://img.nickpic.host/qDIdWQ.jpg', -'https://img.nickpic.host/qDmGlx.jpg', -'https://img.nickpic.host/qDmItN.jpg', -'https://img.nickpic.host/qDmmeO.jpg', -'https://img.nickpic.host/qDmprm.jpg', -'https://img.nickpic.host/qDmxNq.jpg', -'https://img.nickpic.host/qDmvC8.jpg', -'https://img.nickpic.host/qDmbmd.jpg', -'https://img.nickpic.host/qDmruD.jpg', -'https://img.nickpic.host/qDmsz5.jpg', -'https://img.nickpic.host/qDm3WP.jpg', -'https://img.nickpic.host/qDmalM.jpg', -'https://img.nickpic.host/qDmlee.jpg', -'https://img.nickpic.host/qDmjMF.jpg', -'https://img.nickpic.host/qDmSrX.jpg', -'https://img.nickpic.host/qDmcQb.jpg', -'https://img.nickpic.host/qDmuo6.jpg', -'https://img.nickpic.host/qDmgNf.jpg', -'https://img.nickpic.host/qDmEzY.jpg', -'https://img.nickpic.host/qDmAAp.jpg', -'https://img.nickpic.host/qDmOZA.jpg', -'https://img.nickpic.host/qDm65G.jpg', -'https://img.nickpic.host/qDmCMz.jpg', -'https://img.nickpic.host/qDmQkc.jpg', -'https://img.nickpic.host/qDmXrW.jpg', -'https://img.nickpic.host/qDmnVj.jpg', -'https://img.nickpic.host/qDmiQ1.jpg', -'https://img.nickpic.host/qDmRAn.jpg', -'https://img.nickpic.host/qDmMoJ.jpg', -'https://img.nickpic.host/qDm17s.jpg', -'https://img.nickpic.host/qDm4Z2.jpg', -'https://img.nickpic.host/qDmw5Q.jpg', -'https://img.nickpic.host/qDmzRx.jpg', -'https://img.nickpic.host/qDm7kN.jpg', -'https://img.nickpic.host/qDmKsO.jpg', -'https://img.nickpic.host/qDmYUm.jpg', -'https://img.nickpic.host/qDmHV8.jpg', -'https://img.nickpic.host/qDmfAd.jpg', -'https://img.nickpic.host/qDmVpq.jpg', -'https://img.nickpic.host/qDm07D.jpg', -'https://img.nickpic.host/qDmkRM.jpg', -'https://img.nickpic.host/qDm2d5.jpg', -'https://img.nickpic.host/qDme5P.jpg', -'https://img.nickpic.host/qDmPse.jpg', -'https://img.nickpic.host/qDmJJF.jpg', -'https://img.nickpic.host/qDmTUX.jpg', -'https://img.nickpic.host/qDmWfb.jpg', -'https://img.nickpic.host/qDmdpf.jpg', -'https://img.nickpic.host/qDoG8p.jpg', -'https://img.nickpic.host/qDmyE6.jpg', -'https://img.nickpic.host/qDoIdY.jpg', -'https://img.nickpic.host/qDooSA.jpg', -'https://img.nickpic.host/qDop1G.jpg', -'https://img.nickpic.host/qDovJz.jpg', -'https://img.nickpic.host/qDoB3c.jpg', -'https://img.nickpic.host/qDobUW.jpg', -'https://img.nickpic.host/qDo3vj.jpg', -'https://img.nickpic.host/qDoFEJ.jpg', -'https://img.nickpic.host/qDorf1.jpg', -'https://img.nickpic.host/qDoa8n.jpg', -'https://img.nickpic.host/qDojys.jpg', -'https://img.nickpic.host/qDoS1Q.jpg', -'https://img.nickpic.host/qDo5S2.jpg', -'https://img.nickpic.host/qDocLx.jpg', -'https://img.nickpic.host/qDoq3N.jpg', -'https://img.nickpic.host/qDoA0m.jpg', -'https://img.nickpic.host/qDouXO.jpg', -'https://img.nickpic.host/qDoOv8.jpg', -'https://img.nickpic.host/qDohOq.jpg', -'https://img.nickpic.host/qDoX1P.jpg', -'https://img.nickpic.host/qDoUc5.jpg', -'https://img.nickpic.host/qDo68d.jpg', -'https://img.nickpic.host/qDoCyD.jpg', -'https://img.nickpic.host/qDoiLM.jpg', -'https://img.nickpic.host/qDotFF.jpg', -'https://img.nickpic.host/qDoMXe.jpg', -'https://img.nickpic.host/qDoR0X.jpg', -'https://img.nickpic.host/qDo4xb.jpg', -'https://img.nickpic.host/qDoDOf.jpg', -'https://img.nickpic.host/qDowK6.jpg', -'https://img.nickpic.host/qDo7Gp.jpg', -'https://img.nickpic.host/qDo8cY.jpg', -'https://img.nickpic.host/qDoK4A.jpg', -'https://img.nickpic.host/qDoYPG.jpg', -'https://img.nickpic.host/qDoVic.jpg', -'https://img.nickpic.host/qDoNFz.jpg', -'https://img.nickpic.host/qDo2x1.jpg', -'https://img.nickpic.host/qDof0W.jpg', -'https://img.nickpic.host/qDo9hj.jpg', -'https://img.nickpic.host/qDoeKJ.jpg', -'https://img.nickpic.host/qDoLgs.jpg', -'https://img.nickpic.host/qDoJGn.jpg', -'https://img.nickpic.host/qDoP42.jpg', -'https://img.nickpic.host/qDoZax.jpg', -'https://img.nickpic.host/qDoTPQ.jpg', -'https://img.nickpic.host/qDoy2O.jpg', -'https://img.nickpic.host/qDodiN.jpg', -'https://img.nickpic.host/qDpoYq.jpg', -'https://img.nickpic.host/qDpIBm.jpg', -'https://img.nickpic.host/qDpmh8.jpg', -'https://img.nickpic.host/qDpxgD.jpg', -'https://img.nickpic.host/qDpvGd.jpg', -'https://img.nickpic.host/qDpBD5.jpg', -'https://img.nickpic.host/qDpbPP.jpg', -'https://img.nickpic.host/qDpsaM.jpg', -'https://img.nickpic.host/qDp3nF.jpg', -'https://img.nickpic.host/qDpF2e.jpg', -'https://img.nickpic.host/qDpjBX.jpg', -'https://img.nickpic.host/qDpl6b.jpg', -'https://img.nickpic.host/qDp5Yf.jpg', -'https://img.nickpic.host/qDpcI6.jpg', -'https://img.nickpic.host/qDpgqp.jpg', -'https://img.nickpic.host/qDpqDY.jpg', -'https://img.nickpic.host/qDpEjG.jpg', -'https://img.nickpic.host/qDpuTA.jpg', -'https://img.nickpic.host/qDph9c.jpg', -'https://img.nickpic.host/qDpOnz.jpg', -'https://img.nickpic.host/qDpCBW.jpg', -'https://img.nickpic.host/qDpQ61.jpg', -'https://img.nickpic.host/qDpUHj.jpg', -'https://img.nickpic.host/qDpnqn.jpg', -'https://img.nickpic.host/qDpiIJ.jpg', -'https://img.nickpic.host/qDptws.jpg', -'https://img.nickpic.host/qDp1jQ.jpg', -'https://img.nickpic.host/qDpMT2.jpg', -'https://img.nickpic.host/qDp4tx.jpg', -'https://img.nickpic.host/qDpD9N.jpg', -'https://img.nickpic.host/qDp7Cm.jpg', -'https://img.nickpic.host/qDpzbO.jpg', -'https://img.nickpic.host/qDp8H8.jpg', -'https://img.nickpic.host/qDpNwD.jpg', -'https://img.nickpic.host/qDpYmq.jpg', -'https://img.nickpic.host/qDpHqd.jpg', -'https://img.nickpic.host/qDpVW5.jpg', -'https://img.nickpic.host/qDp2tM.jpg', -'https://img.nickpic.host/qDp0jP.jpg', -'https://img.nickpic.host/qDp9eF.jpg', -'https://img.nickpic.host/qDpkbe.jpg', -'https://img.nickpic.host/qDpJCX.jpg', -'https://img.nickpic.host/qDpLNb.jpg', -'https://img.nickpic.host/qDpTmf.jpg', -'https://img.nickpic.host/qDpWu6.jpg', -'https://img.nickpic.host/qDpZzp.jpg', -'https://img.nickpic.host/qDvGlA.jpg', -'https://img.nickpic.host/qDpdWY.jpg', -'https://img.nickpic.host/qDvIMG.jpg', -'https://img.nickpic.host/qDvmez.jpg', -'https://img.nickpic.host/qDvprc.jpg', -'https://img.nickpic.host/qDvvCW.jpg', -'https://img.nickpic.host/qDvboj.jpg', -'https://img.nickpic.host/qDvruJ.jpg', -'https://img.nickpic.host/qDvxN1.jpg', -'https://img.nickpic.host/qDvszn.jpg', -'https://img.nickpic.host/qDv3Zs.jpg', -'https://img.nickpic.host/qDval2.jpg', -'https://img.nickpic.host/qDvjMQ.jpg', -'https://img.nickpic.host/qDvlkx.jpg', -'https://img.nickpic.host/qDvSrN.jpg', -'https://img.nickpic.host/qDvcQO.jpg', -'https://img.nickpic.host/qDvuo8.jpg', -'https://img.nickpic.host/qDvgVm.jpg', -'https://img.nickpic.host/qDvAAq.jpg', -'https://img.nickpic.host/qDvEzd.jpg', -'https://img.nickpic.host/qDvCMP.jpg', -'https://img.nickpic.host/qDv655.jpg', -'https://img.nickpic.host/qDvOZD.jpg', -'https://img.nickpic.host/qDvQkM.jpg', -'https://img.nickpic.host/qDvXsF.jpg', -'https://img.nickpic.host/qDviQe.jpg', -'https://img.nickpic.host/qDvnVX.jpg', -'https://img.nickpic.host/qDvMpb.jpg', -'https://img.nickpic.host/qDvRAf.jpg', -'https://img.nickpic.host/qDv176.jpg', -'https://img.nickpic.host/qDv4dp.jpg', -'https://img.nickpic.host/qDvzRA.jpg', -'https://img.nickpic.host/qDvw5Y.jpg', -'https://img.nickpic.host/qDv7JG.jpg', -'https://img.nickpic.host/qDvKsz.jpg', -'https://img.nickpic.host/qDvYUc.jpg', -'https://img.nickpic.host/qDvHVW.jpg', -'https://img.nickpic.host/qDveSs.jpg', -'https://img.nickpic.host/qDvVp1.jpg', -'https://img.nickpic.host/qDvfEj.jpg', -'https://img.nickpic.host/qDv07J.jpg', -'https://img.nickpic.host/qDv2dn.jpg', -'https://img.nickpic.host/qDvkR2.jpg', -'https://img.nickpic.host/qDvJJQ.jpg', -'https://img.nickpic.host/qDvP3x.jpg', -'https://img.nickpic.host/qDvTUN.jpg', -'https://img.nickpic.host/qDvWfO.jpg', -'https://img.nickpic.host/qDxG8q.jpg', -'https://img.nickpic.host/qDvdvm.jpg', -'https://img.nickpic.host/qDvyE8.jpg', -'https://img.nickpic.host/qDxIdd.jpg', -'https://img.nickpic.host/qDxoSD.jpg', -'https://img.nickpic.host/qDxp15.jpg', -'https://img.nickpic.host/qDxB3M.jpg', -'https://img.nickpic.host/qDxvJP.jpg', -'https://img.nickpic.host/qDxa8f.jpg', -'https://img.nickpic.host/qDxbXF.jpg', -'https://img.nickpic.host/qDxrfe.jpg', -'https://img.nickpic.host/qDxFOb.jpg', -'https://img.nickpic.host/qDx3vX.jpg', -'https://img.nickpic.host/qDxjy6.jpg', -'https://img.nickpic.host/qDx5cp.jpg', -'https://img.nickpic.host/qDxS1Y.jpg', -'https://img.nickpic.host/qDxcLA.jpg', -'https://img.nickpic.host/qDxuXz.jpg', -'https://img.nickpic.host/qDxA0c.jpg', -'https://img.nickpic.host/qDxqFG.jpg', -'https://img.nickpic.host/qDxCyJ.jpg', -'https://img.nickpic.host/qDxOvW.jpg', -'https://img.nickpic.host/qDxhO1.jpg', -'https://img.nickpic.host/qDx6Kj.jpg', -'https://img.nickpic.host/qDxUcn.jpg', -'https://img.nickpic.host/qDxR0N.jpg', -'https://img.nickpic.host/qDxX4s.jpg', -'https://img.nickpic.host/qDxtFQ.jpg', -'https://img.nickpic.host/qDxiL2.jpg', -'https://img.nickpic.host/qDxMix.jpg', -'https://img.nickpic.host/qDx4xO.jpg', -'https://img.nickpic.host/qDxDhm.jpg', -'https://img.nickpic.host/qDxwK8.jpg', -'https://img.nickpic.host/qDx7Gq.jpg', -'https://img.nickpic.host/qDx8cd.jpg', -'https://img.nickpic.host/qDxNFP.jpg', -'https://img.nickpic.host/qDxK4D.jpg', -'https://img.nickpic.host/qDxYP5.jpg', -'https://img.nickpic.host/qDxViM.jpg', -'https://img.nickpic.host/qDxf2F.jpg', -'https://img.nickpic.host/qDx2xe.jpg', -'https://img.nickpic.host/qDx9hX.jpg', -'https://img.nickpic.host/qDxeYb.jpg', -'https://img.nickpic.host/qDxTPY.jpg', -'https://img.nickpic.host/qDxLg6.jpg', -'https://img.nickpic.host/qDxJGf.jpg', -'https://img.nickpic.host/qDxPDp.jpg', -'https://img.nickpic.host/qDxZaA.jpg', -'https://img.nickpic.host/qDxdnG.jpg', -'https://img.nickpic.host/qDxy2z.jpg', -'https://img.nickpic.host/qDBIBc.jpg', -'https://img.nickpic.host/qDBmhW.jpg', -'https://img.nickpic.host/qDBxgJ.jpg', -'https://img.nickpic.host/qDBoY1.jpg', -'https://img.nickpic.host/qDBvIj.jpg', -'https://img.nickpic.host/qDBbTs.jpg', -'https://img.nickpic.host/qDBBDn.jpg', -'https://img.nickpic.host/qDBsa2.jpg', -'https://img.nickpic.host/qDB3nQ.jpg', -'https://img.nickpic.host/qDBF9x.jpg', -'https://img.nickpic.host/qDBcI8.jpg', -'https://img.nickpic.host/qDBjBN.jpg', -'https://img.nickpic.host/qDBl6O.jpg', -'https://img.nickpic.host/qDB5Hm.jpg', -'https://img.nickpic.host/qDBqDd.jpg', -'https://img.nickpic.host/qDBgqq.jpg', -'https://img.nickpic.host/qDBuTD.jpg', -'https://img.nickpic.host/qDBEj5.jpg', -'https://img.nickpic.host/qDBOnP.jpg', -'https://img.nickpic.host/qDBnqf.jpg', -'https://img.nickpic.host/qDBh9M.jpg', -'https://img.nickpic.host/qDBQ6e.jpg', -'https://img.nickpic.host/qDBCbF.jpg', -'https://img.nickpic.host/qDBUHX.jpg', -'https://img.nickpic.host/qDBimb.jpg', -'https://img.nickpic.host/qDBtw6.jpg', -'https://img.nickpic.host/qDBMWp.jpg', -'https://img.nickpic.host/qDB1jY.jpg', -'https://img.nickpic.host/qDB4tA.jpg', -'https://img.nickpic.host/qDBDeG.jpg', -'https://img.nickpic.host/qDB7Cc.jpg', -'https://img.nickpic.host/qDBzbz.jpg', -'https://img.nickpic.host/qDBYm1.jpg', -'https://img.nickpic.host/qDB8HW.jpg', -'https://img.nickpic.host/qDBHuj.jpg', -'https://img.nickpic.host/qDBNwJ.jpg', -'https://img.nickpic.host/qDBVWn.jpg', -'https://img.nickpic.host/qDBJCN.jpg', -'https://img.nickpic.host/qDB0ls.jpg', -'https://img.nickpic.host/qDB9eQ.jpg', -'https://img.nickpic.host/qDB2t2.jpg', -'https://img.nickpic.host/qDBkrx.jpg', -'https://img.nickpic.host/qDBLNO.jpg', -'https://img.nickpic.host/qDBTom.jpg', -'https://img.nickpic.host/qDBWu8.jpg', -'https://img.nickpic.host/qDBdWd.jpg', -'https://img.nickpic.host/qDBZzq.jpg', -'https://img.nickpic.host/qDbprM.jpg', -'https://img.nickpic.host/qDbGlD.jpg', -'https://img.nickpic.host/qDbIM5.jpg', -'https://img.nickpic.host/qDbmeP.jpg', -'https://img.nickpic.host/qDbvQF.jpg', -'https://img.nickpic.host/qDbxNe.jpg', -'https://img.nickpic.host/qDbboX.jpg', -'https://img.nickpic.host/qDbrAb.jpg', -'https://img.nickpic.host/qDbszf.jpg', -'https://img.nickpic.host/qDblkA.jpg', -'https://img.nickpic.host/qDbjMY.jpg', -'https://img.nickpic.host/qDba5p.jpg', -'https://img.nickpic.host/qDb3Z6.jpg', -'https://img.nickpic.host/qDbSsG.jpg', -'https://img.nickpic.host/qDbcQz.jpg', -'https://img.nickpic.host/qDbgVc.jpg', -'https://img.nickpic.host/qDbuoW.jpg', -'https://img.nickpic.host/qDbAA1.jpg', -'https://img.nickpic.host/qDb65n.jpg', -'https://img.nickpic.host/qDbE7j.jpg', -'https://img.nickpic.host/qDbOZJ.jpg', -'https://img.nickpic.host/qDbCRs.jpg', -'https://img.nickpic.host/qDbXsQ.jpg', -'https://img.nickpic.host/qDbQk2.jpg', -'https://img.nickpic.host/qDbnVN.jpg', -'https://img.nickpic.host/qDbiUx.jpg', -'https://img.nickpic.host/qDb178.jpg', -'https://img.nickpic.host/qDbMpO.jpg', -'https://img.nickpic.host/qDbREm.jpg', -'https://img.nickpic.host/qDb4dq.jpg', -'https://img.nickpic.host/qDbw5d.jpg', -'https://img.nickpic.host/qDb7J5.jpg', -'https://img.nickpic.host/qDbzRD.jpg', -'https://img.nickpic.host/qDbKsP.jpg', -'https://img.nickpic.host/qDbHfF.jpg', -'https://img.nickpic.host/qDbYUM.jpg', -'https://img.nickpic.host/qDbVpe.jpg', -'https://img.nickpic.host/qDbfEX.jpg', -'https://img.nickpic.host/qDb2df.jpg', -'https://img.nickpic.host/qDb08b.jpg', -'https://img.nickpic.host/qDbeS6.jpg', -'https://img.nickpic.host/qDbP3A.jpg', -'https://img.nickpic.host/qDbk1p.jpg', -'https://img.nickpic.host/qDbdvc.jpg', -'https://img.nickpic.host/qDbJJY.jpg', -'https://img.nickpic.host/qDbTXG.jpg', -'https://img.nickpic.host/qDbWfz.jpg', -'https://img.nickpic.host/qDbyEW.jpg', -'https://img.nickpic.host/qDrG81.jpg', -'https://img.nickpic.host/qDrp1n.jpg', -'https://img.nickpic.host/qDrIyj.jpg', -'https://img.nickpic.host/qDroSJ.jpg', -'https://img.nickpic.host/qDrvLs.jpg', -'https://img.nickpic.host/qDrbXQ.jpg', -'https://img.nickpic.host/qDrB32.jpg', -'https://img.nickpic.host/qDrr0x.jpg', -'https://img.nickpic.host/qDr3vN.jpg', -'https://img.nickpic.host/qDr5cq.jpg', -'https://img.nickpic.host/qDrjy8.jpg', -'https://img.nickpic.host/qDrFOO.jpg', -'https://img.nickpic.host/qDrS1d.jpg', -'https://img.nickpic.host/qDraKm.jpg', -'https://img.nickpic.host/qDrcLD.jpg', -'https://img.nickpic.host/qDrqF5.jpg', -'https://img.nickpic.host/qDruXP.jpg', -'https://img.nickpic.host/qDrOxF.jpg', -'https://img.nickpic.host/qDrQGb.jpg', -'https://img.nickpic.host/qDr6KX.jpg', -'https://img.nickpic.host/qDrA0M.jpg', -'https://img.nickpic.host/qDrhOe.jpg', -'https://img.nickpic.host/qDrUcf.jpg', -'https://img.nickpic.host/qDrX46.jpg', -'https://img.nickpic.host/qDrtFY.jpg', -'https://img.nickpic.host/qDriPp.jpg', -'https://img.nickpic.host/qDrMiA.jpg', -'https://img.nickpic.host/qDrDhc.jpg', -'https://img.nickpic.host/qDrR2G.jpg', -'https://img.nickpic.host/qDr4xz.jpg', -'https://img.nickpic.host/qDrwKW.jpg', -'https://img.nickpic.host/qDr8gj.jpg', -'https://img.nickpic.host/qDrK4J.jpg', -'https://img.nickpic.host/qDr7G1.jpg', -'https://img.nickpic.host/qDrYPn.jpg', -'https://img.nickpic.host/qDrVi2.jpg', -'https://img.nickpic.host/qDrNas.jpg', -'https://img.nickpic.host/qDrf2Q.jpg', -'https://img.nickpic.host/qDrJIm.jpg', -'https://img.nickpic.host/qDr2Bx.jpg', -'https://img.nickpic.host/qDr9hN.jpg', -'https://img.nickpic.host/qDreYO.jpg', -'https://img.nickpic.host/qDrZaD.jpg', -'https://img.nickpic.host/qDrLg8.jpg', -'https://img.nickpic.host/qDrPDq.jpg', -'https://img.nickpic.host/qDrTPd.jpg', -'https://img.nickpic.host/qDrdn5.jpg', -'https://img.nickpic.host/qDsm6F.jpg', -'https://img.nickpic.host/qDry2P.jpg', -'https://img.nickpic.host/qDsIBM.jpg', -'https://img.nickpic.host/qDsoYe.jpg', -'https://img.nickpic.host/qDsxqb.jpg', -'https://img.nickpic.host/qDsvIX.jpg', -'https://img.nickpic.host/qDsbT6.jpg', -'https://img.nickpic.host/qDsBDf.jpg', -'https://img.nickpic.host/qDs3nY.jpg', -'https://img.nickpic.host/qDssjp.jpg', -'https://img.nickpic.host/qDsF9A.jpg', -'https://img.nickpic.host/qDs5Hc.jpg', -'https://img.nickpic.host/qDsjbG.jpg', -'https://img.nickpic.host/qDsl6z.jpg', -'https://img.nickpic.host/qDscIW.jpg', -'https://img.nickpic.host/qDsuTJ.jpg', -'https://img.nickpic.host/qDsgq1.jpg', -'https://img.nickpic.host/qDsqwj.jpg', -'https://img.nickpic.host/qDsEjn.jpg', -'https://img.nickpic.host/qDsQCx.jpg', -'https://img.nickpic.host/qDsOts.jpg', -'https://img.nickpic.host/qDsh92.jpg', -'https://img.nickpic.host/qDsCbQ.jpg', -'https://img.nickpic.host/qDsimO.jpg', -'https://img.nickpic.host/qDsUHN.jpg', -'https://img.nickpic.host/qDsnum.jpg', -'https://img.nickpic.host/qDstw8.jpg', -'https://img.nickpic.host/qDsMWq.jpg', -'https://img.nickpic.host/qDs4tD.jpg', -'https://img.nickpic.host/qDs1jd.jpg', -'https://img.nickpic.host/qDs7CM.jpg', -'https://img.nickpic.host/qDsDe5.jpg', -'https://img.nickpic.host/qDszbP.jpg', -'https://img.nickpic.host/qDs8NF.jpg', -'https://img.nickpic.host/qDsYme.jpg', -'https://img.nickpic.host/qDsVWf.jpg', -'https://img.nickpic.host/qDsHuX.jpg', -'https://img.nickpic.host/qDsNzb.jpg', -'https://img.nickpic.host/qDs2Mp.jpg', -'https://img.nickpic.host/qDs9eY.jpg', -'https://img.nickpic.host/qDs0l6.jpg', -'https://img.nickpic.host/qDskrA.jpg', -'https://img.nickpic.host/qDsLNz.jpg', -'https://img.nickpic.host/qDsJQG.jpg', -'https://img.nickpic.host/qD3GlJ.jpg', -'https://img.nickpic.host/qDsToc.jpg', -'https://img.nickpic.host/qDsWuW.jpg', -'https://img.nickpic.host/qDsZz1.jpg', -'https://img.nickpic.host/qDsdZj.jpg', -'https://img.nickpic.host/qD3pr2.jpg', -'https://img.nickpic.host/qD3IMn.jpg', -'https://img.nickpic.host/qD3mks.jpg', -'https://img.nickpic.host/qD3vQQ.jpg', -'https://img.nickpic.host/qD3xVx.jpg', -'https://img.nickpic.host/qD3rAO.jpg', -'https://img.nickpic.host/qD3boN.jpg', -'https://img.nickpic.host/qD3s7m.jpg', -'https://img.nickpic.host/qD3jMd.jpg', -'https://img.nickpic.host/qD33Z8.jpg', -'https://img.nickpic.host/qD3a5q.jpg', -'https://img.nickpic.host/qD3lkD.jpg', -'https://img.nickpic.host/qD3upF.jpg', -'https://img.nickpic.host/qD3Ss5.jpg', -'https://img.nickpic.host/qD3cQP.jpg', -'https://img.nickpic.host/qD3gVM.jpg', -'https://img.nickpic.host/qD3E7X.jpg', -'https://img.nickpic.host/qD3AAe.jpg', -'https://img.nickpic.host/qD3Odb.jpg', -'https://img.nickpic.host/qD365f.jpg', -'https://img.nickpic.host/qD3CR6.jpg', -'https://img.nickpic.host/qD3XsY.jpg', -'https://img.nickpic.host/qD3QJp.jpg', -'https://img.nickpic.host/qD3nfG.jpg', -'https://img.nickpic.host/qD3iUA.jpg', -'https://img.nickpic.host/qD3Mpz.jpg', -'https://img.nickpic.host/qD3REc.jpg', -'https://img.nickpic.host/qD317W.jpg', -'https://img.nickpic.host/qD3wSj.jpg', -'https://img.nickpic.host/qD34d1.jpg', -'https://img.nickpic.host/qD3K3s.jpg', -'https://img.nickpic.host/qD3zRJ.jpg', -'https://img.nickpic.host/qD37Jn.jpg', -'https://img.nickpic.host/qD3YU2.jpg', -'https://img.nickpic.host/qD3fEN.jpg', -'https://img.nickpic.host/qD3HfQ.jpg', -'https://img.nickpic.host/qD3Vvx.jpg', -'https://img.nickpic.host/qD308O.jpg', -'https://img.nickpic.host/qD3eS8.jpg', -'https://img.nickpic.host/qD32ym.jpg', -'https://img.nickpic.host/qD3k1q.jpg', -'https://img.nickpic.host/qD3JJd.jpg', -'https://img.nickpic.host/qD3P3D.jpg', -'https://img.nickpic.host/qD3WfP.jpg', -'https://img.nickpic.host/qD3TX5.jpg', -'https://img.nickpic.host/qDFG8e.jpg', -'https://img.nickpic.host/qD3dvM.jpg', -'https://img.nickpic.host/qD3yOF.jpg', -'https://img.nickpic.host/qDFIyX.jpg', -'https://img.nickpic.host/qDFocb.jpg', -'https://img.nickpic.host/qDFBFp.jpg', -'https://img.nickpic.host/qDFp1f.jpg', -'https://img.nickpic.host/qDFvL6.jpg', -'https://img.nickpic.host/qDFr0A.jpg', -'https://img.nickpic.host/qDFbXY.jpg', -'https://img.nickpic.host/qDF3xG.jpg', -'https://img.nickpic.host/qDFFOz.jpg', -'https://img.nickpic.host/qDFaKc.jpg', -'https://img.nickpic.host/qDF5c1.jpg', -'https://img.nickpic.host/qDFjyW.jpg', -'https://img.nickpic.host/qDFuis.jpg', -'https://img.nickpic.host/qDFS4j.jpg', -'https://img.nickpic.host/qDFcLJ.jpg', -'https://img.nickpic.host/qDFA02.jpg', -'https://img.nickpic.host/qDFOxQ.jpg', -'https://img.nickpic.host/qDFQGO.jpg', -'https://img.nickpic.host/qDFhhx.jpg', -'https://img.nickpic.host/qDF6KN.jpg', -'https://img.nickpic.host/qDFiPq.jpg', -'https://img.nickpic.host/qDFUgm.jpg', -'https://img.nickpic.host/qDFX48.jpg', -'https://img.nickpic.host/qDFtFd.jpg', -'https://img.nickpic.host/qDFMiD.jpg', -'https://img.nickpic.host/qDF4xP.jpg', -'https://img.nickpic.host/qDFR25.jpg', -'https://img.nickpic.host/qDFDhM.jpg', -'https://img.nickpic.host/qDF8gX.jpg', -'https://img.nickpic.host/qDFwYF.jpg', -'https://img.nickpic.host/qDF7Ge.jpg', -'https://img.nickpic.host/qDFKDb.jpg', -'https://img.nickpic.host/qDFVnp.jpg', -'https://img.nickpic.host/qDFYPf.jpg', -'https://img.nickpic.host/qDFNa6.jpg', -'https://img.nickpic.host/qDFf2Y.jpg', -'https://img.nickpic.host/qDF96G.jpg', -'https://img.nickpic.host/qDF2BA.jpg', -'https://img.nickpic.host/qDFeYz.jpg', -'https://img.nickpic.host/qDFJIc.jpg', -'https://img.nickpic.host/qDFPD1.jpg', -'https://img.nickpic.host/qDFLgW.jpg', -'https://img.nickpic.host/qDFTTj.jpg', -'https://img.nickpic.host/qDFZaJ.jpg', -'https://img.nickpic.host/qDaIB2.jpg', -'https://img.nickpic.host/qDFy9s.jpg', -'https://img.nickpic.host/qDFdnn.jpg', -'https://img.nickpic.host/qDam6Q.jpg', -'https://img.nickpic.host/qDaoHx.jpg', -'https://img.nickpic.host/qDaxqO.jpg', -'https://img.nickpic.host/qDavIN.jpg', -'https://img.nickpic.host/qDaBwm.jpg', -'https://img.nickpic.host/qDasjq.jpg', -'https://img.nickpic.host/qDa3nd.jpg', -'https://img.nickpic.host/qDabT8.jpg', -'https://img.nickpic.host/qDaF9D.jpg', -'https://img.nickpic.host/qDajb5.jpg', -'https://img.nickpic.host/qDal6P.jpg', -'https://img.nickpic.host/qDa5HM.jpg', -'https://img.nickpic.host/qDacmF.jpg', -'https://img.nickpic.host/qDagqe.jpg', -'https://img.nickpic.host/qDaqwX.jpg', -'https://img.nickpic.host/qDauWb.jpg', -'https://img.nickpic.host/qDaEjf.jpg', -'https://img.nickpic.host/qDaOt6.jpg', -'https://img.nickpic.host/qDahep.jpg', -'https://img.nickpic.host/qDaCbY.jpg', -'https://img.nickpic.host/qDaUNG.jpg', -'https://img.nickpic.host/qDaQCA.jpg', -'https://img.nickpic.host/qDaimz.jpg', -'https://img.nickpic.host/qDanuc.jpg', -'https://img.nickpic.host/qDatwW.jpg', -'https://img.nickpic.host/qDaMW1.jpg', -'https://img.nickpic.host/qDa1lj.jpg', -'https://img.nickpic.host/qDa4tJ.jpg', -'https://img.nickpic.host/qDazrs.jpg', -'https://img.nickpic.host/qDaDen.jpg', -'https://img.nickpic.host/qDa7C2.jpg', -'https://img.nickpic.host/qDaYox.jpg', -'https://img.nickpic.host/qDa8NQ.jpg', -'https://img.nickpic.host/qDaHuN.jpg', -'https://img.nickpic.host/qDaNzO.jpg', -'https://img.nickpic.host/qDaVZm.jpg', -'https://img.nickpic.host/qDa2Mq.jpg', -'https://img.nickpic.host/qDa0l8.jpg', -'https://img.nickpic.host/qDa9ed.jpg', -'https://img.nickpic.host/qDakrD.jpg', -'https://img.nickpic.host/qDaJQ5.jpg', -'https://img.nickpic.host/qDaLNP.jpg', -'https://img.nickpic.host/qDaToM.jpg', -'https://img.nickpic.host/qDaWAF.jpg', -'https://img.nickpic.host/qDaZze.jpg', -'https://img.nickpic.host/qDjG5b.jpg', -'https://img.nickpic.host/qDadZX.jpg', -'https://img.nickpic.host/qDjIMf.jpg', -'https://img.nickpic.host/qDjmk6.jpg', -'https://img.nickpic.host/qDjvQY.jpg', -'https://img.nickpic.host/qDjpsp.jpg', -'https://img.nickpic.host/qDjbpG.jpg', -'https://img.nickpic.host/qDjrAz.jpg', -'https://img.nickpic.host/qDjxVA.jpg', -'https://img.nickpic.host/qDjs7c.jpg', -'https://img.nickpic.host/qDj3ZW.jpg', -'https://img.nickpic.host/qDjjRj.jpg', -'https://img.nickpic.host/qDja51.jpg', -'https://img.nickpic.host/qDjlkJ.jpg', -'https://img.nickpic.host/qDjgV2.jpg', -'https://img.nickpic.host/qDjSsn.jpg', -'https://img.nickpic.host/qDjcUs.jpg', -'https://img.nickpic.host/qDjupQ.jpg', -'https://img.nickpic.host/qDjAEx.jpg', -'https://img.nickpic.host/qDjOdO.jpg', -'https://img.nickpic.host/qDjE7N.jpg', -'https://img.nickpic.host/qDj6Sm.jpg', -'https://img.nickpic.host/qDjQJq.jpg', -'https://img.nickpic.host/qDjCR8.jpg', -'https://img.nickpic.host/u6MZaD.jpg', -'https://img.nickpic.host/u6My2P.jpg', -'https://img.nickpic.host/u6Mdn5.jpg', -'https://img.nickpic.host/u6Rm6F.jpg', -'https://img.nickpic.host/u6RIBM.jpg', -'https://img.nickpic.host/u6RoYe.jpg', -'https://img.nickpic.host/u6RvIX.jpg', -'https://img.nickpic.host/u6Rxqb.jpg', -'https://img.nickpic.host/u6RBDf.jpg', -'https://img.nickpic.host/u6RbT6.jpg', -'https://img.nickpic.host/u6Rsjp.jpg', -'https://img.nickpic.host/u6R3nY.jpg', -'https://img.nickpic.host/u6RF9A.jpg', -'https://img.nickpic.host/u6RjbG.jpg', -'https://img.nickpic.host/u6Rl6z.jpg', -'https://img.nickpic.host/u6R5Hc.jpg', -'https://img.nickpic.host/u6RcIW.jpg', -'https://img.nickpic.host/u6Rqwj.jpg', -'https://img.nickpic.host/u6Rgq1.jpg', -'https://img.nickpic.host/u6RuTJ.jpg', -'https://img.nickpic.host/u6REjn.jpg', -'https://img.nickpic.host/u6ROts.jpg', -'https://img.nickpic.host/u6Rh92.jpg', -'https://img.nickpic.host/u6RCbQ.jpg', -'https://img.nickpic.host/u6RQCx.jpg', -'https://img.nickpic.host/u6RUHN.jpg', -'https://img.nickpic.host/u6RimO.jpg', -'https://img.nickpic.host/u6Rnum.jpg', -'https://img.nickpic.host/u6Rtw8.jpg', -'https://img.nickpic.host/u6RMWq.jpg', -'https://img.nickpic.host/u6R4tD.jpg', -'https://img.nickpic.host/u6R1jd.jpg', -'https://img.nickpic.host/u6RDe5.jpg', -'https://img.nickpic.host/u6R7CM.jpg', -'https://img.nickpic.host/u6RzbP.jpg', -'https://img.nickpic.host/u6R8NF.jpg', -'https://img.nickpic.host/u6RYme.jpg', -'https://img.nickpic.host/u6RHuX.jpg', -'https://img.nickpic.host/u6RNzb.jpg', -'https://img.nickpic.host/u6RVWf.jpg', -'https://img.nickpic.host/u6R0l6.jpg', -'https://img.nickpic.host/u6R2Mp.jpg', -'https://img.nickpic.host/u6R9eY.jpg', -'https://img.nickpic.host/u6RkrA.jpg', -'https://img.nickpic.host/u6RLNz.jpg', -'https://img.nickpic.host/u6RJQG.jpg', -'https://img.nickpic.host/u6RWuW.jpg', -'https://img.nickpic.host/u6RToc.jpg', -'https://img.nickpic.host/u6RZz1.jpg', -'https://img.nickpic.host/u6RdZj.jpg', -'https://img.nickpic.host/u61IMn.jpg', -'https://img.nickpic.host/u61GlJ.jpg', -'https://img.nickpic.host/u61mks.jpg', -'https://img.nickpic.host/u61pr2.jpg', -'https://img.nickpic.host/u61vQQ.jpg', -'https://img.nickpic.host/u61xVx.jpg', -'https://img.nickpic.host/u61boN.jpg', -'https://img.nickpic.host/u61rAO.jpg', -'https://img.nickpic.host/u61s7m.jpg', -'https://img.nickpic.host/u613Z8.jpg', -'https://img.nickpic.host/u61a5q.jpg', -'https://img.nickpic.host/u61jMd.jpg', -'https://img.nickpic.host/u61lkD.jpg', -'https://img.nickpic.host/u61Ss5.jpg', -'https://img.nickpic.host/u61cQP.jpg', -'https://img.nickpic.host/u61gVM.jpg', -'https://img.nickpic.host/u61upF.jpg', -'https://img.nickpic.host/u61AAe.jpg', -'https://img.nickpic.host/u61E7X.jpg', -'https://img.nickpic.host/u61Odb.jpg', -'https://img.nickpic.host/u6165f.jpg', -'https://img.nickpic.host/u61CR6.jpg', -'https://img.nickpic.host/u61QJp.jpg', -'https://img.nickpic.host/u61XsY.jpg', -'https://img.nickpic.host/u61iUA.jpg', -'https://img.nickpic.host/u61Mpz.jpg', -'https://img.nickpic.host/u61REc.jpg', -'https://img.nickpic.host/u6117W.jpg', -'https://img.nickpic.host/u614d1.jpg', -'https://img.nickpic.host/u61wSj.jpg', -'https://img.nickpic.host/u61zRJ.jpg', -'https://img.nickpic.host/u61K3s.jpg', -'https://img.nickpic.host/u617Jn.jpg', -'https://img.nickpic.host/u61YU2.jpg', -'https://img.nickpic.host/u61HfQ.jpg', -'https://img.nickpic.host/u61Vvx.jpg', -'https://img.nickpic.host/u61fEN.jpg', -'https://img.nickpic.host/u6108O.jpg', -'https://img.nickpic.host/u612ym.jpg', -'https://img.nickpic.host/u61eS8.jpg', -'https://img.nickpic.host/u61k1q.jpg', -'https://img.nickpic.host/u61JJd.jpg', -'https://img.nickpic.host/u61P3D.jpg', -'https://img.nickpic.host/u61WfP.jpg', -'https://img.nickpic.host/u61TX5.jpg', -'https://img.nickpic.host/u61yOF.jpg', -'https://img.nickpic.host/u61dvM.jpg', -'https://img.nickpic.host/u64G8e.jpg', -'https://img.nickpic.host/u64IyX.jpg', -'https://img.nickpic.host/u64ocb.jpg', -'https://img.nickpic.host/u64p1f.jpg', -'https://img.nickpic.host/u64vL6.jpg', -'https://img.nickpic.host/u64BFp.jpg', -'https://img.nickpic.host/u64bXY.jpg', -'https://img.nickpic.host/u64r0A.jpg', -'https://img.nickpic.host/u643xG.jpg', -'https://img.nickpic.host/u64FOz.jpg', -'https://img.nickpic.host/u64aKc.jpg', -'https://img.nickpic.host/u645c1.jpg', -'https://img.nickpic.host/u64jyW.jpg', -'https://img.nickpic.host/u64S4j.jpg', -'https://img.nickpic.host/u64cLJ.jpg', -'https://img.nickpic.host/u64qFn.jpg', -'https://img.nickpic.host/u64uis.jpg', -'https://img.nickpic.host/u64OxQ.jpg', -'https://img.nickpic.host/u64A02.jpg', -'https://img.nickpic.host/u64hhx.jpg', -'https://img.nickpic.host/u646KN.jpg'] - - -global.toloveru = ['https://img.nickpic.host/q4APBj.jpg', -'https://img.nickpic.host/q4AJ21.jpg', -'https://img.nickpic.host/q4Aeac.jpg', -'https://img.nickpic.host/q4AkiW.jpg', -'https://img.nickpic.host/q4A2Pz.jpg', -'https://img.nickpic.host/q4AYh6.jpg', -'https://img.nickpic.host/q4AfgA.jpg', -'https://img.nickpic.host/q4A0DG.jpg', -'https://img.nickpic.host/q4AHYp.jpg', -'https://img.nickpic.host/q4AVGY.jpg', -'https://img.nickpic.host/q4AThJ.jpg', -'https://img.nickpic.host/q4AWYn.jpg', -'https://img.nickpic.host/q4AdIs.jpg', -'https://img.nickpic.host/q4Ayg2.jpg', -'https://img.nickpic.host/q4EGDQ.jpg', -'https://img.nickpic.host/q4EITx.jpg', -'https://img.nickpic.host/q4EoaN.jpg', -'https://img.nickpic.host/q4EpnO.jpg', -'https://img.nickpic.host/q4Ev9m.jpg', -'https://img.nickpic.host/q4EBB8.jpg', -'https://img.nickpic.host/q4Eb6q.jpg', -'https://img.nickpic.host/q4ErYd.jpg', -'https://img.nickpic.host/q4E3ID.jpg', -'https://img.nickpic.host/q4EFq5.jpg', -'https://img.nickpic.host/q4EaDP.jpg', -'https://img.nickpic.host/q4EjTM.jpg', -'https://img.nickpic.host/q4E5jF.jpg', -'https://img.nickpic.host/q4ESne.jpg', -'https://img.nickpic.host/q4Ec9X.jpg', -'https://img.nickpic.host/q4Eqbb.jpg', -'https://img.nickpic.host/q4Eu6f.jpg', -'https://img.nickpic.host/q4EAH6.jpg', -'https://img.nickpic.host/q4EOmp.jpg', -'https://img.nickpic.host/q4EhqY.jpg', -'https://img.nickpic.host/q4E6wA.jpg', -'https://img.nickpic.host/q4ECWG.jpg', -'https://img.nickpic.host/q4EUjz.jpg', -'https://img.nickpic.host/q4EXtc.jpg', -'https://img.nickpic.host/q4Ei9W.jpg', -'https://img.nickpic.host/q4Etb1.jpg', -'https://img.nickpic.host/q4EMCj.jpg', -'https://img.nickpic.host/q4ERHJ.jpg', -'https://img.nickpic.host/q4E4mn.jpg', -'https://img.nickpic.host/q4EDus.jpg', -'https://img.nickpic.host/q4Eww2.jpg', -'https://img.nickpic.host/q4EzWQ.jpg', -'https://img.nickpic.host/q4E8lx.jpg', -'https://img.nickpic.host/q4EKtN.jpg', -'https://img.nickpic.host/q4EYeO.jpg', -'https://img.nickpic.host/q4ENrm.jpg', -'https://img.nickpic.host/q4EVC8.jpg', -'https://img.nickpic.host/q4EfNq.jpg', -'https://img.nickpic.host/q4E2md.jpg', -'https://img.nickpic.host/q4E9uD.jpg', -'https://img.nickpic.host/q4Eez5.jpg', -'https://img.nickpic.host/q4EkWP.jpg', -'https://img.nickpic.host/q4EPMF.jpg', -'https://img.nickpic.host/q4ELlM.jpg', -'https://img.nickpic.host/q4EZrX.jpg', -'https://img.nickpic.host/q4ETee.jpg', -'https://img.nickpic.host/q4EdQb.jpg', -'https://img.nickpic.host/q4OIo6.jpg', -'https://img.nickpic.host/q4EyNf.jpg', -'https://img.nickpic.host/q4OmAp.jpg', -'https://img.nickpic.host/q4OozY.jpg', -'https://img.nickpic.host/q4OpZA.jpg', -'https://img.nickpic.host/q4Ox5G.jpg', -'https://img.nickpic.host/q4OBMz.jpg', -'https://img.nickpic.host/q4Obkc.jpg', -'https://img.nickpic.host/q4OsrW.jpg', -'https://img.nickpic.host/q4O3Q1.jpg', -'https://img.nickpic.host/q4OFVj.jpg', -'https://img.nickpic.host/q4OjoJ.jpg', -'https://img.nickpic.host/q4OlAn.jpg', -'https://img.nickpic.host/q4O57s.jpg', -'https://img.nickpic.host/q4OSZ2.jpg', -'https://img.nickpic.host/q4Og5Q.jpg', -'https://img.nickpic.host/q4OqRx.jpg', -'https://img.nickpic.host/q4OukN.jpg', -'https://img.nickpic.host/q4OEsO.jpg', -'https://img.nickpic.host/q4OOUm.jpg', -'https://img.nickpic.host/q4OhV8.jpg', -'https://img.nickpic.host/q4OCpq.jpg', -'https://img.nickpic.host/q4OQAd.jpg', -'https://img.nickpic.host/q4OU7D.jpg', -'https://img.nickpic.host/q4OXd5.jpg', -'https://img.nickpic.host/q4On5P.jpg', -'https://img.nickpic.host/q4OtRM.jpg', -'https://img.nickpic.host/q4OMJF.jpg', -'https://img.nickpic.host/q4O1se.jpg', -'https://img.nickpic.host/q4O4UX.jpg', -'https://img.nickpic.host/q4ODfb.jpg', -'https://img.nickpic.host/q4Ozpf.jpg', -'https://img.nickpic.host/q4O7E6.jpg', -'https://img.nickpic.host/q4O88p.jpg', -'https://img.nickpic.host/q4OHSA.jpg', -'https://img.nickpic.host/q4OKdY.jpg', -'https://img.nickpic.host/q4ON1G.jpg', -'https://img.nickpic.host/q4OVJz.jpg', -'https://img.nickpic.host/q4O03c.jpg', -'https://img.nickpic.host/q4O2UW.jpg', -'https://img.nickpic.host/q4O9f1.jpg', -'https://img.nickpic.host/q4Okvj.jpg', -'https://img.nickpic.host/q4OJEJ.jpg', -'https://img.nickpic.host/q4OL8n.jpg', -'https://img.nickpic.host/q4OPys.jpg', -'https://img.nickpic.host/q4OWS2.jpg', -'https://img.nickpic.host/q4OZ1Q.jpg', -'https://img.nickpic.host/q4hG3N.jpg', -'https://img.nickpic.host/q4hIXO.jpg', -'https://img.nickpic.host/q4hm0m.jpg', -'https://img.nickpic.host/q4hpv8.jpg', -'https://img.nickpic.host/q4hvOq.jpg', -'https://img.nickpic.host/q4hx8d.jpg', -'https://img.nickpic.host/q4hByD.jpg', -'https://img.nickpic.host/q4hrc5.jpg', -'https://img.nickpic.host/q4hs1P.jpg', -'https://img.nickpic.host/q4h3LM.jpg', -'https://img.nickpic.host/q4haFF.jpg', -'https://img.nickpic.host/q4hjXe.jpg', -'https://img.nickpic.host/q4hl0X.jpg', -'https://img.nickpic.host/q4hSxb.jpg', -'https://img.nickpic.host/q4hcOf.jpg', -'https://img.nickpic.host/q4hgK6.jpg', -'https://img.nickpic.host/q4huGp.jpg', -'https://img.nickpic.host/q4hAcY.jpg', -'https://img.nickpic.host/q4hE4A.jpg', -'https://img.nickpic.host/q4hOPG.jpg', -'https://img.nickpic.host/q4h6Fz.jpg', -'https://img.nickpic.host/q4hCic.jpg', -'https://img.nickpic.host/q4hQ0W.jpg', -'https://img.nickpic.host/q4hihj.jpg', -'https://img.nickpic.host/q4hXx1.jpg', -'https://img.nickpic.host/q4hnKJ.jpg', -'https://img.nickpic.host/q4hMGn.jpg', -'https://img.nickpic.host/q4hRgs.jpg', -'https://img.nickpic.host/q4h142.jpg', -'https://img.nickpic.host/q4h4PQ.jpg', -'https://img.nickpic.host/q4hziN.jpg', -'https://img.nickpic.host/q4hwax.jpg', -'https://img.nickpic.host/q4h72O.jpg', -'https://img.nickpic.host/q4hKBm.jpg', -'https://img.nickpic.host/q4hYh8.jpg', -'https://img.nickpic.host/q4hHYq.jpg', -'https://img.nickpic.host/q4hVGd.jpg', -'https://img.nickpic.host/q4hfgD.jpg', -'https://img.nickpic.host/q4h0D5.jpg', -'https://img.nickpic.host/q4h2PP.jpg', -'https://img.nickpic.host/q4heaM.jpg', -'https://img.nickpic.host/q4hknF.jpg', -'https://img.nickpic.host/q4hJ2e.jpg', -'https://img.nickpic.host/q4hPBX.jpg', -'https://img.nickpic.host/q4hT6b.jpg', -'https://img.nickpic.host/q4hWYf.jpg', -'https://img.nickpic.host/q4hdI6.jpg', -'https://img.nickpic.host/q4hyqp.jpg', -'https://img.nickpic.host/q46GDY.jpg', -'https://img.nickpic.host/q46ITA.jpg', -'https://img.nickpic.host/q46ojG.jpg', -'https://img.nickpic.host/q46pnz.jpg', -'https://img.nickpic.host/q46v9c.jpg', -'https://img.nickpic.host/q46b61.jpg', -'https://img.nickpic.host/q46BBW.jpg', -'https://img.nickpic.host/q463IJ.jpg', -'https://img.nickpic.host/q46rHj.jpg', -'https://img.nickpic.host/q46Fqn.jpg', -'https://img.nickpic.host/q46jT2.jpg', -'https://img.nickpic.host/q46aws.jpg', -'https://img.nickpic.host/q465jQ.jpg', -'https://img.nickpic.host/q46Stx.jpg', -'https://img.nickpic.host/q46c9N.jpg', -'https://img.nickpic.host/q46qbO.jpg', -'https://img.nickpic.host/q46uCm.jpg', -'https://img.nickpic.host/q46Omq.jpg', -'https://img.nickpic.host/q46AH8.jpg', -'https://img.nickpic.host/q46hqd.jpg', -'https://img.nickpic.host/q466wD.jpg', -'https://img.nickpic.host/q46UjP.jpg', -'https://img.nickpic.host/q46CW5.jpg', -'https://img.nickpic.host/q46XtM.jpg', -'https://img.nickpic.host/q46tbe.jpg', -'https://img.nickpic.host/q46ieF.jpg', -'https://img.nickpic.host/q46RNb.jpg', -'https://img.nickpic.host/q46MCX.jpg', -'https://img.nickpic.host/q464mf.jpg', -'https://img.nickpic.host/q46Du6.jpg', -'https://img.nickpic.host/q46wzp.jpg', -'https://img.nickpic.host/q46zWY.jpg', -'https://img.nickpic.host/q468lA.jpg', -'https://img.nickpic.host/q46KMG.jpg', -'https://img.nickpic.host/q46Nrc.jpg', -'https://img.nickpic.host/q46Yez.jpg', -'https://img.nickpic.host/q46VCW.jpg', -'https://img.nickpic.host/q46fN1.jpg', -'https://img.nickpic.host/q462oj.jpg', -'https://img.nickpic.host/q46ezn.jpg', -'https://img.nickpic.host/q469uJ.jpg', -'https://img.nickpic.host/q46kZs.jpg', -'https://img.nickpic.host/q46Ll2.jpg', -'https://img.nickpic.host/q46Tkx.jpg', -'https://img.nickpic.host/q46PMQ.jpg', -'https://img.nickpic.host/q46ZrN.jpg', -'https://img.nickpic.host/q46dQO.jpg', -'https://img.nickpic.host/q46yVm.jpg', -'https://img.nickpic.host/q4CIo8.jpg', -'https://img.nickpic.host/q4Cozd.jpg', -'https://img.nickpic.host/q4CpZD.jpg', -'https://img.nickpic.host/q4CmAq.jpg', -'https://img.nickpic.host/q4Cx55.jpg', -'https://img.nickpic.host/q4CBMP.jpg', -'https://img.nickpic.host/q4CssF.jpg', -'https://img.nickpic.host/q4CbkM.jpg', -'https://img.nickpic.host/q4C3Qe.jpg', -'https://img.nickpic.host/q4CFVX.jpg', -'https://img.nickpic.host/q4Cjpb.jpg', -'https://img.nickpic.host/q4ClAf.jpg', -'https://img.nickpic.host/q4C576.jpg', -'https://img.nickpic.host/q4CSdp.jpg', -'https://img.nickpic.host/q4Cg5Y.jpg', -'https://img.nickpic.host/q4CqRA.jpg', -'https://img.nickpic.host/q4CuJG.jpg', -'https://img.nickpic.host/q4CEsz.jpg', -'https://img.nickpic.host/q4COUc.jpg', -'https://img.nickpic.host/q4ChVW.jpg', -'https://img.nickpic.host/q4CCp1.jpg', -'https://img.nickpic.host/q4CQEj.jpg', -'https://img.nickpic.host/q4CU7J.jpg', -'https://img.nickpic.host/q4CXdn.jpg', -'https://img.nickpic.host/q4CnSs.jpg', -'https://img.nickpic.host/q4CtR2.jpg', -'https://img.nickpic.host/q4CMJQ.jpg', -'https://img.nickpic.host/q4C4UN.jpg', -'https://img.nickpic.host/q4C13x.jpg', -'https://img.nickpic.host/q4CDfO.jpg', -'https://img.nickpic.host/q4Czvm.jpg', -'https://img.nickpic.host/q4C7E8.jpg', -'https://img.nickpic.host/q4CKdd.jpg', -'https://img.nickpic.host/q4C88q.jpg', -'https://img.nickpic.host/q4CHSD.jpg', -'https://img.nickpic.host/q4CN15.jpg', -'https://img.nickpic.host/q4CVJP.jpg', -'https://img.nickpic.host/q4C03M.jpg', -'https://img.nickpic.host/q4C2XF.jpg', -'https://img.nickpic.host/q4C9fe.jpg', -'https://img.nickpic.host/q4CkvX.jpg', -'https://img.nickpic.host/q4CJOb.jpg', -'https://img.nickpic.host/q4CL8f.jpg', -'https://img.nickpic.host/q4CPy6.jpg', -'https://img.nickpic.host/q4CWcp.jpg', -'https://img.nickpic.host/q4CdLA.jpg', -'https://img.nickpic.host/q4CZ1Y.jpg', -'https://img.nickpic.host/q4QIXz.jpg', -'https://img.nickpic.host/q4QGFG.jpg', -'https://img.nickpic.host/q4Qm0c.jpg', -'https://img.nickpic.host/q4QpvW.jpg', -'https://img.nickpic.host/q4QvO1.jpg', -'https://img.nickpic.host/q4QByJ.jpg', -'https://img.nickpic.host/q4QxKj.jpg', -'https://img.nickpic.host/q4Qrcn.jpg', -'https://img.nickpic.host/q4Qs4s.jpg', -'https://img.nickpic.host/q4Q3L2.jpg', -'https://img.nickpic.host/q4Qjix.jpg', -'https://img.nickpic.host/q4QaFQ.jpg', -'https://img.nickpic.host/q4Ql0N.jpg', -'https://img.nickpic.host/q4QSxO.jpg', -'https://img.nickpic.host/q4Qchm.jpg', -'https://img.nickpic.host/q4QgK8.jpg', -'https://img.nickpic.host/q4QuGq.jpg', -'https://img.nickpic.host/q4QAcd.jpg', -'https://img.nickpic.host/q4QE4D.jpg', -'https://img.nickpic.host/q4QOP5.jpg', -'https://img.nickpic.host/q4Q6FP.jpg', -'https://img.nickpic.host/q4QQ2F.jpg', -'https://img.nickpic.host/q4QCiM.jpg', -'https://img.nickpic.host/q4QihX.jpg', -'https://img.nickpic.host/q4QXxe.jpg', -'https://img.nickpic.host/q4QnYb.jpg', -'https://img.nickpic.host/q4QMGf.jpg', -'https://img.nickpic.host/q4QRg6.jpg', -'https://img.nickpic.host/q4Q1Dp.jpg', -'https://img.nickpic.host/q4QznG.jpg', -'https://img.nickpic.host/q4QwaA.jpg', -'https://img.nickpic.host/q4Q4PY.jpg', -'https://img.nickpic.host/q4QKBc.jpg', -'https://img.nickpic.host/q4Q72z.jpg', -'https://img.nickpic.host/q4QYhW.jpg', -'https://img.nickpic.host/q4QHY1.jpg', -'https://img.nickpic.host/q4QVIj.jpg', -'https://img.nickpic.host/q4QfgJ.jpg', -'https://img.nickpic.host/q4Q0Dn.jpg', -'https://img.nickpic.host/q4Q2Ts.jpg', -'https://img.nickpic.host/q4Qea2.jpg', -'https://img.nickpic.host/q4QknQ.jpg', -'https://img.nickpic.host/q4QPBN.jpg', -'https://img.nickpic.host/q4QT6O.jpg', -'https://img.nickpic.host/q4QJ9x.jpg', -'https://img.nickpic.host/q4QWHm.jpg', -'https://img.nickpic.host/q4QdI8.jpg', -'https://img.nickpic.host/q4UGDd.jpg', -'https://img.nickpic.host/q4Qyqq.jpg', -'https://img.nickpic.host/q4UITD.jpg', -'https://img.nickpic.host/q4Uoj5.jpg', -'https://img.nickpic.host/q4UpnP.jpg', -'https://img.nickpic.host/q4UBbF.jpg', -'https://img.nickpic.host/q4Uv9M.jpg', -'https://img.nickpic.host/q4Ub6e.jpg', -'https://img.nickpic.host/q4UrHX.jpg', -'https://img.nickpic.host/q4U3mb.jpg', -'https://img.nickpic.host/q4Uaw6.jpg', -'https://img.nickpic.host/q4UFqf.jpg', -'https://img.nickpic.host/q4UjWp.jpg', -'https://img.nickpic.host/q4U5jY.jpg', -'https://img.nickpic.host/q4UStA.jpg', -'https://img.nickpic.host/q4Uqbz.jpg', -'https://img.nickpic.host/q4UceG.jpg', -'https://img.nickpic.host/q4UuCc.jpg', -'https://img.nickpic.host/q4UAHW.jpg', -'https://img.nickpic.host/q4UOm1.jpg', -'https://img.nickpic.host/q4Uhuj.jpg', -'https://img.nickpic.host/q4U6wJ.jpg', -'https://img.nickpic.host/q4UCWn.jpg', -'https://img.nickpic.host/q4UUls.jpg', -'https://img.nickpic.host/q4UXt2.jpg', -'https://img.nickpic.host/q4UieQ.jpg', -'https://img.nickpic.host/q4Utrx.jpg', -'https://img.nickpic.host/q4UMCN.jpg', -'https://img.nickpic.host/q4URNO.jpg', -'https://img.nickpic.host/q4U4om.jpg', -'https://img.nickpic.host/q4UDu8.jpg', -'https://img.nickpic.host/q4UzWd.jpg', -'https://img.nickpic.host/q4Uwzq.jpg', -'https://img.nickpic.host/q4U8lD.jpg', -'https://img.nickpic.host/q4UKM5.jpg', -'https://img.nickpic.host/q4UYeP.jpg', -'https://img.nickpic.host/q4UVQF.jpg', -'https://img.nickpic.host/q4UNrM.jpg', -'https://img.nickpic.host/q4UfNe.jpg', -'https://img.nickpic.host/q4U2oX.jpg', -'https://img.nickpic.host/q4U9Ab.jpg', -'https://img.nickpic.host/q4UkZ6.jpg', -'https://img.nickpic.host/q4Uezf.jpg', -'https://img.nickpic.host/q4UL5p.jpg', -'https://img.nickpic.host/q4UTkA.jpg', -'https://img.nickpic.host/q4UPMY.jpg', -'https://img.nickpic.host/q4UdQz.jpg', -'https://img.nickpic.host/q4UZsG.jpg', -'https://img.nickpic.host/q4UyVc.jpg', -'https://img.nickpic.host/q4XmA1.jpg', -'https://img.nickpic.host/q4XIoW.jpg', -'https://img.nickpic.host/q4XpZJ.jpg', -'https://img.nickpic.host/q4Xo7j.jpg', -'https://img.nickpic.host/q4Xx5n.jpg', -'https://img.nickpic.host/q4Xbk2.jpg', -'https://img.nickpic.host/q4XBRs.jpg', -'https://img.nickpic.host/q4X3Ux.jpg', -'https://img.nickpic.host/q4XssQ.jpg', -'https://img.nickpic.host/q4XFVN.jpg', -'https://img.nickpic.host/q4XlEm.jpg', -'https://img.nickpic.host/q4XjpO.jpg', -'https://img.nickpic.host/q4XSdq.jpg', -'https://img.nickpic.host/q4X578.jpg', -'https://img.nickpic.host/q4Xg5d.jpg', -'https://img.nickpic.host/q4XqRD.jpg', -'https://img.nickpic.host/q4XuJ5.jpg', -'https://img.nickpic.host/q4XOUM.jpg', -'https://img.nickpic.host/q4XEsP.jpg', -'https://img.nickpic.host/q4XhfF.jpg', -'https://img.nickpic.host/q4XCpe.jpg', -'https://img.nickpic.host/q4XU8b.jpg', -'https://img.nickpic.host/q4XQEX.jpg', -'https://img.nickpic.host/q4XXdf.jpg', -'https://img.nickpic.host/q4XnS6.jpg', -'https://img.nickpic.host/q4Xt1p.jpg', -'https://img.nickpic.host/q4X13A.jpg', -'https://img.nickpic.host/q4XMJY.jpg', -'https://img.nickpic.host/q4X4XG.jpg', -'https://img.nickpic.host/q4XDfz.jpg', -'https://img.nickpic.host/q4X7EW.jpg', -'https://img.nickpic.host/q4Xzvc.jpg', -'https://img.nickpic.host/q4X881.jpg', -'https://img.nickpic.host/q4XKyj.jpg', -'https://img.nickpic.host/q4XHSJ.jpg', -'https://img.nickpic.host/q4XN1n.jpg', -'https://img.nickpic.host/q4XVLs.jpg', -'https://img.nickpic.host/q4X032.jpg', -'https://img.nickpic.host/q4X2XQ.jpg', -'https://img.nickpic.host/q4X90x.jpg', -'https://img.nickpic.host/q4XkvN.jpg', -'https://img.nickpic.host/q4XJOO.jpg', -'https://img.nickpic.host/q4XLKm.jpg', -'https://img.nickpic.host/q4XPy8.jpg', -'https://img.nickpic.host/q4XWcq.jpg', -'https://img.nickpic.host/q4XZ1d.jpg', -'https://img.nickpic.host/q4XdLD.jpg', -'https://img.nickpic.host/q4iGF5.jpg', -'https://img.nickpic.host/q4iIXP.jpg', -'https://img.nickpic.host/q4im0M.jpg', -'https://img.nickpic.host/q4ipxF.jpg', -'https://img.nickpic.host/q4ibGb.jpg', -'https://img.nickpic.host/q4ixKX.jpg', -'https://img.nickpic.host/q4ivOe.jpg', -'https://img.nickpic.host/q4ircf.jpg', -'https://img.nickpic.host/q4is46.jpg', -'https://img.nickpic.host/q4iaFY.jpg', -'https://img.nickpic.host/q4i3Pp.jpg', -'https://img.nickpic.host/q4ijiA.jpg', -'https://img.nickpic.host/q4il2G.jpg', -'https://img.nickpic.host/q4iSxz.jpg', -'https://img.nickpic.host/q4ichc.jpg', -'https://img.nickpic.host/q4igKW.jpg', -'https://img.nickpic.host/q4iuG1.jpg', -'https://img.nickpic.host/q4iAgj.jpg', -'https://img.nickpic.host/q4iOPn.jpg', -'https://img.nickpic.host/q4iQ2Q.jpg', -'https://img.nickpic.host/q4iE4J.jpg', -'https://img.nickpic.host/q4i6as.jpg', -'https://img.nickpic.host/q4iCi2.jpg', -'https://img.nickpic.host/q4iXBx.jpg', -'https://img.nickpic.host/q4iihN.jpg', -'https://img.nickpic.host/q4iRg8.jpg', -'https://img.nickpic.host/q4inYO.jpg', -'https://img.nickpic.host/q4iMIm.jpg', -'https://img.nickpic.host/q4iwaD.jpg', -'https://img.nickpic.host/q4i1Dq.jpg', -'https://img.nickpic.host/q4i4Pd.jpg', -'https://img.nickpic.host/q4izn5.jpg', -'https://img.nickpic.host/q4i72P.jpg', -'https://img.nickpic.host/q4iKBM.jpg', -'https://img.nickpic.host/q4iHYe.jpg', -'https://img.nickpic.host/q4iY6F.jpg', -'https://img.nickpic.host/q4ifqb.jpg', -'https://img.nickpic.host/q4iVIX.jpg', -'https://img.nickpic.host/q4i0Df.jpg', -'https://img.nickpic.host/q4i2T6.jpg', -'https://img.nickpic.host/q4iejp.jpg', -'https://img.nickpic.host/q4iJ9A.jpg', -'https://img.nickpic.host/q4iknY.jpg', -'https://img.nickpic.host/q4iT6z.jpg', -'https://img.nickpic.host/q4iWHc.jpg', -'https://img.nickpic.host/q4iPbG.jpg', -'https://img.nickpic.host/q4idIW.jpg', -'https://img.nickpic.host/q4iyq1.jpg', -'https://img.nickpic.host/q4nITJ.jpg', -'https://img.nickpic.host/q4nGwj.jpg', -'https://img.nickpic.host/q4nojn.jpg', -'https://img.nickpic.host/q4npts.jpg', -'https://img.nickpic.host/q4nv92.jpg', -'https://img.nickpic.host/q4nbCx.jpg', -'https://img.nickpic.host/q4nBbQ.jpg', -'https://img.nickpic.host/q4nrHN.jpg', -'https://img.nickpic.host/q4n3mO.jpg', -'https://img.nickpic.host/q4nFum.jpg', -'https://img.nickpic.host/q4njWq.jpg', -'https://img.nickpic.host/q4naw8.jpg', -'https://img.nickpic.host/q4n5jd.jpg', -'https://img.nickpic.host/q4nStD.jpg', -'https://img.nickpic.host/q4nce5.jpg', -'https://img.nickpic.host/q4nuCM.jpg', -'https://img.nickpic.host/q4nqbP.jpg', -'https://img.nickpic.host/q4nANF.jpg', -'https://img.nickpic.host/q4nOme.jpg', -'https://img.nickpic.host/q4n6zb.jpg', -'https://img.nickpic.host/q4nhuX.jpg', -'https://img.nickpic.host/q4nCWf.jpg', -'https://img.nickpic.host/q4nUl6.jpg', -'https://img.nickpic.host/q4nXMp.jpg', -'https://img.nickpic.host/q4ntrA.jpg', -'https://img.nickpic.host/q4nieY.jpg', -'https://img.nickpic.host/q4nMQG.jpg', -'https://img.nickpic.host/q4nRNz.jpg', -'https://img.nickpic.host/q4n4oc.jpg', -'https://img.nickpic.host/q4nwz1.jpg', -'https://img.nickpic.host/q4nDuW.jpg', -'https://img.nickpic.host/q4nzZj.jpg', -'https://img.nickpic.host/q4n8lJ.jpg'] - - -global.uzaki = ['https://img.nickpic.host/q1HiuD.jpg', -'https://img.nickpic.host/q1HXmd.jpg', -'https://img.nickpic.host/q1HQNq.jpg', -'https://img.nickpic.host/q1HCC8.jpg', -'https://img.nickpic.host/q1HEtN.jpg', -'https://img.nickpic.host/q1H6rm.jpg', -'https://img.nickpic.host/q1HOeO.jpg', -'https://img.nickpic.host/q1HAlx.jpg', -'https://img.nickpic.host/q1Hgw2.jpg', -'https://img.nickpic.host/q1HqWQ.jpg', -'https://img.nickpic.host/q1Hnz5.jpg', -'https://img.nickpic.host/q1HtWP.jpg', -'https://img.nickpic.host/q1HRlM.jpg', -'https://img.nickpic.host/q1H1MF.jpg', -'https://img.nickpic.host/q1H4ee.jpg', -'https://img.nickpic.host/q1HwrX.jpg', -'https://img.nickpic.host/q1H7Nf.jpg', -'https://img.nickpic.host/q1HKo6.jpg', -'https://img.nickpic.host/q1HzQb.jpg', -'https://img.nickpic.host/q1HYAp.jpg', -'https://img.nickpic.host/q1HHzY.jpg', -'https://img.nickpic.host/q1HNZA.jpg', -'https://img.nickpic.host/q1Hf5G.jpg', -'https://img.nickpic.host/q1H0Mz.jpg', -'https://img.nickpic.host/q1H2kc.jpg', -'https://img.nickpic.host/q1HerW.jpg', -'https://img.nickpic.host/q1HkQ1.jpg', -'https://img.nickpic.host/q1HJVj.jpg', -'https://img.nickpic.host/q1HPoJ.jpg', -'https://img.nickpic.host/q1HTAn.jpg', -'https://img.nickpic.host/q1HW7s.jpg', -'https://img.nickpic.host/q1HZZ2.jpg', -'https://img.nickpic.host/q1Hy5Q.jpg', -'https://img.nickpic.host/q1NGRx.jpg', -'https://img.nickpic.host/q1NIkN.jpg', -'https://img.nickpic.host/q1NosO.jpg', -'https://img.nickpic.host/q1NpUm.jpg', -'https://img.nickpic.host/q1NvV8.jpg', -'https://img.nickpic.host/q1NBpq.jpg', -'https://img.nickpic.host/q1NbAd.jpg', -'https://img.nickpic.host/q1Nr7D.jpg', -'https://img.nickpic.host/q1Nsd5.jpg', -'https://img.nickpic.host/q1NF5P.jpg', -'https://img.nickpic.host/q1NaRM.jpg', -'https://img.nickpic.host/q1NjJF.jpg', -'https://img.nickpic.host/q1N5se.jpg', -'https://img.nickpic.host/q1NSUX.jpg', -'https://img.nickpic.host/q1Ncfb.jpg', -'https://img.nickpic.host/q1Nqpf.jpg', -'https://img.nickpic.host/q1NuE6.jpg', -'https://img.nickpic.host/q1NA8p.jpg', -'https://img.nickpic.host/q1NEdY.jpg', -'https://img.nickpic.host/q1NhSA.jpg', -'https://img.nickpic.host/q1N61G.jpg', -'https://img.nickpic.host/q1NCJz.jpg', -'https://img.nickpic.host/q1NU3c.jpg', -'https://img.nickpic.host/q1NXUW.jpg', -'https://img.nickpic.host/q1Nif1.jpg', -'https://img.nickpic.host/q1Ntvj.jpg', -'https://img.nickpic.host/q1NMEJ.jpg', -'https://img.nickpic.host/q1NR8n.jpg', -'https://img.nickpic.host/q1N1ys.jpg', -'https://img.nickpic.host/q1NDS2.jpg', -'https://img.nickpic.host/q1Nw1Q.jpg', -'https://img.nickpic.host/q1NzLx.jpg', -'https://img.nickpic.host/q1N83N.jpg', -'https://img.nickpic.host/q1NKXO.jpg', -'https://img.nickpic.host/q1NNv8.jpg', -'https://img.nickpic.host/q1NY0m.jpg', -'https://img.nickpic.host/q1NVOq.jpg', -'https://img.nickpic.host/q1Nf8d.jpg', -'https://img.nickpic.host/q1N0yD.jpg', -'https://img.nickpic.host/q1N9c5.jpg', -'https://img.nickpic.host/q1Ne1P.jpg', -'https://img.nickpic.host/q1NkLM.jpg', -'https://img.nickpic.host/q1NLFF.jpg', -'https://img.nickpic.host/q1NPXe.jpg', -'https://img.nickpic.host/q1NT0X.jpg', -'https://img.nickpic.host/q1NZxb.jpg', -'https://img.nickpic.host/q1NdOf.jpg', -'https://img.nickpic.host/q1NyK6.jpg', -'https://img.nickpic.host/q1VIGp.jpg', -'https://img.nickpic.host/q1VmcY.jpg', -'https://img.nickpic.host/q1Vo4A.jpg', -'https://img.nickpic.host/q1VpPG.jpg', -'https://img.nickpic.host/q1VxFz.jpg', -'https://img.nickpic.host/q1VBic.jpg', -'https://img.nickpic.host/q1Vb0W.jpg', -'https://img.nickpic.host/q1V3hj.jpg', -'https://img.nickpic.host/q1Vsx1.jpg', -'https://img.nickpic.host/q1VFKJ.jpg', -'https://img.nickpic.host/q1Vlgs.jpg', -'https://img.nickpic.host/q1VjGn.jpg', -'https://img.nickpic.host/q1VSPQ.jpg', -'https://img.nickpic.host/q1V542.jpg', -'https://img.nickpic.host/q1Vgax.jpg', -'https://img.nickpic.host/q1VqiN.jpg', -'https://img.nickpic.host/q1VEBm.jpg', -'https://img.nickpic.host/q1Vu2O.jpg', -'https://img.nickpic.host/q1VOh8.jpg', -'https://img.nickpic.host/q1VhYq.jpg', -'https://img.nickpic.host/q1VCGd.jpg', -'https://img.nickpic.host/q1VQgD.jpg', -'https://img.nickpic.host/q1VUD5.jpg', -'https://img.nickpic.host/q1VXPP.jpg', -'https://img.nickpic.host/q1VnaM.jpg', -'https://img.nickpic.host/q1VtnF.jpg', -'https://img.nickpic.host/q1VM2e.jpg', -'https://img.nickpic.host/q1V46b.jpg', -'https://img.nickpic.host/q1V1BX.jpg', -'https://img.nickpic.host/q1VDYf.jpg', -'https://img.nickpic.host/q1V7qp.jpg', -'https://img.nickpic.host/q1VzI6.jpg', -'https://img.nickpic.host/q1V8DY.jpg', -'https://img.nickpic.host/q1VKTA.jpg', -'https://img.nickpic.host/q1VHjG.jpg', -'https://img.nickpic.host/q1VV9c.jpg', -'https://img.nickpic.host/q1VNnz.jpg', -'https://img.nickpic.host/q1V261.jpg', -'https://img.nickpic.host/q1V0BW.jpg', -'https://img.nickpic.host/q1VkIJ.jpg', -'https://img.nickpic.host/q1V9Hj.jpg', -'https://img.nickpic.host/q1VJqn.jpg', -'https://img.nickpic.host/q1VLws.jpg', -'https://img.nickpic.host/q1VPT2.jpg', -'https://img.nickpic.host/q1VZtx.jpg', -'https://img.nickpic.host/q1VWjQ.jpg', -'https://img.nickpic.host/q1Vd9N.jpg', -'https://img.nickpic.host/q1fGbO.jpg', -'https://img.nickpic.host/q1fICm.jpg', -'https://img.nickpic.host/q1fpmq.jpg', -'https://img.nickpic.host/q1fmH8.jpg', -'https://img.nickpic.host/q1fvqd.jpg', -'https://img.nickpic.host/q1fxwD.jpg', -'https://img.nickpic.host/q1fBW5.jpg', -'https://img.nickpic.host/q1fstM.jpg', -'https://img.nickpic.host/q1frjP.jpg', -'https://img.nickpic.host/q1f3eF.jpg', -'https://img.nickpic.host/q1fabe.jpg', -'https://img.nickpic.host/q1fjCX.jpg', -'https://img.nickpic.host/q1flNb.jpg', -'https://img.nickpic.host/q1fSmf.jpg', -'https://img.nickpic.host/q1fcu6.jpg', -'https://img.nickpic.host/q1fgzp.jpg', -'https://img.nickpic.host/q1fAlA.jpg', -'https://img.nickpic.host/q1fqWY.jpg', -'https://img.nickpic.host/q1fEMG.jpg', -'https://img.nickpic.host/q1fOez.jpg', -'https://img.nickpic.host/q1f6rc.jpg', -'https://img.nickpic.host/q1fCCW.jpg', -'https://img.nickpic.host/q1fQN1.jpg', -'https://img.nickpic.host/q1fXoj.jpg', -'https://img.nickpic.host/q1fiuJ.jpg', -'https://img.nickpic.host/q1fnzn.jpg', -'https://img.nickpic.host/q1ftZs.jpg', -'https://img.nickpic.host/q1f1MQ.jpg', -'https://img.nickpic.host/q1fRl2.jpg', -'https://img.nickpic.host/q1f4kx.jpg', -'https://img.nickpic.host/q1fwrN.jpg', -'https://img.nickpic.host/q1fzQO.jpg'] - - -global.pack = [ - "https://i.imgur.com/XbW7FO2.jpg", - "https://i.imgur.com/ciuzM98.jpg", - "https://i.imgur.com/uHsrrrx.jpg", - "https://i.imgur.com/PVi8YDi.jpg", - "https://i.imgur.com/FLC3ZXE.jpg", - "https://i.imgur.com/54m52tX.jpg", - "https://i.imgur.com/OsxYPgQ.jpg", - "https://i.imgur.com/vpw6Xnr.jpg", - "https://i.imgur.com/aAyPrZx.jpg", - "https://i.imgur.com/Gh3ORCd.jpg", - "https://i.imgur.com/rjGhygM.jpg", - "https://i.imgur.com/zdHVFEI.jpg", - "https://i.imgur.com/kAplnSG.jpg", - "https://i.imgur.com/15UiO8o.jpg", - "https://i.imgur.com/qjjyr6G.jpg", - "https://i.imgur.com/bQZRhBU.jpg", - "https://i.imgur.com/vpw6Xnr.jpg", - "https://i.imgur.com/aAyPrZx.jpg", - "https://i.imgur.com/Gh3ORCd.jpg", - "https://i.imgur.com/rjGhygM.jpg", - "https://i.imgur.com/0MhmmF4.jpg", - "https://i.imgur.com/2MX4wvq.jpg", - "https://i.imgur.com/HYL5ggu.jpg", - "https://i.imgur.com/7ZjOD2a.jpg", - "https://i.imgur.com/zbEUy3m.jpg", - "https://i.imgur.com/tZ6vlg6.jpg", - "https://i.imgur.com/jdPns8O.jpg", - "https://i.imgur.com/VyjBQHT.jpg", - "https://i.imgur.com/ozAGqBD.jpg", - "https://i.imgur.com/DsSj9S1.jpg", - "https://i.imgur.com/KYHpjNc.jpg"] - - -global.packgirl = [ - "https://i.imgur.com/mwLJaxU.jpg", - "https://i.imgur.com/9ptmlPl.jpg", - "https://i.imgur.com/38tVliz.jpg", - "https://i.imgur.com/2NqCKE3.jpg", - "https://i.imgur.com/pveviMG.jpg", - "https://i.imgur.com/d71dnkv.jpg", - "https://i.imgur.com/cr7Ypj1.jpg", - "https://i.imgur.com/jAxzCj4.jpg", - "https://i.imgur.com/xokuFLf.jpg", - "https://i.imgur.com/Hi4zLaf.jpg", - "https://i.imgur.com/OlaQtwW.jpg", - "https://i.imgur.com/Dm4GLuF.jpg", - "https://i.imgur.com/k6Y2E9b.jpg", - "https://i.imgur.com/1rk7jdu.jpg", - "https://i.imgur.com/TFmEVPc.jpg", - "https://i.imgur.com/0XefLlJ.jpg", - "https://i.imgur.com/bwa9LYZ.jpg", - "https://i.imgur.com/WgrpTmg.jpg", - "https://i.imgur.com/Z5f5YAw.jpg", - "https://i.imgur.com/xEuBtPO.jpg", - "https://i.imgur.com/NA0fHxn.jpg", - "https://i.imgur.com/InueCKQ.jpg", - "https://i.imgur.com/3syOcHe.jpg", - "https://i.imgur.com/N1dgels.jpg", - "https://i.imgur.com/IxKAJaV.jpg", - "https://i.imgur.com/8VrxL1d.jpg", - "https://i.imgur.com/8B4Y0bG.jpg", - "https://i.imgur.com/wgkGOjF.jpg", - "https://i.imgur.com/765Wi6q.jpg", - "https://i.imgur.com/5joeWnm.jpg", - "https://i.imgur.com/71fjmmM.jpg", - "https://i.imgur.com/cAuKeyZ.jpg", - "https://i.imgur.com/SDZ2Hs5.jpg", - "https://i.imgur.com/skkEyqI.jpg", - "https://i.imgur.com/6dXFsBW.jpg", - "https://i.imgur.com/6CeG9ZX.jpg"] - - -global.packmen = [ - "https://i.imgur.com/TK0qLAu.jpg", - "https://i.imgur.com/q8lKT40.jpg", - "https://i.imgur.com/OwWdL9u.jpg", - "https://i.imgur.com/Er7WiQo.jpg", - "https://i.imgur.com/u4y0q4P.jpg", - "https://i.imgur.com/y8y4PPr.jpg", - "https://i.imgur.com/qgfLlRY.jpg", - "https://i.imgur.com/irgyUTD.jpg", - "https://i.imgur.com/uXrqfBl.jpg", - "https://i.imgur.com/lgXjetf.jpg", - "https://i.imgur.com/81QLh8s.jpg", - "https://i.imgur.com/R3AlYe1.jpg", - "https://i.imgur.com/a2Myr3F.jpg", - "https://i.imgur.com/Wp9cgGw.jpg", - "https://i.imgur.com/ggKUnxt.jpg", - "https://i.imgur.com/eCJNWBl.jpg", - "https://i.imgur.com/6lcrBQB.jpg", - "https://i.imgur.com/eSSbXJ1.jpg", - "https://i.imgur.com/tNyvzyO.jpg"] diff --git a/plugins/comandos+18-adult2.js b/plugins/comandos+18-adult2.js deleted file mode 100644 index 5e3d9d279..000000000 --- a/plugins/comandos+18-adult2.js +++ /dev/null @@ -1,9226 +0,0 @@ -//CÓDIGO ELABORADO POR: https://github.com/GataNina-Li & https://github.com/DIEGO-OFC - -import fetch from 'node-fetch' -import { sticker } from '../lib/sticker.js' -const temaX = [ -['hentai','pornohentai3', 'nsfwhentai3'], ['ass', 'pornoass2', 'nsfwass2'], ['pgif', 'pornosticker', 'nsfwsticker'], ['thigh', 'pornochica', 'nsfwsgirl'], ['hass', 'pornoass3', 'nsfwass3'], ['boobs', 'pornotetas2', 'nsfwboobs2'], //5 -['hboobs', 'pornotetas3', 'nsfwboobs3'], ['pussy', 'pornopussy', 'nsfwpussy'], ['paizuri', 'pornopaizuri', 'nsfwpaizuri'], ['lewdneko', 'pornoneko', 'nsfwneko'], ['feet', 'pornopies2', 'nsfwfoot2'], //10 -['hyuri', 'pornoyuri3', 'nsfwyuri3'], ['hthigh', 'pornomuslo', 'nsfwhthigh'], ['hmidriff', 'pornochica2', 'nsfwsgirl2'], ['anal', 'pornoanal', 'nsfwanal'], ['blowjob', 'pornomamada', 'nsfwblowjob'], //15 -['gonewild', 'pornogonewild', 'nsfwgonewild'], ['hkitsune', 'pornofurro2', 'nsfwfurry2'], ['tentacle', 'pornotentacle', 'nsfwtentacle'], ['4k', 'porno4k', 'porn4k'], ['kanna', 'pornokanna', 'nsfwkanna'], //20 -['hentai_anal', 'pornoanal2', 'nsfwanal2'], ['food', 'pornoalimento', 'nsfwfood'], ['holo', 'pornoholo', 'nsfwholo'], ['nsfw/anal/gif', 'pornoanal3', 'nsfwanal3'], ['nsfw/blowjob/gif', 'pornomamada2', 'nsfwblowjob2'], //25 -['nsfw/cum/gif', 'pornocum2', 'nsfwcum2'], ['nsfw/fuck/gif', 'pornofuck', 'nsfwfuck'], ['nsfw/neko/gif', 'pornoneko2', 'nsfwneko2'], ['nsfw/pussylick/gif', 'pornopussy2', 'nsfwpussy2'], ['nsfw/solo/gif', 'pornosolo', 'nsfwsolo'], //30 -['nsfw/threesome_fff/gif', 'pornorgia2', 'nsfworgy2'], ['nsfw/threesome_ffm/gif', 'pornorgia3', 'nsfworgy3'], ['yaoi', 'pornoyaoi3', 'nsfwyaoi3'], [global.cosplay, 'pornocosplay', 'nsfwcosplay'], [global.dbz, 'pornodbz', 'nsfwdbz'], //35 -[global.genshin, 'pornogenshin', 'nsfwgenshin'], [global.kimetsu, 'pornokimetsu', 'nsfwkimetsu'], [global.hentai2, 'pornohentai2', 'nsfwhentai2'], [global.nintendo, 'pornonintendo', 'nsfwnintendo'], [global.hololive, 'pornohololive', 'nsfwhololive'], //40 -[global.heroacademy, 'pornoheroacademy', 'nsfwheroacademy'], [global.rezero, 'pornorezero', 'nsfwrezero'], [global.tatsumaki, 'pornotatsumaki', 'nsfwtatsumaki'], [global.naruto, 'pornonaruto', 'nsfwnaruto'], [global.kitagawa, 'pornokitagawa', 'nsfwkitagawa']] //45 - -let handler = async (m, {command, conn, usedPrefix}) => { -let fkontak = { "key": { "participants":"0@s.whatsapp.net", "remoteJid": "status@broadcast", "fromMe": false, "id": "Halo" }, "message": { "contactMessage": { "vcard": `BEGIN:VCARD\nVERSION:3.0\nN:Sy;Bot;;;\nFN:y\nitem1.TEL;waid=${m.sender.split('@')[0]}:${m.sender.split('@')[0]}\nitem1.X-ABLabel:Ponsel\nEND:VCARD` }}, "participant": "0@s.whatsapp.net" } -let frep = { contextInfo: { externalAdReply: {title: wm, body: lenguajeGB.smsCont18PornP2(), sourceUrl: redesMenu.getRandom(), thumbnail: await(await fetch(img16)).buffer() }}} -let user = global.db.data.users[m.sender] -if (!db.data.chats[m.chat].modohorny && m.isGroup) throw `${lenguajeGB['smsContAdult']()}` - -try { -if (command == temaX[0][1] || command == temaX[0][2]) { -let res = await fetch(APIs.nekobot + "image?type=" + temaX[0][0]) -let json = await res.json() -let link = json.message -if (link.slice(-3) == 'gif') { -let stickerr = await sticker(false, link, global.packname, global.author) -await conn.sendFile(m.chat, stickerr, 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: lenguajeGB.smsCont18PornP2(), body: wm, mediaType: 2, sourceUrl: redesMenu.getRandom(), thumbnail: await(await fetch(img16)).buffer()}}}, { quoted: m }) -await conn.sendFile(m.chat, null, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m) -//await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, null, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno hentai' : 'nsfw hentai'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? 'pornohentai' : 'nsfwhentai'}`]], fkontak, m) -}else{ -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)}} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, link, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno hentai' : 'nsfw hentai'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? 'pornohentai' : 'nsfwhentai'}`]], m, frep)}} - -if (command == temaX[1][1] || command == temaX[1][2]) { -let res = await fetch(APIs.nekobot + "image?type=" + temaX[1][0]) -let json = await res.json() -let link = json.message -if (link.slice(-3) == 'gif') { -let stickerr = await sticker(false, link, global.packname, global.author) -await conn.sendFile(m.chat, stickerr, 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: lenguajeGB.smsCont18PornP2(), body: wm, mediaType: 2, sourceUrl: redesMenu.getRandom(), thumbnail: await(await fetch(img16)).buffer()}}}, { quoted: m }) -await conn.sendFile(m.chat, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m) -//await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, null, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno ass' : 'nsfw ass'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? 'pornoass' : 'nsfwass'}`]], fkontak, m) -}else{ -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)}} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, link, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno ass' : 'nsfw ass'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? 'pornoass' : 'nsfwass'}`]], m, frep)}} - -if (command == temaX[2][1] || command == temaX[2][2]) { -let res = await fetch(APIs.nekobot + "image?type=" + temaX[2][0]) -let json = await res.json() -let link = json.message -if (link.slice(-3) == 'gif') { -let stickerr = await sticker(false, link, global.packname, global.author) -await conn.sendFile(m.chat, stickerr, 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: lenguajeGB.smsCont18PornP2(), body: wm, mediaType: 2, sourceUrl: redesMenu.getRandom(), thumbnail: await(await fetch(img16)).buffer()}}}, { quoted: m }) -await conn.sendFile(m.chat, null, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m) -//await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, null, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], fkontak, m) -}else{ -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)}} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, link, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], m, frep)}} - -if (command == temaX[3][1] || command == temaX[3][2]) { -let res = await fetch(APIs.nekobot + "image?type=" + temaX[3][0]) -let json = await res.json() -let link = json.message -if (link.slice(-3) == 'gif') { -let stickerr = await sticker(false, link, global.packname, global.author) -await conn.sendFile(m.chat, stickerr, 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: lenguajeGB.smsCont18PornP2(), body: wm, mediaType: 2, sourceUrl: redesMenu.getRandom(), thumbnail: await(await fetch(img16)).buffer()}}}, { quoted: m }) -await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, null, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno chica 2' : 'nsfws girl 2'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? temaX[13][1] : temaX[13][2]}`]], fkontak, m) -}else{ -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)}} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, link, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno chica 2' : 'nsfws girl 2'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? temaX[13][1] : temaX[13][2]}`]], m, frep)}} - -if (command == temaX[4][1] || command == temaX[4][2]) { -let res = await fetch(APIs.nekobot + "image?type=" + temaX[4][0]) -let json = await res.json() -let link = json.message -if (link.slice(-3) == 'gif') { -let stickerr = await sticker(false, link, global.packname, global.author) -await conn.sendFile(m.chat, stickerr, 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: lenguajeGB.smsCont18PornP2(), body: wm, mediaType: 2, sourceUrl: redesMenu.getRandom(), thumbnail: await(await fetch(img16)).buffer()}}}, { quoted: m }) -await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, null, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno ass 2' : 'nsfw ass 2'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? temaX[1][1] : temaX[1][2]}`]], fkontak, m) -}else{ -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)}} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, link, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno ass 2' : 'nsfw ass 2'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? temaX[1][2] : temaX[1][2]}`]], m, frep)}} - -if (command == temaX[5][1] || command == temaX[5][2]) { -let res = await fetch(APIs.nekobot + "image?type=" + temaX[5][0]) -let json = await res.json() -let link = json.message -if (link.slice(-3) == 'gif') { -let stickerr = await sticker(false, link, global.packname, global.author) -await conn.sendFile(m.chat, stickerr, 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: lenguajeGB.smsCont18PornP2(), body: wm, mediaType: 2, sourceUrl: redesMenu.getRandom(), thumbnail: await(await fetch(img16)).buffer()}}}, { quoted: m }) -await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, null, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno tetas' : 'nsfw boobs'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? 'pornotetas' : 'nsfwboobs'}`]], fkontak, m) -}else{ -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)}} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, link, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno tetas' : 'nsfw boobs'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? 'pornotetas' : 'nsfwboobs'}`]], m, frep)}} - -if (command == temaX[6][1] || command == temaX[6][2]) { -let res = await fetch(APIs.nekobot + "image?type=" + temaX[6][0]) -let json = await res.json() -let link = json.message -if (link.slice(-3) == 'gif') { -let stickerr = await sticker(false, link, global.packname, global.author) -await conn.sendFile(m.chat, stickerr, 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: lenguajeGB.smsCont18PornP2(), body: wm, mediaType: 2, sourceUrl: redesMenu.getRandom(), thumbnail: await(await fetch(img16)).buffer()}}}, { quoted: m }) -await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, null, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno tetas 2' : 'nsfw boobs 2'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? temaX[5][1] : temaX[5][2]}`]], fkontak, m) -}else{ -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)}} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, link, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno tetas 2' : 'nsfw boobs 2'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? temaX[5][1] : temaX[5][2]}`]], m, frep)}} - -if (command == temaX[7][1] || command == temaX[7][2]) { -let res = await fetch(APIs.nekobot + "image?type=" + temaX[7][0]) -let json = await res.json() -let link = json.message -if (link.slice(-3) == 'gif') { -let stickerr = await sticker(false, link, global.packname, global.author) -await conn.sendFile(m.chat, stickerr, 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: lenguajeGB.smsCont18PornP2(), body: wm, mediaType: 2, sourceUrl: redesMenu.getRandom(), thumbnail: await(await fetch(img16)).buffer()}}}, { quoted: m }) -await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, null, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno pussy 2' : 'nsfw pussy 2'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? temaX[29][1] : temaX[29][2]}`]], fkontak, m) -}else{ -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)}} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, link, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno pussy 2' : 'nsfw pussy 2'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? temaX[29][1] : temaX[29][2]}`]], m, frep)}} - -if (command == temaX[8][1] || command == temaX[8][2]) { -let res = await fetch(APIs.nekobot + "image?type=" + temaX[8][0]) -let json = await res.json() -let link = json.message -if (link.slice(-3) == 'gif') { -let stickerr = await sticker(false, link, global.packname, global.author) -await conn.sendFile(m.chat, stickerr, 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: lenguajeGB.smsCont18PornP2(), body: wm, mediaType: 2, sourceUrl: redesMenu.getRandom(), thumbnail: await(await fetch(img16)).buffer()}}}, { quoted: m }) -await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, null, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], fkontak, m) -}else{ -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)}} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, link, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], m, frep)}} - -if (command == temaX[9][1] || command == temaX[9][2]) { -let res = await fetch(APIs.nekobot + "image?type=" + temaX[9][0]) -let json = await res.json() -let link = json.message -if (link.slice(-3) == 'gif') { -let stickerr = await sticker(false, link, global.packname, global.author) -await conn.sendFile(m.chat, stickerr, 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: lenguajeGB.smsCont18PornP2(), body: wm, mediaType: 2, sourceUrl: redesMenu.getRandom(), thumbnail: await(await fetch(img16)).buffer()}}}, { quoted: m }) -await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, null, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno neko 2' : 'nsfw neko 2'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? temaX[28][1] : temaX[28][2]}`]], fkontak, m) -}else{ -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)}} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, link, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno neko 2' : 'nsfw neko 2'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? temaX[28][1] : temaX[28][2]}`]], m, frep)}} - -if (command == temaX[10][1] || command == temaX[10][2]) { -let res = await fetch(APIs.nekobot + "image?type=" + temaX[10][0]) -let json = await res.json() -let link = json.message -if (link.slice(-3) == 'gif') { -let stickerr = await sticker(false, link, global.packname, global.author) -await conn.sendFile(m.chat, stickerr, 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: lenguajeGB.smsCont18PornP2(), body: wm, mediaType: 2, sourceUrl: redesMenu.getRandom(), thumbnail: await(await fetch(img16)).buffer()}}}, { quoted: m }) -await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, null, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], fkontak, m) -}else{ -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)}} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, link, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], m, frep)}} - -if (command == temaX[11][1] || command == temaX[11][2]) { -let res = await fetch(APIs.nekobot + "image?type=" + temaX[11][0]) -let json = await res.json() -let link = json.message -if (link.slice(-3) == 'gif') { -let stickerr = await sticker(false, link, global.packname, global.author) -await conn.sendFile(m.chat, stickerr, 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: lenguajeGB.smsCont18PornP2(), body: wm, mediaType: 2, sourceUrl: redesMenu.getRandom(), thumbnail: await(await fetch(img16)).buffer()}}}, { quoted: m }) -await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, null, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno yuri' : 'nsfw yuri'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? 'pornoyuri' : 'nsfwyuri'}`]], fkontak, m) -}else{ -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)}} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, link, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno yuri' : 'nsfw yuri'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? 'pornoyuri' : 'nsfwyuri'}`]], m, frep)}} - -if (command == temaX[12][1] || command == temaX[12][2]) { -let res = await fetch(APIs.nekobot + "image?type=" + temaX[12][0]) -let json = await res.json() -let link = json.message -if (link.slice(-3) == 'gif') { -let stickerr = await sticker(false, link, global.packname, global.author) -await conn.sendFile(m.chat, stickerr, 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: lenguajeGB.smsCont18PornP2(), body: wm, mediaType: 2, sourceUrl: redesMenu.getRandom(), thumbnail: await(await fetch(img16)).buffer()}}}, { quoted: m }) -await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, null, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], fkontak, m) -}else{ -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)}} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, link, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], m, frep)}} - -if (command == temaX[13][1] || command == temaX[13][2]) { -let res = await fetch(APIs.nekobot + "image?type=" + temaX[13][0]) -let json = await res.json() -let link = json.message -if (link.slice(-3) == 'gif') { -let stickerr = await sticker(false, link, global.packname, global.author) -await conn.sendFile(m.chat, stickerr, 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: lenguajeGB.smsCont18PornP2(), body: wm, mediaType: 2, sourceUrl: redesMenu.getRandom(), thumbnail: await(await fetch(img16)).buffer()}}}, { quoted: m }) -await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, null, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno chica' : 'nsfws girl'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? temaX[3][1] : temaX[3][2]}`]], fkontak, m) -}else{ -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)}} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, link, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno chica' : 'nsfws girl'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? temaX[3][1] : temaX[3][2]}`]], m, frep)}} - -if (command == temaX[14][1] || command == temaX[14][2]) { -let res = await fetch(APIs.nekobot + "image?type=" + temaX[14][0]) -let json = await res.json() -let link = json.message -if (link.slice(-3) == 'gif') { -let stickerr = await sticker(false, link, global.packname, global.author) -await conn.sendFile(m.chat, stickerr, 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: lenguajeGB.smsCont18PornP2(), body: wm, mediaType: 2, sourceUrl: redesMenu.getRandom(), thumbnail: await(await fetch(img16)).buffer()}}}, { quoted: m }) -await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, null, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno anal 2' : 'nsfws anal 2'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? temaX[21][1] : temaX[21][2]}`]], fkontak, m) -}else{ -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)}} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, link, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno anal 2' : 'nsfws anal 2'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? temaX[21][1] : temaX[21][2]}`]], m, frep)}} - -if (command == temaX[15][1] || command == temaX[15][2]) { -let res = await fetch(APIs.nekobot + "image?type=" + temaX[15][0]) -let json = await res.json() -let link = json.message -if (link.slice(-3) == 'gif') { -let stickerr = await sticker(false, link, global.packname, global.author) -await conn.sendFile(m.chat, stickerr, 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: lenguajeGB.smsCont18PornP2(), body: wm, mediaType: 2, sourceUrl: redesMenu.getRandom(), thumbnail: await(await fetch(img16)).buffer()}}}, { quoted: m }) -await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, null, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], fkontak, m) -}else{ -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)}} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, link, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], m, frep)}} - -if (command == temaX[16][1] || command == temaX[16][2]) { -let res = await fetch(APIs.nekobot + "image?type=" + temaX[16][0]) -let json = await res.json() -let link = json.message -if (link.slice(-3) == 'gif') { -let stickerr = await sticker(false, link, global.packname, global.author) -await conn.sendFile(m.chat, stickerr, 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: lenguajeGB.smsCont18PornP2(), body: wm, mediaType: 2, sourceUrl: redesMenu.getRandom(), thumbnail: await(await fetch(img16)).buffer()}}}, { quoted: m }) -await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, null, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], fkontak, m) -}else{ -await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, link, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], m, frep)}} - -if (command == temaX[17][1] || command == temaX[17][2]) { -let res = await fetch(APIs.nekobot + "image?type=" + temaX[17][0]) -let json = await res.json() -let link = json.message -if (link.slice(-3) == 'gif') { -let stickerr = await sticker(false, link, global.packname, global.author) -await conn.sendFile(m.chat, stickerr, 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: lenguajeGB.smsCont18PornP2(), body: wm, mediaType: 2, sourceUrl: redesMenu.getRandom(), thumbnail: await(await fetch(img16)).buffer()}}}, { quoted: m }) -await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, null, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno furro 2' : 'nsfws furry'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? 'pornofurro' : 'nsfwafurry'}`]], fkontak, m) -}else{ -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)}} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, link, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno furro 2' : 'nsfws furry'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? 'pornofurro' : 'nsfwafurry'}`]], m, frep)}} - -if (command == temaX[18][1] || command == temaX[18][2]) { -let res = await fetch(APIs.nekobot + "image?type=" + temaX[18][0]) -let json = await res.json() -let link = json.message -if (link.slice(-3) == 'gif') { -let stickerr = await sticker(false, link, global.packname, global.author) -await conn.sendFile(m.chat, stickerr, 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: lenguajeGB.smsCont18PornP2(), body: wm, mediaType: 2, sourceUrl: redesMenu.getRandom(), thumbnail: await(await fetch(img16)).buffer()}}}, { quoted: m }) -await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, null, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], fkontak, m) -}else{ -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)}} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, link, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], m, frep)}} - -if (command == temaX[19][1] || command == temaX[19][2]) { -let res = await fetch(APIs.nekobot + "image?type=" + temaX[19][0]) -let json = await res.json() -let link = json.message -if (link.slice(-3) == 'gif') { -let stickerr = await sticker(false, link, global.packname, global.author) -await conn.sendFile(m.chat, stickerr, 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: lenguajeGB.smsCont18PornP2(), body: wm, mediaType: 2, sourceUrl: redesMenu.getRandom(), thumbnail: await(await fetch(img16)).buffer()}}}, { quoted: m }) -await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, null, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno sticker' : 'nsfws sticker'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? temaX[2][1] : temaX[2][2]}`]], fkontak, m) -}else{ -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)}} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, link, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno sticker' : 'nsfws sticker'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? temaX[2][1] : temaX[2][2]}`]], m, frep)}} - -if (command == temaX[20][1] || command == temaX[20][2]) { -let res = await fetch(APIs.nekobot + "image?type=" + temaX[20][0]) -let json = await res.json() -let link = json.message -if (link.slice(-3) == 'gif') { -let stickerr = await sticker(false, link, global.packname, global.author) -await conn.sendFile(m.chat, stickerr, 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: lenguajeGB.smsCont18PornP2(), body: wm, mediaType: 2, sourceUrl: redesMenu.getRandom(), thumbnail: await(await fetch(img16)).buffer()}}}, { quoted: m }) -await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, null, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], fkontak, m) -}else{ -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)}} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, link, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], m, frep)}} - -if (command == temaX[21][1] || command == temaX[21][2]) { -let res = await fetch(APIs.nekobot + "image?type=" + temaX[21][0]) -let json = await res.json() -let link = json.message -if (link.slice(-3) == 'gif') { -let stickerr = await sticker(false, link, global.packname, global.author) -await conn.sendFile(m.chat, stickerr, 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: lenguajeGB.smsCont18PornP2(), body: wm, mediaType: 2, sourceUrl: redesMenu.getRandom(), thumbnail: await(await fetch(img16)).buffer()}}}, { quoted: m }) -await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, null, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], fkontak, m) -}else{ -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)}} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, link, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], m, frep)}} - -if (command == temaX[22][1] || command == temaX[22][2]) { -let res = await fetch(APIs.nekobot + "image?type=" + temaX[22][0]) -let json = await res.json() -let link = json.message -if (link.slice(-3) == 'gif') { -let stickerr = await sticker(false, link, global.packname, global.author) -await conn.sendFile(m.chat, stickerr, 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: lenguajeGB.smsCont18PornP2(), body: wm, mediaType: 2, sourceUrl: redesMenu.getRandom(), thumbnail: await(await fetch(img16)).buffer()}}}, { quoted: m }) -await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, null, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], fkontak, m) -}else{ -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)}} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, link, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], m, frep)}} - -if (command == temaX[23][1] || command == temaX[23][2]) { -let res = await fetch(APIs.nekobot + "image?type=" + temaX[23][0]) -let json = await res.json() -let link = json.message -if (link.slice(-3) == 'gif') { -let stickerr = await sticker(false, link, global.packname, global.author) -await conn.sendFile(m.chat, stickerr, 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: lenguajeGB.smsCont18PornP2(), body: wm, mediaType: 2, sourceUrl: redesMenu.getRandom(), thumbnail: await(await fetch(img16)).buffer()}}}, { quoted: m }) -await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, null, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], fkontak, m) -}else{ -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)}} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, link, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], m, frep)}} - -if (command == temaX[24][1] || command == temaX[24][2]) { -let res = await fetch(APIs.purrbot + "img/" + temaX[24][0]) -let json = await res.json() -let link2 = json.link -let stickerr = await sticker(false, link2, global.packname, global.author) -await conn.sendFile(m.chat, stickerr, 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: lenguajeGB.smsCont18PornP2(), body: wm, mediaType: 2, sourceUrl: redesMenu.getRandom(), thumbnail: await(await fetch(img16)).buffer()}}}, { quoted: m }) -await conn.sendFile(m.chat, null, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, null, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno anal' : 'nsfws anal'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? 'pornoanal' : 'nsfwanal'}`]], fkontak, m)} - -if (command == temaX[25][1] || command == temaX[25][2]) { -let res = await fetch(APIs.purrbot + "img/" + temaX[25][0]) -let json = await res.json() -let link2 = json.link -let stickerr = await sticker(false, link2, global.packname, global.author) -await conn.sendFile(m.chat, stickerr, 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: lenguajeGB.smsCont18PornP2(), body: wm, mediaType: 2, sourceUrl: redesMenu.getRandom(), thumbnail: await(await fetch(img16)).buffer()}}}, { quoted: m }) -await conn.sendFile(m.chat, null, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} - -if (command == temaX[26][1] || command == temaX[26][2]) { -let res = await fetch(APIs.purrbot + "img/" + temaX[26][0]) -let json = await res.json() -let link2 = json.link -let stickerr = await sticker(false, link2, global.packname, global.author) -await conn.sendFile(m.chat, stickerr, 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: lenguajeGB.smsCont18PornP2(), body: wm, mediaType: 2, sourceUrl: redesMenu.getRandom(), thumbnail: await(await fetch(img16)).buffer()}}}, { quoted: m }) -await conn.sendFile(m.chat, null, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} - -if (command == temaX[27][1] || command == temaX[27][2]) { -let res = await fetch(APIs.purrbot + "img/" + temaX[27][0]) -let json = await res.json() -let link2 = json.link -let stickerr = await sticker(false, link2, global.packname, global.author) -await conn.sendFile(m.chat, stickerr, 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: lenguajeGB.smsCont18PornP2(), body: wm, mediaType: 2, sourceUrl: redesMenu.getRandom(), thumbnail: await(await fetch(img16)).buffer()}}}, { quoted: m }) -await conn.sendFile(m.chat, null, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} - -if (command == temaX[28][1] || command == temaX[28][2]) { -let res = await fetch(APIs.purrbot + "img/" + temaX[28][0]) -let json = await res.json() -let link2 = json.link -let stickerr = await sticker(false, link2, global.packname, global.author) -await conn.sendFile(m.chat, stickerr, 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: lenguajeGB.smsCont18PornP2(), body: wm, mediaType: 2, sourceUrl: redesMenu.getRandom(), thumbnail: await(await fetch(img16)).buffer()}}}, { quoted: m }) -await conn.sendFile(m.chat, null, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} - -if (command == temaX[29][1] || command == temaX[29][2]) { -let res = await fetch(APIs.purrbot + "img/" + temaX[29][0]) -let json = await res.json() -let link2 = json.link -let stickerr = await sticker(false, link2, global.packname, global.author) -await conn.sendFile(m.chat, stickerr, 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: lenguajeGB.smsCont18PornP2(), body: wm, mediaType: 2, sourceUrl: redesMenu.getRandom(), thumbnail: await(await fetch(img16)).buffer()}}}, { quoted: m }) -await conn.sendFile(m.chat, null, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, null, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno pussy' : 'nsfw pussy'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? 'pornopussy' : 'nsfwpussy'}`]], fkontak, m)} - -if (command == temaX[30][1] || command == temaX[30][2]) { -let res = await fetch(APIs.purrbot + "img/" + temaX[30][0]) -let json = await res.json() -let link2 = json.link -let stickerr = await sticker(false, link2, global.packname, global.author) -await conn.sendFile(m.chat, stickerr, 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: lenguajeGB.smsCont18PornP2(), body: wm, mediaType: 2, sourceUrl: redesMenu.getRandom(), thumbnail: await(await fetch(img16)).buffer()}}}, { quoted: m }) -await conn.sendFile(m.chat, null, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, null, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], fkontak, m)} - -if (command == temaX[31][1] || command == temaX[31][2]) { -let res = await fetch(APIs.purrbot + "img/" + temaX[31][0]) -let json = await res.json() -let link2 = json.link -let stickerr = await sticker(false, link2, global.packname, global.author) -await conn.sendFile(m.chat, stickerr, 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: lenguajeGB.smsCont18PornP2(), body: wm, mediaType: 2, sourceUrl: redesMenu.getRandom(), thumbnail: await(await fetch(img16)).buffer()}}}, { quoted: m }) -await conn.sendFile(m.chat, null, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, null, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno orgia' : 'nsfw orgy'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? 'pornorgia' : 'nsfworgy'}`]], fkontak, m)} - -if (command == temaX[32][1] || command == temaX[32][2]) { -let res = await fetch(APIs.purrbot + "img/" + temaX[32][0]) -let json = await res.json() -let link2 = json.link -let stickerr = await sticker(false, link2, global.packname, global.author) -await conn.sendFile(m.chat, stickerr, 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: lenguajeGB.smsCont18PornP2(), body: wm, mediaType: 2, sourceUrl: redesMenu.getRandom(), thumbnail: await(await fetch(img16)).buffer()}}}, { quoted: m }) -await conn.sendFile(m.chat, null, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} - -if (command == temaX[33][1] || command == temaX[33][2]) { //https://lewd.tritan.dev/api/v1/yaoi -let res = await fetch(APIs.nekobot + "image?type=" + temaX[33][0]) -let json = await res.json() -let link = json.message -if (link.slice(-3) == 'gif') { -let stickerr = await sticker(false, link, global.packname, global.author) -await conn.sendFile(m.chat, stickerr, 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: lenguajeGB.smsCont18PornP2(), body: wm, mediaType: 2, sourceUrl: redesMenu.getRandom(), thumbnail: await(await fetch(img16)).buffer()}}}, { quoted: m }) -await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, null, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno yaoi' : 'nsfw yaoi'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? 'pornoyaoi' : 'nsfwyaoi'}`]], fkontak, m) -}else{ -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)}} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, link, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [`🥵 ${lenguajeGB.lenguaje() == 'es' ? 'porno yaoi' : 'nsfw yaoi'} 🥵`.toUpperCase(), `${usedPrefix}${lenguajeGB.lenguaje() == 'es' ? 'pornoyaoi' : 'nsfwyaoi'}`]], m, frep)}} - -if (command == temaX[34][1] || command == temaX[34][2]) { -let list = temaX[34][0] -let link = list[Math.floor(Math.random() * list.length)] -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, link, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], m, frep)} - -if (command == temaX[35][1] || command == temaX[35][2]) { -let list = temaX[35][0] -let link = list[Math.floor(Math.random() * list.length)] -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, link, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], m, frep)} - -if (command == temaX[36][1] || command == temaX[36][2]) { -let list = temaX[36][0] -let link = list[Math.floor(Math.random() * list.length)] -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, link, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], m, frep)} - -if (command == temaX[37][1] || command == temaX[37][2]) { -let list = temaX[37][0] -let link = list[Math.floor(Math.random() * list.length)] -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, link, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], m, frep)} - -if (command == temaX[38][1] || command == temaX[38][2]) { -let list = temaX[38][0] -let link = list[Math.floor(Math.random() * list.length)] -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, link, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], m, frep)} - -if (command == temaX[39][1] || command == temaX[39][2]) { -let list = temaX[39][0] -let link = list[Math.floor(Math.random() * list.length)] -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, link, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], m, frep)} - -if (command == temaX[40][1] || command == temaX[40][2]) { -let list = temaX[40][0] -let link = list[Math.floor(Math.random() * list.length)] -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, link, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], m, frep)} - -if (command == temaX[41][1] || command == temaX[41][2]) { -let list = temaX[41][0] -let link = list[Math.floor(Math.random() * list.length)] -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} -//await conn.sendButton(m.chat, lenguajeGB.smsCont18PornP(), `*_${lenguajeGB['smsBotonM7']()}_* » ${user.premiumTime > 0 ? '✅' : '❌'}\n` + wm + ` : *${command[0].toUpperCase() + command.substring(1)}*`, link, [[lenguajeGB.smsSigPrem(), `${usedPrefix + command}`], [lenguajeGB.lenguaje() == 'es' ? '🔞 ver lista porno 🔞'.toUpperCase() : '🔞 list horny🔞 '.toUpperCase(), lenguajeGB.lenguaje() == 'es' ? usedPrefix + 'listaporno' : usedPrefix + 'listhorny']], m, frep)} - -if (command == temaX[42][1] || command == temaX[42][2]) { -let list = temaX[42][0] -let link = list[Math.floor(Math.random() * list.length)] -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} - -if (command == temaX[43][1] || command == temaX[43][2]) { -let list = temaX[43][0] -let link = list[Math.floor(Math.random() * list.length)] -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} - -if (command == temaX[44][1] || command == temaX[44][2]) { -let list = temaX[44][0] -let link = list[Math.floor(Math.random() * list.length)] -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} - -if (command == temaX[45][1] || command == temaX[45][2]) { -let list = temaX[45][0] -let link = list[Math.floor(Math.random() * list.length)] -await conn.sendFile(m.chat, link, null, `${lenguajeGB['smsCont18Porn']()}\n${lenguajeGB['smsBotonM7']()} » ${user.premiumTime > 0 ? '✅' : '❌'}`, null, null, {viewOnce: true}, m)} - -} catch (e) { -await conn.sendButton(m.chat, `\n${wm}`, lenguajeGB['smsMalError3']() + '#report ' + usedPrefix + command, null, [[lenguajeGB.smsMensError1(), `#reporte ${lenguajeGB['smsMensError2']()} *${usedPrefix + command}*`]], m) -console.log(`❗❗ ${lenguajeGB['smsMensError2']()} ${usedPrefix + command} ❗❗`) -console.log(e)} -} -handler.command = [temaX[0][1], temaX[0][2], temaX[1][1], temaX[1][2], temaX[2][1], temaX[2][2], temaX[3][1], temaX[3][2], temaX[4][1], temaX[4][2], temaX[5][1], temaX[5][2], temaX[6][1], temaX[6][2], temaX[7][1], temaX[7][2], temaX[8][1], temaX[8][2], temaX[9][1], temaX[9][2], temaX[10][1], temaX[10][2], temaX[11][1], temaX[11][2], temaX[12][1], temaX[12][2], temaX[13][1], temaX[13][2], temaX[14][1], temaX[14][2], temaX[15][1], temaX[15][2], temaX[16][1], temaX[16][2], temaX[17][1], temaX[17][2], temaX[18][1], temaX[18][2], temaX[19][1], temaX[19][2], temaX[20][1], temaX[20][2], temaX[21][1], temaX[21][2], temaX[22][1], temaX[22][2], temaX[23][1], temaX[23][2], temaX[24][1], temaX[24][2], temaX[25][1], temaX[25][2], temaX[26][1], temaX[26][2], temaX[27][1], temaX[27][2], temaX[28][1], temaX[28][2], temaX[29][1], temaX[29][2], temaX[30][1], temaX[30][2], temaX[31][1], temaX[31][2], temaX[32][1], temaX[32][2], temaX[33][1], temaX[33][2], temaX[34][1], temaX[34][2], temaX[35][1], temaX[35][2], temaX[36][1], temaX[36][2], temaX[37][1], temaX[37][2], temaX[38][1], temaX[38][2], temaX[39][1], temaX[39][2], temaX[40][1], temaX[40][2], temaX[41][1], temaX[41][2], temaX[42][1], temaX[42][2], temaX[43][1], temaX[43][2], temaX[44][1], temaX[44][2], temaX[45][1], temaX[45][2]] -handler.premium = true -export default handler - -global.cosplay = ['https://img.nickpic.host/qDgksb.jpg', -'https://img.nickpic.host/qDg9kX.jpg', -'https://img.nickpic.host/qDg2Me.jpg', -'https://img.nickpic.host/qDg05F.jpg', -'https://img.nickpic.host/qDgYoD.jpg', -'https://img.nickpic.host/qDgVZM.jpg', -'https://img.nickpic.host/qDgNzP.jpg', -'https://img.nickpic.host/qDg8Nd.jpg', -'https://img.nickpic.host/qDgHA5.jpg', -'https://img.nickpic.host/qDg7Qq.jpg', -'https://img.nickpic.host/qDgJQf.jpg', -'https://img.nickpic.host/qDgLV6.jpg', -'https://img.nickpic.host/qDgTpp.jpg', -'https://img.nickpic.host/qDgWAY.jpg', -'https://img.nickpic.host/qDgddG.jpg', -'https://img.nickpic.host/qDgZ7A.jpg', -'https://img.nickpic.host/qDqG5z.jpg', -'https://img.nickpic.host/qDqIRc.jpg', -'https://img.nickpic.host/qDqmkW.jpg', -'https://img.nickpic.host/qDqvUj.jpg', -'https://img.nickpic.host/qDqxVJ.jpg', -'https://img.nickpic.host/qDqrEs.jpg', -'https://img.nickpic.host/qDqbpn.jpg', -'https://img.nickpic.host/qDqs72.jpg', -'https://img.nickpic.host/qDq3dQ.jpg', -'https://img.nickpic.host/qDqaSx.jpg', -'https://img.nickpic.host/qDqjRN.jpg', -'https://img.nickpic.host/qDqlJO.jpg', -'https://img.nickpic.host/qDqS3m.jpg', -'https://img.nickpic.host/qDqgfq.jpg', -'https://img.nickpic.host/qDqcU8.jpg', -'https://img.nickpic.host/qDqupd.jpg', -'https://img.nickpic.host/qDqAED.jpg', -'https://img.nickpic.host/qDqE85.jpg', -'https://img.nickpic.host/qDqOdP.jpg', -'https://img.nickpic.host/qDq6SM.jpg', -'https://img.nickpic.host/qDqiXb.jpg', -'https://img.nickpic.host/qDqC1F.jpg', -'https://img.nickpic.host/qDqQJe.jpg', -'https://img.nickpic.host/qDqX3X.jpg', -'https://img.nickpic.host/qDqnff.jpg', -'https://img.nickpic.host/qDqMv6.jpg', -'https://img.nickpic.host/qDqROp.jpg', -'https://img.nickpic.host/qDq18Y.jpg', -'https://img.nickpic.host/qDq4yA.jpg', -'https://img.nickpic.host/qDqz1z.jpg', -'https://img.nickpic.host/qDqwcG.jpg', -'https://img.nickpic.host/qDq7Lc.jpg', -'https://img.nickpic.host/qDqK3W.jpg', -'https://img.nickpic.host/qDqH0j.jpg', -'https://img.nickpic.host/qDqVvJ.jpg', -'https://img.nickpic.host/qDqfOn.jpg', -'https://img.nickpic.host/qDqecQ.jpg', -'https://img.nickpic.host/qDq0Ks.jpg', -'https://img.nickpic.host/qDq2y2.jpg', -'https://img.nickpic.host/qDqk4x.jpg', -'https://img.nickpic.host/qDqJLN.jpg', -'https://img.nickpic.host/qDqPFO.jpg', -'https://img.nickpic.host/qDqTim.jpg', -'https://img.nickpic.host/qDqW08.jpg', -'https://img.nickpic.host/qDuGKD.jpg', -'https://img.nickpic.host/qDqdxq.jpg', -'https://img.nickpic.host/qDqyOd.jpg', -'https://img.nickpic.host/qDumG5.jpg', -'https://img.nickpic.host/qDuvPF.jpg', -'https://img.nickpic.host/qDuocP.jpg', -'https://img.nickpic.host/qDup4M.jpg', -'https://img.nickpic.host/qDuBFe.jpg', -'https://img.nickpic.host/qDur2b.jpg', -'https://img.nickpic.host/qDubiX.jpg', -'https://img.nickpic.host/qDu3xf.jpg', -'https://img.nickpic.host/qDuFh6.jpg', -'https://img.nickpic.host/qDulGY.jpg', -'https://img.nickpic.host/qDuaYp.jpg', -'https://img.nickpic.host/qDu5gA.jpg', -'https://img.nickpic.host/qDuSDG.jpg', -'https://img.nickpic.host/qDucPz.jpg', -'https://img.nickpic.host/qDuqac.jpg', -'https://img.nickpic.host/qDuuiW.jpg', -'https://img.nickpic.host/qDuOBj.jpg', -'https://img.nickpic.host/qDuA21.jpg', -'https://img.nickpic.host/qDu6Yn.jpg', -'https://img.nickpic.host/qDuhhJ.jpg', -'https://img.nickpic.host/qDuQIs.jpg', -'https://img.nickpic.host/qDuUg2.jpg', -'https://img.nickpic.host/qDuXDQ.jpg', -'https://img.nickpic.host/qDutaN.jpg', -'https://img.nickpic.host/qDuMnO.jpg', -'https://img.nickpic.host/qDuR9m.jpg', -'https://img.nickpic.host/qDu4B8.jpg', -'https://img.nickpic.host/qDuD6q.jpg', -'https://img.nickpic.host/qDuwYd.jpg', -'https://img.nickpic.host/qDu7ID.jpg', -'https://img.nickpic.host/qDu8q5.jpg', -'https://img.nickpic.host/qDuKDP.jpg', -'https://img.nickpic.host/qDuYTM.jpg', -'https://img.nickpic.host/qDuNjF.jpg', -'https://img.nickpic.host/qDuVne.jpg', -'https://img.nickpic.host/qDuf9X.jpg', -'https://img.nickpic.host/qDu2bb.jpg', -'https://img.nickpic.host/qDu96f.jpg', -'https://img.nickpic.host/qDueH6.jpg', -'https://img.nickpic.host/qDuJmp.jpg', -'https://img.nickpic.host/qDuLqY.jpg', -'https://img.nickpic.host/qDuTWG.jpg', -'https://img.nickpic.host/qDuPwA.jpg', -'https://img.nickpic.host/qDuZjz.jpg', -'https://img.nickpic.host/qDAIb1.jpg', -'https://img.nickpic.host/qDudtc.jpg', -'https://img.nickpic.host/qDuy9W.jpg', -'https://img.nickpic.host/qDAmCj.jpg', -'https://img.nickpic.host/qDAoHJ.jpg', -'https://img.nickpic.host/qDAvmn.jpg', -'https://img.nickpic.host/qDAxus.jpg', -'https://img.nickpic.host/qDABw2.jpg', -'https://img.nickpic.host/qDAbWQ.jpg', -'https://img.nickpic.host/qDAslx.jpg', -'https://img.nickpic.host/qDA3tN.jpg', -'https://img.nickpic.host/qDA5Nq.jpg', -'https://img.nickpic.host/qDAFeO.jpg', -'https://img.nickpic.host/qDAjrm.jpg', -'https://img.nickpic.host/qDAlC8.jpg', -'https://img.nickpic.host/qDAcmd.jpg', -'https://img.nickpic.host/qDAguD.jpg', -'https://img.nickpic.host/qDAqz5.jpg', -'https://img.nickpic.host/qDAElM.jpg', -'https://img.nickpic.host/qDAuWP.jpg', -'https://img.nickpic.host/qDAhee.jpg', -'https://img.nickpic.host/qDAOMF.jpg', -'https://img.nickpic.host/qDACrX.jpg', -'https://img.nickpic.host/qDAQQb.jpg', -'https://img.nickpic.host/qDAUNf.jpg', -'https://img.nickpic.host/qDAio6.jpg', -'https://img.nickpic.host/qDAnAp.jpg', -'https://img.nickpic.host/qDA15G.jpg', -'https://img.nickpic.host/qDAtzY.jpg', -'https://img.nickpic.host/qDAMZA.jpg', -'https://img.nickpic.host/qDA4Mz.jpg', -'https://img.nickpic.host/qDADkc.jpg', -'https://img.nickpic.host/qDAzrW.jpg', -'https://img.nickpic.host/qDA7Q1.jpg', -'https://img.nickpic.host/qDA8Vj.jpg', -'https://img.nickpic.host/qDAHAn.jpg', -'https://img.nickpic.host/qDAYoJ.jpg', -'https://img.nickpic.host/qDAVZ2.jpg', -'https://img.nickpic.host/qDAN7s.jpg', -'https://img.nickpic.host/qDA05Q.jpg', -'https://img.nickpic.host/qDA2Rx.jpg', -'https://img.nickpic.host/qDA9kN.jpg', -'https://img.nickpic.host/qDATpq.jpg', -'https://img.nickpic.host/qDAJUm.jpg', -'https://img.nickpic.host/qDAWAd.jpg', -'https://img.nickpic.host/qDALV8.jpg', -'https://img.nickpic.host/qDAksO.jpg', -'https://img.nickpic.host/qDAZ7D.jpg', -'https://img.nickpic.host/qDAdd5.jpg', -'https://img.nickpic.host/qDEIRM.jpg', -'https://img.nickpic.host/qDEG5P.jpg', -'https://img.nickpic.host/qDEmJF.jpg', -'https://img.nickpic.host/qDEpse.jpg', -'https://img.nickpic.host/qDEvUX.jpg', -'https://img.nickpic.host/qDExfb.jpg', -'https://img.nickpic.host/qDEbpf.jpg', -'https://img.nickpic.host/qDErE6.jpg', -'https://img.nickpic.host/qDE3dY.jpg', -'https://img.nickpic.host/qDEs8p.jpg', -'https://img.nickpic.host/qDEaSA.jpg', -'https://img.nickpic.host/qDEj1G.jpg', -'https://img.nickpic.host/qDElJz.jpg', -'https://img.nickpic.host/qDES3c.jpg', -'https://img.nickpic.host/qDEcUW.jpg', -'https://img.nickpic.host/qDEuvj.jpg', -'https://img.nickpic.host/qDEgf1.jpg', -'https://img.nickpic.host/qDEAEJ.jpg', -'https://img.nickpic.host/qDEE8n.jpg', -'https://img.nickpic.host/qDEOys.jpg', -'https://img.nickpic.host/qDE6S2.jpg', -'https://img.nickpic.host/qDEC1Q.jpg', -'https://img.nickpic.host/qDEX3N.jpg', -'https://img.nickpic.host/qDEQLx.jpg', -'https://img.nickpic.host/qDEiXO.jpg', -'https://img.nickpic.host/qDEn0m.jpg', -'https://img.nickpic.host/qDEMv8.jpg', -'https://img.nickpic.host/qDEROq.jpg', -'https://img.nickpic.host/qDE18d.jpg', -'https://img.nickpic.host/qDEz1P.jpg', -'https://img.nickpic.host/qDE4yD.jpg', -'https://img.nickpic.host/qDEwc5.jpg', -'https://img.nickpic.host/qDEKFF.jpg', -'https://img.nickpic.host/qDE7LM.jpg', -'https://img.nickpic.host/qDEYXe.jpg', -'https://img.nickpic.host/qDEH0X.jpg', -'https://img.nickpic.host/qDEVxb.jpg', -'https://img.nickpic.host/qDE0K6.jpg', -'https://img.nickpic.host/qDEfOf.jpg', -'https://img.nickpic.host/qDEecY.jpg', -'https://img.nickpic.host/qDE9Gp.jpg', -'https://img.nickpic.host/qDEk4A.jpg', -'https://img.nickpic.host/qDEJPG.jpg', -'https://img.nickpic.host/qDEPFz.jpg', -'https://img.nickpic.host/qDEW0W.jpg', -'https://img.nickpic.host/qDETic.jpg', -'https://img.nickpic.host/qDOGKJ.jpg', -'https://img.nickpic.host/qDEdx1.jpg', -'https://img.nickpic.host/qDEyhj.jpg', -'https://img.nickpic.host/qDOmGn.jpg', -'https://img.nickpic.host/qDOogs.jpg', -'https://img.nickpic.host/qDOp42.jpg', -'https://img.nickpic.host/qDOvPQ.jpg', -'https://img.nickpic.host/qDOBax.jpg', -'https://img.nickpic.host/qDOr2O.jpg', -'https://img.nickpic.host/qDObiN.jpg', -'https://img.nickpic.host/qDO3Bm.jpg', -'https://img.nickpic.host/qDOlGd.jpg', -'https://img.nickpic.host/qDOFh8.jpg', -'https://img.nickpic.host/qDOaYq.jpg', -'https://img.nickpic.host/qDOSD5.jpg', -'https://img.nickpic.host/qDO5gD.jpg', -'https://img.nickpic.host/qDOcPP.jpg', -'https://img.nickpic.host/qDOqaM.jpg', -'https://img.nickpic.host/qDOunF.jpg', -'https://img.nickpic.host/qDOOBX.jpg', -'https://img.nickpic.host/qDOA2e.jpg', -'https://img.nickpic.host/qDOh6b.jpg', -'https://img.nickpic.host/qDO6Yf.jpg', -'https://img.nickpic.host/qDOUqp.jpg', -'https://img.nickpic.host/qDOQI6.jpg', -'https://img.nickpic.host/qDOXDY.jpg', -'https://img.nickpic.host/qDOtjG.jpg', -'https://img.nickpic.host/qDOiTA.jpg', -'https://img.nickpic.host/qDOMnz.jpg', -'https://img.nickpic.host/qDOR9c.jpg', -'https://img.nickpic.host/qDO4BW.jpg', -'https://img.nickpic.host/qDOwHj.jpg', -'https://img.nickpic.host/qDOD61.jpg', -'https://img.nickpic.host/qDO7IJ.jpg', -'https://img.nickpic.host/qDO8qn.jpg', -'https://img.nickpic.host/qDOKws.jpg', -'https://img.nickpic.host/qDOYT2.jpg', -'https://img.nickpic.host/qDONjQ.jpg', -'https://img.nickpic.host/qDOVtx.jpg', -'https://img.nickpic.host/qDOf9N.jpg', -'https://img.nickpic.host/qDO2bO.jpg', -'https://img.nickpic.host/qDO9Cm.jpg', -'https://img.nickpic.host/qDOeH8.jpg', -'https://img.nickpic.host/qDOJmq.jpg', -'https://img.nickpic.host/qDOLqd.jpg', -'https://img.nickpic.host/qDOTW5.jpg', -'https://img.nickpic.host/qDOPwD.jpg', -'https://img.nickpic.host/qDOZjP.jpg', -'https://img.nickpic.host/qDOdtM.jpg', -'https://img.nickpic.host/qDOyeF.jpg', -'https://img.nickpic.host/qDhIbe.jpg', -'https://img.nickpic.host/qDhmCX.jpg', -'https://img.nickpic.host/qDhvmf.jpg', -'https://img.nickpic.host/qDhoNb.jpg', -'https://img.nickpic.host/qDhxu6.jpg', -'https://img.nickpic.host/qDhBzp.jpg', -'https://img.nickpic.host/qDhbWY.jpg', -'https://img.nickpic.host/qDhslA.jpg', -'https://img.nickpic.host/qDh3MG.jpg', -'https://img.nickpic.host/qDhjrc.jpg', -'https://img.nickpic.host/qDhFez.jpg', -'https://img.nickpic.host/qDhlCW.jpg', -'https://img.nickpic.host/qDh5N1.jpg', -'https://img.nickpic.host/qDhcoj.jpg', -'https://img.nickpic.host/qDhguJ.jpg', -'https://img.nickpic.host/qDhqzn.jpg', -'https://img.nickpic.host/qDhEl2.jpg', -'https://img.nickpic.host/qDhuZs.jpg', -'https://img.nickpic.host/qDhOMQ.jpg', -'https://img.nickpic.host/qDhCrN.jpg', -'https://img.nickpic.host/qDhhkx.jpg', -'https://img.nickpic.host/qDhQQO.jpg', -'https://img.nickpic.host/qDhUVm.jpg', -'https://img.nickpic.host/qDhnAq.jpg', -'https://img.nickpic.host/qDhio8.jpg', -'https://img.nickpic.host/qDhtzd.jpg', -'https://img.nickpic.host/qDh155.jpg', -'https://img.nickpic.host/qDhMZD.jpg', -'https://img.nickpic.host/qDh4MP.jpg', -'https://img.nickpic.host/qDhDkM.jpg', -'https://img.nickpic.host/qDh7Qe.jpg', -'https://img.nickpic.host/qDhzsF.jpg', -'https://img.nickpic.host/qDh8VX.jpg', -'https://img.nickpic.host/qDhYpb.jpg', -'https://img.nickpic.host/qDhN76.jpg', -'https://img.nickpic.host/qDhVdp.jpg', -'https://img.nickpic.host/qDh05Y.jpg', -'https://img.nickpic.host/qDh9JG.jpg', -'https://img.nickpic.host/qDh2RA.jpg', -'https://img.nickpic.host/qDhksz.jpg', -'https://img.nickpic.host/qDhJUc.jpg', -'https://img.nickpic.host/qDhLVW.jpg', -'https://img.nickpic.host/qDhTp1.jpg', -'https://img.nickpic.host/qDhWEj.jpg', -'https://img.nickpic.host/qDhZ7J.jpg', -'https://img.nickpic.host/qD6GSs.jpg', -'https://img.nickpic.host/qDhddn.jpg', -'https://img.nickpic.host/qD6IR2.jpg', -'https://img.nickpic.host/qD6mJQ.jpg', -'https://img.nickpic.host/qD6p3x.jpg', -'https://img.nickpic.host/qD6vUN.jpg', -'https://img.nickpic.host/qD6xfO.jpg', -'https://img.nickpic.host/qD6rE8.jpg', -'https://img.nickpic.host/qD6bvm.jpg', -'https://img.nickpic.host/qD6s8q.jpg', -'https://img.nickpic.host/qD63dd.jpg', -'https://img.nickpic.host/qD6aSD.jpg', -'https://img.nickpic.host/qD6j15.jpg', -'https://img.nickpic.host/qD6lJP.jpg', -'https://img.nickpic.host/qD6S3M.jpg', -'https://img.nickpic.host/qD6cXF.jpg', -'https://img.nickpic.host/qD6gfe.jpg', -'https://img.nickpic.host/qD6uvX.jpg', -'https://img.nickpic.host/qD6AOb.jpg', -'https://img.nickpic.host/qD6E8f.jpg', -'https://img.nickpic.host/qD6Oy6.jpg', -'https://img.nickpic.host/qD66cp.jpg', -'https://img.nickpic.host/qD6C1Y.jpg', -'https://img.nickpic.host/qD6XFG.jpg', -'https://img.nickpic.host/qD6QLA.jpg', -'https://img.nickpic.host/qD6iXz.jpg', -'https://img.nickpic.host/qD6n0c.jpg', -'https://img.nickpic.host/qD6MvW.jpg', -'https://img.nickpic.host/qD6RO1.jpg', -'https://img.nickpic.host/qD61Kj.jpg', -'https://img.nickpic.host/qD6wcn.jpg', -'https://img.nickpic.host/qD64yJ.jpg', -'https://img.nickpic.host/qD67L2.jpg', -'https://img.nickpic.host/qD6z4s.jpg', -'https://img.nickpic.host/qD6KFQ.jpg', -'https://img.nickpic.host/qD6Yix.jpg', -'https://img.nickpic.host/qD6VxO.jpg', -'https://img.nickpic.host/qD6fhm.jpg', -'https://img.nickpic.host/qD6H0N.jpg', -'https://img.nickpic.host/qD69Gq.jpg', -'https://img.nickpic.host/qD60K8.jpg', -'https://img.nickpic.host/qD6k4D.jpg', -'https://img.nickpic.host/qD6ecd.jpg', -'https://img.nickpic.host/qD6JP5.jpg', -'https://img.nickpic.host/qD6PFP.jpg', -'https://img.nickpic.host/qD6TiM.jpg', -'https://img.nickpic.host/qD6W2F.jpg', -'https://img.nickpic.host/qD6dxe.jpg', -'https://img.nickpic.host/qD6yhX.jpg', -'https://img.nickpic.host/qDCGYb.jpg', -'https://img.nickpic.host/qDCmGf.jpg', -'https://img.nickpic.host/qDCog6.jpg', -'https://img.nickpic.host/qDCpDp.jpg', -'https://img.nickpic.host/qDCvPY.jpg', -'https://img.nickpic.host/qDCBaA.jpg', -'https://img.nickpic.host/qDCbnG.jpg', -'https://img.nickpic.host/qDCr2z.jpg', -'https://img.nickpic.host/qDC3Bc.jpg', -'https://img.nickpic.host/qDCFhW.jpg', -'https://img.nickpic.host/qDCaY1.jpg', -'https://img.nickpic.host/qDClIj.jpg', -'https://img.nickpic.host/qDC5gJ.jpg', -'https://img.nickpic.host/qDCSDn.jpg', -'https://img.nickpic.host/qDCcTs.jpg', -'https://img.nickpic.host/qDCqa2.jpg', -'https://img.nickpic.host/qDCunQ.jpg', -'https://img.nickpic.host/qDCA9x.jpg', -'https://img.nickpic.host/qDCOBN.jpg', -'https://img.nickpic.host/qDCh6O.jpg', -'https://img.nickpic.host/qDC6Hm.jpg', -'https://img.nickpic.host/qDCQI8.jpg', -'https://img.nickpic.host/qDCUqq.jpg', -'https://img.nickpic.host/qDCtj5.jpg', -'https://img.nickpic.host/qDCXDd.jpg', -'https://img.nickpic.host/qDCiTD.jpg', -'https://img.nickpic.host/qDCR9M.jpg', -'https://img.nickpic.host/qDCMnP.jpg', -'https://img.nickpic.host/qDC4bF.jpg', -'https://img.nickpic.host/qDCD6e.jpg', -'https://img.nickpic.host/qDCwHX.jpg', -'https://img.nickpic.host/qDCKw6.jpg', -'https://img.nickpic.host/qDC7mb.jpg', -'https://img.nickpic.host/qDC8qf.jpg', -'https://img.nickpic.host/qDCYWp.jpg', -'https://img.nickpic.host/qDCNjY.jpg', -'https://img.nickpic.host/qDCVtA.jpg', -'https://img.nickpic.host/qDCfeG.jpg', -'https://img.nickpic.host/qDC2bz.jpg', -'https://img.nickpic.host/qDCJm1.jpg', -'https://img.nickpic.host/qDC9Cc.jpg', -'https://img.nickpic.host/qDCeHW.jpg', -'https://img.nickpic.host/qDCLuj.jpg', -'https://img.nickpic.host/qDCPwJ.jpg', -'https://img.nickpic.host/qDCTWn.jpg', -'https://img.nickpic.host/qDCZls.jpg', -'https://img.nickpic.host/qDCdt2.jpg', -'https://img.nickpic.host/qDCyeQ.jpg', -'https://img.nickpic.host/qDQIrx.jpg', -'https://img.nickpic.host/qDQmCN.jpg', -'https://img.nickpic.host/qDQoNO.jpg', -'https://img.nickpic.host/qDQvom.jpg', -'https://img.nickpic.host/qDQxu8.jpg', -'https://img.nickpic.host/qDQBzq.jpg', -'https://img.nickpic.host/qDQbWd.jpg', -'https://img.nickpic.host/qDQslD.jpg', -'https://img.nickpic.host/qDQ3M5.jpg', -'https://img.nickpic.host/qDQFeP.jpg', -'https://img.nickpic.host/qDQjrM.jpg', -'https://img.nickpic.host/qDQlQF.jpg', -'https://img.nickpic.host/qDQ5Ne.jpg', -'https://img.nickpic.host/qDQcoX.jpg', -'https://img.nickpic.host/qDQqzf.jpg', -'https://img.nickpic.host/qDQgAb.jpg', -'https://img.nickpic.host/qDQuZ6.jpg', -'https://img.nickpic.host/qDQOMY.jpg', -'https://img.nickpic.host/qDQE5p.jpg', -'https://img.nickpic.host/qDQhkA.jpg', -'https://img.nickpic.host/qDQCsG.jpg', -'https://img.nickpic.host/qDQQQz.jpg', -'https://img.nickpic.host/qDQUVc.jpg', -'https://img.nickpic.host/qDQioW.jpg', -'https://img.nickpic.host/qDQMZJ.jpg', -'https://img.nickpic.host/qDQnA1.jpg', -'https://img.nickpic.host/qDQt7j.jpg', -'https://img.nickpic.host/qDQ15n.jpg', -'https://img.nickpic.host/qDQ4Rs.jpg', -'https://img.nickpic.host/qDQDk2.jpg', -'https://img.nickpic.host/qDQzsQ.jpg', -'https://img.nickpic.host/qDQ7Ux.jpg', -'https://img.nickpic.host/qDQYpO.jpg', -'https://img.nickpic.host/qDQ8VN.jpg', -'https://img.nickpic.host/qDQHEm.jpg', -'https://img.nickpic.host/qDQN78.jpg', -'https://img.nickpic.host/qDQVdq.jpg', -'https://img.nickpic.host/qDQ05d.jpg', -'https://img.nickpic.host/qDQ2RD.jpg', -'https://img.nickpic.host/qDQksP.jpg', -'https://img.nickpic.host/qDQ9J5.jpg', -'https://img.nickpic.host/qDQJUM.jpg', -'https://img.nickpic.host/qDQLfF.jpg', -'https://img.nickpic.host/qDQTpe.jpg', -'https://img.nickpic.host/qDQWEX.jpg', -'https://img.nickpic.host/qDQZ8b.jpg', -'https://img.nickpic.host/qDQddf.jpg', -'https://img.nickpic.host/qDUGS6.jpg', -'https://img.nickpic.host/qDUI1p.jpg', -'https://img.nickpic.host/qDUmJY.jpg', -'https://img.nickpic.host/qDUp3A.jpg', -'https://img.nickpic.host/qDUvXG.jpg', -'https://img.nickpic.host/qDUxfz.jpg', -'https://img.nickpic.host/qDUbvc.jpg', -'https://img.nickpic.host/qDUrEW.jpg', -'https://img.nickpic.host/qDUs81.jpg', -'https://img.nickpic.host/qDU3yj.jpg', -'https://img.nickpic.host/qDUaSJ.jpg', -'https://img.nickpic.host/qDUj1n.jpg', -'https://img.nickpic.host/qDUlLs.jpg', -'https://img.nickpic.host/qDUcXQ.jpg', -'https://img.nickpic.host/qDUS32.jpg', -'https://img.nickpic.host/qDUg0x.jpg', -'https://img.nickpic.host/qDUuvN.jpg', -'https://img.nickpic.host/qDUAOO.jpg', -'https://img.nickpic.host/qDUEKm.jpg', -'https://img.nickpic.host/qDUOy8.jpg', -'https://img.nickpic.host/qDU6cq.jpg', -'https://img.nickpic.host/qDUC1d.jpg', -'https://img.nickpic.host/qDUQLD.jpg', -'https://img.nickpic.host/qDUXF5.jpg', -'https://img.nickpic.host/qDUiXP.jpg', -'https://img.nickpic.host/qDUn0M.jpg', -'https://img.nickpic.host/qDUROe.jpg', -'https://img.nickpic.host/qDUMxF.jpg', -'https://img.nickpic.host/qDU1KX.jpg', -'https://img.nickpic.host/qDUDGb.jpg', -'https://img.nickpic.host/qDUwcf.jpg', -'https://img.nickpic.host/qDUz46.jpg', -'https://img.nickpic.host/qDU7Pp.jpg', -'https://img.nickpic.host/qDUKFY.jpg', -'https://img.nickpic.host/qDUYiA.jpg', -'https://img.nickpic.host/qDUfhc.jpg', -'https://img.nickpic.host/qDUH2G.jpg', -'https://img.nickpic.host/qDUVxz.jpg', -'https://img.nickpic.host/qDU0KW.jpg', -'https://img.nickpic.host/qDU9G1.jpg', -'https://img.nickpic.host/qDUegj.jpg', -'https://img.nickpic.host/qDUk4J.jpg', -'https://img.nickpic.host/qDUJPn.jpg', -'https://img.nickpic.host/qDUTi2.jpg', -'https://img.nickpic.host/qDUW2Q.jpg', -'https://img.nickpic.host/qDUPas.jpg', -'https://img.nickpic.host/qDUdBx.jpg', -'https://img.nickpic.host/qDUyhN.jpg', -'https://img.nickpic.host/qDXGYO.jpg', -'https://img.nickpic.host/qDXmIm.jpg', -'https://img.nickpic.host/qDXog8.jpg', -'https://img.nickpic.host/qDXpDq.jpg', -'https://img.nickpic.host/qDXvPd.jpg', -'https://img.nickpic.host/qDXBaD.jpg', -'https://img.nickpic.host/qDXbn5.jpg', -'https://img.nickpic.host/qDXr2P.jpg', -'https://img.nickpic.host/qDX3BM.jpg', -'https://img.nickpic.host/qDXaYe.jpg', -'https://img.nickpic.host/qDXF6F.jpg', -'https://img.nickpic.host/qDXlIX.jpg', -'https://img.nickpic.host/qDX5qb.jpg', -'https://img.nickpic.host/qDXSDf.jpg', -'https://img.nickpic.host/qDXcT6.jpg', -'https://img.nickpic.host/qDXqjp.jpg', -'https://img.nickpic.host/qDXunY.jpg', -'https://img.nickpic.host/qDXObG.jpg', -'https://img.nickpic.host/qDXA9A.jpg', -'https://img.nickpic.host/qDXh6z.jpg', -'https://img.nickpic.host/qDXQIW.jpg', -'https://img.nickpic.host/qDX6Hc.jpg', -'https://img.nickpic.host/qDXXwj.jpg', -'https://img.nickpic.host/qDXUq1.jpg', -'https://img.nickpic.host/qDXiTJ.jpg', -'https://img.nickpic.host/qDXtjn.jpg', -'https://img.nickpic.host/qDXMts.jpg', -'https://img.nickpic.host/qDXDCx.jpg', -'https://img.nickpic.host/qDX4bQ.jpg', -'https://img.nickpic.host/qDXwHN.jpg', -'https://img.nickpic.host/qDXR92.jpg', -'https://img.nickpic.host/qDX7mO.jpg', -'https://img.nickpic.host/qDX8um.jpg', -'https://img.nickpic.host/qDXKw8.jpg', -'https://img.nickpic.host/qDXYWq.jpg', -'https://img.nickpic.host/qDXNjd.jpg', -'https://img.nickpic.host/qDXfe5.jpg', -'https://img.nickpic.host/qDXVtD.jpg', -'https://img.nickpic.host/qDX2bP.jpg', -'https://img.nickpic.host/qDX9CM.jpg', -'https://img.nickpic.host/qDXeNF.jpg', -'https://img.nickpic.host/qDXJme.jpg', -'https://img.nickpic.host/qDXLuX.jpg', -'https://img.nickpic.host/qDXTWf.jpg', -'https://img.nickpic.host/qDXPzb.jpg', -'https://img.nickpic.host/qDXZl6.jpg', -'https://img.nickpic.host/qDXdMp.jpg', -'https://img.nickpic.host/qDXyeY.jpg', -'https://img.nickpic.host/qDiIrA.jpg', -'https://img.nickpic.host/qDimQG.jpg', -'https://img.nickpic.host/qDivoc.jpg', -'https://img.nickpic.host/qDioNz.jpg', -'https://img.nickpic.host/qDixuW.jpg', -'https://img.nickpic.host/qDiBz1.jpg', -'https://img.nickpic.host/qDibZj.jpg', -'https://img.nickpic.host/qDi3Mn.jpg', -'https://img.nickpic.host/qDislJ.jpg', -'https://img.nickpic.host/qDiFks.jpg', -'https://img.nickpic.host/qDijr2.jpg', -'https://img.nickpic.host/qDi5Vx.jpg', -'https://img.nickpic.host/qDicoN.jpg', -'https://img.nickpic.host/qDilQQ.jpg', -'https://img.nickpic.host/qDigAO.jpg', -'https://img.nickpic.host/qDiq7m.jpg', -'https://img.nickpic.host/qDiuZ8.jpg', -'https://img.nickpic.host/qDiE5q.jpg', -'https://img.nickpic.host/qDiOMd.jpg', -'https://img.nickpic.host/qDihkD.jpg', -'https://img.nickpic.host/qDiCs5.jpg', -'https://img.nickpic.host/qDiQQP.jpg', -'https://img.nickpic.host/qDiipF.jpg', -'https://img.nickpic.host/qDiUVM.jpg', -'https://img.nickpic.host/qDinAe.jpg', -'https://img.nickpic.host/qDit7X.jpg', -'https://img.nickpic.host/qDiMdb.jpg', -'https://img.nickpic.host/qDi4R6.jpg', -'https://img.nickpic.host/qDi15f.jpg', -'https://img.nickpic.host/qDiDJp.jpg', -'https://img.nickpic.host/qDizsY.jpg', -'https://img.nickpic.host/qDi7UA.jpg', -'https://img.nickpic.host/qDiYpz.jpg', -'https://img.nickpic.host/qDi8fG.jpg', -'https://img.nickpic.host/qDiHEc.jpg', -'https://img.nickpic.host/qDiN7W.jpg', -'https://img.nickpic.host/qDiVd1.jpg', -'https://img.nickpic.host/qDi2RJ.jpg', -'https://img.nickpic.host/qDi0Sj.jpg', -'https://img.nickpic.host/qDi9Jn.jpg', -'https://img.nickpic.host/qDik3s.jpg', -'https://img.nickpic.host/qDiJU2.jpg', -'https://img.nickpic.host/qDiLfQ.jpg', -'https://img.nickpic.host/qDiTvx.jpg', -'https://img.nickpic.host/qDiWEN.jpg', -'https://img.nickpic.host/qDnI1q.jpg', -'https://img.nickpic.host/qDiZ8O.jpg', -'https://img.nickpic.host/qDidym.jpg', -'https://img.nickpic.host/qDnGS8.jpg', -'https://img.nickpic.host/qDnmJd.jpg', -'https://img.nickpic.host/qDnp3D.jpg', -'https://img.nickpic.host/qDns8e.jpg', -'https://img.nickpic.host/qDnvX5.jpg', -'https://img.nickpic.host/qDnbvM.jpg', -'https://img.nickpic.host/qDnxfP.jpg', -'https://img.nickpic.host/qDnrOF.jpg', -'https://img.nickpic.host/qDn3yX.jpg', -'https://img.nickpic.host/qDnacb.jpg', -'https://img.nickpic.host/qDnj1f.jpg', -'https://img.nickpic.host/qDnlL6.jpg', -'https://img.nickpic.host/qDnSFp.jpg', -'https://img.nickpic.host/qDng0A.jpg', -'https://img.nickpic.host/qDncXY.jpg', -'https://img.nickpic.host/qDnuxG.jpg', -'https://img.nickpic.host/qDnAOz.jpg', -'https://img.nickpic.host/qDnEKc.jpg', -'https://img.nickpic.host/qDnOyW.jpg', -'https://img.nickpic.host/qDn6c1.jpg', -'https://img.nickpic.host/qDnQLJ.jpg', -'https://img.nickpic.host/qDnC4j.jpg', -'https://img.nickpic.host/qDniis.jpg', -'https://img.nickpic.host/qDnXFn.jpg', -'https://img.nickpic.host/qDnn02.jpg', -'https://img.nickpic.host/qDnMxQ.jpg', -'https://img.nickpic.host/qDn1KN.jpg', -'https://img.nickpic.host/qDnRhx.jpg', -'https://img.nickpic.host/qDnwgm.jpg', -'https://img.nickpic.host/qDnDGO.jpg', -'https://img.nickpic.host/qDnz48.jpg', -'https://img.nickpic.host/qDn7Pq.jpg', -'https://img.nickpic.host/qDnKFd.jpg', -'https://img.nickpic.host/qDnH25.jpg', -'https://img.nickpic.host/qDnYiD.jpg', -'https://img.nickpic.host/qDnfhM.jpg', -'https://img.nickpic.host/qDnVxP.jpg', -'https://img.nickpic.host/qDn9Ge.jpg', -'https://img.nickpic.host/qDn0YF.jpg', -'https://img.nickpic.host/qDnegX.jpg', -'https://img.nickpic.host/qDnJPf.jpg', -'https://img.nickpic.host/qDnkDb.jpg', -'https://img.nickpic.host/qDnPa6.jpg', -'https://img.nickpic.host/qDnTnp.jpg', -'https://img.nickpic.host/qDnW2Y.jpg', -'https://img.nickpic.host/qDndBA.jpg', -'https://img.nickpic.host/qDtGYz.jpg', -'https://img.nickpic.host/qDny6G.jpg', -'https://img.nickpic.host/qDtmIc.jpg', -'https://img.nickpic.host/qDtogW.jpg', -'https://img.nickpic.host/qDtpD1.jpg', -'https://img.nickpic.host/qDtvTj.jpg', -'https://img.nickpic.host/qDtBaJ.jpg', -'https://img.nickpic.host/qDtbnn.jpg', -'https://img.nickpic.host/qDtr9s.jpg', -'https://img.nickpic.host/qDt3B2.jpg', -'https://img.nickpic.host/qDtF6Q.jpg', -'https://img.nickpic.host/qDtaHx.jpg', -'https://img.nickpic.host/qDtlIN.jpg', -'https://img.nickpic.host/qDt5qO.jpg', -'https://img.nickpic.host/qDtSwm.jpg', -'https://img.nickpic.host/qDtcT8.jpg', -'https://img.nickpic.host/qDtqjq.jpg', -'https://img.nickpic.host/qDtund.jpg', -'https://img.nickpic.host/qDtA9D.jpg', -'https://img.nickpic.host/qDtOb5.jpg', -'https://img.nickpic.host/qDth6P.jpg', -'https://img.nickpic.host/qDtUqe.jpg', -'https://img.nickpic.host/qDt6HM.jpg', -'https://img.nickpic.host/qDtQmF.jpg', -'https://img.nickpic.host/qDtXwX.jpg', -'https://img.nickpic.host/qDtiWb.jpg', -'https://img.nickpic.host/qDtMt6.jpg', -'https://img.nickpic.host/qDttjf.jpg', -'https://img.nickpic.host/qDtRep.jpg', -'https://img.nickpic.host/qDt4bY.jpg', -'https://img.nickpic.host/qDtDCA.jpg', -'https://img.nickpic.host/qDtwNG.jpg', -'https://img.nickpic.host/qDt7mz.jpg', -'https://img.nickpic.host/qDt8uc.jpg', -'https://img.nickpic.host/qDtKwW.jpg', -'https://img.nickpic.host/qDtYW1.jpg', -'https://img.nickpic.host/qDtNlj.jpg', -'https://img.nickpic.host/qDtVtJ.jpg', -'https://img.nickpic.host/qDtfen.jpg', -'https://img.nickpic.host/qDt2rs.jpg', -'https://img.nickpic.host/qDt9C2.jpg', -'https://img.nickpic.host/qDteNQ.jpg', -'https://img.nickpic.host/qDtJox.jpg', -'https://img.nickpic.host/qDtLuN.jpg', -'https://img.nickpic.host/qDtPzO.jpg', -'https://img.nickpic.host/qDtTZm.jpg', -'https://img.nickpic.host/qDtZl8.jpg', -'https://img.nickpic.host/qDtdMq.jpg', -'https://img.nickpic.host/qDMIrD.jpg', -'https://img.nickpic.host/qDtyed.jpg', -'https://img.nickpic.host/qDMmQ5.jpg', -'https://img.nickpic.host/qDMoNP.jpg', -'https://img.nickpic.host/qDMvoM.jpg', -'https://img.nickpic.host/qDMxAF.jpg', -'https://img.nickpic.host/qDMBze.jpg', -'https://img.nickpic.host/qDMbZX.jpg', -'https://img.nickpic.host/qDMs5b.jpg', -'https://img.nickpic.host/qDM3Mf.jpg', -'https://img.nickpic.host/qDMFk6.jpg', -'https://img.nickpic.host/qDMjsp.jpg', -'https://img.nickpic.host/qDMlQY.jpg', -'https://img.nickpic.host/qDM5VA.jpg', -'https://img.nickpic.host/qDMcpG.jpg', -'https://img.nickpic.host/qDMgAz.jpg', -'https://img.nickpic.host/qDMq7c.jpg', -'https://img.nickpic.host/qDMuZW.jpg', -'https://img.nickpic.host/qDME51.jpg', -'https://img.nickpic.host/qDMORj.jpg', -'https://img.nickpic.host/qDMCsn.jpg', -'https://img.nickpic.host/qDMhkJ.jpg', -'https://img.nickpic.host/qDMQUs.jpg', -'https://img.nickpic.host/qDMUV2.jpg', -'https://img.nickpic.host/qDMipQ.jpg', -'https://img.nickpic.host/qDMt7N.jpg', -'https://img.nickpic.host/qDMnEx.jpg', -'https://img.nickpic.host/qDMMdO.jpg', -'https://img.nickpic.host/qDM1Sm.jpg', -'https://img.nickpic.host/qDM4R8.jpg', -'https://img.nickpic.host/qDMzsd.jpg', -'https://img.nickpic.host/qDMDJq.jpg', -'https://img.nickpic.host/qDM8f5.jpg', -'https://img.nickpic.host/qDM7UD.jpg', -'https://img.nickpic.host/qDMYpP.jpg', -'https://img.nickpic.host/qDMHEM.jpg', -'https://img.nickpic.host/qDMN8F.jpg', -'https://img.nickpic.host/qDMVde.jpg', -'https://img.nickpic.host/qDM0SX.jpg', -'https://img.nickpic.host/qDM21b.jpg', -'https://img.nickpic.host/qDM9Jf.jpg', -'https://img.nickpic.host/qDMk36.jpg', -'https://img.nickpic.host/qDMJXp.jpg', -'https://img.nickpic.host/qDMLfY.jpg', -'https://img.nickpic.host/qDMTvA.jpg', -'https://img.nickpic.host/qDMWOG.jpg', -'https://img.nickpic.host/qDMdyc.jpg', -'https://img.nickpic.host/qDMZ8z.jpg', -'https://img.nickpic.host/qDRGSW.jpg', -'https://img.nickpic.host/qDRI11.jpg', -'https://img.nickpic.host/qDRmLj.jpg', -'https://img.nickpic.host/qDRp3J.jpg', -'https://img.nickpic.host/qDRvXn.jpg', -'https://img.nickpic.host/qDRx0s.jpg', -'https://img.nickpic.host/qDRbv2.jpg', -'https://img.nickpic.host/qDRrOQ.jpg', -'https://img.nickpic.host/qDRsKx.jpg', -'https://img.nickpic.host/qDR3yN.jpg', -'https://img.nickpic.host/qDRacO.jpg', -'https://img.nickpic.host/qDRj4m.jpg', -'https://img.nickpic.host/qDRlL8.jpg', -'https://img.nickpic.host/qDRSFq.jpg', -'https://img.nickpic.host/qDRcXd.jpg', -'https://img.nickpic.host/qDRg0D.jpg', -'https://img.nickpic.host/qDRux5.jpg', -'https://img.nickpic.host/qDRAOP.jpg', -'https://img.nickpic.host/qDREKM.jpg', -'https://img.nickpic.host/qDR6ce.jpg', -'https://img.nickpic.host/qDRhGF.jpg', -'https://img.nickpic.host/qDRC4X.jpg', -'https://img.nickpic.host/qDRQPb.jpg', -'https://img.nickpic.host/qDRii6.jpg', -'https://img.nickpic.host/qDRXFf.jpg', -'https://img.nickpic.host/qDRn2p.jpg', -'https://img.nickpic.host/qDRRhA.jpg', -'https://img.nickpic.host/qDRMxY.jpg', -'https://img.nickpic.host/qDRDGz.jpg', -'https://img.nickpic.host/qDR1YG.jpg', -'https://img.nickpic.host/qDRz4W.jpg', -'https://img.nickpic.host/qDRwgc.jpg', -'https://img.nickpic.host/qDR7P1.jpg', -'https://img.nickpic.host/qDRKaj.jpg', -'https://img.nickpic.host/qDRYiJ.jpg', -'https://img.nickpic.host/qDRVBs.jpg', -'https://img.nickpic.host/qDRH2n.jpg', -'https://img.nickpic.host/qDR0YQ.jpg', -'https://img.nickpic.host/qDRfh2.jpg', -'https://img.nickpic.host/qDRegN.jpg', -'https://img.nickpic.host/qDR9Ix.jpg', -'https://img.nickpic.host/qDRkDO.jpg', -'https://img.nickpic.host/qDRPa8.jpg', -'https://img.nickpic.host/qDRJTm.jpg', -'https://img.nickpic.host/qDRW2d.jpg', -'https://img.nickpic.host/qDRTnq.jpg', -'https://img.nickpic.host/qDRy65.jpg', -'https://img.nickpic.host/qDRdBD.jpg', -'https://img.nickpic.host/qD1GYP.jpg', -'https://img.nickpic.host/qD1oqF.jpg', -'https://img.nickpic.host/qD1mIM.jpg', -'https://img.nickpic.host/qD1vTX.jpg', -'https://img.nickpic.host/qD1pDe.jpg', -'https://img.nickpic.host/qD1Bjb.jpg', -'https://img.nickpic.host/qD1bnf.jpg', -'https://img.nickpic.host/qD1r96.jpg', -'https://img.nickpic.host/qD1F6Y.jpg', -'https://img.nickpic.host/qD13bp.jpg', -'https://img.nickpic.host/qD1lmG.jpg', -'https://img.nickpic.host/qD1aHA.jpg', -'https://img.nickpic.host/qD1Swc.jpg', -'https://img.nickpic.host/qD15qz.jpg', -'https://img.nickpic.host/qD1cTW.jpg', -'https://img.nickpic.host/qD1utj.jpg', -'https://img.nickpic.host/qD1qj1.jpg', -'https://img.nickpic.host/qD1Obn.jpg', -'https://img.nickpic.host/qD1A9J.jpg', -'https://img.nickpic.host/qD16H2.jpg', -'https://img.nickpic.host/qD1hCs.jpg', -'https://img.nickpic.host/qD1QmQ.jpg', -'https://img.nickpic.host/qD1XwN.jpg', -'https://img.nickpic.host/qD1Uux.jpg', -'https://img.nickpic.host/qD1iWO.jpg', -'https://img.nickpic.host/qD1tlm.jpg', -'https://img.nickpic.host/qD1Req.jpg', -'https://img.nickpic.host/qD1Mt8.jpg', -'https://img.nickpic.host/qD14bd.jpg', -'https://img.nickpic.host/qD1DCD.jpg', -'https://img.nickpic.host/qD18uM.jpg', -'https://img.nickpic.host/qD1wN5.jpg', -'https://img.nickpic.host/qD17mP.jpg', -'https://img.nickpic.host/qD1KzF.jpg', -'https://img.nickpic.host/qD1YWe.jpg', -'https://img.nickpic.host/qD1VMb.jpg', -'https://img.nickpic.host/qD1NlX.jpg', -'https://img.nickpic.host/qD1fef.jpg', -'https://img.nickpic.host/qD12r6.jpg', -'https://img.nickpic.host/qD19Qp.jpg', -'https://img.nickpic.host/qD1eNY.jpg', -'https://img.nickpic.host/qD1LAG.jpg', -'https://img.nickpic.host/qD1JoA.jpg', -'https://img.nickpic.host/qD1dM1.jpg', -'https://img.nickpic.host/qD1Pzz.jpg', -'https://img.nickpic.host/qD1TZc.jpg', -'https://img.nickpic.host/qD1ZlW.jpg', -'https://img.nickpic.host/qD1ykj.jpg', -'https://img.nickpic.host/qD4oVs.jpg', -'https://img.nickpic.host/qD4IrJ.jpg', -'https://img.nickpic.host/qD4mQn.jpg', -'https://img.nickpic.host/qD4vo2.jpg', -'https://img.nickpic.host/qD4xAQ.jpg', -'https://img.nickpic.host/qD4bZN.jpg', -'https://img.nickpic.host/qD4B7x.jpg', -'https://img.nickpic.host/qD4Fk8.jpg', -'https://img.nickpic.host/qD4s5O.jpg', -'https://img.nickpic.host/qD43Rm.jpg', -'https://img.nickpic.host/qD4jsq.jpg', -'https://img.nickpic.host/qD4lQd.jpg', -'https://img.nickpic.host/qD4cp5.jpg', -'https://img.nickpic.host/qD45VD.jpg', -'https://img.nickpic.host/qD4gAP.jpg', -'https://img.nickpic.host/qD4udF.jpg', -'https://img.nickpic.host/qD4q7M.jpg', -'https://img.nickpic.host/qD4ORX.jpg', -'https://img.nickpic.host/qD4E5e.jpg', -'https://img.nickpic.host/qD4Csf.jpg', -'https://img.nickpic.host/qD4hJb.jpg', -'https://img.nickpic.host/qD4QU6.jpg', -'https://img.nickpic.host/qD4Ufp.jpg', -'https://img.nickpic.host/qD4ipY.jpg', -'https://img.nickpic.host/qD4t8G.jpg', -'https://img.nickpic.host/qD4nEA.jpg', -'https://img.nickpic.host/qD41Sc.jpg', -'https://img.nickpic.host/qD4Mdz.jpg', -'https://img.nickpic.host/qD4DJ1.jpg', -'https://img.nickpic.host/qD44RW.jpg', -'https://img.nickpic.host/qD4z3j.jpg', -'https://img.nickpic.host/qD47UJ.jpg', -'https://img.nickpic.host/qD48fn.jpg', -'https://img.nickpic.host/qD4HE2.jpg', -'https://img.nickpic.host/qD4Yvs.jpg', -'https://img.nickpic.host/qD40SN.jpg', -'https://img.nickpic.host/qD4N8Q.jpg', -'https://img.nickpic.host/qD4Vyx.jpg', -'https://img.nickpic.host/qD421O.jpg', -'https://img.nickpic.host/qD49Lm.jpg', -'https://img.nickpic.host/qD4k38.jpg', -'https://img.nickpic.host/qD4JXq.jpg', -'https://img.nickpic.host/qD4Lfd.jpg', -'https://img.nickpic.host/qD4Z8P.jpg', -'https://img.nickpic.host/qD4TvD.jpg', -'https://img.nickpic.host/qD4WO5.jpg', -'https://img.nickpic.host/qD4dyM.jpg', -'https://img.nickpic.host/qDDGcF.jpg', -'https://img.nickpic.host/qDDI1e.jpg', -'https://img.nickpic.host/qDDmLX.jpg', -'https://img.nickpic.host/qDDpFb.jpg', -'https://img.nickpic.host/qDDx06.jpg', -'https://img.nickpic.host/qDDsKA.jpg', -'https://img.nickpic.host/qDDbxp.jpg', -'https://img.nickpic.host/qDDrOY.jpg', -'https://img.nickpic.host/qDDFGG.jpg', -'https://img.nickpic.host/qDDacz.jpg'] - - -global.dbz = ['https://img.nickpic.host/q1MbuW.jpg', -'https://img.nickpic.host/q1MvNz.jpg', -'https://img.nickpic.host/q1MpQG.jpg', -'https://img.nickpic.host/q1MorA.jpg', -'https://img.nickpic.host/q1MIeY.jpg', -'https://img.nickpic.host/q1MGMp.jpg', -'https://img.nickpic.host/q1tWzb.jpg', -'https://img.nickpic.host/q1tyl6.jpg', -'https://img.nickpic.host/q1tZWf.jpg', -'https://img.nickpic.host/q1tTuX.jpg', -'https://img.nickpic.host/q1MBoc.jpg', -'https://img.nickpic.host/q1Mrz1.jpg', -'https://img.nickpic.host/q1MsZj.jpg', -'https://img.nickpic.host/q1MFlJ.jpg', -'https://img.nickpic.host/q1MaMn.jpg', -'https://img.nickpic.host/q1Mjks.jpg', -'https://img.nickpic.host/q1M5r2.jpg', -'https://img.nickpic.host/q1MSQQ.jpg', -'https://img.nickpic.host/q1McVx.jpg', -'https://img.nickpic.host/q1MqoN.jpg', -'https://img.nickpic.host/q1MuAO.jpg', -'https://img.nickpic.host/q1MA7m.jpg', -'https://img.nickpic.host/q1MEZ8.jpg', -'https://img.nickpic.host/q1Mh5q.jpg', -'https://img.nickpic.host/q1M6Md.jpg', -'https://img.nickpic.host/q1MCkD.jpg', -'https://img.nickpic.host/q1MUs5.jpg', -'https://img.nickpic.host/q1MXQP.jpg', -'https://img.nickpic.host/q1MiVM.jpg', -'https://img.nickpic.host/q1MtpF.jpg', -'https://img.nickpic.host/q1MMAe.jpg', -'https://img.nickpic.host/q1MR7X.jpg', -'https://img.nickpic.host/q1M1db.jpg', -'https://img.nickpic.host/q1MD5f.jpg', -'https://img.nickpic.host/q1MwR6.jpg', -'https://img.nickpic.host/q1MzJp.jpg', -'https://img.nickpic.host/q1M8sY.jpg', -'https://img.nickpic.host/q1MKUA.jpg', -'https://img.nickpic.host/q1MYfG.jpg', -'https://img.nickpic.host/q1MNpz.jpg', -'https://img.nickpic.host/q1MVEc.jpg', -'https://img.nickpic.host/q1Mf7W.jpg', -'https://img.nickpic.host/q1M0d1.jpg', -'https://img.nickpic.host/q1M9Sj.jpg', -'https://img.nickpic.host/q1MeRJ.jpg', -'https://img.nickpic.host/q1MkJn.jpg', -'https://img.nickpic.host/q1ML3s.jpg', -'https://img.nickpic.host/q1MPU2.jpg', -'https://img.nickpic.host/q1MTfQ.jpg', -'https://img.nickpic.host/q1MZvx.jpg', -'https://img.nickpic.host/q1MdEN.jpg', -'https://img.nickpic.host/q1My8O.jpg', -'https://img.nickpic.host/q1RGym.jpg', -'https://img.nickpic.host/q1RmS8.jpg', -'https://img.nickpic.host/q1Ro1q.jpg', -'https://img.nickpic.host/q1RpJd.jpg', -'https://img.nickpic.host/q1Rx3D.jpg', -'https://img.nickpic.host/q1RBX5.jpg', -'https://img.nickpic.host/q1RbfP.jpg', -'https://img.nickpic.host/q1RsvM.jpg', -'https://img.nickpic.host/q1R3OF.jpg', -'https://img.nickpic.host/q1RF8e.jpg', -'https://img.nickpic.host/q1RayX.jpg', -'https://img.nickpic.host/q1Rlcb.jpg', -'https://img.nickpic.host/q1R51f.jpg', -'https://img.nickpic.host/q1RSL6.jpg', -'https://img.nickpic.host/q1RgFp.jpg', -'https://img.nickpic.host/q1RqXY.jpg', -'https://img.nickpic.host/q1Ru0A.jpg', -'https://img.nickpic.host/q1RExG.jpg', -'https://img.nickpic.host/q1ROOz.jpg', -'https://img.nickpic.host/q1RhKc.jpg', -'https://img.nickpic.host/q1R6yW.jpg', -'https://img.nickpic.host/q1RQc1.jpg', -'https://img.nickpic.host/q1RU4j.jpg', -'https://img.nickpic.host/q1RXLJ.jpg', -'https://img.nickpic.host/q1RnFn.jpg', -'https://img.nickpic.host/q1Rtis.jpg', -'https://img.nickpic.host/q1RM02.jpg', -'https://img.nickpic.host/q1R1xQ.jpg', -'https://img.nickpic.host/q1R4hx.jpg', -'https://img.nickpic.host/q1RDKN.jpg', -'https://img.nickpic.host/q1RzGO.jpg', -'https://img.nickpic.host/q1R7gm.jpg', -'https://img.nickpic.host/q1R848.jpg', -'https://img.nickpic.host/q1RKPq.jpg', -'https://img.nickpic.host/q1RHFd.jpg', -'https://img.nickpic.host/q1RNiD.jpg', -'https://img.nickpic.host/q1RV25.jpg', -'https://img.nickpic.host/q1R0xP.jpg', -'https://img.nickpic.host/q1R2hM.jpg', -'https://img.nickpic.host/q1R9YF.jpg', -'https://img.nickpic.host/q1RkGe.jpg', -'https://img.nickpic.host/q1RJgX.jpg', -'https://img.nickpic.host/q1RPPf.jpg', -'https://img.nickpic.host/q1RLDb.jpg', -'https://img.nickpic.host/q1RWa6.jpg', -'https://img.nickpic.host/q1RZnp.jpg', -'https://img.nickpic.host/q11GBA.jpg', -'https://img.nickpic.host/q11I6G.jpg', -'https://img.nickpic.host/q1Rd2Y.jpg', -'https://img.nickpic.host/q11mYz.jpg', -'https://img.nickpic.host/q11pIc.jpg', -'https://img.nickpic.host/q11xD1.jpg', -'https://img.nickpic.host/q11vgW.jpg', -'https://img.nickpic.host/q11BTj.jpg', -'https://img.nickpic.host/q11raJ.jpg', -'https://img.nickpic.host/q11snn.jpg', -'https://img.nickpic.host/q11aB2.jpg', -'https://img.nickpic.host/q1139s.jpg', -'https://img.nickpic.host/q11j6Q.jpg', -'https://img.nickpic.host/q11lHx.jpg', -'https://img.nickpic.host/q11SIN.jpg', -'https://img.nickpic.host/q11gwm.jpg', -'https://img.nickpic.host/q11cqO.jpg', -'https://img.nickpic.host/q11qT8.jpg', -'https://img.nickpic.host/q11Ajq.jpg', -'https://img.nickpic.host/q11End.jpg', -'https://img.nickpic.host/q116b5.jpg', -'https://img.nickpic.host/q11O9D.jpg', -'https://img.nickpic.host/q11C6P.jpg', -'https://img.nickpic.host/q11QHM.jpg', -'https://img.nickpic.host/q11XmF.jpg', -'https://img.nickpic.host/q11nwX.jpg', -'https://img.nickpic.host/q11iqe.jpg', -'https://img.nickpic.host/q11tWb.jpg', -'https://img.nickpic.host/q11Rjf.jpg', -'https://img.nickpic.host/q111t6.jpg', -'https://img.nickpic.host/q114ep.jpg', -'https://img.nickpic.host/q117NG.jpg', -'https://img.nickpic.host/q11wbY.jpg', -'https://img.nickpic.host/q11zCA.jpg', -'https://img.nickpic.host/q11Kmz.jpg', -'https://img.nickpic.host/q11Yuc.jpg', -'https://img.nickpic.host/q11HwW.jpg', -'https://img.nickpic.host/q11NW1.jpg', -'https://img.nickpic.host/q11flj.jpg', -'https://img.nickpic.host/q110tJ.jpg', -'https://img.nickpic.host/q112en.jpg', -'https://img.nickpic.host/q11ers.jpg', -'https://img.nickpic.host/q11kC2.jpg', -'https://img.nickpic.host/q11JNQ.jpg', -'https://img.nickpic.host/q11Pox.jpg', -'https://img.nickpic.host/q11TuN.jpg', -'https://img.nickpic.host/q11yl8.jpg', -'https://img.nickpic.host/q11WzO.jpg', -'https://img.nickpic.host/q14GMq.jpg', -'https://img.nickpic.host/q14Ied.jpg', -'https://img.nickpic.host/q14orD.jpg', -'https://img.nickpic.host/q14pQ5.jpg', -'https://img.nickpic.host/q14vNP.jpg', -'https://img.nickpic.host/q14BoM.jpg', -'https://img.nickpic.host/q14bAF.jpg', -'https://img.nickpic.host/q14rze.jpg', -'https://img.nickpic.host/q14sZX.jpg', -'https://img.nickpic.host/q14aMf.jpg', -'https://img.nickpic.host/q14F5b.jpg', -'https://img.nickpic.host/q14jk6.jpg', -'https://img.nickpic.host/q145sp.jpg', -'https://img.nickpic.host/q14cVA.jpg', -'https://img.nickpic.host/q14qpG.jpg', -'https://img.nickpic.host/q14SQY.jpg', -'https://img.nickpic.host/q14uAz.jpg', -'https://img.nickpic.host/q14A7c.jpg', -'https://img.nickpic.host/q14h51.jpg', -'https://img.nickpic.host/q14EZW.jpg', -'https://img.nickpic.host/q146Rj.jpg', -'https://img.nickpic.host/q14CkJ.jpg', -'https://img.nickpic.host/q14Usn.jpg', -'https://img.nickpic.host/q14XUs.jpg', -'https://img.nickpic.host/q14iV2.jpg', -'https://img.nickpic.host/q14tpQ.jpg', -'https://img.nickpic.host/q14MEx.jpg', -'https://img.nickpic.host/q141dO.jpg', -'https://img.nickpic.host/q14R7N.jpg', -'https://img.nickpic.host/q14DSm.jpg', -'https://img.nickpic.host/q14wR8.jpg', -'https://img.nickpic.host/q148sd.jpg', -'https://img.nickpic.host/q14zJq.jpg', -'https://img.nickpic.host/q14KUD.jpg', -'https://img.nickpic.host/q14Yf5.jpg', -'https://img.nickpic.host/q14NpP.jpg', -'https://img.nickpic.host/q14VEM.jpg', -'https://img.nickpic.host/q14f8F.jpg', -'https://img.nickpic.host/q140de.jpg', -'https://img.nickpic.host/q149SX.jpg', -'https://img.nickpic.host/q14e1b.jpg', -'https://img.nickpic.host/q14kJf.jpg', -'https://img.nickpic.host/q14L36.jpg', -'https://img.nickpic.host/q14PXp.jpg', -'https://img.nickpic.host/q14TfY.jpg', -'https://img.nickpic.host/q14ZvA.jpg', -'https://img.nickpic.host/q14dOG.jpg', -'https://img.nickpic.host/q14y8z.jpg', -'https://img.nickpic.host/q1DGyc.jpg', -'https://img.nickpic.host/q1DmSW.jpg', -'https://img.nickpic.host/q1Do11.jpg', -'https://img.nickpic.host/q1DpLj.jpg', -'https://img.nickpic.host/q1Dx3J.jpg', -'https://img.nickpic.host/q1DBXn.jpg', -'https://img.nickpic.host/q1Db0s.jpg', -'https://img.nickpic.host/q1Dsv2.jpg', -'https://img.nickpic.host/q1D3OQ.jpg', -'https://img.nickpic.host/q1DFKx.jpg', -'https://img.nickpic.host/q1DayN.jpg', -'https://img.nickpic.host/q1DlcO.jpg', -'https://img.nickpic.host/q1D54m.jpg', -'https://img.nickpic.host/q1DSL8.jpg', -'https://img.nickpic.host/q1DgFq.jpg', -'https://img.nickpic.host/q1DqXd.jpg', -'https://img.nickpic.host/q1Du0D.jpg', -'https://img.nickpic.host/q1DEx5.jpg', -'https://img.nickpic.host/q1DOOP.jpg', -'https://img.nickpic.host/q1DhKM.jpg', -'https://img.nickpic.host/q1DCGF.jpg', -'https://img.nickpic.host/q1DQce.jpg', -'https://img.nickpic.host/q1DU4X.jpg', -'https://img.nickpic.host/q1DXPb.jpg', -'https://img.nickpic.host/q1Dti6.jpg', -'https://img.nickpic.host/q1DnFf.jpg', -'https://img.nickpic.host/q1DM2p.jpg', -'https://img.nickpic.host/q1D1xY.jpg', -'https://img.nickpic.host/q1D4hA.jpg', -'https://img.nickpic.host/q1DzGz.jpg', -'https://img.nickpic.host/q1DDYG.jpg', -'https://img.nickpic.host/q1D7gc.jpg', -'https://img.nickpic.host/q1D84W.jpg', -'https://img.nickpic.host/q1DHaj.jpg', -'https://img.nickpic.host/q1DKP1.jpg', -'https://img.nickpic.host/q1DNiJ.jpg', -'https://img.nickpic.host/q1DV2n.jpg', -'https://img.nickpic.host/q1D0Bs.jpg', -'https://img.nickpic.host/q1D9YQ.jpg', -'https://img.nickpic.host/q1D2h2.jpg', -'https://img.nickpic.host/q1DkIx.jpg', -'https://img.nickpic.host/q1DJgN.jpg', -'https://img.nickpic.host/q1DLDO.jpg', -'https://img.nickpic.host/q1DPTm.jpg', -'https://img.nickpic.host/q1DWa8.jpg', -'https://img.nickpic.host/q1DZnq.jpg', -'https://img.nickpic.host/q1wI65.jpg', -'https://img.nickpic.host/q1wGBD.jpg', -'https://img.nickpic.host/q1Dd2d.jpg', -'https://img.nickpic.host/q1wmYP.jpg', -'https://img.nickpic.host/q1wpIM.jpg', -'https://img.nickpic.host/q1wvqF.jpg', -'https://img.nickpic.host/q1wxDe.jpg', -'https://img.nickpic.host/q1wBTX.jpg', -'https://img.nickpic.host/q1wsnf.jpg', -'https://img.nickpic.host/q1wrjb.jpg', -'https://img.nickpic.host/q1w396.jpg', -'https://img.nickpic.host/q1wj6Y.jpg', -'https://img.nickpic.host/q1wabp.jpg', -'https://img.nickpic.host/q1wlHA.jpg', -'https://img.nickpic.host/q1wSmG.jpg', -'https://img.nickpic.host/q1wcqz.jpg', -'https://img.nickpic.host/q1wqTW.jpg', -'https://img.nickpic.host/q1wgwc.jpg', -'https://img.nickpic.host/q1wAj1.jpg', -'https://img.nickpic.host/q1wEtj.jpg', -'https://img.nickpic.host/q1wO9J.jpg', -'https://img.nickpic.host/q1wCCs.jpg', -'https://img.nickpic.host/q1w6bn.jpg', -'https://img.nickpic.host/q1wQH2.jpg', -'https://img.nickpic.host/q1wXmQ.jpg', -'https://img.nickpic.host/q1wiux.jpg', -'https://img.nickpic.host/q1wnwN.jpg', -'https://img.nickpic.host/q1wtWO.jpg', -'https://img.nickpic.host/q1wRlm.jpg', -'https://img.nickpic.host/q1w1t8.jpg', -'https://img.nickpic.host/q1w4eq.jpg', -'https://img.nickpic.host/q1wwbd.jpg', -'https://img.nickpic.host/q1wzCD.jpg', -'https://img.nickpic.host/q1w7N5.jpg', -'https://img.nickpic.host/q1wKmP.jpg', -'https://img.nickpic.host/q1wYuM.jpg', -'https://img.nickpic.host/q1wHzF.jpg', -'https://img.nickpic.host/q1wNWe.jpg', -'https://img.nickpic.host/q1wflX.jpg', -'https://img.nickpic.host/q1w0Mb.jpg', -'https://img.nickpic.host/q1w2ef.jpg', -'https://img.nickpic.host/q1wer6.jpg', -'https://img.nickpic.host/q1wkQp.jpg', -'https://img.nickpic.host/q1wJNY.jpg', -'https://img.nickpic.host/q1wPoA.jpg', -'https://img.nickpic.host/q1wTAG.jpg', -'https://img.nickpic.host/q1wWzz.jpg', -'https://img.nickpic.host/q1wZZc.jpg', -'https://img.nickpic.host/q1wylW.jpg', -'https://img.nickpic.host/q1zIkj.jpg', -'https://img.nickpic.host/q1zGM1.jpg', -'https://img.nickpic.host/q1zorJ.jpg', -'https://img.nickpic.host/q1zpQn.jpg', -'https://img.nickpic.host/q1zvVs.jpg', -'https://img.nickpic.host/q1zBo2.jpg', -'https://img.nickpic.host/q1zbAQ.jpg', -'https://img.nickpic.host/q1zr7x.jpg', -'https://img.nickpic.host/q1zsZN.jpg', -'https://img.nickpic.host/q1zF5O.jpg', -'https://img.nickpic.host/q1zaRm.jpg', -'https://img.nickpic.host/q1zjk8.jpg', -'https://img.nickpic.host/q1z5sq.jpg', -'https://img.nickpic.host/q1zSQd.jpg', -'https://img.nickpic.host/q1zcVD.jpg', -'https://img.nickpic.host/q1zqp5.jpg', -'https://img.nickpic.host/q1zuAP.jpg', -'https://img.nickpic.host/q1zA7M.jpg', -'https://img.nickpic.host/q1zEdF.jpg', -'https://img.nickpic.host/q1zh5e.jpg', -'https://img.nickpic.host/q1z6RX.jpg', -'https://img.nickpic.host/q1zCJb.jpg', -'https://img.nickpic.host/q1zXU6.jpg', -'https://img.nickpic.host/q1zUsf.jpg', -'https://img.nickpic.host/q1zifp.jpg', -'https://img.nickpic.host/q1ztpY.jpg', -'https://img.nickpic.host/q1zMEA.jpg', -'https://img.nickpic.host/q1zR8G.jpg', -'https://img.nickpic.host/q1z1dz.jpg', -'https://img.nickpic.host/q1zDSc.jpg', -'https://img.nickpic.host/q1zwRW.jpg', -'https://img.nickpic.host/q1zzJ1.jpg', -'https://img.nickpic.host/q1z83j.jpg', -'https://img.nickpic.host/q1zKUJ.jpg', -'https://img.nickpic.host/q1zYfn.jpg', -'https://img.nickpic.host/q1zVE2.jpg', -'https://img.nickpic.host/q1zNvs.jpg', -'https://img.nickpic.host/q1zf8Q.jpg', -'https://img.nickpic.host/q1z0yx.jpg', -'https://img.nickpic.host/q1z9SN.jpg', -'https://img.nickpic.host/q1zkLm.jpg', -'https://img.nickpic.host/q1ze1O.jpg', -'https://img.nickpic.host/q1zL38.jpg', -'https://img.nickpic.host/q1zPXq.jpg', -'https://img.nickpic.host/q1zTfd.jpg', -'https://img.nickpic.host/q1zdO5.jpg', -'https://img.nickpic.host/q1zZvD.jpg', -'https://img.nickpic.host/q17GyM.jpg', -'https://img.nickpic.host/q1zy8P.jpg', -'https://img.nickpic.host/q17mcF.jpg', -'https://img.nickpic.host/q17pLX.jpg', -'https://img.nickpic.host/q17o1e.jpg', -'https://img.nickpic.host/q17BXf.jpg', -'https://img.nickpic.host/q17xFb.jpg', -'https://img.nickpic.host/q17b06.jpg', -'https://img.nickpic.host/q173OY.jpg', -'https://img.nickpic.host/q17sxp.jpg', -'https://img.nickpic.host/q17jGG.jpg', -'https://img.nickpic.host/q17FKA.jpg', -'https://img.nickpic.host/q17lcz.jpg', -'https://img.nickpic.host/q1754c.jpg', -'https://img.nickpic.host/q17SLW.jpg', -'https://img.nickpic.host/q17qij.jpg', -'https://img.nickpic.host/q17gF1.jpg', -'https://img.nickpic.host/q17Exn.jpg', -'https://img.nickpic.host/q17u0J.jpg', -'https://img.nickpic.host/q17Ohs.jpg', -'https://img.nickpic.host/q17hK2.jpg', -'https://img.nickpic.host/q17CGQ.jpg', -'https://img.nickpic.host/q17U4N.jpg', -'https://img.nickpic.host/q17Qgx.jpg', -'https://img.nickpic.host/q17nam.jpg', -'https://img.nickpic.host/q17XPO.jpg', -'https://img.nickpic.host/q17ti8.jpg', -'https://img.nickpic.host/q17M2q.jpg', -'https://img.nickpic.host/q171xd.jpg', -'https://img.nickpic.host/q17DY5.jpg', -'https://img.nickpic.host/q174hD.jpg', -'https://img.nickpic.host/q177gM.jpg', -'https://img.nickpic.host/q17zGP.jpg', -'https://img.nickpic.host/q178DF.jpg', -'https://img.nickpic.host/q17KPe.jpg', -'https://img.nickpic.host/q17HaX.jpg', -'https://img.nickpic.host/q17V2f.jpg', -'https://img.nickpic.host/q17Nnb.jpg', -'https://img.nickpic.host/q1726p.jpg', -'https://img.nickpic.host/q170B6.jpg', -'https://img.nickpic.host/q17kIA.jpg', -'https://img.nickpic.host/q179YY.jpg', -'https://img.nickpic.host/q17JqG.jpg', -'https://img.nickpic.host/q17LDz.jpg', -'https://img.nickpic.host/q17PTc.jpg', -'https://img.nickpic.host/q17Zn1.jpg', -'https://img.nickpic.host/q17WaW.jpg', -'https://img.nickpic.host/q17d9j.jpg', -'https://img.nickpic.host/q18I6n.jpg', -'https://img.nickpic.host/q18GBJ.jpg', -'https://img.nickpic.host/q18pI2.jpg', -'https://img.nickpic.host/q18mHs.jpg', -'https://img.nickpic.host/q18xwx.jpg', -'https://img.nickpic.host/q18vqQ.jpg', -'https://img.nickpic.host/q18BTN.jpg', -'https://img.nickpic.host/q18rjO.jpg', -'https://img.nickpic.host/q18stm.jpg', -'https://img.nickpic.host/q18abq.jpg', -'https://img.nickpic.host/q18398.jpg', -'https://img.nickpic.host/q18j6d.jpg', -'https://img.nickpic.host/q18lHD.jpg', -'https://img.nickpic.host/q18cqP.jpg', -'https://img.nickpic.host/q18Sm5.jpg', -'https://img.nickpic.host/q18gwM.jpg', -'https://img.nickpic.host/q18qWF.jpg', -'https://img.nickpic.host/q18Aje.jpg', -'https://img.nickpic.host/q18EtX.jpg', -'https://img.nickpic.host/q18Oeb.jpg', -'https://img.nickpic.host/q18CC6.jpg', -'https://img.nickpic.host/q186bf.jpg', -'https://img.nickpic.host/q18QNp.jpg', -'https://img.nickpic.host/q18iuA.jpg', -'https://img.nickpic.host/q18XmY.jpg', -'https://img.nickpic.host/q18nzG.jpg', -'https://img.nickpic.host/q18tWz.jpg', -'https://img.nickpic.host/q18Rlc.jpg', -'https://img.nickpic.host/q184e1.jpg', -'https://img.nickpic.host/q181tW.jpg', -'https://img.nickpic.host/q18zCJ.jpg', -'https://img.nickpic.host/q187Nn.jpg', -'https://img.nickpic.host/q18wrj.jpg', -'https://img.nickpic.host/q18Kos.jpg', -'https://img.nickpic.host/q18Yu2.jpg', -'https://img.nickpic.host/q18NZx.jpg', -'https://img.nickpic.host/q18HzQ.jpg', -'https://img.nickpic.host/q18flN.jpg', -'https://img.nickpic.host/q180MO.jpg', -'https://img.nickpic.host/q182km.jpg', -'https://img.nickpic.host/q18er8.jpg', -'https://img.nickpic.host/q18kQq.jpg', -'https://img.nickpic.host/q18JNd.jpg', -'https://img.nickpic.host/q18TA5.jpg', -'https://img.nickpic.host/q18ZZM.jpg', -'https://img.nickpic.host/q18PoD.jpg', -'https://img.nickpic.host/q18y5F.jpg', -'https://img.nickpic.host/q18WzP.jpg', -'https://img.nickpic.host/q1KGMe.jpg', -'https://img.nickpic.host/q1KIkX.jpg', -'https://img.nickpic.host/q1KpQf.jpg', -'https://img.nickpic.host/q1Kosb.jpg', -'https://img.nickpic.host/q1KvV6.jpg', -'https://img.nickpic.host/q1KBpp.jpg', -'https://img.nickpic.host/q1KbAY.jpg', -'https://img.nickpic.host/q1Kr7A.jpg', -'https://img.nickpic.host/q1KsdG.jpg', -'https://img.nickpic.host/q1KF5z.jpg', -'https://img.nickpic.host/q1KjkW.jpg', -'https://img.nickpic.host/q1KSUj.jpg', -'https://img.nickpic.host/q1KaRc.jpg', -'https://img.nickpic.host/q1K5s1.jpg', -'https://img.nickpic.host/q1KcVJ.jpg', -'https://img.nickpic.host/q1Kqpn.jpg', -'https://img.nickpic.host/q1KuEs.jpg', -'https://img.nickpic.host/q1KEdQ.jpg', -'https://img.nickpic.host/q1KA72.jpg', -'https://img.nickpic.host/q1KhSx.jpg', -'https://img.nickpic.host/q1K6RN.jpg', -'https://img.nickpic.host/q1KXU8.jpg', -'https://img.nickpic.host/q1KCJO.jpg', -'https://img.nickpic.host/q1KU3m.jpg', -'https://img.nickpic.host/q1Kifq.jpg', -'https://img.nickpic.host/q1Ktpd.jpg', -'https://img.nickpic.host/q1KR85.jpg', -'https://img.nickpic.host/q1KMED.jpg', -'https://img.nickpic.host/q1K1dP.jpg', -'https://img.nickpic.host/q1KDSM.jpg', -'https://img.nickpic.host/q1Kw1F.jpg', -'https://img.nickpic.host/q1KzJe.jpg', -'https://img.nickpic.host/q1K83X.jpg', -'https://img.nickpic.host/q1KKXb.jpg', -'https://img.nickpic.host/q1KYff.jpg', -'https://img.nickpic.host/q1Kf8Y.jpg', -'https://img.nickpic.host/q1KNv6.jpg', -'https://img.nickpic.host/q1KVOp.jpg', -'https://img.nickpic.host/q1K0yA.jpg', -'https://img.nickpic.host/q1K9cG.jpg', -'https://img.nickpic.host/q1Ke1z.jpg', -'https://img.nickpic.host/q1KkLc.jpg', -'https://img.nickpic.host/q1KL3W.jpg', -'https://img.nickpic.host/q1KT0j.jpg', -'https://img.nickpic.host/q1KPX1.jpg', -'https://img.nickpic.host/q1KZvJ.jpg', -'https://img.nickpic.host/q1KyKs.jpg', -'https://img.nickpic.host/q1KdOn.jpg', -'https://img.nickpic.host/q1YGy2.jpg', -'https://img.nickpic.host/q1YmcQ.jpg', -'https://img.nickpic.host/q1YpLN.jpg', -'https://img.nickpic.host/q1Yo4x.jpg', -'https://img.nickpic.host/q1YxFO.jpg', -'https://img.nickpic.host/q1Yb08.jpg', -'https://img.nickpic.host/q1Ysxq.jpg', -'https://img.nickpic.host/q1YBim.jpg', -'https://img.nickpic.host/q1Y3Od.jpg', -'https://img.nickpic.host/q1YjG5.jpg', -'https://img.nickpic.host/q1YFKD.jpg', -'https://img.nickpic.host/q1YlcP.jpg', -'https://img.nickpic.host/q1Y54M.jpg', -'https://img.nickpic.host/q1YgFe.jpg', -'https://img.nickpic.host/q1YSPF.jpg', -'https://img.nickpic.host/q1Yu2b.jpg', -'https://img.nickpic.host/q1YqiX.jpg', -'https://img.nickpic.host/q1YExf.jpg', -'https://img.nickpic.host/q1YhYp.jpg', -'https://img.nickpic.host/q1YOh6.jpg', -'https://img.nickpic.host/q1YQgA.jpg', -'https://img.nickpic.host/q1YCGY.jpg', -'https://img.nickpic.host/q1YXPz.jpg', -'https://img.nickpic.host/q1YUDG.jpg', -'https://img.nickpic.host/q1Ynac.jpg', -'https://img.nickpic.host/q1YtiW.jpg', -'https://img.nickpic.host/q1Y1Bj.jpg', -'https://img.nickpic.host/q1YM21.jpg', -'https://img.nickpic.host/q1Y4hJ.jpg', -'https://img.nickpic.host/q1YDYn.jpg', -'https://img.nickpic.host/q1YzIs.jpg', -'https://img.nickpic.host/q1Y7g2.jpg', -'https://img.nickpic.host/q1Y8DQ.jpg', -'https://img.nickpic.host/q1YKTx.jpg', -'https://img.nickpic.host/q1YHaN.jpg', -'https://img.nickpic.host/q1YNnO.jpg', -'https://img.nickpic.host/q1Y26q.jpg', -'https://img.nickpic.host/q1YV9m.jpg', -'https://img.nickpic.host/q1Y0B8.jpg', -'https://img.nickpic.host/q1Y9Yd.jpg', -'https://img.nickpic.host/q1YJq5.jpg', -'https://img.nickpic.host/q1YPTM.jpg', -'https://img.nickpic.host/q1YkID.jpg', -'https://img.nickpic.host/q1YLDP.jpg', -'https://img.nickpic.host/q1YWjF.jpg', -'https://img.nickpic.host/q1YZne.jpg', -'https://img.nickpic.host/q1Yd9X.jpg', -'https://img.nickpic.host/q1HGbb.jpg', -'https://img.nickpic.host/q1HI6f.jpg', -'https://img.nickpic.host/q1HmH6.jpg'] - - -global.genshin = ['https://img.nickpic.host/q4pOJF.jpg', -'https://img.nickpic.host/q4pERM.jpg', -'https://img.nickpic.host/q4pA5P.jpg', -'https://img.nickpic.host/q4pg7D.jpg', -'https://img.nickpic.host/q4pqd5.jpg', -'https://img.nickpic.host/q4pSpq.jpg', -'https://img.nickpic.host/q4plV8.jpg', -'https://img.nickpic.host/q4pjUm.jpg', -'https://img.nickpic.host/q4pcAd.jpg', -'https://img.nickpic.host/q4pasO.jpg', -'https://img.nickpic.host/q4p6se.jpg', -'https://img.nickpic.host/q4pRSA.jpg', -'https://img.nickpic.host/q4pCUX.jpg', -'https://img.nickpic.host/q4pQfb.jpg', -'https://img.nickpic.host/q4pXpf.jpg', -'https://img.nickpic.host/q4piE6.jpg', -'https://img.nickpic.host/q4pn8p.jpg', -'https://img.nickpic.host/q4ptdY.jpg', -'https://img.nickpic.host/q4p11G.jpg', -'https://img.nickpic.host/q4p4Jz.jpg', -'https://img.nickpic.host/q4pw3c.jpg', -'https://img.nickpic.host/q4pzUW.jpg', -'https://img.nickpic.host/q4p7f1.jpg', -'https://img.nickpic.host/q4p2Lx.jpg', -'https://img.nickpic.host/q4pKvj.jpg', -'https://img.nickpic.host/q4pYEJ.jpg', -'https://img.nickpic.host/q4pH8n.jpg', -'https://img.nickpic.host/q4pNys.jpg', -'https://img.nickpic.host/q4pfS2.jpg', -'https://img.nickpic.host/q4p01Q.jpg', -'https://img.nickpic.host/q4pe3N.jpg', -'https://img.nickpic.host/q4pkXO.jpg', -'https://img.nickpic.host/q4pJ0m.jpg', -'https://img.nickpic.host/q4pPv8.jpg', -'https://img.nickpic.host/q4pTOq.jpg', -'https://img.nickpic.host/q4voFF.jpg', -'https://img.nickpic.host/q4pW8d.jpg', -'https://img.nickpic.host/q4pZyD.jpg', -'https://img.nickpic.host/q4pyc5.jpg', -'https://img.nickpic.host/q4vG1P.jpg', -'https://img.nickpic.host/q4vILM.jpg', -'https://img.nickpic.host/q4vpXe.jpg', -'https://img.nickpic.host/q4vv0X.jpg', -'https://img.nickpic.host/q4vBxb.jpg', -'https://img.nickpic.host/q4vbOf.jpg', -'https://img.nickpic.host/q4vrK6.jpg', -'https://img.nickpic.host/q4vc0W.jpg', -'https://img.nickpic.host/q4v3Gp.jpg', -'https://img.nickpic.host/q4vFcY.jpg', -'https://img.nickpic.host/q4va4A.jpg', -'https://img.nickpic.host/q4vjPG.jpg', -'https://img.nickpic.host/q4v5Fz.jpg', -'https://img.nickpic.host/q4vSic.jpg', -'https://img.nickpic.host/q4vqx1.jpg', -'https://img.nickpic.host/q4vuhj.jpg', -'https://img.nickpic.host/q4vAKJ.jpg', -'https://img.nickpic.host/q4vOGn.jpg', -'https://img.nickpic.host/q4vhgs.jpg', -'https://img.nickpic.host/q4vtBm.jpg', -'https://img.nickpic.host/q4v642.jpg', -'https://img.nickpic.host/q4vCPQ.jpg', -'https://img.nickpic.host/q4vUax.jpg', -'https://img.nickpic.host/q4vi2O.jpg', -'https://img.nickpic.host/q4vXiN.jpg', -'https://img.nickpic.host/q4vMh8.jpg', -'https://img.nickpic.host/q4vRYq.jpg', -'https://img.nickpic.host/q4v4Gd.jpg', -'https://img.nickpic.host/q4vDgD.jpg', -'https://img.nickpic.host/q4vwD5.jpg', -'https://img.nickpic.host/q4vNBX.jpg', -'https://img.nickpic.host/q4vzPP.jpg', -'https://img.nickpic.host/q4v8aM.jpg', -'https://img.nickpic.host/q4vKnF.jpg', -'https://img.nickpic.host/q4vY2e.jpg', -'https://img.nickpic.host/q4vV6b.jpg', -'https://img.nickpic.host/q4vfYf.jpg', -'https://img.nickpic.host/q4v2I6.jpg', -'https://img.nickpic.host/q4v9qp.jpg', -'https://img.nickpic.host/q4veDY.jpg', -'https://img.nickpic.host/q4vZBW.jpg', -'https://img.nickpic.host/q4vkTA.jpg', -'https://img.nickpic.host/q4vLjG.jpg', -'https://img.nickpic.host/q4vPnz.jpg', -'https://img.nickpic.host/q4vT9c.jpg', -'https://img.nickpic.host/q4vd61.jpg', -'https://img.nickpic.host/q4vyHj.jpg', -'https://img.nickpic.host/q4xIIJ.jpg', -'https://img.nickpic.host/q4xmqn.jpg', -'https://img.nickpic.host/q4xows.jpg', -'https://img.nickpic.host/q4xsbO.jpg', -'https://img.nickpic.host/q4xpT2.jpg', -'https://img.nickpic.host/q4xxjQ.jpg', -'https://img.nickpic.host/q4xb9N.jpg', -'https://img.nickpic.host/q4xBtx.jpg', -'https://img.nickpic.host/q4x3Cm.jpg', -'https://img.nickpic.host/q4xFH8.jpg', -'https://img.nickpic.host/q4xjmq.jpg', -'https://img.nickpic.host/q4xlqd.jpg', -'https://img.nickpic.host/q4x5wD.jpg', -'https://img.nickpic.host/q4xEbe.jpg', -'https://img.nickpic.host/q4xSW5.jpg', -'https://img.nickpic.host/q4xgjP.jpg', -'https://img.nickpic.host/q4xqtM.jpg', -'https://img.nickpic.host/q4xueF.jpg', -'https://img.nickpic.host/q4xOCX.jpg', -'https://img.nickpic.host/q4xhNb.jpg', -'https://img.nickpic.host/q4xQu6.jpg', -'https://img.nickpic.host/q4xCmf.jpg', -'https://img.nickpic.host/q4xUzp.jpg', -'https://img.nickpic.host/q4x4CW.jpg', -'https://img.nickpic.host/q4xXWY.jpg', -'https://img.nickpic.host/q4xnlA.jpg', -'https://img.nickpic.host/q4xtMG.jpg', -'https://img.nickpic.host/q4xMez.jpg', -'https://img.nickpic.host/q4x1rc.jpg', -'https://img.nickpic.host/q4xDN1.jpg', -'https://img.nickpic.host/q4xzoj.jpg', -'https://img.nickpic.host/q4x7uJ.jpg', -'https://img.nickpic.host/q4x8zn.jpg', -'https://img.nickpic.host/q4xKZs.jpg', -'https://img.nickpic.host/q4x2QO.jpg', -'https://img.nickpic.host/q4xHl2.jpg', -'https://img.nickpic.host/q4xNMQ.jpg', -'https://img.nickpic.host/q4xVkx.jpg', -'https://img.nickpic.host/q4x0rN.jpg', -'https://img.nickpic.host/q4x9Vm.jpg', -'https://img.nickpic.host/q4xko8.jpg', -'https://img.nickpic.host/q4xJAq.jpg', -'https://img.nickpic.host/q4xLzd.jpg', -'https://img.nickpic.host/q4BIQe.jpg', -'https://img.nickpic.host/q4xW55.jpg', -'https://img.nickpic.host/q4xPZD.jpg', -'https://img.nickpic.host/q4xZMP.jpg', -'https://img.nickpic.host/q4BGsF.jpg', -'https://img.nickpic.host/q4xdkM.jpg', -'https://img.nickpic.host/q4BmVX.jpg', -'https://img.nickpic.host/q4Bx76.jpg', -'https://img.nickpic.host/q4Bppb.jpg', -'https://img.nickpic.host/q4BvAf.jpg', -'https://img.nickpic.host/q4BBdp.jpg', -'https://img.nickpic.host/q4Basz.jpg', -'https://img.nickpic.host/q4Br5Y.jpg', -'https://img.nickpic.host/q4BsRA.jpg', -'https://img.nickpic.host/q4B3JG.jpg', -'https://img.nickpic.host/q4BjUc.jpg', -'https://img.nickpic.host/q4BlVW.jpg', -'https://img.nickpic.host/q4BcEj.jpg', -'https://img.nickpic.host/q4BSp1.jpg', -'https://img.nickpic.host/q4Bg7J.jpg', -'https://img.nickpic.host/q4B63x.jpg', -'https://img.nickpic.host/q4Bqdn.jpg', -'https://img.nickpic.host/q4BASs.jpg', -'https://img.nickpic.host/q4BER2.jpg', -'https://img.nickpic.host/q4BOJQ.jpg', -'https://img.nickpic.host/q4BCUN.jpg', -'https://img.nickpic.host/q4BXvm.jpg', -'https://img.nickpic.host/q4BQfO.jpg', -'https://img.nickpic.host/q4BiE8.jpg', -'https://img.nickpic.host/q4BRSD.jpg', -'https://img.nickpic.host/q4Bn8q.jpg', -'https://img.nickpic.host/q4B115.jpg', -'https://img.nickpic.host/q4Btdd.jpg', -'https://img.nickpic.host/q4B4JP.jpg', -'https://img.nickpic.host/q4Bw3M.jpg', -'https://img.nickpic.host/q4BzXF.jpg', -'https://img.nickpic.host/q4BH8f.jpg', -'https://img.nickpic.host/q4BKvX.jpg', -'https://img.nickpic.host/q4BYOb.jpg', -'https://img.nickpic.host/q4B7fe.jpg', -'https://img.nickpic.host/q4Bfcp.jpg', -'https://img.nickpic.host/q4BNy6.jpg', -'https://img.nickpic.host/q4B01Y.jpg', -'https://img.nickpic.host/q4B2LA.jpg', -'https://img.nickpic.host/q4BkXz.jpg', -'https://img.nickpic.host/q4BeFG.jpg', -'https://img.nickpic.host/q4BJ0c.jpg', -'https://img.nickpic.host/q4BPvW.jpg', -'https://img.nickpic.host/q4bG4s.jpg', -'https://img.nickpic.host/q4BTO1.jpg', -'https://img.nickpic.host/q4BWKj.jpg', -'https://img.nickpic.host/q4bIL2.jpg', -'https://img.nickpic.host/q4BZyJ.jpg', -'https://img.nickpic.host/q4Bycn.jpg', -'https://img.nickpic.host/q4boFQ.jpg', -'https://img.nickpic.host/q4bv0N.jpg', -'https://img.nickpic.host/q4bpix.jpg', -'https://img.nickpic.host/q4bBxO.jpg', -'https://img.nickpic.host/q4bFcd.jpg', -'https://img.nickpic.host/q4bbhm.jpg', -'https://img.nickpic.host/q4brK8.jpg', -'https://img.nickpic.host/q4b3Gq.jpg', -'https://img.nickpic.host/q4ba4D.jpg', -'https://img.nickpic.host/q4bjP5.jpg', -'https://img.nickpic.host/q4b5FP.jpg', -'https://img.nickpic.host/q4bSiM.jpg', -'https://img.nickpic.host/q4bqxe.jpg', -'https://img.nickpic.host/q4bc2F.jpg', -'https://img.nickpic.host/q4bAYb.jpg', -'https://img.nickpic.host/q4buhX.jpg', -'https://img.nickpic.host/q4bhg6.jpg', -'https://img.nickpic.host/q4b6Dp.jpg', -'https://img.nickpic.host/q4bOGf.jpg', -'https://img.nickpic.host/q4bi2z.jpg', -'https://img.nickpic.host/q4bCPY.jpg', -'https://img.nickpic.host/q4bXnG.jpg', -'https://img.nickpic.host/q4bUaA.jpg', -'https://img.nickpic.host/q4btBc.jpg', -'https://img.nickpic.host/q4bMhW.jpg', -'https://img.nickpic.host/q4b4Ij.jpg', -'https://img.nickpic.host/q4bRY1.jpg', -'https://img.nickpic.host/q4bDgJ.jpg', -'https://img.nickpic.host/q4bwDn.jpg', -'https://img.nickpic.host/q4bzTs.jpg', -'https://img.nickpic.host/q4bKnQ.jpg', -'https://img.nickpic.host/q4b8a2.jpg', -'https://img.nickpic.host/q4bfHm.jpg', -'https://img.nickpic.host/q4bY9x.jpg', -'https://img.nickpic.host/q4bNBN.jpg', -'https://img.nickpic.host/q4bV6O.jpg', -'https://img.nickpic.host/q4b9qq.jpg', -'https://img.nickpic.host/q4b2I8.jpg', -'https://img.nickpic.host/q4beDd.jpg', -'https://img.nickpic.host/q4bkTD.jpg', -'https://img.nickpic.host/q4bLj5.jpg', -'https://img.nickpic.host/q4bPnP.jpg', -'https://img.nickpic.host/q4bT9M.jpg', -'https://img.nickpic.host/q4bZbF.jpg', -'https://img.nickpic.host/q4bd6e.jpg', -'https://img.nickpic.host/q4row6.jpg', -'https://img.nickpic.host/q4byHX.jpg', -'https://img.nickpic.host/q4rmqf.jpg', -'https://img.nickpic.host/q4rImb.jpg', -'https://img.nickpic.host/q4rpWp.jpg', -'https://img.nickpic.host/q4rxjY.jpg', -'https://img.nickpic.host/q4rBtA.jpg', -'https://img.nickpic.host/q4rbeG.jpg', -'https://img.nickpic.host/q4rsbz.jpg', -'https://img.nickpic.host/q4rluj.jpg', -'https://img.nickpic.host/q4r3Cc.jpg', -'https://img.nickpic.host/q4rjm1.jpg', -'https://img.nickpic.host/q4rFHW.jpg', -'https://img.nickpic.host/q4r5wJ.jpg', -'https://img.nickpic.host/q4rgls.jpg', -'https://img.nickpic.host/q4rSWn.jpg', -'https://img.nickpic.host/q4rqt2.jpg', -'https://img.nickpic.host/q4rOCN.jpg', -'https://img.nickpic.host/q4rueQ.jpg', -'https://img.nickpic.host/q4rErx.jpg', -'https://img.nickpic.host/q4rhNO.jpg', -'https://img.nickpic.host/q4rCom.jpg', -'https://img.nickpic.host/q4rUzq.jpg', -'https://img.nickpic.host/q4rQu8.jpg', -'https://img.nickpic.host/q4rMeP.jpg', -'https://img.nickpic.host/q4r1rM.jpg', -'https://img.nickpic.host/q4rXWd.jpg', -'https://img.nickpic.host/q4rtM5.jpg', -'https://img.nickpic.host/q4rnlD.jpg', -'https://img.nickpic.host/q4r4QF.jpg', -'https://img.nickpic.host/q4rDNe.jpg', -'https://img.nickpic.host/q4r7Ab.jpg', -'https://img.nickpic.host/q4r8zf.jpg', -'https://img.nickpic.host/q4rKZ6.jpg', -'https://img.nickpic.host/q4rzoX.jpg', -'https://img.nickpic.host/q4rH5p.jpg', -'https://img.nickpic.host/q4rNMY.jpg', -'https://img.nickpic.host/q4rVkA.jpg', -'https://img.nickpic.host/q4r0sG.jpg', -'https://img.nickpic.host/q4r2Qz.jpg', -'https://img.nickpic.host/q4r9Vc.jpg', -'https://img.nickpic.host/q4rkoW.jpg', -'https://img.nickpic.host/q4rJA1.jpg', -'https://img.nickpic.host/q4rL7j.jpg', -'https://img.nickpic.host/q4rPZJ.jpg', -'https://img.nickpic.host/q4rW5n.jpg', -'https://img.nickpic.host/q4rZRs.jpg', -'https://img.nickpic.host/q4sGsQ.jpg', -'https://img.nickpic.host/q4rdk2.jpg', -'https://img.nickpic.host/q4sIUx.jpg', -'https://img.nickpic.host/q4smVN.jpg', -'https://img.nickpic.host/q4sBdq.jpg', -'https://img.nickpic.host/q4sppO.jpg', -'https://img.nickpic.host/q4sx78.jpg', -'https://img.nickpic.host/q4svEm.jpg', -'https://img.nickpic.host/q4sr5d.jpg', -'https://img.nickpic.host/q4ssRD.jpg', -'https://img.nickpic.host/q4s3J5.jpg', -'https://img.nickpic.host/q4sasP.jpg', -'https://img.nickpic.host/q4sjUM.jpg', -'https://img.nickpic.host/q4sSpe.jpg', -'https://img.nickpic.host/q4slfF.jpg', -'https://img.nickpic.host/q4sAS6.jpg', -'https://img.nickpic.host/q4scEX.jpg', -'https://img.nickpic.host/q4sg8b.jpg', -'https://img.nickpic.host/q4sqdf.jpg', -'https://img.nickpic.host/q4sOJY.jpg', -'https://img.nickpic.host/q4sE1p.jpg', -'https://img.nickpic.host/q4s63A.jpg', -'https://img.nickpic.host/q4sCXG.jpg', -'https://img.nickpic.host/q4sQfz.jpg', -'https://img.nickpic.host/q4sXvc.jpg', -'https://img.nickpic.host/q4sn81.jpg', -'https://img.nickpic.host/q4styj.jpg', -'https://img.nickpic.host/q4siEW.jpg', -'https://img.nickpic.host/q4sRSJ.jpg', -'https://img.nickpic.host/q4s11n.jpg', -'https://img.nickpic.host/q4sw32.jpg', -'https://img.nickpic.host/q4s4Ls.jpg', -'https://img.nickpic.host/q4szXQ.jpg', -'https://img.nickpic.host/q4s70x.jpg', -'https://img.nickpic.host/q4sKvN.jpg', -'https://img.nickpic.host/q4sYOO.jpg', -'https://img.nickpic.host/q4sHKm.jpg', -'https://img.nickpic.host/q4s2LD.jpg', -'https://img.nickpic.host/q4sfcq.jpg', -'https://img.nickpic.host/q4sNy8.jpg', -'https://img.nickpic.host/q4seF5.jpg', -'https://img.nickpic.host/q4s01d.jpg', -'https://img.nickpic.host/q4sJ0M.jpg', -'https://img.nickpic.host/q4skXP.jpg', -'https://img.nickpic.host/q4sPxF.jpg', -'https://img.nickpic.host/q4sTOe.jpg', -'https://img.nickpic.host/q4sdGb.jpg', -'https://img.nickpic.host/q4sWKX.jpg', -'https://img.nickpic.host/q4sycf.jpg', -'https://img.nickpic.host/q43IPp.jpg', -'https://img.nickpic.host/q43G46.jpg', -'https://img.nickpic.host/q43oFY.jpg', -'https://img.nickpic.host/q43bhc.jpg', -'https://img.nickpic.host/q43v2G.jpg', -'https://img.nickpic.host/q43piA.jpg', -'https://img.nickpic.host/q43Bxz.jpg', -'https://img.nickpic.host/q43rKW.jpg', -'https://img.nickpic.host/q43Fgj.jpg', -'https://img.nickpic.host/q433G1.jpg', -'https://img.nickpic.host/q43a4J.jpg', -'https://img.nickpic.host/q43jPn.jpg', -'https://img.nickpic.host/q435as.jpg', -'https://img.nickpic.host/q43uhN.jpg', -'https://img.nickpic.host/q43Si2.jpg', -'https://img.nickpic.host/q43qBx.jpg', -'https://img.nickpic.host/q43c2Q.jpg', -'https://img.nickpic.host/q43AYO.jpg', -'https://img.nickpic.host/q43OIm.jpg', -'https://img.nickpic.host/q43hg8.jpg', -'https://img.nickpic.host/q436Dq.jpg', -'https://img.nickpic.host/q43CPd.jpg', -'https://img.nickpic.host/q43M6F.jpg', -'https://img.nickpic.host/q43UaD.jpg', -'https://img.nickpic.host/q43RYe.jpg', -'https://img.nickpic.host/q43Xn5.jpg', -'https://img.nickpic.host/q43tBM.jpg', -'https://img.nickpic.host/q434IX.jpg', -'https://img.nickpic.host/q43Dqb.jpg', -'https://img.nickpic.host/q43wDf.jpg', -'https://img.nickpic.host/q43zT6.jpg', -'https://img.nickpic.host/q43KnY.jpg', -'https://img.nickpic.host/q438jp.jpg', -'https://img.nickpic.host/q43Y9A.jpg', -'https://img.nickpic.host/q43V6z.jpg', -'https://img.nickpic.host/q43fHc.jpg', -'https://img.nickpic.host/q43NbG.jpg', -'https://img.nickpic.host/q432IW.jpg', -'https://img.nickpic.host/q439q1.jpg', -'https://img.nickpic.host/q43ewj.jpg', -'https://img.nickpic.host/q43kTJ.jpg', -'https://img.nickpic.host/q43Ljn.jpg', -'https://img.nickpic.host/q43Pts.jpg', -'https://img.nickpic.host/q43T92.jpg', -'https://img.nickpic.host/q43dCx.jpg', -'https://img.nickpic.host/q43ZbQ.jpg', -'https://img.nickpic.host/q43yHN.jpg', -'https://img.nickpic.host/q4FImO.jpg', -'https://img.nickpic.host/q4FpWq.jpg', -'https://img.nickpic.host/q4Fmum.jpg', -'https://img.nickpic.host/q4Fow8.jpg', -'https://img.nickpic.host/q4Fxjd.jpg', -'https://img.nickpic.host/q4FBtD.jpg', -'https://img.nickpic.host/q4Fbe5.jpg', -'https://img.nickpic.host/q4FsbP.jpg', -'https://img.nickpic.host/q4F3CM.jpg', -'https://img.nickpic.host/q4Fjme.jpg', -'https://img.nickpic.host/q4FFNF.jpg', -'https://img.nickpic.host/q4FSWf.jpg', -'https://img.nickpic.host/q4F5zb.jpg', -'https://img.nickpic.host/q4FluX.jpg', -'https://img.nickpic.host/q4FqMp.jpg', -'https://img.nickpic.host/q4Fgl6.jpg', -'https://img.nickpic.host/q4FErA.jpg', -'https://img.nickpic.host/q4FueY.jpg', -'https://img.nickpic.host/q4FOQG.jpg', -'https://img.nickpic.host/q4FCoc.jpg', -'https://img.nickpic.host/q4FhNz.jpg', -'https://img.nickpic.host/q4FQuW.jpg', -'https://img.nickpic.host/q4FUz1.jpg', -'https://img.nickpic.host/q4FXZj.jpg', -'https://img.nickpic.host/q4FnlJ.jpg', -'https://img.nickpic.host/q4FMks.jpg', -'https://img.nickpic.host/q4FtMn.jpg', -'https://img.nickpic.host/q4F4QQ.jpg', -'https://img.nickpic.host/q4F1r2.jpg', -'https://img.nickpic.host/q4FDVx.jpg', -'https://img.nickpic.host/q4FzoN.jpg', -'https://img.nickpic.host/q4F7AO.jpg', -'https://img.nickpic.host/q4FKZ8.jpg', -'https://img.nickpic.host/q4F87m.jpg', -'https://img.nickpic.host/q4FH5q.jpg', -'https://img.nickpic.host/q4FNMd.jpg', -'https://img.nickpic.host/q4F0s5.jpg', -'https://img.nickpic.host/q4FVkD.jpg', -'https://img.nickpic.host/q4F2QP.jpg', -'https://img.nickpic.host/q4F9VM.jpg', -'https://img.nickpic.host/q4FPdb.jpg', -'https://img.nickpic.host/q4FJAe.jpg', -'https://img.nickpic.host/q4FkpF.jpg', -'https://img.nickpic.host/q4FL7X.jpg', -'https://img.nickpic.host/q4FW5f.jpg', -'https://img.nickpic.host/q4FdJp.jpg', -'https://img.nickpic.host/q4FZR6.jpg', -'https://img.nickpic.host/q4aIUA.jpg', -'https://img.nickpic.host/q4aGsY.jpg', -'https://img.nickpic.host/q4avEc.jpg', -'https://img.nickpic.host/q4amfG.jpg', -'https://img.nickpic.host/q4appz.jpg', -'https://img.nickpic.host/q4ax7W.jpg', -'https://img.nickpic.host/q4arSj.jpg', -'https://img.nickpic.host/q4asRJ.jpg', -'https://img.nickpic.host/q4aBd1.jpg', -'https://img.nickpic.host/q4a3Jn.jpg', -'https://img.nickpic.host/q4aa3s.jpg', -'https://img.nickpic.host/q4ajU2.jpg', -'https://img.nickpic.host/q4alfQ.jpg', -'https://img.nickpic.host/q4acEN.jpg', -'https://img.nickpic.host/q4aE1q.jpg', -'https://img.nickpic.host/q4aqym.jpg', -'https://img.nickpic.host/q4aAS8.jpg', -'https://img.nickpic.host/q4aOJd.jpg', -'https://img.nickpic.host/q4aCX5.jpg', -'https://img.nickpic.host/q4a63D.jpg', -'https://img.nickpic.host/q4aQfP.jpg', -'https://img.nickpic.host/q4aXvM.jpg', -'https://img.nickpic.host/q4an8e.jpg', -'https://img.nickpic.host/q4aiOF.jpg', -'https://img.nickpic.host/q4atyX.jpg', -'https://img.nickpic.host/q4a11f.jpg', -'https://img.nickpic.host/q4aRcb.jpg', -'https://img.nickpic.host/q4a4L6.jpg', -'https://img.nickpic.host/q4awFp.jpg', -'https://img.nickpic.host/q4azXY.jpg', -'https://img.nickpic.host/q4aYOz.jpg', -'https://img.nickpic.host/q4a70A.jpg', -'https://img.nickpic.host/q4aKxG.jpg', -'https://img.nickpic.host/q4aHKc.jpg', -'https://img.nickpic.host/q4afc1.jpg', -'https://img.nickpic.host/q4a04j.jpg', -'https://img.nickpic.host/q4aNyW.jpg', -'https://img.nickpic.host/q4a2LJ.jpg', -'https://img.nickpic.host/q4aeFn.jpg', -'https://img.nickpic.host/q4akis.jpg', -'https://img.nickpic.host/q4aJ02.jpg', -'https://img.nickpic.host/q4aWKN.jpg', -'https://img.nickpic.host/q4aThx.jpg', -'https://img.nickpic.host/q4aPxQ.jpg', -'https://img.nickpic.host/q4adGO.jpg', -'https://img.nickpic.host/q4jG48.jpg', -'https://img.nickpic.host/q4aygm.jpg', -'https://img.nickpic.host/q4jIPq.jpg', -'https://img.nickpic.host/q4joFd.jpg', -'https://img.nickpic.host/q4jpiD.jpg', -'https://img.nickpic.host/q4jBxP.jpg', -'https://img.nickpic.host/q4jv25.jpg', -'https://img.nickpic.host/q4jbhM.jpg', -'https://img.nickpic.host/q4jrYF.jpg', -'https://img.nickpic.host/q4jFgX.jpg', -'https://img.nickpic.host/q4jaDb.jpg', -'https://img.nickpic.host/q4j3Ge.jpg', -'https://img.nickpic.host/q4jjPf.jpg', -'https://img.nickpic.host/q4j5a6.jpg', -'https://img.nickpic.host/q4jSnp.jpg', -'https://img.nickpic.host/q4jc2Y.jpg', -'https://img.nickpic.host/q4jqBA.jpg', -'https://img.nickpic.host/q4ju6G.jpg', -'https://img.nickpic.host/q4jAYz.jpg', -'https://img.nickpic.host/q4jOIc.jpg', -'https://img.nickpic.host/q4j6D1.jpg', -'https://img.nickpic.host/q4jhgW.jpg', -'https://img.nickpic.host/q4jCTj.jpg', -'https://img.nickpic.host/q4jUaJ.jpg', -'https://img.nickpic.host/q4jXnn.jpg', -'https://img.nickpic.host/q4ji9s.jpg', -'https://img.nickpic.host/q4jtB2.jpg', -'https://img.nickpic.host/q4jRHx.jpg', -'https://img.nickpic.host/q4jM6Q.jpg', -'https://img.nickpic.host/q4j4IN.jpg', -'https://img.nickpic.host/q4jDqO.jpg', -'https://img.nickpic.host/q4jwwm.jpg', -'https://img.nickpic.host/q4j8jq.jpg', -'https://img.nickpic.host/q4jzT8.jpg', -'https://img.nickpic.host/q4jKnd.jpg', -'https://img.nickpic.host/q4jY9D.jpg', -'https://img.nickpic.host/q4jNb5.jpg', -'https://img.nickpic.host/q4jV6P.jpg', -'https://img.nickpic.host/q4jfHM.jpg', -'https://img.nickpic.host/q4j2mF.jpg', -'https://img.nickpic.host/q4j9qe.jpg', -'https://img.nickpic.host/q4jewX.jpg', -'https://img.nickpic.host/q4jLjf.jpg', -'https://img.nickpic.host/q4jkWb.jpg', -'https://img.nickpic.host/q4jPt6.jpg', -'https://img.nickpic.host/q4jTep.jpg', -'https://img.nickpic.host/q4jZbY.jpg', -'https://img.nickpic.host/q4jyNG.jpg', -'https://img.nickpic.host/q4jdCA.jpg', -'https://img.nickpic.host/q4lImz.jpg', -'https://img.nickpic.host/q4lmuc.jpg', -'https://img.nickpic.host/q4lpW1.jpg', -'https://img.nickpic.host/q4lxlj.jpg', -'https://img.nickpic.host/q4lowW.jpg', -'https://img.nickpic.host/q4lBtJ.jpg', -'https://img.nickpic.host/q4lben.jpg', -'https://img.nickpic.host/q4lsrs.jpg', -'https://img.nickpic.host/q4l3C2.jpg', -'https://img.nickpic.host/q4lFNQ.jpg', -'https://img.nickpic.host/q4ljox.jpg', -'https://img.nickpic.host/q4lluN.jpg', -'https://img.nickpic.host/q4l5zO.jpg', -'https://img.nickpic.host/q4lSZm.jpg', -'https://img.nickpic.host/q4lgl8.jpg', -'https://img.nickpic.host/q4lqMq.jpg', -'https://img.nickpic.host/q4lued.jpg', -'https://img.nickpic.host/q4lErD.jpg', -'https://img.nickpic.host/q4lOQ5.jpg', -'https://img.nickpic.host/q4lhNP.jpg', -'https://img.nickpic.host/q4lCoM.jpg', -'https://img.nickpic.host/q4lQAF.jpg', -'https://img.nickpic.host/q4lUze.jpg', -'https://img.nickpic.host/q4lXZX.jpg', -'https://img.nickpic.host/q4ln5b.jpg', -'https://img.nickpic.host/q4ltMf.jpg', -'https://img.nickpic.host/q4lMk6.jpg', -'https://img.nickpic.host/q4l1sp.jpg', -'https://img.nickpic.host/q4l4QY.jpg', -'https://img.nickpic.host/q4lDVA.jpg', -'https://img.nickpic.host/q4lzpG.jpg', -'https://img.nickpic.host/q4l7Az.jpg', -'https://img.nickpic.host/q4l87c.jpg', -'https://img.nickpic.host/q4lKZW.jpg', -'https://img.nickpic.host/q4lH51.jpg', -'https://img.nickpic.host/q4lNRj.jpg', -'https://img.nickpic.host/q4lVkJ.jpg', -'https://img.nickpic.host/q4l0sn.jpg', -'https://img.nickpic.host/q4l2Us.jpg', -'https://img.nickpic.host/q4l9V2.jpg', -'https://img.nickpic.host/q4lkpQ.jpg', -'https://img.nickpic.host/q4lJEx.jpg', -'https://img.nickpic.host/q4lPdO.jpg', -'https://img.nickpic.host/q4lWSm.jpg', -'https://img.nickpic.host/q4lZR8.jpg', -'https://img.nickpic.host/q4ldJq.jpg', -'https://img.nickpic.host/q45Gsd.jpg', -'https://img.nickpic.host/q45ppP.jpg', -'https://img.nickpic.host/q45IUD.jpg', -'https://img.nickpic.host/q45mf5.jpg', -'https://img.nickpic.host/q45vEM.jpg', -'https://img.nickpic.host/q45x8F.jpg', -'https://img.nickpic.host/q45Bde.jpg', -'https://img.nickpic.host/q45rSX.jpg', -'https://img.nickpic.host/q45s1b.jpg', -'https://img.nickpic.host/q453Jf.jpg', -'https://img.nickpic.host/q45a36.jpg', -'https://img.nickpic.host/q45jXp.jpg', -'https://img.nickpic.host/q45cOG.jpg', -'https://img.nickpic.host/q45lfY.jpg', -'https://img.nickpic.host/q45SvA.jpg', -'https://img.nickpic.host/q45g8z.jpg', -'https://img.nickpic.host/q45qyc.jpg', -'https://img.nickpic.host/q45E11.jpg', -'https://img.nickpic.host/q45ASW.jpg', -'https://img.nickpic.host/q45OLj.jpg', -'https://img.nickpic.host/q4563J.jpg', -'https://img.nickpic.host/q45Xv2.jpg', -'https://img.nickpic.host/q45Q0s.jpg', -'https://img.nickpic.host/q45CXn.jpg', -'https://img.nickpic.host/q45nKx.jpg', -'https://img.nickpic.host/q45iOQ.jpg', -'https://img.nickpic.host/q45tyN.jpg', -'https://img.nickpic.host/q45RcO.jpg', -'https://img.nickpic.host/q454L8.jpg', -'https://img.nickpic.host/q4514m.jpg', -'https://img.nickpic.host/q4570D.jpg', -'https://img.nickpic.host/q45zXd.jpg', -'https://img.nickpic.host/q45wFq.jpg', -'https://img.nickpic.host/q45VGF.jpg', -'https://img.nickpic.host/q45Kx5.jpg', -'https://img.nickpic.host/q45HKM.jpg', -'https://img.nickpic.host/q45YOP.jpg', -'https://img.nickpic.host/q45fce.jpg', -'https://img.nickpic.host/q452Pb.jpg', -'https://img.nickpic.host/q4504X.jpg', -'https://img.nickpic.host/q45eFf.jpg', -'https://img.nickpic.host/q45ki6.jpg', -'https://img.nickpic.host/q45J2p.jpg', -'https://img.nickpic.host/q45ThA.jpg', -'https://img.nickpic.host/q45PxY.jpg', -'https://img.nickpic.host/q45dGz.jpg', -'https://img.nickpic.host/q45WYG.jpg', -'https://img.nickpic.host/q45ygc.jpg', -'https://img.nickpic.host/q4SIP1.jpg', -'https://img.nickpic.host/q4SG4W.jpg', -'https://img.nickpic.host/q4Soaj.jpg', -'https://img.nickpic.host/q4SpiJ.jpg'] - - -global.kimetsu = ['https://img.nickpic.host/q8bqdO.jpg', -'https://img.nickpic.host/q8bg7N.jpg', -'https://img.nickpic.host/q8bSpQ.jpg', -'https://img.nickpic.host/q8bcEx.jpg', -'https://img.nickpic.host/q8bjUs.jpg', -'https://img.nickpic.host/q8basn.jpg', -'https://img.nickpic.host/q8blV2.jpg', -'https://img.nickpic.host/q8b3kJ.jpg', -'https://img.nickpic.host/q8bsRj.jpg', -'https://img.nickpic.host/q8br51.jpg', -'https://img.nickpic.host/q8bASm.jpg', -'https://img.nickpic.host/q8bOJq.jpg', -'https://img.nickpic.host/q8bER8.jpg', -'https://img.nickpic.host/q8b6sd.jpg', -'https://img.nickpic.host/q8bQf5.jpg', -'https://img.nickpic.host/q8bCUD.jpg', -'https://img.nickpic.host/q8bXpP.jpg', -'https://img.nickpic.host/q8biEM.jpg', -'https://img.nickpic.host/q8bn8F.jpg', -'https://img.nickpic.host/q8btde.jpg', -'https://img.nickpic.host/q8bYOG.jpg', -'https://img.nickpic.host/q8bRSX.jpg', -'https://img.nickpic.host/q8b11b.jpg', -'https://img.nickpic.host/q8b4Jf.jpg', -'https://img.nickpic.host/q8bw36.jpg', -'https://img.nickpic.host/q8bzXp.jpg', -'https://img.nickpic.host/q8bKvA.jpg', -'https://img.nickpic.host/q8b7fY.jpg', -'https://img.nickpic.host/q8bH8z.jpg', -'https://img.nickpic.host/q8bNyc.jpg', -'https://img.nickpic.host/q8bfSW.jpg', -'https://img.nickpic.host/q8b011.jpg', -'https://img.nickpic.host/q8bZyN.jpg', -'https://img.nickpic.host/q8b2Lj.jpg', -'https://img.nickpic.host/q8be3J.jpg', -'https://img.nickpic.host/q8bkXn.jpg', -'https://img.nickpic.host/q8bJ0s.jpg', -'https://img.nickpic.host/q8bPv2.jpg', -'https://img.nickpic.host/q8bWKx.jpg', -'https://img.nickpic.host/q8bTOQ.jpg', -'https://img.nickpic.host/q8bycO.jpg', -'https://img.nickpic.host/q8rG4m.jpg', -'https://img.nickpic.host/q8rIL8.jpg', -'https://img.nickpic.host/q8roFq.jpg', -'https://img.nickpic.host/q8rpXd.jpg', -'https://img.nickpic.host/q8rv0D.jpg', -'https://img.nickpic.host/q8rBx5.jpg', -'https://img.nickpic.host/q8rbOP.jpg', -'https://img.nickpic.host/q8r3GF.jpg', -'https://img.nickpic.host/q8r5Ff.jpg', -'https://img.nickpic.host/q8rFce.jpg', -'https://img.nickpic.host/q8ra4X.jpg', -'https://img.nickpic.host/q8rjPb.jpg', -'https://img.nickpic.host/q8rSi6.jpg', -'https://img.nickpic.host/q8rqxY.jpg', -'https://img.nickpic.host/q8rc2p.jpg', -'https://img.nickpic.host/q8ruhA.jpg', -'https://img.nickpic.host/q8rOGz.jpg', -'https://img.nickpic.host/q8rhgc.jpg', -'https://img.nickpic.host/q8r64W.jpg', -'https://img.nickpic.host/q8rXiJ.jpg', -'https://img.nickpic.host/q8rCP1.jpg', -'https://img.nickpic.host/q8ri2n.jpg', -'https://img.nickpic.host/q8rUaj.jpg', -'https://img.nickpic.host/q8rRYQ.jpg', -'https://img.nickpic.host/q8rtBs.jpg', -'https://img.nickpic.host/q8rMh2.jpg', -'https://img.nickpic.host/q8r4Ix.jpg', -'https://img.nickpic.host/q8r8a8.jpg', -'https://img.nickpic.host/q8rwDO.jpg', -'https://img.nickpic.host/q8rDgN.jpg', -'https://img.nickpic.host/q8rKnq.jpg', -'https://img.nickpic.host/q8rzTm.jpg', -'https://img.nickpic.host/q8r2IM.jpg', -'https://img.nickpic.host/q8rY2d.jpg', -'https://img.nickpic.host/q8rfYP.jpg', -'https://img.nickpic.host/q8rNBD.jpg', -'https://img.nickpic.host/q8rV65.jpg', -'https://img.nickpic.host/q8r9qF.jpg', -'https://img.nickpic.host/q8reDe.jpg', -'https://img.nickpic.host/q8rPnf.jpg', -'https://img.nickpic.host/q8rkTX.jpg', -'https://img.nickpic.host/q8rLjb.jpg', -'https://img.nickpic.host/q8rT96.jpg', -'https://img.nickpic.host/q8rZbp.jpg', -'https://img.nickpic.host/q8ryHA.jpg', -'https://img.nickpic.host/q8rd6Y.jpg', -'https://img.nickpic.host/q8sImG.jpg', -'https://img.nickpic.host/q8sowc.jpg', -'https://img.nickpic.host/q8smqz.jpg', -'https://img.nickpic.host/q8sxj1.jpg', -'https://img.nickpic.host/q8spTW.jpg', -'https://img.nickpic.host/q8sBtj.jpg', -'https://img.nickpic.host/q8sb9J.jpg', -'https://img.nickpic.host/q8ssbn.jpg', -'https://img.nickpic.host/q8sFH2.jpg', -'https://img.nickpic.host/q8s3Cs.jpg', -'https://img.nickpic.host/q8sjmQ.jpg', -'https://img.nickpic.host/q8slux.jpg', -'https://img.nickpic.host/q8s5wN.jpg', -'https://img.nickpic.host/q8sSWO.jpg', -'https://img.nickpic.host/q8sglm.jpg', -'https://img.nickpic.host/q8sqt8.jpg', -'https://img.nickpic.host/q8sueq.jpg', -'https://img.nickpic.host/q8sEbd.jpg', -'https://img.nickpic.host/q8sOCD.jpg', -'https://img.nickpic.host/q8shN5.jpg', -'https://img.nickpic.host/q8sCmP.jpg', -'https://img.nickpic.host/q8sQuM.jpg', -'https://img.nickpic.host/q8sUzF.jpg', -'https://img.nickpic.host/q8snlX.jpg', -'https://img.nickpic.host/q8sXWe.jpg', -'https://img.nickpic.host/q8stMb.jpg', -'https://img.nickpic.host/q8s1r6.jpg', -'https://img.nickpic.host/q8sMef.jpg', -'https://img.nickpic.host/q8s4Qp.jpg', -'https://img.nickpic.host/q8sDNY.jpg', -'https://img.nickpic.host/q8szoA.jpg', -'https://img.nickpic.host/q8s7AG.jpg', -'https://img.nickpic.host/q8s8zz.jpg', -'https://img.nickpic.host/q8sKZc.jpg', -'https://img.nickpic.host/q8sHlW.jpg', -'https://img.nickpic.host/q8sNM1.jpg', -'https://img.nickpic.host/q8sVkj.jpg', -'https://img.nickpic.host/q8s0rJ.jpg', -'https://img.nickpic.host/q8s2Qn.jpg', -'https://img.nickpic.host/q8s9Vs.jpg', -'https://img.nickpic.host/q8sko2.jpg', -'https://img.nickpic.host/q8sJAQ.jpg', -'https://img.nickpic.host/q8sL7x.jpg', -'https://img.nickpic.host/q8sPZN.jpg', -'https://img.nickpic.host/q8sW5O.jpg', -'https://img.nickpic.host/q8sdk8.jpg', -'https://img.nickpic.host/q8sZRm.jpg', -'https://img.nickpic.host/q83pp5.jpg', -'https://img.nickpic.host/q83IQd.jpg', -'https://img.nickpic.host/q83x7M.jpg', -'https://img.nickpic.host/q83mVD.jpg', -'https://img.nickpic.host/q83vAP.jpg', -'https://img.nickpic.host/q83r5e.jpg', -'https://img.nickpic.host/q83BdF.jpg', -'https://img.nickpic.host/q833Jb.jpg', -'https://img.nickpic.host/q83sRX.jpg', -'https://img.nickpic.host/q83lfp.jpg', -'https://img.nickpic.host/q83asf.jpg', -'https://img.nickpic.host/q83jU6.jpg', -'https://img.nickpic.host/q83SpY.jpg', -'https://img.nickpic.host/q83g8G.jpg', -'https://img.nickpic.host/q83cEA.jpg', -'https://img.nickpic.host/q83qdz.jpg', -'https://img.nickpic.host/q83ASc.jpg', -'https://img.nickpic.host/q83OJ1.jpg', -'https://img.nickpic.host/q83ERW.jpg', -'https://img.nickpic.host/q8363j.jpg', -'https://img.nickpic.host/q83CUJ.jpg', -'https://img.nickpic.host/q83Qfn.jpg', -'https://img.nickpic.host/q83Xvs.jpg', -'https://img.nickpic.host/q83iE2.jpg', -'https://img.nickpic.host/q83n8Q.jpg', -'https://img.nickpic.host/q83RSN.jpg', -'https://img.nickpic.host/q83tyx.jpg', -'https://img.nickpic.host/q8311O.jpg', -'https://img.nickpic.host/q83w38.jpg', -'https://img.nickpic.host/q834Lm.jpg', -'https://img.nickpic.host/q83zXq.jpg', -'https://img.nickpic.host/q837fd.jpg', -'https://img.nickpic.host/q83YO5.jpg', -'https://img.nickpic.host/q83KvD.jpg', -'https://img.nickpic.host/q83H8P.jpg', -'https://img.nickpic.host/q83NyM.jpg', -'https://img.nickpic.host/q8301e.jpg', -'https://img.nickpic.host/q83fcF.jpg', -'https://img.nickpic.host/q832LX.jpg', -'https://img.nickpic.host/q83eFb.jpg', -'https://img.nickpic.host/q83kXf.jpg', -'https://img.nickpic.host/q83J06.jpg', -'https://img.nickpic.host/q83Pxp.jpg', -'https://img.nickpic.host/q83TOY.jpg', -'https://img.nickpic.host/q83WKA.jpg', -'https://img.nickpic.host/q83dGG.jpg', -'https://img.nickpic.host/q83ycz.jpg', -'https://img.nickpic.host/q8FG4c.jpg', -'https://img.nickpic.host/q8FoF1.jpg', -'https://img.nickpic.host/q8FILW.jpg', -'https://img.nickpic.host/q8Fpij.jpg', -'https://img.nickpic.host/q8Fv0J.jpg', -'https://img.nickpic.host/q8FBxn.jpg', -'https://img.nickpic.host/q8Fbhs.jpg', -'https://img.nickpic.host/q8FrK2.jpg', -'https://img.nickpic.host/q8F3GQ.jpg', -'https://img.nickpic.host/q8FFgx.jpg', -'https://img.nickpic.host/q8Fa4N.jpg', -'https://img.nickpic.host/q8F5am.jpg', -'https://img.nickpic.host/q8FjPO.jpg', -'https://img.nickpic.host/q8FSi8.jpg', -'https://img.nickpic.host/q8Fc2q.jpg', -'https://img.nickpic.host/q8FuhD.jpg', -'https://img.nickpic.host/q8Fqxd.jpg', -'https://img.nickpic.host/q8FAY5.jpg', -'https://img.nickpic.host/q8FOGP.jpg', -'https://img.nickpic.host/q8FhgM.jpg', -'https://img.nickpic.host/q8F6DF.jpg', -'https://img.nickpic.host/q8FXnb.jpg', -'https://img.nickpic.host/q8FCPe.jpg', -'https://img.nickpic.host/q8FUaX.jpg', -'https://img.nickpic.host/q8Fi2f.jpg', -'https://img.nickpic.host/q8FtB6.jpg', -'https://img.nickpic.host/q8FM6p.jpg', -'https://img.nickpic.host/q8FRYY.jpg', -'https://img.nickpic.host/q8F4IA.jpg', -'https://img.nickpic.host/q8FDqG.jpg', -'https://img.nickpic.host/q8FwDz.jpg', -'https://img.nickpic.host/q8FzTc.jpg', -'https://img.nickpic.host/q8FKn1.jpg', -'https://img.nickpic.host/q8FY9j.jpg', -'https://img.nickpic.host/q8F8aW.jpg', -'https://img.nickpic.host/q8FNBJ.jpg', -'https://img.nickpic.host/q8FV6n.jpg', -'https://img.nickpic.host/q8FfHs.jpg', -'https://img.nickpic.host/q8Fewx.jpg', -'https://img.nickpic.host/q8F2I2.jpg', -'https://img.nickpic.host/q8F9qQ.jpg', -'https://img.nickpic.host/q8FkTN.jpg', -'https://img.nickpic.host/q8FZbq.jpg', -'https://img.nickpic.host/q8FLjO.jpg', -'https://img.nickpic.host/q8FT98.jpg', -'https://img.nickpic.host/q8FPtm.jpg', -'https://img.nickpic.host/q8FyHD.jpg', -'https://img.nickpic.host/q8Fd6d.jpg', -'https://img.nickpic.host/q8aIm5.jpg', -'https://img.nickpic.host/q8aowM.jpg', -'https://img.nickpic.host/q8amqP.jpg', -'https://img.nickpic.host/q8apWF.jpg', -'https://img.nickpic.host/q8axje.jpg', -'https://img.nickpic.host/q8abeb.jpg', -'https://img.nickpic.host/q8aFNp.jpg', -'https://img.nickpic.host/q8aBtX.jpg', -'https://img.nickpic.host/q8asbf.jpg', -'https://img.nickpic.host/q8a3C6.jpg', -'https://img.nickpic.host/q8ajmY.jpg', -'https://img.nickpic.host/q8a5zG.jpg', -'https://img.nickpic.host/q8aluA.jpg', -'https://img.nickpic.host/q8aSWz.jpg', -'https://img.nickpic.host/q8aglc.jpg', -'https://img.nickpic.host/q8aqtW.jpg', -'https://img.nickpic.host/q8aOCJ.jpg', -'https://img.nickpic.host/q8aue1.jpg', -'https://img.nickpic.host/q8aErj.jpg', -'https://img.nickpic.host/q8aUzQ.jpg', -'https://img.nickpic.host/q8aCos.jpg', -'https://img.nickpic.host/q8ahNn.jpg', -'https://img.nickpic.host/q8aQu2.jpg', -'https://img.nickpic.host/q8atMO.jpg', -'https://img.nickpic.host/q8aXZx.jpg', -'https://img.nickpic.host/q8anlN.jpg', -'https://img.nickpic.host/q8a1r8.jpg', -'https://img.nickpic.host/q8aMkm.jpg', -'https://img.nickpic.host/q8azoD.jpg', -'https://img.nickpic.host/q8a4Qq.jpg', -'https://img.nickpic.host/q8aDNd.jpg', -'https://img.nickpic.host/q8a7A5.jpg', -'https://img.nickpic.host/q8a8zP.jpg', -'https://img.nickpic.host/q8aNMe.jpg', -'https://img.nickpic.host/q8aKZM.jpg', -'https://img.nickpic.host/q8aH5F.jpg', -'https://img.nickpic.host/q8aVkX.jpg', -'https://img.nickpic.host/q8a0sb.jpg', -'https://img.nickpic.host/q8akpp.jpg', -'https://img.nickpic.host/q8a2Qf.jpg', -'https://img.nickpic.host/q8a9V6.jpg', -'https://img.nickpic.host/q8aL7A.jpg', -'https://img.nickpic.host/q8aJAY.jpg', -'https://img.nickpic.host/q8adkW.jpg', -'https://img.nickpic.host/q8aPdG.jpg', -'https://img.nickpic.host/q8aW5z.jpg', -'https://img.nickpic.host/q8aZRc.jpg', -'https://img.nickpic.host/q8jIUj.jpg', -'https://img.nickpic.host/q8jGs1.jpg', -'https://img.nickpic.host/q8jBdQ.jpg', -'https://img.nickpic.host/q8jmVJ.jpg', -'https://img.nickpic.host/q8jppn.jpg', -'https://img.nickpic.host/q8jx72.jpg', -'https://img.nickpic.host/q8jvEs.jpg', -'https://img.nickpic.host/q8jsRN.jpg', -'https://img.nickpic.host/q8jrSx.jpg', -'https://img.nickpic.host/q8j3JO.jpg', -'https://img.nickpic.host/q8jg85.jpg', -'https://img.nickpic.host/q8ja3m.jpg', -'https://img.nickpic.host/q8jjU8.jpg', -'https://img.nickpic.host/q8jcED.jpg', -'https://img.nickpic.host/q8jSpd.jpg', -'https://img.nickpic.host/q8jlfq.jpg', -'https://img.nickpic.host/q8jASM.jpg', -'https://img.nickpic.host/q8jqdP.jpg', -'https://img.nickpic.host/q8j63X.jpg', -'https://img.nickpic.host/q8jXv6.jpg', -'https://img.nickpic.host/q8jE1F.jpg', -'https://img.nickpic.host/q8jOJe.jpg', -'https://img.nickpic.host/q8jCXb.jpg', -'https://img.nickpic.host/q8jQff.jpg', -'https://img.nickpic.host/q8jiOp.jpg', -'https://img.nickpic.host/q8jRcG.jpg', -'https://img.nickpic.host/q8jn8Y.jpg', -'https://img.nickpic.host/q8jtyA.jpg', -'https://img.nickpic.host/q8jw3W.jpg', -'https://img.nickpic.host/q8j11z.jpg', -'https://img.nickpic.host/q8j4Lc.jpg', -'https://img.nickpic.host/q8jKvJ.jpg', -'https://img.nickpic.host/q8jzX1.jpg', -'https://img.nickpic.host/q8j70j.jpg', -'https://img.nickpic.host/q8jHKs.jpg', -'https://img.nickpic.host/q8jYOn.jpg', -'https://img.nickpic.host/q8j04x.jpg', -'https://img.nickpic.host/q8jNy2.jpg', -'https://img.nickpic.host/q8jfcQ.jpg', -'https://img.nickpic.host/q8jeFO.jpg', -'https://img.nickpic.host/q8j2LN.jpg', -'https://img.nickpic.host/q8jkim.jpg', -'https://img.nickpic.host/q8jTOd.jpg', -'https://img.nickpic.host/q8jJ08.jpg', -'https://img.nickpic.host/q8jPxq.jpg', -'https://img.nickpic.host/q8jdG5.jpg', -'https://img.nickpic.host/q8jWKD.jpg', -'https://img.nickpic.host/q8jycP.jpg', -'https://img.nickpic.host/q8loFe.jpg', -'https://img.nickpic.host/q8lG4M.jpg', -'https://img.nickpic.host/q8lIPF.jpg', -'https://img.nickpic.host/q8lpiX.jpg', -'https://img.nickpic.host/q8lv2b.jpg', -'https://img.nickpic.host/q8lBxf.jpg', -'https://img.nickpic.host/q8ljPz.jpg', -'https://img.nickpic.host/q8lbh6.jpg', -'https://img.nickpic.host/q8lrYp.jpg', -'https://img.nickpic.host/q8l3GY.jpg', -'https://img.nickpic.host/q8lFgA.jpg', -'https://img.nickpic.host/q8laDG.jpg', -'https://img.nickpic.host/q8l5ac.jpg', -'https://img.nickpic.host/q8lSiW.jpg', -'https://img.nickpic.host/q8lc21.jpg', -'https://img.nickpic.host/q8lqBj.jpg', -'https://img.nickpic.host/q8luhJ.jpg', -'https://img.nickpic.host/q8lhg2.jpg', -'https://img.nickpic.host/q8lOIs.jpg', -'https://img.nickpic.host/q8lAYn.jpg', -'https://img.nickpic.host/q8l6DQ.jpg', -'https://img.nickpic.host/q8lCTx.jpg', -'https://img.nickpic.host/q8lUaN.jpg', -'https://img.nickpic.host/q8lXnO.jpg', -'https://img.nickpic.host/q8li9m.jpg', -'https://img.nickpic.host/q8ltB8.jpg', -'https://img.nickpic.host/q8lRYd.jpg', -'https://img.nickpic.host/q8lM6q.jpg', -'https://img.nickpic.host/q8l4ID.jpg', -'https://img.nickpic.host/q8lDq5.jpg', -'https://img.nickpic.host/q8lwDP.jpg', -'https://img.nickpic.host/q8lzTM.jpg', -'https://img.nickpic.host/q8l8jF.jpg', -'https://img.nickpic.host/q8lKne.jpg', -'https://img.nickpic.host/q8lY9X.jpg', -'https://img.nickpic.host/q8lNbb.jpg', -'https://img.nickpic.host/q8lV6f.jpg', -'https://img.nickpic.host/q8lfH6.jpg', -'https://img.nickpic.host/q8l2mp.jpg', -'https://img.nickpic.host/q8l9qY.jpg', -'https://img.nickpic.host/q8lewA.jpg', -'https://img.nickpic.host/q8lkWG.jpg', -'https://img.nickpic.host/q8lLjz.jpg', -'https://img.nickpic.host/q8lPtc.jpg', -'https://img.nickpic.host/q8lT9W.jpg', -'https://img.nickpic.host/q8lZb1.jpg', -'https://img.nickpic.host/q8ldCj.jpg', -'https://img.nickpic.host/q8lyHJ.jpg', -'https://img.nickpic.host/q85Imn.jpg', -'https://img.nickpic.host/q85mus.jpg', -'https://img.nickpic.host/q85ow2.jpg', -'https://img.nickpic.host/q85pWQ.jpg', -'https://img.nickpic.host/q85xlx.jpg', -'https://img.nickpic.host/q85BtN.jpg', -'https://img.nickpic.host/q85beO.jpg', -'https://img.nickpic.host/q85srm.jpg', -'https://img.nickpic.host/q853C8.jpg', -'https://img.nickpic.host/q85luD.jpg', -'https://img.nickpic.host/q85FNq.jpg', -'https://img.nickpic.host/q85jmd.jpg', -'https://img.nickpic.host/q855z5.jpg', -'https://img.nickpic.host/q85SWP.jpg', -'https://img.nickpic.host/q85glM.jpg', -'https://img.nickpic.host/q85qMF.jpg', -'https://img.nickpic.host/q85OQb.jpg', -'https://img.nickpic.host/q85uee.jpg', -'https://img.nickpic.host/q85ErX.jpg', -'https://img.nickpic.host/q85hNf.jpg', -'https://img.nickpic.host/q85Co6.jpg', -'https://img.nickpic.host/q85QAp.jpg', -'https://img.nickpic.host/q85XZA.jpg', -'https://img.nickpic.host/q85UzY.jpg', -'https://img.nickpic.host/q85n5G.jpg', -'https://img.nickpic.host/q85tMz.jpg', -'https://img.nickpic.host/q85Mkc.jpg', -'https://img.nickpic.host/q851rW.jpg', -'https://img.nickpic.host/q854Q1.jpg', -'https://img.nickpic.host/q85DVj.jpg', -'https://img.nickpic.host/q85zoJ.jpg', -'https://img.nickpic.host/q857An.jpg', -'https://img.nickpic.host/q8587s.jpg', -'https://img.nickpic.host/q85KZ2.jpg', -'https://img.nickpic.host/q85H5Q.jpg', -'https://img.nickpic.host/q85NRx.jpg', -'https://img.nickpic.host/q85VkN.jpg', -'https://img.nickpic.host/q850sO.jpg', -'https://img.nickpic.host/q852Um.jpg', -'https://img.nickpic.host/q859V8.jpg', -'https://img.nickpic.host/q85kpq.jpg', -'https://img.nickpic.host/q85JAd.jpg', -'https://img.nickpic.host/q85L7D.jpg', -'https://img.nickpic.host/q85Pd5.jpg', -'https://img.nickpic.host/q85W5P.jpg', -'https://img.nickpic.host/q85ZRM.jpg', -'https://img.nickpic.host/q85dJF.jpg', -'https://img.nickpic.host/q8SGse.jpg', -'https://img.nickpic.host/q8SIUX.jpg', -'https://img.nickpic.host/q8Smfb.jpg', -'https://img.nickpic.host/q8Sppf.jpg', -'https://img.nickpic.host/q8SvE6.jpg', -'https://img.nickpic.host/q8Sx8p.jpg', -'https://img.nickpic.host/q8SBdY.jpg', -'https://img.nickpic.host/q8Ss1G.jpg', -'https://img.nickpic.host/q8SrSA.jpg', -'https://img.nickpic.host/q8S3Jz.jpg', -'https://img.nickpic.host/q8Sa3c.jpg', -'https://img.nickpic.host/q8SjUW.jpg', -'https://img.nickpic.host/q8Slf1.jpg', -'https://img.nickpic.host/q8SSvj.jpg', -'https://img.nickpic.host/q8ScEJ.jpg', -'https://img.nickpic.host/q8Sg8n.jpg', -'https://img.nickpic.host/q8Sqys.jpg', -'https://img.nickpic.host/q8SE1Q.jpg', -'https://img.nickpic.host/q8SAS2.jpg', -'https://img.nickpic.host/q8SOLx.jpg', -'https://img.nickpic.host/q8S63N.jpg', -'https://img.nickpic.host/q8SCXO.jpg', -'https://img.nickpic.host/q8SQ0m.jpg', -'https://img.nickpic.host/q8SXv8.jpg', -'https://img.nickpic.host/q8SiOq.jpg', -'https://img.nickpic.host/q8StyD.jpg', -'https://img.nickpic.host/q8Sn8d.jpg', -'https://img.nickpic.host/q8SRc5.jpg', -'https://img.nickpic.host/q8S11P.jpg', -'https://img.nickpic.host/q8S4LM.jpg', -'https://img.nickpic.host/q8SzXe.jpg', -'https://img.nickpic.host/q8S70X.jpg', -'https://img.nickpic.host/q8SwFF.jpg', -'https://img.nickpic.host/q8SKxb.jpg', -'https://img.nickpic.host/q8SYOf.jpg', -'https://img.nickpic.host/q8SVGp.jpg', -'https://img.nickpic.host/q8SHK6.jpg', -'https://img.nickpic.host/q8SfcY.jpg', -'https://img.nickpic.host/q8S04A.jpg', -'https://img.nickpic.host/q8S2PG.jpg', -'https://img.nickpic.host/q8SeFz.jpg', -'https://img.nickpic.host/q8Skic.jpg', -'https://img.nickpic.host/q8SPx1.jpg', -'https://img.nickpic.host/q8SJ0W.jpg', -'https://img.nickpic.host/q8SThj.jpg', -'https://img.nickpic.host/q8SWKJ.jpg', -'https://img.nickpic.host/q8SdGn.jpg', -'https://img.nickpic.host/q8Sygs.jpg', -'https://img.nickpic.host/q8cG42.jpg', -'https://img.nickpic.host/q8cIPQ.jpg', -'https://img.nickpic.host/q8coax.jpg', -'https://img.nickpic.host/q8cpiN.jpg', -'https://img.nickpic.host/q8cv2O.jpg', -'https://img.nickpic.host/q8cBBm.jpg', -'https://img.nickpic.host/q8cbh8.jpg', -'https://img.nickpic.host/q8crYq.jpg', -'https://img.nickpic.host/q8c3Gd.jpg', -'https://img.nickpic.host/q8cFgD.jpg', -'https://img.nickpic.host/q8cjPP.jpg', -'https://img.nickpic.host/q8caD5.jpg', -'https://img.nickpic.host/q8c5aM.jpg', -'https://img.nickpic.host/q8cSnF.jpg', -'https://img.nickpic.host/q8cc2e.jpg', -'https://img.nickpic.host/q8cqBX.jpg', -'https://img.nickpic.host/q8cu6b.jpg', -'https://img.nickpic.host/q8cAYf.jpg', -'https://img.nickpic.host/q8chqp.jpg', -'https://img.nickpic.host/q8cOI6.jpg', -'https://img.nickpic.host/q8c6DY.jpg', -'https://img.nickpic.host/q8cCTA.jpg', -'https://img.nickpic.host/q8cUjG.jpg', -'https://img.nickpic.host/q8cXnz.jpg', -'https://img.nickpic.host/q8ci9c.jpg', -'https://img.nickpic.host/q8ctBW.jpg', -'https://img.nickpic.host/q8cM61.jpg', -'https://img.nickpic.host/q8cRHj.jpg', -'https://img.nickpic.host/q8c4IJ.jpg', -'https://img.nickpic.host/q8cDqn.jpg', -'https://img.nickpic.host/q8cwws.jpg', -'https://img.nickpic.host/q8czT2.jpg', -'https://img.nickpic.host/q8c8jQ.jpg', -'https://img.nickpic.host/q8cKtx.jpg', -'https://img.nickpic.host/q8cY9N.jpg', -'https://img.nickpic.host/q8cNbO.jpg', -'https://img.nickpic.host/q8cVCm.jpg', -'https://img.nickpic.host/q8cfH8.jpg', -'https://img.nickpic.host/q8c2mq.jpg', -'https://img.nickpic.host/q8c9qd.jpg', -'https://img.nickpic.host/q8cewD.jpg', -'https://img.nickpic.host/q8ckW5.jpg', -'https://img.nickpic.host/q8cLjP.jpg', -'https://img.nickpic.host/q8cPtM.jpg', -'https://img.nickpic.host/q8cTeF.jpg', -'https://img.nickpic.host/q8cZbe.jpg', -'https://img.nickpic.host/q8cdCX.jpg', -'https://img.nickpic.host/q8cyNb.jpg', -'https://img.nickpic.host/q8gImf.jpg', -'https://img.nickpic.host/q8gmu6.jpg', -'https://img.nickpic.host/q8gozp.jpg', -'https://img.nickpic.host/q8gpWY.jpg', -'https://img.nickpic.host/q8gxlA.jpg', -'https://img.nickpic.host/q8gBMG.jpg', -'https://img.nickpic.host/q8gbez.jpg', -'https://img.nickpic.host/q8gsrc.jpg', -'https://img.nickpic.host/q8g3CW.jpg', -'https://img.nickpic.host/q8gFN1.jpg', -'https://img.nickpic.host/q8gjoj.jpg', -'https://img.nickpic.host/q8gluJ.jpg', -'https://img.nickpic.host/q8g5zn.jpg', -'https://img.nickpic.host/q8gqMQ.jpg', -'https://img.nickpic.host/q8gSZs.jpg', -'https://img.nickpic.host/q8ggl2.jpg', -'https://img.nickpic.host/q8gukx.jpg', -'https://img.nickpic.host/q8gErN.jpg', -'https://img.nickpic.host/q8gOQO.jpg', -'https://img.nickpic.host/q8ghVm.jpg', -'https://img.nickpic.host/q8gCo8.jpg', -'https://img.nickpic.host/q8gQAq.jpg', -'https://img.nickpic.host/q8gUzd.jpg', -'https://img.nickpic.host/q8gXZD.jpg', -'https://img.nickpic.host/q8gn55.jpg', -'https://img.nickpic.host/q8gtMP.jpg', -'https://img.nickpic.host/q8gMkM.jpg', -'https://img.nickpic.host/q8g1sF.jpg', -'https://img.nickpic.host/q8g4Qe.jpg', -'https://img.nickpic.host/q8gDVX.jpg', -'https://img.nickpic.host/q8gzpb.jpg', -'https://img.nickpic.host/q8g7Af.jpg', -'https://img.nickpic.host/q8g876.jpg', -'https://img.nickpic.host/q8gKdp.jpg', -'https://img.nickpic.host/q8gH5Y.jpg', -'https://img.nickpic.host/q8gNRA.jpg', -'https://img.nickpic.host/q8gVJG.jpg', -'https://img.nickpic.host/q8g0sz.jpg', -'https://img.nickpic.host/q8g2Uc.jpg', -'https://img.nickpic.host/q8g9VW.jpg', -'https://img.nickpic.host/q8gkp1.jpg', -'https://img.nickpic.host/q8gJEj.jpg', -'https://img.nickpic.host/q8gPdn.jpg', -'https://img.nickpic.host/q8gL7J.jpg', -'https://img.nickpic.host/q8gWSs.jpg', -'https://img.nickpic.host/q8gZR2.jpg', -'https://img.nickpic.host/q8gdJQ.jpg', -'https://img.nickpic.host/q8qG3x.jpg', -'https://img.nickpic.host/q8qIUN.jpg', -'https://img.nickpic.host/q8qmfO.jpg', -'https://img.nickpic.host/q8qpvm.jpg', -'https://img.nickpic.host/q8qvE8.jpg', -'https://img.nickpic.host/q8qx8q.jpg', -'https://img.nickpic.host/q8qrSD.jpg', -'https://img.nickpic.host/q8qBdd.jpg', -'https://img.nickpic.host/q8qs15.jpg', -'https://img.nickpic.host/q8qcOb.jpg', -'https://img.nickpic.host/q8qlfe.jpg', -'https://img.nickpic.host/q8qSvX.jpg', -'https://img.nickpic.host/q8qg8f.jpg', -'https://img.nickpic.host/q8qqy6.jpg', -'https://img.nickpic.host/q8qAcp.jpg', -'https://img.nickpic.host/q8qE1Y.jpg', -'https://img.nickpic.host/q8qOLA.jpg', -'https://img.nickpic.host/q8q6FG.jpg', -'https://img.nickpic.host/q8qCXz.jpg', -'https://img.nickpic.host/q8qQ0c.jpg', -'https://img.nickpic.host/q8qXvW.jpg', -'https://img.nickpic.host/q8qiO1.jpg', -'https://img.nickpic.host/q8qnKj.jpg', -'https://img.nickpic.host/q8qtyJ.jpg', -'https://img.nickpic.host/q8qRcn.jpg', -'https://img.nickpic.host/q8q14s.jpg', -'https://img.nickpic.host/q8q4L2.jpg', -'https://img.nickpic.host/q8qwFQ.jpg', -'https://img.nickpic.host/q8qzix.jpg', -'https://img.nickpic.host/q8q70N.jpg', -'https://img.nickpic.host/q8qKxO.jpg', -'https://img.nickpic.host/q8qYhm.jpg', -'https://img.nickpic.host/q8qHK8.jpg', -'https://img.nickpic.host/q8qVGq.jpg', -'https://img.nickpic.host/q8qfcd.jpg', -'https://img.nickpic.host/q8q04D.jpg', -'https://img.nickpic.host/q8q2P5.jpg', -'https://img.nickpic.host/q8qeFP.jpg', -'https://img.nickpic.host/q8qkiM.jpg', -'https://img.nickpic.host/q8qJ2F.jpg', -'https://img.nickpic.host/q8qPxe.jpg', -'https://img.nickpic.host/q8qThX.jpg', -'https://img.nickpic.host/q8qWYb.jpg', -'https://img.nickpic.host/q8qdGf.jpg', -'https://img.nickpic.host/q8qyg6.jpg', -'https://img.nickpic.host/q8uGDp.jpg', -'https://img.nickpic.host/q8uIPY.jpg', -'https://img.nickpic.host/q8uoaA.jpg', -'https://img.nickpic.host/q8upnG.jpg', -'https://img.nickpic.host/q8uv2z.jpg', -'https://img.nickpic.host/q8uBBc.jpg', -'https://img.nickpic.host/q8ubhW.jpg', -'https://img.nickpic.host/q8urY1.jpg', -'https://img.nickpic.host/q8u3Ij.jpg', -'https://img.nickpic.host/q8uFgJ.jpg', -'https://img.nickpic.host/q8uaDn.jpg', -'https://img.nickpic.host/q8ujTs.jpg', -'https://img.nickpic.host/q8uSnQ.jpg', -'https://img.nickpic.host/q8u5a2.jpg', -'https://img.nickpic.host/q8uc9x.jpg', -'https://img.nickpic.host/q8uu6O.jpg', -'https://img.nickpic.host/q8uqBN.jpg', -'https://img.nickpic.host/q8uAHm.jpg', -'https://img.nickpic.host/q8uOI8.jpg', -'https://img.nickpic.host/q8uhqq.jpg', -'https://img.nickpic.host/q8u6Dd.jpg', -'https://img.nickpic.host/q8uUj5.jpg', -'https://img.nickpic.host/q8uCTD.jpg', -'https://img.nickpic.host/q8uXnP.jpg', -'https://img.nickpic.host/q8ui9M.jpg', -'https://img.nickpic.host/q8u4mb.jpg', -'https://img.nickpic.host/q8uM6e.jpg', -'https://img.nickpic.host/q8utbF.jpg', -'https://img.nickpic.host/q8uRHX.jpg', -'https://img.nickpic.host/q8uDqf.jpg', -'https://img.nickpic.host/q8uww6.jpg', -'https://img.nickpic.host/q8uKtA.jpg', -'https://img.nickpic.host/q8uzWp.jpg', -'https://img.nickpic.host/q8u8jY.jpg', -'https://img.nickpic.host/q8uYeG.jpg', -'https://img.nickpic.host/q8uNbz.jpg', -'https://img.nickpic.host/q8uVCc.jpg', -'https://img.nickpic.host/q8ufHW.jpg', -'https://img.nickpic.host/q8u2m1.jpg', -'https://img.nickpic.host/q8u9uj.jpg', -'https://img.nickpic.host/q8uewJ.jpg', -'https://img.nickpic.host/q8uPt2.jpg', -'https://img.nickpic.host/q8ukWn.jpg', -'https://img.nickpic.host/q8uLls.jpg', -'https://img.nickpic.host/q8uTeQ.jpg', -'https://img.nickpic.host/q8uZrx.jpg', -'https://img.nickpic.host/q8udCN.jpg', -'https://img.nickpic.host/q8uyNO.jpg', -'https://img.nickpic.host/q8Amu8.jpg', -'https://img.nickpic.host/q8AIom.jpg', -'https://img.nickpic.host/q8Aozq.jpg', -'https://img.nickpic.host/q8ApWd.jpg', -'https://img.nickpic.host/q8AxlD.jpg', -'https://img.nickpic.host/q8ABM5.jpg', -'https://img.nickpic.host/q8AbeP.jpg', -'https://img.nickpic.host/q8AsrM.jpg', -'https://img.nickpic.host/q8A3QF.jpg', -'https://img.nickpic.host/q8AFNe.jpg', -'https://img.nickpic.host/q8AjoX.jpg', -'https://img.nickpic.host/q8AlAb.jpg', -'https://img.nickpic.host/q8A5zf.jpg', -'https://img.nickpic.host/q8ASZ6.jpg', -'https://img.nickpic.host/q8Ag5p.jpg', -'https://img.nickpic.host/q8AqMY.jpg', -'https://img.nickpic.host/q8AukA.jpg', -'https://img.nickpic.host/q8AEsG.jpg', -'https://img.nickpic.host/q8AOQz.jpg', -'https://img.nickpic.host/q8AhVc.jpg', -'https://img.nickpic.host/q8AQA1.jpg', -'https://img.nickpic.host/q8ACoW.jpg', -'https://img.nickpic.host/q8AU7j.jpg', -'https://img.nickpic.host/q8AtRs.jpg', -'https://img.nickpic.host/q8AXZJ.jpg', -'https://img.nickpic.host/q8AMk2.jpg', -'https://img.nickpic.host/q8An5n.jpg', -'https://img.nickpic.host/q8A1sQ.jpg', -'https://img.nickpic.host/q8A4Ux.jpg', -'https://img.nickpic.host/q8ADVN.jpg', -'https://img.nickpic.host/q8AzpO.jpg', -'https://img.nickpic.host/q8A7Em.jpg', -'https://img.nickpic.host/q8A878.jpg', -'https://img.nickpic.host/q8AKdq.jpg', -'https://img.nickpic.host/q8ANRD.jpg', -'https://img.nickpic.host/q8AVJ5.jpg', -'https://img.nickpic.host/q8A0sP.jpg', -'https://img.nickpic.host/q8A2UM.jpg', -'https://img.nickpic.host/q8A9fF.jpg', -'https://img.nickpic.host/q8Akpe.jpg', -'https://img.nickpic.host/q8AJEX.jpg', -'https://img.nickpic.host/q8AL8b.jpg', -'https://img.nickpic.host/q8APdf.jpg', -'https://img.nickpic.host/q8AWS6.jpg', -'https://img.nickpic.host/q8AZ1p.jpg', -'https://img.nickpic.host/q8AdJY.jpg', -'https://img.nickpic.host/q8EG3A.jpg', -'https://img.nickpic.host/q8EIXG.jpg', -'https://img.nickpic.host/q8Emfz.jpg', -'https://img.nickpic.host/q8Epvc.jpg', -'https://img.nickpic.host/q8EvEW.jpg', -'https://img.nickpic.host/q8Ex81.jpg', -'https://img.nickpic.host/q8EByj.jpg', -'https://img.nickpic.host/q8Es1n.jpg', -'https://img.nickpic.host/q8ErSJ.jpg', -'https://img.nickpic.host/q8E3Ls.jpg', -'https://img.nickpic.host/q8Ea32.jpg', -'https://img.nickpic.host/q8EjXQ.jpg', -'https://img.nickpic.host/q8El0x.jpg', -'https://img.nickpic.host/q8ESvN.jpg', -'https://img.nickpic.host/q8EcOO.jpg', -'https://img.nickpic.host/q8EgKm.jpg', -'https://img.nickpic.host/q8Eqy8.jpg', -'https://img.nickpic.host/q8EAcq.jpg', -'https://img.nickpic.host/q8EE1d.jpg', -'https://img.nickpic.host/q8EOLD.jpg', -'https://img.nickpic.host/q8E6F5.jpg', -'https://img.nickpic.host/q8ECXP.jpg', -'https://img.nickpic.host/q8EQ0M.jpg', -'https://img.nickpic.host/q8EXxF.jpg', -'https://img.nickpic.host/q8EiOe.jpg', -'https://img.nickpic.host/q8EnKX.jpg', -'https://img.nickpic.host/q8EMGb.jpg', -'https://img.nickpic.host/q8ERcf.jpg', -'https://img.nickpic.host/q8E146.jpg', -'https://img.nickpic.host/q8E4Pp.jpg', -'https://img.nickpic.host/q8EwFY.jpg', -'https://img.nickpic.host/q8EziA.jpg', -'https://img.nickpic.host/q8E72G.jpg', -'https://img.nickpic.host/q8EKxz.jpg', -'https://img.nickpic.host/q8EHKW.jpg', -'https://img.nickpic.host/q8EYhc.jpg', -'https://img.nickpic.host/q8EVG1.jpg', -'https://img.nickpic.host/q8Efgj.jpg', -'https://img.nickpic.host/q8E2Pn.jpg', -'https://img.nickpic.host/q8E04J.jpg', -'https://img.nickpic.host/q8Eeas.jpg', -'https://img.nickpic.host/q8Eki2.jpg', -'https://img.nickpic.host/q8EJ2Q.jpg', -'https://img.nickpic.host/q8EPBx.jpg', -'https://img.nickpic.host/q8EdIm.jpg', -'https://img.nickpic.host/q8EThN.jpg', -'https://img.nickpic.host/q8EWYO.jpg', -'https://img.nickpic.host/q8Eyg8.jpg', -'https://img.nickpic.host/q8OGDq.jpg', -'https://img.nickpic.host/q8OoaD.jpg', -'https://img.nickpic.host/q8OIPd.jpg', -'https://img.nickpic.host/q8Opn5.jpg', -'https://img.nickpic.host/q8Ov2P.jpg', -'https://img.nickpic.host/q8Ob6F.jpg', -'https://img.nickpic.host/q8OBBM.jpg', -'https://img.nickpic.host/q8OrYe.jpg', -'https://img.nickpic.host/q8O3IX.jpg', -'https://img.nickpic.host/q8OFqb.jpg', -'https://img.nickpic.host/q8OaDf.jpg', -'https://img.nickpic.host/q8OSnY.jpg', -'https://img.nickpic.host/q8OjT6.jpg', -'https://img.nickpic.host/q8O5jp.jpg', -'https://img.nickpic.host/q8Oc9A.jpg', -'https://img.nickpic.host/q8OqbG.jpg', -'https://img.nickpic.host/q8OAHc.jpg', -'https://img.nickpic.host/q8Ou6z.jpg', -'https://img.nickpic.host/q8OOIW.jpg', -'https://img.nickpic.host/q8Ohq1.jpg', -'https://img.nickpic.host/q8O6wj.jpg', -'https://img.nickpic.host/q8OCTJ.jpg', -'https://img.nickpic.host/q8OUjn.jpg', -'https://img.nickpic.host/q8OXts.jpg', -'https://img.nickpic.host/q8Oi92.jpg', -'https://img.nickpic.host/q8OMCx.jpg', -'https://img.nickpic.host/q8OtbQ.jpg', -'https://img.nickpic.host/q8ORHN.jpg', -'https://img.nickpic.host/q8O4mO.jpg', -'https://img.nickpic.host/q8ODum.jpg', -'https://img.nickpic.host/q8OzWq.jpg', -'https://img.nickpic.host/q8Oww8.jpg', -'https://img.nickpic.host/q8O8jd.jpg', -'https://img.nickpic.host/q8OKtD.jpg', -'https://img.nickpic.host/q8OYe5.jpg', -'https://img.nickpic.host/q8ONbP.jpg', -'https://img.nickpic.host/q8OVCM.jpg', -'https://img.nickpic.host/q8OfNF.jpg', -'https://img.nickpic.host/q8O2me.jpg', -'https://img.nickpic.host/q8O9uX.jpg', -'https://img.nickpic.host/q8Oezb.jpg', -'https://img.nickpic.host/q8OkWf.jpg', -'https://img.nickpic.host/q8OLl6.jpg', -'https://img.nickpic.host/q8OPMp.jpg', -'https://img.nickpic.host/q8OTeY.jpg', -'https://img.nickpic.host/q8OZrA.jpg', -'https://img.nickpic.host/q8OdQG.jpg', -'https://img.nickpic.host/q8OyNz.jpg', -'https://img.nickpic.host/q8hIoc.jpg', -'https://img.nickpic.host/q8hoz1.jpg', -'https://img.nickpic.host/q8hmuW.jpg', -'https://img.nickpic.host/q8hpZj.jpg', -'https://img.nickpic.host/q8hxlJ.jpg', -'https://img.nickpic.host/q8hBMn.jpg', -'https://img.nickpic.host/q8hbks.jpg', -'https://img.nickpic.host/q8hsr2.jpg', -'https://img.nickpic.host/q8hFVx.jpg', -'https://img.nickpic.host/q8h3QQ.jpg', -'https://img.nickpic.host/q8hjoN.jpg', -'https://img.nickpic.host/q8hlAO.jpg', -'https://img.nickpic.host/q8h57m.jpg', -'https://img.nickpic.host/q8hSZ8.jpg', -'https://img.nickpic.host/q8hg5q.jpg', -'https://img.nickpic.host/q8hqMd.jpg', -'https://img.nickpic.host/q8hukD.jpg', -'https://img.nickpic.host/q8hEs5.jpg', -'https://img.nickpic.host/q8hOQP.jpg', -'https://img.nickpic.host/q8hhVM.jpg', -'https://img.nickpic.host/q8hCpF.jpg', -'https://img.nickpic.host/q8hQAe.jpg', -'https://img.nickpic.host/q8hXdb.jpg', -'https://img.nickpic.host/q8hU7X.jpg', -'https://img.nickpic.host/q8hn5f.jpg', -'https://img.nickpic.host/q8htR6.jpg', -'https://img.nickpic.host/q8hMJp.jpg', -'https://img.nickpic.host/q8h1sY.jpg', -'https://img.nickpic.host/q8hDfG.jpg', -'https://img.nickpic.host/q8h4UA.jpg', -'https://img.nickpic.host/q8hzpz.jpg', -'https://img.nickpic.host/q8h7Ec.jpg', -'https://img.nickpic.host/q8h87W.jpg', -'https://img.nickpic.host/q8hHSj.jpg', -'https://img.nickpic.host/q8hKd1.jpg', -'https://img.nickpic.host/q8hNRJ.jpg', -'https://img.nickpic.host/q8h2U2.jpg', -'https://img.nickpic.host/q8hVJn.jpg', -'https://img.nickpic.host/q8h03s.jpg', -'https://img.nickpic.host/q8h9fQ.jpg', -'https://img.nickpic.host/q8hkvx.jpg', -'https://img.nickpic.host/q8hJEN.jpg', -'https://img.nickpic.host/q8hL8O.jpg', -'https://img.nickpic.host/q8hPym.jpg', -'https://img.nickpic.host/q8hWS8.jpg', -'https://img.nickpic.host/q8hZ1q.jpg', -'https://img.nickpic.host/q8hdJd.jpg', -'https://img.nickpic.host/q86G3D.jpg', -'https://img.nickpic.host/q86IX5.jpg', -'https://img.nickpic.host/q86mfP.jpg', -'https://img.nickpic.host/q86vOF.jpg', -'https://img.nickpic.host/q86pvM.jpg', -'https://img.nickpic.host/q86x8e.jpg', -'https://img.nickpic.host/q86rcb.jpg', -'https://img.nickpic.host/q86ByX.jpg', -'https://img.nickpic.host/q86s1f.jpg', -'https://img.nickpic.host/q863L6.jpg', -'https://img.nickpic.host/q86aFp.jpg', -'https://img.nickpic.host/q86jXY.jpg', -'https://img.nickpic.host/q86l0A.jpg', -'https://img.nickpic.host/q86SxG.jpg', -'https://img.nickpic.host/q86cOz.jpg', -'https://img.nickpic.host/q86gKc.jpg', -'https://img.nickpic.host/q86qyW.jpg', -'https://img.nickpic.host/q86Ac1.jpg', -'https://img.nickpic.host/q86E4j.jpg', -'https://img.nickpic.host/q866Fn.jpg', -'https://img.nickpic.host/q86OLJ.jpg', -'https://img.nickpic.host/q86Cis.jpg', -'https://img.nickpic.host/q86Q02.jpg', -'https://img.nickpic.host/q86XxQ.jpg', -'https://img.nickpic.host/q86ihx.jpg', -'https://img.nickpic.host/q86nKN.jpg', -'https://img.nickpic.host/q86MGO.jpg', -'https://img.nickpic.host/q86Rgm.jpg', -'https://img.nickpic.host/q86148.jpg', -'https://img.nickpic.host/q864Pq.jpg', -'https://img.nickpic.host/q86wFd.jpg', -'https://img.nickpic.host/q86ziD.jpg', -'https://img.nickpic.host/q86KxP.jpg', -'https://img.nickpic.host/q86725.jpg', -'https://img.nickpic.host/q86YhM.jpg', -'https://img.nickpic.host/q86HYF.jpg', -'https://img.nickpic.host/q86VGe.jpg', -'https://img.nickpic.host/q86fgX.jpg', -'https://img.nickpic.host/q860Db.jpg', -'https://img.nickpic.host/q862Pf.jpg', -'https://img.nickpic.host/q86ea6.jpg', -'https://img.nickpic.host/q86knp.jpg', -'https://img.nickpic.host/q86J2Y.jpg', -'https://img.nickpic.host/q86PBA.jpg', -'https://img.nickpic.host/q86T6G.jpg', -'https://img.nickpic.host/q86WYz.jpg', -'https://img.nickpic.host/q86dIc.jpg', -'https://img.nickpic.host/q86ygW.jpg', -'https://img.nickpic.host/q8CGD1.jpg', -'https://img.nickpic.host/q8CITj.jpg', -'https://img.nickpic.host/q8CoaJ.jpg', -'https://img.nickpic.host/q8Cpnn.jpg', -'https://img.nickpic.host/q8Cv9s.jpg', -'https://img.nickpic.host/q8CBB2.jpg', -'https://img.nickpic.host/q8Cb6Q.jpg', -'https://img.nickpic.host/q8CrHx.jpg', -'https://img.nickpic.host/q8C3IN.jpg', -'https://img.nickpic.host/q8CFqO.jpg', -'https://img.nickpic.host/q8Cawm.jpg', -'https://img.nickpic.host/q8CjT8.jpg', -'https://img.nickpic.host/q8C5jq.jpg', -'https://img.nickpic.host/q8CSnd.jpg', -'https://img.nickpic.host/q8Cc9D.jpg', -'https://img.nickpic.host/q8Cqb5.jpg', -'https://img.nickpic.host/q8Cu6P.jpg', -'https://img.nickpic.host/q8COmF.jpg', -'https://img.nickpic.host/q8CAHM.jpg', -'https://img.nickpic.host/q8Chqe.jpg', -'https://img.nickpic.host/q8C6wX.jpg', -'https://img.nickpic.host/q8CCWb.jpg', -'https://img.nickpic.host/q8CUjf.jpg', -'https://img.nickpic.host/q8CXt6.jpg', -'https://img.nickpic.host/q8Ciep.jpg', -'https://img.nickpic.host/q8CtbY.jpg', -'https://img.nickpic.host/q8CMCA.jpg', -'https://img.nickpic.host/q8CRNG.jpg', -'https://img.nickpic.host/q8C4mz.jpg', -'https://img.nickpic.host/q8CDuc.jpg', -'https://img.nickpic.host/q8CwwW.jpg', -'https://img.nickpic.host/q8CzW1.jpg', -'https://img.nickpic.host/q8C8lj.jpg', -'https://img.nickpic.host/q8CKtJ.jpg', -'https://img.nickpic.host/q8CYen.jpg', -'https://img.nickpic.host/q8CNrs.jpg', -'https://img.nickpic.host/q8CVC2.jpg', -'https://img.nickpic.host/q8CfNQ.jpg', -'https://img.nickpic.host/q8C2ox.jpg', -'https://img.nickpic.host/q8CezO.jpg', -'https://img.nickpic.host/q8C9uN.jpg', -'https://img.nickpic.host/q8CkZm.jpg', -'https://img.nickpic.host/q8CLl8.jpg', -'https://img.nickpic.host/q8CPMq.jpg', -'https://img.nickpic.host/q8CTed.jpg', -'https://img.nickpic.host/q8CZrD.jpg', -'https://img.nickpic.host/q8CdQ5.jpg', -'https://img.nickpic.host/q8CyNP.jpg', -'https://img.nickpic.host/q8QIoM.jpg', -'https://img.nickpic.host/q8QmAF.jpg', -'https://img.nickpic.host/q8Qoze.jpg', -'https://img.nickpic.host/q8Qx5b.jpg', -'https://img.nickpic.host/q8QpZX.jpg', -'https://img.nickpic.host/q8QBMf.jpg', -'https://img.nickpic.host/q8Qbk6.jpg', -'https://img.nickpic.host/q8Q3QY.jpg', -'https://img.nickpic.host/q8Qssp.jpg', -'https://img.nickpic.host/q8QFVA.jpg', -'https://img.nickpic.host/q8QjpG.jpg', -'https://img.nickpic.host/q8QlAz.jpg', -'https://img.nickpic.host/q8Q57c.jpg', -'https://img.nickpic.host/q8Qg51.jpg', -'https://img.nickpic.host/q8QSZW.jpg', -'https://img.nickpic.host/q8QqRj.jpg', -'https://img.nickpic.host/q8QukJ.jpg', -'https://img.nickpic.host/q8QEsn.jpg', -'https://img.nickpic.host/q8QCpQ.jpg', -'https://img.nickpic.host/q8QhV2.jpg', -'https://img.nickpic.host/q8QOUs.jpg', -'https://img.nickpic.host/q8QQEx.jpg', -'https://img.nickpic.host/q8QXdO.jpg', -'https://img.nickpic.host/q8QU7N.jpg', -'https://img.nickpic.host/q8QnSm.jpg', -'https://img.nickpic.host/q8Q1sd.jpg', -'https://img.nickpic.host/q8QtR8.jpg', -'https://img.nickpic.host/q8QMJq.jpg', -'https://img.nickpic.host/q8Q4UD.jpg', -'https://img.nickpic.host/q8QDf5.jpg', -'https://img.nickpic.host/q8Q7EM.jpg', -'https://img.nickpic.host/q8QzpP.jpg', -'https://img.nickpic.host/q8Q88F.jpg', -'https://img.nickpic.host/q8QHSX.jpg', -'https://img.nickpic.host/q8QKde.jpg', -'https://img.nickpic.host/q8QN1b.jpg', -'https://img.nickpic.host/q8QVJf.jpg', -'https://img.nickpic.host/q8Q036.jpg', -'https://img.nickpic.host/q8Q2Xp.jpg', -'https://img.nickpic.host/q8Q9fY.jpg', -'https://img.nickpic.host/q8QkvA.jpg', -'https://img.nickpic.host/q8QJOG.jpg', -'https://img.nickpic.host/q8QL8z.jpg', -'https://img.nickpic.host/q8QPyc.jpg', -'https://img.nickpic.host/q8QWSW.jpg', -'https://img.nickpic.host/q8QZ11.jpg', -'https://img.nickpic.host/q8UG3J.jpg', -'https://img.nickpic.host/q8QdLj.jpg', -'https://img.nickpic.host/q8UIXn.jpg', -'https://img.nickpic.host/q8Um0s.jpg', -'https://img.nickpic.host/q8UvOQ.jpg', -'https://img.nickpic.host/q8Upv2.jpg', -'https://img.nickpic.host/q8UxKx.jpg', -'https://img.nickpic.host/q8UByN.jpg', -'https://img.nickpic.host/q8UrcO.jpg', -'https://img.nickpic.host/q8Us4m.jpg', -'https://img.nickpic.host/q8UaFq.jpg', -'https://img.nickpic.host/q8U3L8.jpg', -'https://img.nickpic.host/q8UjXd.jpg', -'https://img.nickpic.host/q8Ul0D.jpg', -'https://img.nickpic.host/q8USx5.jpg', -'https://img.nickpic.host/q8UgKM.jpg', -'https://img.nickpic.host/q8UcOP.jpg', -'https://img.nickpic.host/q8UAce.jpg', -'https://img.nickpic.host/q8UuGF.jpg', -'https://img.nickpic.host/q8UE4X.jpg', -'https://img.nickpic.host/q8UOPb.jpg', -'https://img.nickpic.host/q8U6Ff.jpg', -'https://img.nickpic.host/q8UCi6.jpg', -'https://img.nickpic.host/q8UXxY.jpg', -'https://img.nickpic.host/q8UihA.jpg', -'https://img.nickpic.host/q8UQ2p.jpg', -'https://img.nickpic.host/q8UnYG.jpg', -'https://img.nickpic.host/q8UMGz.jpg', -'https://img.nickpic.host/q8U14W.jpg', -'https://img.nickpic.host/q8URgc.jpg', -'https://img.nickpic.host/q8U4P1.jpg', -'https://img.nickpic.host/q8Uwaj.jpg', -'https://img.nickpic.host/q8UziJ.jpg', -'https://img.nickpic.host/q8UKBs.jpg', -'https://img.nickpic.host/q8U72n.jpg', -'https://img.nickpic.host/q8UVIx.jpg', -'https://img.nickpic.host/q8UYh2.jpg', -'https://img.nickpic.host/q8UHYQ.jpg', -'https://img.nickpic.host/q8UfgN.jpg', -'https://img.nickpic.host/q8U0DO.jpg', -'https://img.nickpic.host/q8U2Tm.jpg', -'https://img.nickpic.host/q8Uknq.jpg', -'https://img.nickpic.host/q8Uea8.jpg', -'https://img.nickpic.host/q8UJ2d.jpg', -'https://img.nickpic.host/q8UPBD.jpg', -'https://img.nickpic.host/q8UT65.jpg', -'https://img.nickpic.host/q8UdIM.jpg', -'https://img.nickpic.host/q8UWYP.jpg', -'https://img.nickpic.host/q8UyqF.jpg', -'https://img.nickpic.host/q8XITX.jpg', -'https://img.nickpic.host/q8XGDe.jpg', -'https://img.nickpic.host/q8Xojb.jpg', -'https://img.nickpic.host/q8Xv96.jpg', -'https://img.nickpic.host/q8Xpnf.jpg', -'https://img.nickpic.host/q8XBbp.jpg', -'https://img.nickpic.host/q8Xb6Y.jpg', -'https://img.nickpic.host/q8XrHA.jpg', -'https://img.nickpic.host/q8X3mG.jpg', -'https://img.nickpic.host/q8XFqz.jpg', -'https://img.nickpic.host/q8Xawc.jpg', -'https://img.nickpic.host/q8XjTW.jpg', -'https://img.nickpic.host/q8X5j1.jpg', -'https://img.nickpic.host/q8XStj.jpg', -'https://img.nickpic.host/q8Xqbn.jpg', -'https://img.nickpic.host/q8Xc9J.jpg', -'https://img.nickpic.host/q8XuCs.jpg', -'https://img.nickpic.host/q8XCWO.jpg', -'https://img.nickpic.host/q8XOmQ.jpg', -'https://img.nickpic.host/q8X6wN.jpg', -'https://img.nickpic.host/q8Xhux.jpg', -'https://img.nickpic.host/q8XUlm.jpg', -'https://img.nickpic.host/q8XXt8.jpg', -'https://img.nickpic.host/q8Xieq.jpg', -'https://img.nickpic.host/q8XMCD.jpg', -'https://img.nickpic.host/q8Xtbd.jpg', -'https://img.nickpic.host/q8XRN5.jpg', -'https://img.nickpic.host/q8X4mP.jpg', -'https://img.nickpic.host/q8XDuM.jpg', -'https://img.nickpic.host/q8XwzF.jpg', -'https://img.nickpic.host/q8XzWe.jpg', -'https://img.nickpic.host/q8X8lX.jpg', -'https://img.nickpic.host/q8XYef.jpg', -'https://img.nickpic.host/q8XKMb.jpg', -'https://img.nickpic.host/q8XNr6.jpg', -'https://img.nickpic.host/q8XVQp.jpg', -'https://img.nickpic.host/q8X2oA.jpg', -'https://img.nickpic.host/q8XfNY.jpg', -'https://img.nickpic.host/q8X9AG.jpg', -'https://img.nickpic.host/q8Xezz.jpg', -'https://img.nickpic.host/q8XkZc.jpg', -'https://img.nickpic.host/q8XLlW.jpg', -'https://img.nickpic.host/q8XPM1.jpg', -'https://img.nickpic.host/q8XTkj.jpg', -'https://img.nickpic.host/q8XZrJ.jpg', -'https://img.nickpic.host/q8XdQn.jpg', -'https://img.nickpic.host/q8iIo2.jpg', -'https://img.nickpic.host/q8XyVs.jpg', -'https://img.nickpic.host/q8ipZN.jpg', -'https://img.nickpic.host/q8imAQ.jpg', -'https://img.nickpic.host/q8io7x.jpg', -'https://img.nickpic.host/q8ix5O.jpg', -'https://img.nickpic.host/q8iBRm.jpg', -'https://img.nickpic.host/q8issq.jpg', -'https://img.nickpic.host/q8ibk8.jpg', -'https://img.nickpic.host/q8i3Qd.jpg', -'https://img.nickpic.host/q8iFVD.jpg', -'https://img.nickpic.host/q8ijp5.jpg', -'https://img.nickpic.host/q8ilAP.jpg', -'https://img.nickpic.host/q8i57M.jpg', -'https://img.nickpic.host/q8iSdF.jpg', -'https://img.nickpic.host/q8ig5e.jpg', -'https://img.nickpic.host/q8iqRX.jpg', -'https://img.nickpic.host/q8iEsf.jpg', -'https://img.nickpic.host/q8ihfp.jpg', -'https://img.nickpic.host/q8iuJb.jpg', -'https://img.nickpic.host/q8iOU6.jpg', -'https://img.nickpic.host/q8iCpY.jpg', -'https://img.nickpic.host/q8iQEA.jpg', -'https://img.nickpic.host/q8iXdz.jpg', -'https://img.nickpic.host/q8iU8G.jpg', -'https://img.nickpic.host/q8inSc.jpg', -'https://img.nickpic.host/q8itRW.jpg', -'https://img.nickpic.host/q8i13j.jpg', -'https://img.nickpic.host/q8iMJ1.jpg', -'https://img.nickpic.host/q8i4UJ.jpg', -'https://img.nickpic.host/q8izvs.jpg', -'https://img.nickpic.host/q8iDfn.jpg', -'https://img.nickpic.host/q8iKyx.jpg', -'https://img.nickpic.host/q8i7E2.jpg', -'https://img.nickpic.host/q8i88Q.jpg', -'https://img.nickpic.host/q8iN1O.jpg', -'https://img.nickpic.host/q8iHSN.jpg', -'https://img.nickpic.host/q8iVLm.jpg', -'https://img.nickpic.host/q8i038.jpg', -'https://img.nickpic.host/q8i9fd.jpg', -'https://img.nickpic.host/q8i2Xq.jpg', -'https://img.nickpic.host/q8iJO5.jpg', -'https://img.nickpic.host/q8ikvD.jpg', -'https://img.nickpic.host/q8iL8P.jpg', -'https://img.nickpic.host/q8iPyM.jpg', -'https://img.nickpic.host/q8iZ1e.jpg', -'https://img.nickpic.host/q8iWcF.jpg', -'https://img.nickpic.host/q8idLX.jpg', -'https://img.nickpic.host/q8nIXf.jpg', -'https://img.nickpic.host/q8nGFb.jpg', -'https://img.nickpic.host/q8npxp.jpg', -'https://img.nickpic.host/q8nm06.jpg', -'https://img.nickpic.host/q8nvOY.jpg', -'https://img.nickpic.host/q8nxKA.jpg', -'https://img.nickpic.host/q8naF1.jpg', -'https://img.nickpic.host/q8n3LW.jpg', -'https://img.nickpic.host/q8nbGG.jpg', -'https://img.nickpic.host/q8ns4c.jpg', -'https://img.nickpic.host/q8nrcz.jpg', -'https://img.nickpic.host/q8njij.jpg', -'https://img.nickpic.host/q8nl0J.jpg', -'https://img.nickpic.host/q8nchs.jpg', -'https://img.nickpic.host/q8nSxn.jpg', -'https://img.nickpic.host/q8nE4N.jpg', -'https://img.nickpic.host/q8ngK2.jpg', -'https://img.nickpic.host/q8nuGQ.jpg', -'https://img.nickpic.host/q8nAgx.jpg', -'https://img.nickpic.host/q8n6am.jpg', -'https://img.nickpic.host/q8nOPO.jpg', -'https://img.nickpic.host/q8nQ2q.jpg', -'https://img.nickpic.host/q8nCi8.jpg', -'https://img.nickpic.host/q8nXxd.jpg', -'https://img.nickpic.host/q8nMGP.jpg', -'https://img.nickpic.host/q8nnY5.jpg', -'https://img.nickpic.host/q8nihD.jpg', -'https://img.nickpic.host/q8n4Pe.jpg', -'https://img.nickpic.host/q8nRgM.jpg', -'https://img.nickpic.host/q8n1DF.jpg', -'https://img.nickpic.host/q8nwaX.jpg', -'https://img.nickpic.host/q8nKB6.jpg', -'https://img.nickpic.host/q8nznb.jpg', -'https://img.nickpic.host/q8n72f.jpg', -'https://img.nickpic.host/q8nVIA.jpg', -'https://img.nickpic.host/q8nY6p.jpg', -'https://img.nickpic.host/q8nHYY.jpg', -'https://img.nickpic.host/q8n2Tc.jpg', -'https://img.nickpic.host/q8nfqG.jpg', -'https://img.nickpic.host/q8nJ9j.jpg', -'https://img.nickpic.host/q8n0Dz.jpg', -'https://img.nickpic.host/q8neaW.jpg', -'https://img.nickpic.host/q8nkn1.jpg', -'https://img.nickpic.host/q8ndI2.jpg', -'https://img.nickpic.host/q8nPBJ.jpg', -'https://img.nickpic.host/q8nyqQ.jpg', -'https://img.nickpic.host/q8nT6n.jpg', -'https://img.nickpic.host/q8nWHs.jpg', -'https://img.nickpic.host/q8tITN.jpg', -'https://img.nickpic.host/q8tGwx.jpg', -'https://img.nickpic.host/q8tptm.jpg', -'https://img.nickpic.host/q8tv98.jpg', -'https://img.nickpic.host/q8tojO.jpg', -'https://img.nickpic.host/q8tBbq.jpg', -'https://img.nickpic.host/q8tb6d.jpg', -'https://img.nickpic.host/q8trHD.jpg', -'https://img.nickpic.host/q8tFqP.jpg', -'https://img.nickpic.host/q8tawM.jpg', -'https://img.nickpic.host/q8t3m5.jpg', -'https://img.nickpic.host/q8tjWF.jpg', -'https://img.nickpic.host/q8t5je.jpg', -'https://img.nickpic.host/q8tStX.jpg', -'https://img.nickpic.host/q8tqbf.jpg', -'https://img.nickpic.host/q8tceb.jpg', -'https://img.nickpic.host/q8tANp.jpg', -'https://img.nickpic.host/q8tOmY.jpg', -'https://img.nickpic.host/q8tuC6.jpg', -'https://img.nickpic.host/q8thuA.jpg', -'https://img.nickpic.host/q8tCWz.jpg', -'https://img.nickpic.host/q8t6zG.jpg', -'https://img.nickpic.host/q8tUlc.jpg', -'https://img.nickpic.host/q8tie1.jpg', -'https://img.nickpic.host/q8tXtW.jpg', -'https://img.nickpic.host/q8ttrj.jpg', -'https://img.nickpic.host/q8tMCJ.jpg', -'https://img.nickpic.host/q8tRNn.jpg', -'https://img.nickpic.host/q8tDu2.jpg', -'https://img.nickpic.host/q8t4os.jpg', -'https://img.nickpic.host/q8twzQ.jpg', -'https://img.nickpic.host/q8tzZx.jpg', -'https://img.nickpic.host/q8t8lN.jpg', -'https://img.nickpic.host/q8tYkm.jpg', -'https://img.nickpic.host/q8tKMO.jpg', -'https://img.nickpic.host/q8tNr8.jpg', -'https://img.nickpic.host/q8tVQq.jpg', -'https://img.nickpic.host/q8tfNd.jpg', -'https://img.nickpic.host/q8t9A5.jpg', -'https://img.nickpic.host/q8t2oD.jpg', -'https://img.nickpic.host/q8tezP.jpg', -'https://img.nickpic.host/q8tkZM.jpg', -'https://img.nickpic.host/q8tL5F.jpg', -'https://img.nickpic.host/q8tPMe.jpg', -'https://img.nickpic.host/q8tZsb.jpg', -'https://img.nickpic.host/q8tdQf.jpg', -'https://img.nickpic.host/q8MIpp.jpg', -'https://img.nickpic.host/q8tyV6.jpg', -'https://img.nickpic.host/q8MmAY.jpg', -'https://img.nickpic.host/q8Mo7A.jpg', -'https://img.nickpic.host/q8MpdG.jpg', -'https://img.nickpic.host/q8MBRc.jpg', -'https://img.nickpic.host/q8Mx5z.jpg', -'https://img.nickpic.host/q8Mss1.jpg', -'https://img.nickpic.host/q8MbkW.jpg', -'https://img.nickpic.host/q8M3Uj.jpg', -'https://img.nickpic.host/q8MFVJ.jpg', -'https://img.nickpic.host/q8Mjpn.jpg', -'https://img.nickpic.host/q8MlEs.jpg', -'https://img.nickpic.host/q8MgSx.jpg', -'https://img.nickpic.host/q8M572.jpg', -'https://img.nickpic.host/q8MSdQ.jpg', -'https://img.nickpic.host/q8MqRN.jpg', -'https://img.nickpic.host/q8MuJO.jpg', -'https://img.nickpic.host/q8MOU8.jpg', -'https://img.nickpic.host/q8ME3m.jpg', -'https://img.nickpic.host/q8Mhfq.jpg', -'https://img.nickpic.host/q8MCpd.jpg', -'https://img.nickpic.host/q8MQED.jpg', -'https://img.nickpic.host/q8MU85.jpg', -'https://img.nickpic.host/q8MXdP.jpg', -'https://img.nickpic.host/q8MnSM.jpg', -'https://img.nickpic.host/q8MMJe.jpg', -'https://img.nickpic.host/q8Mt1F.jpg', -'https://img.nickpic.host/q8M13X.jpg', -'https://img.nickpic.host/q8M4Xb.jpg', -'https://img.nickpic.host/q8MDff.jpg', -'https://img.nickpic.host/q8Mzv6.jpg', -'https://img.nickpic.host/q8M7Op.jpg', -'https://img.nickpic.host/q8MKyA.jpg', -'https://img.nickpic.host/q8M88Y.jpg', -'https://img.nickpic.host/q8MHcG.jpg', -'https://img.nickpic.host/q8MN1z.jpg', -'https://img.nickpic.host/q8MVLc.jpg', -'https://img.nickpic.host/q8M03W.jpg', -'https://img.nickpic.host/q8M2X1.jpg', -'https://img.nickpic.host/q8M90j.jpg', -'https://img.nickpic.host/q8MkvJ.jpg', -'https://img.nickpic.host/q8MJOn.jpg', -'https://img.nickpic.host/q8MLKs.jpg', -'https://img.nickpic.host/q8MPy2.jpg', -'https://img.nickpic.host/q8MZ4x.jpg', -'https://img.nickpic.host/q8MWcQ.jpg', -'https://img.nickpic.host/q8MdLN.jpg', -'https://img.nickpic.host/q8RGFO.jpg', -'https://img.nickpic.host/q8RIim.jpg', -'https://img.nickpic.host/q8Rm08.jpg', -'https://img.nickpic.host/q8Rpxq.jpg', -'https://img.nickpic.host/q8RvOd.jpg', -'https://img.nickpic.host/q8RxKD.jpg', -'https://img.nickpic.host/q8RbG5.jpg', -'https://img.nickpic.host/q8RrcP.jpg', -'https://img.nickpic.host/q8Rs4M.jpg', -'https://img.nickpic.host/q8RaFe.jpg', -'https://img.nickpic.host/q8R3PF.jpg', -'https://img.nickpic.host/q8RjiX.jpg', -'https://img.nickpic.host/q8Rl2b.jpg', -'https://img.nickpic.host/q8RSxf.jpg', -'https://img.nickpic.host/q8Rch6.jpg', -'https://img.nickpic.host/q8RgYp.jpg', -'https://img.nickpic.host/q8RAgA.jpg', -'https://img.nickpic.host/q8RuGY.jpg', -'https://img.nickpic.host/q8R6ac.jpg', -'https://img.nickpic.host/q8REDG.jpg', -'https://img.nickpic.host/q8ROPz.jpg', -'https://img.nickpic.host/q8RCiW.jpg', -'https://img.nickpic.host/q8RXBj.jpg', -'https://img.nickpic.host/q8RQ21.jpg', -'https://img.nickpic.host/q8RihJ.jpg', -'https://img.nickpic.host/q8RnYn.jpg', -'https://img.nickpic.host/q8RRg2.jpg', -'https://img.nickpic.host/q8RMIs.jpg', -'https://img.nickpic.host/q8R1DQ.jpg', -'https://img.nickpic.host/q8R4Tx.jpg', -'https://img.nickpic.host/q8RwaN.jpg', -'https://img.nickpic.host/q8R79m.jpg', -'https://img.nickpic.host/q8RznO.jpg', -'https://img.nickpic.host/q8RY6q.jpg', -'https://img.nickpic.host/q8RKB8.jpg', -'https://img.nickpic.host/q8RVID.jpg', -'https://img.nickpic.host/q8RHYd.jpg', -'https://img.nickpic.host/q8Rfq5.jpg', -'https://img.nickpic.host/q8R2TM.jpg', -'https://img.nickpic.host/q8R0DP.jpg', -'https://img.nickpic.host/q8RejF.jpg', -'https://img.nickpic.host/q8Rkne.jpg', -'https://img.nickpic.host/q8RJ9X.jpg', -'https://img.nickpic.host/q8RPbb.jpg', -'https://img.nickpic.host/q8RWH6.jpg', -'https://img.nickpic.host/q8RT6f.jpg', -'https://img.nickpic.host/q8Rdmp.jpg', -'https://img.nickpic.host/q8RyqY.jpg', -'https://img.nickpic.host/q81GwA.jpg', -'https://img.nickpic.host/q81IWG.jpg', -'https://img.nickpic.host/q81ojz.jpg', -'https://img.nickpic.host/q81ptc.jpg', -'https://img.nickpic.host/q81v9W.jpg', -'https://img.nickpic.host/q81Bb1.jpg', -'https://img.nickpic.host/q81rHJ.jpg', -'https://img.nickpic.host/q81bCj.jpg', -'https://img.nickpic.host/q81aw2.jpg', -'https://img.nickpic.host/q81Fus.jpg', -'https://img.nickpic.host/q813mn.jpg', -'https://img.nickpic.host/q81jWQ.jpg', -'https://img.nickpic.host/q81StN.jpg', -'https://img.nickpic.host/q815lx.jpg', -'https://img.nickpic.host/q81ceO.jpg', -'https://img.nickpic.host/q81qrm.jpg', -'https://img.nickpic.host/q81uC8.jpg', -'https://img.nickpic.host/q81ANq.jpg', -'https://img.nickpic.host/q81huD.jpg', -'https://img.nickpic.host/q81Omd.jpg', -'https://img.nickpic.host/q816z5.jpg', -'https://img.nickpic.host/q81CWP.jpg', -'https://img.nickpic.host/q81UlM.jpg', -'https://img.nickpic.host/q81iee.jpg', -'https://img.nickpic.host/q81XMF.jpg', -'https://img.nickpic.host/q81trX.jpg', -'https://img.nickpic.host/q81MQb.jpg', -'https://img.nickpic.host/q81DAp.jpg', -'https://img.nickpic.host/q81RNf.jpg', -'https://img.nickpic.host/q814o6.jpg', -'https://img.nickpic.host/q81zZA.jpg', -'https://img.nickpic.host/q81wzY.jpg', -'https://img.nickpic.host/q81KMz.jpg', -'https://img.nickpic.host/q8185G.jpg', -'https://img.nickpic.host/q81Ykc.jpg', -'https://img.nickpic.host/q81VQ1.jpg', -'https://img.nickpic.host/q81NrW.jpg', -'https://img.nickpic.host/q81fVj.jpg', -'https://img.nickpic.host/q812oJ.jpg', -'https://img.nickpic.host/q81e7s.jpg', -'https://img.nickpic.host/q819An.jpg', -'https://img.nickpic.host/q81L5Q.jpg', -'https://img.nickpic.host/q81kZ2.jpg', -'https://img.nickpic.host/q81ZsO.jpg', -'https://img.nickpic.host/q81TkN.jpg', -'https://img.nickpic.host/q81PRx.jpg', -'https://img.nickpic.host/q81dUm.jpg', -'https://img.nickpic.host/q84Ipq.jpg', -'https://img.nickpic.host/q81yV8.jpg', -'https://img.nickpic.host/q84mAd.jpg', -'https://img.nickpic.host/q84o7D.jpg', -'https://img.nickpic.host/q84x5P.jpg', -'https://img.nickpic.host/q84pd5.jpg', -'https://img.nickpic.host/q84BRM.jpg', -'https://img.nickpic.host/q84bJF.jpg', -'https://img.nickpic.host/q84sse.jpg', -'https://img.nickpic.host/q843UX.jpg', -'https://img.nickpic.host/q84Ffb.jpg', -'https://img.nickpic.host/q84jpf.jpg', -'https://img.nickpic.host/q84lE6.jpg', -'https://img.nickpic.host/q8458p.jpg', -'https://img.nickpic.host/q84SdY.jpg', -'https://img.nickpic.host/q84gSA.jpg', -'https://img.nickpic.host/q84q1G.jpg', -'https://img.nickpic.host/q84uJz.jpg', -'https://img.nickpic.host/q84E3c.jpg', -'https://img.nickpic.host/q84OUW.jpg', -'https://img.nickpic.host/q84hf1.jpg', -'https://img.nickpic.host/q84Cvj.jpg', -'https://img.nickpic.host/q84QEJ.jpg', -'https://img.nickpic.host/q84U8n.jpg', -'https://img.nickpic.host/q84Xys.jpg', -'https://img.nickpic.host/q84nS2.jpg', -'https://img.nickpic.host/q84t1Q.jpg', -'https://img.nickpic.host/q84MLx.jpg', -'https://img.nickpic.host/q844XO.jpg', -'https://img.nickpic.host/q8413N.jpg', -'https://img.nickpic.host/q84D0m.jpg', -'https://img.nickpic.host/q84zv8.jpg', -'https://img.nickpic.host/q847Oq.jpg', -'https://img.nickpic.host/q8488d.jpg', -'https://img.nickpic.host/q84KyD.jpg', -'https://img.nickpic.host/q84Hc5.jpg', -'https://img.nickpic.host/q84N1P.jpg', -'https://img.nickpic.host/q84VLM.jpg', -'https://img.nickpic.host/q840FF.jpg', -'https://img.nickpic.host/q842Xe.jpg', -'https://img.nickpic.host/q8490X.jpg', -'https://img.nickpic.host/q84kxb.jpg', -'https://img.nickpic.host/q84JOf.jpg', -'https://img.nickpic.host/q84LK6.jpg', -'https://img.nickpic.host/q84TGp.jpg', -'https://img.nickpic.host/q84WcY.jpg', -'https://img.nickpic.host/q84Z4A.jpg', -'https://img.nickpic.host/q84dPG.jpg', -'https://img.nickpic.host/q8DGFz.jpg', -'https://img.nickpic.host/q8DIic.jpg', -'https://img.nickpic.host/q8Dm0W.jpg', -'https://img.nickpic.host/q8Dpx1.jpg', -'https://img.nickpic.host/q8Dvhj.jpg', -'https://img.nickpic.host/q8DxKJ.jpg', -'https://img.nickpic.host/q8DbGn.jpg', -'https://img.nickpic.host/q8Drgs.jpg', -'https://img.nickpic.host/q8Ds42.jpg', -'https://img.nickpic.host/q8D3PQ.jpg', -'https://img.nickpic.host/q8Daax.jpg', -'https://img.nickpic.host/q8DjiN.jpg', -'https://img.nickpic.host/q8Dl2O.jpg', -'https://img.nickpic.host/q8Dch8.jpg', -'https://img.nickpic.host/q8DSBm.jpg', -'https://img.nickpic.host/q8DgYq.jpg', -'https://img.nickpic.host/q8DAgD.jpg', -'https://img.nickpic.host/q8DuGd.jpg', -'https://img.nickpic.host/q8DED5.jpg', -'https://img.nickpic.host/q8DOPP.jpg', -'https://img.nickpic.host/q8D6aM.jpg', -'https://img.nickpic.host/q8DCnF.jpg', -'https://img.nickpic.host/q8DQ2e.jpg', -'https://img.nickpic.host/q8DXBX.jpg', -'https://img.nickpic.host/q8Di6b.jpg', -'https://img.nickpic.host/q8DnYf.jpg', -'https://img.nickpic.host/q8DMI6.jpg', -'https://img.nickpic.host/q8DRqp.jpg', -'https://img.nickpic.host/q8D1DY.jpg', -'https://img.nickpic.host/q8D4TA.jpg', -'https://img.nickpic.host/q8DwjG.jpg', -'https://img.nickpic.host/q8Dznz.jpg', -'https://img.nickpic.host/q8D79c.jpg', -'https://img.nickpic.host/q8DKBW.jpg', -'https://img.nickpic.host/q8DY61.jpg', -'https://img.nickpic.host/q8DVIJ.jpg', -'https://img.nickpic.host/q8DHHj.jpg', -'https://img.nickpic.host/q8Dfqn.jpg', -'https://img.nickpic.host/q8D0ws.jpg', -'https://img.nickpic.host/q8D2T2.jpg', -'https://img.nickpic.host/q8DejQ.jpg', -'https://img.nickpic.host/q8Dktx.jpg', -'https://img.nickpic.host/q8DJ9N.jpg', -'https://img.nickpic.host/q8DPbO.jpg', -'https://img.nickpic.host/q8DTCm.jpg', -'https://img.nickpic.host/q8DWH8.jpg', -'https://img.nickpic.host/q8Ddmq.jpg', -'https://img.nickpic.host/q8wGwD.jpg', -'https://img.nickpic.host/q8Dyqd.jpg', -'https://img.nickpic.host/q8wIW5.jpg', -'https://img.nickpic.host/q8wptM.jpg', -'https://img.nickpic.host/q8wojP.jpg', -'https://img.nickpic.host/q8wveF.jpg', -'https://img.nickpic.host/q8wbCX.jpg', -'https://img.nickpic.host/q8wBbe.jpg', -'https://img.nickpic.host/q8wrNb.jpg', -'https://img.nickpic.host/q8w3mf.jpg', -'https://img.nickpic.host/q8wFu6.jpg', -'https://img.nickpic.host/q8wazp.jpg', -'https://img.nickpic.host/q8wjWY.jpg', -'https://img.nickpic.host/q8w5lA.jpg', -'https://img.nickpic.host/q8wcez.jpg', -'https://img.nickpic.host/q8wSMG.jpg', -'https://img.nickpic.host/q8wqrc.jpg', -'https://img.nickpic.host/q8wuCW.jpg', -'https://img.nickpic.host/q8wAN1.jpg', -'https://img.nickpic.host/q8wOoj.jpg', -'https://img.nickpic.host/q8whuJ.jpg', -'https://img.nickpic.host/q8w6zn.jpg', -'https://img.nickpic.host/q8wCZs.jpg', -'https://img.nickpic.host/q8wUl2.jpg', -'https://img.nickpic.host/q8wXMQ.jpg', -'https://img.nickpic.host/q8wikx.jpg', -'https://img.nickpic.host/q8wtrN.jpg', -'https://img.nickpic.host/q8wMQO.jpg', -'https://img.nickpic.host/q8wRVm.jpg', -'https://img.nickpic.host/q8w4o8.jpg', -'https://img.nickpic.host/q8wDAq.jpg', -'https://img.nickpic.host/q8wwzd.jpg', -'https://img.nickpic.host/q8wzZD.jpg', -'https://img.nickpic.host/q8w855.jpg', -'https://img.nickpic.host/q8wKMP.jpg', -'https://img.nickpic.host/q8wYkM.jpg', -'https://img.nickpic.host/q8wNsF.jpg', -'https://img.nickpic.host/q8wVQe.jpg', -'https://img.nickpic.host/q8w2pb.jpg', -'https://img.nickpic.host/q8wfVX.jpg', -'https://img.nickpic.host/q8w9Af.jpg', -'https://img.nickpic.host/q8we76.jpg', -'https://img.nickpic.host/q8wkdp.jpg', -'https://img.nickpic.host/q8wL5Y.jpg', -'https://img.nickpic.host/q8wTJG.jpg', -'https://img.nickpic.host/q8wPRA.jpg', -'https://img.nickpic.host/q8wdUc.jpg', -'https://img.nickpic.host/q8wZsz.jpg', -'https://img.nickpic.host/q8wyVW.jpg', -'https://img.nickpic.host/q8zIp1.jpg', -'https://img.nickpic.host/q8zmEj.jpg', -'https://img.nickpic.host/q8zo7J.jpg', -'https://img.nickpic.host/q8zpdn.jpg', -'https://img.nickpic.host/q8zxSs.jpg', -'https://img.nickpic.host/q8zbJQ.jpg', -'https://img.nickpic.host/q8zBR2.jpg', -'https://img.nickpic.host/q8zs3x.jpg', -'https://img.nickpic.host/q8z3UN.jpg', -'https://img.nickpic.host/q8zFfO.jpg', -'https://img.nickpic.host/q8zjvm.jpg', -'https://img.nickpic.host/q8zlE8.jpg', -'https://img.nickpic.host/q8z58q.jpg', -'https://img.nickpic.host/q8zSdd.jpg', -'https://img.nickpic.host/q8zgSD.jpg', -'https://img.nickpic.host/q8zq15.jpg', -'https://img.nickpic.host/q8zuJP.jpg', -'https://img.nickpic.host/q8zE3M.jpg', -'https://img.nickpic.host/q8zOXF.jpg', -'https://img.nickpic.host/q8zhfe.jpg', -'https://img.nickpic.host/q8zQOb.jpg', -'https://img.nickpic.host/q8zCvX.jpg', -'https://img.nickpic.host/q8zU8f.jpg', -'https://img.nickpic.host/q8zXy6.jpg', -'https://img.nickpic.host/q8zncp.jpg', -'https://img.nickpic.host/q8zt1Y.jpg', -'https://img.nickpic.host/q8zMLA.jpg', -'https://img.nickpic.host/q8z1FG.jpg', -'https://img.nickpic.host/q8zD0c.jpg', -'https://img.nickpic.host/q8z4Xz.jpg', -'https://img.nickpic.host/q8zzvW.jpg', -'https://img.nickpic.host/q8z7O1.jpg', -'https://img.nickpic.host/q8zKyJ.jpg', -'https://img.nickpic.host/q8z8Kj.jpg', -'https://img.nickpic.host/q8zHcn.jpg', -'https://img.nickpic.host/q8zVL2.jpg', -'https://img.nickpic.host/q8zN4s.jpg', -'https://img.nickpic.host/q8z0FQ.jpg', -'https://img.nickpic.host/q8z2ix.jpg', -'https://img.nickpic.host/q8z90N.jpg', -'https://img.nickpic.host/q8zkxO.jpg', -'https://img.nickpic.host/q8zJhm.jpg', -'https://img.nickpic.host/q8zLK8.jpg', -'https://img.nickpic.host/q8zTGq.jpg', -'https://img.nickpic.host/q8zWcd.jpg', -'https://img.nickpic.host/q8zZ4D.jpg', -'https://img.nickpic.host/q8zdP5.jpg', -'https://img.nickpic.host/q87GFP.jpg', -'https://img.nickpic.host/q87IiM.jpg', -'https://img.nickpic.host/q87pxe.jpg', -'https://img.nickpic.host/q87m2F.jpg', -'https://img.nickpic.host/q87vhX.jpg', -'https://img.nickpic.host/q87xYb.jpg', -'https://img.nickpic.host/q87rg6.jpg', -'https://img.nickpic.host/q87bGf.jpg', -'https://img.nickpic.host/q87sDp.jpg', -'https://img.nickpic.host/q873PY.jpg', -'https://img.nickpic.host/q87aaA.jpg', -'https://img.nickpic.host/q87jnG.jpg', -'https://img.nickpic.host/q87l2z.jpg', -'https://img.nickpic.host/q87SBc.jpg', -'https://img.nickpic.host/q87chW.jpg', -'https://img.nickpic.host/q87uIj.jpg', -'https://img.nickpic.host/q87gY1.jpg', -'https://img.nickpic.host/q87AgJ.jpg', -'https://img.nickpic.host/q87EDn.jpg', -'https://img.nickpic.host/q87OTs.jpg', -'https://img.nickpic.host/q876a2.jpg', -'https://img.nickpic.host/q87CnQ.jpg', -'https://img.nickpic.host/q87Q9x.jpg', -'https://img.nickpic.host/q87XBN.jpg', -'https://img.nickpic.host/q87i6O.jpg', -'https://img.nickpic.host/q87MI8.jpg', -'https://img.nickpic.host/q87nHm.jpg', -'https://img.nickpic.host/q87Rqq.jpg', -'https://img.nickpic.host/q874TD.jpg', -'https://img.nickpic.host/q871Dd.jpg', -'https://img.nickpic.host/q87wj5.jpg', -'https://img.nickpic.host/q87znP.jpg', -'https://img.nickpic.host/q8779M.jpg', -'https://img.nickpic.host/q87KbF.jpg', -'https://img.nickpic.host/q87Y6e.jpg', -'https://img.nickpic.host/q87HHX.jpg', -'https://img.nickpic.host/q87Vmb.jpg', -'https://img.nickpic.host/q870w6.jpg', -'https://img.nickpic.host/q87fqf.jpg', -'https://img.nickpic.host/q87ktA.jpg', -'https://img.nickpic.host/q87Pbz.jpg', -'https://img.nickpic.host/q87JeG.jpg', -'https://img.nickpic.host/q87TCc.jpg', -'https://img.nickpic.host/q87yuj.jpg', -'https://img.nickpic.host/q87WHW.jpg', -'https://img.nickpic.host/q87dm1.jpg', -'https://img.nickpic.host/q88GwJ.jpg', -'https://img.nickpic.host/q88IWn.jpg', -'https://img.nickpic.host/q88veQ.jpg', -'https://img.nickpic.host/q88ols.jpg', -'https://img.nickpic.host/q88pt2.jpg', -'https://img.nickpic.host/q88Brx.jpg', -'https://img.nickpic.host/q88bCN.jpg', -'https://img.nickpic.host/q883om.jpg', -'https://img.nickpic.host/q88rNO.jpg', -'https://img.nickpic.host/q88Fu8.jpg', -'https://img.nickpic.host/q88azq.jpg', -'https://img.nickpic.host/q88jWd.jpg', -'https://img.nickpic.host/q885lD.jpg', -'https://img.nickpic.host/q88SM5.jpg', -'https://img.nickpic.host/q88ceP.jpg', -'https://img.nickpic.host/q88qrM.jpg', -'https://img.nickpic.host/q88uQF.jpg', -'https://img.nickpic.host/q88ANe.jpg', -'https://img.nickpic.host/q88OoX.jpg', -'https://img.nickpic.host/q88hAb.jpg', -'https://img.nickpic.host/q886zf.jpg', -'https://img.nickpic.host/q88CZ6.jpg', -'https://img.nickpic.host/q88U5p.jpg', -'https://img.nickpic.host/q88XMY.jpg', -'https://img.nickpic.host/q88tsG.jpg', -'https://img.nickpic.host/q88ikA.jpg', -'https://img.nickpic.host/q88MQz.jpg', -'https://img.nickpic.host/q88RVc.jpg', -'https://img.nickpic.host/q884oW.jpg', -'https://img.nickpic.host/q88DA1.jpg', -'https://img.nickpic.host/q88w7j.jpg', -'https://img.nickpic.host/q88zZJ.jpg', -'https://img.nickpic.host/q8885n.jpg', -'https://img.nickpic.host/q88KRs.jpg', -'https://img.nickpic.host/q88Yk2.jpg', -'https://img.nickpic.host/q88NsQ.jpg', -'https://img.nickpic.host/q88VUx.jpg', -'https://img.nickpic.host/q88fVN.jpg', -'https://img.nickpic.host/q882pO.jpg', -'https://img.nickpic.host/q889Em.jpg', -'https://img.nickpic.host/q88e78.jpg', -'https://img.nickpic.host/q88kdq.jpg', -'https://img.nickpic.host/q88L5d.jpg', -'https://img.nickpic.host/q88PRD.jpg', -'https://img.nickpic.host/q88TJ5.jpg', -'https://img.nickpic.host/q88ZsP.jpg', -'https://img.nickpic.host/q88dUM.jpg', -'https://img.nickpic.host/q88yfF.jpg', -'https://img.nickpic.host/q8KIpe.jpg', -'https://img.nickpic.host/q8KmEX.jpg', -'https://img.nickpic.host/q8Ko8b.jpg', -'https://img.nickpic.host/q8Kpdf.jpg', -'https://img.nickpic.host/q8KxS6.jpg', -'https://img.nickpic.host/q8KB1p.jpg', -'https://img.nickpic.host/q8KbJY.jpg', -'https://img.nickpic.host/q8K3XG.jpg', -'https://img.nickpic.host/q8Ks3A.jpg', -'https://img.nickpic.host/q8KFfz.jpg', -'https://img.nickpic.host/q8Kjvc.jpg', -'https://img.nickpic.host/q8KlEW.jpg', -'https://img.nickpic.host/q8KSyj.jpg', -'https://img.nickpic.host/q8K581.jpg', -'https://img.nickpic.host/q8Kq1n.jpg', -'https://img.nickpic.host/q8KgSJ.jpg', -'https://img.nickpic.host/q8KuLs.jpg', -'https://img.nickpic.host/q8KE32.jpg', -'https://img.nickpic.host/q8KOXQ.jpg', -'https://img.nickpic.host/q8Kh0x.jpg', -'https://img.nickpic.host/q8KCvN.jpg', -'https://img.nickpic.host/q8KQOO.jpg', -'https://img.nickpic.host/q8KUKm.jpg', -'https://img.nickpic.host/q8KXy8.jpg', -'https://img.nickpic.host/q8Kncq.jpg', -'https://img.nickpic.host/q8Kt1d.jpg', -'https://img.nickpic.host/q8KMLD.jpg', -'https://img.nickpic.host/q8K4XP.jpg', -'https://img.nickpic.host/q8K1F5.jpg', -'https://img.nickpic.host/q8KD0M.jpg', -'https://img.nickpic.host/q8KzxF.jpg', -'https://img.nickpic.host/q8K7Oe.jpg', -'https://img.nickpic.host/q8K8KX.jpg', -'https://img.nickpic.host/q8KYGb.jpg', -'https://img.nickpic.host/q8KN46.jpg', -'https://img.nickpic.host/q8KHcf.jpg', -'https://img.nickpic.host/q8KVPp.jpg', -'https://img.nickpic.host/q8K0FY.jpg', -'https://img.nickpic.host/q8K92G.jpg', -'https://img.nickpic.host/q8K2iA.jpg', -'https://img.nickpic.host/q8Kkxz.jpg', -'https://img.nickpic.host/q8KJhc.jpg', -'https://img.nickpic.host/q8KWgj.jpg', -'https://img.nickpic.host/q8KLKW.jpg', -'https://img.nickpic.host/q8KTG1.jpg', -'https://img.nickpic.host/q8YGas.jpg', -'https://img.nickpic.host/q8KZ4J.jpg', -'https://img.nickpic.host/q8KdPn.jpg', -'https://img.nickpic.host/q8YIi2.jpg', -'https://img.nickpic.host/q8Ym2Q.jpg', -'https://img.nickpic.host/q8YpBx.jpg', -'https://img.nickpic.host/q8YvhN.jpg', -'https://img.nickpic.host/q8YxYO.jpg', -'https://img.nickpic.host/q8YbIm.jpg', -'https://img.nickpic.host/q8Yrg8.jpg', -'https://img.nickpic.host/q8YsDq.jpg', -'https://img.nickpic.host/q8YaaD.jpg', -'https://img.nickpic.host/q8Y3Pd.jpg', -'https://img.nickpic.host/q8Yjn5.jpg', -'https://img.nickpic.host/q8Yl2P.jpg', -'https://img.nickpic.host/q8Yc6F.jpg', -'https://img.nickpic.host/q8YSBM.jpg', -'https://img.nickpic.host/q8YgYe.jpg', -'https://img.nickpic.host/q8YuIX.jpg', -'https://img.nickpic.host/q8YAqb.jpg', -'https://img.nickpic.host/q8YEDf.jpg', -'https://img.nickpic.host/q8Y6jp.jpg', -'https://img.nickpic.host/q8YOT6.jpg', -'https://img.nickpic.host/q8YCnY.jpg', -'https://img.nickpic.host/q8YQ9A.jpg', -'https://img.nickpic.host/q8YXbG.jpg', -'https://img.nickpic.host/q8YnHc.jpg', -'https://img.nickpic.host/q8Yi6z.jpg', -'https://img.nickpic.host/q8YMIW.jpg', -'https://img.nickpic.host/q8YRq1.jpg', -'https://img.nickpic.host/q8Y1wj.jpg', -'https://img.nickpic.host/q8Y4TJ.jpg', -'https://img.nickpic.host/q8Ywjn.jpg', -'https://img.nickpic.host/q8Yzts.jpg', -'https://img.nickpic.host/q8YYCx.jpg', -'https://img.nickpic.host/q8Y792.jpg', -'https://img.nickpic.host/q8YKbQ.jpg', -'https://img.nickpic.host/q8Yfum.jpg', -'https://img.nickpic.host/q8YHHN.jpg', -'https://img.nickpic.host/q8YVmO.jpg', -'https://img.nickpic.host/q8Y0w8.jpg', -'https://img.nickpic.host/q8Y2Wq.jpg', -'https://img.nickpic.host/q8Yejd.jpg', -'https://img.nickpic.host/q8YktD.jpg', -'https://img.nickpic.host/q8YJe5.jpg', -'https://img.nickpic.host/q8YPbP.jpg', -'https://img.nickpic.host/q8YTCM.jpg', -'https://img.nickpic.host/q8YWNF.jpg', -'https://img.nickpic.host/q8YyuX.jpg', -'https://img.nickpic.host/q8Ydme.jpg', -'https://img.nickpic.host/q8HGzb.jpg', -'https://img.nickpic.host/q8Hol6.jpg', -'https://img.nickpic.host/q8HIWf.jpg', -'https://img.nickpic.host/q8HpMp.jpg', -'https://img.nickpic.host/q8HveY.jpg', -'https://img.nickpic.host/q8HbQG.jpg', -'https://img.nickpic.host/q8HBrA.jpg', -'https://img.nickpic.host/q8HrNz.jpg', -'https://img.nickpic.host/q8H3oc.jpg', -'https://img.nickpic.host/q8HFuW.jpg', -'https://img.nickpic.host/q8Haz1.jpg', -'https://img.nickpic.host/q8H5lJ.jpg', -'https://img.nickpic.host/q8HjZj.jpg', -'https://img.nickpic.host/q8HSMn.jpg', -'https://img.nickpic.host/q8Hqr2.jpg', -'https://img.nickpic.host/q8Hcks.jpg', -'https://img.nickpic.host/q8HuQQ.jpg', -'https://img.nickpic.host/q8HAVx.jpg', -'https://img.nickpic.host/q8HhAO.jpg', -'https://img.nickpic.host/q8HOoN.jpg', -'https://img.nickpic.host/q8H67m.jpg', -'https://img.nickpic.host/q8HU5q.jpg', -'https://img.nickpic.host/q8HCZ8.jpg', -'https://img.nickpic.host/q8HikD.jpg', -'https://img.nickpic.host/q8Hts5.jpg', -'https://img.nickpic.host/q8HXMd.jpg', -'https://img.nickpic.host/q8HMQP.jpg', -'https://img.nickpic.host/q8HRVM.jpg', -'https://img.nickpic.host/q8HDAe.jpg', -'https://img.nickpic.host/q8H4pF.jpg', -'https://img.nickpic.host/q8Hw7X.jpg', -'https://img.nickpic.host/q8H85f.jpg', -'https://img.nickpic.host/q8HKR6.jpg', -'https://img.nickpic.host/q8Hzdb.jpg', -'https://img.nickpic.host/q8HNsY.jpg', -'https://img.nickpic.host/q8HYJp.jpg', -'https://img.nickpic.host/q8HVUA.jpg', -'https://img.nickpic.host/q8HffG.jpg', -'https://img.nickpic.host/q8H9Ec.jpg', -'https://img.nickpic.host/q8H2pz.jpg', -'https://img.nickpic.host/q8He7W.jpg', -'https://img.nickpic.host/q8HLSj.jpg', -'https://img.nickpic.host/q8Hkd1.jpg', -'https://img.nickpic.host/q8HPRJ.jpg', -'https://img.nickpic.host/q8HTJn.jpg', -'https://img.nickpic.host/q8HZ3s.jpg', -'https://img.nickpic.host/q8HdU2.jpg', -'https://img.nickpic.host/q8NIvx.jpg', -'https://img.nickpic.host/q8HyfQ.jpg', -'https://img.nickpic.host/q8NmEN.jpg', -'https://img.nickpic.host/q8Npym.jpg', -'https://img.nickpic.host/q8No8O.jpg', -'https://img.nickpic.host/q8N3X5.jpg', -'https://img.nickpic.host/q8NxS8.jpg', -'https://img.nickpic.host/q8NB1q.jpg', -'https://img.nickpic.host/q8Ns3D.jpg', -'https://img.nickpic.host/q8NbJd.jpg', -'https://img.nickpic.host/q8NFfP.jpg', -'https://img.nickpic.host/q8NjvM.jpg', -'https://img.nickpic.host/q8NlOF.jpg', -'https://img.nickpic.host/q8N58e.jpg', -'https://img.nickpic.host/q8NSyX.jpg', -'https://img.nickpic.host/q8Nq1f.jpg', -'https://img.nickpic.host/q8Ngcb.jpg', -'https://img.nickpic.host/q8NuL6.jpg', -'https://img.nickpic.host/q8NEFp.jpg', -'https://img.nickpic.host/q8NOXY.jpg', -'https://img.nickpic.host/q8NCxG.jpg', -'https://img.nickpic.host/q8Nh0A.jpg', -'https://img.nickpic.host/q8NQOz.jpg', -'https://img.nickpic.host/q8NXyW.jpg', -'https://img.nickpic.host/q8NUKc.jpg', -'https://img.nickpic.host/q8Nnc1.jpg', -'https://img.nickpic.host/q8Nt4j.jpg', -'https://img.nickpic.host/q8NMLJ.jpg', -'https://img.nickpic.host/q8N4is.jpg', -'https://img.nickpic.host/q8N1Fn.jpg', -'https://img.nickpic.host/q8ND02.jpg', -'https://img.nickpic.host/q8N7hx.jpg', -'https://img.nickpic.host/q8NzxQ.jpg', -'https://img.nickpic.host/q8NYGO.jpg', -'https://img.nickpic.host/q8N8KN.jpg', -'https://img.nickpic.host/q8NHgm.jpg', -'https://img.nickpic.host/q8NVPq.jpg', -'https://img.nickpic.host/q8NN48.jpg', -'https://img.nickpic.host/q8N2iD.jpg', -'https://img.nickpic.host/q8N0Fd.jpg', -'https://img.nickpic.host/q8N925.jpg', -'https://img.nickpic.host/q8NkxP.jpg', -'https://img.nickpic.host/q8NTGe.jpg', -'https://img.nickpic.host/q8NJhM.jpg', -'https://img.nickpic.host/q8NLYF.jpg', -'https://img.nickpic.host/q8NWgX.jpg', -'https://img.nickpic.host/q8NdPf.jpg', -'https://img.nickpic.host/q8NZDb.jpg', -'https://img.nickpic.host/q8VGa6.jpg', -'https://img.nickpic.host/q8VInp.jpg', -'https://img.nickpic.host/q8Vm2Y.jpg', -'https://img.nickpic.host/q8VpBA.jpg', -'https://img.nickpic.host/q8VxYz.jpg', -'https://img.nickpic.host/q8Vv6G.jpg', -'https://img.nickpic.host/q8VbIc.jpg', -'https://img.nickpic.host/q8VrgW.jpg', -'https://img.nickpic.host/q8V3Tj.jpg', -'https://img.nickpic.host/q8VsD1.jpg', -'https://img.nickpic.host/q8VaaJ.jpg', -'https://img.nickpic.host/q8Vjnn.jpg', -'https://img.nickpic.host/q8Vl9s.jpg', -'https://img.nickpic.host/q8VSB2.jpg', -'https://img.nickpic.host/q8Vc6Q.jpg', -'https://img.nickpic.host/q8VgHx.jpg', -'https://img.nickpic.host/q8VAqO.jpg', -'https://img.nickpic.host/q8VuIN.jpg', -'https://img.nickpic.host/q8VOT8.jpg', -'https://img.nickpic.host/q8VEwm.jpg', -'https://img.nickpic.host/q8V6jq.jpg', -'https://img.nickpic.host/q8VCnd.jpg', -'https://img.nickpic.host/q8VXb5.jpg', -'https://img.nickpic.host/q8VQ9D.jpg', -'https://img.nickpic.host/q8Vi6P.jpg', -'https://img.nickpic.host/q8VnHM.jpg', -'https://img.nickpic.host/q8VMmF.jpg', -'https://img.nickpic.host/q8VRqe.jpg', -'https://img.nickpic.host/q8V1wX.jpg', -'https://img.nickpic.host/q8V4Wb.jpg', -'https://img.nickpic.host/q8Vwjf.jpg', -'https://img.nickpic.host/q8Vzt6.jpg', -'https://img.nickpic.host/q8V7ep.jpg', -'https://img.nickpic.host/q8VKbY.jpg', -'https://img.nickpic.host/q8VYCA.jpg', -'https://img.nickpic.host/q8VHNG.jpg', -'https://img.nickpic.host/q8VVmz.jpg', -'https://img.nickpic.host/q8Vfuc.jpg', -'https://img.nickpic.host/q8V0wW.jpg', -'https://img.nickpic.host/q8Velj.jpg', -'https://img.nickpic.host/q8V2W1.jpg', -'https://img.nickpic.host/q8VktJ.jpg', -'https://img.nickpic.host/q8VJen.jpg', -'https://img.nickpic.host/q8VPrs.jpg', -'https://img.nickpic.host/q8VTC2.jpg', -'https://img.nickpic.host/q8VWNQ.jpg', -'https://img.nickpic.host/q8Vdox.jpg', -'https://img.nickpic.host/q8VyuN.jpg', -'https://img.nickpic.host/q8fGzO.jpg', -'https://img.nickpic.host/q8fIZm.jpg', -'https://img.nickpic.host/q8fol8.jpg', -'https://img.nickpic.host/q8fpMq.jpg', -'https://img.nickpic.host/q8fved.jpg', -'https://img.nickpic.host/q8fBrD.jpg', -'https://img.nickpic.host/q8fbQ5.jpg', -'https://img.nickpic.host/q8frNP.jpg', -'https://img.nickpic.host/q8fFAF.jpg', -'https://img.nickpic.host/q8f3oM.jpg', -'https://img.nickpic.host/q8faze.jpg', -'https://img.nickpic.host/q8fjZX.jpg', -'https://img.nickpic.host/q8f55b.jpg', -'https://img.nickpic.host/q8fSMf.jpg', -'https://img.nickpic.host/q8fck6.jpg', -'https://img.nickpic.host/q8fqsp.jpg', -'https://img.nickpic.host/q8fuQY.jpg', -'https://img.nickpic.host/q8fAVA.jpg', -'https://img.nickpic.host/q8fOpG.jpg', -'https://img.nickpic.host/q8fhAz.jpg', -'https://img.nickpic.host/q8f67c.jpg', -'https://img.nickpic.host/q8fCZW.jpg', -'https://img.nickpic.host/q8fU51.jpg', -'https://img.nickpic.host/q8fXRj.jpg', -'https://img.nickpic.host/q8fikJ.jpg', -'https://img.nickpic.host/q8ftsn.jpg', -'https://img.nickpic.host/q8fMUs.jpg', -'https://img.nickpic.host/q8fRV2.jpg', -'https://img.nickpic.host/q8f4pQ.jpg', -'https://img.nickpic.host/q8fDEx.jpg', -'https://img.nickpic.host/q8fw7N.jpg', -'https://img.nickpic.host/q8fzdO.jpg', -'https://img.nickpic.host/q8f8Sm.jpg', -'https://img.nickpic.host/q8fKR8.jpg', -'https://img.nickpic.host/q8fYJq.jpg', -'https://img.nickpic.host/q8fNsd.jpg', -'https://img.nickpic.host/q8fVUD.jpg', -'https://img.nickpic.host/q8fff5.jpg', -'https://img.nickpic.host/q8f2pP.jpg', -'https://img.nickpic.host/q8f9EM.jpg', -'https://img.nickpic.host/q8fe8F.jpg', -'https://img.nickpic.host/q8fkde.jpg', -'https://img.nickpic.host/q8fLSX.jpg', -'https://img.nickpic.host/q8fP1b.jpg', -'https://img.nickpic.host/q8fTJf.jpg', -'https://img.nickpic.host/q8fZ36.jpg', -'https://img.nickpic.host/q8fdXp.jpg', -'https://img.nickpic.host/q8fyfY.jpg', -'https://img.nickpic.host/q80IvA.jpg', -'https://img.nickpic.host/q80mOG.jpg', -'https://img.nickpic.host/q80pyc.jpg', -'https://img.nickpic.host/q80o8z.jpg', -'https://img.nickpic.host/q80xSW.jpg', -'https://img.nickpic.host/q80B11.jpg', -'https://img.nickpic.host/q80bLj.jpg', -'https://img.nickpic.host/q80s3J.jpg', -'https://img.nickpic.host/q803Xn.jpg', -'https://img.nickpic.host/q80F0s.jpg', -'https://img.nickpic.host/q80jv2.jpg', -'https://img.nickpic.host/q80lOQ.jpg', -'https://img.nickpic.host/q805Kx.jpg', -'https://img.nickpic.host/q80SyN.jpg', -'https://img.nickpic.host/q80gcO.jpg', -'https://img.nickpic.host/q80q4m.jpg', -'https://img.nickpic.host/q80uL8.jpg', -'https://img.nickpic.host/q80EFq.jpg', -'https://img.nickpic.host/q80OXd.jpg', -'https://img.nickpic.host/q80h0D.jpg', -'https://img.nickpic.host/q80Cx5.jpg', -'https://img.nickpic.host/q80QOP.jpg', -'https://img.nickpic.host/q80UKM.jpg', -'https://img.nickpic.host/q80iGF.jpg', -'https://img.nickpic.host/q80nce.jpg', -'https://img.nickpic.host/q80t4X.jpg', -'https://img.nickpic.host/q80MPb.jpg', -'https://img.nickpic.host/q801Ff.jpg', -'https://img.nickpic.host/q804i6.jpg', -'https://img.nickpic.host/q80D2p.jpg', -'https://img.nickpic.host/q80zxY.jpg', -'https://img.nickpic.host/q807hA.jpg', -'https://img.nickpic.host/q808YG.jpg', -'https://img.nickpic.host/q80YGz.jpg', -'https://img.nickpic.host/q80Hgc.jpg', -'https://img.nickpic.host/q80N4W.jpg', -'https://img.nickpic.host/q80VP1.jpg', -'https://img.nickpic.host/q800aj.jpg', -'https://img.nickpic.host/q80kBs.jpg', -'https://img.nickpic.host/q802iJ.jpg', -'https://img.nickpic.host/q8092n.jpg', -'https://img.nickpic.host/q80Jh2.jpg', -'https://img.nickpic.host/q80LYQ.jpg', -'https://img.nickpic.host/q80TIx.jpg', -'https://img.nickpic.host/q80WgN.jpg', -'https://img.nickpic.host/q80ZDO.jpg', -'https://img.nickpic.host/q82Ga8.jpg', -'https://img.nickpic.host/q80dTm.jpg', -'https://img.nickpic.host/q82Inq.jpg', -'https://img.nickpic.host/q82m2d.jpg', -'https://img.nickpic.host/q82pBD.jpg', -'https://img.nickpic.host/q82v65.jpg', -'https://img.nickpic.host/q82xYP.jpg', -'https://img.nickpic.host/q82bIM.jpg', -'https://img.nickpic.host/q82rqF.jpg', -'https://img.nickpic.host/q82sDe.jpg', -'https://img.nickpic.host/q823TX.jpg', -'https://img.nickpic.host/q82ajb.jpg', -'https://img.nickpic.host/q82jnf.jpg', -'https://img.nickpic.host/q82l96.jpg', -'https://img.nickpic.host/q82Sbp.jpg', -'https://img.nickpic.host/q82c6Y.jpg', -'https://img.nickpic.host/q82gHA.jpg', -'https://img.nickpic.host/q82umG.jpg', -'https://img.nickpic.host/q82Aqz.jpg', -'https://img.nickpic.host/q82Ewc.jpg', -'https://img.nickpic.host/q82OTW.jpg', -'https://img.nickpic.host/q826j1.jpg', -'https://img.nickpic.host/q82Ctj.jpg', -'https://img.nickpic.host/q82Q9J.jpg', -'https://img.nickpic.host/q82Xbn.jpg', -'https://img.nickpic.host/q82iCs.jpg', -'https://img.nickpic.host/q82nH2.jpg', -'https://img.nickpic.host/q82Rux.jpg', -'https://img.nickpic.host/q82MmQ.jpg', -'https://img.nickpic.host/q821wN.jpg', -'https://img.nickpic.host/q824WO.jpg', -'https://img.nickpic.host/q82wlm.jpg', -'https://img.nickpic.host/q82zt8.jpg', -'https://img.nickpic.host/q827eq.jpg', -'https://img.nickpic.host/q82Kbd.jpg', -'https://img.nickpic.host/q82YCD.jpg', -'https://img.nickpic.host/q82VmP.jpg', -'https://img.nickpic.host/q82HN5.jpg', -'https://img.nickpic.host/q82fuM.jpg', -'https://img.nickpic.host/q820zF.jpg', -'https://img.nickpic.host/q82elX.jpg', -'https://img.nickpic.host/q822We.jpg', -'https://img.nickpic.host/q82Jef.jpg', -'https://img.nickpic.host/q82kMb.jpg', -'https://img.nickpic.host/q82Pr6.jpg', -'https://img.nickpic.host/q82TQp.jpg', -'https://img.nickpic.host/q82doA.jpg', -'https://img.nickpic.host/q82WNY.jpg', -'https://img.nickpic.host/q82yAG.jpg', -'https://img.nickpic.host/q89Gzz.jpg', -'https://img.nickpic.host/q89IZc.jpg', -'https://img.nickpic.host/q89olW.jpg', -'https://img.nickpic.host/q89pM1.jpg', -'https://img.nickpic.host/q89vkj.jpg', -'https://img.nickpic.host/q89BrJ.jpg', -'https://img.nickpic.host/q89bQn.jpg', -'https://img.nickpic.host/q89rVs.jpg', -'https://img.nickpic.host/q89FAQ.jpg', -'https://img.nickpic.host/q893o2.jpg', -'https://img.nickpic.host/q89a7x.jpg', -'https://img.nickpic.host/q89jZN.jpg', -'https://img.nickpic.host/q8955O.jpg', -'https://img.nickpic.host/q89SRm.jpg', -'https://img.nickpic.host/q89ck8.jpg', -'https://img.nickpic.host/q89qsq.jpg', -'https://img.nickpic.host/q89uQd.jpg', -'https://img.nickpic.host/q89AVD.jpg', -'https://img.nickpic.host/q89Op5.jpg', -'https://img.nickpic.host/q89hAP.jpg', -'https://img.nickpic.host/q8967M.jpg', -'https://img.nickpic.host/q89U5e.jpg', -'https://img.nickpic.host/q89CdF.jpg', -'https://img.nickpic.host/q89XRX.jpg', -'https://img.nickpic.host/q89iJb.jpg', -'https://img.nickpic.host/q89tsf.jpg', -'https://img.nickpic.host/q89Rfp.jpg', -'https://img.nickpic.host/q89MU6.jpg', -'https://img.nickpic.host/q894pY.jpg', -'https://img.nickpic.host/q89DEA.jpg', -'https://img.nickpic.host/q89w8G.jpg', -'https://img.nickpic.host/q898Sc.jpg', -'https://img.nickpic.host/q89KRW.jpg', -'https://img.nickpic.host/q89zdz.jpg', -'https://img.nickpic.host/q89N3j.jpg', -'https://img.nickpic.host/q89YJ1.jpg', -'https://img.nickpic.host/q89VUJ.jpg', -'https://img.nickpic.host/q89ffn.jpg', -'https://img.nickpic.host/q899E2.jpg', -'https://img.nickpic.host/q892vs.jpg', -'https://img.nickpic.host/q89e8Q.jpg', -'https://img.nickpic.host/q89P1O.jpg', -'https://img.nickpic.host/q89TLm.jpg', -'https://img.nickpic.host/q89Z38.jpg', -'https://img.nickpic.host/q89dXq.jpg', -'https://img.nickpic.host/q89yfd.jpg', -'https://img.nickpic.host/q8eIvD.jpg', -'https://img.nickpic.host/q8emO5.jpg', -'https://img.nickpic.host/q8eo8P.jpg', -'https://img.nickpic.host/q8epyM.jpg', -'https://img.nickpic.host/q8excF.jpg', -'https://img.nickpic.host/q8eB1e.jpg', -'https://img.nickpic.host/q8ebLX.jpg', -'https://img.nickpic.host/q8esFb.jpg', -'https://img.nickpic.host/q8e3Xf.jpg', -'https://img.nickpic.host/q8eF06.jpg', -'https://img.nickpic.host/q8ejxp.jpg', -'https://img.nickpic.host/q8e5KA.jpg', -'https://img.nickpic.host/q8elOY.jpg', -'https://img.nickpic.host/q8ecGG.jpg', -'https://img.nickpic.host/q8eq4c.jpg', -'https://img.nickpic.host/q8egcz.jpg', -'https://img.nickpic.host/q8eEF1.jpg', -'https://img.nickpic.host/q8eOij.jpg', -'https://img.nickpic.host/q8euLW.jpg', -'https://img.nickpic.host/q8eh0J.jpg', -'https://img.nickpic.host/q8eUK2.jpg', -'https://img.nickpic.host/q8eCxn.jpg', -'https://img.nickpic.host/q8eQhs.jpg', -'https://img.nickpic.host/q8eiGQ.jpg', -'https://img.nickpic.host/q8et4N.jpg', -'https://img.nickpic.host/q8engx.jpg', -'https://img.nickpic.host/q8eMPO.jpg', -'https://img.nickpic.host/q8e4i8.jpg', -'https://img.nickpic.host/q8e1am.jpg', -'https://img.nickpic.host/q8eD2q.jpg', -'https://img.nickpic.host/q8ezxd.jpg', -'https://img.nickpic.host/q8e7hD.jpg', -'https://img.nickpic.host/q8e8Y5.jpg', -'https://img.nickpic.host/q8eYGP.jpg', -'https://img.nickpic.host/q8eHgM.jpg', -'https://img.nickpic.host/q8eNDF.jpg', -'https://img.nickpic.host/q8eVPe.jpg', -'https://img.nickpic.host/q8e0aX.jpg', -'https://img.nickpic.host/q8e2nb.jpg', -'https://img.nickpic.host/q8e92f.jpg', -'https://img.nickpic.host/q8ekB6.jpg', -'https://img.nickpic.host/q8eJ6p.jpg', -'https://img.nickpic.host/q8eTIA.jpg', -'https://img.nickpic.host/q8eLYY.jpg', -'https://img.nickpic.host/q8eWqG.jpg', -'https://img.nickpic.host/q8edTc.jpg', -'https://img.nickpic.host/q8kIn1.jpg', -'https://img.nickpic.host/q8kGaW.jpg', -'https://img.nickpic.host/q8km9j.jpg', -'https://img.nickpic.host/q8kpBJ.jpg', -'https://img.nickpic.host/q8kxHs.jpg', -'https://img.nickpic.host/q8kv6n.jpg', -'https://img.nickpic.host/q8kbI2.jpg', -'https://img.nickpic.host/q8krqQ.jpg', -'https://img.nickpic.host/q8kajO.jpg', -'https://img.nickpic.host/q8kswx.jpg', -'https://img.nickpic.host/q8k3TN.jpg', -'https://img.nickpic.host/q8kjtm.jpg', -'https://img.nickpic.host/q8kl98.jpg', -'https://img.nickpic.host/q8kSbq.jpg', -'https://img.nickpic.host/q8kgHD.jpg', -'https://img.nickpic.host/q8kc6d.jpg', -'https://img.nickpic.host/q8kum5.jpg', -'https://img.nickpic.host/q8kAqP.jpg', -'https://img.nickpic.host/q8kOWF.jpg', -'https://img.nickpic.host/q8kEwM.jpg', -'https://img.nickpic.host/q8k6je.jpg', -'https://img.nickpic.host/q8kCtX.jpg', -'https://img.nickpic.host/q8kQeb.jpg', -'https://img.nickpic.host/q8knNp.jpg', -'https://img.nickpic.host/q8kXbf.jpg', -'https://img.nickpic.host/q8kiC6.jpg', -'https://img.nickpic.host/q8kRuA.jpg', -'https://img.nickpic.host/q8kMmY.jpg', -'https://img.nickpic.host/q8k1zG.jpg', -'https://img.nickpic.host/q8k4Wz.jpg', -'https://img.nickpic.host/q8kztW.jpg', -'https://img.nickpic.host/q8kwlc.jpg', -'https://img.nickpic.host/q8k7e1.jpg', -'https://img.nickpic.host/q8kYCJ.jpg', -'https://img.nickpic.host/q8kKrj.jpg', -'https://img.nickpic.host/q8kHNn.jpg', -'https://img.nickpic.host/q8kVos.jpg', -'https://img.nickpic.host/q8kfu2.jpg', -'https://img.nickpic.host/q8k2Zx.jpg', -'https://img.nickpic.host/q8k0zQ.jpg', -'https://img.nickpic.host/q8kelN.jpg', -'https://img.nickpic.host/q8kkMO.jpg', -'https://img.nickpic.host/q8kPr8.jpg', -'https://img.nickpic.host/q8kJkm.jpg', -'https://img.nickpic.host/q8kTQq.jpg', -'https://img.nickpic.host/q8kWNd.jpg', -'https://img.nickpic.host/q8kdoD.jpg', -'https://img.nickpic.host/q8kyA5.jpg', -'https://img.nickpic.host/q8JGzP.jpg', -'https://img.nickpic.host/q8JIZM.jpg', -'https://img.nickpic.host/q8Jo5F.jpg', -'https://img.nickpic.host/q8JvkX.jpg', -'https://img.nickpic.host/q8JpMe.jpg', -'https://img.nickpic.host/q8JBsb.jpg', -'https://img.nickpic.host/q8JbQf.jpg', -'https://img.nickpic.host/q8J3pp.jpg', -'https://img.nickpic.host/q8JrV6.jpg', -'https://img.nickpic.host/q8Ja7A.jpg', -'https://img.nickpic.host/q8JFAY.jpg', -'https://img.nickpic.host/q8JjdG.jpg', -'https://img.nickpic.host/q8J55z.jpg', -'https://img.nickpic.host/q8JSRc.jpg', -'https://img.nickpic.host/q8JckW.jpg', -'https://img.nickpic.host/q8Jqs1.jpg', -'https://img.nickpic.host/q8JuUj.jpg', -'https://img.nickpic.host/q8JAVJ.jpg', -'https://img.nickpic.host/q8JOpn.jpg', -'https://img.nickpic.host/q8JhEs.jpg', -'https://img.nickpic.host/q8J672.jpg', -'https://img.nickpic.host/q8JUSx.jpg', -'https://img.nickpic.host/q8JCdQ.jpg', -'https://img.nickpic.host/q8JXRN.jpg', -'https://img.nickpic.host/q8JiJO.jpg', -'https://img.nickpic.host/q8JMU8.jpg', -'https://img.nickpic.host/q8Jt3m.jpg', -'https://img.nickpic.host/q8JRfq.jpg', -'https://img.nickpic.host/q8J4pd.jpg', -'https://img.nickpic.host/q8JDED.jpg', -'https://img.nickpic.host/q8JzdP.jpg', -'https://img.nickpic.host/q8Jw85.jpg', -'https://img.nickpic.host/q8J8SM.jpg', -'https://img.nickpic.host/q8JK1F.jpg', -'https://img.nickpic.host/q8JYJe.jpg', -'https://img.nickpic.host/q8JN3X.jpg', -'https://img.nickpic.host/q8JVXb.jpg', -'https://img.nickpic.host/q8J9Op.jpg', -'https://img.nickpic.host/q8Jfff.jpg', -'https://img.nickpic.host/q8J2v6.jpg', -'https://img.nickpic.host/q8Je8Y.jpg', -'https://img.nickpic.host/q8JkyA.jpg', -'https://img.nickpic.host/q8JLcG.jpg', -'https://img.nickpic.host/q8JTLc.jpg', -'https://img.nickpic.host/q8JP1z.jpg', -'https://img.nickpic.host/q8JdX1.jpg', -'https://img.nickpic.host/q8JZ3W.jpg', -'https://img.nickpic.host/q8Jy0j.jpg', -'https://img.nickpic.host/q8LIvJ.jpg', -'https://img.nickpic.host/q8LmOn.jpg', -'https://img.nickpic.host/q8LoKs.jpg', -'https://img.nickpic.host/q8Lpy2.jpg', -'https://img.nickpic.host/q8LB4x.jpg', -'https://img.nickpic.host/q8LxcQ.jpg', -'https://img.nickpic.host/q8LbLN.jpg', -'https://img.nickpic.host/q8LsFO.jpg', -'https://img.nickpic.host/q8LF08.jpg', -'https://img.nickpic.host/q8L3im.jpg', -'https://img.nickpic.host/q8Ljxq.jpg', -'https://img.nickpic.host/q8LlOd.jpg', -'https://img.nickpic.host/q8L5KD.jpg', -'https://img.nickpic.host/q8LcG5.jpg', -'https://img.nickpic.host/q8LgcP.jpg', -'https://img.nickpic.host/q8Lq4M.jpg', -'https://img.nickpic.host/q8LuPF.jpg', -'https://img.nickpic.host/q8LEFe.jpg', -'https://img.nickpic.host/q8LOiX.jpg', -'https://img.nickpic.host/q8Lh2b.jpg', -'https://img.nickpic.host/q8LCxf.jpg', -'https://img.nickpic.host/q8LQh6.jpg', -'https://img.nickpic.host/q8LUYp.jpg', -'https://img.nickpic.host/q8LiGY.jpg', -'https://img.nickpic.host/q8LngA.jpg', -'https://img.nickpic.host/q8LtDG.jpg', -'https://img.nickpic.host/q8LMPz.jpg', -'https://img.nickpic.host/q8L1ac.jpg', -'https://img.nickpic.host/q8L4iW.jpg', -'https://img.nickpic.host/q8LzBj.jpg', -'https://img.nickpic.host/q8LD21.jpg', -'https://img.nickpic.host/q8L7hJ.jpg', -'https://img.nickpic.host/q8L8Yn.jpg', -'https://img.nickpic.host/q8LHg2.jpg', -'https://img.nickpic.host/q8LYIs.jpg', -'https://img.nickpic.host/q8LVTx.jpg', -'https://img.nickpic.host/q8LNDQ.jpg', -'https://img.nickpic.host/q8L0aN.jpg', -'https://img.nickpic.host/q8L2nO.jpg', -'https://img.nickpic.host/q8LkB8.jpg', -'https://img.nickpic.host/q8L99m.jpg', -'https://img.nickpic.host/q8LJ6q.jpg', -'https://img.nickpic.host/q8LLYd.jpg', -'https://img.nickpic.host/q8LTID.jpg', -'https://img.nickpic.host/q8LWq5.jpg', -'https://img.nickpic.host/q8LZDP.jpg', -'https://img.nickpic.host/q8PGjF.jpg', -'https://img.nickpic.host/q8LdTM.jpg', -'https://img.nickpic.host/q8PIne.jpg', -'https://img.nickpic.host/q8Pm9X.jpg', -'https://img.nickpic.host/q8Pv6f.jpg', -'https://img.nickpic.host/q8Ppbb.jpg', -'https://img.nickpic.host/q8PxH6.jpg', -'https://img.nickpic.host/q8Pbmp.jpg', -'https://img.nickpic.host/q8PswA.jpg', -'https://img.nickpic.host/q8PrqY.jpg', -'https://img.nickpic.host/q8P3WG.jpg', -'https://img.nickpic.host/q8Pajz.jpg', -'https://img.nickpic.host/q8Pjtc.jpg', -'https://img.nickpic.host/q8Pl9W.jpg'] - - -global.hentai2 = ['https://img.nickpic.host/qw67M5.jpg', -'https://img.nickpic.host/qw6YrM.jpg', -'https://img.nickpic.host/qw6zlD.jpg', -'https://img.nickpic.host/qw68eP.jpg', -'https://img.nickpic.host/qw6DWd.jpg', -'https://img.nickpic.host/qw6tNO.jpg', -'https://img.nickpic.host/qw6Rom.jpg', -'https://img.nickpic.host/qw6nCN.jpg', -'https://img.nickpic.host/qw64zq.jpg', -'https://img.nickpic.host/qw61u8.jpg', -'https://img.nickpic.host/qw6HQF.jpg', -'https://img.nickpic.host/qw6NNe.jpg', -'https://img.nickpic.host/qw6foX.jpg', -'https://img.nickpic.host/qw60Ab.jpg', -'https://img.nickpic.host/qw62zf.jpg', -'https://img.nickpic.host/qw69Z6.jpg', -'https://img.nickpic.host/qw6JMY.jpg', -'https://img.nickpic.host/qw6k5p.jpg', -'https://img.nickpic.host/qw6LkA.jpg', -'https://img.nickpic.host/qw6TsG.jpg', -'https://img.nickpic.host/qw6WQz.jpg', -'https://img.nickpic.host/qw6ZVc.jpg', -'https://img.nickpic.host/qw6yoW.jpg', -'https://img.nickpic.host/qwCGA1.jpg', -'https://img.nickpic.host/qwCI7j.jpg', -'https://img.nickpic.host/qwCmZJ.jpg', -'https://img.nickpic.host/qwCp5n.jpg', -'https://img.nickpic.host/qwCvRs.jpg', -'https://img.nickpic.host/qwCxk2.jpg', -'https://img.nickpic.host/qwCrUx.jpg', -'https://img.nickpic.host/qwCbsQ.jpg', -'https://img.nickpic.host/qwCsVN.jpg', -'https://img.nickpic.host/qwCFpO.jpg', -'https://img.nickpic.host/qwCaEm.jpg', -'https://img.nickpic.host/qwCj78.jpg', -'https://img.nickpic.host/qwCldq.jpg', -'https://img.nickpic.host/qwCS5d.jpg', -'https://img.nickpic.host/qwCgJ5.jpg', -'https://img.nickpic.host/qwCcRD.jpg', -'https://img.nickpic.host/qwCusP.jpg', -'https://img.nickpic.host/qwCAUM.jpg', -'https://img.nickpic.host/qwCEfF.jpg', -'https://img.nickpic.host/qwChpe.jpg', -'https://img.nickpic.host/qwC6EX.jpg', -'https://img.nickpic.host/qwCC8b.jpg', -'https://img.nickpic.host/qwCQdf.jpg', -'https://img.nickpic.host/qwCXS6.jpg', -'https://img.nickpic.host/qwCi1p.jpg', -'https://img.nickpic.host/qwCnJY.jpg', -'https://img.nickpic.host/qwCM3A.jpg', -'https://img.nickpic.host/qwCRXG.jpg', -'https://img.nickpic.host/qwC1fz.jpg', -'https://img.nickpic.host/qwCDvc.jpg', -'https://img.nickpic.host/qwCz81.jpg', -'https://img.nickpic.host/qwCwEW.jpg', -'https://img.nickpic.host/qwC7yj.jpg', -'https://img.nickpic.host/qwCKSJ.jpg', -'https://img.nickpic.host/qwCY1n.jpg', -'https://img.nickpic.host/qwCHLs.jpg', -'https://img.nickpic.host/qwCV32.jpg', -'https://img.nickpic.host/qwCfXQ.jpg', -'https://img.nickpic.host/qwC00x.jpg', -'https://img.nickpic.host/qwC9vN.jpg', -'https://img.nickpic.host/qwCkKm.jpg', -'https://img.nickpic.host/qwCeOO.jpg', -'https://img.nickpic.host/qwCJy8.jpg', -'https://img.nickpic.host/qwCT1d.jpg', -'https://img.nickpic.host/qwCPcq.jpg', -'https://img.nickpic.host/qwCWLD.jpg', -'https://img.nickpic.host/qwCdF5.jpg', -'https://img.nickpic.host/qwCyXP.jpg', -'https://img.nickpic.host/qwQG0M.jpg', -'https://img.nickpic.host/qwQoOe.jpg', -'https://img.nickpic.host/qwQpKX.jpg', -'https://img.nickpic.host/qwQb46.jpg', -'https://img.nickpic.host/qwQxGb.jpg', -'https://img.nickpic.host/qwQBcf.jpg', -'https://img.nickpic.host/qwQrPp.jpg', -'https://img.nickpic.host/qwQ3FY.jpg', -'https://img.nickpic.host/qwQFiA.jpg', -'https://img.nickpic.host/qwQa2G.jpg', -'https://img.nickpic.host/qwQlxz.jpg', -'https://img.nickpic.host/qwQ5hc.jpg', -'https://img.nickpic.host/qwQSKW.jpg', -'https://img.nickpic.host/qwQqgj.jpg', -'https://img.nickpic.host/qwQgG1.jpg', -'https://img.nickpic.host/qwQAPn.jpg', -'https://img.nickpic.host/qwQu4J.jpg', -'https://img.nickpic.host/qwQOas.jpg', -'https://img.nickpic.host/qwQhi2.jpg', -'https://img.nickpic.host/qwQ62Q.jpg', -'https://img.nickpic.host/qwQQBx.jpg', -'https://img.nickpic.host/qwQUhN.jpg', -'https://img.nickpic.host/qwQXYO.jpg', -'https://img.nickpic.host/qwQnIm.jpg', -'https://img.nickpic.host/qwQtg8.jpg', -'https://img.nickpic.host/qwQMDq.jpg', -'https://img.nickpic.host/qwQRPd.jpg', -'https://img.nickpic.host/qwQ4aD.jpg', -'https://img.nickpic.host/qwQDn5.jpg', -'https://img.nickpic.host/qwQw2P.jpg', -'https://img.nickpic.host/qwQ7BM.jpg', -'https://img.nickpic.host/qwQ86F.jpg', -'https://img.nickpic.host/qwQKYe.jpg', -'https://img.nickpic.host/qwQHIX.jpg', -'https://img.nickpic.host/qwQVDf.jpg', -'https://img.nickpic.host/qwQ2jp.jpg', -'https://img.nickpic.host/qwQe9A.jpg', -'https://img.nickpic.host/qwQL6z.jpg', -'https://img.nickpic.host/qwQPHc.jpg', -'https://img.nickpic.host/qwQWIW.jpg', -'https://img.nickpic.host/qwQZq1.jpg', -'https://img.nickpic.host/qwQyTJ.jpg', -'https://img.nickpic.host/qwUIjn.jpg', -'https://img.nickpic.host/qwUvbQ.jpg', -'https://img.nickpic.host/qwUxCx.jpg', -'https://img.nickpic.host/qwUBHN.jpg', -'https://img.nickpic.host/qwUrmO.jpg', -'https://img.nickpic.host/qwUsum.jpg', -'https://img.nickpic.host/qwU3w8.jpg', -'https://img.nickpic.host/qwUFWq.jpg', -'https://img.nickpic.host/qwUjjd.jpg', -'https://img.nickpic.host/qwUltD.jpg', -'https://img.nickpic.host/qwUgCM.jpg', -'https://img.nickpic.host/qwUcbP.jpg', -'https://img.nickpic.host/qwUAme.jpg', -'https://img.nickpic.host/qwUqNF.jpg', -'https://img.nickpic.host/qwUOzb.jpg', -'https://img.nickpic.host/qwUhWf.jpg', -'https://img.nickpic.host/qwUCl6.jpg', -'https://img.nickpic.host/qwUQMp.jpg', -'https://img.nickpic.host/qwUUeY.jpg', -'https://img.nickpic.host/qwUirA.jpg', -'https://img.nickpic.host/qwUnQG.jpg', -'https://img.nickpic.host/qwUtNz.jpg', -'https://img.nickpic.host/qwURoc.jpg', -'https://img.nickpic.host/qwU1uW.jpg', -'https://img.nickpic.host/qwU4z1.jpg', -'https://img.nickpic.host/qwUDZj.jpg', -'https://img.nickpic.host/qwU7Mn.jpg', -'https://img.nickpic.host/qwU8ks.jpg', -'https://img.nickpic.host/qwUYr2.jpg', -'https://img.nickpic.host/qwUNVx.jpg', -'https://img.nickpic.host/qwUHQQ.jpg', -'https://img.nickpic.host/qwUfoN.jpg', -'https://img.nickpic.host/qwU0AO.jpg', -'https://img.nickpic.host/qwU27m.jpg', -'https://img.nickpic.host/qwU9Z8.jpg', -'https://img.nickpic.host/qwUk5q.jpg', -'https://img.nickpic.host/qwUJMd.jpg', -'https://img.nickpic.host/qwULkD.jpg', -'https://img.nickpic.host/qwUTs5.jpg', -'https://img.nickpic.host/qwUWQP.jpg', -'https://img.nickpic.host/qwUZVM.jpg', -'https://img.nickpic.host/qwUypF.jpg', -'https://img.nickpic.host/qwXGAe.jpg', -'https://img.nickpic.host/qwXI7X.jpg', -'https://img.nickpic.host/qwXvR6.jpg', -'https://img.nickpic.host/qwXmdb.jpg', -'https://img.nickpic.host/qwXp5f.jpg', -'https://img.nickpic.host/qwXxJp.jpg', -'https://img.nickpic.host/qwXbsY.jpg', -'https://img.nickpic.host/qwXrUA.jpg', -'https://img.nickpic.host/qwXsfG.jpg', -'https://img.nickpic.host/qwXFpz.jpg', -'https://img.nickpic.host/qwXaEc.jpg', -'https://img.nickpic.host/qwXj7W.jpg', -'https://img.nickpic.host/qwXSSj.jpg', -'https://img.nickpic.host/qwXld1.jpg', -'https://img.nickpic.host/qwXcRJ.jpg', -'https://img.nickpic.host/qwXgJn.jpg', -'https://img.nickpic.host/qwXu3s.jpg', -'https://img.nickpic.host/qwXAU2.jpg', -'https://img.nickpic.host/qwXEfQ.jpg', -'https://img.nickpic.host/qwX6EN.jpg', -'https://img.nickpic.host/qwXhvx.jpg', -'https://img.nickpic.host/qwXC8O.jpg', -'https://img.nickpic.host/qwXQym.jpg', -'https://img.nickpic.host/qwXXS8.jpg', -'https://img.nickpic.host/qwXi1q.jpg', -'https://img.nickpic.host/qwXnJd.jpg', -'https://img.nickpic.host/qwXM3D.jpg', -'https://img.nickpic.host/qwXRX5.jpg', -'https://img.nickpic.host/qwX1fP.jpg', -'https://img.nickpic.host/qwXDvM.jpg', -'https://img.nickpic.host/qwXwOF.jpg', -'https://img.nickpic.host/qwXz8e.jpg', -'https://img.nickpic.host/qwX7yX.jpg', -'https://img.nickpic.host/qwXKcb.jpg', -'https://img.nickpic.host/qwXY1f.jpg', -'https://img.nickpic.host/qwXHL6.jpg', -'https://img.nickpic.host/qwXVFp.jpg', -'https://img.nickpic.host/qwXfXY.jpg', -'https://img.nickpic.host/qwX00A.jpg', -'https://img.nickpic.host/qwXeOz.jpg', -'https://img.nickpic.host/qwX9xG.jpg', -'https://img.nickpic.host/qwXkKc.jpg', -'https://img.nickpic.host/qwXJyW.jpg', -'https://img.nickpic.host/qwXPc1.jpg', -'https://img.nickpic.host/qwXT4j.jpg', -'https://img.nickpic.host/qwXWLJ.jpg', -'https://img.nickpic.host/qwXdFn.jpg', -'https://img.nickpic.host/qwXyis.jpg', -'https://img.nickpic.host/qwiG02.jpg', -'https://img.nickpic.host/qwimxQ.jpg', -'https://img.nickpic.host/qwiohx.jpg', -'https://img.nickpic.host/qwipKN.jpg', -'https://img.nickpic.host/qwiBgm.jpg', -'https://img.nickpic.host/qwixGO.jpg', -'https://img.nickpic.host/qwib48.jpg', -'https://img.nickpic.host/qwirPq.jpg', -'https://img.nickpic.host/qwi3Fd.jpg', -'https://img.nickpic.host/qwiFiD.jpg', -'https://img.nickpic.host/qwia25.jpg', -'https://img.nickpic.host/qwilxP.jpg', -'https://img.nickpic.host/qwi5hM.jpg', -'https://img.nickpic.host/qwiSYF.jpg', -'https://img.nickpic.host/qwiqgX.jpg', -'https://img.nickpic.host/qwigGe.jpg', -'https://img.nickpic.host/qwiuDb.jpg', -'https://img.nickpic.host/qwiAPf.jpg', -'https://img.nickpic.host/qwiOa6.jpg', -'https://img.nickpic.host/qwihnp.jpg', -'https://img.nickpic.host/qwiQBA.jpg', -'https://img.nickpic.host/qwi62Y.jpg', -'https://img.nickpic.host/qwiU6G.jpg', -'https://img.nickpic.host/qwinIc.jpg', -'https://img.nickpic.host/qwiXYz.jpg', -'https://img.nickpic.host/qwitgW.jpg', -'https://img.nickpic.host/qwiRTj.jpg', -'https://img.nickpic.host/qwiDnn.jpg', -'https://img.nickpic.host/qwi4aJ.jpg', -'https://img.nickpic.host/qwiw9s.jpg', -'https://img.nickpic.host/qwi86Q.jpg', -'https://img.nickpic.host/qwi7B2.jpg', -'https://img.nickpic.host/qwiKHx.jpg', -'https://img.nickpic.host/qwiHIN.jpg', -'https://img.nickpic.host/qwiNqO.jpg', -'https://img.nickpic.host/qwiVwm.jpg', -'https://img.nickpic.host/qwifT8.jpg', -'https://img.nickpic.host/qwi2jq.jpg', -'https://img.nickpic.host/qwi9nd.jpg', -'https://img.nickpic.host/qwie9D.jpg', -'https://img.nickpic.host/qwiJb5.jpg', -'https://img.nickpic.host/qwiL6P.jpg', -'https://img.nickpic.host/qwiPHM.jpg', -'https://img.nickpic.host/qwiWmF.jpg', -'https://img.nickpic.host/qwiZqe.jpg', -'https://img.nickpic.host/qwidwX.jpg', -'https://img.nickpic.host/qwiyWb.jpg', -'https://img.nickpic.host/qwnIjf.jpg', -'https://img.nickpic.host/qwnmt6.jpg', -'https://img.nickpic.host/qwnoep.jpg', -'https://img.nickpic.host/qwnvbY.jpg', -'https://img.nickpic.host/qwnxCA.jpg', -'https://img.nickpic.host/qwnBNG.jpg', -'https://img.nickpic.host/qwnrmz.jpg', -'https://img.nickpic.host/qwnsuc.jpg', -'https://img.nickpic.host/qwn3wW.jpg', -'https://img.nickpic.host/qwnFW1.jpg', -'https://img.nickpic.host/qwnjlj.jpg', -'https://img.nickpic.host/qwnltJ.jpg', -'https://img.nickpic.host/qwn5en.jpg', -'https://img.nickpic.host/qwngC2.jpg', -'https://img.nickpic.host/qwncrs.jpg', -'https://img.nickpic.host/qwnqNQ.jpg', -'https://img.nickpic.host/qwnEuN.jpg', -'https://img.nickpic.host/qwnAox.jpg', -'https://img.nickpic.host/qwnOzO.jpg', -'https://img.nickpic.host/qwnhZm.jpg', -'https://img.nickpic.host/qwnCl8.jpg', -'https://img.nickpic.host/qwnQMq.jpg', -'https://img.nickpic.host/qwnirD.jpg', -'https://img.nickpic.host/qwnUed.jpg', -'https://img.nickpic.host/qwnnQ5.jpg', -'https://img.nickpic.host/qwntNP.jpg', -'https://img.nickpic.host/qwn1AF.jpg', -'https://img.nickpic.host/qwnRoM.jpg', -'https://img.nickpic.host/qwn4ze.jpg', -'https://img.nickpic.host/qwnDZX.jpg', -'https://img.nickpic.host/qwnz5b.jpg', -'https://img.nickpic.host/qwn7Mf.jpg', -'https://img.nickpic.host/qwn8k6.jpg', -'https://img.nickpic.host/qwnYsp.jpg', -'https://img.nickpic.host/qwnHQY.jpg', -'https://img.nickpic.host/qwnNVA.jpg', -'https://img.nickpic.host/qwnfpG.jpg', -'https://img.nickpic.host/qwn0Az.jpg', -'https://img.nickpic.host/qwn27c.jpg', -'https://img.nickpic.host/qwn9ZW.jpg', -'https://img.nickpic.host/qwnk51.jpg', -'https://img.nickpic.host/qwnJRj.jpg', -'https://img.nickpic.host/qwnLkJ.jpg', -'https://img.nickpic.host/qwnTsn.jpg', -'https://img.nickpic.host/qwnWUs.jpg', -'https://img.nickpic.host/qwnZV2.jpg', -'https://img.nickpic.host/qwnypQ.jpg', -'https://img.nickpic.host/qwtGEx.jpg', -'https://img.nickpic.host/qwtI7N.jpg', -'https://img.nickpic.host/qwtmdO.jpg', -'https://img.nickpic.host/qwtpSm.jpg', -'https://img.nickpic.host/qwtvR8.jpg', -'https://img.nickpic.host/qwtxJq.jpg', -'https://img.nickpic.host/qwtbsd.jpg', -'https://img.nickpic.host/qwtrUD.jpg', -'https://img.nickpic.host/qwtsf5.jpg', -'https://img.nickpic.host/qwtFpP.jpg', -'https://img.nickpic.host/qwtaEM.jpg', -'https://img.nickpic.host/qwtj8F.jpg', -'https://img.nickpic.host/qwtlde.jpg', -'https://img.nickpic.host/qwtSSX.jpg', -'https://img.nickpic.host/qwtc1b.jpg', -'https://img.nickpic.host/qwtgJf.jpg', -'https://img.nickpic.host/qwtAXp.jpg', -'https://img.nickpic.host/qwtu36.jpg', -'https://img.nickpic.host/qwtEfY.jpg', -'https://img.nickpic.host/qwthvA.jpg', -'https://img.nickpic.host/qwtC8z.jpg', -'https://img.nickpic.host/qwt6OG.jpg', -'https://img.nickpic.host/qwtQyc.jpg', -'https://img.nickpic.host/qwtXSW.jpg', -'https://img.nickpic.host/qwti11.jpg', -'https://img.nickpic.host/qwtnLj.jpg', -'https://img.nickpic.host/qwtM3J.jpg', -'https://img.nickpic.host/qwtRXn.jpg', -'https://img.nickpic.host/qwt10s.jpg', -'https://img.nickpic.host/qwtDv2.jpg', -'https://img.nickpic.host/qwtwOQ.jpg', -'https://img.nickpic.host/qwtzKx.jpg', -'https://img.nickpic.host/qwt7yN.jpg', -'https://img.nickpic.host/qwtKcO.jpg', -'https://img.nickpic.host/qwtY4m.jpg', -'https://img.nickpic.host/qwtHL8.jpg', -'https://img.nickpic.host/qwtVFq.jpg', -'https://img.nickpic.host/qwtfXd.jpg', -'https://img.nickpic.host/qwt00D.jpg', -'https://img.nickpic.host/qwt9x5.jpg', -'https://img.nickpic.host/qwteOP.jpg', -'https://img.nickpic.host/qwtkKM.jpg', -'https://img.nickpic.host/qwtLGF.jpg', -'https://img.nickpic.host/qwtPce.jpg', -'https://img.nickpic.host/qwtT4X.jpg', -'https://img.nickpic.host/qwtWPb.jpg', -'https://img.nickpic.host/qwtdFf.jpg', -'https://img.nickpic.host/qwtyi6.jpg', -'https://img.nickpic.host/qwMG2p.jpg', -'https://img.nickpic.host/qwMmxY.jpg', -'https://img.nickpic.host/qwMohA.jpg', -'https://img.nickpic.host/qwMpYG.jpg', -'https://img.nickpic.host/qwMxGz.jpg', -'https://img.nickpic.host/qwMBgc.jpg', -'https://img.nickpic.host/qwMb4W.jpg', -'https://img.nickpic.host/qwMrP1.jpg', -'https://img.nickpic.host/qwM3aj.jpg', -'https://img.nickpic.host/qwMFiJ.jpg', -'https://img.nickpic.host/qwMa2n.jpg', -'https://img.nickpic.host/qwMlBs.jpg', -'https://img.nickpic.host/qwM5h2.jpg', -'https://img.nickpic.host/qwMgIx.jpg', -'https://img.nickpic.host/qwMSYQ.jpg', -'https://img.nickpic.host/qwMuDO.jpg', -'https://img.nickpic.host/qwMqgN.jpg', -'https://img.nickpic.host/qwMATm.jpg', -'https://img.nickpic.host/qwMOa8.jpg', -'https://img.nickpic.host/qwMhnq.jpg', -'https://img.nickpic.host/qwMQBD.jpg', -'https://img.nickpic.host/qwM62d.jpg', -'https://img.nickpic.host/qwMU65.jpg', -'https://img.nickpic.host/qwMXYP.jpg', -'https://img.nickpic.host/qwMnIM.jpg', -'https://img.nickpic.host/qwMMDe.jpg', -'https://img.nickpic.host/qwMtqF.jpg', -'https://img.nickpic.host/qwMRTX.jpg', -'https://img.nickpic.host/qwM4jb.jpg', -'https://img.nickpic.host/qwMDnf.jpg', -'https://img.nickpic.host/qwMw96.jpg', -'https://img.nickpic.host/qwM86Y.jpg', -'https://img.nickpic.host/qwM7bp.jpg', -'https://img.nickpic.host/qwMKHA.jpg', -'https://img.nickpic.host/qwMHmG.jpg', -'https://img.nickpic.host/qwMNqz.jpg', -'https://img.nickpic.host/qwMVwc.jpg', -'https://img.nickpic.host/qwMfTW.jpg', -'https://img.nickpic.host/qwM2j1.jpg', -'https://img.nickpic.host/qwM9tj.jpg', -'https://img.nickpic.host/qwMe9J.jpg', -'https://img.nickpic.host/qwMJbn.jpg', -'https://img.nickpic.host/qwMLCs.jpg', -'https://img.nickpic.host/qwMPH2.jpg', -'https://img.nickpic.host/qwMZux.jpg', -'https://img.nickpic.host/qwMWmQ.jpg', -'https://img.nickpic.host/qwMdwN.jpg', -'https://img.nickpic.host/qwMyWO.jpg', -'https://img.nickpic.host/qwRmt8.jpg', -'https://img.nickpic.host/qwRIlm.jpg', -'https://img.nickpic.host/qwRoeq.jpg', -'https://img.nickpic.host/qwRvbd.jpg', -'https://img.nickpic.host/qwRxCD.jpg', -'https://img.nickpic.host/qwRBN5.jpg', -'https://img.nickpic.host/qwRrmP.jpg', -'https://img.nickpic.host/qwR3zF.jpg', -'https://img.nickpic.host/qwRsuM.jpg', -'https://img.nickpic.host/qwRFWe.jpg', -'https://img.nickpic.host/qwRjlX.jpg', -'https://img.nickpic.host/qwRlMb.jpg', -'https://img.nickpic.host/qwR5ef.jpg', -'https://img.nickpic.host/qwRcr6.jpg', -'https://img.nickpic.host/qwRgQp.jpg', -'https://img.nickpic.host/qwRqNY.jpg', -'https://img.nickpic.host/qwRAoA.jpg', -'https://img.nickpic.host/qwROzz.jpg', -'https://img.nickpic.host/qwREAG.jpg', -'https://img.nickpic.host/qwRClW.jpg', -'https://img.nickpic.host/qwRQM1.jpg', -'https://img.nickpic.host/qwRUkj.jpg', -'https://img.nickpic.host/qwRirJ.jpg', -'https://img.nickpic.host/qwRnQn.jpg', -'https://img.nickpic.host/qwRtVs.jpg', -'https://img.nickpic.host/qwRRo2.jpg', -'https://img.nickpic.host/qwR1AQ.jpg', -'https://img.nickpic.host/qwR47x.jpg', -'https://img.nickpic.host/qwRDZN.jpg', -'https://img.nickpic.host/qwRz5O.jpg', -'https://img.nickpic.host/qwR7Rm.jpg', -'https://img.nickpic.host/qwR8k8.jpg', -'https://img.nickpic.host/qwRYsq.jpg', -'https://img.nickpic.host/qwRNVD.jpg', -'https://img.nickpic.host/qwRHQd.jpg', -'https://img.nickpic.host/qwRfp5.jpg', -'https://img.nickpic.host/qwR0AP.jpg', -'https://img.nickpic.host/qwR27M.jpg', -'https://img.nickpic.host/qwR9dF.jpg', -'https://img.nickpic.host/qwRk5e.jpg', -'https://img.nickpic.host/qwRJRX.jpg', -'https://img.nickpic.host/qwRLJb.jpg', -'https://img.nickpic.host/qwRTsf.jpg', -'https://img.nickpic.host/qwRWU6.jpg', -'https://img.nickpic.host/qwRZfp.jpg', -'https://img.nickpic.host/qwRypY.jpg', -'https://img.nickpic.host/qw1GEA.jpg', -'https://img.nickpic.host/qw1I8G.jpg', -'https://img.nickpic.host/qw1mdz.jpg', -'https://img.nickpic.host/qw1pSc.jpg', -'https://img.nickpic.host/qw1vRW.jpg', -'https://img.nickpic.host/qw1xJ1.jpg', -'https://img.nickpic.host/qw1b3j.jpg', -'https://img.nickpic.host/qw1rUJ.jpg', -'https://img.nickpic.host/qw1sfn.jpg', -'https://img.nickpic.host/qw1Fvs.jpg', -'https://img.nickpic.host/qw1j8Q.jpg', -'https://img.nickpic.host/qw1aE2.jpg', -'https://img.nickpic.host/qw1lyx.jpg', -'https://img.nickpic.host/qw1SSN.jpg', -'https://img.nickpic.host/qw1gLm.jpg', -'https://img.nickpic.host/qw1c1O.jpg', -'https://img.nickpic.host/qw1u38.jpg', -'https://img.nickpic.host/qw1AXq.jpg', -'https://img.nickpic.host/qw1Efd.jpg', -'https://img.nickpic.host/qw1hvD.jpg', -'https://img.nickpic.host/qw1C8P.jpg', -'https://img.nickpic.host/qw1QyM.jpg', -'https://img.nickpic.host/qw1XcF.jpg', -'https://img.nickpic.host/qw1i1e.jpg', -'https://img.nickpic.host/qw1nLX.jpg', -'https://img.nickpic.host/qw1MFb.jpg', -'https://img.nickpic.host/qw1RXf.jpg', -'https://img.nickpic.host/qw1106.jpg', -'https://img.nickpic.host/qw1Dxp.jpg', -'https://img.nickpic.host/qw1wOY.jpg', -'https://img.nickpic.host/qw18GG.jpg', -'https://img.nickpic.host/qw1zKA.jpg', -'https://img.nickpic.host/qw1Kcz.jpg', -'https://img.nickpic.host/qw1Y4c.jpg', -'https://img.nickpic.host/qw1fij.jpg', -'https://img.nickpic.host/qw1HLW.jpg', -'https://img.nickpic.host/qw1VF1.jpg', -'https://img.nickpic.host/qw100J.jpg', -'https://img.nickpic.host/qw19xn.jpg', -'https://img.nickpic.host/qw1ehs.jpg', -'https://img.nickpic.host/qw1kK2.jpg', -'https://img.nickpic.host/qw1Pgx.jpg', -'https://img.nickpic.host/qw1LGQ.jpg', -'https://img.nickpic.host/qw1T4N.jpg', -'https://img.nickpic.host/qw1dam.jpg', -'https://img.nickpic.host/qw4G2q.jpg', -'https://img.nickpic.host/qw1WPO.jpg', -'https://img.nickpic.host/qw1yi8.jpg', -'https://img.nickpic.host/qw4ohD.jpg', -'https://img.nickpic.host/qw4mxd.jpg', -'https://img.nickpic.host/qw4pY5.jpg', -'https://img.nickpic.host/qw4xGP.jpg', -'https://img.nickpic.host/qw4BgM.jpg', -'https://img.nickpic.host/qw4rPe.jpg', -'https://img.nickpic.host/qw4bDF.jpg', -'https://img.nickpic.host/qw43aX.jpg', -'https://img.nickpic.host/qw4Fnb.jpg', -'https://img.nickpic.host/qw4a2f.jpg', -'https://img.nickpic.host/qw456p.jpg', -'https://img.nickpic.host/qw4lB6.jpg', -'https://img.nickpic.host/qw4SYY.jpg', -'https://img.nickpic.host/qw4gIA.jpg', -'https://img.nickpic.host/qw4qqG.jpg', -'https://img.nickpic.host/qw4hn1.jpg', -'https://img.nickpic.host/qw4ATc.jpg', -'https://img.nickpic.host/qw4uDz.jpg', -'https://img.nickpic.host/qw4OaW.jpg', -'https://img.nickpic.host/qw469j.jpg', -'https://img.nickpic.host/qw4QBJ.jpg', -'https://img.nickpic.host/qw4U6n.jpg', -'https://img.nickpic.host/qw4XHs.jpg', -'https://img.nickpic.host/qw4tqQ.jpg', -'https://img.nickpic.host/qw4nI2.jpg', -'https://img.nickpic.host/qw4Mwx.jpg', -'https://img.nickpic.host/qw4RTN.jpg', -'https://img.nickpic.host/qw44jO.jpg', -'https://img.nickpic.host/qw4Dtm.jpg', -'https://img.nickpic.host/qw4w98.jpg', -'https://img.nickpic.host/qw47bq.jpg', -'https://img.nickpic.host/qw4KHD.jpg', -'https://img.nickpic.host/qw4NqP.jpg', -'https://img.nickpic.host/qw4Hm5.jpg', -'https://img.nickpic.host/qw486d.jpg', -'https://img.nickpic.host/qw4VwM.jpg', -'https://img.nickpic.host/qw4fWF.jpg', -'https://img.nickpic.host/qw42je.jpg', -'https://img.nickpic.host/qw49tX.jpg', -'https://img.nickpic.host/qw4eeb.jpg', -'https://img.nickpic.host/qw4Jbf.jpg', -'https://img.nickpic.host/qw4LC6.jpg', -'https://img.nickpic.host/qw4PNp.jpg', -'https://img.nickpic.host/qw4ZuA.jpg', -'https://img.nickpic.host/qw4WmY.jpg', -'https://img.nickpic.host/qw4dzG.jpg', -'https://img.nickpic.host/qwDxCJ.jpg', -'https://img.nickpic.host/qwDmtW.jpg', -'https://img.nickpic.host/qwDIlc.jpg', -'https://img.nickpic.host/qw4yWz.jpg', -'https://img.nickpic.host/qwDoe1.jpg', -'https://img.nickpic.host/qwDvrj.jpg', -'https://img.nickpic.host/qwDBNn.jpg', -'https://img.nickpic.host/qwDros.jpg', -'https://img.nickpic.host/qwDsu2.jpg', -'https://img.nickpic.host/qwD3zQ.jpg', -'https://img.nickpic.host/qwDFZx.jpg', -'https://img.nickpic.host/qwDjlN.jpg', -'https://img.nickpic.host/qwDlMO.jpg', -'https://img.nickpic.host/qwD5km.jpg', -'https://img.nickpic.host/qwDcr8.jpg', -'https://img.nickpic.host/qwDgQq.jpg', -'https://img.nickpic.host/qwDqNd.jpg', -'https://img.nickpic.host/qwDAoD.jpg', -'https://img.nickpic.host/qwDEA5.jpg', -'https://img.nickpic.host/qwDOzP.jpg', -'https://img.nickpic.host/qwDhZM.jpg', -'https://img.nickpic.host/qwDC5F.jpg', -'https://img.nickpic.host/qwDQMe.jpg', -'https://img.nickpic.host/qwDUkX.jpg', -'https://img.nickpic.host/qwDisb.jpg', -'https://img.nickpic.host/qwDnQf.jpg', -'https://img.nickpic.host/qwDtV6.jpg', -'https://img.nickpic.host/qwDRpp.jpg', -'https://img.nickpic.host/qwD1AY.jpg', -'https://img.nickpic.host/qwD47A.jpg', -'https://img.nickpic.host/qwDDdG.jpg', -'https://img.nickpic.host/qwDz5z.jpg', -'https://img.nickpic.host/qwD7Rc.jpg', -'https://img.nickpic.host/qwD8kW.jpg', -'https://img.nickpic.host/qwDYs1.jpg', -'https://img.nickpic.host/qwDNVJ.jpg', -'https://img.nickpic.host/qwDHUj.jpg', -'https://img.nickpic.host/qwDfpn.jpg', -'https://img.nickpic.host/qwD0Es.jpg', -'https://img.nickpic.host/qwD272.jpg', -'https://img.nickpic.host/qwD9dQ.jpg', -'https://img.nickpic.host/qwDJRN.jpg', -'https://img.nickpic.host/qwDkSx.jpg', -'https://img.nickpic.host/qwDLJO.jpg', -'https://img.nickpic.host/qwDT3m.jpg', -'https://img.nickpic.host/qwDWU8.jpg', -'https://img.nickpic.host/qwDZfq.jpg', -'https://img.nickpic.host/qwDypd.jpg', -'https://img.nickpic.host/qwwGED.jpg', -'https://img.nickpic.host/qwwI85.jpg', -'https://img.nickpic.host/qwwmdP.jpg', -'https://img.nickpic.host/qwwpSM.jpg', -'https://img.nickpic.host/qwwv1F.jpg', -'https://img.nickpic.host/qwwxJe.jpg', -'https://img.nickpic.host/qwwb3X.jpg', -'https://img.nickpic.host/qwwrXb.jpg', -'https://img.nickpic.host/qwwsff.jpg', -'https://img.nickpic.host/qwwFv6.jpg', -'https://img.nickpic.host/qwwaOp.jpg', -'https://img.nickpic.host/qwwj8Y.jpg', -'https://img.nickpic.host/qwwlyA.jpg', -'https://img.nickpic.host/qwwScG.jpg', -'https://img.nickpic.host/qwwc1z.jpg', -'https://img.nickpic.host/qwwgLc.jpg', -'https://img.nickpic.host/qwwu3W.jpg', -'https://img.nickpic.host/qwwAX1.jpg', -'https://img.nickpic.host/qwwE0j.jpg', -'https://img.nickpic.host/qwwhvJ.jpg', -'https://img.nickpic.host/qww6On.jpg', -'https://img.nickpic.host/qwwCKs.jpg', -'https://img.nickpic.host/qwwQy2.jpg', -'https://img.nickpic.host/qwwXcQ.jpg', -'https://img.nickpic.host/qwwi4x.jpg', -'https://img.nickpic.host/qwwMFO.jpg', -'https://img.nickpic.host/qwwnLN.jpg', -'https://img.nickpic.host/qwwRim.jpg', -'https://img.nickpic.host/qww108.jpg', -'https://img.nickpic.host/qwwDxq.jpg', -'https://img.nickpic.host/qwwwOd.jpg', -'https://img.nickpic.host/qww8G5.jpg', -'https://img.nickpic.host/qwwzKD.jpg', -'https://img.nickpic.host/qwwKcP.jpg', -'https://img.nickpic.host/qwwY4M.jpg', -'https://img.nickpic.host/qwwHPF.jpg', -'https://img.nickpic.host/qwwfiX.jpg', -'https://img.nickpic.host/qwwVFe.jpg', -'https://img.nickpic.host/qww02b.jpg', -'https://img.nickpic.host/qww9xf.jpg', -'https://img.nickpic.host/qwweh6.jpg', -'https://img.nickpic.host/qwwkYp.jpg', -'https://img.nickpic.host/qwwLGY.jpg', -'https://img.nickpic.host/qwwPgA.jpg', -'https://img.nickpic.host/qwwTDG.jpg', -'https://img.nickpic.host/qwwdac.jpg', -'https://img.nickpic.host/qwwWPz.jpg', -'https://img.nickpic.host/qwwyiW.jpg', -'https://img.nickpic.host/qwzmBj.jpg', -'https://img.nickpic.host/qwzG21.jpg', -'https://img.nickpic.host/qwzohJ.jpg', -'https://img.nickpic.host/qwzpYn.jpg', -'https://img.nickpic.host/qwzxIs.jpg', -'https://img.nickpic.host/qwzBg2.jpg', -'https://img.nickpic.host/qwzbDQ.jpg', -'https://img.nickpic.host/qwzrTx.jpg', -'https://img.nickpic.host/qwz3aN.jpg', -'https://img.nickpic.host/qwzFnO.jpg', -'https://img.nickpic.host/qwza9m.jpg', -'https://img.nickpic.host/qwzlB8.jpg', -'https://img.nickpic.host/qwz56q.jpg', -'https://img.nickpic.host/qwzSYd.jpg', -'https://img.nickpic.host/qwzgID.jpg', -'https://img.nickpic.host/qwzqq5.jpg', -'https://img.nickpic.host/qwzOjF.jpg', -'https://img.nickpic.host/qwzuDP.jpg', -'https://img.nickpic.host/qwzhne.jpg', -'https://img.nickpic.host/qwzATM.jpg', -'https://img.nickpic.host/qwzQbb.jpg', -'https://img.nickpic.host/qwz69X.jpg', -'https://img.nickpic.host/qwzU6f.jpg', -'https://img.nickpic.host/qwzXH6.jpg', -'https://img.nickpic.host/qwznmp.jpg', -'https://img.nickpic.host/qwztqY.jpg', -'https://img.nickpic.host/qwzMwA.jpg', -'https://img.nickpic.host/qwzRWG.jpg', -'https://img.nickpic.host/qwz4jz.jpg', -'https://img.nickpic.host/qwzDtc.jpg', -'https://img.nickpic.host/qwz7b1.jpg', -'https://img.nickpic.host/qwzw9W.jpg', -'https://img.nickpic.host/qwz8Cj.jpg', -'https://img.nickpic.host/qwzHmn.jpg', -'https://img.nickpic.host/qwzKHJ.jpg', -'https://img.nickpic.host/qwzNus.jpg', -'https://img.nickpic.host/qwzVw2.jpg', -'https://img.nickpic.host/qwzfWQ.jpg', -'https://img.nickpic.host/qwz2lx.jpg', -'https://img.nickpic.host/qwz9tN.jpg', -'https://img.nickpic.host/qwzeeO.jpg', -'https://img.nickpic.host/qwzJrm.jpg', -'https://img.nickpic.host/qwzLC8.jpg', -'https://img.nickpic.host/qwzPNq.jpg', -'https://img.nickpic.host/qwzWmd.jpg', -'https://img.nickpic.host/qwzZuD.jpg', -'https://img.nickpic.host/qwzdz5.jpg', -'https://img.nickpic.host/qwzyWP.jpg', -'https://img.nickpic.host/qw7IlM.jpg', -'https://img.nickpic.host/qw7mMF.jpg', -'https://img.nickpic.host/qw7oee.jpg', -'https://img.nickpic.host/qw7vrX.jpg', -'https://img.nickpic.host/qw7xQb.jpg', -'https://img.nickpic.host/qw7BNf.jpg', -'https://img.nickpic.host/qw7ro6.jpg', -'https://img.nickpic.host/qw7sAp.jpg', -'https://img.nickpic.host/qw73zY.jpg', -'https://img.nickpic.host/qw7FZA.jpg', -'https://img.nickpic.host/qw7j5G.jpg', -'https://img.nickpic.host/qw7lMz.jpg', -'https://img.nickpic.host/qw75kc.jpg', -'https://img.nickpic.host/qw7crW.jpg', -'https://img.nickpic.host/qw7gQ1.jpg', -'https://img.nickpic.host/qw7AoJ.jpg', -'https://img.nickpic.host/qw7qVj.jpg', -'https://img.nickpic.host/qw7EAn.jpg', -'https://img.nickpic.host/qw7O7s.jpg', -'https://img.nickpic.host/qw7hZ2.jpg', -'https://img.nickpic.host/qw7C5Q.jpg', -'https://img.nickpic.host/qw7QRx.jpg', -'https://img.nickpic.host/qw7UkN.jpg', -'https://img.nickpic.host/qw7isO.jpg', -'https://img.nickpic.host/qw7nUm.jpg', -'https://img.nickpic.host/qw7tV8.jpg', -'https://img.nickpic.host/qw7Rpq.jpg', -'https://img.nickpic.host/qw71Ad.jpg', -'https://img.nickpic.host/qw747D.jpg', -'https://img.nickpic.host/qw7Dd5.jpg', -'https://img.nickpic.host/qw7z5P.jpg', -'https://img.nickpic.host/qw77RM.jpg', -'https://img.nickpic.host/qw78JF.jpg', -'https://img.nickpic.host/qw7Yse.jpg', -'https://img.nickpic.host/qw7HUX.jpg', -'https://img.nickpic.host/qw7Nfb.jpg', -'https://img.nickpic.host/qw7fpf.jpg', -'https://img.nickpic.host/qw728p.jpg', -'https://img.nickpic.host/qw79dY.jpg', -'https://img.nickpic.host/qw7kSA.jpg', -'https://img.nickpic.host/qw7LJz.jpg', -'https://img.nickpic.host/qw7J1G.jpg', -'https://img.nickpic.host/qw7T3c.jpg', -'https://img.nickpic.host/qw7WUW.jpg', -'https://img.nickpic.host/qw7Zf1.jpg', -'https://img.nickpic.host/qw7yvj.jpg', -'https://img.nickpic.host/qw8GEJ.jpg', -'https://img.nickpic.host/qw8I8n.jpg', -'https://img.nickpic.host/qw8mys.jpg', -'https://img.nickpic.host/qw8pS2.jpg', -'https://img.nickpic.host/qw8v1Q.jpg', -'https://img.nickpic.host/qw8xLx.jpg', -'https://img.nickpic.host/qw8b3N.jpg', -'https://img.nickpic.host/qw8rXO.jpg', -'https://img.nickpic.host/qw8s0m.jpg', -'https://img.nickpic.host/qw8Fv8.jpg', -'https://img.nickpic.host/qw8aOq.jpg', -'https://img.nickpic.host/qw8j8d.jpg', -'https://img.nickpic.host/qw8lyD.jpg', -'https://img.nickpic.host/qw8Sc5.jpg', -'https://img.nickpic.host/qw8c1P.jpg', -'https://img.nickpic.host/qw8gLM.jpg', -'https://img.nickpic.host/qw8uFF.jpg', -'https://img.nickpic.host/qw8AXe.jpg', -'https://img.nickpic.host/qw8E0X.jpg', -'https://img.nickpic.host/qw8hxb.jpg', -'https://img.nickpic.host/qw86Of.jpg', -'https://img.nickpic.host/qw8CK6.jpg', -'https://img.nickpic.host/qw8UGp.jpg', -'https://img.nickpic.host/qw8XcY.jpg', -'https://img.nickpic.host/qw8i4A.jpg', -'https://img.nickpic.host/qw8nPG.jpg', -'https://img.nickpic.host/qw8MFz.jpg', -'https://img.nickpic.host/qw8Ric.jpg', -'https://img.nickpic.host/qw8Dx1.jpg', -'https://img.nickpic.host/qw810W.jpg', -'https://img.nickpic.host/qw8whj.jpg', -'https://img.nickpic.host/qw88Gn.jpg', -'https://img.nickpic.host/qw8zKJ.jpg', -'https://img.nickpic.host/qw8Kgs.jpg', -'https://img.nickpic.host/qw8HPQ.jpg', -'https://img.nickpic.host/qw8Y42.jpg', -'https://img.nickpic.host/qw8Vax.jpg', -'https://img.nickpic.host/qw8fiN.jpg', -'https://img.nickpic.host/qw802O.jpg', -'https://img.nickpic.host/qw8eh8.jpg', -'https://img.nickpic.host/qw8kYq.jpg', -'https://img.nickpic.host/qw8LGd.jpg', -'https://img.nickpic.host/qw8PgD.jpg', -'https://img.nickpic.host/qw8TD5.jpg', -'https://img.nickpic.host/qw8WPP.jpg', -'https://img.nickpic.host/qw8daM.jpg', -'https://img.nickpic.host/qw8ynF.jpg', -'https://img.nickpic.host/qwKG2e.jpg', -'https://img.nickpic.host/qwKmBX.jpg', -'https://img.nickpic.host/qwKpYf.jpg', -'https://img.nickpic.host/qwKxI6.jpg', -'https://img.nickpic.host/qwKBqp.jpg', -'https://img.nickpic.host/qwKbDY.jpg', -'https://img.nickpic.host/qwKrTA.jpg', -'https://img.nickpic.host/qwK3jG.jpg', -'https://img.nickpic.host/qwKFnz.jpg', -'https://img.nickpic.host/qwKa9c.jpg', -'https://img.nickpic.host/qwKlBW.jpg', -'https://img.nickpic.host/qwK561.jpg', -'https://img.nickpic.host/qwKSHj.jpg', -'https://img.nickpic.host/qwKgIJ.jpg', -'https://img.nickpic.host/qwKqqn.jpg', -'https://img.nickpic.host/qwKuws.jpg', -'https://img.nickpic.host/qwKAT2.jpg', -'https://img.nickpic.host/qwKOjQ.jpg', -'https://img.nickpic.host/qwKhtx.jpg', -'https://img.nickpic.host/qwK69N.jpg', -'https://img.nickpic.host/qwKQbO.jpg', -'https://img.nickpic.host/qwKUCm.jpg', -'https://img.nickpic.host/qwKXH8.jpg', -'https://img.nickpic.host/qwKnmq.jpg', -'https://img.nickpic.host/qwKtqd.jpg', -'https://img.nickpic.host/qwKMwD.jpg', -'https://img.nickpic.host/qwKRW5.jpg', -'https://img.nickpic.host/qwK4jP.jpg', -'https://img.nickpic.host/qwKDtM.jpg', -'https://img.nickpic.host/qwKweF.jpg', -'https://img.nickpic.host/qwK7be.jpg', -'https://img.nickpic.host/qwK8CX.jpg', -'https://img.nickpic.host/qwKKNb.jpg', -'https://img.nickpic.host/qwKHmf.jpg', -'https://img.nickpic.host/qwKNu6.jpg', -'https://img.nickpic.host/qwKVzp.jpg', -'https://img.nickpic.host/qwKfWY.jpg', -'https://img.nickpic.host/qwK2lA.jpg', -'https://img.nickpic.host/qwK9MG.jpg', -'https://img.nickpic.host/qwKeez.jpg', -'https://img.nickpic.host/qwKJrc.jpg', -'https://img.nickpic.host/qwKLCW.jpg', -'https://img.nickpic.host/qwKPN1.jpg', -'https://img.nickpic.host/qwKWoj.jpg', -'https://img.nickpic.host/qwKZuJ.jpg', -'https://img.nickpic.host/qwKdzn.jpg', -'https://img.nickpic.host/qwKyZs.jpg', -'https://img.nickpic.host/qwYIl2.jpg', -'https://img.nickpic.host/qwYmMQ.jpg', -'https://img.nickpic.host/qwYokx.jpg', -'https://img.nickpic.host/qwYvrN.jpg', -'https://img.nickpic.host/qwYxQO.jpg', -'https://img.nickpic.host/qwYBVm.jpg', -'https://img.nickpic.host/qwYro8.jpg', -'https://img.nickpic.host/qwYsAq.jpg', -'https://img.nickpic.host/qwY3zd.jpg', -'https://img.nickpic.host/qwYFZD.jpg', -'https://img.nickpic.host/qwYj55.jpg', -'https://img.nickpic.host/qwYlMP.jpg', -'https://img.nickpic.host/qwY5kM.jpg', -'https://img.nickpic.host/qwYcsF.jpg', -'https://img.nickpic.host/qwYgQe.jpg', -'https://img.nickpic.host/qwYqVX.jpg', -'https://img.nickpic.host/qwYEAf.jpg', -'https://img.nickpic.host/qwYApb.jpg', -'https://img.nickpic.host/qwYO76.jpg', -'https://img.nickpic.host/qwYhdp.jpg', -'https://img.nickpic.host/qwYC5Y.jpg', -'https://img.nickpic.host/qwYQRA.jpg', -'https://img.nickpic.host/qwYUJG.jpg', -'https://img.nickpic.host/qwYisz.jpg', -'https://img.nickpic.host/qwYnUc.jpg', -'https://img.nickpic.host/qwYtVW.jpg', -'https://img.nickpic.host/qwYRp1.jpg', -'https://img.nickpic.host/qwY1Ej.jpg', -'https://img.nickpic.host/qwY47J.jpg', -'https://img.nickpic.host/qwYDdn.jpg', -'https://img.nickpic.host/qwYzSs.jpg', -'https://img.nickpic.host/qwY7R2.jpg', -'https://img.nickpic.host/qwY8JQ.jpg', -'https://img.nickpic.host/qwYY3x.jpg', -'https://img.nickpic.host/qwYHUN.jpg', -'https://img.nickpic.host/qwYNfO.jpg', -'https://img.nickpic.host/qwY0E8.jpg', -'https://img.nickpic.host/qwY28q.jpg', -'https://img.nickpic.host/qwYfvm.jpg', -'https://img.nickpic.host/qwY9dd.jpg', -'https://img.nickpic.host/qwYkSD.jpg', -'https://img.nickpic.host/qwYJ15.jpg', -'https://img.nickpic.host/qwYLJP.jpg', -'https://img.nickpic.host/qwYT3M.jpg', -'https://img.nickpic.host/qwYWXF.jpg', -'https://img.nickpic.host/qwYZfe.jpg', -'https://img.nickpic.host/qwYyvX.jpg', -'https://img.nickpic.host/qwHGOb.jpg', -'https://img.nickpic.host/qwHI8f.jpg', -'https://img.nickpic.host/qwHpcp.jpg', -'https://img.nickpic.host/qwHmy6.jpg', -'https://img.nickpic.host/qwHv1Y.jpg', -'https://img.nickpic.host/qwHxLA.jpg', -'https://img.nickpic.host/qwHbFG.jpg', -'https://img.nickpic.host/qwHrXz.jpg', -'https://img.nickpic.host/qwHFvW.jpg', -'https://img.nickpic.host/qwHs0c.jpg', -'https://img.nickpic.host/qwHaO1.jpg', -'https://img.nickpic.host/qwHjKj.jpg', -'https://img.nickpic.host/qwHlyJ.jpg', -'https://img.nickpic.host/qwHScn.jpg', -'https://img.nickpic.host/qwHc4s.jpg', -'https://img.nickpic.host/qwHgL2.jpg', -'https://img.nickpic.host/qwHAix.jpg', -'https://img.nickpic.host/qwHuFQ.jpg', -'https://img.nickpic.host/qwHE0N.jpg', -'https://img.nickpic.host/qwHhxO.jpg', -'https://img.nickpic.host/qwH6hm.jpg', -'https://img.nickpic.host/qwHCK8.jpg', -'https://img.nickpic.host/qwHUGq.jpg', -'https://img.nickpic.host/qwHXcd.jpg', -'https://img.nickpic.host/qwHi4D.jpg', -'https://img.nickpic.host/qwHnP5.jpg', -'https://img.nickpic.host/qwHMFP.jpg', -'https://img.nickpic.host/qwHRiM.jpg', -'https://img.nickpic.host/qwH12F.jpg', -'https://img.nickpic.host/qwHDxe.jpg', -'https://img.nickpic.host/qwHwhX.jpg', -'https://img.nickpic.host/qwHzYb.jpg', -'https://img.nickpic.host/qwH8Gf.jpg', -'https://img.nickpic.host/qwHKg6.jpg', -'https://img.nickpic.host/qwHYDp.jpg', -'https://img.nickpic.host/qwHHPY.jpg', -'https://img.nickpic.host/qwHVaA.jpg', -'https://img.nickpic.host/qwHfnG.jpg', -'https://img.nickpic.host/qwH02z.jpg', -'https://img.nickpic.host/qwH9Bc.jpg', -'https://img.nickpic.host/qwHehW.jpg', -'https://img.nickpic.host/qwHkY1.jpg', -'https://img.nickpic.host/qwHLIj.jpg', -'https://img.nickpic.host/qwHPgJ.jpg', -'https://img.nickpic.host/qwHTDn.jpg', -'https://img.nickpic.host/qwHWTs.jpg', -'https://img.nickpic.host/qwHda2.jpg', -'https://img.nickpic.host/qwHynQ.jpg', -'https://img.nickpic.host/qwNG9x.jpg', -'https://img.nickpic.host/qwNmBN.jpg', -'https://img.nickpic.host/qwNo6O.jpg', -'https://img.nickpic.host/qwNpHm.jpg', -'https://img.nickpic.host/qwNxI8.jpg', -'https://img.nickpic.host/qwNBqq.jpg', -'https://img.nickpic.host/qwNbDd.jpg', -'https://img.nickpic.host/qwNrTD.jpg', -'https://img.nickpic.host/qwN3j5.jpg', -'https://img.nickpic.host/qwNa9M.jpg', -'https://img.nickpic.host/qwN56e.jpg', -'https://img.nickpic.host/qwNgmb.jpg', -'https://img.nickpic.host/qwNqqf.jpg', -'https://img.nickpic.host/qwNuw6.jpg', -'https://img.nickpic.host/qwNAWp.jpg', -'https://img.nickpic.host/qwNOjY.jpg', -'https://img.nickpic.host/qwNhtA.jpg', -'https://img.nickpic.host/qwN6eG.jpg', -'https://img.nickpic.host/qwNQbz.jpg', -'https://img.nickpic.host/qwNUCc.jpg', -'https://img.nickpic.host/qwNXHW.jpg', -'https://img.nickpic.host/qwNnm1.jpg', -'https://img.nickpic.host/qwNtuj.jpg', -'https://img.nickpic.host/qwNMwJ.jpg', -'https://img.nickpic.host/qwNRWn.jpg', -'https://img.nickpic.host/qwN4ls.jpg', -'https://img.nickpic.host/qwNDt2.jpg', -'https://img.nickpic.host/qwNweQ.jpg', -'https://img.nickpic.host/qwN8CN.jpg', -'https://img.nickpic.host/qwN7rx.jpg', -'https://img.nickpic.host/qwNKNO.jpg', -'https://img.nickpic.host/qwNHom.jpg', -'https://img.nickpic.host/qwNNu8.jpg', -'https://img.nickpic.host/qwNVzq.jpg', -'https://img.nickpic.host/qwNfWd.jpg', -'https://img.nickpic.host/qwN2lD.jpg', -'https://img.nickpic.host/qwNeeP.jpg', -'https://img.nickpic.host/qwN9M5.jpg', -'https://img.nickpic.host/qwNJrM.jpg', -'https://img.nickpic.host/qwNLQF.jpg', -'https://img.nickpic.host/qwNPNe.jpg', -'https://img.nickpic.host/qwNWoX.jpg', -'https://img.nickpic.host/qwNZAb.jpg', -'https://img.nickpic.host/qwNdzf.jpg', -'https://img.nickpic.host/qwNyZ6.jpg', -'https://img.nickpic.host/qwVI5p.jpg', -'https://img.nickpic.host/qwVmMY.jpg', -'https://img.nickpic.host/qwVokA.jpg', -'https://img.nickpic.host/qwVvsG.jpg', -'https://img.nickpic.host/qwVxQz.jpg', -'https://img.nickpic.host/qwVBVc.jpg', -'https://img.nickpic.host/qwVroW.jpg', -'https://img.nickpic.host/qwVsA1.jpg', -'https://img.nickpic.host/qwV37j.jpg', -'https://img.nickpic.host/qwVFZJ.jpg', -'https://img.nickpic.host/qwVj5n.jpg', -'https://img.nickpic.host/qwVlRs.jpg', -'https://img.nickpic.host/qwV5k2.jpg', -'https://img.nickpic.host/qwVcsQ.jpg', -'https://img.nickpic.host/qwVqVN.jpg', -'https://img.nickpic.host/qwVgUx.jpg', -'https://img.nickpic.host/qwVEEm.jpg', -'https://img.nickpic.host/qwVhdq.jpg', -'https://img.nickpic.host/qwVisP.jpg', -'https://img.nickpic.host/qwVnUM.jpg', -'https://img.nickpic.host/qwVtfF.jpg', -'https://img.nickpic.host/qwVRpe.jpg', -'https://img.nickpic.host/qwV1EX.jpg', -'https://img.nickpic.host/qwV48b.jpg', -'https://img.nickpic.host/qwVDdf.jpg', -'https://img.nickpic.host/qwVzS6.jpg', -'https://img.nickpic.host/qwV71p.jpg', -'https://img.nickpic.host/qwV8JY.jpg', -'https://img.nickpic.host/qwVY3A.jpg', -'https://img.nickpic.host/qwVHXG.jpg', -'https://img.nickpic.host/qwVNfz.jpg', -'https://img.nickpic.host/qwVfvc.jpg', -'https://img.nickpic.host/qwV0EW.jpg', -'https://img.nickpic.host/qwV281.jpg', -'https://img.nickpic.host/qwV9yj.jpg', -'https://img.nickpic.host/qwVJ1n.jpg', -'https://img.nickpic.host/qwVkSJ.jpg', -'https://img.nickpic.host/qwVLLs.jpg', -'https://img.nickpic.host/qwVWXQ.jpg', -'https://img.nickpic.host/qwVT32.jpg', -'https://img.nickpic.host/qwVZ0x.jpg', -'https://img.nickpic.host/qwVyvN.jpg', -'https://img.nickpic.host/qwfGOO.jpg', -'https://img.nickpic.host/qwfIKm.jpg', -'https://img.nickpic.host/qwfmy8.jpg', -'https://img.nickpic.host/qwfpcq.jpg', -'https://img.nickpic.host/qwfxLD.jpg', -'https://img.nickpic.host/qwfv1d.jpg', -'https://img.nickpic.host/qwfbF5.jpg', -'https://img.nickpic.host/qwfrXP.jpg', -'https://img.nickpic.host/qwfs0M.jpg', -'https://img.nickpic.host/qwfFxF.jpg', -'https://img.nickpic.host/qwfaOe.jpg', -'https://img.nickpic.host/qwfjKX.jpg', -'https://img.nickpic.host/qwf5Gb.jpg', -'https://img.nickpic.host/qwfc46.jpg', -'https://img.nickpic.host/qwfuFY.jpg', -'https://img.nickpic.host/qwfgPp.jpg', -'https://img.nickpic.host/qwfE2G.jpg', -'https://img.nickpic.host/qwfAiA.jpg', -'https://img.nickpic.host/qwfhxz.jpg', -'https://img.nickpic.host/qwf6hc.jpg', -'https://img.nickpic.host/qwfCKW.jpg', -'https://img.nickpic.host/qwfUG1.jpg', -'https://img.nickpic.host/qwfXgj.jpg', -'https://img.nickpic.host/qwfi4J.jpg', -'https://img.nickpic.host/qwfnPn.jpg', -'https://img.nickpic.host/qwfMas.jpg', -'https://img.nickpic.host/qwfRi2.jpg', -'https://img.nickpic.host/qwf12Q.jpg', -'https://img.nickpic.host/qwfDBx.jpg', -'https://img.nickpic.host/qwfwhN.jpg', -'https://img.nickpic.host/qwfzYO.jpg', -'https://img.nickpic.host/qwf8Im.jpg', -'https://img.nickpic.host/qwfKg8.jpg', -'https://img.nickpic.host/qwfYDq.jpg', -'https://img.nickpic.host/qwfHPd.jpg', -'https://img.nickpic.host/qwfVaD.jpg', -'https://img.nickpic.host/qwffn5.jpg', -'https://img.nickpic.host/qwf02P.jpg', -'https://img.nickpic.host/qwf9BM.jpg', -'https://img.nickpic.host/qwfe6F.jpg', -'https://img.nickpic.host/qwfkYe.jpg', -'https://img.nickpic.host/qwfPqb.jpg', -'https://img.nickpic.host/qwfLIX.jpg', -'https://img.nickpic.host/qwfTDf.jpg', -'https://img.nickpic.host/qwfWT6.jpg', -'https://img.nickpic.host/qwfdjp.jpg', -'https://img.nickpic.host/qwfynY.jpg', -'https://img.nickpic.host/qw0G9A.jpg', -'https://img.nickpic.host/qw0mbG.jpg', -'https://img.nickpic.host/qw0o6z.jpg', -'https://img.nickpic.host/qw0pHc.jpg', -'https://img.nickpic.host/qw0xIW.jpg', -'https://img.nickpic.host/qw0Bq1.jpg', -'https://img.nickpic.host/qw0bwj.jpg', -'https://img.nickpic.host/qw0rTJ.jpg', -'https://img.nickpic.host/qw03jn.jpg', -'https://img.nickpic.host/qw0Fts.jpg', -'https://img.nickpic.host/qw0a92.jpg', -'https://img.nickpic.host/qw0lbQ.jpg', -'https://img.nickpic.host/qw05Cx.jpg', -'https://img.nickpic.host/qw0SHN.jpg', -'https://img.nickpic.host/qw0gmO.jpg', -'https://img.nickpic.host/qw0uw8.jpg', -'https://img.nickpic.host/qw0qum.jpg', -'https://img.nickpic.host/qw0AWq.jpg', -'https://img.nickpic.host/qw0Ojd.jpg', -'https://img.nickpic.host/qw0htD.jpg', -'https://img.nickpic.host/qw06e5.jpg', -'https://img.nickpic.host/qw0QbP.jpg', -'https://img.nickpic.host/qw0UCM.jpg', -'https://img.nickpic.host/qw0XNF.jpg', -'https://img.nickpic.host/qw0Mzb.jpg', -'https://img.nickpic.host/qw0tuX.jpg', -'https://img.nickpic.host/qw0nme.jpg', -'https://img.nickpic.host/qw0RWf.jpg', -'https://img.nickpic.host/qw04l6.jpg', -'https://img.nickpic.host/qw0DMp.jpg', -'https://img.nickpic.host/qw0weY.jpg', -'https://img.nickpic.host/qw07rA.jpg', -'https://img.nickpic.host/qw0KNz.jpg', -'https://img.nickpic.host/qw08QG.jpg', -'https://img.nickpic.host/qw0Hoc.jpg', -'https://img.nickpic.host/qw0NuW.jpg', -'https://img.nickpic.host/qw0Vz1.jpg', -'https://img.nickpic.host/qw0fZj.jpg', -'https://img.nickpic.host/qw02lJ.jpg', -'https://img.nickpic.host/qw09Mn.jpg', -'https://img.nickpic.host/qw0eks.jpg', -'https://img.nickpic.host/qw0Jr2.jpg', -'https://img.nickpic.host/qw0LQQ.jpg', -'https://img.nickpic.host/qw0PVx.jpg', -'https://img.nickpic.host/qw0WoN.jpg', -'https://img.nickpic.host/qw0ZAO.jpg', -'https://img.nickpic.host/qw0d7m.jpg', -'https://img.nickpic.host/qw0yZ8.jpg', -'https://img.nickpic.host/qw2I5q.jpg', -'https://img.nickpic.host/qw2mMd.jpg', -'https://img.nickpic.host/qw2okD.jpg', -'https://img.nickpic.host/qw2vs5.jpg', -'https://img.nickpic.host/qw2xQP.jpg', -'https://img.nickpic.host/qw2BVM.jpg', -'https://img.nickpic.host/qw2rpF.jpg', -'https://img.nickpic.host/qw2sAe.jpg', -'https://img.nickpic.host/qw237X.jpg', -'https://img.nickpic.host/qw2Fdb.jpg', -'https://img.nickpic.host/qw2j5f.jpg', -'https://img.nickpic.host/qw2lR6.jpg', -'https://img.nickpic.host/qw25Jp.jpg', -'https://img.nickpic.host/qw2csY.jpg', -'https://img.nickpic.host/qw2gUA.jpg', -'https://img.nickpic.host/qw2qfG.jpg', -'https://img.nickpic.host/qw2Apz.jpg', -'https://img.nickpic.host/qw2O7W.jpg', -'https://img.nickpic.host/qw2EEc.jpg', -'https://img.nickpic.host/qw2hd1.jpg', -'https://img.nickpic.host/qw2CSj.jpg', -'https://img.nickpic.host/qw2QRJ.jpg', -'https://img.nickpic.host/qw2UJn.jpg', -'https://img.nickpic.host/qw2i3s.jpg', -'https://img.nickpic.host/qw2nU2.jpg', -'https://img.nickpic.host/qw2tfQ.jpg', -'https://img.nickpic.host/qw2Rvx.jpg', -'https://img.nickpic.host/qw21EN.jpg', -'https://img.nickpic.host/qw248O.jpg', -'https://img.nickpic.host/qw2Dym.jpg', -'https://img.nickpic.host/qw2zS8.jpg', -'https://img.nickpic.host/qw271q.jpg', -'https://img.nickpic.host/qw28Jd.jpg', -'https://img.nickpic.host/qw2Y3D.jpg', -'https://img.nickpic.host/qw2HX5.jpg', -'https://img.nickpic.host/qw2NfP.jpg', -'https://img.nickpic.host/qw2fvM.jpg', -'https://img.nickpic.host/qw20OF.jpg', -'https://img.nickpic.host/qw228e.jpg', -'https://img.nickpic.host/qw29yX.jpg', -'https://img.nickpic.host/qw2kcb.jpg', -'https://img.nickpic.host/qw2J1f.jpg', -'https://img.nickpic.host/qw2LL6.jpg', -'https://img.nickpic.host/qw2TFp.jpg', -'https://img.nickpic.host/qw2WXY.jpg', -'https://img.nickpic.host/qw2Z0A.jpg', -'https://img.nickpic.host/qw2yxG.jpg', -'https://img.nickpic.host/qw9IKc.jpg', -'https://img.nickpic.host/qw9GOz.jpg', -'https://img.nickpic.host/qw9myW.jpg', -'https://img.nickpic.host/qw9pc1.jpg', -'https://img.nickpic.host/qw9v4j.jpg', -'https://img.nickpic.host/qw9xLJ.jpg', -'https://img.nickpic.host/qw9bFn.jpg', -'https://img.nickpic.host/qw9ris.jpg', -'https://img.nickpic.host/qw9s02.jpg', -'https://img.nickpic.host/qw9FxQ.jpg', -'https://img.nickpic.host/qw9ahx.jpg', -'https://img.nickpic.host/qw9jKN.jpg', -'https://img.nickpic.host/qw95GO.jpg', -'https://img.nickpic.host/qw9Sgm.jpg', -'https://img.nickpic.host/qw9c48.jpg', -'https://img.nickpic.host/qw9gPq.jpg', -'https://img.nickpic.host/qw9uFd.jpg', -'https://img.nickpic.host/qw9AiD.jpg', -'https://img.nickpic.host/qw9E25.jpg', -'https://img.nickpic.host/qw9hxP.jpg', -'https://img.nickpic.host/qw96hM.jpg', -'https://img.nickpic.host/qw9UGe.jpg', -'https://img.nickpic.host/qw9CYF.jpg', -'https://img.nickpic.host/qw9XgX.jpg', -'https://img.nickpic.host/qw9iDb.jpg', -'https://img.nickpic.host/qw9Ma6.jpg', -'https://img.nickpic.host/qw9nPf.jpg', -'https://img.nickpic.host/qw9Rnp.jpg', -'https://img.nickpic.host/qw912Y.jpg', -'https://img.nickpic.host/qw9w6G.jpg', -'https://img.nickpic.host/qw9DBA.jpg', -'https://img.nickpic.host/qw9zYz.jpg', -'https://img.nickpic.host/qw9fnn.jpg', -'https://img.nickpic.host/qw9VaJ.jpg', -'https://img.nickpic.host/qw909s.jpg', -'https://img.nickpic.host/qw9kHx.jpg', -'https://img.nickpic.host/qw99B2.jpg', -'https://img.nickpic.host/qw9e6Q.jpg', -'https://img.nickpic.host/qw9LIN.jpg', -'https://img.nickpic.host/qw9PqO.jpg', -'https://img.nickpic.host/qw9Twm.jpg', -'https://img.nickpic.host/qw9WT8.jpg', -'https://img.nickpic.host/qw9djq.jpg', -'https://img.nickpic.host/qw9ynd.jpg', -'https://img.nickpic.host/qweG9D.jpg', -'https://img.nickpic.host/qwemb5.jpg', -'https://img.nickpic.host/qwepHM.jpg', -'https://img.nickpic.host/qweo6P.jpg', -'https://img.nickpic.host/qwexmF.jpg', -'https://img.nickpic.host/qweBqe.jpg', -'https://img.nickpic.host/qwerWb.jpg', -'https://img.nickpic.host/qwebwX.jpg', -'https://img.nickpic.host/qwe3jf.jpg', -'https://img.nickpic.host/qweFt6.jpg', -'https://img.nickpic.host/qweaep.jpg', -'https://img.nickpic.host/qwelbY.jpg', -'https://img.nickpic.host/qweSNG.jpg', -'https://img.nickpic.host/qwe5CA.jpg', -'https://img.nickpic.host/qwegmz.jpg', -'https://img.nickpic.host/qweuwW.jpg', -'https://img.nickpic.host/qwequc.jpg', -'https://img.nickpic.host/qweAW1.jpg', -'https://img.nickpic.host/qweOlj.jpg', -'https://img.nickpic.host/qwehtJ.jpg', -'https://img.nickpic.host/qwe6en.jpg', -'https://img.nickpic.host/qweQrs.jpg', -'https://img.nickpic.host/qweUC2.jpg', -'https://img.nickpic.host/qweXNQ.jpg', -'https://img.nickpic.host/qwetuN.jpg', -'https://img.nickpic.host/qwenox.jpg', -'https://img.nickpic.host/qweMzO.jpg', -'https://img.nickpic.host/qweRZm.jpg', -'https://img.nickpic.host/qwe4l8.jpg', -'https://img.nickpic.host/qweDMq.jpg', -'https://img.nickpic.host/qwewed.jpg', -'https://img.nickpic.host/qwe7rD.jpg', -'https://img.nickpic.host/qwe8Q5.jpg', -'https://img.nickpic.host/qweKNP.jpg', -'https://img.nickpic.host/qweHoM.jpg', -'https://img.nickpic.host/qweNAF.jpg', -'https://img.nickpic.host/qweVze.jpg', -'https://img.nickpic.host/qwefZX.jpg', -'https://img.nickpic.host/qwe25b.jpg', -'https://img.nickpic.host/qwe9Mf.jpg', -'https://img.nickpic.host/qweek6.jpg', -'https://img.nickpic.host/qweJsp.jpg', -'https://img.nickpic.host/qweLQY.jpg', -'https://img.nickpic.host/qwePVA.jpg', -'https://img.nickpic.host/qweWpG.jpg', -'https://img.nickpic.host/qweZAz.jpg', -'https://img.nickpic.host/qwed7c.jpg', -'https://img.nickpic.host/qweyZW.jpg', -'https://img.nickpic.host/qwkI51.jpg', -'https://img.nickpic.host/qwkmRj.jpg', -'https://img.nickpic.host/qwkokJ.jpg', -'https://img.nickpic.host/qwkvsn.jpg', -'https://img.nickpic.host/qwkxUs.jpg', -'https://img.nickpic.host/qwkBV2.jpg', -'https://img.nickpic.host/qwkrpQ.jpg', -'https://img.nickpic.host/qwksEx.jpg', -'https://img.nickpic.host/qwkFdO.jpg', -'https://img.nickpic.host/qwk37N.jpg', -'https://img.nickpic.host/qwkjSm.jpg', -'https://img.nickpic.host/qwklR8.jpg', -'https://img.nickpic.host/qwk5Jq.jpg', -'https://img.nickpic.host/qwkEEM.jpg', -'https://img.nickpic.host/qwkO8F.jpg', -'https://img.nickpic.host/qwkhde.jpg', -'https://img.nickpic.host/qwkCSX.jpg', -'https://img.nickpic.host/qwkQ1b.jpg', -'https://img.nickpic.host/qwki36.jpg', -'https://img.nickpic.host/qwknXp.jpg', -'https://img.nickpic.host/qwkRvA.jpg', -'https://img.nickpic.host/qwk48z.jpg', -'https://img.nickpic.host/qwkDyc.jpg', -'https://img.nickpic.host/qwkzSW.jpg', -'https://img.nickpic.host/qwk8Lj.jpg', -'https://img.nickpic.host/qwkHXn.jpg', -'https://img.nickpic.host/qwkN0s.jpg', -'https://img.nickpic.host/qwkfv2.jpg', -'https://img.nickpic.host/qwk0OQ.jpg', -'https://img.nickpic.host/qwk2Kx.jpg', -'https://img.nickpic.host/qwk9yN.jpg', -'https://img.nickpic.host/qwkkcO.jpg', -'https://img.nickpic.host/qwkJ4m.jpg', -'https://img.nickpic.host/qwkLL8.jpg', -'https://img.nickpic.host/qwkTFq.jpg', -'https://img.nickpic.host/qwkWXd.jpg', -'https://img.nickpic.host/qwJGOP.jpg', -'https://img.nickpic.host/qwkyx5.jpg', -'https://img.nickpic.host/qwJIKM.jpg', -'https://img.nickpic.host/qwJpce.jpg', -'https://img.nickpic.host/qwJoGF.jpg', -'https://img.nickpic.host/qwJv4X.jpg', -'https://img.nickpic.host/qwJbFf.jpg', -'https://img.nickpic.host/qwJxPb.jpg', -'https://img.nickpic.host/qwJri6.jpg', -'https://img.nickpic.host/qwJs2p.jpg', -'https://img.nickpic.host/qwJFxY.jpg', -'https://img.nickpic.host/qwJjYG.jpg', -'https://img.nickpic.host/qwJahA.jpg', -'https://img.nickpic.host/qwJ5Gz.jpg', -'https://img.nickpic.host/qwJc4W.jpg', -'https://img.nickpic.host/qwJSgc.jpg', -'https://img.nickpic.host/qwJgP1.jpg', -'https://img.nickpic.host/qwJuaj.jpg', -'https://img.nickpic.host/qwJAiJ.jpg', -'https://img.nickpic.host/qwJE2n.jpg', -'https://img.nickpic.host/qwJhBs.jpg', -'https://img.nickpic.host/qwJCYQ.jpg', -'https://img.nickpic.host/qwJ6h2.jpg', -'https://img.nickpic.host/qwJUIx.jpg', -'https://img.nickpic.host/qwJXgN.jpg', -'https://img.nickpic.host/qwJiDO.jpg', -'https://img.nickpic.host/qwJnTm.jpg', -'https://img.nickpic.host/qwJMa8.jpg', -'https://img.nickpic.host/qwJ12d.jpg', -'https://img.nickpic.host/qwJRnq.jpg', -'https://img.nickpic.host/qwJDBD.jpg', -'https://img.nickpic.host/qwJw65.jpg', -'https://img.nickpic.host/qwJzYP.jpg', -'https://img.nickpic.host/qwJKqF.jpg', -'https://img.nickpic.host/qwJ8IM.jpg', -'https://img.nickpic.host/qwJYDe.jpg', -'https://img.nickpic.host/qwJHTX.jpg', -'https://img.nickpic.host/qwJVjb.jpg', -'https://img.nickpic.host/qwJfnf.jpg', -'https://img.nickpic.host/qwJ096.jpg', -'https://img.nickpic.host/qwJ9bp.jpg', -'https://img.nickpic.host/qwJe6Y.jpg', -'https://img.nickpic.host/qwJkHA.jpg', -'https://img.nickpic.host/qwJLmG.jpg', -'https://img.nickpic.host/qwJPqz.jpg', -'https://img.nickpic.host/qwJTwc.jpg', -'https://img.nickpic.host/qwJWTW.jpg', -'https://img.nickpic.host/qwJdj1.jpg', -'https://img.nickpic.host/qwJytj.jpg', -'https://img.nickpic.host/qwLG9J.jpg', -'https://img.nickpic.host/qwLmbn.jpg', -'https://img.nickpic.host/qwLoCs.jpg', -'https://img.nickpic.host/qwLpH2.jpg', -'https://img.nickpic.host/qwLxmQ.jpg', -'https://img.nickpic.host/qwLBux.jpg', -'https://img.nickpic.host/qwLbwN.jpg', -'https://img.nickpic.host/qwLrWO.jpg', -'https://img.nickpic.host/qwL3lm.jpg', -'https://img.nickpic.host/qwLFt8.jpg', -'https://img.nickpic.host/qwLaeq.jpg', -'https://img.nickpic.host/qwLlbd.jpg', -'https://img.nickpic.host/qwL5CD.jpg', -'https://img.nickpic.host/qwLSN5.jpg', -'https://img.nickpic.host/qwLgmP.jpg', -'https://img.nickpic.host/qwLuzF.jpg', -'https://img.nickpic.host/qwLquM.jpg', -'https://img.nickpic.host/qwLAWe.jpg', -'https://img.nickpic.host/qwLhMb.jpg', -'https://img.nickpic.host/qwLOlX.jpg', -'https://img.nickpic.host/qwL6ef.jpg', -'https://img.nickpic.host/qwLQr6.jpg', -'https://img.nickpic.host/qwLUQp.jpg', -'https://img.nickpic.host/qwLXNY.jpg', -'https://img.nickpic.host/qwLnoA.jpg', -'https://img.nickpic.host/qwLtAG.jpg', -'https://img.nickpic.host/qwLRZc.jpg', -'https://img.nickpic.host/qwLMzz.jpg', -'https://img.nickpic.host/qwLDM1.jpg', -'https://img.nickpic.host/qwL4lW.jpg', -'https://img.nickpic.host/qwLwkj.jpg', -'https://img.nickpic.host/qwL7rJ.jpg', -'https://img.nickpic.host/qwL8Qn.jpg', -'https://img.nickpic.host/qwLKVs.jpg', -'https://img.nickpic.host/qwLHo2.jpg', -'https://img.nickpic.host/qwLNAQ.jpg', -'https://img.nickpic.host/qwLV7x.jpg', -'https://img.nickpic.host/qwLfZN.jpg', -'https://img.nickpic.host/qwL25O.jpg', -'https://img.nickpic.host/qwL9Rm.jpg', -'https://img.nickpic.host/qwLek8.jpg', -'https://img.nickpic.host/qwLLQd.jpg', -'https://img.nickpic.host/qwLJsq.jpg', -'https://img.nickpic.host/qwLPVD.jpg', -'https://img.nickpic.host/qwLWp5.jpg', -'https://img.nickpic.host/qwLZAP.jpg', -'https://img.nickpic.host/qwLd7M.jpg', -'https://img.nickpic.host/qwLydF.jpg', -'https://img.nickpic.host/qwPI5e.jpg', -'https://img.nickpic.host/qwPmRX.jpg', -'https://img.nickpic.host/qwPoJb.jpg', -'https://img.nickpic.host/qwPvsf.jpg', -'https://img.nickpic.host/qwPxU6.jpg', -'https://img.nickpic.host/qwPBfp.jpg', -'https://img.nickpic.host/qwPrpY.jpg', -'https://img.nickpic.host/qwPsEA.jpg', -'https://img.nickpic.host/qwP38G.jpg', -'https://img.nickpic.host/qwPFdz.jpg', -'https://img.nickpic.host/qwPjSc.jpg', -'https://img.nickpic.host/qwPlRW.jpg', -'https://img.nickpic.host/qwPgUJ.jpg', -'https://img.nickpic.host/qwP5J1.jpg', -'https://img.nickpic.host/qwPc3j.jpg', -'https://img.nickpic.host/qwPAvs.jpg', -'https://img.nickpic.host/qwPqfn.jpg', -'https://img.nickpic.host/qwPEE2.jpg', -'https://img.nickpic.host/qwPhyx.jpg', -'https://img.nickpic.host/qwPO8Q.jpg', -'https://img.nickpic.host/qwPCSN.jpg', -'https://img.nickpic.host/qwPULm.jpg', -'https://img.nickpic.host/qwPQ1O.jpg', -'https://img.nickpic.host/qwPi38.jpg', -'https://img.nickpic.host/qwPnXq.jpg', -'https://img.nickpic.host/qwPtfd.jpg', -'https://img.nickpic.host/qwP1O5.jpg', -'https://img.nickpic.host/qwPRvD.jpg', -'https://img.nickpic.host/qwP48P.jpg', -'https://img.nickpic.host/qwPDyM.jpg', -'https://img.nickpic.host/qwPzcF.jpg', -'https://img.nickpic.host/qwP71e.jpg', -'https://img.nickpic.host/qwP8LX.jpg', -'https://img.nickpic.host/qwPYFb.jpg', -'https://img.nickpic.host/qwPN06.jpg', -'https://img.nickpic.host/qwPHXf.jpg', -'https://img.nickpic.host/qwPfxp.jpg', -'https://img.nickpic.host/qwP0OY.jpg', -'https://img.nickpic.host/qwP2KA.jpg', -'https://img.nickpic.host/qwPeGG.jpg', -'https://img.nickpic.host/qwPkcz.jpg', -'https://img.nickpic.host/qwPJ4c.jpg', -'https://img.nickpic.host/qwPLLW.jpg', -'https://img.nickpic.host/qwPTF1.jpg', -'https://img.nickpic.host/qwPWij.jpg', -'https://img.nickpic.host/qwPZ0J.jpg', -'https://img.nickpic.host/qwPyxn.jpg', -'https://img.nickpic.host/qwTIK2.jpg', -'https://img.nickpic.host/qwTGhs.jpg', -'https://img.nickpic.host/qwToGQ.jpg', -'https://img.nickpic.host/qwTpgx.jpg', -'https://img.nickpic.host/qwTv4N.jpg', -'https://img.nickpic.host/qwTxPO.jpg', -'https://img.nickpic.host/qwTbam.jpg', -'https://img.nickpic.host/qwTri8.jpg', -'https://img.nickpic.host/qwTs2q.jpg', -'https://img.nickpic.host/qwTFxd.jpg', -'https://img.nickpic.host/qwTahD.jpg', -'https://img.nickpic.host/qwTjY5.jpg', -'https://img.nickpic.host/qwT5GP.jpg', -'https://img.nickpic.host/qwTSgM.jpg', -'https://img.nickpic.host/qwTcDF.jpg', -'https://img.nickpic.host/qwTgPe.jpg', -'https://img.nickpic.host/qwTuaX.jpg', -'https://img.nickpic.host/qwTAnb.jpg', -'https://img.nickpic.host/qwTE2f.jpg', -'https://img.nickpic.host/qwThB6.jpg', -'https://img.nickpic.host/qwT66p.jpg', -'https://img.nickpic.host/qwTCYY.jpg', -'https://img.nickpic.host/qwTUIA.jpg', -'https://img.nickpic.host/qwTiDz.jpg', -'https://img.nickpic.host/qwTXqG.jpg', -'https://img.nickpic.host/qwTnTc.jpg', -'https://img.nickpic.host/qwTMaW.jpg', -'https://img.nickpic.host/qwTRn1.jpg', -'https://img.nickpic.host/qwT19j.jpg', -'https://img.nickpic.host/qwTDBJ.jpg', -'https://img.nickpic.host/qwTzHs.jpg', -'https://img.nickpic.host/qwTw6n.jpg', -'https://img.nickpic.host/qwT8I2.jpg', -'https://img.nickpic.host/qwTKqQ.jpg', -'https://img.nickpic.host/qwTYwx.jpg', -'https://img.nickpic.host/qwTHTN.jpg', -'https://img.nickpic.host/qwTVjO.jpg', -'https://img.nickpic.host/qwTftm.jpg', -'https://img.nickpic.host/qwT098.jpg', -'https://img.nickpic.host/qwT9bq.jpg', -'https://img.nickpic.host/qwTe6d.jpg', -'https://img.nickpic.host/qwTkHD.jpg', -'https://img.nickpic.host/qwTLm5.jpg', -'https://img.nickpic.host/qwTTwM.jpg', -'https://img.nickpic.host/qwTPqP.jpg', -'https://img.nickpic.host/qwTWWF.jpg', -'https://img.nickpic.host/qwTdje.jpg', -'https://img.nickpic.host/qwTytX.jpg', -'https://img.nickpic.host/qwWGeb.jpg', -'https://img.nickpic.host/qwWmbf.jpg', -'https://img.nickpic.host/qwWoC6.jpg', -'https://img.nickpic.host/qwWpNp.jpg', -'https://img.nickpic.host/qwWxmY.jpg', -'https://img.nickpic.host/qwWBuA.jpg', -'https://img.nickpic.host/qwWbzG.jpg', -'https://img.nickpic.host/qwWrWz.jpg', -'https://img.nickpic.host/qwW3lc.jpg', -'https://img.nickpic.host/qwWFtW.jpg', -'https://img.nickpic.host/qwWae1.jpg', -'https://img.nickpic.host/qwWlrj.jpg', -'https://img.nickpic.host/qwW5CJ.jpg', -'https://img.nickpic.host/qwWgos.jpg', -'https://img.nickpic.host/qwWSNn.jpg', -'https://img.nickpic.host/qwWqu2.jpg', -'https://img.nickpic.host/qwWAZx.jpg', -'https://img.nickpic.host/qwWuzQ.jpg', -'https://img.nickpic.host/qwWhMO.jpg', -'https://img.nickpic.host/qwWOlN.jpg', -'https://img.nickpic.host/qwW6km.jpg', -'https://img.nickpic.host/qwWQr8.jpg', -'https://img.nickpic.host/qwWUQq.jpg', -'https://img.nickpic.host/qwWXNd.jpg', -'https://img.nickpic.host/qwWnoD.jpg', -'https://img.nickpic.host/qwWtA5.jpg', -'https://img.nickpic.host/qwWMzP.jpg', -'https://img.nickpic.host/qwWRZM.jpg', -'https://img.nickpic.host/qwW45F.jpg', -'https://img.nickpic.host/qwWDMe.jpg', -'https://img.nickpic.host/qwWwkX.jpg', -'https://img.nickpic.host/qwW7sb.jpg', -'https://img.nickpic.host/qwW8Qf.jpg', -'https://img.nickpic.host/qwWHpp.jpg', -'https://img.nickpic.host/qwWKV6.jpg', -'https://img.nickpic.host/qwWNAY.jpg', -'https://img.nickpic.host/qwWV7A.jpg', -'https://img.nickpic.host/qwWfdG.jpg', -'https://img.nickpic.host/qwW25z.jpg', -'https://img.nickpic.host/qwW9Rc.jpg', -'https://img.nickpic.host/qwWJs1.jpg', -'https://img.nickpic.host/qwWekW.jpg', -'https://img.nickpic.host/qwWLUj.jpg', -'https://img.nickpic.host/qwWPVJ.jpg', -'https://img.nickpic.host/qwWWpn.jpg', -'https://img.nickpic.host/qwWZEs.jpg', -'https://img.nickpic.host/qwWd72.jpg', -'https://img.nickpic.host/qwWydQ.jpg', -'https://img.nickpic.host/qwZISx.jpg', -'https://img.nickpic.host/qwZmRN.jpg', -'https://img.nickpic.host/qwZoJO.jpg', -'https://img.nickpic.host/qwZv3m.jpg', -'https://img.nickpic.host/qwZxU8.jpg', -'https://img.nickpic.host/qwZBfq.jpg', -'https://img.nickpic.host/qwZrpd.jpg', -'https://img.nickpic.host/qwZsED.jpg', -'https://img.nickpic.host/qwZ385.jpg', -'https://img.nickpic.host/qwZFdP.jpg', -'https://img.nickpic.host/qwZl1F.jpg', -'https://img.nickpic.host/qwZjSM.jpg', -'https://img.nickpic.host/qwZ5Je.jpg', -'https://img.nickpic.host/qwZc3X.jpg', -'https://img.nickpic.host/qwZgXb.jpg', -'https://img.nickpic.host/qwZAv6.jpg', -'https://img.nickpic.host/qwZqff.jpg', -'https://img.nickpic.host/qwZO8Y.jpg', -'https://img.nickpic.host/qwZEOp.jpg', -'https://img.nickpic.host/qwZhyA.jpg', -'https://img.nickpic.host/qwZCcG.jpg', -'https://img.nickpic.host/qwZQ1z.jpg', -'https://img.nickpic.host/qwZULc.jpg', -'https://img.nickpic.host/qwZi3W.jpg', -'https://img.nickpic.host/qwZnX1.jpg', -'https://img.nickpic.host/qwZt0j.jpg', -'https://img.nickpic.host/qwZRvJ.jpg', -'https://img.nickpic.host/qwZ1On.jpg', -'https://img.nickpic.host/qwZDy2.jpg', -'https://img.nickpic.host/qwZ4Ks.jpg', -'https://img.nickpic.host/qwZzcQ.jpg', -'https://img.nickpic.host/qwZ74x.jpg', -'https://img.nickpic.host/qwZ8LN.jpg', -'https://img.nickpic.host/qwZYFO.jpg', -'https://img.nickpic.host/qwZHim.jpg', -'https://img.nickpic.host/qwZN08.jpg', -'https://img.nickpic.host/qwZfxq.jpg', -'https://img.nickpic.host/qwZ0Od.jpg', -'https://img.nickpic.host/qwZ2KD.jpg', -'https://img.nickpic.host/qwZJ4M.jpg', -'https://img.nickpic.host/qwZeG5.jpg', -'https://img.nickpic.host/qwZkcP.jpg', -'https://img.nickpic.host/qwZLPF.jpg', -'https://img.nickpic.host/qwZTFe.jpg', -'https://img.nickpic.host/qwZWiX.jpg', -'https://img.nickpic.host/qwZZ2b.jpg', -'https://img.nickpic.host/qwZyxf.jpg', -'https://img.nickpic.host/qwdGh6.jpg', -'https://img.nickpic.host/qwdIYp.jpg', -'https://img.nickpic.host/qwdoGY.jpg', -'https://img.nickpic.host/qwdvDG.jpg', -'https://img.nickpic.host/qwdpgA.jpg', -'https://img.nickpic.host/qwdxPz.jpg', -'https://img.nickpic.host/qwdriW.jpg', -'https://img.nickpic.host/qwdbac.jpg', -'https://img.nickpic.host/qwds21.jpg', -'https://img.nickpic.host/qwdFBj.jpg', -'https://img.nickpic.host/qwdahJ.jpg', -'https://img.nickpic.host/qwdjYn.jpg', -'https://img.nickpic.host/qwd5Is.jpg', -'https://img.nickpic.host/qwdcDQ.jpg', -'https://img.nickpic.host/qwdSg2.jpg', -'https://img.nickpic.host/qwdgTx.jpg', -'https://img.nickpic.host/qwduaN.jpg', -'https://img.nickpic.host/qwdAnO.jpg', -'https://img.nickpic.host/qwdE9m.jpg', -'https://img.nickpic.host/qwdhB8.jpg', -'https://img.nickpic.host/qwd66q.jpg', -'https://img.nickpic.host/qwdCYd.jpg', -'https://img.nickpic.host/qwdUID.jpg', -'https://img.nickpic.host/qwdXq5.jpg', -'https://img.nickpic.host/qwdiDP.jpg', -'https://img.nickpic.host/qwdnTM.jpg', -'https://img.nickpic.host/qwdMjF.jpg', -'https://img.nickpic.host/qwdRne.jpg', -'https://img.nickpic.host/qwd19X.jpg', -'https://img.nickpic.host/qwdDbb.jpg', -'https://img.nickpic.host/qwdw6f.jpg', -'https://img.nickpic.host/qwdzH6.jpg', -'https://img.nickpic.host/qwd8mp.jpg', -'https://img.nickpic.host/qwdKqY.jpg', -'https://img.nickpic.host/qwdYwA.jpg', -'https://img.nickpic.host/qwdHWG.jpg', -'https://img.nickpic.host/qwdVjz.jpg', -'https://img.nickpic.host/qwdftc.jpg', -'https://img.nickpic.host/qwd09W.jpg', -'https://img.nickpic.host/qwd9b1.jpg', -'https://img.nickpic.host/qwdeCj.jpg', -'https://img.nickpic.host/qwdkHJ.jpg', -'https://img.nickpic.host/qwdLmn.jpg', -'https://img.nickpic.host/qwdPus.jpg', -'https://img.nickpic.host/qwdTw2.jpg', -'https://img.nickpic.host/qwdWWQ.jpg', -'https://img.nickpic.host/qwddlx.jpg', -'https://img.nickpic.host/qwdytN.jpg', -'https://img.nickpic.host/qwyGeO.jpg', -'https://img.nickpic.host/qwymrm.jpg', -'https://img.nickpic.host/qwyoC8.jpg', -'https://img.nickpic.host/qwypNq.jpg', -'https://img.nickpic.host/qwyxmd.jpg', -'https://img.nickpic.host/qwyBuD.jpg', -'https://img.nickpic.host/qwybz5.jpg', -'https://img.nickpic.host/qwyrWP.jpg', -'https://img.nickpic.host/qwy3lM.jpg', -'https://img.nickpic.host/qwyFMF.jpg', -'https://img.nickpic.host/qwylrX.jpg', -'https://img.nickpic.host/qwyaee.jpg', -'https://img.nickpic.host/qwy5Qb.jpg', -'https://img.nickpic.host/qwySNf.jpg', -'https://img.nickpic.host/qwygo6.jpg', -'https://img.nickpic.host/qwyqAp.jpg', -'https://img.nickpic.host/qwyuzY.jpg', -'https://img.nickpic.host/qwyAZA.jpg', -'https://img.nickpic.host/qwyO5G.jpg', -'https://img.nickpic.host/qwyhMz.jpg', -'https://img.nickpic.host/qwy6kc.jpg', -'https://img.nickpic.host/qwyQrW.jpg', -'https://img.nickpic.host/qwyUQ1.jpg', -'https://img.nickpic.host/qwyXVj.jpg', -'https://img.nickpic.host/qwynoJ.jpg', -'https://img.nickpic.host/qwytAn.jpg', -'https://img.nickpic.host/qwyRZ2.jpg', -'https://img.nickpic.host/qwyM7s.jpg', -'https://img.nickpic.host/qwy45Q.jpg', -'https://img.nickpic.host/qwyDRx.jpg', -'https://img.nickpic.host/qwywkN.jpg', -'https://img.nickpic.host/qwy7sO.jpg', -'https://img.nickpic.host/qwy8Um.jpg', -'https://img.nickpic.host/qwyKV8.jpg', -'https://img.nickpic.host/qwyHpq.jpg', -'https://img.nickpic.host/qwyNAd.jpg', -'https://img.nickpic.host/qwyV7D.jpg', -'https://img.nickpic.host/qwyfd5.jpg', -'https://img.nickpic.host/qwy25P.jpg', -'https://img.nickpic.host/qwy9RM.jpg', -'https://img.nickpic.host/qwyeJF.jpg', -'https://img.nickpic.host/qwyJse.jpg', -'https://img.nickpic.host/qwyPfb.jpg', -'https://img.nickpic.host/qwyLUX.jpg', -'https://img.nickpic.host/qwyWpf.jpg', -'https://img.nickpic.host/qwyZE6.jpg', -'https://img.nickpic.host/qwyd8p.jpg', -'https://img.nickpic.host/qwyydY.jpg', -'https://img.nickpic.host/qzGm1G.jpg', -'https://img.nickpic.host/qzGISA.jpg', -'https://img.nickpic.host/qzGoJz.jpg', -'https://img.nickpic.host/qzGv3c.jpg', -'https://img.nickpic.host/qzGxUW.jpg', -'https://img.nickpic.host/qzGBf1.jpg', -'https://img.nickpic.host/qzGrvj.jpg', -'https://img.nickpic.host/qzG38n.jpg', -'https://img.nickpic.host/qzGsEJ.jpg', -'https://img.nickpic.host/qzGjS2.jpg', -'https://img.nickpic.host/qzGFys.jpg', -'https://img.nickpic.host/qzGl1Q.jpg', -'https://img.nickpic.host/qzG5Lx.jpg', -'https://img.nickpic.host/qzGc3N.jpg', -'https://img.nickpic.host/qzGgXO.jpg', -'https://img.nickpic.host/qzGq0m.jpg', -'https://img.nickpic.host/qzGAv8.jpg', -'https://img.nickpic.host/qzGEOq.jpg', -'https://img.nickpic.host/qzGO8d.jpg', -'https://img.nickpic.host/qzGhyD.jpg', -'https://img.nickpic.host/qzGQ1P.jpg', -'https://img.nickpic.host/qzGCc5.jpg', -'https://img.nickpic.host/qzGULM.jpg', -'https://img.nickpic.host/qzGiFF.jpg', -'https://img.nickpic.host/qzGnXe.jpg', -'https://img.nickpic.host/qzGt0X.jpg', -'https://img.nickpic.host/qzG1Of.jpg', -'https://img.nickpic.host/qzGRxb.jpg', -'https://img.nickpic.host/qzG4K6.jpg', -'https://img.nickpic.host/qzGwGp.jpg', -'https://img.nickpic.host/qzGzcY.jpg', -'https://img.nickpic.host/qzG74A.jpg', -'https://img.nickpic.host/qzG8PG.jpg', -'https://img.nickpic.host/qzGYFz.jpg', -'https://img.nickpic.host/qzGHic.jpg', -'https://img.nickpic.host/qzGN0W.jpg', -'https://img.nickpic.host/qzGfx1.jpg', -'https://img.nickpic.host/qzG0hj.jpg', -'https://img.nickpic.host/qzG2KJ.jpg', -'https://img.nickpic.host/qzGeGn.jpg', -'https://img.nickpic.host/qzGkgs.jpg', -'https://img.nickpic.host/qzGJ42.jpg', -'https://img.nickpic.host/qzGLPQ.jpg', -'https://img.nickpic.host/qzGTax.jpg', -'https://img.nickpic.host/qzGZ2O.jpg', -'https://img.nickpic.host/qzGWiN.jpg', -'https://img.nickpic.host/qzGyBm.jpg', -'https://img.nickpic.host/qzIGh8.jpg', -'https://img.nickpic.host/qzIIYq.jpg', -'https://img.nickpic.host/qzIoGd.jpg', -'https://img.nickpic.host/qzIpgD.jpg', -'https://img.nickpic.host/qzIvD5.jpg', -'https://img.nickpic.host/qzIxPP.jpg', -'https://img.nickpic.host/qzIbaM.jpg', -'https://img.nickpic.host/qzIrnF.jpg', -'https://img.nickpic.host/qzIs2e.jpg', -'https://img.nickpic.host/qzIFBX.jpg', -'https://img.nickpic.host/qzIa6b.jpg', -'https://img.nickpic.host/qzI5I6.jpg', -'https://img.nickpic.host/qzIjYf.jpg', -'https://img.nickpic.host/qzISqp.jpg', -'https://img.nickpic.host/qzIcDY.jpg', -'https://img.nickpic.host/qzIgTA.jpg', -'https://img.nickpic.host/qzIujG.jpg', -'https://img.nickpic.host/qzIAnz.jpg', -'https://img.nickpic.host/qzIE9c.jpg', -'https://img.nickpic.host/qzICHj.jpg', -'https://img.nickpic.host/qzIhBW.jpg', -'https://img.nickpic.host/qzI661.jpg', -'https://img.nickpic.host/qzIXqn.jpg', -'https://img.nickpic.host/qzIUIJ.jpg', -'https://img.nickpic.host/qzIiws.jpg', -'https://img.nickpic.host/qzInT2.jpg', -'https://img.nickpic.host/qzIMjQ.jpg', -'https://img.nickpic.host/qzIRtx.jpg', -'https://img.nickpic.host/qzI19N.jpg', -'https://img.nickpic.host/qzIDbO.jpg', -'https://img.nickpic.host/qzIwCm.jpg', -'https://img.nickpic.host/qzIzH8.jpg', -'https://img.nickpic.host/qzIKqd.jpg', -'https://img.nickpic.host/qzI8mq.jpg', -'https://img.nickpic.host/qzIYwD.jpg', -'https://img.nickpic.host/qzIftM.jpg', -'https://img.nickpic.host/qzIHW5.jpg', -'https://img.nickpic.host/qzI0eF.jpg', -'https://img.nickpic.host/qzI9be.jpg', -'https://img.nickpic.host/qzIeCX.jpg', -'https://img.nickpic.host/qzIkNb.jpg', -'https://img.nickpic.host/qzILmf.jpg', -'https://img.nickpic.host/qzIPu6.jpg', -'https://img.nickpic.host/qzITzp.jpg', -'https://img.nickpic.host/qzIWWY.jpg', -'https://img.nickpic.host/qzIdlA.jpg', -'https://img.nickpic.host/qzIyMG.jpg', -'https://img.nickpic.host/qzmGez.jpg', -'https://img.nickpic.host/qzmoCW.jpg', -'https://img.nickpic.host/qzmmrc.jpg', -'https://img.nickpic.host/qzmpN1.jpg', -'https://img.nickpic.host/qzmxoj.jpg', -'https://img.nickpic.host/qzmBuJ.jpg', -'https://img.nickpic.host/qzmbzn.jpg', -'https://img.nickpic.host/qzm3l2.jpg', -'https://img.nickpic.host/qzmrZs.jpg', -'https://img.nickpic.host/qzmFMQ.jpg', -'https://img.nickpic.host/qzmakx.jpg', -'https://img.nickpic.host/qzm5QO.jpg', -'https://img.nickpic.host/qzmSVm.jpg', -'https://img.nickpic.host/qzmgo8.jpg', -'https://img.nickpic.host/qzmqAq.jpg', -'https://img.nickpic.host/qzmuzd.jpg', -'https://img.nickpic.host/qzmAZD.jpg', -'https://img.nickpic.host/qzmO55.jpg', -'https://img.nickpic.host/qzmhMP.jpg', -'https://img.nickpic.host/qzm6kM.jpg', -'https://img.nickpic.host/qzmQsF.jpg', -'https://img.nickpic.host/qzmUQe.jpg', -'https://img.nickpic.host/qzmXVX.jpg', -'https://img.nickpic.host/qzmnpb.jpg', -'https://img.nickpic.host/qzmtAf.jpg', -'https://img.nickpic.host/qzmM76.jpg', -'https://img.nickpic.host/qzmRdp.jpg', -'https://img.nickpic.host/qzm45Y.jpg', -'https://img.nickpic.host/qzmwJG.jpg', -'https://img.nickpic.host/qzmDRA.jpg', -'https://img.nickpic.host/qzm7sz.jpg', -'https://img.nickpic.host/qzm8Uc.jpg', -'https://img.nickpic.host/qzmKVW.jpg', -'https://img.nickpic.host/qzmHp1.jpg', -'https://img.nickpic.host/qzmNEj.jpg', -'https://img.nickpic.host/qzmV7J.jpg', -'https://img.nickpic.host/qzmfdn.jpg', -'https://img.nickpic.host/qzm2Ss.jpg', -'https://img.nickpic.host/qzm9R2.jpg', -'https://img.nickpic.host/qzmeJQ.jpg', -'https://img.nickpic.host/qzmJ3x.jpg', -'https://img.nickpic.host/qzmLUN.jpg', -'https://img.nickpic.host/qzmPfO.jpg', -'https://img.nickpic.host/qzmWvm.jpg', -'https://img.nickpic.host/qzmZE8.jpg', -'https://img.nickpic.host/qzmd8q.jpg', -'https://img.nickpic.host/qzmydd.jpg', -'https://img.nickpic.host/qzoISD.jpg', -'https://img.nickpic.host/qzom15.jpg', -'https://img.nickpic.host/qzooJP.jpg', -'https://img.nickpic.host/qzov3M.jpg', -'https://img.nickpic.host/qzoxXF.jpg', -'https://img.nickpic.host/qzoBfe.jpg', -'https://img.nickpic.host/qzorvX.jpg', -'https://img.nickpic.host/qzo38f.jpg', -'https://img.nickpic.host/qzosOb.jpg', -'https://img.nickpic.host/qzoFy6.jpg', -'https://img.nickpic.host/qzojcp.jpg', -'https://img.nickpic.host/qzol1Y.jpg', -'https://img.nickpic.host/qzo5LA.jpg', -'https://img.nickpic.host/qzocFG.jpg', -'https://img.nickpic.host/qzogXz.jpg', -'https://img.nickpic.host/qzoq0c.jpg', -'https://img.nickpic.host/qzoAvW.jpg', -'https://img.nickpic.host/qzoEO1.jpg', -'https://img.nickpic.host/qzohyJ.jpg', -'https://img.nickpic.host/qzoOKj.jpg', -'https://img.nickpic.host/qzoCcn.jpg', -'https://img.nickpic.host/qzoQ4s.jpg', -'https://img.nickpic.host/qzoUL2.jpg', -'https://img.nickpic.host/qzoiFQ.jpg', -'https://img.nickpic.host/qzot0N.jpg', -'https://img.nickpic.host/qzonix.jpg', -'https://img.nickpic.host/qzoRxO.jpg', -'https://img.nickpic.host/qzo4K8.jpg', -'https://img.nickpic.host/qzo1hm.jpg', -'https://img.nickpic.host/qzozcd.jpg', -'https://img.nickpic.host/qzowGq.jpg', -'https://img.nickpic.host/qzo74D.jpg', -'https://img.nickpic.host/qzoYFP.jpg', -'https://img.nickpic.host/qzo8P5.jpg', -'https://img.nickpic.host/qzoHiM.jpg', -'https://img.nickpic.host/qzoN2F.jpg', -'https://img.nickpic.host/qzofxe.jpg', -'https://img.nickpic.host/qzo2Yb.jpg', -'https://img.nickpic.host/qzo0hX.jpg', -'https://img.nickpic.host/qzoeGf.jpg', -'https://img.nickpic.host/qzokg6.jpg', -'https://img.nickpic.host/qzoJDp.jpg', -'https://img.nickpic.host/qzoLPY.jpg', -'https://img.nickpic.host/qzoWnG.jpg', -'https://img.nickpic.host/qzoTaA.jpg', -'https://img.nickpic.host/qzoZ2z.jpg', -'https://img.nickpic.host/qzoyBc.jpg', -'https://img.nickpic.host/qzpGhW.jpg', -'https://img.nickpic.host/qzpIY1.jpg', -'https://img.nickpic.host/qzpoIj.jpg', -'https://img.nickpic.host/qzppgJ.jpg', -'https://img.nickpic.host/qzpvDn.jpg', -'https://img.nickpic.host/qzpxTs.jpg', -'https://img.nickpic.host/qzpba2.jpg', -'https://img.nickpic.host/qzprnQ.jpg', -'https://img.nickpic.host/qzps9x.jpg', -'https://img.nickpic.host/qzpFBN.jpg', -'https://img.nickpic.host/qzpa6O.jpg', -'https://img.nickpic.host/qzpjHm.jpg', -'https://img.nickpic.host/qzp5I8.jpg', -'https://img.nickpic.host/qzpSqq.jpg', -'https://img.nickpic.host/qzpcDd.jpg', -'https://img.nickpic.host/qzpgTD.jpg', -'https://img.nickpic.host/qzpuj5.jpg', -'https://img.nickpic.host/qzpAnP.jpg', -'https://img.nickpic.host/qzphbF.jpg', -'https://img.nickpic.host/qzpE9M.jpg', -'https://img.nickpic.host/qzp66e.jpg', -'https://img.nickpic.host/qzpCHX.jpg', -'https://img.nickpic.host/qzpUmb.jpg', -'https://img.nickpic.host/qzpXqf.jpg', -'https://img.nickpic.host/qzpiw6.jpg', -'https://img.nickpic.host/qzpnWp.jpg', -'https://img.nickpic.host/qzpMjY.jpg', -'https://img.nickpic.host/qzpRtA.jpg', -'https://img.nickpic.host/qzpDbz.jpg', -'https://img.nickpic.host/qzp1eG.jpg', -'https://img.nickpic.host/qzpwCc.jpg', -'https://img.nickpic.host/qzpzHW.jpg', -'https://img.nickpic.host/qzp8m1.jpg', -'https://img.nickpic.host/qzpKuj.jpg', -'https://img.nickpic.host/qzpYwJ.jpg', -'https://img.nickpic.host/qzpHWn.jpg', -'https://img.nickpic.host/qzpVls.jpg', -'https://img.nickpic.host/qzpft2.jpg', -'https://img.nickpic.host/qzp0eQ.jpg', -'https://img.nickpic.host/qzp9rx.jpg', -'https://img.nickpic.host/qzpeCN.jpg', -'https://img.nickpic.host/qzpkNO.jpg', -'https://img.nickpic.host/qzpLom.jpg', -'https://img.nickpic.host/qzpPu8.jpg', -'https://img.nickpic.host/qzpTzq.jpg', -'https://img.nickpic.host/qzpWWd.jpg', -'https://img.nickpic.host/qzpdlD.jpg', -'https://img.nickpic.host/qzpyM5.jpg', -'https://img.nickpic.host/qzvGeP.jpg', -'https://img.nickpic.host/qzvmrM.jpg', -'https://img.nickpic.host/qzvoQF.jpg', -'https://img.nickpic.host/qzvpNe.jpg', -'https://img.nickpic.host/qzvxoX.jpg', -'https://img.nickpic.host/qzvBAb.jpg', -'https://img.nickpic.host/qzvrZ6.jpg', -'https://img.nickpic.host/qzvbzf.jpg', -'https://img.nickpic.host/qzv35p.jpg', -'https://img.nickpic.host/qzvFMY.jpg', -'https://img.nickpic.host/qzvakA.jpg', -'https://img.nickpic.host/qzvlsG.jpg', -'https://img.nickpic.host/qzv5Qz.jpg', -'https://img.nickpic.host/qzvSVc.jpg', -'https://img.nickpic.host/qzvgoW.jpg', -'https://img.nickpic.host/qzvqA1.jpg', -'https://img.nickpic.host/qzvu7j.jpg', -'https://img.nickpic.host/qzvAZJ.jpg', -'https://img.nickpic.host/qzvO5n.jpg', -'https://img.nickpic.host/qzvhRs.jpg', -'https://img.nickpic.host/qzv6k2.jpg', -'https://img.nickpic.host/qzvQsQ.jpg', -'https://img.nickpic.host/qzvUUx.jpg', -'https://img.nickpic.host/qzvXVN.jpg', -'https://img.nickpic.host/qzvnpO.jpg', -'https://img.nickpic.host/qzvtEm.jpg', -'https://img.nickpic.host/qzvM78.jpg', -'https://img.nickpic.host/qzvRdq.jpg', -'https://img.nickpic.host/qzv45d.jpg', -'https://img.nickpic.host/qzvwJ5.jpg', -'https://img.nickpic.host/qzvDRD.jpg', -'https://img.nickpic.host/qzv7sP.jpg', -'https://img.nickpic.host/qzv8UM.jpg', -'https://img.nickpic.host/qzvKfF.jpg', -'https://img.nickpic.host/qzvHpe.jpg', -'https://img.nickpic.host/qzvNEX.jpg', -'https://img.nickpic.host/qzvV8b.jpg', -'https://img.nickpic.host/qzvfdf.jpg', -'https://img.nickpic.host/qzv91p.jpg', -'https://img.nickpic.host/qzv2S6.jpg', -'https://img.nickpic.host/qzveJY.jpg', -'https://img.nickpic.host/qzvJ3A.jpg', -'https://img.nickpic.host/qzvLXG.jpg', -'https://img.nickpic.host/qzvPfz.jpg', -'https://img.nickpic.host/qzvWvc.jpg', -'https://img.nickpic.host/qzvZEW.jpg', -'https://img.nickpic.host/qzvd81.jpg', -'https://img.nickpic.host/qzvyyj.jpg', -'https://img.nickpic.host/qzxISJ.jpg', -'https://img.nickpic.host/qzxm1n.jpg', -'https://img.nickpic.host/qzxoLs.jpg', -'https://img.nickpic.host/qzxv32.jpg', -'https://img.nickpic.host/qzxxXQ.jpg', -'https://img.nickpic.host/qzxB0x.jpg', -'https://img.nickpic.host/qzxrvN.jpg', -'https://img.nickpic.host/qzxsOO.jpg', -'https://img.nickpic.host/qzx3Km.jpg', -'https://img.nickpic.host/qzxFy8.jpg', -'https://img.nickpic.host/qzxjcq.jpg', -'https://img.nickpic.host/qzxl1d.jpg', -'https://img.nickpic.host/qzx5LD.jpg', -'https://img.nickpic.host/qzxcF5.jpg', -'https://img.nickpic.host/qzxgXP.jpg', -'https://img.nickpic.host/qzxq0M.jpg', -'https://img.nickpic.host/qzxAxF.jpg', -'https://img.nickpic.host/qzxEOe.jpg', -'https://img.nickpic.host/qzxOKX.jpg', -'https://img.nickpic.host/qzx6Gb.jpg', -'https://img.nickpic.host/qzxCcf.jpg', -'https://img.nickpic.host/qzxQ46.jpg', -'https://img.nickpic.host/qzxUPp.jpg', -'https://img.nickpic.host/qzxiFY.jpg', -'https://img.nickpic.host/qzxniA.jpg', -'https://img.nickpic.host/qzxt2G.jpg', -'https://img.nickpic.host/qzx1hc.jpg', -'https://img.nickpic.host/qzxRxz.jpg', -'https://img.nickpic.host/qzx4KW.jpg', -'https://img.nickpic.host/qzxwG1.jpg', -'https://img.nickpic.host/qzx74J.jpg', -'https://img.nickpic.host/qzxzgj.jpg', -'https://img.nickpic.host/qzx8Pn.jpg', -'https://img.nickpic.host/qzxYas.jpg', -'https://img.nickpic.host/qzxHi2.jpg', -'https://img.nickpic.host/qzxN2Q.jpg', -'https://img.nickpic.host/qzxfBx.jpg', -'https://img.nickpic.host/qzx0hN.jpg', -'https://img.nickpic.host/qzx2YO.jpg', -'https://img.nickpic.host/qzxeIm.jpg', -'https://img.nickpic.host/qzxkg8.jpg', -'https://img.nickpic.host/qzxJDq.jpg', -'https://img.nickpic.host/qzxLPd.jpg', -'https://img.nickpic.host/qzxTaD.jpg', -'https://img.nickpic.host/qzxWn5.jpg', -'https://img.nickpic.host/qzxyBM.jpg', -'https://img.nickpic.host/qzxZ2P.jpg', -'https://img.nickpic.host/qzBG6F.jpg', -'https://img.nickpic.host/qzBIYe.jpg', -'https://img.nickpic.host/qzBoIX.jpg', -'https://img.nickpic.host/qzBpqb.jpg', -'https://img.nickpic.host/qzBvDf.jpg', -'https://img.nickpic.host/qzBxT6.jpg', -'https://img.nickpic.host/qzBbjp.jpg', -'https://img.nickpic.host/qzBrnY.jpg', -'https://img.nickpic.host/qzBs9A.jpg', -'https://img.nickpic.host/qzBFbG.jpg', -'https://img.nickpic.host/qzBa6z.jpg', -'https://img.nickpic.host/qzBjHc.jpg', -'https://img.nickpic.host/qzB5IW.jpg', -'https://img.nickpic.host/qzBSq1.jpg', -'https://img.nickpic.host/qzBcwj.jpg', -'https://img.nickpic.host/qzBgTJ.jpg', -'https://img.nickpic.host/qzBAts.jpg', -'https://img.nickpic.host/qzBujn.jpg', -'https://img.nickpic.host/qzBhbQ.jpg', -'https://img.nickpic.host/qzBE92.jpg', -'https://img.nickpic.host/qzB6Cx.jpg', -'https://img.nickpic.host/qzBCHN.jpg', -'https://img.nickpic.host/qzBUmO.jpg', -'https://img.nickpic.host/qzBXum.jpg', -'https://img.nickpic.host/qzBiw8.jpg', -'https://img.nickpic.host/qzBnWq.jpg', -'https://img.nickpic.host/qzBMjd.jpg', -'https://img.nickpic.host/qzBRtD.jpg', -'https://img.nickpic.host/qzB1e5.jpg', -'https://img.nickpic.host/qzBDbP.jpg', -'https://img.nickpic.host/qzBzNF.jpg', -'https://img.nickpic.host/qzBwCM.jpg', -'https://img.nickpic.host/qzB8me.jpg', -'https://img.nickpic.host/qzBKuX.jpg', -'https://img.nickpic.host/qzBYzb.jpg', -'https://img.nickpic.host/qzBVl6.jpg', -'https://img.nickpic.host/qzBHWf.jpg', -'https://img.nickpic.host/qzBfMp.jpg', -'https://img.nickpic.host/qzB0eY.jpg', -'https://img.nickpic.host/qzBeQG.jpg', -'https://img.nickpic.host/qzB9rA.jpg', -'https://img.nickpic.host/qzBkNz.jpg', -'https://img.nickpic.host/qzBLoc.jpg', -'https://img.nickpic.host/qzBPuW.jpg', -'https://img.nickpic.host/qzBTz1.jpg', -'https://img.nickpic.host/qzBWZj.jpg', -'https://img.nickpic.host/qzBdlJ.jpg', -'https://img.nickpic.host/qzByMn.jpg', -'https://img.nickpic.host/qzbGks.jpg', -'https://img.nickpic.host/qzbmr2.jpg', -'https://img.nickpic.host/qzboQQ.jpg', -'https://img.nickpic.host/qzbxoN.jpg', -'https://img.nickpic.host/qzbpVx.jpg', -'https://img.nickpic.host/qzbBAO.jpg', -'https://img.nickpic.host/qzbb7m.jpg', -'https://img.nickpic.host/qzbrZ8.jpg', -'https://img.nickpic.host/qzb35q.jpg', -'https://img.nickpic.host/qzbFMd.jpg', -'https://img.nickpic.host/qzbls5.jpg', -'https://img.nickpic.host/qzbakD.jpg', -'https://img.nickpic.host/qzb5QP.jpg', -'https://img.nickpic.host/qzbSVM.jpg', -'https://img.nickpic.host/qzbgpF.jpg', -'https://img.nickpic.host/qzbqAe.jpg', -'https://img.nickpic.host/qzbu7X.jpg', -'https://img.nickpic.host/qzbAdb.jpg', -'https://img.nickpic.host/qzbO5f.jpg', -'https://img.nickpic.host/qzbhR6.jpg', -'https://img.nickpic.host/qzb6Jp.jpg', -'https://img.nickpic.host/qzbUUA.jpg', -'https://img.nickpic.host/qzbQsY.jpg', -'https://img.nickpic.host/qzbXfG.jpg', -'https://img.nickpic.host/qzbnpz.jpg', -'https://img.nickpic.host/qzbtEc.jpg', -'https://img.nickpic.host/qzbM7W.jpg', -'https://img.nickpic.host/qzbRd1.jpg', -'https://img.nickpic.host/qzb4Sj.jpg', -'https://img.nickpic.host/qzbDRJ.jpg', -'https://img.nickpic.host/qzbwJn.jpg', -'https://img.nickpic.host/qzb73s.jpg', -'https://img.nickpic.host/qzb8U2.jpg', -'https://img.nickpic.host/qzbKfQ.jpg', -'https://img.nickpic.host/qzbHvx.jpg', -'https://img.nickpic.host/qzbNEN.jpg', -'https://img.nickpic.host/qzbV8O.jpg', -'https://img.nickpic.host/qzbfym.jpg', -'https://img.nickpic.host/qzb2S8.jpg', -'https://img.nickpic.host/qzb91q.jpg', -'https://img.nickpic.host/qzbeJd.jpg', -'https://img.nickpic.host/qzbJ3D.jpg', -'https://img.nickpic.host/qzbLX5.jpg', -'https://img.nickpic.host/qzbPfP.jpg', -'https://img.nickpic.host/qzbWvM.jpg', -'https://img.nickpic.host/qzbZOF.jpg', -'https://img.nickpic.host/qzbd8e.jpg', -'https://img.nickpic.host/qzbyyX.jpg', -'https://img.nickpic.host/qzrm1f.jpg', -'https://img.nickpic.host/qzrIcb.jpg', -'https://img.nickpic.host/qzroL6.jpg', -'https://img.nickpic.host/qzrvFp.jpg', -'https://img.nickpic.host/qzrxXY.jpg', -'https://img.nickpic.host/qzrsOz.jpg', -'https://img.nickpic.host/qzrB0A.jpg', -'https://img.nickpic.host/qzrrxG.jpg', -'https://img.nickpic.host/qzr3Kc.jpg', -'https://img.nickpic.host/qzrFyW.jpg', -'https://img.nickpic.host/qzrjc1.jpg', -'https://img.nickpic.host/qzrl4j.jpg', -'https://img.nickpic.host/qzr5LJ.jpg', -'https://img.nickpic.host/qzrcFn.jpg', -'https://img.nickpic.host/qzrgis.jpg', -'https://img.nickpic.host/qzrq02.jpg', -'https://img.nickpic.host/qzrAxQ.jpg', -'https://img.nickpic.host/qzrEhx.jpg', -'https://img.nickpic.host/qzr6GO.jpg', -'https://img.nickpic.host/qzrOKN.jpg', -'https://img.nickpic.host/qzrCgm.jpg', -'https://img.nickpic.host/qzrQ48.jpg', -'https://img.nickpic.host/qzrUPq.jpg', -'https://img.nickpic.host/qzriFd.jpg', -'https://img.nickpic.host/qzrniD.jpg', -'https://img.nickpic.host/qzrt25.jpg', -'https://img.nickpic.host/qzrRxP.jpg', -'https://img.nickpic.host/qzr1hM.jpg', -'https://img.nickpic.host/qzr4YF.jpg', -'https://img.nickpic.host/qzrwGe.jpg', -'https://img.nickpic.host/qzrzgX.jpg', -'https://img.nickpic.host/qzr7Db.jpg', -'https://img.nickpic.host/qzr8Pf.jpg', -'https://img.nickpic.host/qzrHnp.jpg', -'https://img.nickpic.host/qzrYa6.jpg', -'https://img.nickpic.host/qzrN2Y.jpg', -'https://img.nickpic.host/qzrfBA.jpg', -'https://img.nickpic.host/qzr06G.jpg', -'https://img.nickpic.host/qzr2Yz.jpg', -'https://img.nickpic.host/qzreIc.jpg', -'https://img.nickpic.host/qzrkgW.jpg', -'https://img.nickpic.host/qzrJD1.jpg', -'https://img.nickpic.host/qzrLTj.jpg', -'https://img.nickpic.host/qzrTaJ.jpg', -'https://img.nickpic.host/qzrWnn.jpg', -'https://img.nickpic.host/qzrZ9s.jpg', -'https://img.nickpic.host/qzryB2.jpg', -'https://img.nickpic.host/qzsG6Q.jpg', -'https://img.nickpic.host/qzsIHx.jpg', -'https://img.nickpic.host/qzspqO.jpg', -'https://img.nickpic.host/qzsoIN.jpg', -'https://img.nickpic.host/qzsxT8.jpg', -'https://img.nickpic.host/qzsvwm.jpg', -'https://img.nickpic.host/qzsbjq.jpg', -'https://img.nickpic.host/qzsrnd.jpg', -'https://img.nickpic.host/qzss9D.jpg', -'https://img.nickpic.host/qzsFb5.jpg', -'https://img.nickpic.host/qzsa6P.jpg', -'https://img.nickpic.host/qzsjHM.jpg', -'https://img.nickpic.host/qzs5mF.jpg', -'https://img.nickpic.host/qzsSqe.jpg', -'https://img.nickpic.host/qzscwX.jpg', -'https://img.nickpic.host/qzsgWb.jpg', -'https://img.nickpic.host/qzsujf.jpg', -'https://img.nickpic.host/qzsAt6.jpg', -'https://img.nickpic.host/qzsEep.jpg', -'https://img.nickpic.host/qzshbY.jpg', -'https://img.nickpic.host/qzs6CA.jpg', -'https://img.nickpic.host/qzsUmz.jpg', -'https://img.nickpic.host/qzsCNG.jpg', -'https://img.nickpic.host/qzsXuc.jpg', -'https://img.nickpic.host/qzsiwW.jpg', -'https://img.nickpic.host/qzsnW1.jpg', -'https://img.nickpic.host/qzsMlj.jpg', -'https://img.nickpic.host/qzsRtJ.jpg', -'https://img.nickpic.host/qzs1en.jpg', -'https://img.nickpic.host/qzsDrs.jpg', -'https://img.nickpic.host/qzswC2.jpg', -'https://img.nickpic.host/qzszNQ.jpg', -'https://img.nickpic.host/qzs8ox.jpg', -'https://img.nickpic.host/qzsKuN.jpg', -'https://img.nickpic.host/qzsYzO.jpg', -'https://img.nickpic.host/qzsHZm.jpg', -'https://img.nickpic.host/qzsVl8.jpg', -'https://img.nickpic.host/qzsfMq.jpg', -'https://img.nickpic.host/qzs9rD.jpg', -'https://img.nickpic.host/qzs0ed.jpg', -'https://img.nickpic.host/qzseQ5.jpg', -'https://img.nickpic.host/qzsLoM.jpg', -'https://img.nickpic.host/qzskNP.jpg', -'https://img.nickpic.host/qzsPAF.jpg', -'https://img.nickpic.host/qzsTze.jpg', -'https://img.nickpic.host/qzsWZX.jpg', -'https://img.nickpic.host/qzsd5b.jpg', -'https://img.nickpic.host/qzsyMf.jpg', -'https://img.nickpic.host/qz3Gk6.jpg', -'https://img.nickpic.host/qz3msp.jpg', -'https://img.nickpic.host/qz3oQY.jpg', -'https://img.nickpic.host/qz3pVA.jpg', -'https://img.nickpic.host/qz3xpG.jpg', -'https://img.nickpic.host/qz3BAz.jpg', -'https://img.nickpic.host/qz3b7c.jpg', -'https://img.nickpic.host/qz3rZW.jpg', -'https://img.nickpic.host/qz3351.jpg', -'https://img.nickpic.host/qz3FRj.jpg', -'https://img.nickpic.host/qz3akJ.jpg', -'https://img.nickpic.host/qz3lsn.jpg', -'https://img.nickpic.host/qz35Us.jpg', -'https://img.nickpic.host/qz3SV2.jpg', -'https://img.nickpic.host/qz3gpQ.jpg', -'https://img.nickpic.host/qz3qEx.jpg'] - - -global.nintendo = ['https://img.nickpic.host/q10CJP.jpg', -'https://img.nickpic.host/q10615.jpg', -'https://img.nickpic.host/q10hSD.jpg', -'https://img.nickpic.host/q10Edd.jpg', -'https://img.nickpic.host/q10A8q.jpg', -'https://img.nickpic.host/q10cfO.jpg', -'https://img.nickpic.host/q10SUN.jpg', -'https://img.nickpic.host/q10uE8.jpg', -'https://img.nickpic.host/q1053x.jpg', -'https://img.nickpic.host/q10qvm.jpg', -'https://img.nickpic.host/q10XXF.jpg', -'https://img.nickpic.host/q10U3M.jpg', -'https://img.nickpic.host/q10ife.jpg', -'https://img.nickpic.host/q10tvX.jpg', -'https://img.nickpic.host/q10MOb.jpg', -'https://img.nickpic.host/q10R8f.jpg', -'https://img.nickpic.host/q101y6.jpg', -'https://img.nickpic.host/q10Dcp.jpg', -'https://img.nickpic.host/q10w1Y.jpg', -'https://img.nickpic.host/q10zLA.jpg', -'https://img.nickpic.host/q108FG.jpg', -'https://img.nickpic.host/q10KXz.jpg', -'https://img.nickpic.host/q10Y0c.jpg', -'https://img.nickpic.host/q10NvW.jpg', -'https://img.nickpic.host/q10VO1.jpg', -'https://img.nickpic.host/q10fKj.jpg', -'https://img.nickpic.host/q100yJ.jpg', -'https://img.nickpic.host/q109cn.jpg', -'https://img.nickpic.host/q10e4s.jpg', -'https://img.nickpic.host/q10kL2.jpg', -'https://img.nickpic.host/q10LFQ.jpg', -'https://img.nickpic.host/q10Pix.jpg', -'https://img.nickpic.host/q10T0N.jpg', -'https://img.nickpic.host/q10ZxO.jpg', -'https://img.nickpic.host/q10dhm.jpg', -'https://img.nickpic.host/q10yK8.jpg', -'https://img.nickpic.host/q12IGq.jpg', -'https://img.nickpic.host/q12mcd.jpg', -'https://img.nickpic.host/q12o4D.jpg', -'https://img.nickpic.host/q12pP5.jpg', -'https://img.nickpic.host/q12xFP.jpg', -'https://img.nickpic.host/q12BiM.jpg', -'https://img.nickpic.host/q12b2F.jpg', -'https://img.nickpic.host/q12sxe.jpg', -'https://img.nickpic.host/q123hX.jpg', -'https://img.nickpic.host/q12FYb.jpg', -'https://img.nickpic.host/q12lg6.jpg', -'https://img.nickpic.host/q12jGf.jpg', -'https://img.nickpic.host/q125Dp.jpg', -'https://img.nickpic.host/q12SPY.jpg', -'https://img.nickpic.host/q12gaA.jpg', -'https://img.nickpic.host/q12qnG.jpg', -'https://img.nickpic.host/q12u2z.jpg', -'https://img.nickpic.host/q12EBc.jpg', -'https://img.nickpic.host/q12OhW.jpg', -'https://img.nickpic.host/q12hY1.jpg', -'https://img.nickpic.host/q12CIj.jpg', -'https://img.nickpic.host/q12QgJ.jpg', -'https://img.nickpic.host/q12UDn.jpg', -'https://img.nickpic.host/q12XTs.jpg', -'https://img.nickpic.host/q12na2.jpg', -'https://img.nickpic.host/q12tnQ.jpg', -'https://img.nickpic.host/q12M9x.jpg', -'https://img.nickpic.host/q121BN.jpg', -'https://img.nickpic.host/q1246O.jpg', -'https://img.nickpic.host/q12DHm.jpg', -'https://img.nickpic.host/q127qq.jpg', -'https://img.nickpic.host/q12zI8.jpg', -'https://img.nickpic.host/q128Dd.jpg', -'https://img.nickpic.host/q12KTD.jpg', -'https://img.nickpic.host/q12Hj5.jpg', -'https://img.nickpic.host/q12NnP.jpg', -'https://img.nickpic.host/q12V9M.jpg', -'https://img.nickpic.host/q120bF.jpg', -'https://img.nickpic.host/q1226e.jpg', -'https://img.nickpic.host/q129HX.jpg', -'https://img.nickpic.host/q12kmb.jpg', -'https://img.nickpic.host/q12Jqf.jpg', -'https://img.nickpic.host/q12Lw6.jpg', -'https://img.nickpic.host/q12PWp.jpg', -'https://img.nickpic.host/q12WjY.jpg', -'https://img.nickpic.host/q12ZtA.jpg', -'https://img.nickpic.host/q12deG.jpg', -'https://img.nickpic.host/q19Gbz.jpg', -'https://img.nickpic.host/q19ICc.jpg', -'https://img.nickpic.host/q19mHW.jpg', -'https://img.nickpic.host/q19pm1.jpg', -'https://img.nickpic.host/q19vuj.jpg', -'https://img.nickpic.host/q19xwJ.jpg', -'https://img.nickpic.host/q19BWn.jpg', -'https://img.nickpic.host/q19rls.jpg', -'https://img.nickpic.host/q19arx.jpg', -'https://img.nickpic.host/q19st2.jpg', -'https://img.nickpic.host/q193eQ.jpg', -'https://img.nickpic.host/q19jCN.jpg', -'https://img.nickpic.host/q19gzq.jpg', -'https://img.nickpic.host/q19lNO.jpg', -'https://img.nickpic.host/q19cu8.jpg', -'https://img.nickpic.host/q19Som.jpg', -'https://img.nickpic.host/q19qWd.jpg', -'https://img.nickpic.host/q19AlD.jpg', -'https://img.nickpic.host/q19OeP.jpg', -'https://img.nickpic.host/q19EM5.jpg', -'https://img.nickpic.host/q196rM.jpg', -'https://img.nickpic.host/q19CQF.jpg', -'https://img.nickpic.host/q19QNe.jpg', -'https://img.nickpic.host/q19XoX.jpg', -'https://img.nickpic.host/q19iAb.jpg', -'https://img.nickpic.host/q19nzf.jpg', -'https://img.nickpic.host/q19tZ6.jpg', -'https://img.nickpic.host/q19R5p.jpg', -'https://img.nickpic.host/q191MY.jpg', -'https://img.nickpic.host/q19wsG.jpg', -'https://img.nickpic.host/q194kA.jpg', -'https://img.nickpic.host/q19zQz.jpg', -'https://img.nickpic.host/q197Vc.jpg', -'https://img.nickpic.host/q19KoW.jpg', -'https://img.nickpic.host/q19YA1.jpg', -'https://img.nickpic.host/q19H7j.jpg', -'https://img.nickpic.host/q19NZJ.jpg', -'https://img.nickpic.host/q19f5n.jpg', -'https://img.nickpic.host/q190Rs.jpg', -'https://img.nickpic.host/q192k2.jpg', -'https://img.nickpic.host/q19esQ.jpg', -'https://img.nickpic.host/q19kUx.jpg', -'https://img.nickpic.host/q19JVN.jpg', -'https://img.nickpic.host/q19PpO.jpg', -'https://img.nickpic.host/q19TEm.jpg', -'https://img.nickpic.host/q19Zdq.jpg', -'https://img.nickpic.host/q19W78.jpg', -'https://img.nickpic.host/q19y5d.jpg', -'https://img.nickpic.host/q1eGRD.jpg', -'https://img.nickpic.host/q1eIJ5.jpg', -'https://img.nickpic.host/q1eosP.jpg', -'https://img.nickpic.host/q1epUM.jpg', -'https://img.nickpic.host/q1evfF.jpg', -'https://img.nickpic.host/q1eBpe.jpg', -'https://img.nickpic.host/q1ebEX.jpg', -'https://img.nickpic.host/q1er8b.jpg', -'https://img.nickpic.host/q1esdf.jpg', -'https://img.nickpic.host/q1eFS6.jpg', -'https://img.nickpic.host/q1ea1p.jpg', -'https://img.nickpic.host/q1ejJY.jpg', -'https://img.nickpic.host/q1e53A.jpg', -'https://img.nickpic.host/q1eSXG.jpg', -'https://img.nickpic.host/q1ecfz.jpg', -'https://img.nickpic.host/q1eqvc.jpg', -'https://img.nickpic.host/q1euEW.jpg', -'https://img.nickpic.host/q1eA81.jpg', -'https://img.nickpic.host/q1eEyj.jpg', -'https://img.nickpic.host/q1ehSJ.jpg', -'https://img.nickpic.host/q1e61n.jpg', -'https://img.nickpic.host/q1eCLs.jpg', -'https://img.nickpic.host/q1eU32.jpg', -'https://img.nickpic.host/q1eXXQ.jpg', -'https://img.nickpic.host/q1ei0x.jpg', -'https://img.nickpic.host/q1etvN.jpg', -'https://img.nickpic.host/q1eMOO.jpg', -'https://img.nickpic.host/q1eRKm.jpg', -'https://img.nickpic.host/q1e1y8.jpg', -'https://img.nickpic.host/q1eDcq.jpg', -'https://img.nickpic.host/q1ew1d.jpg', -'https://img.nickpic.host/q1ezLD.jpg', -'https://img.nickpic.host/q1e8F5.jpg', -'https://img.nickpic.host/q1eKXP.jpg', -'https://img.nickpic.host/q1eY0M.jpg', -'https://img.nickpic.host/q1eNxF.jpg', -'https://img.nickpic.host/q1eVOe.jpg', -'https://img.nickpic.host/q1efKX.jpg', -'https://img.nickpic.host/q1e2Gb.jpg', -'https://img.nickpic.host/q1e9cf.jpg', -'https://img.nickpic.host/q1ee46.jpg', -'https://img.nickpic.host/q1ekPp.jpg', -'https://img.nickpic.host/q1ePiA.jpg', -'https://img.nickpic.host/q1eLFY.jpg', -'https://img.nickpic.host/q1eT2G.jpg', -'https://img.nickpic.host/q1eZxz.jpg', -'https://img.nickpic.host/q1edhc.jpg', -'https://img.nickpic.host/q1eyKW.jpg', -'https://img.nickpic.host/q1kIG1.jpg', -'https://img.nickpic.host/q1kmgj.jpg', -'https://img.nickpic.host/q1ko4J.jpg', -'https://img.nickpic.host/q1kpPn.jpg', -'https://img.nickpic.host/q1kxas.jpg', -'https://img.nickpic.host/q1kBi2.jpg', -'https://img.nickpic.host/q1kb2Q.jpg', -'https://img.nickpic.host/q1ksBx.jpg', -'https://img.nickpic.host/q1k3hN.jpg', -'https://img.nickpic.host/q1kFYO.jpg', -'https://img.nickpic.host/q1kjIm.jpg', -'https://img.nickpic.host/q1klg8.jpg', -'https://img.nickpic.host/q1k5Dq.jpg', -'https://img.nickpic.host/q1kSPd.jpg', -'https://img.nickpic.host/q1kgaD.jpg', -'https://img.nickpic.host/q1kqn5.jpg', -'https://img.nickpic.host/q1ku2P.jpg', -'https://img.nickpic.host/q1kEBM.jpg', -'https://img.nickpic.host/q1kO6F.jpg', -'https://img.nickpic.host/q1khYe.jpg', -'https://img.nickpic.host/q1kCIX.jpg', -'https://img.nickpic.host/q1kUDf.jpg', -'https://img.nickpic.host/q1kQqb.jpg', -'https://img.nickpic.host/q1kXT6.jpg', -'https://img.nickpic.host/q1knjp.jpg', -'https://img.nickpic.host/q1ktnY.jpg', -'https://img.nickpic.host/q1kM9A.jpg', -'https://img.nickpic.host/q1k1bG.jpg', -'https://img.nickpic.host/q1k46z.jpg', -'https://img.nickpic.host/q1kDHc.jpg', -'https://img.nickpic.host/q1kzIW.jpg', -'https://img.nickpic.host/q1k7q1.jpg', -'https://img.nickpic.host/q1k8wj.jpg', -'https://img.nickpic.host/q1kKTJ.jpg', -'https://img.nickpic.host/q1kHjn.jpg', -'https://img.nickpic.host/q1kNts.jpg', -'https://img.nickpic.host/q1kV92.jpg', -'https://img.nickpic.host/q1k0bQ.jpg', -'https://img.nickpic.host/q1k2Cx.jpg', -'https://img.nickpic.host/q1k9HN.jpg', -'https://img.nickpic.host/q1kkmO.jpg', -'https://img.nickpic.host/q1kJum.jpg', -'https://img.nickpic.host/q1kLw8.jpg', -'https://img.nickpic.host/q1kPWq.jpg', -'https://img.nickpic.host/q1kWjd.jpg', -'https://img.nickpic.host/q1kZtD.jpg', -'https://img.nickpic.host/q1kde5.jpg', -'https://img.nickpic.host/q1JGbP.jpg', -'https://img.nickpic.host/q1JICM.jpg', -'https://img.nickpic.host/q1JmNF.jpg', -'https://img.nickpic.host/q1Jpme.jpg', -'https://img.nickpic.host/q1JvuX.jpg', -'https://img.nickpic.host/q1Jxzb.jpg', -'https://img.nickpic.host/q1JBWf.jpg', -'https://img.nickpic.host/q1Jrl6.jpg', -'https://img.nickpic.host/q1JsMp.jpg', -'https://img.nickpic.host/q1J3eY.jpg', -'https://img.nickpic.host/q1JarA.jpg', -'https://img.nickpic.host/q1JjQG.jpg', -'https://img.nickpic.host/q1JlNz.jpg', -'https://img.nickpic.host/q1JSoc.jpg', -'https://img.nickpic.host/q1JcuW.jpg', -'https://img.nickpic.host/q1Jgz1.jpg', -'https://img.nickpic.host/q1JqZj.jpg', -'https://img.nickpic.host/q1JAlJ.jpg', -'https://img.nickpic.host/q1JEMn.jpg', -'https://img.nickpic.host/q1JOks.jpg', -'https://img.nickpic.host/q1J6r2.jpg', -'https://img.nickpic.host/q1JCQQ.jpg', -'https://img.nickpic.host/q1JQVx.jpg', -'https://img.nickpic.host/q1JXoN.jpg', -'https://img.nickpic.host/q1JiAO.jpg', -'https://img.nickpic.host/q1Jn7m.jpg', -'https://img.nickpic.host/q1JtZ8.jpg', -'https://img.nickpic.host/q1JR5q.jpg', -'https://img.nickpic.host/q1J4kD.jpg', -'https://img.nickpic.host/q1JzQP.jpg', -'https://img.nickpic.host/q1J7VM.jpg', -'https://img.nickpic.host/q1JKpF.jpg', -'https://img.nickpic.host/q1JH7X.jpg', -'https://img.nickpic.host/q1JNdb.jpg', -'https://img.nickpic.host/q1Jf5f.jpg', -'https://img.nickpic.host/q1J0R6.jpg', -'https://img.nickpic.host/q1J2Jp.jpg', -'https://img.nickpic.host/q1JesY.jpg', -'https://img.nickpic.host/q1JJfG.jpg', -'https://img.nickpic.host/q1JkUA.jpg', -'https://img.nickpic.host/q1JTEc.jpg', -'https://img.nickpic.host/q1JW7W.jpg', -'https://img.nickpic.host/q1JZd1.jpg', -'https://img.nickpic.host/q1JySj.jpg', -'https://img.nickpic.host/q1LGRJ.jpg', -'https://img.nickpic.host/q1LIJn.jpg', -'https://img.nickpic.host/q1Lo3s.jpg', -'https://img.nickpic.host/q1LpU2.jpg', -'https://img.nickpic.host/q1LvfQ.jpg', -'https://img.nickpic.host/q1LBvx.jpg', -'https://img.nickpic.host/q1LbEN.jpg', -'https://img.nickpic.host/q1Lr8O.jpg', -'https://img.nickpic.host/q1Lsym.jpg', -'https://img.nickpic.host/q1LFS8.jpg', -'https://img.nickpic.host/q1La1q.jpg', -'https://img.nickpic.host/q1LjJd.jpg', -'https://img.nickpic.host/q1L53D.jpg', -'https://img.nickpic.host/q1LSX5.jpg', -'https://img.nickpic.host/q1LqvM.jpg', -'https://img.nickpic.host/q1LcfP.jpg', -'https://img.nickpic.host/q1LuOF.jpg', -'https://img.nickpic.host/q1LA8e.jpg', -'https://img.nickpic.host/q1LEyX.jpg', -'https://img.nickpic.host/q1Lhcb.jpg', -'https://img.nickpic.host/q1L61f.jpg', -'https://img.nickpic.host/q1LUFp.jpg', -'https://img.nickpic.host/q1LCL6.jpg', -'https://img.nickpic.host/q1LXXY.jpg', -'https://img.nickpic.host/q1Li0A.jpg', -'https://img.nickpic.host/q1LtxG.jpg', -'https://img.nickpic.host/q1LMOz.jpg', -'https://img.nickpic.host/q1LRKc.jpg', -'https://img.nickpic.host/q1L1yW.jpg', -'https://img.nickpic.host/q1LDc1.jpg', -'https://img.nickpic.host/q1Lw4j.jpg', -'https://img.nickpic.host/q1LzLJ.jpg', -'https://img.nickpic.host/q1L8Fn.jpg', -'https://img.nickpic.host/q1LKis.jpg', -'https://img.nickpic.host/q1LY02.jpg', -'https://img.nickpic.host/q1LNxQ.jpg', -'https://img.nickpic.host/q1LVhx.jpg', -'https://img.nickpic.host/q1L9gm.jpg', -'https://img.nickpic.host/q1LfKN.jpg', -'https://img.nickpic.host/q1L2GO.jpg', -'https://img.nickpic.host/q1LkPq.jpg', -'https://img.nickpic.host/q1Le48.jpg', -'https://img.nickpic.host/q1LLFd.jpg', -'https://img.nickpic.host/q1LPiD.jpg', -'https://img.nickpic.host/q1LT25.jpg', -'https://img.nickpic.host/q1LdhM.jpg', -'https://img.nickpic.host/q1LyYF.jpg', -'https://img.nickpic.host/q1LZxP.jpg', -'https://img.nickpic.host/q1PIGe.jpg', -'https://img.nickpic.host/q1PmgX.jpg', -'https://img.nickpic.host/q1PoDb.jpg', -'https://img.nickpic.host/q1PpPf.jpg', -'https://img.nickpic.host/q1Pxa6.jpg', -'https://img.nickpic.host/q1PBnp.jpg', -'https://img.nickpic.host/q1Pb2Y.jpg', -'https://img.nickpic.host/q1PsBA.jpg', -'https://img.nickpic.host/q1P36G.jpg', -'https://img.nickpic.host/q1PFYz.jpg', -'https://img.nickpic.host/q1PjIc.jpg', -'https://img.nickpic.host/q1PlgW.jpg', -'https://img.nickpic.host/q1P5D1.jpg', -'https://img.nickpic.host/q1PSTj.jpg', -'https://img.nickpic.host/q1Pqnn.jpg', -'https://img.nickpic.host/q1PgaJ.jpg', -'https://img.nickpic.host/q1Pu9s.jpg', -'https://img.nickpic.host/q1PEB2.jpg', -'https://img.nickpic.host/q1PO6Q.jpg', -'https://img.nickpic.host/q1PCIN.jpg', -'https://img.nickpic.host/q1PhHx.jpg', -'https://img.nickpic.host/q1PQqO.jpg', -'https://img.nickpic.host/q1PUwm.jpg', -'https://img.nickpic.host/q1PXT8.jpg', -'https://img.nickpic.host/q1Pnjq.jpg', -'https://img.nickpic.host/q1Ptnd.jpg', -'https://img.nickpic.host/q1PM9D.jpg', -'https://img.nickpic.host/q1P46P.jpg', -'https://img.nickpic.host/q1P1b5.jpg', -'https://img.nickpic.host/q1PDHM.jpg', -'https://img.nickpic.host/q1PzmF.jpg', -'https://img.nickpic.host/q1P7qe.jpg', -'https://img.nickpic.host/q1P8wX.jpg', -'https://img.nickpic.host/q1PKWb.jpg', -'https://img.nickpic.host/q1PHjf.jpg', -'https://img.nickpic.host/q1PNt6.jpg', -'https://img.nickpic.host/q1PVep.jpg', -'https://img.nickpic.host/q1P0bY.jpg', -'https://img.nickpic.host/q1P2CA.jpg', -'https://img.nickpic.host/q1P9NG.jpg', -'https://img.nickpic.host/q1Pkmz.jpg', -'https://img.nickpic.host/q1PJuc.jpg'] - - -global.hololive = ['https://img.nickpic.host/uYPNTc.jpg', -'https://img.nickpic.host/uYPJHs.jpg', -'https://img.nickpic.host/uYPWwx.jpg', -'https://img.nickpic.host/uYPYqG.jpg', -'https://img.nickpic.host/uYPKIA.jpg', -'https://img.nickpic.host/uYP0n1.jpg', -'https://img.nickpic.host/uYPHDz.jpg', -'https://img.nickpic.host/uYT5bf.jpg', -'https://img.nickpic.host/uYPRaX.jpg', -'https://img.nickpic.host/uYPz6p.jpg', -'https://img.nickpic.host/uYPfaW.jpg', -'https://img.nickpic.host/uYPwB6.jpg', -'https://img.nickpic.host/uYP1nb.jpg', -'https://img.nickpic.host/uYP7YY.jpg', -'https://img.nickpic.host/uYP42f.jpg', -'https://img.nickpic.host/uYPZTN.jpg', -'https://img.nickpic.host/uYP29j.jpg', -'https://img.nickpic.host/uYPk6n.jpg', -'https://img.nickpic.host/uYPeBJ.jpg', -'https://img.nickpic.host/uYPPI2.jpg', -'https://img.nickpic.host/uYTvHD.jpg', -'https://img.nickpic.host/uYTGtm.jpg', -'https://img.nickpic.host/uYPTqQ.jpg', -'https://img.nickpic.host/uYPyjO.jpg', -'https://img.nickpic.host/uYTI98.jpg', -'https://img.nickpic.host/uYTsWF.jpg', -'https://img.nickpic.host/uYTBm5.jpg', -'https://img.nickpic.host/uYTobq.jpg', -'https://img.nickpic.host/uYTp6d.jpg', -'https://img.nickpic.host/uYTFje.jpg', -'https://img.nickpic.host/uYTrwM.jpg', -'https://img.nickpic.host/uYTatX.jpg', -'https://img.nickpic.host/uYTbqP.jpg', -'https://img.nickpic.host/uYTEWz.jpg', -'https://img.nickpic.host/uYT6tW.jpg', -'https://img.nickpic.host/uYTcNp.jpg', -'https://img.nickpic.host/uYTjeb.jpg', -'https://img.nickpic.host/uYTqmY.jpg', -'https://img.nickpic.host/uYTMu2.jpg', -'https://img.nickpic.host/uYTAzG.jpg', -'https://img.nickpic.host/uYTSC6.jpg', -'https://img.nickpic.host/uYTuuA.jpg', -'https://img.nickpic.host/uYTXCJ.jpg', -'https://img.nickpic.host/uYTCe1.jpg', -'https://img.nickpic.host/uYTUrj.jpg', -'https://img.nickpic.host/uYThlc.jpg', -'https://img.nickpic.host/uYTiNn.jpg', -'https://img.nickpic.host/uYT1Zx.jpg', -'https://img.nickpic.host/uYTzkm.jpg', -'https://img.nickpic.host/uYTDlN.jpg', -'https://img.nickpic.host/uYTtos.jpg', -'https://img.nickpic.host/uYTRzQ.jpg', -'https://img.nickpic.host/uYTwMO.jpg', -'https://img.nickpic.host/uYT8r8.jpg', -'https://img.nickpic.host/uYTKQq.jpg', -'https://img.nickpic.host/uYTy7A.jpg', -'https://img.nickpic.host/uYT0ZM.jpg', -'https://img.nickpic.host/uYTYNd.jpg', -'https://img.nickpic.host/uYTLsb.jpg', -'https://img.nickpic.host/uYTNoD.jpg', -'https://img.nickpic.host/uYTdAY.jpg', -'https://img.nickpic.host/uYTVA5.jpg', -'https://img.nickpic.host/uYTeMe.jpg', -'https://img.nickpic.host/uYTfzP.jpg', -'https://img.nickpic.host/uYTZpp.jpg', -'https://img.nickpic.host/uYT95F.jpg', -'https://img.nickpic.host/uYTkkX.jpg', -'https://img.nickpic.host/uYTTV6.jpg', -'https://img.nickpic.host/uYTPQf.jpg', -'https://img.nickpic.host/uYWpkW.jpg', -'https://img.nickpic.host/uYWBUj.jpg', -'https://img.nickpic.host/uYWF72.jpg', -'https://img.nickpic.host/uYWGdG.jpg', -'https://img.nickpic.host/uYWxs1.jpg', -'https://img.nickpic.host/uYWm5z.jpg', -'https://img.nickpic.host/uYWbVJ.jpg', -'https://img.nickpic.host/uYWoRc.jpg', -'https://img.nickpic.host/uYW3Es.jpg', -'https://img.nickpic.host/uYWqU8.jpg', -'https://img.nickpic.host/uYWg3m.jpg', -'https://img.nickpic.host/uYWEpd.jpg', -'https://img.nickpic.host/uYWspn.jpg', -'https://img.nickpic.host/uYWadQ.jpg', -'https://img.nickpic.host/uYWSJO.jpg', -'https://img.nickpic.host/uYW5RN.jpg', -'https://img.nickpic.host/uYWXJe.jpg', -'https://img.nickpic.host/uYWlSx.jpg', -'https://img.nickpic.host/uYWh85.jpg', -'https://img.nickpic.host/uYWufq.jpg', -'https://img.nickpic.host/uYWOED.jpg', -'https://img.nickpic.host/uYW1v6.jpg', -'https://img.nickpic.host/uYWMff.jpg', -'https://img.nickpic.host/uYWU1F.jpg', -'https://img.nickpic.host/uYW9Ks.jpg', -'https://img.nickpic.host/uYW6dP.jpg', -'https://img.nickpic.host/uYWQSM.jpg', -'https://img.nickpic.host/uYWn3X.jpg', -'https://img.nickpic.host/uYWKLc.jpg', -'https://img.nickpic.host/uYWtXb.jpg', -'https://img.nickpic.host/uYW4Op.jpg', -'https://img.nickpic.host/uYWwyA.jpg', -'https://img.nickpic.host/uYZGxq.jpg', -'https://img.nickpic.host/uYWD8Y.jpg', -'https://img.nickpic.host/uYWNX1.jpg', -'https://img.nickpic.host/uYWH3W.jpg', -'https://img.nickpic.host/uYW7cG.jpg', -'https://img.nickpic.host/uYW81z.jpg', -'https://img.nickpic.host/uYW0vJ.jpg', -'https://img.nickpic.host/uYWV0j.jpg', -'https://img.nickpic.host/uYW2On.jpg', -'https://img.nickpic.host/uYWWFO.jpg', -'https://img.nickpic.host/uYWd08.jpg', -'https://img.nickpic.host/uYWL4x.jpg', -'https://img.nickpic.host/uYWey2.jpg', -'https://img.nickpic.host/uYWJcQ.jpg', -'https://img.nickpic.host/uYWPLN.jpg', -'https://img.nickpic.host/uYWZim.jpg', -'https://img.nickpic.host/uYZBPF.jpg', -'https://img.nickpic.host/uYZmKD.jpg', -'https://img.nickpic.host/uYZXIs.jpg', -'https://img.nickpic.host/uYZvcP.jpg', -'https://img.nickpic.host/uYZSGY.jpg', -'https://img.nickpic.host/uYZIOd.jpg', -'https://img.nickpic.host/uYZrFe.jpg', -'https://img.nickpic.host/uYZx4M.jpg', -'https://img.nickpic.host/uYZlYp.jpg', -'https://img.nickpic.host/uYZpG5.jpg', -'https://img.nickpic.host/uYZsiX.jpg', -'https://img.nickpic.host/uYZjh6.jpg', -'https://img.nickpic.host/uYZaxf.jpg', -'https://img.nickpic.host/uYZ32b.jpg', -'https://img.nickpic.host/uYZO21.jpg', -'https://img.nickpic.host/uYZ49m.jpg', -'https://img.nickpic.host/uYZqPz.jpg', -'https://img.nickpic.host/uYZcgA.jpg', -'https://img.nickpic.host/uYZgDG.jpg', -'https://img.nickpic.host/uYZChJ.jpg', -'https://img.nickpic.host/uYZAac.jpg', -'https://img.nickpic.host/uYZtTx.jpg', -'https://img.nickpic.host/uYZ6Bj.jpg', -'https://img.nickpic.host/uYZEiW.jpg', -'https://img.nickpic.host/uYZQYn.jpg', -'https://img.nickpic.host/uYZnDQ.jpg', -'https://img.nickpic.host/uYZig2.jpg', -'https://img.nickpic.host/uYZRaN.jpg', -'https://img.nickpic.host/uYZ29X.jpg', -'https://img.nickpic.host/uYZwB8.jpg', -'https://img.nickpic.host/uYZ7Yd.jpg', -'https://img.nickpic.host/uYZ1nO.jpg', -'https://img.nickpic.host/uYZz6q.jpg', -'https://img.nickpic.host/uYZebb.jpg', -'https://img.nickpic.host/uYZYq5.jpg', -'https://img.nickpic.host/uYZKID.jpg', -'https://img.nickpic.host/uYZfjF.jpg', -'https://img.nickpic.host/uYZHDP.jpg', -'https://img.nickpic.host/uYZNTM.jpg', -'https://img.nickpic.host/uYZ0ne.jpg', -'https://img.nickpic.host/uYZJH6.jpg', -'https://img.nickpic.host/uYdrw2.jpg', -'https://img.nickpic.host/uYZk6f.jpg', -'https://img.nickpic.host/uYdatN.jpg', -'https://img.nickpic.host/uYZTqY.jpg', -'https://img.nickpic.host/uYZWwA.jpg', -'https://img.nickpic.host/uYZPmp.jpg', -'https://img.nickpic.host/uYdI9W.jpg', -'https://img.nickpic.host/uYZyjz.jpg', -'https://img.nickpic.host/uYdBmn.jpg', -'https://img.nickpic.host/uYdGtc.jpg', -'https://img.nickpic.host/uYdbus.jpg', -'https://img.nickpic.host/uYZZWG.jpg', -'https://img.nickpic.host/uYdvHJ.jpg', -'https://img.nickpic.host/uYdob1.jpg', -'https://img.nickpic.host/uYdjeO.jpg', -'https://img.nickpic.host/uYdpCj.jpg', -'https://img.nickpic.host/uYd5rm.jpg', -'https://img.nickpic.host/uYdFlx.jpg', -'https://img.nickpic.host/uYdqmd.jpg', -'https://img.nickpic.host/uYdsWQ.jpg', -'https://img.nickpic.host/uYdUrX.jpg', -'https://img.nickpic.host/uYdEWP.jpg', -'https://img.nickpic.host/uYdcNq.jpg', -'https://img.nickpic.host/uYdSC8.jpg', -'https://img.nickpic.host/uYdCee.jpg', -'https://img.nickpic.host/uYduuD.jpg', -'https://img.nickpic.host/uYdhlM.jpg', -'https://img.nickpic.host/uYdAz5.jpg', -'https://img.nickpic.host/uYd6MF.jpg', -'https://img.nickpic.host/uYdXQb.jpg', -'https://img.nickpic.host/uYdYVj.jpg', -'https://img.nickpic.host/uYdRzY.jpg', -'https://img.nickpic.host/uYdto6.jpg', -'https://img.nickpic.host/uYdiNf.jpg', -'https://img.nickpic.host/uYdMAp.jpg', -'https://img.nickpic.host/uYd8rW.jpg', -'https://img.nickpic.host/uYdD5G.jpg', -'https://img.nickpic.host/uYdzkc.jpg', -'https://img.nickpic.host/uYdwMz.jpg', -'https://img.nickpic.host/uYdLsO.jpg', -'https://img.nickpic.host/uYd1ZA.jpg', -'https://img.nickpic.host/uYdNoJ.jpg', -'https://img.nickpic.host/uYdKQ1.jpg', -'https://img.nickpic.host/uYdPUm.jpg', -'https://img.nickpic.host/uYdVAn.jpg', -'https://img.nickpic.host/uYdeRx.jpg', -'https://img.nickpic.host/uYyxse.jpg', -'https://img.nickpic.host/uYd0Z2.jpg', -'https://img.nickpic.host/uYdf7s.jpg', -'https://img.nickpic.host/uYd95Q.jpg', -'https://img.nickpic.host/uYyGd5.jpg', -'https://img.nickpic.host/uYdTV8.jpg', -'https://img.nickpic.host/uYdkkN.jpg', -'https://img.nickpic.host/uYddAd.jpg', -'https://img.nickpic.host/uYdy7D.jpg', -'https://img.nickpic.host/uYym5P.jpg', -'https://img.nickpic.host/uYytXO.jpg', -'https://img.nickpic.host/uYdZpq.jpg', -'https://img.nickpic.host/uYyg3c.jpg', -'https://img.nickpic.host/uYypJF.jpg', -'https://img.nickpic.host/uYyBUX.jpg', -'https://img.nickpic.host/uYyoRM.jpg', -'https://img.nickpic.host/uYyadY.jpg', -'https://img.nickpic.host/uYy3E6.jpg', -'https://img.nickpic.host/uYyqUW.jpg', -'https://img.nickpic.host/uYyF8p.jpg', -'https://img.nickpic.host/uYybfb.jpg', -'https://img.nickpic.host/uYyspf.jpg', -'https://img.nickpic.host/uYySJz.jpg', -'https://img.nickpic.host/uYy51G.jpg', -'https://img.nickpic.host/uYyh8n.jpg', -'https://img.nickpic.host/uYylSA.jpg', -'https://img.nickpic.host/uYyuf1.jpg', -'https://img.nickpic.host/uYyOEJ.jpg', -'https://img.nickpic.host/uYyQS2.jpg', -'https://img.nickpic.host/uYyEvj.jpg', -'https://img.nickpic.host/uYyn3N.jpg', -'https://img.nickpic.host/uYy2Of.jpg', -'https://img.nickpic.host/uYyU1Q.jpg', -'https://img.nickpic.host/uYy6ys.jpg', -'https://img.nickpic.host/uYyL4A.jpg', -'https://img.nickpic.host/uYy1v8.jpg', -'https://img.nickpic.host/uYyKLM.jpg', -'https://img.nickpic.host/uYyXLx.jpg', -'https://img.nickpic.host/uYyM0m.jpg', -'https://img.nickpic.host/uYywyD.jpg', -'https://img.nickpic.host/uYyD8d.jpg', -'https://img.nickpic.host/uYy4Oq.jpg', -'https://img.nickpic.host/uYy7c5.jpg', -'https://img.nickpic.host/uYy81P.jpg', -'https://img.nickpic.host/uYyZic.jpg', -'https://img.nickpic.host/uYyNXe.jpg', -'https://img.nickpic.host/uYyHFF.jpg', -'https://img.nickpic.host/uYy0xb.jpg', -'https://img.nickpic.host/uYyV0X.jpg', -'https://img.nickpic.host/uYyWFz.jpg', -'https://img.nickpic.host/uYyJcY.jpg', -'https://img.nickpic.host/uHGGx1.jpg', -'https://img.nickpic.host/uYy9K6.jpg', -'https://img.nickpic.host/uYykGp.jpg', -'https://img.nickpic.host/uYyPPG.jpg', -'https://img.nickpic.host/uHGjh8.jpg', -'https://img.nickpic.host/uHGIhj.jpg', -'https://img.nickpic.host/uYyd0W.jpg', -'https://img.nickpic.host/uHGmKJ.jpg', -'https://img.nickpic.host/uHGpGn.jpg', -'https://img.nickpic.host/uHGBPQ.jpg', -'https://img.nickpic.host/uHGsiN.jpg', -'https://img.nickpic.host/uHGaBm.jpg', -'https://img.nickpic.host/uHGvgs.jpg', -'https://img.nickpic.host/uHGlYq.jpg', -'https://img.nickpic.host/uHGx42.jpg', -'https://img.nickpic.host/uHGrax.jpg', -'https://img.nickpic.host/uHGgD5.jpg', -'https://img.nickpic.host/uHGnDY.jpg', -'https://img.nickpic.host/uHGAaM.jpg', -'https://img.nickpic.host/uHG32O.jpg', -'https://img.nickpic.host/uHGqPP.jpg', -'https://img.nickpic.host/uHGSGd.jpg', -'https://img.nickpic.host/uHGcgD.jpg', -'https://img.nickpic.host/uHG6BX.jpg', -'https://img.nickpic.host/uHGEnF.jpg', -'https://img.nickpic.host/uHGXI6.jpg', -'https://img.nickpic.host/uHGC6b.jpg', -'https://img.nickpic.host/uHGO2e.jpg', -'https://img.nickpic.host/uHGtTA.jpg', -'https://img.nickpic.host/uHGQYf.jpg', -'https://img.nickpic.host/uHG49c.jpg', -'https://img.nickpic.host/uHGz61.jpg', -'https://img.nickpic.host/uHG1nz.jpg', -'https://img.nickpic.host/uHGiqp.jpg', -'https://img.nickpic.host/uHGRjG.jpg', -'https://img.nickpic.host/uHG7Hj.jpg', -'https://img.nickpic.host/uHGHws.jpg', -'https://img.nickpic.host/uHGwBW.jpg', -'https://img.nickpic.host/uHGYqn.jpg', -'https://img.nickpic.host/uHIGtM.jpg', -'https://img.nickpic.host/uHGKIJ.jpg', -'https://img.nickpic.host/uHG0tx.jpg', -'https://img.nickpic.host/uHGebO.jpg', -'https://img.nickpic.host/uHGkCm.jpg', -'https://img.nickpic.host/uHGNT2.jpg', -'https://img.nickpic.host/uHGfjQ.jpg', -'https://img.nickpic.host/uHIIeF.jpg', -'https://img.nickpic.host/uHIvNb.jpg', -'https://img.nickpic.host/uHGJH8.jpg', -'https://img.nickpic.host/uHG29N.jpg', -'https://img.nickpic.host/uHGZW5.jpg', -'https://img.nickpic.host/uHGPmq.jpg', -'https://img.nickpic.host/uHGTqd.jpg', -'https://img.nickpic.host/uHGWwD.jpg', -'https://img.nickpic.host/uHIrzp.jpg', -'https://img.nickpic.host/uHGyjP.jpg', -'https://img.nickpic.host/uHIpCX.jpg', -'https://img.nickpic.host/uHIUrN.jpg', -'https://img.nickpic.host/uHID55.jpg', -'https://img.nickpic.host/uHIobe.jpg', -'https://img.nickpic.host/uHIbu6.jpg', -'https://img.nickpic.host/uHIaMG.jpg', -'https://img.nickpic.host/uHIBmf.jpg', -'https://img.nickpic.host/uHIFlA.jpg', -'https://img.nickpic.host/uHIsWY.jpg', -'https://img.nickpic.host/uHIjez.jpg', -'https://img.nickpic.host/uHI5rc.jpg', -'https://img.nickpic.host/uHIcN1.jpg', -'https://img.nickpic.host/uHISCW.jpg', -'https://img.nickpic.host/uHIiVm.jpg', -'https://img.nickpic.host/uHIuuJ.jpg', -'https://img.nickpic.host/uHIqoj.jpg', -'https://img.nickpic.host/uHIAzn.jpg', -'https://img.nickpic.host/uHICkx.jpg', -'https://img.nickpic.host/uHIwMP.jpg', -'https://img.nickpic.host/uHIEZs.jpg', -'https://img.nickpic.host/uHIhl2.jpg', -'https://img.nickpic.host/uHIXQO.jpg', -'https://img.nickpic.host/uHIRzd.jpg', -'https://img.nickpic.host/uHI6MQ.jpg', -'https://img.nickpic.host/uHIf76.jpg', -'https://img.nickpic.host/uHI1ZD.jpg', -'https://img.nickpic.host/uHIto8.jpg', -'https://img.nickpic.host/uHIMAq.jpg', -'https://img.nickpic.host/uHIKQe.jpg', -'https://img.nickpic.host/uHINpb.jpg', -'https://img.nickpic.host/uHI8sF.jpg', -'https://img.nickpic.host/uHIYVX.jpg', -'https://img.nickpic.host/uHIZp1.jpg', -'https://img.nickpic.host/uHIzkM.jpg', -'https://img.nickpic.host/uHIkJG.jpg', -'https://img.nickpic.host/uHIVAf.jpg', -'https://img.nickpic.host/uHI95Y.jpg', -'https://img.nickpic.host/uHIdEj.jpg', -'https://img.nickpic.host/uHILsz.jpg', -'https://img.nickpic.host/uHI0dp.jpg', -'https://img.nickpic.host/uHIPUc.jpg', -'https://img.nickpic.host/uHIeRA.jpg', -'https://img.nickpic.host/uHITVW.jpg'] - - -global.heroacademy = ['https://img.nickpic.host/q1hKQ1.jpg', -'https://img.nickpic.host/q1h8rW.jpg', -'https://img.nickpic.host/q1hzkc.jpg', -'https://img.nickpic.host/q1hwMz.jpg', -'https://img.nickpic.host/q1h1ZA.jpg', -'https://img.nickpic.host/q1hD5G.jpg', -'https://img.nickpic.host/q1hMAp.jpg', -'https://img.nickpic.host/q1hRzY.jpg', -'https://img.nickpic.host/q1hiNf.jpg', -'https://img.nickpic.host/q1hto6.jpg', -'https://img.nickpic.host/q1hYVj.jpg', -'https://img.nickpic.host/q1hNoJ.jpg', -'https://img.nickpic.host/q1hVAn.jpg', -'https://img.nickpic.host/q1hf7s.jpg', -'https://img.nickpic.host/q1h0Z2.jpg', -'https://img.nickpic.host/q1h95Q.jpg', -'https://img.nickpic.host/q1heRx.jpg', -'https://img.nickpic.host/q1hLsO.jpg', -'https://img.nickpic.host/q1hkkN.jpg', -'https://img.nickpic.host/q1hPUm.jpg', -'https://img.nickpic.host/q1hTV8.jpg', -'https://img.nickpic.host/q1hZpq.jpg', -'https://img.nickpic.host/q1hy7D.jpg', -'https://img.nickpic.host/q1hdAd.jpg', -'https://img.nickpic.host/q16oRM.jpg', -'https://img.nickpic.host/q16Gd5.jpg', -'https://img.nickpic.host/q16m5P.jpg', -'https://img.nickpic.host/q16pJF.jpg', -'https://img.nickpic.host/q16xse.jpg', -'https://img.nickpic.host/q16BUX.jpg', -'https://img.nickpic.host/q16bfb.jpg', -'https://img.nickpic.host/q16spf.jpg', -'https://img.nickpic.host/q163E6.jpg', -'https://img.nickpic.host/q16F8p.jpg', -'https://img.nickpic.host/q16adY.jpg', -'https://img.nickpic.host/q16lSA.jpg', -'https://img.nickpic.host/q1651G.jpg', -'https://img.nickpic.host/q16SJz.jpg', -'https://img.nickpic.host/q16g3c.jpg', -'https://img.nickpic.host/q16qUW.jpg', -'https://img.nickpic.host/q16uf1.jpg', -'https://img.nickpic.host/q16Evj.jpg', -'https://img.nickpic.host/q16OEJ.jpg', -'https://img.nickpic.host/q16h8n.jpg', -'https://img.nickpic.host/q166ys.jpg', -'https://img.nickpic.host/q16QS2.jpg', -'https://img.nickpic.host/q16U1Q.jpg', -'https://img.nickpic.host/q16XLx.jpg', -'https://img.nickpic.host/q16n3N.jpg', -'https://img.nickpic.host/q16tXO.jpg', -'https://img.nickpic.host/q161v8.jpg', -'https://img.nickpic.host/q16M0m.jpg', -'https://img.nickpic.host/q164Oq.jpg', -'https://img.nickpic.host/q16wyD.jpg', -'https://img.nickpic.host/q16D8d.jpg', -'https://img.nickpic.host/q167c5.jpg', -'https://img.nickpic.host/q1681P.jpg', -'https://img.nickpic.host/q16KLM.jpg', -'https://img.nickpic.host/q16HFF.jpg', -'https://img.nickpic.host/q16NXe.jpg', -'https://img.nickpic.host/q16V0X.jpg', -'https://img.nickpic.host/q162Of.jpg', -'https://img.nickpic.host/q160xb.jpg', -'https://img.nickpic.host/q169K6.jpg', -'https://img.nickpic.host/q16kGp.jpg', -'https://img.nickpic.host/q16JcY.jpg', -'https://img.nickpic.host/q16PPG.jpg', -'https://img.nickpic.host/q16L4A.jpg', -'https://img.nickpic.host/q16WFz.jpg', -'https://img.nickpic.host/q16Zic.jpg', -'https://img.nickpic.host/q16d0W.jpg', -'https://img.nickpic.host/q1CGx1.jpg', -'https://img.nickpic.host/q1CIhj.jpg', -'https://img.nickpic.host/q1CmKJ.jpg', -'https://img.nickpic.host/q1CpGn.jpg', -'https://img.nickpic.host/q1Cvgs.jpg', -'https://img.nickpic.host/q1Cx42.jpg', -'https://img.nickpic.host/q1CBPQ.jpg', -'https://img.nickpic.host/q1Crax.jpg', -'https://img.nickpic.host/q1CsiN.jpg', -'https://img.nickpic.host/q1C32O.jpg', -'https://img.nickpic.host/q1CaBm.jpg', -'https://img.nickpic.host/q1Cjh8.jpg', -'https://img.nickpic.host/q1ClYq.jpg', -'https://img.nickpic.host/q1CSGd.jpg', -'https://img.nickpic.host/q1CcgD.jpg', -'https://img.nickpic.host/q1CgD5.jpg', -'https://img.nickpic.host/q1CqPP.jpg', -'https://img.nickpic.host/q1CAaM.jpg', -'https://img.nickpic.host/q1CEnF.jpg', -'https://img.nickpic.host/q1CO2e.jpg', -'https://img.nickpic.host/q1C6BX.jpg', -'https://img.nickpic.host/q1CC6b.jpg', -'https://img.nickpic.host/q1CQYf.jpg', -'https://img.nickpic.host/q1CXI6.jpg', -'https://img.nickpic.host/q1Ciqp.jpg', -'https://img.nickpic.host/q1CnDY.jpg', -'https://img.nickpic.host/q1CtTA.jpg', -'https://img.nickpic.host/q1CRjG.jpg', -'https://img.nickpic.host/q1C1nz.jpg', -'https://img.nickpic.host/q1C49c.jpg', -'https://img.nickpic.host/q1CwBW.jpg', -'https://img.nickpic.host/q1Cz61.jpg', -'https://img.nickpic.host/q1C7Hj.jpg', -'https://img.nickpic.host/q1CKIJ.jpg', -'https://img.nickpic.host/q1CYqn.jpg', -'https://img.nickpic.host/q1CHws.jpg', -'https://img.nickpic.host/q1CNT2.jpg', -'https://img.nickpic.host/q1CfjQ.jpg', -'https://img.nickpic.host/q1C0tx.jpg', -'https://img.nickpic.host/q1C29N.jpg', -'https://img.nickpic.host/q1CebO.jpg', -'https://img.nickpic.host/q1CkCm.jpg', -'https://img.nickpic.host/q1CJH8.jpg', -'https://img.nickpic.host/q1CPmq.jpg', -'https://img.nickpic.host/q1CTqd.jpg', -'https://img.nickpic.host/q1CWwD.jpg', -'https://img.nickpic.host/q1CZW5.jpg', -'https://img.nickpic.host/q1CyjP.jpg', -'https://img.nickpic.host/q1QGtM.jpg', -'https://img.nickpic.host/q1QIeF.jpg', -'https://img.nickpic.host/q1Qobe.jpg', -'https://img.nickpic.host/q1QpCX.jpg', -'https://img.nickpic.host/q1QvNb.jpg', -'https://img.nickpic.host/q1QBmf.jpg', -'https://img.nickpic.host/q1Qbu6.jpg', -'https://img.nickpic.host/q1Qrzp.jpg', -'https://img.nickpic.host/q1QsWY.jpg', -'https://img.nickpic.host/q1QFlA.jpg', -'https://img.nickpic.host/q1QaMG.jpg', -'https://img.nickpic.host/q1Qjez.jpg', -'https://img.nickpic.host/q1Q5rc.jpg', -'https://img.nickpic.host/q1QSCW.jpg', -'https://img.nickpic.host/q1QcN1.jpg', -'https://img.nickpic.host/q1Qqoj.jpg', -'https://img.nickpic.host/q1QuuJ.jpg', -'https://img.nickpic.host/q1QAzn.jpg', -'https://img.nickpic.host/q1QEZs.jpg', -'https://img.nickpic.host/q1Qhl2.jpg', -'https://img.nickpic.host/q1Q6MQ.jpg', -'https://img.nickpic.host/q1QCkx.jpg', -'https://img.nickpic.host/q1QUrN.jpg', -'https://img.nickpic.host/q1QXQO.jpg', -'https://img.nickpic.host/q1QiVm.jpg', -'https://img.nickpic.host/q1Qto8.jpg', -'https://img.nickpic.host/q1QMAq.jpg', -'https://img.nickpic.host/q1QRzd.jpg', -'https://img.nickpic.host/q1Q1ZD.jpg', -'https://img.nickpic.host/q1QD55.jpg', -'https://img.nickpic.host/q1QwMP.jpg', -'https://img.nickpic.host/q1QzkM.jpg', -'https://img.nickpic.host/q1Q8sF.jpg', -'https://img.nickpic.host/q1QKQe.jpg', -'https://img.nickpic.host/q1QYVX.jpg', -'https://img.nickpic.host/q1QNpb.jpg', -'https://img.nickpic.host/q1QVAf.jpg', -'https://img.nickpic.host/q1Qf76.jpg', -'https://img.nickpic.host/q1Q0dp.jpg', -'https://img.nickpic.host/q1Q95Y.jpg', -'https://img.nickpic.host/q1QeRA.jpg', -'https://img.nickpic.host/q1QkJG.jpg', -'https://img.nickpic.host/q1QLsz.jpg', -'https://img.nickpic.host/q1QPUc.jpg', -'https://img.nickpic.host/q1QTVW.jpg', -'https://img.nickpic.host/q1QZp1.jpg', -'https://img.nickpic.host/q1QdEj.jpg', -'https://img.nickpic.host/q1Qy7J.jpg', -'https://img.nickpic.host/q1UGdn.jpg', -'https://img.nickpic.host/q1UmSs.jpg', -'https://img.nickpic.host/q1UoR2.jpg', -'https://img.nickpic.host/q1Ux3x.jpg', -'https://img.nickpic.host/q1UpJQ.jpg', -'https://img.nickpic.host/q1UBUN.jpg', -'https://img.nickpic.host/q1UbfO.jpg', -'https://img.nickpic.host/q1Usvm.jpg', -'https://img.nickpic.host/q1U3E8.jpg', -'https://img.nickpic.host/q1UF8q.jpg', -'https://img.nickpic.host/q1UlSD.jpg', -'https://img.nickpic.host/q1Uadd.jpg', -'https://img.nickpic.host/q1U515.jpg', -'https://img.nickpic.host/q1USJP.jpg', -'https://img.nickpic.host/q1Ug3M.jpg', -'https://img.nickpic.host/q1UqXF.jpg', -'https://img.nickpic.host/q1Uufe.jpg', -'https://img.nickpic.host/q1UEvX.jpg', -'https://img.nickpic.host/q1UOOb.jpg', -'https://img.nickpic.host/q1Uh8f.jpg', -'https://img.nickpic.host/q1U6y6.jpg', -'https://img.nickpic.host/q1UQcp.jpg', -'https://img.nickpic.host/q1UU1Y.jpg', -'https://img.nickpic.host/q1UXLA.jpg', -'https://img.nickpic.host/q1UnFG.jpg', -'https://img.nickpic.host/q1UtXz.jpg', -'https://img.nickpic.host/q1UM0c.jpg', -'https://img.nickpic.host/q1U1vW.jpg', -'https://img.nickpic.host/q1U4O1.jpg', -'https://img.nickpic.host/q1UDKj.jpg', -'https://img.nickpic.host/q1UwyJ.jpg', -'https://img.nickpic.host/q1U7cn.jpg', -'https://img.nickpic.host/q1U84s.jpg', -'https://img.nickpic.host/q1UKL2.jpg', -'https://img.nickpic.host/q1UHFQ.jpg', -'https://img.nickpic.host/q1UNix.jpg', -'https://img.nickpic.host/q1UV0N.jpg', -'https://img.nickpic.host/q1U0xO.jpg', -'https://img.nickpic.host/q1U2hm.jpg', -'https://img.nickpic.host/q1U9K8.jpg', -'https://img.nickpic.host/q1UkGq.jpg', -'https://img.nickpic.host/q1UJcd.jpg', -'https://img.nickpic.host/q1UL4D.jpg', -'https://img.nickpic.host/q1UPP5.jpg', -'https://img.nickpic.host/q1UWFP.jpg', -'https://img.nickpic.host/q1UZiM.jpg', -'https://img.nickpic.host/q1Ud2F.jpg', -'https://img.nickpic.host/q1XGxe.jpg', -'https://img.nickpic.host/q1XIhX.jpg', -'https://img.nickpic.host/q1XmYb.jpg', -'https://img.nickpic.host/q1Xvg6.jpg', -'https://img.nickpic.host/q1XpGf.jpg', -'https://img.nickpic.host/q1XBPY.jpg', -'https://img.nickpic.host/q1XxDp.jpg', -'https://img.nickpic.host/q1XraA.jpg', -'https://img.nickpic.host/q1XsnG.jpg', -'https://img.nickpic.host/q1X32z.jpg', -'https://img.nickpic.host/q1XaBc.jpg', -'https://img.nickpic.host/q1XjhW.jpg', -'https://img.nickpic.host/q1XlY1.jpg', -'https://img.nickpic.host/q1XSIj.jpg', -'https://img.nickpic.host/q1XcgJ.jpg', -'https://img.nickpic.host/q1XgDn.jpg', -'https://img.nickpic.host/q1XqTs.jpg', -'https://img.nickpic.host/q1XAa2.jpg', -'https://img.nickpic.host/q1XEnQ.jpg', -'https://img.nickpic.host/q1XO9x.jpg', -'https://img.nickpic.host/q1X6BN.jpg', -'https://img.nickpic.host/q1XC6O.jpg', -'https://img.nickpic.host/q1XXI8.jpg', -'https://img.nickpic.host/q1XQHm.jpg', -'https://img.nickpic.host/q1Xiqq.jpg', -'https://img.nickpic.host/q1XnDd.jpg', -'https://img.nickpic.host/q1XtTD.jpg', -'https://img.nickpic.host/q1XRj5.jpg', -'https://img.nickpic.host/q1X1nP.jpg', -'https://img.nickpic.host/q1XKmb.jpg', -'https://img.nickpic.host/q1X49M.jpg', -'https://img.nickpic.host/q1XwbF.jpg', -'https://img.nickpic.host/q1X7HX.jpg', -'https://img.nickpic.host/q1Xz6e.jpg', -'https://img.nickpic.host/q1XYqf.jpg', -'https://img.nickpic.host/q1XHw6.jpg', -'https://img.nickpic.host/q1XNWp.jpg', -'https://img.nickpic.host/q1XfjY.jpg', -'https://img.nickpic.host/q1X0tA.jpg', -'https://img.nickpic.host/q1Xebz.jpg', -'https://img.nickpic.host/q1X2eG.jpg', -'https://img.nickpic.host/q1XkCc.jpg', -'https://img.nickpic.host/q1XJHW.jpg', -'https://img.nickpic.host/q1XPm1.jpg', -'https://img.nickpic.host/q1XTuj.jpg', -'https://img.nickpic.host/q1XWwJ.jpg', -'https://img.nickpic.host/q1XZWn.jpg', -'https://img.nickpic.host/q1Xyls.jpg', -'https://img.nickpic.host/q1iGt2.jpg', -'https://img.nickpic.host/q1iIeQ.jpg', -'https://img.nickpic.host/q1iorx.jpg', -'https://img.nickpic.host/q1iBom.jpg', -'https://img.nickpic.host/q1ivNO.jpg', -'https://img.nickpic.host/q1ipCN.jpg', -'https://img.nickpic.host/q1ibu8.jpg', -'https://img.nickpic.host/q1irzq.jpg', -'https://img.nickpic.host/q1iFlD.jpg', -'https://img.nickpic.host/q1isWd.jpg', -'https://img.nickpic.host/q1iaM5.jpg', -'https://img.nickpic.host/q1ijeP.jpg', -'https://img.nickpic.host/q1i5rM.jpg', -'https://img.nickpic.host/q1iSQF.jpg', -'https://img.nickpic.host/q1icNe.jpg', -'https://img.nickpic.host/q1iqoX.jpg', -'https://img.nickpic.host/q1iuAb.jpg', -'https://img.nickpic.host/q1iAzf.jpg', -'https://img.nickpic.host/q1iEZ6.jpg', -'https://img.nickpic.host/q1i6MY.jpg', -'https://img.nickpic.host/q1ih5p.jpg', -'https://img.nickpic.host/q1iCkA.jpg', -'https://img.nickpic.host/q1iUsG.jpg', -'https://img.nickpic.host/q1iXQz.jpg', -'https://img.nickpic.host/q1iiVc.jpg', -'https://img.nickpic.host/q1itoW.jpg', -'https://img.nickpic.host/q1iMA1.jpg', -'https://img.nickpic.host/q1iR7j.jpg', -'https://img.nickpic.host/q1i1ZJ.jpg', -'https://img.nickpic.host/q1iD5n.jpg', -'https://img.nickpic.host/q1iwRs.jpg', -'https://img.nickpic.host/q1izk2.jpg', -'https://img.nickpic.host/q1i8sQ.jpg', -'https://img.nickpic.host/q1iKUx.jpg', -'https://img.nickpic.host/q1iNpO.jpg', -'https://img.nickpic.host/q1iYVN.jpg', -'https://img.nickpic.host/q1iVEm.jpg', -'https://img.nickpic.host/q1if78.jpg', -'https://img.nickpic.host/q1i0dq.jpg', -'https://img.nickpic.host/q1ieRD.jpg', -'https://img.nickpic.host/q1i95d.jpg', -'https://img.nickpic.host/q1ikJ5.jpg', -'https://img.nickpic.host/q1iLsP.jpg', -'https://img.nickpic.host/q1iPUM.jpg', -'https://img.nickpic.host/q1iZpe.jpg', -'https://img.nickpic.host/q1iTfF.jpg', -'https://img.nickpic.host/q1idEX.jpg', -'https://img.nickpic.host/q1iy8b.jpg', -'https://img.nickpic.host/q1nGdf.jpg', -'https://img.nickpic.host/q1nmS6.jpg', -'https://img.nickpic.host/q1no1p.jpg', -'https://img.nickpic.host/q1npJY.jpg', -'https://img.nickpic.host/q1nBXG.jpg', -'https://img.nickpic.host/q1nsvc.jpg', -'https://img.nickpic.host/q1nx3A.jpg', -'https://img.nickpic.host/q1nbfz.jpg', -'https://img.nickpic.host/q1n3EW.jpg', -'https://img.nickpic.host/q1nayj.jpg', -'https://img.nickpic.host/q1nF81.jpg', -'https://img.nickpic.host/q1n51n.jpg', -'https://img.nickpic.host/q1nlSJ.jpg', -'https://img.nickpic.host/q1nSLs.jpg', -'https://img.nickpic.host/q1nqXQ.jpg', -'https://img.nickpic.host/q1ng32.jpg', -'https://img.nickpic.host/q1nu0x.jpg', -'https://img.nickpic.host/q1nEvN.jpg', -'https://img.nickpic.host/q1nOOO.jpg', -'https://img.nickpic.host/q1n6y8.jpg', -'https://img.nickpic.host/q1nhKm.jpg', -'https://img.nickpic.host/q1nXLD.jpg', -'https://img.nickpic.host/q1nQcq.jpg', -'https://img.nickpic.host/q1nU1d.jpg', -'https://img.nickpic.host/q1nnF5.jpg', -'https://img.nickpic.host/q1ntXP.jpg', -'https://img.nickpic.host/q1n1xF.jpg', -'https://img.nickpic.host/q1nM0M.jpg', -'https://img.nickpic.host/q1n4Oe.jpg', -'https://img.nickpic.host/q1n7cf.jpg', -'https://img.nickpic.host/q1nzGb.jpg', -'https://img.nickpic.host/q1nDKX.jpg', -'https://img.nickpic.host/q1n846.jpg', -'https://img.nickpic.host/q1nHFY.jpg', -'https://img.nickpic.host/q1nKPp.jpg', -'https://img.nickpic.host/q1nNiA.jpg', -'https://img.nickpic.host/q1n0xz.jpg', -'https://img.nickpic.host/q1nV2G.jpg', -'https://img.nickpic.host/q1n2hc.jpg', -'https://img.nickpic.host/q1n9KW.jpg', -'https://img.nickpic.host/q1nJgj.jpg', -'https://img.nickpic.host/q1nkG1.jpg', -'https://img.nickpic.host/q1nL4J.jpg', -'https://img.nickpic.host/q1nPPn.jpg', -'https://img.nickpic.host/q1nZi2.jpg', -'https://img.nickpic.host/q1nWas.jpg', -'https://img.nickpic.host/q1nd2Q.jpg', -'https://img.nickpic.host/q1tGBx.jpg', -'https://img.nickpic.host/q1tIhN.jpg', -'https://img.nickpic.host/q1tmYO.jpg', -'https://img.nickpic.host/q1tpIm.jpg', -'https://img.nickpic.host/q1tBPd.jpg', -'https://img.nickpic.host/q1tvg8.jpg', -'https://img.nickpic.host/q1txDq.jpg', -'https://img.nickpic.host/q1traD.jpg'] - - -global.rezero = ['https://img.nickpic.host/q4YjZA.jpg', -'https://img.nickpic.host/q4YazY.jpg', -'https://img.nickpic.host/q4YFAp.jpg', -'https://img.nickpic.host/q4Y3o6.jpg', -'https://img.nickpic.host/q4YrNf.jpg', -'https://img.nickpic.host/q4YBrX.jpg', -'https://img.nickpic.host/q4YbQb.jpg', -'https://img.nickpic.host/q4Yvee.jpg', -'https://img.nickpic.host/q4YpMF.jpg', -'https://img.nickpic.host/q4YolM.jpg', -'https://img.nickpic.host/q4Y55G.jpg', -'https://img.nickpic.host/q4Yckc.jpg', -'https://img.nickpic.host/q4YSMz.jpg', -'https://img.nickpic.host/q4YqrW.jpg', -'https://img.nickpic.host/q4YuQ1.jpg', -'https://img.nickpic.host/q4YhAn.jpg', -'https://img.nickpic.host/q4YOoJ.jpg', -'https://img.nickpic.host/q4YAVj.jpg', -'https://img.nickpic.host/q4Y67s.jpg', -'https://img.nickpic.host/q4YCZ2.jpg', -'https://img.nickpic.host/q4YU5Q.jpg', -'https://img.nickpic.host/q4YXRx.jpg', -'https://img.nickpic.host/q4YikN.jpg', -'https://img.nickpic.host/q4YtsO.jpg', -'https://img.nickpic.host/q4YMUm.jpg', -'https://img.nickpic.host/q4YRV8.jpg', -'https://img.nickpic.host/q4Y4pq.jpg', -'https://img.nickpic.host/q4YDAd.jpg', -'https://img.nickpic.host/q4Yw7D.jpg', -'https://img.nickpic.host/q4Yzd5.jpg', -'https://img.nickpic.host/q4Y85P.jpg', -'https://img.nickpic.host/q4YKRM.jpg', -'https://img.nickpic.host/q4YYJF.jpg', -'https://img.nickpic.host/q4YNse.jpg', -'https://img.nickpic.host/q4YVUX.jpg', -'https://img.nickpic.host/q4Yffb.jpg', -'https://img.nickpic.host/q4Y2pf.jpg', -'https://img.nickpic.host/q4Y9E6.jpg', -'https://img.nickpic.host/q4Ye8p.jpg', -'https://img.nickpic.host/q4YkdY.jpg', -'https://img.nickpic.host/q4YLSA.jpg', -'https://img.nickpic.host/q4YP1G.jpg', -'https://img.nickpic.host/q4YTJz.jpg', -'https://img.nickpic.host/q4HIvj.jpg', -'https://img.nickpic.host/q4YZ3c.jpg', -'https://img.nickpic.host/q4YdUW.jpg', -'https://img.nickpic.host/q4Yyf1.jpg', -'https://img.nickpic.host/q4HmEJ.jpg', -'https://img.nickpic.host/q4Ho8n.jpg', -'https://img.nickpic.host/q4Hpys.jpg', -'https://img.nickpic.host/q4HxS2.jpg', -'https://img.nickpic.host/q4HB1Q.jpg', -'https://img.nickpic.host/q4HbLx.jpg', -'https://img.nickpic.host/q4Hs3N.jpg', -'https://img.nickpic.host/q4H3XO.jpg', -'https://img.nickpic.host/q4HF0m.jpg', -'https://img.nickpic.host/q4Hjv8.jpg', -'https://img.nickpic.host/q4H58d.jpg', -'https://img.nickpic.host/q4HlOq.jpg', -'https://img.nickpic.host/q4HSyD.jpg', -'https://img.nickpic.host/q4Hgc5.jpg', -'https://img.nickpic.host/q4Hq1P.jpg', -'https://img.nickpic.host/q4HuLM.jpg', -'https://img.nickpic.host/q4HEFF.jpg', -'https://img.nickpic.host/q4HOXe.jpg', -'https://img.nickpic.host/q4Hh0X.jpg', -'https://img.nickpic.host/q4HCxb.jpg', -'https://img.nickpic.host/q4HQOf.jpg', -'https://img.nickpic.host/q4HUK6.jpg', -'https://img.nickpic.host/q4HiGp.jpg', -'https://img.nickpic.host/q4HncY.jpg', -'https://img.nickpic.host/q4Ht4A.jpg', -'https://img.nickpic.host/q4HMPG.jpg', -'https://img.nickpic.host/q4H1Fz.jpg', -'https://img.nickpic.host/q4H4ic.jpg', -'https://img.nickpic.host/q4HD0W.jpg', -'https://img.nickpic.host/q4H7hj.jpg', -'https://img.nickpic.host/q4Hzx1.jpg', -'https://img.nickpic.host/q4H8KJ.jpg', -'https://img.nickpic.host/q4HYGn.jpg', -'https://img.nickpic.host/q4HHgs.jpg', -'https://img.nickpic.host/q4HN42.jpg', -'https://img.nickpic.host/q4HVPQ.jpg', -'https://img.nickpic.host/q4H0ax.jpg', -'https://img.nickpic.host/q4H2iN.jpg', -'https://img.nickpic.host/q4H92O.jpg', -'https://img.nickpic.host/q4HkBm.jpg', -'https://img.nickpic.host/q4HJh8.jpg', -'https://img.nickpic.host/q4HLYq.jpg', -'https://img.nickpic.host/q4HTGd.jpg', -'https://img.nickpic.host/q4HWgD.jpg', -'https://img.nickpic.host/q4HZD5.jpg', -'https://img.nickpic.host/q4HdPP.jpg', -'https://img.nickpic.host/q4NGaM.jpg', -'https://img.nickpic.host/q4NInF.jpg', -'https://img.nickpic.host/q4NpBX.jpg', -'https://img.nickpic.host/q4Nm2e.jpg', -'https://img.nickpic.host/q4Nv6b.jpg', -'https://img.nickpic.host/q4NxYf.jpg', -'https://img.nickpic.host/q4NbI6.jpg', -'https://img.nickpic.host/q4Nrqp.jpg', -'https://img.nickpic.host/q4NsDY.jpg', -'https://img.nickpic.host/q4NajG.jpg', -'https://img.nickpic.host/q4N3TA.jpg', -'https://img.nickpic.host/q4Njnz.jpg', -'https://img.nickpic.host/q4Nl9c.jpg', -'https://img.nickpic.host/q4NSBW.jpg', -'https://img.nickpic.host/q4Nc61.jpg', -'https://img.nickpic.host/q4NgHj.jpg', -'https://img.nickpic.host/q4NOT2.jpg', -'https://img.nickpic.host/q4NuIJ.jpg', -'https://img.nickpic.host/q4NAqn.jpg', -'https://img.nickpic.host/q4NEws.jpg', -'https://img.nickpic.host/q4N6jQ.jpg', -'https://img.nickpic.host/q4NCtx.jpg', -'https://img.nickpic.host/q4NQ9N.jpg', -'https://img.nickpic.host/q4NXbO.jpg', -'https://img.nickpic.host/q4NiCm.jpg', -'https://img.nickpic.host/q4NMmq.jpg', -'https://img.nickpic.host/q4NnH8.jpg', -'https://img.nickpic.host/q4NRqd.jpg', -'https://img.nickpic.host/q4N1wD.jpg', -'https://img.nickpic.host/q4N4W5.jpg', -'https://img.nickpic.host/q4NwjP.jpg', -'https://img.nickpic.host/q4NztM.jpg', -'https://img.nickpic.host/q4NKbe.jpg', -'https://img.nickpic.host/q4NYCX.jpg', -'https://img.nickpic.host/q4N7eF.jpg', -'https://img.nickpic.host/q4NHNb.jpg', -'https://img.nickpic.host/q4NVmf.jpg', -'https://img.nickpic.host/q4Nfu6.jpg', -'https://img.nickpic.host/q4N0zp.jpg', -'https://img.nickpic.host/q4N2WY.jpg', -'https://img.nickpic.host/q4NelA.jpg', -'https://img.nickpic.host/q4NJez.jpg', -'https://img.nickpic.host/q4NkMG.jpg', -'https://img.nickpic.host/q4NTCW.jpg', -'https://img.nickpic.host/q4NPrc.jpg', -'https://img.nickpic.host/q4NWN1.jpg', -'https://img.nickpic.host/q4NyuJ.jpg', -'https://img.nickpic.host/q4Ndoj.jpg', -'https://img.nickpic.host/q4VGzn.jpg', -'https://img.nickpic.host/q4VIZs.jpg', -'https://img.nickpic.host/q4VpMQ.jpg', -'https://img.nickpic.host/q4Vol2.jpg', -'https://img.nickpic.host/q4Vvkx.jpg', -'https://img.nickpic.host/q4VBrN.jpg', -'https://img.nickpic.host/q4VbQO.jpg', -'https://img.nickpic.host/q4VrVm.jpg', -'https://img.nickpic.host/q4VFAq.jpg', -'https://img.nickpic.host/q4V3o8.jpg', -'https://img.nickpic.host/q4Vazd.jpg', -'https://img.nickpic.host/q4VjZD.jpg', -'https://img.nickpic.host/q4V555.jpg', -'https://img.nickpic.host/q4VSMP.jpg', -'https://img.nickpic.host/q4VckM.jpg', -'https://img.nickpic.host/q4VAVX.jpg', -'https://img.nickpic.host/q4V4p1.jpg', -'https://img.nickpic.host/q4VOpb.jpg', -'https://img.nickpic.host/q4VqsF.jpg', -'https://img.nickpic.host/q4VuQe.jpg', -'https://img.nickpic.host/q4VhAf.jpg', -'https://img.nickpic.host/q4V676.jpg', -'https://img.nickpic.host/q4VCdp.jpg', -'https://img.nickpic.host/q4VU5Y.jpg', -'https://img.nickpic.host/q4VXRA.jpg', -'https://img.nickpic.host/q4ViJG.jpg', -'https://img.nickpic.host/q4Vtsz.jpg', -'https://img.nickpic.host/q4VMUc.jpg', -'https://img.nickpic.host/q4VRVW.jpg', -'https://img.nickpic.host/q4VDEj.jpg', -'https://img.nickpic.host/q4Vw7J.jpg', -'https://img.nickpic.host/q4Vzdn.jpg', -'https://img.nickpic.host/q4V8Ss.jpg', -'https://img.nickpic.host/q4VKR2.jpg', -'https://img.nickpic.host/q4VVUN.jpg', -'https://img.nickpic.host/q4VYJQ.jpg', -'https://img.nickpic.host/q4VN3x.jpg', -'https://img.nickpic.host/q4VffO.jpg', -'https://img.nickpic.host/q4V2vm.jpg', -'https://img.nickpic.host/q4Ve8q.jpg', -'https://img.nickpic.host/q4V9E8.jpg', -'https://img.nickpic.host/q4Vkdd.jpg', -'https://img.nickpic.host/q4VTJP.jpg', -'https://img.nickpic.host/q4VLSD.jpg', -'https://img.nickpic.host/q4VP15.jpg', -'https://img.nickpic.host/q4VZ3M.jpg', -'https://img.nickpic.host/q4VdXF.jpg', -'https://img.nickpic.host/q4fIvX.jpg', -'https://img.nickpic.host/q4Vyfe.jpg', -'https://img.nickpic.host/q4fo8f.jpg', -'https://img.nickpic.host/q4fmOb.jpg', -'https://img.nickpic.host/q4fpy6.jpg', -'https://img.nickpic.host/q4fxcp.jpg', -'https://img.nickpic.host/q4fB1Y.jpg', -'https://img.nickpic.host/q4fsFG.jpg', -'https://img.nickpic.host/q4fF0c.jpg', -'https://img.nickpic.host/q4fbLA.jpg', -'https://img.nickpic.host/q4f3Xz.jpg', -'https://img.nickpic.host/q4flO1.jpg', -'https://img.nickpic.host/q4fjvW.jpg', -'https://img.nickpic.host/q4fgcn.jpg', -'https://img.nickpic.host/q4f5Kj.jpg', -'https://img.nickpic.host/q4fSyJ.jpg', -'https://img.nickpic.host/q4fq4s.jpg', -'https://img.nickpic.host/q4fuL2.jpg', -'https://img.nickpic.host/q4fEFQ.jpg', -'https://img.nickpic.host/q4fOix.jpg', -'https://img.nickpic.host/q4fh0N.jpg', -'https://img.nickpic.host/q4fCxO.jpg', -'https://img.nickpic.host/q4fUK8.jpg', -'https://img.nickpic.host/q4fiGq.jpg', -'https://img.nickpic.host/q4fQhm.jpg', -'https://img.nickpic.host/q4fncd.jpg', -'https://img.nickpic.host/q4ft4D.jpg', -'https://img.nickpic.host/q4f1FP.jpg', -'https://img.nickpic.host/q4fMP5.jpg', -'https://img.nickpic.host/q4f4iM.jpg', -'https://img.nickpic.host/q4fD2F.jpg', -'https://img.nickpic.host/q4fzxe.jpg', -'https://img.nickpic.host/q4f8Yb.jpg', -'https://img.nickpic.host/q4f7hX.jpg', -'https://img.nickpic.host/q4fYGf.jpg', -'https://img.nickpic.host/q4fHg6.jpg', -'https://img.nickpic.host/q4fNDp.jpg', -'https://img.nickpic.host/q4fVPY.jpg', -'https://img.nickpic.host/q4f0aA.jpg', -'https://img.nickpic.host/q4f2nG.jpg', -'https://img.nickpic.host/q4fJhW.jpg', -'https://img.nickpic.host/q4f92z.jpg', -'https://img.nickpic.host/q4fkBc.jpg', -'https://img.nickpic.host/q4fTIj.jpg', -'https://img.nickpic.host/q4fLY1.jpg', -'https://img.nickpic.host/q4fWgJ.jpg', -'https://img.nickpic.host/q4fZDn.jpg', -'https://img.nickpic.host/q4fdTs.jpg', -'https://img.nickpic.host/q40InQ.jpg', -'https://img.nickpic.host/q40Ga2.jpg', -'https://img.nickpic.host/q40m9x.jpg', -'https://img.nickpic.host/q40pBN.jpg', -'https://img.nickpic.host/q40xHm.jpg', -'https://img.nickpic.host/q40v6O.jpg', -'https://img.nickpic.host/q40bI8.jpg', -'https://img.nickpic.host/q40rqq.jpg', -'https://img.nickpic.host/q40sDd.jpg', -'https://img.nickpic.host/q40aj5.jpg', -'https://img.nickpic.host/q403TD.jpg', -'https://img.nickpic.host/q40jnP.jpg', -'https://img.nickpic.host/q40l9M.jpg', -'https://img.nickpic.host/q40SbF.jpg', -'https://img.nickpic.host/q40gHX.jpg', -'https://img.nickpic.host/q40c6e.jpg', -'https://img.nickpic.host/q40umb.jpg', -'https://img.nickpic.host/q40Aqf.jpg', -'https://img.nickpic.host/q40Ew6.jpg', -'https://img.nickpic.host/q406jY.jpg', -'https://img.nickpic.host/q40OWp.jpg', -'https://img.nickpic.host/q40CtA.jpg', -'https://img.nickpic.host/q40QeG.jpg', -'https://img.nickpic.host/q40Xbz.jpg', -'https://img.nickpic.host/q40iCc.jpg', -'https://img.nickpic.host/q40nHW.jpg', -'https://img.nickpic.host/q40Mm1.jpg', -'https://img.nickpic.host/q40Ruj.jpg', -'https://img.nickpic.host/q40zt2.jpg', -'https://img.nickpic.host/q401wJ.jpg', -'https://img.nickpic.host/q404Wn.jpg', -'https://img.nickpic.host/q40wls.jpg', -'https://img.nickpic.host/q407eQ.jpg', -'https://img.nickpic.host/q40Krx.jpg', -'https://img.nickpic.host/q40HNO.jpg', -'https://img.nickpic.host/q40Vom.jpg', -'https://img.nickpic.host/q40YCN.jpg', -'https://img.nickpic.host/q40fu8.jpg', -'https://img.nickpic.host/q402Wd.jpg', -'https://img.nickpic.host/q400zq.jpg', -'https://img.nickpic.host/q40elD.jpg', -'https://img.nickpic.host/q40kM5.jpg', -'https://img.nickpic.host/q40JeP.jpg', -'https://img.nickpic.host/q40PrM.jpg', -'https://img.nickpic.host/q42IZ6.jpg', -'https://img.nickpic.host/q40TQF.jpg', -'https://img.nickpic.host/q40WNe.jpg', -'https://img.nickpic.host/q40doX.jpg', -'https://img.nickpic.host/q40yAb.jpg', -'https://img.nickpic.host/q42Gzf.jpg', -'https://img.nickpic.host/q42pMY.jpg', -'https://img.nickpic.host/q42o5p.jpg', -'https://img.nickpic.host/q42BsG.jpg', -'https://img.nickpic.host/q42vkA.jpg', -'https://img.nickpic.host/q42bQz.jpg', -'https://img.nickpic.host/q42rVc.jpg', -'https://img.nickpic.host/q423oW.jpg', -'https://img.nickpic.host/q42a7j.jpg', -'https://img.nickpic.host/q42FA1.jpg', -'https://img.nickpic.host/q42jZJ.jpg', -'https://img.nickpic.host/q4255n.jpg', -'https://img.nickpic.host/q42ck2.jpg', -'https://img.nickpic.host/q42SRs.jpg', -'https://img.nickpic.host/q42qsQ.jpg', -'https://img.nickpic.host/q42uUx.jpg', -'https://img.nickpic.host/q42OpO.jpg', -'https://img.nickpic.host/q42AVN.jpg', -'https://img.nickpic.host/q42hEm.jpg', -'https://img.nickpic.host/q42678.jpg', -'https://img.nickpic.host/q42Cdq.jpg', -'https://img.nickpic.host/q42U5d.jpg', -'https://img.nickpic.host/q42XRD.jpg', -'https://img.nickpic.host/q42MUM.jpg', -'https://img.nickpic.host/q42iJ5.jpg', -'https://img.nickpic.host/q42tsP.jpg', -'https://img.nickpic.host/q42RfF.jpg', -'https://img.nickpic.host/q424pe.jpg', -'https://img.nickpic.host/q42DEX.jpg', -'https://img.nickpic.host/q42w8b.jpg', -'https://img.nickpic.host/q42zdf.jpg', -'https://img.nickpic.host/q428S6.jpg', -'https://img.nickpic.host/q42K1p.jpg', -'https://img.nickpic.host/q42YJY.jpg', -'https://img.nickpic.host/q42ffz.jpg', -'https://img.nickpic.host/q42N3A.jpg', -'https://img.nickpic.host/q42VXG.jpg', -'https://img.nickpic.host/q422vc.jpg', -'https://img.nickpic.host/q42e81.jpg', -'https://img.nickpic.host/q42P1n.jpg', -'https://img.nickpic.host/q429EW.jpg', -'https://img.nickpic.host/q42kyj.jpg', -'https://img.nickpic.host/q42LSJ.jpg', -'https://img.nickpic.host/q42TLs.jpg', -'https://img.nickpic.host/q42dXQ.jpg', -'https://img.nickpic.host/q49IvN.jpg', -'https://img.nickpic.host/q42y0x.jpg', -'https://img.nickpic.host/q49mOO.jpg', -'https://img.nickpic.host/q49oKm.jpg', -'https://img.nickpic.host/q49py8.jpg', -'https://img.nickpic.host/q49xcq.jpg', -'https://img.nickpic.host/q49B1d.jpg', -'https://img.nickpic.host/q49bLD.jpg', -'https://img.nickpic.host/q49sF5.jpg', -'https://img.nickpic.host/q493XP.jpg', -'https://img.nickpic.host/q49F0M.jpg', -'https://img.nickpic.host/q49jxF.jpg', -'https://img.nickpic.host/q49lOe.jpg', -'https://img.nickpic.host/q495KX.jpg', -'https://img.nickpic.host/q49cGb.jpg', -'https://img.nickpic.host/q49gcf.jpg', -'https://img.nickpic.host/q49q46.jpg', -'https://img.nickpic.host/q49uPp.jpg', -'https://img.nickpic.host/q49EFY.jpg', -'https://img.nickpic.host/q49h2G.jpg', -'https://img.nickpic.host/q49OiA.jpg', -'https://img.nickpic.host/q49Qhc.jpg', -'https://img.nickpic.host/q49Cxz.jpg', -'https://img.nickpic.host/q49UKW.jpg', -'https://img.nickpic.host/q49iG1.jpg', -'https://img.nickpic.host/q49MPn.jpg', -'https://img.nickpic.host/q494i2.jpg', -'https://img.nickpic.host/q49ngj.jpg', -'https://img.nickpic.host/q49t4J.jpg', -'https://img.nickpic.host/q491as.jpg', -'https://img.nickpic.host/q49D2Q.jpg', -'https://img.nickpic.host/q49zBx.jpg', -'https://img.nickpic.host/q498YO.jpg', -'https://img.nickpic.host/q497hN.jpg', -'https://img.nickpic.host/q49YIm.jpg', -'https://img.nickpic.host/q49NDq.jpg', -'https://img.nickpic.host/q49Hg8.jpg', -'https://img.nickpic.host/q490aD.jpg', -'https://img.nickpic.host/q49VPd.jpg', -'https://img.nickpic.host/q492n5.jpg', -'https://img.nickpic.host/q4992P.jpg', -'https://img.nickpic.host/q49kBM.jpg', -'https://img.nickpic.host/q49LYe.jpg', -'https://img.nickpic.host/q49J6F.jpg', -'https://img.nickpic.host/q49TIX.jpg', -'https://img.nickpic.host/q49Wqb.jpg', -'https://img.nickpic.host/q4eGjp.jpg', -'https://img.nickpic.host/q49ZDf.jpg', -'https://img.nickpic.host/q49dT6.jpg', -'https://img.nickpic.host/q4eInY.jpg', -'https://img.nickpic.host/q4em9A.jpg', -'https://img.nickpic.host/q4ev6z.jpg', -'https://img.nickpic.host/q4epbG.jpg', -'https://img.nickpic.host/q4exHc.jpg', -'https://img.nickpic.host/q4ebIW.jpg', -'https://img.nickpic.host/q4eswj.jpg', -'https://img.nickpic.host/q4erq1.jpg', -'https://img.nickpic.host/q4eajn.jpg', -'https://img.nickpic.host/q4e3TJ.jpg', -'https://img.nickpic.host/q4ejts.jpg', -'https://img.nickpic.host/q4eSbQ.jpg', -'https://img.nickpic.host/q4el92.jpg', -'https://img.nickpic.host/q4ecCx.jpg', -'https://img.nickpic.host/q4egHN.jpg', -'https://img.nickpic.host/q4eumO.jpg', -'https://img.nickpic.host/q4eAum.jpg', -'https://img.nickpic.host/q4eEw8.jpg', -'https://img.nickpic.host/q4e6jd.jpg', -'https://img.nickpic.host/q4eOWq.jpg', -'https://img.nickpic.host/q4eCtD.jpg', -'https://img.nickpic.host/q4eQe5.jpg', -'https://img.nickpic.host/q4eXbP.jpg', -'https://img.nickpic.host/q4eiCM.jpg', -'https://img.nickpic.host/q4enNF.jpg', -'https://img.nickpic.host/q4eMme.jpg', -'https://img.nickpic.host/q4eRuX.jpg', -'https://img.nickpic.host/q4e1zb.jpg', -'https://img.nickpic.host/q4e4Wf.jpg', -'https://img.nickpic.host/q4ewl6.jpg', -'https://img.nickpic.host/q4ezMp.jpg', -'https://img.nickpic.host/q4e7eY.jpg', -'https://img.nickpic.host/q4eKrA.jpg', -'https://img.nickpic.host/q4eYQG.jpg', -'https://img.nickpic.host/q4eHNz.jpg', -'https://img.nickpic.host/q4eVoc.jpg', -'https://img.nickpic.host/q4efuW.jpg', -'https://img.nickpic.host/q4e0z1.jpg', -'https://img.nickpic.host/q4e2Zj.jpg', -'https://img.nickpic.host/q4eelJ.jpg', -'https://img.nickpic.host/q4ekMn.jpg', -'https://img.nickpic.host/q4ePr2.jpg', -'https://img.nickpic.host/q4eJks.jpg', -'https://img.nickpic.host/q4eTQQ.jpg', -'https://img.nickpic.host/q4edoN.jpg', -'https://img.nickpic.host/q4eWVx.jpg', -'https://img.nickpic.host/q4kG7m.jpg', -'https://img.nickpic.host/q4eyAO.jpg', -'https://img.nickpic.host/q4kIZ8.jpg', -'https://img.nickpic.host/q4kpMd.jpg', -'https://img.nickpic.host/q4ko5q.jpg', -'https://img.nickpic.host/q4kBs5.jpg', -'https://img.nickpic.host/q4kvkD.jpg', -'https://img.nickpic.host/q4kbQP.jpg', -'https://img.nickpic.host/q4k3pF.jpg', -'https://img.nickpic.host/q4krVM.jpg', -'https://img.nickpic.host/q4ka7X.jpg', -'https://img.nickpic.host/q4kFAe.jpg', -'https://img.nickpic.host/q4k55f.jpg', -'https://img.nickpic.host/q4kjdb.jpg', -'https://img.nickpic.host/q4kSR6.jpg', -'https://img.nickpic.host/q4kcJp.jpg', -'https://img.nickpic.host/q4kqsY.jpg', -'https://img.nickpic.host/q4kuUA.jpg', -'https://img.nickpic.host/q4kAfG.jpg', -'https://img.nickpic.host/q4kOpz.jpg', -'https://img.nickpic.host/q4k67W.jpg', -'https://img.nickpic.host/q4khEc.jpg', -'https://img.nickpic.host/q4kCd1.jpg', -'https://img.nickpic.host/q4kUSj.jpg', -'https://img.nickpic.host/q4kXRJ.jpg', -'https://img.nickpic.host/q4kiJn.jpg', -'https://img.nickpic.host/q4kt3s.jpg', -'https://img.nickpic.host/q4kMU2.jpg', -'https://img.nickpic.host/q4k4vx.jpg', -'https://img.nickpic.host/q4kRfQ.jpg', -'https://img.nickpic.host/q4kDEN.jpg', -'https://img.nickpic.host/q4kw8O.jpg', -'https://img.nickpic.host/q4kzym.jpg', -'https://img.nickpic.host/q4k8S8.jpg', -'https://img.nickpic.host/q4kK1q.jpg', -'https://img.nickpic.host/q4kYJd.jpg', -'https://img.nickpic.host/q4kN3D.jpg', -'https://img.nickpic.host/q4kVX5.jpg', -'https://img.nickpic.host/q4kffP.jpg', -'https://img.nickpic.host/q4k2vM.jpg', -'https://img.nickpic.host/q4k9OF.jpg', -'https://img.nickpic.host/q4ke8e.jpg', -'https://img.nickpic.host/q4kkyX.jpg', -'https://img.nickpic.host/q4kLcb.jpg', -'https://img.nickpic.host/q4kP1f.jpg', -'https://img.nickpic.host/q4kTL6.jpg', -'https://img.nickpic.host/q4kZFp.jpg', -'https://img.nickpic.host/q4kdXY.jpg', -'https://img.nickpic.host/q4ky0A.jpg', -'https://img.nickpic.host/q4JIxG.jpg', -'https://img.nickpic.host/q4JmOz.jpg', -'https://img.nickpic.host/q4JoKc.jpg', -'https://img.nickpic.host/q4JpyW.jpg', -'https://img.nickpic.host/q4Jxc1.jpg', -'https://img.nickpic.host/q4JB4j.jpg', -'https://img.nickpic.host/q4JbLJ.jpg', -'https://img.nickpic.host/q4JsFn.jpg', -'https://img.nickpic.host/q4J3is.jpg', -'https://img.nickpic.host/q4JjxQ.jpg', -'https://img.nickpic.host/q4JF02.jpg', -'https://img.nickpic.host/q4Jlhx.jpg', -'https://img.nickpic.host/q4J5KN.jpg', -'https://img.nickpic.host/q4JcGO.jpg', -'https://img.nickpic.host/q4Jq48.jpg', -'https://img.nickpic.host/q4Jggm.jpg', -'https://img.nickpic.host/q4JuPq.jpg', -'https://img.nickpic.host/q4JEFd.jpg', -'https://img.nickpic.host/q4JOiD.jpg', -'https://img.nickpic.host/q4JQhM.jpg', -'https://img.nickpic.host/q4Jh25.jpg', -'https://img.nickpic.host/q4JCxP.jpg', -'https://img.nickpic.host/q4JUYF.jpg', -'https://img.nickpic.host/q4JiGe.jpg', -'https://img.nickpic.host/q4JtDb.jpg', -'https://img.nickpic.host/q4JngX.jpg', -'https://img.nickpic.host/q4JMPf.jpg', -'https://img.nickpic.host/q4J1a6.jpg', -'https://img.nickpic.host/q4J4np.jpg', -'https://img.nickpic.host/q4JD2Y.jpg', -'https://img.nickpic.host/q4JzBA.jpg', -'https://img.nickpic.host/q4J76G.jpg', -'https://img.nickpic.host/q4JND1.jpg', -'https://img.nickpic.host/q4JYIc.jpg', -'https://img.nickpic.host/q4J8Yz.jpg', -'https://img.nickpic.host/q4JHgW.jpg', -'https://img.nickpic.host/q4JVTj.jpg', -'https://img.nickpic.host/q4J2nn.jpg', -'https://img.nickpic.host/q4J0aJ.jpg', -'https://img.nickpic.host/q4J99s.jpg', -'https://img.nickpic.host/q4JkB2.jpg', -'https://img.nickpic.host/q4JJ6Q.jpg', -'https://img.nickpic.host/q4JTIN.jpg', -'https://img.nickpic.host/q4JLHx.jpg', -'https://img.nickpic.host/q4JWqO.jpg', -'https://img.nickpic.host/q4JZwm.jpg', -'https://img.nickpic.host/q4JdT8.jpg', -'https://img.nickpic.host/q4LGjq.jpg', -'https://img.nickpic.host/q4LInd.jpg', -'https://img.nickpic.host/q4Lpb5.jpg', -'https://img.nickpic.host/q4Lm9D.jpg', -'https://img.nickpic.host/q4Lv6P.jpg', -'https://img.nickpic.host/q4LxHM.jpg', -'https://img.nickpic.host/q4LbmF.jpg', -'https://img.nickpic.host/q4Lrqe.jpg', -'https://img.nickpic.host/q4LswX.jpg', -'https://img.nickpic.host/q4L3Wb.jpg', -'https://img.nickpic.host/q4Lajf.jpg', -'https://img.nickpic.host/q4Ljt6.jpg', -'https://img.nickpic.host/q4Llep.jpg', -'https://img.nickpic.host/q4LSbY.jpg', -'https://img.nickpic.host/q4LgNG.jpg', -'https://img.nickpic.host/q4LcCA.jpg', -'https://img.nickpic.host/q4Lumz.jpg', -'https://img.nickpic.host/q4LAuc.jpg', -'https://img.nickpic.host/q4LEwW.jpg', -'https://img.nickpic.host/q4LOW1.jpg', -'https://img.nickpic.host/q4L6lj.jpg', -'https://img.nickpic.host/q4LCtJ.jpg', -'https://img.nickpic.host/q4LQen.jpg', -'https://img.nickpic.host/q4LXrs.jpg', -'https://img.nickpic.host/q4LiC2.jpg', -'https://img.nickpic.host/q4LnNQ.jpg', -'https://img.nickpic.host/q4LMox.jpg', -'https://img.nickpic.host/q4LRuN.jpg', -'https://img.nickpic.host/q4L1zO.jpg', -'https://img.nickpic.host/q4L4Zm.jpg', -'https://img.nickpic.host/q4Lwl8.jpg', -'https://img.nickpic.host/q4LzMq.jpg', -'https://img.nickpic.host/q4L7ed.jpg', -'https://img.nickpic.host/q4LYQ5.jpg', -'https://img.nickpic.host/q4LKrD.jpg', -'https://img.nickpic.host/q4LHNP.jpg', -'https://img.nickpic.host/q4LVoM.jpg', -'https://img.nickpic.host/q4LfAF.jpg', -'https://img.nickpic.host/q4L0ze.jpg', -'https://img.nickpic.host/q4L2ZX.jpg', -'https://img.nickpic.host/q4Le5b.jpg', -'https://img.nickpic.host/q4LkMf.jpg', -'https://img.nickpic.host/q4LJk6.jpg', -'https://img.nickpic.host/q4LWVA.jpg', -'https://img.nickpic.host/q4LPsp.jpg', -'https://img.nickpic.host/q4LTQY.jpg', -'https://img.nickpic.host/q4LyAz.jpg', -'https://img.nickpic.host/q4LdpG.jpg', -'https://img.nickpic.host/q4PIZW.jpg', -'https://img.nickpic.host/q4PG7c.jpg', -'https://img.nickpic.host/q4Po51.jpg', -'https://img.nickpic.host/q4PvkJ.jpg', -'https://img.nickpic.host/q4PbUs.jpg', -'https://img.nickpic.host/q4PpRj.jpg', -'https://img.nickpic.host/q4PrV2.jpg', -'https://img.nickpic.host/q4PFEx.jpg', -'https://img.nickpic.host/q4P3pQ.jpg', -'https://img.nickpic.host/q4Pa7N.jpg', -'https://img.nickpic.host/q4PjdO.jpg', -'https://img.nickpic.host/q4P5Sm.jpg', -'https://img.nickpic.host/q4PSR8.jpg', -'https://img.nickpic.host/q4PuUD.jpg', -'https://img.nickpic.host/q4Pqsd.jpg', -'https://img.nickpic.host/q4PcJq.jpg', -'https://img.nickpic.host/q4PAf5.jpg', -'https://img.nickpic.host/q4POpP.jpg', -'https://img.nickpic.host/q4PhEM.jpg', -'https://img.nickpic.host/q4P68F.jpg', -'https://img.nickpic.host/q4PCde.jpg'] - - -global.tatsumaki = ['https://img.nickpic.host/qLC16Q.jpg', -'https://img.nickpic.host/qLC4Hx.jpg', -'https://img.nickpic.host/qLCwIN.jpg', -'https://img.nickpic.host/qLCzqO.jpg', -'https://img.nickpic.host/qLC7wm.jpg', -'https://img.nickpic.host/qLC8T8.jpg', -'https://img.nickpic.host/qLCYjq.jpg', -'https://img.nickpic.host/qLCHnd.jpg', -'https://img.nickpic.host/qLCN9D.jpg', -'https://img.nickpic.host/qLCfb5.jpg', -'https://img.nickpic.host/qLC06P.jpg', -'https://img.nickpic.host/qLC2HM.jpg', -'https://img.nickpic.host/qLCemF.jpg', -'https://img.nickpic.host/qLCkqe.jpg', -'https://img.nickpic.host/qLCJwX.jpg', -'https://img.nickpic.host/qLCLWb.jpg', -'https://img.nickpic.host/qLCTjf.jpg', -'https://img.nickpic.host/qLCWt6.jpg', -'https://img.nickpic.host/qLCZep.jpg', -'https://img.nickpic.host/qLCybY.jpg', -'https://img.nickpic.host/qLQGCA.jpg', -'https://img.nickpic.host/qLQING.jpg', -'https://img.nickpic.host/qLQomz.jpg', -'https://img.nickpic.host/qLQpuc.jpg', -'https://img.nickpic.host/qLQvwW.jpg', -'https://img.nickpic.host/qLQxW1.jpg', -'https://img.nickpic.host/qLQblj.jpg', -'https://img.nickpic.host/qLQrtJ.jpg', -'https://img.nickpic.host/qLQsen.jpg', -'https://img.nickpic.host/qLQFrs.jpg', -'https://img.nickpic.host/qLQaC2.jpg', -'https://img.nickpic.host/qLQjNQ.jpg', -'https://img.nickpic.host/qLQ5ox.jpg', -'https://img.nickpic.host/qLQSuN.jpg', -'https://img.nickpic.host/qLQczO.jpg', -'https://img.nickpic.host/qLQgZm.jpg', -'https://img.nickpic.host/qLQul8.jpg', -'https://img.nickpic.host/qLQAMq.jpg', -'https://img.nickpic.host/qLQEed.jpg', -'https://img.nickpic.host/qLQhrD.jpg', -'https://img.nickpic.host/qLQ6Q5.jpg', -'https://img.nickpic.host/qLQCNP.jpg', -'https://img.nickpic.host/qLQUoM.jpg', -'https://img.nickpic.host/qLQXAF.jpg', -'https://img.nickpic.host/qLQize.jpg', -'https://img.nickpic.host/qLQnZX.jpg', -'https://img.nickpic.host/qLQM5b.jpg', -'https://img.nickpic.host/qLQRMf.jpg', -'https://img.nickpic.host/qLQ1k6.jpg', -'https://img.nickpic.host/qLQDsp.jpg', -'https://img.nickpic.host/qLQwQY.jpg', -'https://img.nickpic.host/qLQzVA.jpg', -'https://img.nickpic.host/qLQ8pG.jpg', -'https://img.nickpic.host/qLQKAz.jpg', -'https://img.nickpic.host/qLQY7c.jpg', -'https://img.nickpic.host/qLQHZW.jpg', -'https://img.nickpic.host/qLQV51.jpg', -'https://img.nickpic.host/qLQfRj.jpg', -'https://img.nickpic.host/qLQ0kJ.jpg', -'https://img.nickpic.host/qLQ9sn.jpg', -'https://img.nickpic.host/qLQeUs.jpg', -'https://img.nickpic.host/qLQkV2.jpg', -'https://img.nickpic.host/qLQLpQ.jpg', -'https://img.nickpic.host/qLQPEx.jpg', -'https://img.nickpic.host/qLQT7N.jpg', -'https://img.nickpic.host/qLQWdO.jpg', -'https://img.nickpic.host/qLQdSm.jpg', -'https://img.nickpic.host/qLQyR8.jpg', -'https://img.nickpic.host/qLUGJq.jpg', -'https://img.nickpic.host/qLUmsd.jpg', -'https://img.nickpic.host/qLUoUD.jpg', -'https://img.nickpic.host/qLUpf5.jpg', -'https://img.nickpic.host/qLUxpP.jpg', -'https://img.nickpic.host/qLUBEM.jpg', -'https://img.nickpic.host/qLUb8F.jpg', -'https://img.nickpic.host/qLUrde.jpg', -'https://img.nickpic.host/qLU3SX.jpg', -'https://img.nickpic.host/qLUF1b.jpg', -'https://img.nickpic.host/qLUaJf.jpg', -'https://img.nickpic.host/qLUl36.jpg', -'https://img.nickpic.host/qLU5Xp.jpg', -'https://img.nickpic.host/qLUSfY.jpg', -'https://img.nickpic.host/qLUgvA.jpg', -'https://img.nickpic.host/qLUqOG.jpg', -'https://img.nickpic.host/qLUu8z.jpg', -'https://img.nickpic.host/qLUAyc.jpg', -'https://img.nickpic.host/qLUOSW.jpg', -'https://img.nickpic.host/qLUh11.jpg', -'https://img.nickpic.host/qLU6Lj.jpg', -'https://img.nickpic.host/qLUQ3J.jpg', -'https://img.nickpic.host/qLUUXn.jpg', -'https://img.nickpic.host/qLUX0s.jpg', -'https://img.nickpic.host/qLUnv2.jpg', -'https://img.nickpic.host/qLUtOQ.jpg', -'https://img.nickpic.host/qLUMKx.jpg', -'https://img.nickpic.host/qLURyN.jpg', -'https://img.nickpic.host/qLU4cO.jpg', -'https://img.nickpic.host/qLUD4m.jpg', -'https://img.nickpic.host/qLUwL8.jpg', -'https://img.nickpic.host/qLU7Fq.jpg', -'https://img.nickpic.host/qLU8Xd.jpg', -'https://img.nickpic.host/qLUK0D.jpg', -'https://img.nickpic.host/qLUHx5.jpg', -'https://img.nickpic.host/qLUNOP.jpg', -'https://img.nickpic.host/qLUVKM.jpg', -'https://img.nickpic.host/qLU0GF.jpg', -'https://img.nickpic.host/qLU2ce.jpg', -'https://img.nickpic.host/qLU94X.jpg', -'https://img.nickpic.host/qLUePb.jpg', -'https://img.nickpic.host/qLUJFf.jpg', -'https://img.nickpic.host/qLULi6.jpg', -'https://img.nickpic.host/qLUP2p.jpg', -'https://img.nickpic.host/qLUWxY.jpg', -'https://img.nickpic.host/qLUZhA.jpg', -'https://img.nickpic.host/qLUdYG.jpg', -'https://img.nickpic.host/qLXGGz.jpg', -'https://img.nickpic.host/qLXIgc.jpg', -'https://img.nickpic.host/qLXm4W.jpg', -'https://img.nickpic.host/qLXoP1.jpg', -'https://img.nickpic.host/qLXvaj.jpg', -'https://img.nickpic.host/qLXxiJ.jpg', -'https://img.nickpic.host/qLXB2n.jpg', -'https://img.nickpic.host/qLXrBs.jpg', -'https://img.nickpic.host/qLXsh2.jpg', -'https://img.nickpic.host/qLX3YQ.jpg', -'https://img.nickpic.host/qLXaIx.jpg', -'https://img.nickpic.host/qLXjgN.jpg', -'https://img.nickpic.host/qLXlDO.jpg', -'https://img.nickpic.host/qLX5Tm.jpg', -'https://img.nickpic.host/qLXca8.jpg', -'https://img.nickpic.host/qLXgnq.jpg', -'https://img.nickpic.host/qLXq2d.jpg', -'https://img.nickpic.host/qLXABD.jpg', -'https://img.nickpic.host/qLXE65.jpg', -'https://img.nickpic.host/qLXOYP.jpg', -'https://img.nickpic.host/qLX6IM.jpg', -'https://img.nickpic.host/qLXCqF.jpg', -'https://img.nickpic.host/qLXQDe.jpg', -'https://img.nickpic.host/qLXUTX.jpg', -'https://img.nickpic.host/qLXijb.jpg', -'https://img.nickpic.host/qLXnnf.jpg', -'https://img.nickpic.host/qLXt96.jpg', -'https://img.nickpic.host/qLXRbp.jpg', -'https://img.nickpic.host/qLX16Y.jpg', -'https://img.nickpic.host/qLX4HA.jpg', -'https://img.nickpic.host/qLXwmG.jpg', -'https://img.nickpic.host/qLXzqz.jpg', -'https://img.nickpic.host/qLX7wc.jpg', -'https://img.nickpic.host/qLX8TW.jpg', -'https://img.nickpic.host/qLXYj1.jpg', -'https://img.nickpic.host/qLXHtj.jpg', -'https://img.nickpic.host/qLXN9J.jpg', -'https://img.nickpic.host/qLXfbn.jpg', -'https://img.nickpic.host/qLX0Cs.jpg', -'https://img.nickpic.host/qLX2H2.jpg', -'https://img.nickpic.host/qLXkux.jpg', -'https://img.nickpic.host/qLXemQ.jpg', -'https://img.nickpic.host/qLXJwN.jpg', -'https://img.nickpic.host/qLXLWO.jpg', -'https://img.nickpic.host/qLXTlm.jpg', -'https://img.nickpic.host/qLXWt8.jpg', -'https://img.nickpic.host/qLXZeq.jpg', -'https://img.nickpic.host/qLXybd.jpg', -'https://img.nickpic.host/qLiGCD.jpg', -'https://img.nickpic.host/qLiIN5.jpg', -'https://img.nickpic.host/qLiomP.jpg', -'https://img.nickpic.host/qLipuM.jpg', -'https://img.nickpic.host/qLixWe.jpg', -'https://img.nickpic.host/qLivzF.jpg', -'https://img.nickpic.host/qLiblX.jpg', -'https://img.nickpic.host/qLirMb.jpg', -'https://img.nickpic.host/qLisef.jpg', -'https://img.nickpic.host/qLiFr6.jpg', -'https://img.nickpic.host/qLiaQp.jpg', -'https://img.nickpic.host/qLijNY.jpg', -'https://img.nickpic.host/qLi5oA.jpg', -'https://img.nickpic.host/qLiSAG.jpg', -'https://img.nickpic.host/qLiczz.jpg', -'https://img.nickpic.host/qLigZc.jpg', -'https://img.nickpic.host/qLiulW.jpg', -'https://img.nickpic.host/qLiAM1.jpg', -'https://img.nickpic.host/qLiEkj.jpg', -'https://img.nickpic.host/qLihrJ.jpg', -'https://img.nickpic.host/qLi6Qn.jpg', -'https://img.nickpic.host/qLiCVs.jpg', -'https://img.nickpic.host/qLiUo2.jpg', -'https://img.nickpic.host/qLiXAQ.jpg', -'https://img.nickpic.host/qLii7x.jpg', -'https://img.nickpic.host/qLinZN.jpg', -'https://img.nickpic.host/qLiM5O.jpg', -'https://img.nickpic.host/qLiRRm.jpg', -'https://img.nickpic.host/qLi1k8.jpg', -'https://img.nickpic.host/qLiDsq.jpg', -'https://img.nickpic.host/qLiwQd.jpg', -'https://img.nickpic.host/qLizVD.jpg', -'https://img.nickpic.host/qLi8p5.jpg', -'https://img.nickpic.host/qLiKAP.jpg', -'https://img.nickpic.host/qLiY7M.jpg', -'https://img.nickpic.host/qLiHdF.jpg', -'https://img.nickpic.host/qLiV5e.jpg', -'https://img.nickpic.host/qLifRX.jpg', -'https://img.nickpic.host/qLi0Jb.jpg', -'https://img.nickpic.host/qLi9sf.jpg', -'https://img.nickpic.host/qLieU6.jpg', -'https://img.nickpic.host/qLikfp.jpg', -'https://img.nickpic.host/qLiLpY.jpg', -'https://img.nickpic.host/qLiPEA.jpg', -'https://img.nickpic.host/qLiT8G.jpg', -'https://img.nickpic.host/qLiWdz.jpg', -'https://img.nickpic.host/qLidSc.jpg', -'https://img.nickpic.host/qLiyRW.jpg', -'https://img.nickpic.host/qLnGJ1.jpg', -'https://img.nickpic.host/qLnm3j.jpg', -'https://img.nickpic.host/qLnoUJ.jpg', -'https://img.nickpic.host/qLnpfn.jpg', -'https://img.nickpic.host/qLnxvs.jpg', -'https://img.nickpic.host/qLnBE2.jpg', -'https://img.nickpic.host/qLnb8Q.jpg', -'https://img.nickpic.host/qLnryx.jpg', -'https://img.nickpic.host/qLn3SN.jpg', -'https://img.nickpic.host/qLnF1O.jpg', -'https://img.nickpic.host/qLnaLm.jpg', -'https://img.nickpic.host/qLnl38.jpg', -'https://img.nickpic.host/qLn5Xq.jpg', -'https://img.nickpic.host/qLnSfd.jpg', -'https://img.nickpic.host/qLngvD.jpg', -'https://img.nickpic.host/qLnqO5.jpg', -'https://img.nickpic.host/qLnu8P.jpg', -'https://img.nickpic.host/qLnAyM.jpg', -'https://img.nickpic.host/qLnOcF.jpg', -'https://img.nickpic.host/qLnh1e.jpg', -'https://img.nickpic.host/qLn6LX.jpg', -'https://img.nickpic.host/qLnQFb.jpg', -'https://img.nickpic.host/qLnUXf.jpg', -'https://img.nickpic.host/qLnX06.jpg', -'https://img.nickpic.host/qLnnxp.jpg', -'https://img.nickpic.host/qLntOY.jpg', -'https://img.nickpic.host/qLn1GG.jpg', -'https://img.nickpic.host/qLnMKA.jpg', -'https://img.nickpic.host/qLn4cz.jpg', -'https://img.nickpic.host/qLnD4c.jpg', -'https://img.nickpic.host/qLnwLW.jpg', -'https://img.nickpic.host/qLn7F1.jpg', -'https://img.nickpic.host/qLn8ij.jpg', -'https://img.nickpic.host/qLnK0J.jpg', -'https://img.nickpic.host/qLnHxn.jpg', -'https://img.nickpic.host/qLnNhs.jpg', -'https://img.nickpic.host/qLnVK2.jpg', -'https://img.nickpic.host/qLn0GQ.jpg', -'https://img.nickpic.host/qLn2gx.jpg', -'https://img.nickpic.host/qLn94N.jpg', -'https://img.nickpic.host/qLnePO.jpg', -'https://img.nickpic.host/qLnJam.jpg', -'https://img.nickpic.host/qLnLi8.jpg', -'https://img.nickpic.host/qLnP2q.jpg', -'https://img.nickpic.host/qLnWxd.jpg', -'https://img.nickpic.host/qLnZhD.jpg', -'https://img.nickpic.host/qLndY5.jpg', -'https://img.nickpic.host/qLtGGP.jpg', -'https://img.nickpic.host/qLtIgM.jpg', -'https://img.nickpic.host/qLtmDF.jpg', -'https://img.nickpic.host/qLtoPe.jpg', -'https://img.nickpic.host/qLtvaX.jpg', -'https://img.nickpic.host/qLtxnb.jpg', -'https://img.nickpic.host/qLtB2f.jpg', -'https://img.nickpic.host/qLtrB6.jpg', -'https://img.nickpic.host/qLts6p.jpg', -'https://img.nickpic.host/qLt3YY.jpg', -'https://img.nickpic.host/qLtaIA.jpg', -'https://img.nickpic.host/qLtjqG.jpg', -'https://img.nickpic.host/qLtlDz.jpg', -'https://img.nickpic.host/qLt5Tc.jpg', -'https://img.nickpic.host/qLtcaW.jpg', -'https://img.nickpic.host/qLtgn1.jpg', -'https://img.nickpic.host/qLtq9j.jpg', -'https://img.nickpic.host/qLtABJ.jpg', -'https://img.nickpic.host/qLtE6n.jpg', -'https://img.nickpic.host/qLtOHs.jpg', -'https://img.nickpic.host/qLt6I2.jpg', -'https://img.nickpic.host/qLtCqQ.jpg', -'https://img.nickpic.host/qLtQwx.jpg', -'https://img.nickpic.host/qLtUTN.jpg', -'https://img.nickpic.host/qLtijO.jpg', -'https://img.nickpic.host/qLtntm.jpg', -'https://img.nickpic.host/qLtt98.jpg', -'https://img.nickpic.host/qLtRbq.jpg', -'https://img.nickpic.host/qLt16d.jpg', -'https://img.nickpic.host/qLt4HD.jpg', -'https://img.nickpic.host/qLtwm5.jpg', -'https://img.nickpic.host/qLtzqP.jpg'] - - -global.naruto = ['https://img.nickpic.host/q4Si96.jpg', -'https://img.nickpic.host/q4SXnf.jpg', -'https://img.nickpic.host/q4SUjb.jpg', -'https://img.nickpic.host/q4SCTX.jpg', -'https://img.nickpic.host/q4S6De.jpg', -'https://img.nickpic.host/q4ShqF.jpg', -'https://img.nickpic.host/q4SOIM.jpg', -'https://img.nickpic.host/q4Su65.jpg', -'https://img.nickpic.host/q4SAYP.jpg', -'https://img.nickpic.host/q4SqBD.jpg', -'https://img.nickpic.host/q4Stbp.jpg', -'https://img.nickpic.host/q4SM6Y.jpg', -'https://img.nickpic.host/q4SRHA.jpg', -'https://img.nickpic.host/q4S4mG.jpg', -'https://img.nickpic.host/q4SDqz.jpg', -'https://img.nickpic.host/q4SzTW.jpg', -'https://img.nickpic.host/q4Swwc.jpg', -'https://img.nickpic.host/q4S8j1.jpg', -'https://img.nickpic.host/q4SKtj.jpg', -'https://img.nickpic.host/q4SY9J.jpg', -'https://img.nickpic.host/q4SNbn.jpg', -'https://img.nickpic.host/q4SVCs.jpg', -'https://img.nickpic.host/q4SfH2.jpg', -'https://img.nickpic.host/q4S2mQ.jpg', -'https://img.nickpic.host/q4S9ux.jpg', -'https://img.nickpic.host/q4SewN.jpg', -'https://img.nickpic.host/q4SkWO.jpg', -'https://img.nickpic.host/q4SLlm.jpg', -'https://img.nickpic.host/q4SPt8.jpg', -'https://img.nickpic.host/q4STeq.jpg', -'https://img.nickpic.host/q4SZbd.jpg', -'https://img.nickpic.host/q4SdCD.jpg', -'https://img.nickpic.host/q4SyN5.jpg', -'https://img.nickpic.host/q4cImP.jpg', -'https://img.nickpic.host/q4cmuM.jpg', -'https://img.nickpic.host/q4cozF.jpg', -'https://img.nickpic.host/q4cpWe.jpg', -'https://img.nickpic.host/q4cxlX.jpg', -'https://img.nickpic.host/q4cBMb.jpg', -'https://img.nickpic.host/q4cbef.jpg', -'https://img.nickpic.host/q4csr6.jpg', -'https://img.nickpic.host/q4cFNY.jpg', -'https://img.nickpic.host/q4c3Qp.jpg', -'https://img.nickpic.host/q4cjoA.jpg', -'https://img.nickpic.host/q4clAG.jpg', -'https://img.nickpic.host/q4c5zz.jpg', -'https://img.nickpic.host/q4cglW.jpg', -'https://img.nickpic.host/q4cSZc.jpg', -'https://img.nickpic.host/q4cqM1.jpg', -'https://img.nickpic.host/q4cukj.jpg', -'https://img.nickpic.host/q4cErJ.jpg', -'https://img.nickpic.host/q4cOQn.jpg', -'https://img.nickpic.host/q4chVs.jpg', -'https://img.nickpic.host/q4cCo2.jpg', -'https://img.nickpic.host/q4cQAQ.jpg', -'https://img.nickpic.host/q4cU7x.jpg', -'https://img.nickpic.host/q4cXZN.jpg', -'https://img.nickpic.host/q4cn5O.jpg', -'https://img.nickpic.host/q4ctRm.jpg', -'https://img.nickpic.host/q4cMk8.jpg', -'https://img.nickpic.host/q4c1sq.jpg', -'https://img.nickpic.host/q4cDVD.jpg', -'https://img.nickpic.host/q4c4Qd.jpg', -'https://img.nickpic.host/q4czp5.jpg', -'https://img.nickpic.host/q4c7AP.jpg', -'https://img.nickpic.host/q4c87M.jpg', -'https://img.nickpic.host/q4cKdF.jpg', -'https://img.nickpic.host/q4cH5e.jpg', -'https://img.nickpic.host/q4cVJb.jpg', -'https://img.nickpic.host/q4cNRX.jpg', -'https://img.nickpic.host/q4c0sf.jpg', -'https://img.nickpic.host/q4c2U6.jpg', -'https://img.nickpic.host/q4ckpY.jpg', -'https://img.nickpic.host/q4cJEA.jpg', -'https://img.nickpic.host/q4c9fp.jpg', -'https://img.nickpic.host/q4cL8G.jpg', -'https://img.nickpic.host/q4cPdz.jpg', -'https://img.nickpic.host/q4cWSc.jpg', -'https://img.nickpic.host/q4cZRW.jpg', -'https://img.nickpic.host/q4cdJ1.jpg', -'https://img.nickpic.host/q4gG3j.jpg', -'https://img.nickpic.host/q4gIUJ.jpg', -'https://img.nickpic.host/q4gmfn.jpg', -'https://img.nickpic.host/q4gpvs.jpg', -'https://img.nickpic.host/q4gvE2.jpg', -'https://img.nickpic.host/q4gx8Q.jpg', -'https://img.nickpic.host/q4gByx.jpg', -'https://img.nickpic.host/q4gs1O.jpg', -'https://img.nickpic.host/q4grSN.jpg', -'https://img.nickpic.host/q4g3Lm.jpg', -'https://img.nickpic.host/q4ga38.jpg', -'https://img.nickpic.host/q4gjXq.jpg', -'https://img.nickpic.host/q4gSvD.jpg', -'https://img.nickpic.host/q4glfd.jpg', -'https://img.nickpic.host/q4gcO5.jpg', -'https://img.nickpic.host/q4gg8P.jpg', -'https://img.nickpic.host/q4gqyM.jpg', -'https://img.nickpic.host/q4gAcF.jpg', -'https://img.nickpic.host/q4gE1e.jpg', -'https://img.nickpic.host/q4gOLX.jpg', -'https://img.nickpic.host/q4g6Fb.jpg', -'https://img.nickpic.host/q4gCXf.jpg', -'https://img.nickpic.host/q4gQ06.jpg', -'https://img.nickpic.host/q4gXxp.jpg', -'https://img.nickpic.host/q4giOY.jpg', -'https://img.nickpic.host/q4gnKA.jpg', -'https://img.nickpic.host/q4gMGG.jpg', -'https://img.nickpic.host/q4gRcz.jpg', -'https://img.nickpic.host/q4g14c.jpg', -'https://img.nickpic.host/q4g4LW.jpg', -'https://img.nickpic.host/q4gwF1.jpg', -'https://img.nickpic.host/q4gzij.jpg', -'https://img.nickpic.host/q4g70J.jpg', -'https://img.nickpic.host/q4gYhs.jpg', -'https://img.nickpic.host/q4gKxn.jpg', -'https://img.nickpic.host/q4gHK2.jpg', -'https://img.nickpic.host/q4gVGQ.jpg', -'https://img.nickpic.host/q4gfgx.jpg', -'https://img.nickpic.host/q4g04N.jpg', -'https://img.nickpic.host/q4g2PO.jpg', -'https://img.nickpic.host/q4geam.jpg', -'https://img.nickpic.host/q4gki8.jpg', -'https://img.nickpic.host/q4gJ2q.jpg', -'https://img.nickpic.host/q4gPxd.jpg', -'https://img.nickpic.host/q4gThD.jpg', -'https://img.nickpic.host/q4gWY5.jpg', -'https://img.nickpic.host/q4gdGP.jpg', -'https://img.nickpic.host/q4qGDF.jpg', -'https://img.nickpic.host/q4gygM.jpg', -'https://img.nickpic.host/q4qIPe.jpg', -'https://img.nickpic.host/q4qoaX.jpg', -'https://img.nickpic.host/q4qpnb.jpg', -'https://img.nickpic.host/q4qBB6.jpg', -'https://img.nickpic.host/q4qv2f.jpg', -'https://img.nickpic.host/q4qb6p.jpg', -'https://img.nickpic.host/q4qrYY.jpg', -'https://img.nickpic.host/q4q3IA.jpg', -'https://img.nickpic.host/q4qFqG.jpg', -'https://img.nickpic.host/q4qaDz.jpg', -'https://img.nickpic.host/q4qjTc.jpg', -'https://img.nickpic.host/q4qSn1.jpg', -'https://img.nickpic.host/q4q5aW.jpg', -'https://img.nickpic.host/q4qc9j.jpg', -'https://img.nickpic.host/q4qqBJ.jpg', -'https://img.nickpic.host/q4qu6n.jpg', -'https://img.nickpic.host/q4qAHs.jpg', -'https://img.nickpic.host/q4qOI2.jpg', -'https://img.nickpic.host/q4qhqQ.jpg', -'https://img.nickpic.host/q4q6wx.jpg', -'https://img.nickpic.host/q4qCTN.jpg', -'https://img.nickpic.host/q4qUjO.jpg', -'https://img.nickpic.host/q4qXtm.jpg', -'https://img.nickpic.host/q4qi98.jpg', -'https://img.nickpic.host/q4qtbq.jpg', -'https://img.nickpic.host/q4qM6d.jpg', -'https://img.nickpic.host/q4qRHD.jpg', -'https://img.nickpic.host/q4q4m5.jpg', -'https://img.nickpic.host/q4qDqP.jpg', -'https://img.nickpic.host/q4qwwM.jpg', -'https://img.nickpic.host/q4qzWF.jpg', -'https://img.nickpic.host/q4q8je.jpg', -'https://img.nickpic.host/q4qKtX.jpg', -'https://img.nickpic.host/q4qYeb.jpg', -'https://img.nickpic.host/q4qNbf.jpg', -'https://img.nickpic.host/q4qVC6.jpg', -'https://img.nickpic.host/q4qfNp.jpg', -'https://img.nickpic.host/q4q2mY.jpg', -'https://img.nickpic.host/q4q9uA.jpg', -'https://img.nickpic.host/q4qezG.jpg', -'https://img.nickpic.host/q4qLlc.jpg', -'https://img.nickpic.host/q4qkWz.jpg', -'https://img.nickpic.host/q4qPtW.jpg', -'https://img.nickpic.host/q4qTe1.jpg', -'https://img.nickpic.host/q4qZrj.jpg', -'https://img.nickpic.host/q4qdCJ.jpg', -'https://img.nickpic.host/q4qyNn.jpg', -'https://img.nickpic.host/q4uIos.jpg', -'https://img.nickpic.host/q4umu2.jpg', -'https://img.nickpic.host/q4uozQ.jpg', -'https://img.nickpic.host/q4upZx.jpg', -'https://img.nickpic.host/q4uxlN.jpg', -'https://img.nickpic.host/q4uBMO.jpg', -'https://img.nickpic.host/q4usr8.jpg', -'https://img.nickpic.host/q4ubkm.jpg', -'https://img.nickpic.host/q4u3Qq.jpg', -'https://img.nickpic.host/q4uFNd.jpg', -'https://img.nickpic.host/q4ujoD.jpg', -'https://img.nickpic.host/q4ulA5.jpg', -'https://img.nickpic.host/q4u5zP.jpg', -'https://img.nickpic.host/q4uSZM.jpg', -'https://img.nickpic.host/q4ug5F.jpg', -'https://img.nickpic.host/q4uqMe.jpg', -'https://img.nickpic.host/q4uukX.jpg', -'https://img.nickpic.host/q4uEsb.jpg', -'https://img.nickpic.host/q4uOQf.jpg', -'https://img.nickpic.host/q4uhV6.jpg', -'https://img.nickpic.host/q4uCpp.jpg', -'https://img.nickpic.host/q4uQAY.jpg', -'https://img.nickpic.host/q4uU7A.jpg', -'https://img.nickpic.host/q4uXdG.jpg', -'https://img.nickpic.host/q4un5z.jpg', -'https://img.nickpic.host/q4u1s1.jpg', -'https://img.nickpic.host/q4utRc.jpg', -'https://img.nickpic.host/q4uMkW.jpg', -'https://img.nickpic.host/q4u4Uj.jpg', -'https://img.nickpic.host/q4uzpn.jpg', -'https://img.nickpic.host/q4uDVJ.jpg', -'https://img.nickpic.host/q4u7Es.jpg', -'https://img.nickpic.host/q4u872.jpg', -'https://img.nickpic.host/q4uKdQ.jpg', -'https://img.nickpic.host/q4uNRN.jpg', -'https://img.nickpic.host/q4uHSx.jpg', -'https://img.nickpic.host/q4u03m.jpg', -'https://img.nickpic.host/q4uVJO.jpg', -'https://img.nickpic.host/q4u2U8.jpg', -'https://img.nickpic.host/q4u9fq.jpg', -'https://img.nickpic.host/q4ukpd.jpg', -'https://img.nickpic.host/q4uJED.jpg', -'https://img.nickpic.host/q4uL85.jpg', -'https://img.nickpic.host/q4uPdP.jpg', -'https://img.nickpic.host/q4uWSM.jpg', -'https://img.nickpic.host/q4uZ1F.jpg', -'https://img.nickpic.host/q4udJe.jpg', -'https://img.nickpic.host/q4AG3X.jpg', -'https://img.nickpic.host/q4AIXb.jpg', -'https://img.nickpic.host/q4Amff.jpg', -'https://img.nickpic.host/q4Apv6.jpg', -'https://img.nickpic.host/q4AvOp.jpg', -'https://img.nickpic.host/q4Ax8Y.jpg', -'https://img.nickpic.host/q4AByA.jpg', -'https://img.nickpic.host/q4ArcG.jpg', -'https://img.nickpic.host/q4As1z.jpg', -'https://img.nickpic.host/q4A3Lc.jpg', -'https://img.nickpic.host/q4Aa3W.jpg', -'https://img.nickpic.host/q4AjX1.jpg', -'https://img.nickpic.host/q4Al0j.jpg', -'https://img.nickpic.host/q4ASvJ.jpg', -'https://img.nickpic.host/q4AcOn.jpg', -'https://img.nickpic.host/q4AgKs.jpg', -'https://img.nickpic.host/q4Aqy2.jpg', -'https://img.nickpic.host/q4AE4x.jpg', -'https://img.nickpic.host/q4AAcQ.jpg', -'https://img.nickpic.host/q4AOLN.jpg', -'https://img.nickpic.host/q4A6FO.jpg', -'https://img.nickpic.host/q4ACim.jpg', -'https://img.nickpic.host/q4AQ08.jpg', -'https://img.nickpic.host/q4AXxq.jpg', -'https://img.nickpic.host/q4AiOd.jpg', -'https://img.nickpic.host/q4AnKD.jpg', -'https://img.nickpic.host/q4AMG5.jpg'] - - -global.kitagawa = ['https://img.nickpic.host/uwMiSJ.jpg', -'https://img.nickpic.host/uwMUyj.jpg', -'https://img.nickpic.host/uwMQ81.jpg', -'https://img.nickpic.host/uwMCEW.jpg', -'https://img.nickpic.host/uwM6vc.jpg', -'https://img.nickpic.host/uwMOfz.jpg', -'https://img.nickpic.host/uwMEXG.jpg', -'https://img.nickpic.host/uwMA3A.jpg', -'https://img.nickpic.host/uwMqJY.jpg', -'https://img.nickpic.host/uwMg1p.jpg', -'https://img.nickpic.host/uwMcS6.jpg', -'https://img.nickpic.host/uwM5df.jpg', -'https://img.nickpic.host/uwMl8b.jpg', -'https://img.nickpic.host/uwMjEX.jpg', -'https://img.nickpic.host/uwMape.jpg', -'https://img.nickpic.host/uwM3fF.jpg', -'https://img.nickpic.host/uwMsUM.jpg', -'https://img.nickpic.host/uwMrsP.jpg', -'https://img.nickpic.host/uwMBJ5.jpg', -'https://img.nickpic.host/uwMxRD.jpg', -'https://img.nickpic.host/uwMv5d.jpg', -'https://img.nickpic.host/uwModq.jpg', -'https://img.nickpic.host/uwMm78.jpg', -'https://img.nickpic.host/uwMIEm.jpg', -'https://img.nickpic.host/uwMGpO.jpg', -'https://img.nickpic.host/uwtdVN.jpg', -'https://img.nickpic.host/uwtZUx.jpg', -'https://img.nickpic.host/uwtWsQ.jpg'] diff --git a/plugins/comandos+18-pack.js b/plugins/comandos+18-pack.js deleted file mode 100644 index 55d15f011..000000000 --- a/plugins/comandos+18-pack.js +++ /dev/null @@ -1,182 +0,0 @@ -import fetch from 'node-fetch'; -const handler = async (m, {conn, command, usedPrefix}) => { -if (!db.data.chats[m.chat].modohorny && m.isGroup) throw `[ ⚠️ ] Los comandos +18 estan desactivados en este grupo, si es administrador de este grupo y desea activarlos escriba #enable modohorny para activar*` - switch (command) { - case 'pack': - const url = await pack[Math.floor(Math.random() * pack.length)]; - conn.sendMessage(m.chat, {image: {url: url}, caption: `_🥵 aqui tiene mi Pack 😏_`}, {quoted: m}); - break; - case 'pack2': - const url2 = await packgirl[Math.floor(Math.random() * packgirl.length)]; - conn.sendMessage(m.chat, {image: {url: url2}, caption: `_🥵 aqui tiene mi Pack 😏_`}, {quoted: m}); - break; - case 'pack3': - const url3 = await packmen[Math.floor(Math.random() * packmen.length)]; - conn.sendMessage(m.chat, {image: {url: url3}, caption: `__🥵 aqui tiene mi Pack 😏_`}, {quoted: m}); - break; - case 'videoxxx': case 'vídeoxxx': - const url4 = await videosxxxc[Math.floor(Math.random() * videosxxxc.length)]; - await conn.sendMessage(m.chat, {video: {url: url4}, caption: `*ᴅɪsғʀᴜᴛᴀ ᴅᴇʟ ᴠɪᴅᴇᴏ 🥵*`}, {quoted: m}); - break; - case 'videoxxxlesbi': case 'videolesbixxx': case 'pornolesbivid': case 'pornolesbianavid': case 'pornolesbiv': case 'pornolesbianav': case 'pornolesv': - const url5 = await videosxxxc2[Math.floor(Math.random() * videosxxxc2.length)]; - await conn.sendMessage(m.chat, {video: {url: url5}, caption: `*ᴅɪsғʀᴜᴛᴀ ᴅᴇʟ ᴠɪᴅᴇᴏ 🥵*`}, {quoted: m}); - break; - } -}; -handler.command = /^(pack|pack2|pack3|videoxxx|vídeoxxx|videoxxxlesbi|videolesbixxx|pornolesbivid|pornolesbianavid|pornolesbiv|pornolesbianav|pornolesv)$/i; -handler.limit = 2 -handler.register = true -export default handler; - -global.pack = [ - 'https://telegra.ph/file/957fe4031132ef90b66ec.jpg', - 'https://telegra.ph/file/c4b85bd53030cb648382f.jpg', - 'https://telegra.ph/file/df56f8a76145df9c923ad.jpg', - 'https://telegra.ph/file/d5d1c2c710c4b5ee8bc6c.jpg', - 'https://telegra.ph/file/d0c0cd47e87535373ab68.jpg', - 'https://telegra.ph/file/651a5a9dc96c97c8ef8fc.jpg', - 'https://telegra.ph/file/f857ae461ceab18c38de2.jpg', - 'https://telegra.ph/file/5d2a2aeff5e6fbd229eff.jpg', - 'https://telegra.ph/file/b93573531f898ea875dd0.jpg', - 'https://telegra.ph/file/c798b3959f84d345b0f25.jpg', - 'https://telegra.ph/file/de820647f8cabce533557.jpg', - 'https://telegra.ph/file/e105097d5fadf3e522eb5.jpg', - 'https://telegra.ph/file/8592e352a9ee6c7244737.jpg', - 'https://telegra.ph/file/bb9c7d879b7dc1d86a2ce.jpg', - 'https://telegra.ph/file/83f108601e6105446ad1f.jpg', - 'https://telegra.ph/file/2a6bff14e53ed2533ad25.jpg', - 'https://telegra.ph/file/e37d74aeccc5bdfd6be3e.jpg', - 'https://telegra.ph/file/ca984650af06b951e961d.jpg', - 'https://telegra.ph/file/ebb3ac7f7498dd09f6afc.jpg', - 'https://telegra.ph/file/6192305a24ffb8fa30942.jpg', - 'https://telegra.ph/file/ee67c17d0043b98dc757e.jpg', - 'https://telegra.ph/file/6ae756b686cd2b5950721.jpg', - 'https://telegra.ph/file/b1e1da38d897d117c2aa9.jpg', - 'https://telegra.ph/file/6b759437dc8b863c2fa19.jpg', - 'https://telegra.ph/file/960d8c268aecb5eb117f0.jpg', - 'https://telegra.ph/file/d0dd518bdd147cb10b0b5.jpg', - 'https://telegra.ph/file/31f2d59b5cd68ec5acb21.jpg', - 'https://telegra.ph/file/14ab9bd02f24e0f1a1a03.jpg', - 'https://telegra.ph/file/e02bf6bc9227f7f8b7e2a.jpg', - 'https://telegra.ph/file/ab55fca1d6b602b1a69df.jpg', - 'https://telegra.ph/file/42105cac3666b37da3d1c.jpg', -]; -global.packgirl = [ - 'https://telegra.ph/file/c0da7289bee2d97048feb.jpg', - 'https://telegra.ph/file/b8564166f9cac4d843db3.jpg', - 'https://telegra.ph/file/fdefd621a17712be15e0e.jpg', - 'https://telegra.ph/file/6e1a6dcf1c91bf62d3945.jpg', - 'https://telegra.ph/file/0224c1ecf6b676dda3ac0.jpg', - 'https://telegra.ph/file/b71b8f04772f1b30355f1.jpg', - 'https://telegra.ph/file/6561840400444d2d27d0c.jpg', - 'https://telegra.ph/file/37e445df144e1dfcdb744.jpg', - 'https://telegra.ph/file/155b6ac6757bdd9cd05f9.jpg', - 'https://telegra.ph/file/2255a8a013540c2820a2b.jpg', - 'https://telegra.ph/file/450e901ac153765f095c5.jpg', - 'https://telegra.ph/file/f18e421a70810015be505.jpg', - 'https://telegra.ph/file/d3d190691ec399431434e.jpg', - 'https://telegra.ph/file/1fd2b897a1dbc3fdc2a70.jpg', - 'https://telegra.ph/file/607d54a909035bca7444f.jpg', - 'https://telegra.ph/file/818ba7c0ae82876b190b6.jpg', - 'https://telegra.ph/file/0f2bb426951b4a8fe1e5a.jpg', - 'https://telegra.ph/file/7e895b5b933226a07558a.jpg', - 'https://telegra.ph/file/f9d9f0da337512a1b1882.jpg', - 'https://telegra.ph/file/09ff5bfce02f1f78e3861.jpg', - 'https://telegra.ph/file/4ad840d401ab1f90444df.jpg', - 'https://telegra.ph/file/7b4bdcad3dde870355c94.jpg', - 'https://telegra.ph/file/f69a5beaca50fc52a4a71.jpg', - 'https://telegra.ph/file/411d7cdee24669e167adb.jpg', - 'https://telegra.ph/file/36a63288e27e88e2f8e10.jpg', - 'https://telegra.ph/file/1ac7657a5e7b354cd9991.jpg', - 'https://telegra.ph/file/14161eab0c1d919dc3218.jpg', - 'https://telegra.ph/file/810411b9128fe11dd639a.jpg', - 'https://telegra.ph/file/5fe7e98533754b007e7a1.jpg', -]; -global.packmen = [ - 'https://telegra.ph/file/bf303b19b9834f90e9617.jpg', - 'https://telegra.ph/file/36ef2b807251dfccd17c2.jpg', - 'https://telegra.ph/file/bcc34403d16de829ea5d2.jpg', - 'https://telegra.ph/file/5c6b7615662fb53a39e53.jpg', - 'https://telegra.ph/file/1a8183eff48671ea265c2.jpg', - 'https://telegra.ph/file/f9745dcd22f67cbc62e08.jpg', - 'https://telegra.ph/file/02219f503317b0596e101.jpg', - 'https://telegra.ph/file/470c8ec30400a73d03207.jpg', - 'https://telegra.ph/file/c94fa8ed20f2c0cf16786.jpg', - 'https://telegra.ph/file/1b02a1ca6a39e741faec7.jpg', - 'https://telegra.ph/file/eea58bf7043fd697cdb43.jpg', - 'https://telegra.ph/file/ee3db7facdfe73c8df05a.jpg', - 'https://telegra.ph/file/d45b4e4af4f2139507f8c.jpg', - 'https://telegra.ph/file/d176e7fc8720f98f6b182.jpg', - 'https://telegra.ph/file/ce1e072829d1fa5d99f5f.jpg', - 'https://telegra.ph/file/a947933701be6d579c958.jpg', - 'https://telegra.ph/file/9027e5a464ec88e8ab5c1.jpg', - 'https://telegra.ph/file/049a8c611a838ea2f6daa.jpg', - 'https://telegra.ph/file/37b35fbc7e2ee73482ee1.jpg', - 'https://telegra.ph/file/9bcfade24ae85cd417f06.jpg', - 'https://telegra.ph/file/ac0c711585f4300c54355.jpg', -]; -global.videosxxxc = [ - 'https://telegra.ph/file/4a270d9945ac46f42d95c.mp4', - 'https://telegra.ph/file/958c11e84d271e783ea3f.mp4', - 'https://telegra.ph/file/f753759342337c4012b3f.mp4', - 'https://telegra.ph/file/379cee56c908dd536dd33.mp4', - 'https://telegra.ph/file/411d8f59a5cefc2a1d227.mp4', - 'https://telegra.ph/file/ee2cf1b359d6eef50d7b7.mp4', - 'https://telegra.ph/file/1e316b25c787f94a0f8fd.mp4', - 'https://telegra.ph/file/c229d33edce798cde0ca4.mp4', - 'https://telegra.ph/file/b44223e72dd7e80e415f2.mp4', - 'https://telegra.ph/file/61486d45a8a3ea95a7c86.mp4', - 'https://telegra.ph/file/76ba0dc2a07f491756377.mp4', - 'https://telegra.ph/file/831bb88f562bef3f1a15d.mp4', - 'https://telegra.ph/file/ee2cf1b359d6eef50d7b7.mp4', - 'https://telegra.ph/file/598857924f3a29ffd37ae.mp4', - 'https://telegra.ph/file/528caef6ea950ec45aeef.mp4', - 'https://telegra.ph/file/4a270d9945ac46f42d95c.mp4', - 'https://telegra.ph/file/958c11e84d271e783ea3f.mp4', - 'https://telegra.ph/file/f753759342337c4012b3f.mp4', - 'https://telegra.ph/file/379cee56c908dd536dd33.mp4', - 'https://telegra.ph/file/411d8f59a5cefc2a1d227.mp4', - 'https://telegra.ph/file/76ba0dc2a07f491756377.mp4', - 'https://telegra.ph/file/831bb88f562bef3f1a15d.mp4', -]; - -global.videosxxxc2 = [ - 'https://l.top4top.io/m_2257y4pyl0.mp4', - 'https://c.top4top.io/m_2274woesg0.mp4', - 'https://k.top4top.io/m_2257pdwjy0.mp4', - 'https://a.top4top.io/m_2257qulmx0.mp4', - 'https://a.top4top.io/m_2257vxzr62.mp4', - 'https://b.top4top.io/m_2257wjmbh3.mp4', - 'https://b.top4top.io/m_2257sen2a1.mp4', - 'https://c.top4top.io/m_2257hpo9v3.mp4', - 'https://e.top4top.io/m_2257pye7u1.mp4', - 'https://c.top4top.io/m_2257p7xg14.mp4', - 'https://c.top4top.io/m_2257p4v9i3.mp4', - 'https://l.top4top.io/m_2257jvkrv3.mp4', - 'https://b.top4top.io/m_2257pl7wh1.mp4', - 'https://e.top4top.io/m_2257fiwnp2.mp4', - 'https://b.top4top.io/m_22578b1nk1.mp4', - 'https://k.top4top.io/m_22572gv7q1.mp4', - 'https://i.top4top.io/m_2257pu90l2.mp4', - 'https://d.top4top.io/m_2257vcwiw3.mp4', - 'https://j.top4top.io/m_2258joebc2.mp4', - 'https://g.top4top.io/m_2258kvnba4.mp4', - 'https://f.top4top.io/m_2258nm8pe1.mp4', - 'https://g.top4top.io/m_2258af7bc2.mp4', - 'https://l.top4top.io/m_2258f0ci92.mp4', - 'https://j.top4top.io/m_2258ehqpb2.mp4', - 'https://h.top4top.io/m_2258pckkf3.mp4', - 'https://e.top4top.io/m_225857rs20.mp4', - 'https://k.top4top.io/m_225863kpa0.mp4', - 'https://j.top4top.io/m_2258s6we62.mp4', - 'https://i.top4top.io/m_2258if6l13.mp4', - 'https://b.top4top.io/m_2258lmd2h1.mp4', - 'https://j.top4top.io/m_2258a9oah2.mp4', - 'https://i.top4top.io/m_22588w3xh0.mp4', - 'https://g.top4top.io/m_225885lm14.mp4', - 'https://e.top4top.io/m_2258buxc30.mp4', - 'https://e.top4top.io/m_2258fvra62.mp4', - 'https://l.top4top.io/m_22588mx7k4.mp4', - 'https://g.top4top.io/m_2258zhldg1.mp4', -]; diff --git a/plugins/comandos+18-xnxxsearch.js b/plugins/comandos+18-xnxxsearch.js deleted file mode 100644 index 35131453c..000000000 --- a/plugins/comandos+18-xnxxsearch.js +++ /dev/null @@ -1,128 +0,0 @@ -import fetch from 'node-fetch'; -const handler = async (m, {text, usedPrefix, command}) => { -if (!db.data.chats[m.chat].modohorny && m.isGroup) throw `[ ⚠️ ] Los comandos +18 estan desactivados en este grupo, si es administrador de este grupo y desea activarlos escriba #enable modohorny para activar*` -if (!text) throw `${lenguajeGB['smsAvisoMG']()}𝙐𝙎𝙀 𝙀𝙇 𝘾𝙊𝙈𝘼𝙉𝘿𝙊 𝘿𝙀 𝙀𝙎𝙏𝘼 𝙈𝘼𝙉𝙀𝙍𝘼\n𝙀𝙅𝙀𝙈𝙋𝙇𝙊\n*${usedPrefix + command} Sexo*` -try { -const vids_ = {from: m.sender, urls: [],}; -if (!global.videoListXXX) { -global.videoListXXX = []; -} -if (global.videoListXXX[0]?.from == m.sender) { -global.videoListXXX.splice(0, global.videoListXXX.length); -} -const res = await xnxxsearch(text); -const json = res.result; -let cap = `*🔍 𝙍𝙀𝙎𝙐𝙇𝙏𝘼𝘿𝙊𝙎 𝘿𝙀 𝙇𝘼 𝘽𝙐𝙎𝙌𝙐𝙀𝘿𝘼 -:* ${text.toUpperCase()}\n\n`; -let count = 1; -for (const v of json) { -const linkXXX = v.link; -vids_.urls.push(linkXXX); -cap += `*[${count}]*\n• *𝙏𝙄𝙏𝙐𝙇𝙊:* ${v.title}\n• *𝙇𝙄𝙉𝙆:* ${v.link}\n• *𝙄𝙉𝙁𝙊:* ${v.info}`; -cap += '\n\n' + '••••••••••••••••••••••••••••••••••••' + '\n\n'; -count++; -} -m.reply(cap); -global.videoListXXX.push(vids_); -} catch { -throw e; -}} -handler.command = /^porhubsearch|xvideossearch|xnxxsearch$/i -handler.level = 9 -handler.limit = 8 -handler.register = true -export default handler - -async function xnxxsearch(query) { - return new Promise((resolve, reject) => { - const baseurl = 'https://www.xnxx.com'; - fetch(`${baseurl}/search/${query}/${Math.floor(Math.random() * 3) + 1}`, {method: 'get'}).then((res) => res.text()).then((res) => { - const $ = cheerio.load(res, {xmlMode: false}); - const title = []; - const url = []; - const desc = []; - const results = []; - $('div.mozaique').each(function(a, b) { - $(b).find('div.thumb').each(function(c, d) { - url.push(baseurl + $(d).find('a').attr('href').replace('/THUMBNUM/', '/')); - }); - }); - $('div.mozaique').each(function(a, b) { - $(b).find('div.thumb-under').each(function(c, d) { - desc.push($(d).find('p.metadata').text()); - $(d).find('a').each(function(e, f) { - title.push($(f).attr('title')); - }); - }); - }); - for (let i = 0; i < title.length; i++) { - results.push({title: title[i], info: desc[i], link: url[i]}); - } - resolve({code: 200, status: true, result: results}); - }).catch((err) => reject({code: 503, status: false, result: err})); - }); -} - - - - -/*import axios from 'axios' -import fs from 'fs' -import cheerio from 'cheerio' -import fetch from 'node-fetch' -let handler = async (m, { text, conn, args, command, usedPrefix }) => { -if (!db.data.chats[m.chat].modohorny && m.isGroup) throw `${lenguajeGB['smsAvisoAG']()}𝙇𝙊𝙎 𝘾𝙊𝙈𝘼𝙉𝘿𝙊𝙎 +18 𝙀𝙎𝙏𝘼𝙉 𝘿𝙀𝙎𝘼𝘾𝙏𝙄𝙑𝘼𝘿𝙊𝙎 𝙐𝙎𝙀 #𝙤𝙣 𝙢𝙤𝙙𝙤𝙝𝙤𝙧𝙣𝙮 𝙋𝘼𝙍𝘼 𝘼𝘾𝙏𝙄𝙑𝘼𝙍\n\n+18 𝘾𝙊𝙈𝙈𝘼𝙉𝘿𝙎 𝘼𝙍𝙀 𝘿𝙄𝙎𝘼𝘽𝙇𝙀𝘿 𝙐𝙎𝙀 #𝙤𝙣 𝙢𝙤𝙙𝙤𝙝𝙤𝙧𝙣𝙮 𝙏𝙊 𝙀𝙉𝘼𝘽𝙇𝙀*` -if (!text) throw `*𝙌𝙪𝙚 𝙗𝙪𝙨𝙘𝙖? 𝙐𝙨𝙚𝙧 𝙪𝙣 𝙚𝙣𝙡𝙖𝙘𝙚 𝙙𝙚 𝙭𝙣𝙭𝙭\n𝙀𝙟𝙚𝙢𝙥𝙡𝙤\n*${usedPrefix + command} Con mi prima*` -try { -await delay(5000) -let res = await xnxxsearch(text) -let json = res.result -let listSerch = [] -let teskd = `𝑪𝒐𝒏𝒕𝒆𝒏𝒊𝒅𝒐 𝒓𝒆𝒍𝒂𝒄𝒊𝒐𝒏𝒂𝒅𝒐: ${args.join(" ")}` -const sections = [{ -title: `ⓡⓔⓢⓤⓛⓣⓐⓓⓞⓢ`, -rows: listSerch }] -const listMessage = { -text: teskd, -footer: '𝐄𝐥𝐢𝐣𝐚 𝐮𝐧𝐚 𝐨𝐩𝐜𝐢𝐨𝐧 𝐲 𝐩𝐫𝐞𝐜𝐢𝐨𝐧𝐞 𝐄𝐧𝐯𝐢𝐚𝐫', -title: "➤ 𝑪𝒐𝒏𝒕𝒆𝒏𝒊𝒅𝒐 𝒆𝒏𝒄𝒐𝒏𝒕𝒓𝒂𝒅𝒐", -buttonText: "➤ 𝑹𝒆𝒔𝒖𝒍𝒕𝒂𝒅𝒐𝒔", -sections} -for (let i of json) { -listSerch.push({title: i.title, description: '⇧ sᴇʟᴇᴄᴄɪᴏɴᴀ ᴇsᴛᴀ ᴏᴘᴄɪᴏɴ ᴘᴀʀᴀ ᴅᴇsᴄᴀʀɢᴀʀ ᴇsᴛᴇ ᴠɪᴅᴇᴏ ⇧', rowId: `${usedPrefix}xnxxdl ${i.link}`})} -conn.sendMessage(m.sender, listMessage, { quoted: m }) -if (m.isGroup) return m.reply('*✳️ 𝙃𝙊𝙇𝘼 𝙀𝙎𝙏𝙄𝙈𝘼𝘿𝙊 𝙐𝙎𝙐𝘼𝙍𝙄𝙊(𝘼), 𝙎𝙐 𝙋𝙀𝙍𝘿𝙄𝘿𝙊 𝙃𝘼 𝙎𝙄𝘿𝙊 𝙀𝙉𝙑𝙄𝘼𝘿𝙊 𝘼 𝙎𝙐 𝘾𝙃𝘼𝙏 𝙋𝙍𝙄𝙑𝘼𝘿𝙊, 𝙀𝙎𝙏𝙊 𝘾𝙊𝙈𝙊 𝙎𝙊𝙇𝙐𝘾𝙄𝙊𝙉 𝙏𝙀𝙈𝙋𝙊𝙍𝘼𝙇 𝘼 𝙀𝙍𝙍𝙊𝙍𝙀𝙎 𝘿𝙀 𝙈𝙀𝙉𝙎𝘼𝙅𝙀 𝘾𝙊𝙉 𝘽𝙊𝙏𝙊𝙉𝙀𝙎 𝙏𝙄𝙋𝙊 𝙇𝙄𝙎𝙏𝘼𝙎 𝙌𝙐𝙀 𝙉𝙊 𝙎𝙊𝙉 𝙑𝙄𝙎𝙄𝘽𝙇𝙀𝙎 𝙀𝙉 𝙇𝘼𝙎 𝙑𝙀𝙍𝙎𝙄𝙊𝙉𝙀𝙎 𝙈𝘼𝙎 𝙍𝙀𝘾𝙄𝙀𝙉𝙏𝙀𝙎 𝘿𝙀 𝙒𝙃𝘼𝙏𝙎𝘼𝙋𝙋*') -} catch (e) { -m.reply(`${lenguajeGB['smsAvisoFG']()}𝙑𝙐𝙀𝙇𝙑𝘼 𝘼 𝙄𝙉𝙏𝙀𝙉𝙏𝘼𝙍\n\n𝙏𝙍𝙔 𝘼𝙂𝘼𝙄𝙉`) -}} -handler.command = /^porhubsearch|xvideossearch|xnxxsearch$/i -handler.level = 9 -handler.limit = 6 -handler.register = true -export default handler - -const delay = time => new Promise(res => setTimeout(res, time)) - -async function xnxxsearch(query) { -return new Promise((resolve, reject) => { -const baseurl = 'https://www.xnxx.com' -fetch(`${baseurl}/search/${query}/${Math.floor(Math.random() * 3) + 1}`, {method: 'get'}).then(res => res.text()).then(res => { -let $ = cheerio.load(res, { xmlMode: false }); -let title = []; -let url = []; -let desc = []; -let results = []; -$('div.mozaique').each(function(a, b) { -$(b).find('div.thumb').each(function(c, d) { -url.push(baseurl+$(d).find('a').attr('href').replace("/THUMBNUM/", "/")) -})}) -$('div.mozaique').each(function(a, b) { -$(b).find('div.thumb-under').each(function(c, d) { -desc.push($(d).find('p.metadata').text()) -$(d).find('a').each(function(e,f) { -title.push($(f).attr('title')) -})})}) -for (let i = 0; i < title.length; i++) { -results.push({ title: title[i], info: desc[i], link: url[i] })} -resolve({ code: 200, status: true, result: results -})}).catch(err => reject({code: 503, status: false, result: err }))})}*/ diff --git a/plugins/comandos+18-xvideos.js b/plugins/comandos+18-xvideos.js deleted file mode 100644 index 00e496246..000000000 --- a/plugins/comandos+18-xvideos.js +++ /dev/null @@ -1,68 +0,0 @@ -import fetch from 'node-fetch'; -import axios from 'axios'; -import cheerio from 'cheerio'; -const handler = async (m, {conn, args, command, usedPrefix, text}) => { -if (!db.data.chats[m.chat].modohorny && m.isGroup) throw `[ ⚠️ ] Los comandos +18 estan desactivados en este grupo, si es administrador de este grupo y desea activarlos escriba #enable modohorny para activar*` -if (!args[0]) throw `${mg}𝙐𝙎𝙀 𝙐𝙉 𝙀𝙉𝙇𝘼𝘾𝙀 𝘿𝙀 𝙓𝙑𝙄𝘿𝙀𝙊𝙎\n𝙀𝙅𝙀𝙈𝙋𝙇𝙊\n* ${usedPrefix + command} https://www.xvideos.com/video70389849/pequena_zorra_follada_duro*` -try { -await conn.reply(m.chat, '➤ 𝙀𝙎𝙋𝙀𝙍𝙀 𝙋𝙊𝙍 𝙁𝘼𝙑𝙊𝙍 𝘼 𝙌𝙐𝙀 𝙎𝙀 𝙀𝙉𝙑𝙄𝙀 𝙀𝙇 𝙑𝙄𝘿𝙀𝙊', m) -const res = await xvideosdl(args[0]); -conn.sendMessage(m.chat, {document: {url: res.result.url}, mimetype: 'video/mp4', fileName: res.result.title}, {quoted: m}); -} catch (e) { -m.reply('*${fg}𝙉𝙊 𝙁𝙐𝙉𝘾𝙄𝙊𝙉𝙊, 𝙐𝙎𝙀 𝙐𝙉 𝙀𝙉𝙇𝘼𝘾𝙀 𝘿𝙀 𝙓𝙑𝙄𝘿𝙀𝙊𝙎, 𝙑𝙐𝙀𝙇𝙑𝘼 𝘼 𝙄𝙉𝙏𝙀𝙉𝙏𝘼𝙍*') -}}; -handler.command = /^(xvideosdl)$/i -handler.level = 8 -handler.limit = 6 -handler.register = true -export default handler - -async function xvideosdl(url) { -return new Promise((resolve, reject) => { -fetch(`${url}`, {method: 'get'}) -.then(res => res.text()) -.then(res => { -let $ = cheerio.load(res, {xmlMode: false}); -const title = $("meta[property='og:title']").attr("content") -const keyword = $("meta[name='keywords']").attr("content") -const views = $("div#video-tabs > div > div > div > div > strong.mobile-hide").text()+" views" -const vote = $("div.rate-infos > span.rating-total-txt").text() -const likes = $("span.rating-good-nbr").text() -const deslikes = $("span.rating-bad-nbr").text() -const thumb = $("meta[property='og:image']").attr("content") -const url = $("#html5video > #html5video_base > div > a").attr("href") -resolve({status: 200, result: {title, url, keyword, views, vote, likes, deslikes, thumb}}) -})})}; - -async function xvideosSearch(url) { -return new Promise(async (resolve) => { -await axios.request(`https://www.xvideos.com/?k=${url}&p=${Math.floor(Math.random() * 9) +1}`, {method: "get"}).then(async result => { -let $ = cheerio.load(result.data, {xmlMod3: false}); -let title = []; -let duration = []; -let quality = []; -let url = []; -let thumb = []; -let hasil = []; -$("div.mozaique > div > div.thumb-under > p.title").each(function(a,b){ -title.push($(this).find("a").attr("title")); -duration.push($(this).find("span.duration").text()); -url.push("https://www.xvideos.com"+$(this).find("a").attr("href")); -}); -$("div.mozaique > div > div.thumb-under").each(function(a,b){ -quality.push($(this).find("span.video-hd-mark").text()); -}); -$("div.mozaique > div > div > div.thumb > a").each(function(a,b){ -thumb.push($(this).find("img").attr("data-src")); -}); -for(let i=0; i < title.length; i++){ -hasil.push({ -title: title[i], -duration: duration[i], -quality: quality[i], -thumb: thumb[i], -url: url[i] -}); -} -resolve(hasil); -})})}; diff --git a/plugins/config-on y off.js b/plugins/config-on y off.js index 2e00dd794..5709f54d5 100644 --- a/plugins/config-on y off.js +++ b/plugins/config-on y off.js @@ -1,599 +1,129 @@ -import fetch from 'node-fetch' -import fs from 'fs' - -let handler = async (m, { conn, usedPrefix, command, args, isOwner, isAdmin, isROwner, text }) => { -//try{ -let fkontak = { "key": { "participants":"0@s.whatsapp.net", "remoteJid": "status@broadcast", "fromMe": false, "id": "Halo" }, "message": { "contactMessage": { "vcard": `BEGIN:VCARD\nVERSION:3.0\nN:Sy;Bot;;;\nFN:y\nitem1.TEL;waid=${m.sender.split('@')[0]}:${m.sender.split('@')[0]}\nitem1.X-ABLabel:Ponsel\nEND:VCARD` }}, "participant": "0@s.whatsapp.net" } -let chat = global.db.data.chats[m.chat] -let user = global.db.data.users[m.sender] -let bot = global.db.data.settings[conn.user.jid] || {} -let toUser = `${m.sender.split("@")[0]}` -let aa = toUser + '@s.whatsapp.net' - -let titulo = [ -lenguajeGB.smsParaAdmins() + ' ' + `${m.isGroup ? chat.welcome ? '✅' : '❌' : lenguajeGB.smsNoGg()}`, -lenguajeGB.smsParaAdmins() + ' ' + `${m.isGroup ? chat.detect ? '✅' : '❌' : lenguajeGB.smsNoGg()}`, -lenguajeGB.smsParaAdYOw() + ' ' + `${m.isGroup ? chat.autolevelup ? '✅' : '❌' : lenguajeGB.smsNoGg()}`, -lenguajeGB.smsParaOw() + ' ' + `${bot.restrict ? '✅' : '❌'}`, -lenguajeGB.smsParaOw() + ' ' + `${bot.antiCall ? '✅' : '❌'}`, -lenguajeGB.smsParaOw() + ' ' + `${bot.antiSpam ? '✅' : '❌'}`, -lenguajeGB.smsParaOw() + ' ' + `${global.opts['self'] ? '❌' : '✅'}`, -lenguajeGB.smsParaAdmins() + ' ' + `${m.isGroup ? chat.modoadmin ? '✅' : '❌' : lenguajeGB.smsNoGg()}`, -lenguajeGB.smsParaOw() + ' ' + `${global.opts['autoread'] ? '✅' : '❌'}`, -lenguajeGB.smsParaOw() + ' ' + `${bot.temporal ? '✅' : '❌'}`, -lenguajeGB.smsParaAdmins() + ' ' + `${m.isGroup ? chat.stickers ? '✅' : '❌' : lenguajeGB.smsNoGg()}`, -lenguajeGB.smsParaAdmins() + ' ' + `${m.isGroup ? chat.autosticker ? '✅' : '❌' : lenguajeGB.smsNoGg()}`, -lenguajeGB.smsParaAdYOw() + ' ' + `${m.isGroup ? chat.reaction ? '✅' : '❌' : lenguajeGB.smsNoGg()}`, -lenguajeGB.smsParaAdYOw() + ' ' + `${m.isGroup ? chat.audios ? '✅' : '❌' : lenguajeGB.smsNoGg()}`, -lenguajeGB.smsParaAdYOw() + ' ' + `${m.isGroup ? chat.modohorny ? '✅' : '❌' : lenguajeGB.smsNoGg()}`, -lenguajeGB.smsParaAdmins() + ' ' + `${m.isGroup ? chat.antitoxic ? '✅' : '❌' : lenguajeGB.smsNoGg()}`, -lenguajeGB.smsParaAdYOw() + ' ' + `${m.isGroup ? chat.antiver ? '✅' : '❌' : lenguajeGB.smsNoGg()}`, -lenguajeGB.smsParaAdYOw() + ' ' + `${m.isGroup ? chat.delete ? '✅' : '❌' : lenguajeGB.smsNoGg()}`, -lenguajeGB.smsParaAdmins() + ' ' + `${m.isGroup ? chat.antifake ? '✅' : '❌' : lenguajeGB.smsNoGg()}`, -lenguajeGB.smsParaAdmins() + ' ' + `${m.isGroup ? chat.antiLink ? '✅' : '❌' : lenguajeGB.smsNoGg()}`, -lenguajeGB.smsParaAdmins() + ' ' + `${m.isGroup ? chat.antiLink2 ? '✅' : '❌' : lenguajeGB.smsNoGg()}`, -lenguajeGB.smsParaAdmins() + ' ' + `${m.isGroup ? chat.antiTiktok ? '✅' : '❌' : lenguajeGB.smsNoGg()}`, -lenguajeGB.smsParaAdmins() + ' ' + `${m.isGroup ? chat.antiYoutube ? '✅' : '❌' : lenguajeGB.smsNoGg()}`, -lenguajeGB.smsParaAdmins() + ' ' + `${m.isGroup ? chat.antiTelegram ? '✅' : '❌' : lenguajeGB.smsNoGg()}`, -lenguajeGB.smsParaAdmins() + ' ' + `${m.isGroup ? chat.antiFacebook ? '✅' : '❌' : lenguajeGB.smsNoGg()}`, -lenguajeGB.smsParaAdmins() + ' ' + `${m.isGroup ? chat.antiInstagram ? '✅' : '❌' : lenguajeGB.smsNoGg()}`, -lenguajeGB.smsParaAdmins() + ' ' + `${m.isGroup ? chat.antiTwitter ? '✅' : '❌' : lenguajeGB.smsNoGg()}`, -lenguajeGB.smsParaOw() + ' ' + `${global.opts['pconly'] ? '✅' : '❌'}`, -lenguajeGB.smsParaOw() + ' ' + `${global.opts['gconly'] ? '✅' : '❌'}`] - -let nombre = [ lenguajeGB.smsWel1(), lenguajeGB.smsDete1(), lenguajeGB.smsANivel1(), lenguajeGB.smsRestri1(), lenguajeGB.smsLlamar1(), lenguajeGB.smsAntiSp1(), lenguajeGB.smsModP1(), lenguajeGB.smsModAd1(), lenguajeGB.smsLect1(), lenguajeGB.smsTempo1(), lenguajeGB.smsStik1(), lenguajeGB.smsStickA1(), lenguajeGB.smsReacc1(), lenguajeGB.smsAudi1(), lenguajeGB.smsModHor1(), lenguajeGB.smsAntitoc1(), lenguajeGB.smsModOb1(), lenguajeGB.smsAntiEli1(), lenguajeGB.smsAntiInt1(), lenguajeGB.smsAntiE1(), lenguajeGB.smsAntiEE1(), lenguajeGB.smsAntiTT1(), lenguajeGB.smsAntiYT1(), lenguajeGB.smsAntiTEL1(), lenguajeGB.smsAntiFB1(), -lenguajeGB.smsAntiIG1(), lenguajeGB.smsAntiTW1(), lenguajeGB.smsSOLOP1(), lenguajeGB.smsSOLOG1()] - -let descripción = [ lenguajeGB.smsWel2(), lenguajeGB.smsDete2(), lenguajeGB.smsANivel2(), lenguajeGB.smsRestri2(), lenguajeGB.smsLlamar2(), lenguajeGB.smsAntiSp2(), lenguajeGB.smsModP2(), lenguajeGB.smsModAd2(), lenguajeGB.smsLect2(), lenguajeGB.smsTempo2(), lenguajeGB.smsStik2(), lenguajeGB.smsStickA2(), lenguajeGB.smsReacc2(), lenguajeGB.smsAudi2(), lenguajeGB.smsModHor2(), lenguajeGB.smsAntitoc2(), lenguajeGB.smsModOb2(), lenguajeGB.smsAntiEli2(), lenguajeGB.smsAntiInt2(), lenguajeGB.smsAntiE2(), lenguajeGB.smsAntiEE2(), lenguajeGB.smsAntiTT2(), lenguajeGB.smsAntiYT2(), lenguajeGB.smsAntiTEL2(), lenguajeGB.smsAntiFB2(), -lenguajeGB.smsAntiIG2(), lenguajeGB.smsAntiTW2(), lenguajeGB.smsSOLOP2(), lenguajeGB.smsSOLOG2()] - -let comando = [ "welcome", "detect", "autolevelup", "restrict", "anticall", "antispam", "public", "modoadmin", "autoread", "temporal", "stickers", "autosticker", "reaction", "audios", "modohorny", "antitoxic", "antiviewonce", "antidelete", "antifake", "antilink", "antilink2", "antitiktok", "antiyoutube", "antitelegram", "antifacebook", -"antinstagram", "antitwitter", "pconly", "gconly"] - -let sections = Object.keys(titulo, nombre, descripción, comando).map((v, index) => ({ title: `${titulo[v]}`, -rows: [{ title: `${nombre[v]} : ${command} ${comando[v]}`, description: `${1 + index}. ${descripción[v]}`, rowId: usedPrefix + command + ' ' + comando[v], }], })) - -let name = await conn.getName(m.sender) -/*const listMessage = { -text: `${lenguajeGB.smsConfi10()}`, -footer: `╭━━━✦ *${lenguajeGB.smsConfi1()}* ✦━━━━⬣ -┃ -┃🌟 ${lenguajeGB.smsConfi2()} *${name}* -┃ -${lenguajeGB.smsConfi3()} -${lenguajeGB.smsConfi4()} -┃ -${lenguajeGB.smsConfi5()} -${lenguajeGB.smsConfi6()} -${lenguajeGB.smsConfi7()} -${lenguajeGB.smsConfi8()} -${m.isGroup ? `┃` : `┃\n${lenguajeGB.smsConfi9()}`} -╰━━━━━✦ *${vs}* ✦━━━━⬣ -${wm}`, -title: null, -buttonText: `⚙️ ${lenguajeGB.smsConfi1()} ⚙️`, -sections }*/ - -let isEnable = /true|enable|(turn)?on|1/i.test(command) -let type = (args[0] || '').toLowerCase() +import { db } from '../lib/postgres.js' +import { getSubbotConfig } from '../lib/postgres.js' + +const handler = async (m, { conn, args, usedPrefix, command, isAdmin, isOwner }) => { +const isEnable = /true|enable|(turn)?on|1/i.test(command) +const type = (args[0] || '').toLowerCase() +const chatId = m.chat +const botId = conn.user?.id +const cleanId = botId.replace(/:\d+/, ''); +const isSubbot = botId !== 'main' let isAll = false, isUser = false - +let res = await db.query('SELECT * FROM group_settings WHERE group_id = $1', [chatId]); +let chat = res.rows[0] || {}; +const getStatus = (flag) => m.isGroup ? (chat[flag] ? '✅' : '❌') : '⚠️'; + +let menu = `*『 ⧼⧼⧼ CONFIGURACIÓN ⧽⧽⧽ 』*\n\n`; +menu += `> *Seleccione una opción de la lista*\n> *Para empezar a Configurar*\n\n`; +menu += `● *Avisos de la Configuracion:* +✅ ⇢ *Función Activada* +❌ ⇢ *Función Desactivada* +⚠️ ⇢ *Este Chat no es un Grupo*\n\n`; +menu += `*『 FUNCIONES PARA ADMINS 』*\n\n`; +menu += `🎉 BIENVENIDA ${getStatus('welcome')}\n• Mensaje de bienvenida\n• ${usedPrefix + command} welcome\n\n`; +menu += `📣 DETECTAR AVISOS ${getStatus('detect')}\n• Avisar cambios en el grupo\n• ${usedPrefix + command} detect\n\n`; +menu += `🔗 ANTILINK ${getStatus('antilink')}\n• Detectar enlaces de grupo\n• ${usedPrefix + command} antilink\n\n`; +menu += `🌐 ANTILINK2 ${getStatus('antilink2')}\n• Detectar cualquier link\n• ${usedPrefix + command} antilink2\n\n`; +menu += `🕵️ ANTIFAKE ${getStatus('antifake')}\n• Bloquear números de otros países\n• ${usedPrefix + command} antifake\n\n`; +menu += `🔞 NSFW ${getStatus('modohorny')}\n• Contenido +18 en stickers/gifs\n• ${usedPrefix + command} modohorny\n\n` +menu += `🔒 MODO SOLO ADMIN ${getStatus('modoadmin')}\n• Solo admins pueden usar comandos\n• ${usedPrefix + command} modoadmin\n\n`; + +menu += `\n*『 FUNCIONES PARA OWNER 』*\n\n`; +menu += `🚫 ANTIPRIVADO ${isSubbot ? (getSubbotConfig(botId).antiPrivate ? '✅' : '❌') : '⚠️'} +• Bloquear uso en privado +• ${usedPrefix + command} antiprivate\n\n`; +menu += `📵 ANTILLAMADAS ${isSubbot ? (getSubbotConfig(botId).anticall ? '✅' : '❌') : '⚠️'} +• Bloquear llamadas +• ${usedPrefix + command} anticall`; + switch (type) { case 'welcome': case 'bienvenida': -if (!m.isGroup) { -if (!isOwner) { -global.dfail('group', m, conn) -throw false -} -} else if (!isAdmin) { -global.dfail('admin', m, conn) -throw false -} -chat.welcome = isEnable +if (!m.isGroup) throw '⚠️ Este comando solo se puede usar dentro de un grupo.' +if (!isAdmin) throw "⚠️ Solo los admins puede usar este comando."; +await db.query(`INSERT INTO group_settings (group_id) VALUES ($1) ON CONFLICT DO NOTHING`, [chatId]) +await db.query(`UPDATE group_settings SET welcome = $1 WHERE group_id = $2`, [isEnable, chatId]) break - + case 'detect': case 'avisos': -if (!m.isGroup) { -if (!isOwner) { -global.dfail('group', m, conn) -throw false -} -} else if (!isAdmin) { -global.dfail('admin', m, conn) -throw false -} -chat.detect = isEnable +if (!m.isGroup) throw '⚠️ Este comando solo se puede usar dentro de un grupo.' +if (!isAdmin) throw "⚠️ Solo los admins puede usar este comando."; +await db.query(`INSERT INTO group_settings (group_id) VALUES ($1) ON CONFLICT DO NOTHING`, [chatId]) +await db.query(`UPDATE group_settings SET detect = $1 WHERE group_id = $2`, [isEnable, chatId]) break - -case 'antidelete': case 'antieliminar': case 'delete': -if (m.isGroup) { -if (!(isAdmin || isOwner)) { -global.dfail('admin', m, conn) -throw false -}} -chat.delete = isEnable -break - -case 'public': case 'publico': -isAll = true -if (!isROwner) { -global.dfail('rowner', m, conn) -throw false -} -global.opts['self'] = !isEnable -break - + case 'antilink': case 'antienlace': -if (m.isGroup) { -if (!(isAdmin || isOwner)) { -global.dfail('admin', m, conn) -throw false -}} -chat.antiLink = isEnable -break - -case 'antilink2': case 'antienlace2': -if (m.isGroup) { -if (!(isAdmin || isOwner)) { -global.dfail('admin', m, conn) -throw false -}} -chat.antiLink2 = isEnable -break - -case 'antitiktok': case 'antitk': case 'antitik': -if (m.isGroup) { -if (!(isAdmin || isOwner)) { -global.dfail('admin', m, conn) -throw false -}} -chat.antiTiktok = isEnable -break - -case 'antiyoutube': case 'antiyt': -if (m.isGroup) { -if (!(isAdmin || isOwner)) { -global.dfail('admin', m, conn) -throw false -}} -chat.antiYoutube = isEnable -break - -case 'antitelegram': case 'antitl': case 'antitele': case 'antitg': case 'antitel': -if (m.isGroup) { -if (!(isAdmin || isOwner)) { -global.dfail('admin', m, conn) -throw false -}} -chat.antiTelegram = isEnable -break - -case 'antifacebook': case 'antifb': case 'antifbook': -if (m.isGroup) { -if (!(isAdmin || isOwner)) { -global.dfail('admin', m, conn) -throw false -}} -chat.antiFacebook = isEnable -break - -case 'antiinstagram': case 'antinstagram': case 'antiig': case 'antig': case 'antiinsta': case 'antinsta': -if (m.isGroup) { -if (!(isAdmin || isOwner)) { -global.dfail('admin', m, conn) -throw false -}} -chat.antiInstagram = isEnable -break - -case 'antitwitter': case 'antitw': case 'antitwit': case 'antitwter': case 'antitwiter': case 'antiTwr': -if (m.isGroup) { -if (!(isAdmin || isOwner)) { -global.dfail('admin', m, conn) -throw false -}} -chat.antiTwitter = isEnable -break - -case 'modohorny': case 'modocaliente': -if (m.isGroup) { -if (!(isAdmin || isOwner)) { -global.dfail('admin', m, conn) -throw false -}} -chat.modohorny = isEnable -break - -case 'stickers': -if (m.isGroup) { -if (!(isAdmin || isOwner)) { -global.dfail('admin', m, conn) -throw false -}} -chat.stickers = isEnable -break - -case 'temporal': -isAll = true -if (!isOwner) { -global.dfail('owner', m, conn) -throw false -} -bot.temporal = isEnable -break - -case 'autolevelup': case 'autonivel': case 'nivelautomatico': -if (m.isGroup) { -if (!(isAdmin || isOwner)) { -global.dfail('admin', m, conn) -throw false -}} -chat.autolevelup = isEnable -break - -case 'autosticker': -if (m.isGroup) { -if (!(isAdmin || isOwner)) { -global.dfail('admin', m, conn) -throw false -}} -chat.autosticker = isEnable -break - -case 'reaction': case 'reaccion': case 'emojis': case 'antiemojis': case 'reacciones': case 'reaciones': -if (m.isGroup) { -if (!(isAdmin || isOwner)) { -global.dfail('admin', m, conn) -throw false -}} -chat.reaction = isEnable -break - -case 'antitoxic': case 'antitoxicos': case 'antimalos': -if (m.isGroup) { -if (!(isAdmin || isOwner)) { -global.dfail('admin', m, conn) -throw false -}} -chat.antitoxic = isEnable -break - +if (!m.isGroup) throw '⚠️ Este comando solo se puede usar dentro de un grupo.' +if (!isAdmin) throw "⚠️ Solo los admins puede usar este comando."; +await db.query(`INSERT INTO group_settings (group_id) VALUES ($1) ON CONFLICT DO NOTHING`, [chatId]) +await db.query(`UPDATE group_settings SET antilink = $1 WHERE group_id = $2`, [isEnable, chatId]) +break + +case 'antilink2': +if (!m.isGroup) throw '⚠️ Este comando solo se puede usar dentro de un grupo.' +if (!isAdmin) throw "⚠️ Solo los admins puede usar este comando."; +await db.query(`INSERT INTO group_settings (group_id) VALUES ($1) ON CONFLICT DO NOTHING`, [chatId]) +await db.query(`UPDATE group_settings SET antilink2 = $1 WHERE group_id = $2`, [isEnable, chatId]) +break + +case 'antiporn': case 'antiporno': case 'antinwfs': +if (!m.isGroup) throw '⚠️ Este comando solo se puede usar dentro de un grupo.' +if (!isAdmin) throw "⚠️ Solo los admins puede usar este comando."; +await db.query(`INSERT INTO group_settings (group_id) VALUES ($1) ON CONFLICT DO NOTHING`, [chatId]) +await db.query(`UPDATE group_settings SET antiporn = $1 WHERE group_id = $2`, [isEnable, chatId]) +break + case 'audios': -if (m.isGroup) { -if (!(isAdmin || isOwner)) { -global.dfail('admin', m, conn) -throw false -}} -chat.audios = isEnable -break - -case 'antiver': case 'modover': case 'modoobservar': case 'modobservar': case 'antiviewonce': -if (m.isGroup) { -if (!(isAdmin || isOwner)) { -global.dfail('admin', m, conn) -throw false -}} -chat.antiver = isEnable -break - -case 'antiinternacional': case 'antinternacional': case 'antinternational': case 'antifake': case 'antifalsos': case 'antivirtuales': case 'antiextranjeros': -if (m.isGroup) { -if (!(isAdmin || isOwner)) { -global.dfail('admin', m, conn) -throw false -}} -chat.antifake = isEnable -break - -case 'jadibotmd': case 'modojadibot': case 'serbotmd': case 'modoserbot': -isAll = true -if (!isROwner) { -global.dfail('rowner', m, conn) -throw false -} -bot.jadibotmd = isEnable -break - -case 'restrict': case 'restringir': -isAll = true -if (!isOwner) { -global.dfail('owner', m, conn) -throw false -} -bot.restrict = isEnable -break - -case 'nyimak': -isAll = true -if (!isROwner) { -global.dfail('rowner', m, conn) -throw false -} -global.opts['nyimak'] = isEnable -break - -case 'autoread': case 'autovisto': -isAll = true -if (!isROwner) { -global.dfail('rowner', m, conn) -throw false -} -bot.autoread2 = isEnable -global.opts['autoread'] = isEnable -break - -case 'anticall': case 'antillamar': -isAll = true -if (!isROwner) { -global.dfail('rowner', m, conn) -throw false -} -bot.antiCall = isEnable -break - -case 'antispam': -isAll = true -if (!isOwner) { -global.dfail('owner', m, conn) -throw false -} -bot.antiSpam = isEnable -break - -case 'modoadmin': case 'soloadmin': -if (m.isGroup) { -if (!(isAdmin || isOwner)) { -global.dfail('admin', m, conn) -throw false -}} -chat.modoadmin = isEnable -break - -case 'pconly': case 'privateonly': case 'soloprivados': -isAll = true -if (!isROwner) { -global.dfail('rowner', m, conn) -throw false -} -global.opts['pconly'] = isEnable -break - -case 'gconly': case 'grouponly': case 'sologrupos': -isAll = true -if (!isROwner) { -global.dfail('rowner', m, conn) -throw false -} -global.opts['gconly'] = isEnable -break - -case 'antiprivado': -case 'privado': -isAll = true -if (!isROwner) { -global.dfail('rowner', m, conn) -throw false -} -bot.antiPrivate = isEnable -break - -case 'antitrabas': -case 'antitraba': -if (m.isGroup) { -if (!(isAdmin || isOwner)) { -global.dfail('admin', m, conn) -throw false -}} -chat.antiTraba = isEnable -break - -case 'simi': -if (m.isGroup) { -if (!(isAdmin || isOwner)) { -global.dfail('admin', m, conn) -throw false -}} -chat.simi = isEnable -break - -case 'swonly': case 'statusonly': -isAll = true -if (!isROwner) { -global.dfail('rowner', m, conn) -throw false -} -global.opts['swonly'] = isEnable -break +if (!m.isGroup) throw '⚠️ Este comando solo se puede usar dentro de un grupo.' +if (!isAdmin) throw "⚠️ Solo los admins puede usar este comando."; +await db.query(`INSERT INTO group_settings (group_id) VALUES ($1) ON CONFLICT DO NOTHING`, [chatId]) +await db.query(`UPDATE group_settings SET audios = $1 WHERE group_id = $2`, [isEnable, chatId]) +break + +case 'antifake': +if (!m.isGroup) throw '⚠️ Este comando solo se puede usar dentro de un grupo.' +if (!isAdmin) throw "⚠️ Solo los admins puede usar este comando."; +await db.query(`INSERT INTO group_settings (group_id) VALUES ($1) ON CONFLICT DO NOTHING`, [chatId]) +await db.query(`UPDATE group_settings SET antifake = $1 WHERE group_id = $2`, [isEnable, chatId]) +break + +case 'nsfw': case "modohorny": case "modocaliente": +if (!m.isGroup) throw '⚠️ Este comando solo se puede usar dentro de un grupo.' +if (!isAdmin) throw "⚠️ Solo los admins puede usar este comando."; + await db.query(`INSERT INTO group_settings (group_id) VALUES ($1) ON CONFLICT DO NOTHING`, [chatId]) + await db.query(`UPDATE group_settings SET modohorny = $1 WHERE group_id = $2`, [isEnable, chatId]) + break + +case 'modoadmin': case 'onlyadmin': +if (!m.isGroup) throw '⚠️ Este comando solo se puede usar dentro de un grupo.' +if (!isAdmin) throw "⚠️ Solo los admins puede usar este comando."; +await db.query(`INSERT INTO group_settings (group_id) VALUES ($1) ON CONFLICT DO NOTHING`, [chatId]) +await db.query(`UPDATE group_settings SET modoadmin = $1 WHERE group_id = $2`, [isEnable, chatId]) +break + +case 'antiprivate': case 'antiprivado': +if (!isSubbot && !isOwner) return m.reply('❌ Solo el owner o subbots pueden cambiar esto.'); +await db.query(`INSERT INTO subbots (id, anti_private) + VALUES ($1, $2) + ON CONFLICT (id) DO UPDATE SET anti_private = $2`, [cleanId, isEnable]); +isAll = true; +break; + +case 'anticall': case 'antillamada': +if (!isSubbot && !isOwner) return m.reply('❌ Solo el owner o subbots pueden cambiar esto.'); +await db.query(`INSERT INTO subbots (id, anti_call) + VALUES ($1, $2) + ON CONFLICT (id) DO UPDATE SET anti_call = $2`, [cleanId, isEnable]); +isAll = true; +break; default: -if (!/[01]/.test(command)) return await conn.reply(m.chat, `*OPCIONES PARA ACTIVA Y DESACTIVAR* - -┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ - -✦ ${lenguajeGB.smsParaAdmins()} ${m.isGroup ? chat.welcome ? '✅' : '❌' : lenguajeGB.smsNoGg()} -✦ ${usedPrefix + command} welcome -✦ ${lenguajeGB.smsWel2()} - -┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ - -✦ ${lenguajeGB.smsParaAdmins()} ${m.isGroup ? chat.detect ? '✅' : '❌' : lenguajeGB.smsNoGg()} -✦ ${usedPrefix + command} detec -✦ ${lenguajeGB.smsDete2()} - -┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ - -✦ ${lenguajeGB.smsParaAdYOw()} ${m.isGroup ? chat.autolevelup ? '✅' : '❌' : lenguajeGB.smsNoGg()} -✦ ${usedPrefix + command} autolevelup -✦ ${lenguajeGB.smsANivel2()} - -┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ - -✦ ${lenguajeGB.smsParaOw()} ${bot.restrict ? '✅' : '❌'} -✦ ${usedPrefix + command} restrict -✦ ${lenguajeGB.smsRestri2()} - -┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ - -✦ ${lenguajeGB.smsParaOw()} ${bot.antiCall ? '✅' : '❌'} -✦ ${usedPrefix + command} antiCall -✦ ${lenguajeGB.smsLlamar2()} - -┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ - -✦ ${lenguajeGB.smsParaOw()} ${bot.antiSpam ? '✅' : '❌'} -✦ ${usedPrefix + command} antiSpam -✦ ${lenguajeGB.smsAntiSp2()} - -┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ - -✦ ${lenguajeGB.smsParaOw()} ${global.opts['self'] ? '❌' : '✅'} -✦ ${usedPrefix + command} self -✦ ${lenguajeGB.smsModP2()} - -┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ - -✦ ${lenguajeGB.smsParaAdmins()} ${m.isGroup ? chat.modoadmin ? '✅' : '❌' : lenguajeGB.smsNoGg()} -✦ ${usedPrefix + command} modoadmin -✦ ${lenguajeGB.smsModAd2()} - -┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ - -✦ ${lenguajeGB.smsParaOw()} ${global.opts['autoread'] ? '✅' : '❌'} -✦ ${usedPrefix + command} autoread -✦ ${lenguajeGB.smsLect1()} - -┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ - -✦ ${lenguajeGB.smsParaOw()} ${bot.temporal ? '✅' : '❌'} -✦ ${usedPrefix + command} temporal -✦ ${lenguajeGB.smsTempo2()} - -┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ - -✦ ${lenguajeGB.smsParaAdmins()} ${m.isGroup ? chat.stickers ? '✅' : '❌' : lenguajeGB.smsNoGg()} -✦ ${usedPrefix + command} stickers -✦ ${lenguajeGB.smsStik1()} - -┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ - -✦ ${lenguajeGB.smsParaAdmins()} ${m.isGroup ? chat.autosticker ? '✅' : '❌' : lenguajeGB.smsNoGg()} -✦ ${usedPrefix + command} autosticker -✦ ${lenguajeGB.smsStickA2()} - -┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ - -✦ ${lenguajeGB.smsParaAdYOw()} ${m.isGroup ? chat.reaction ? '✅' : '❌' : lenguajeGB.smsNoGg()} -✦ ${usedPrefix + command} reaction -✦ ${lenguajeGB.smsReacc2()} - -┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ - -✦ ${lenguajeGB.smsParaAdYOw()} ${m.isGroup ? chat.audios ? '✅' : '❌' : lenguajeGB.smsNoGg()} -✦ ${usedPrefix + command} audios -✦ ${lenguajeGB.smsAudi2()} - -┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ - -✦ ${lenguajeGB.smsParaAdmins()} ${m.isGroup ? chat.antitoxic ? '✅' : '❌' : lenguajeGB.smsNoGg()} -✦ ${usedPrefix + command} antitoxic -✦ ${lenguajeGB.smsAntitoc2()} - -┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ - -✦ ${lenguajeGB.smsParaAdYOw()} ${m.isGroup ? chat.antiver ? '✅' : '❌' : lenguajeGB.smsNoGg()} -✦ ${usedPrefix + command} antiver -✦ ${lenguajeGB.smsModOb2()} - -┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ - -✦ ${lenguajeGB.smsParaAdYOw()} ${m.isGroup ? chat.delete ? '✅' : '❌' : lenguajeGB.smsNoGg()} -✦ ${usedPrefix + command} delete -✦ ${lenguajeGB.smsAntiEli2()} - -┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ - -✦ ${lenguajeGB.smsParaAdmins()} ${m.isGroup ? chat.antifake ? '✅' : '❌' : lenguajeGB.smsNoGg()} -✦ ${usedPrefix + command} antifake -✦ ${lenguajeGB.smsAntiInt2()} - -┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ - -✦ ${lenguajeGB.smsParaAdmins()} ${m.isGroup ? chat.antiLink ? '✅' : '❌' : lenguajeGB.smsNoGg()} -✦ ${usedPrefix + command} antiLink -✦ ${lenguajeGB.smsAntiE2()} - -┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ - -✦ ${lenguajeGB.smsParaAdmins()} ${m.isGroup ? chat.antiLink2 ? '✅' : '❌' : lenguajeGB.smsNoGg()} -✦ ${usedPrefix + command} antiLink2 -✦ ${lenguajeGB.smsAntiEE2()} - -┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ - -✦ ${lenguajeGB.smsParaAdmins()} ${m.isGroup ? chat.antiTiktok ? '✅' : '❌' : lenguajeGB.smsNoGg()} -✦ ${usedPrefix + command} antiTiktok -✦ ${lenguajeGB.smsAntiTT2()} - -┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ - -✦ ${lenguajeGB.smsParaAdmins()} ${m.isGroup ? chat.antiYoutube ? '✅' : '❌' : lenguajeGB.smsNoGg()} -✦ ${usedPrefix + command} antiYoutube -✦ ${lenguajeGB.smsAntiYT2()} - -┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ - -✦ ${lenguajeGB.smsParaAdmins()} ${m.isGroup ? chat.antiTelegram ? '✅' : '❌' : lenguajeGB.smsNoGg()} -✦ ${usedPrefix + command} antiTelegram -✦ ${lenguajeGB.smsAntiTEL2()} - -┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ - -✦ ${lenguajeGB.smsParaAdmins()} ${m.isGroup ? chat.antiFacebook ? '✅' : '❌' : lenguajeGB.smsNoGg()} -✦ ${usedPrefix + command} antiFacebook -✦ ${lenguajeGB.smsAntiFB2()} - -┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ - -✦ ${lenguajeGB.smsParaAdmins()} ${m.isGroup ? chat.antiInstagram ? '✅' : '❌' : lenguajeGB.smsNoGg()} -✦ ${usedPrefix + command} antiInstagram -✦ ${lenguajeGB.smsAntiIG2()} - -┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ - -✦ ${lenguajeGB.smsParaAdmins()} ${m.isGroup ? chat.antiTwitter ? '✅' : '❌' : lenguajeGB.smsNoGg()} -✦ ${usedPrefix + command} antiTwitter -✦ ${lenguajeGB.smsAntiTW2()} - -┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ - -✦ ${lenguajeGB.smsParaOw()} ${global.opts['pconly'] ? '✅' : '❌'} -✦ ${usedPrefix + command} pconly -✦ ${lenguajeGB.smsSOLOP2()} - -┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ - -✦ ${lenguajeGB.smsParaOw()} ${global.opts['gconly'] ? '✅' : '❌'} -✦ ${usedPrefix + command} gconly -✦ ${lenguajeGB.smsSOLOG2()} - -┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ - -${wm}`, fkontak, { mentions: [aa,] }) -//conn.sendMessage(m.chat, { text: texto }, { quoted: fkontak }) -//conn.sendMessage(m.chat, texto, {quoted: fkontak}) -throw false +return m.reply(menu.trim()); } -await conn.reply(m.chat, `╭┄〔 *${wm}* 〕┄⊱ -┆🗂️ ᴏᴘᴄɪᴏɴ: ${type} -┆——————«•»—————— -┆🎚️ ᴇsᴛᴀᴅᴏ: ${isEnable ? 'ᴀᴄᴛɪᴠᴀᴅᴏ' : 'ᴅᴇsᴀᴄᴛɪᴠᴀᴅᴏ'} -┆——————«•»—————— -┆📣 ᴘᴀʀᴀ: ${isAll ? 'ᴇsᴛᴇ ʙᴏᴛ' : isUser ? '' : 'ᴇsᴛᴇ ᴄʜᴀᴛ'} -╰━━━⊰ 𓃠 ${vs} ⊱━━━━დ`, fkontak, m)} - -handler.help = ['en', 'dis'].map(v => v + 'able