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..1edac7772
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,10 @@
+.npm/
+.git/
+package-lock.json
+yarn.lock
+database.json
+node_modules/
+BotSession/
+jadibts/
+BackupSession/
+database/
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 000000000..bd060f544
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2023 elrebelde21
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/README.md b/README.md
index 720281892..c25973fa9 100644
--- a/README.md
+++ b/README.md
@@ -1,64 +1,94 @@
-> ๐ Versiรณn actual: 1.5.5
-
+> ๐ Versiรณn actual: 1.9.8
+
+[Se viene nueva mejorar el bot, se esta haciendo bot con base echa desde 0 pronto, puede probar su versiรณn beta en grupos oficial](https://chat.whatsapp.com/HNDVUxHphPzG3cJHIwCaX5)
+
+
-
+
-
+
-
+
-
-
+
+
-
-
-
+
+
+
### ๐ซ ๐๐๐ฑ๐ฎ ๐๐ผ๐ฏ๐ฟ๐ฒ ๐ฒ๐น ๐ฏ๐ผ๐?
๐๐ผ๐ป๐๐ฎ๐ฐ๐๐ฎ๐บ๐ฒ โจ
-
+
-
+
### โ๏ธ ๐๐๐๐๐๐ ๐๐๐๐พ๐๐ผ๐๐๐
-
-
-
-
-
+
+
+
+
+
-
+
[](https://git.io/typing-svg)
[](https://whatsapp.com/channel/0029Vau57ykEwEk5CgosvU3v)
+
+[](https://whatsapp.com/channel/0029Va4QjH7DeON0ePwzjS1A)
-----
+### โ๏ธ Activar LoliBot-MD 24/7 activos en SkyPlus Host
+[](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**
+----
+
### ๐๐๐๐๐๐ ๐๐ ๐๐๐๐๐๐ - ๐๐๐๐๐๐ฝ
[](https://youtu.be/O_j2q5xCg3A?si=rqKUJF-8w1OCeAxx?feature=share)
> โฌ๏ธ ๐๐๐๐๐๐๐ ๐๐๐ ๐๐๐๐๐๐๐๐๐๐ ๐๐๐๐๐๐๐๐ ๐๐๐ ๐๐๐ ๐๐๐ (Opciรณn 1)
@@ -66,13 +96,13 @@
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
+apt update -y && yes | apt upgrade && pkg install -y bash wget mpv && wget -O - https://raw.githubusercontent.com/elrebelde21/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)
-[
+### [`LoliBot-MD ~ Archivos`](https://github.com/elrebelde21/LoliBot-MD/archive/refs/heads/master.zip)
+[
](https://youtu.be/i1xjB4bmYCc?si=JBYC22-3mBkLpB8c)
```bash
termux-setup-storage
@@ -81,13 +111,10 @@ termux-setup-storage
apt update && apt upgrade && pkg install -y git nodejs ffmpeg imagemagick yarn
```
```bash
-cd storage/downloads/The-LoliBot-MD-master/The-LoliBot-MD-master
+cd storage/downloads/LoliBot-MD-master/LoliBot-MD-master
```
```bash
-yarn install
-```
-```bash
-npm install
+npm install && yarn install
```
```bash
npm start
@@ -97,121 +124,34 @@ npm start
```bash
๐๐๐๐๐๐๐ ๐๐๐ ๐๐๐๐๐๐๐๐๐๐ ๐๐๐๐๐๐๐๐ ๐๐๐ ๐๐๐ ๐๐๐:
> cd
-> cd The-LoliBot-MD
+> cd LoliBot-MD
> npm start
```
### `๐๐๐๐๐๐๐ ๐๐๐๐ ๐๐๐๐๐๐ ๐๐
```bash
๐๐๐๐๐๐๐ ๐๐๐ ๐๐๐๐๐๐๐๐๐๐ ๐๐๐๐๐๐๐๐ ๐๐๐ ๐๐๐ ๐๐๐:
> cd
-> cd The-LoliBot-MD
+> cd 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
-[
-](https://youtu.be/wWyBHtKzx9Q?si=ihODwzs0pnVhzs5s)
-
-
-### BoxMine World
-----
-### ๐ฃ ACTIVAR EN HEROKU
-[](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
[
](https://youtu.be/SMjCcfuyWQE)
-
-
+
+
------------------
- [x] Resultado Importar Repositorio - The-LoliBot-MD
-------------------
-### ๐ฑ ACTIVAR EN KOYEB
-
-[](https://app.koyeb.com/deploy?type=git&repository=github.com/elrebelde21/The-LoliBot-MD&branch=master&name=the-lolibot-md)
-
-------------------
-### โ๏ธ ACTIVAR EN RENDER
-[](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
+๐ธESTE REPOSITORIO SE PUBLICA LA VERSIรN ACTUAL|OFICIAL DE 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.
+๐ธ LOLIBOT-MD, NO SE HACE RESPONSABLE DEL USO, NรMERO, PRIVACIDAD Y CONTENIDO MANDADO, O USADO O GESTIONADO POR USTEDES O EL BOT (usarlo bajo tu responsabilidad).
```
----
@@ -222,7 +162,9 @@ Si tiene รฉxito, le darรก un mensaje como: `SUCCESS: specified value was saved`.
[](https://github.com/GataNina-Li)
[](https://github.com/Yesenia57)
[](https://github.com/AzamiJs)
-[](https://github.com/KatashiFukushima)
+[](https://github.com/Alba070503)
+[](https://github.com/DanixlJs)
+[](https://github.com/edar123)
### ๐ AGRADECIMIENTOS
[](https://github.com/BrunoSobrino)
diff --git a/config.js b/config.js
index 145ace7f7..7f8d0ca9f 100644
--- a/config.js
+++ b/config.js
@@ -1,403 +1,123 @@
-import { watchFile, unwatchFile } from 'fs'
+import { watchFile, unwatchFile } from 'fs'
import chalk from 'chalk'
import { fileURLToPath } from 'url'
-import fs from 'fs'
+import fs from 'fs'
import cheerio from 'cheerio'
import fetch from 'node-fetch'
-import axios from 'axios'
-import moment from 'moment-timezone'
-import { en, es, id, ar, pt } from './lib/idiomas/total-idiomas.js'
+import axios from 'axios'
+import moment from 'moment-timezone' ;
+import { tr, translateText } from './lib/_checkLang.js';
-//โฑ โโโโโ.โ
Aรฑada los numeros a ser Propietario/a โ
.โโโโ โฐ
+//---------[ Aรฑada los numeros a ser Propietario/a ]---------
-global.owner = [
-['5492266466080', '๐๐ค๐ก๐๐ฝ๐ค๐ฉ-๐๐ฟ', true],
-['573026191480', '๐๐ค๐ก๐๐ฝ๐ค๐ฉ-๐๐ฟ', true],
-['593968585383'],
-['5217294888993'],
-['595992302861'],
-['5492266466080'],
-['19393231057'],
-['595975740803'],
-['5492266613038']]
-
-global.mods = ['50495745934']
-global.prems = ['972529277314'],
+global.owner = [['5214774444444', '๏ผฐ๏ผฒ๏ผฏ๏ผฐ๏ผฉ๏ผฅ๏ผด๏ผก๏ผฒ๏ผฉ๏ผฏ', true], ['573226873710'], ['593968585383'], ['17866277409'], ['5217411126626'], ['5213347320542'], ['595986505424'], ['5219999699999'], ['5217441452981'], ['523482800300'], ['573007487856'], ['5217773342977'], ['573008499604'], ['5492266613038']]
+global.mods = []
+global.prems = []
//BETA: Si quiere evitar escribir el nรบmero que serรก bot en la consola, agreguรฉ desde aquรญ entonces:
-//Sรณlo aplica para opciรณn 2 (ser bot con cรณdigo de texto de 8 digitos)
global.botNumberCode = "" //Ejemplo: +59309090909
global.confirmCode = ""
+global.gataJadibts = true //cambia a false Desactivar en "auto-reconexion" de sub-bots
-//โฑ โโโโโ.โ
IDIOMA : LENGUAJE โ
.โโโโ โฐ
-//Agrega el Idioma que quieres que tenga The-LoliBot-MD
-// es = Espaรฑol id = Bahasa Indonesia
-// en = English pt = Portuguรชs
-// ar = ุนุฑุจ
-
-global.lenguajeGB = es //Idioma de The-LoliBot-MD, Ejemplo: es | en | pt...
+//Cambiar a tu idioma "es = espaรฑol" - "en = inglรฉs"
+global.lang = "es"
+global.tr = tr
-//โโโโโโโโโโโโโโโโโโโโ เธ
^โข๏ปโข^เธ
+//---------[ APIS GLOBAL ]---------
-global.openai_key = 'sk-...OzYy' /* Consigue tu ApiKey en este enlace: https://platform.openai.com/account/api-keys */
-global.openai_org_id = 'HITjoN7H8pCwoncEB9e3fSyW' /* Consigue tu ID de organizacion en este enlace: https://platform.openai.com/account/org-settings */
-global.Key360 = ['964f-0c75-7afc']//key de violetics
-global.keysZens = ['LuOlangNgentot', 'c2459db922', '37CC845916', '6fb0eff124', 'hdiiofficial', 'fiktod', 'BF39D349845E', '675e34de8a', '0b917b905e6f']
-global.keysxxx = keysZens[Math.floor(keysZens.length * Math.random())]
-global.keysxteammm = ['29d4b59a4aa687ca', '5LTV57azwaid7dXfz5fzJu', 'cb15ed422c71a2fb', '5bd33b276d41d6b4', 'HIRO', 'kurrxd09', 'ebb6251cc00f9c63']
-global.keysxteam = keysxteammm[Math.floor(keysxteammm.length * Math.random())]
-global.keysneoxrrr = ['5VC9rvNx', 'cfALv5']
-global.keysneoxr = keysneoxrrr[Math.floor(keysneoxrrr.length * Math.random())]
-global.lolkeysapi = 'GataDios'
-global.itsrose = ['4b146102c4d500809da9d1ff']
global.baileys = '@whiskeysockets/baileys'
+global.apis = 'https://delirius-apiofc.vercel.app'
-global.APIs = {
- xteam: 'https://api.xteam.xyz',
- dzx: 'https://api.dhamzxploit.my.id',
- lol: 'https://api.lolhuman.xyz',
- violetics: 'https://violetics.pw',
- neoxr: 'https://api.neoxr.my.id',
- zenzapis: 'https://api.zahwazein.xyz',
- akuari: 'https://api.akuari.my.id',
- akuari2: 'https://apimu.my.id',
- fgmods: 'https://api-fgmods.ddns.net',
- botcahx: 'https://api.botcahx.biz.id',
- ibeng: 'https://api.ibeng.tech/docs',
- rose: 'https://api.itsrose.site',
- popcat : 'https://api.popcat.xyz',
- xcoders : 'https://api-xcoders.site'
-},
-global.APIKeys = {
- 'https://api.xteam.xyz': `${keysxteam}`,
- 'https://api.lolhuman.xyz': `${lolkeysapi}`,
- 'https://api.neoxr.my.id': `${keysneoxr}`,
- 'https://violetics.pw': 'beta',
- 'https://api.zahwazein.xyz': `${keysxxx}`,
- 'https://api-fgmods.ddns.net': 'fg-dylux',
- 'https://api.botcahx.biz.id': 'Admin',
- 'https://api.ibeng.tech/docs': 'tamvan',
- 'https://api.itsrose.site': 'Rs-Zeltoria',
- 'https://api-xcoders.site': 'Frieren'
-}
+global.APIs = { lolhuman: { url: 'https://api.lolhuman.xyz/api/', key: 'GataDiosV3' },
+skizo: { url: 'https://skizo.tech/api/', key: 'GataDios' },
+alyachan: { url: 'https://api.alyachan.dev/api/', key: null },
+neoxr: { url: 'https://api.neoxr.eu/api', key: 'GataDios' },
+fgmods: { url: 'https://api.fgmods.xyz/api', key: 'elrebelde21' },
+popcat: { url: 'https://api.popcat.xyz', key: null }}
-global.imagen1 = fs.readFileSync('./Menu2.jpg')
-global.imagen2 = fs.readFileSync('./src/nuevobot.jpg')
-global.imagen3 = fs.readFileSync('./src/Pre Bot Publi.png')
-
-global.mods = []
global.cheerio = cheerio
global.fs = fs
global.fetch = fetch
global.axios = axios
global.moment = moment
-//โฑ โโโโโ.โ
Sticker WM โ
.โโโโ โฐ
-
-global.packname = '๐๐ค๐ข๐ ๐ฉ๐ช ๐จ๐ฉ๐๐๐ ๐๐ง'
-global.author = '๐๐ค๐ก๐๐ฝ๐ค๐ฉ-๐๐ฟ'
+//------------------------[ Stickers ]-----------------------------
-//โฑ โโโโโ.โ
Versiรณn | Nombre | cuentas โ
.โโโโ โฐ
+global.packname = 'LoliBot'
+global.author = 'elrebelde21'
-global.vs = '1.5.5'
-global.lb = '๐๐๐ ๐๐ค๐ก๐๐ฝ๐ค๐ฉ-๐๐ฟ'
-global.yt = 'https://www.youtube.com/@TheLoliBot-MD'
-global.ig = 'https://www.tiktok.com/@thelolibot_md'
-global.md = 'https://github.com/elrebelde21/The-LoliBot-MD'
-global.fb = 'https://www.facebook.com/groups/872989990425789/'
+//------------[ Versiรณn | Nombre | cuentas ]------------
-global.nna = 'https://whatsapp.com/channel/0029Va4QjH7DeON0ePwzjS1A' //Actualizaciรณn, informaciรณn sobre el bot
-global.nn = 'https://chat.whatsapp.com/C6sxsP2ckrr2vxMKclOeCD' //Grupo 1
-global.nnn = 'https://chat.whatsapp.com/H4hxytyGvucIF1k0UAR7es' //Grupo 2
-global.nnnt = 'https://chat.whatsapp.com/IlyJBy1fxcw2qAHLSC5YLa' //Grupo del Colaboracion
-global.nnnt2 = 'https://chat.whatsapp.com/K7RzcVdxGqhGP5dCpVENSI' // Grupo COL 2
-global.nnntt = 'https://chat.whatsapp.com/IB9Vs7mZ03BBkH3reCU8Dw' //Grupo COL 3
-global.nnnttt = 'https://chat.whatsapp.com/KlqNmoUcVnsGJxIfATIDrK' //enlace lolibot
-global.nnntttt = 'https://chat.whatsapp.com/FRkr7jJHSJA5OjVtE64dDs' //Grupo ayuda sobre el bot
-global.asistencia = 'Wa.me/5492266466080' //Dudas? escrรญbeme...
+global.wm = '๐๐ค๐ก๐๐ฝ๐ค๐ฉ-๐๐ฟ'
+global.vs = '1.9.8'
+global.yt = 'https://www.youtube.com/@elrebelde.21'
+global.tiktok = 'https://www.tiktok.com/@elrebelde.21'
+global.md = 'https://github.com/elrebelde21/LoliBot-MD'
+global.fb = 'https://www.facebook.com/elrebelde21'
+global.face = 'https://www.facebook.com/groups/872989990425789/'
-//โฑ โโโโโโโโโโโโโ.โ
Datos โ
.โโโโโโโโโโโโโโ โฐ
+global.nna = 'https://whatsapp.com/channel/0029Va4QjH7DeON0ePwzjS1A' //Update
+global.nna2 = 'https://whatsapp.com/channel/0029Vas9jIPFsn0fgdNCKO0V' //LoliBot update
+global.nnaa = 'https://whatsapp.com/channel/0029Vas9jIPFsn0fgdNCKO0V' //LoliBot - Test
+global.nn = 'https://chat.whatsapp.com/HNDVUxHphPzG3cJHIwCaX5' //Grupo 1
+global.nnn = 'https://chat.whatsapp.com/KDBt6S54riRCIpSZspkxhg' //Grupo 2
+global.nnnt = 'https://chat.whatsapp.com/GXNXKWSEckU1j1c7sItTxK' //Grupo del Colaboracion
+global.nnntt = 'https://chat.whatsapp.com/Em4Byf4w5VgHObPvZQlfnM' //enlace lolibot
+global.nnnttt = 'https://chat.whatsapp.com/J5hQvECqR4W6uTT84uiSBx' //A.T.T.M
+global.nnntttt = 'https://chat.whatsapp.com/ILAHJeZsHh973tQ96i2aqS' //Grupo ayuda sobre el bot
+global.bot = 'wa.me/5213121663423'
+global.redes = [nna, nna2, yt, nn, nnn, nnnt, nnntt, nnnttt, nnntttt, md, tiktok, fb, face]
-global.rg = 'โฐโฑโ
*๐๐๐๐๐๐๐ผ๐ฟ๐๐* โฑโ
โฑโฎ\n\n'
-global.resultado = rg
-global.ag = 'โฐโฑโ ๏ธโฑ *๐ผ๐ฟ๐๐๐๐๐๐๐พ๐๐ผ* โฑโ ๏ธโฑโฎ\n\n'
-global.advertencia = ag
-global.iig = 'โฐโฑโโฑ *๐๐๐๐๐๐๐ผ๐พ๐๐๐ * โฑโฑโฎ\n\n'
-global.informacion = iig
-global.fg = 'โฐโฑโโฑ *๐๐๐๐๐* โฑโโฑโฎ\n\n'
-global.fallo = fg
-global.mg = 'โฐโฑโ๏ธโฑ *๐๐ ๐๐๐ ๐๐ผ๐* โฑโ๏ธโฑโฎ\n\n'
-global.mal = mg
-global.eeg = 'โฐโฑ๐ฉโฑ *๐๐๐๐๐๐๐* โฑ๐ฉโฑโฎ\n\n'
-global.envio = eeg
-global.eg = 'โฐโฑ๐โฑ *๐๐๐๐๐๐* โฑ๐โฑโฎ\n\n'
-global.exito = eg
+//------------------------[ Info | Datos ]---------------------------
-//โฑ โโโโโ.โ
Informaciรณn โ
.โโโโ โฐ
-
-global.wm = '๐ป๐๐ ๐ณ๐๐๐๐ฉ๐๐-๐ด๐ซ'
-global.igfg = '๐ป๐๐ ๐ณ๐๐๐๐ฉ๐๐-๐ด๐ซ'
-global.wait = '*โ _Cargando..._ โฌโญโญโญโญโญโญ*'
+global.wait = 'Calmao pa estoy procesando๐\n\n> *โPor favor no hacer spam๐โ*'
global.waitt = '*โ _Cargando..._ โฌโฌโญโญโญ*'
global.waittt = '*โ _Cargando..._ โฌโฌโฌโฌโญโญ*'
global.waitttt = '*โ _Cargando..._ โฌโฌโฌโฌโฌโฌโญ*'
-global.nomorown = '5492266466080'
-global.pdoc = ['application/vnd.openxmlformats-officedocument.presentationml.presentation', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/vnd.ms-excel', 'application/msword', 'application/pdf', 'text/rtf']
-
-//โฑ โโโโโ.โ
IMG โ
.โโโโ โฐ
-
-global.imagen1 = fs.readFileSync('./media/menus/Menu3.jpg')
-global.imagen2 = fs.readFileSync('./media/menus/img1.jpg')
-global.imagen3 = fs.readFileSync('./media/menus/img2.jpg')
-global.imagen4 = fs.readFileSync('./media/menus/img3.jpg')
-
-//โโโโโโโโโโโโโโ img โโโโโโโโโ
-
-global.img = 'https://i.imgur.com/H6AofpJl.jpg'
-global.img2 = 'https://i.imgur.com/R1uVUId.jpeg'
-global.img3 = 'https://i.imgur.com/Q5m8R11.jpeg' //prem
-global.img4 = 'https://i.imgur.com/sJ3HUTb.jpeg' //prem
-global.img5 = 'https://i.imgur.com/gb8HwKN.jpeg'
-global.img6 = 'https://i.imgur.com/qevNnBU.jpeg'
-global.img7 = 'https://i.imgur.com/c1xXpPX.jpeg'
-global.img8 = 'https://i.imgur.com/5cofHE5.jpeg'
-global.img9 = 'https://i.imgur.com/qevNnBU.jpeg'
-global.img10 = 'https://i.imgur.com/R1uVUId.jpeg'
-global.img11 = 'https://i.imgur.com/Q5m8R11.jpeg'
-global.img12 = 'https://i.imgur.com/gb8HwKN.jpeg'
-global.img13 = 'https://i.imgur.com/qevNnBU.jpeg'
-global.img14 = 'https://i.imgur.com/c1xXpPX.jpeg'
-global.img15 = 'https://i.imgur.com/5cofHE5.jpeg'
-global.img16 = 'https://i.imgur.com/11MRjo4.jpeg' //+18
-global.img17 = 'https://i.imgur.com/JpYfcH0.jpeg'
-global.redesMenu = [nna, nn, nnn, nnnt, nnntt, nnnttt, nnntttt, md, ig, lb, fb, yt]
-global.gataMenu = [img, img2, img6, img7, img8, img9, img13, img14, img15, img16]
-global.gataVidMenu = ['./media/menus/Menuvid1.mp4', './media/menus/Menuvid2.mp4', './media/menus/Menuvid3.mp4']
-global.gataImg = [imagen1, imagen2, imagen3]
-
-//โฑ โโโโโ.โ
RPG โ
.โโโโ โฐ
-
-global.flaaa = [
-'https://flamingtext.com/net-fu/proxy_form.cgi?&imageoutput=true&script=water-logo&script=water-logo&fontsize=90&doScale=true&scaleWidth=800&scaleHeight=500&fontsize=100&fillTextColor=%23000&shadowGlowColor=%23000&backgroundColor=%23000&text=',
-'https://flamingtext.com/net-fu/proxy_form.cgi?&imageoutput=true&script=crafts-logo&fontsize=90&doScale=true&scaleWidth=800&scaleHeight=500&text=',
-'https://flamingtext.com/net-fu/proxy_form.cgi?&imageoutput=true&script=amped-logo&doScale=true&scaleWidth=800&scaleHeight=500&text=',
-'https://www6.flamingtext.com/net-fu/proxy_form.cgi?&imageoutput=true&script=sketch-name&doScale=true&scaleWidth=800&scaleHeight=500&fontsize=100&fillTextType=1&fillTextPattern=Warning!&text=',
-'https://www6.flamingtext.com/net-fu/proxy_form.cgi?&imageoutput=true&script=sketch-name&doScale=true&scaleWidth=800&scaleHeight=500&fontsize=100&fillTextType=1&fillTextPattern=Warning!&fillColor1Color=%23f2aa4c&fillColor2Color=%23f2aa4c&fillColor3Color=%23f2aa4c&fillColor4Color=%23f2aa4c&fillColor5Color=%23f2aa4c&fillColor6Color=%23f2aa4c&fillColor7Color=%23f2aa4c&fillColor8Color=%23f2aa4c&fillColor9Color=%23f2aa4c&fillColor10Color=%23f2aa4c&fillOutlineColor=%23f2aa4c&fillOutline2Color=%23f2aa4c&backgroundColor=%23101820&text=']
-
-global.cmenut = 'โโโโโโโใ'
-global.cmenub = 'โโฆ '
-global.cmenuf = 'โฐโโโ
โโโโโโโโเน\n'
-global.cmenua = '\nโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ\n '
-global.dmenut = '*โโโ
โโโ
โฉ*'
-global.dmenub = '*โยป*'
-global.dmenub2 = '*โ*'
-global.dmenuf = '*โฐโ
โโโโโโโโโ
โฆ*'
-global.htjava = 'โซนโซบ'
-global.htki = '*โญโขฬฉฬฉอโฑโขโขโขโข โช*'
-global.htka = '*โช โขโขโขโขฬฉฬฉอโฐโขโญ*'
-global.comienzo = 'โข โข โโโโโโ'
-global.fin = 'โโโโโโ โข โข'
-global.botdate = `โซนโซบ Date : ${moment.tz('America/Los_Angeles').format('DD/MM/YY')}` //Asia/Jakarta
-global.bottime = `๐ง ๐ ๐ ๐ : ${moment.tz('America/Los_Angeles').format('HH:mm:ss')}`//America/Los_Angeles
-global.fgif = {
-key: {
-participant : '0@s.whatsapp.net'},
-message: {
-"videoMessage": {
-"title": wm,
-"h": `Hmm`,
-'seconds': '999999999',
-'gifPlayback': 'true',
-'caption': bottime,
-'jpegThumbnail': fs.readFileSync('./media/menus/Menu3.jpg')
-}}}
-
-//โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ เธ
^โข๏ปโข^เธ
-
-global.multiplier = 90 // Cuanto mรกs alto, mรกs difรญcil subir de nivel
-global.rpg = {
-emoticon(string) {
-string = string.toLowerCase()
-let emot = {
-level: '๐งฌ Nivel',
-limit: lenguajeGB.eDiamante(),
-exp: lenguajeGB.eExp(),
-bank: '๐ฆ Banco',
-diamond: lenguajeGB.eDiamantePlus(),
-health: 'โค๏ธ Salud',
-kyubi: lenguajeGB.eMagia(),
-joincount: lenguajeGB.eToken(),
-emerald: lenguajeGB.eEsmeralda(),
-stamina: lenguajeGB.eEnergia(),
-role: '๐ช Rango',
-premium: '๐๏ธ Premium',
-pointxp: '๐ง Puntos Exp',
-gold: lenguajeGB.eOro(),
-trash: lenguajeGB.eBasura(),
-crystal: '๐ฎ Cristal : Crystal',
-intelligence: '๐ง Inteligencia ',
-string: lenguajeGB.eCuerda(),
-keygold: '๐ Llave de Oro',
-keyiron: '๐๏ธ Llave de Hierro',
-emas: lenguajeGB.ePinata(),
-fishingrod: '๐ฃ Caรฑa de Pescar',
-gems: '๐ Gemas',
-magicwand: 'โ๏ธ Varita Mรกgica',
-mana: '๐ช Hechizo',
-agility: '๐คธโโ๏ธ Agilidad',
-darkcrystal: 'โ ๏ธ Cristal Oscuro : Dark Glass',
-iron: lenguajeGB.eHierro(),
-rock: lenguajeGB.eRoca(),
-potion: lenguajeGB.ePocion(),
-superior: '๐ผ Superior',
-robo: '๐ Robo',
-upgrader: '๐งฐ Aumentar Mejora',
-wood: lenguajeGB.eMadera(),
-strength: '๐ฆนโ โ๏ธ Fuerza',
-arc: '๐น Arco : Arc',
-armor: '๐ฅผ Armadura : Armor',
-bow: '๐น Super Arco : Super Bow',
-pickaxe: 'โ๏ธ Pico',
-sword: lenguajeGB.eEspada(),
-common: lenguajeGB.eCComun(),
-uncoommon: lenguajeGB.ePComun(),
-mythic: lenguajeGB.eCMistica(),
-legendary: lenguajeGB.eClegendaria(),
-petFood: lenguajeGB.eAMascots(), //?
-pet: lenguajeGB.eCMascota(),//?
-bibitanggur: lenguajeGB.eSUva(), bibitapel: lenguajeGB.eSManzana(), bibitjeruk: lenguajeGB.eSNaranja(), bibitmangga: lenguajeGB.eSMango(), bibitpisang: lenguajeGB.eSPlatano(),
-ayam: '๐ Pollo',
-babi: '๐ Puerco',
-Jabali: '๐ Jabalรญ',
-bull: '๐ Toro : Bull',
-buaya: '๐ Cocodrilo : Alligator',
-cat: lenguajeGB.eGato(),
-centaur: lenguajeGB.eCentauro(),
-chicken: '๐ Pollo : Chicken',
-cow: '๐ Vaca : Cow',
-dog: lenguajeGB.ePerro(),
-dragon: lenguajeGB.eDragon(),
-elephant: '๐ Elefante : Elephant',
-fox: lenguajeGB.eZorro(),
-giraffe: '๐ฆ Jirafa : Giraffe',
-griffin: lenguajeGB.eAve(), //Mascota : Griffin',
-horse: lenguajeGB.eCaballo(),
-kambing: '๐ Cabra : Goat',
-kerbau: '๐ Bรบfalo : Buffalo',
-lion: '๐ฆ Leรณn : Lion',
-money: lenguajeGB.eGataCoins(),
-monyet: '๐ Mono : Monkey',
-panda: '๐ผ Panda',
-snake: '๐ Serpiente : Snake',
-phonix: '๐๏ธ Fรฉnix : Phoenix',
-rhinoceros: '๐ฆ Rinoceronte : Rhinoceros',
-wolf: lenguajeGB.eLobo(),
-tiger: '๐
Tigre : Tiger',
-cumi: '๐ฆ Calamar : Squid',
-udang: '๐ฆ Camarรณn : Shrimp',
-ikan: '๐ Pez : Fish',
-fideos: '๐ Fideos : Noodles',
-ramuan: '๐งช Ingrediente NOVA : Ingredients',
-knife: '๐ช Cuchillo : Knife'
+global.waittttt = '*โ _Cargando..._ โฌโฌโฌโฌโฌโฌโฌ*'
+global.rg = 'ใโ
๐๐๐๐๐๐๐ผ๐ฟ๐๐ โ
ใ\n\n'
+global.ag = 'ใโ ๏ธ ๐ผ๐ฟ๐๐๐๐๐๐๐พ๐๐ผ โ ๏ธใ\n\n'
+global.iig = 'ใโ ๐๐๐๐๐๐๐ผ๐พ๐๐๐ ใ\n\n'
+global.fg = 'ใโ ๐๐๐๐๐ โใ\n\n'
+global.mg = 'ใโ๏ธ ๐๐ ๐๐๐ ๐๐ผ๐โใ\n\n'
+global.eeg = 'ใ๐ฉ ๐๐๐๐๐๐๐ ๐ฉใ\n\n'
+global.eg = 'ใ๐ ๐๐๐๐๐๐ ๐ใ\n\n'
+
+//-------------------------[ IMAGEN ]------------------------------
+//global.img = "https://qu.ax/Zgqq.jpg"
+global.img1 = 'https://qu.ax/hNJk.jpg'
+global.img2 = 'https://qu.ax/jzhN.jpg'
+
+global.imagen = fs.readFileSync('./Menu2.jpg')
+global.imagen1 = fs.readFileSync('./media/Menu1.jpg')
+global.imagen2 = fs.readFileSync('./media/Menu2.jpg')
+global.imagen3 = fs.readFileSync('./media/Menu3.jpg')
+global.imagen4 = fs.readFileSync('./media/Menu4.jpg')
+global.imagen5 = 'https://qu.ax/rULv.jpg'
+global.imagen6 = 'https://qu.ax/CySs.jpg'
+global.menu18 = 'https://qu.ax/MOgO.jpg'
+global.vid1 = 'https://qu.ax/dcAc.mp4'
+global.img = [imagen, imagen1, imagen2, imagen3, imagen4]
+global.imageUrl = ["https://qu.ax/HJnWj.jpg", "https://qu.ax/ehPzQ.jpg", "https://qu.ax/ilfbC.jpg"]
+
+//----------------------------[ NIVELES | RPG ]---------------------------------
+
+global.multiplier = 850 // Cuanto mรกs alto, mรกs difรญcil subir de nivel
+global.maxwarn = '4' // mรกxima advertencias
+
+//---------------[ IDs de canales ]----------------
+
+global.ch = {
+ch1: '120363349916000764@newsletter',
+ch2: '120363160031023229@newsletter',
+ch3: '120363301598733462@newsletter',
}
-let results = Object.keys(emot).map(v => [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..d9fc3dfbf 100644
--- a/handler.js
+++ b/handler.js
@@ -1,977 +1,175 @@
-import {generateWAMessageFromContent} from '@whiskeysockets/baileys';
import { smsg } from './lib/simple.js'
-import { format } from 'util'
+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'
-
+import chalk from 'chalk'
+import fetch from 'node-fetch'
+import ws from 'ws';
+import { tr, translateText } from './lib/_checkLang.js';
+
/**
- * @type {import('@adiwajshing/baileys')}
+ * @type {import('@whiskeysockets/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()
+clearTimeout(this)
+resolve()
}, ms))
-
+
/**
* Handle messages upsert
- * @param {import('@adiwajshing/baileys').BaileysEventMap['messages.upsert']} groupsUpdate
+ * @param {import('@whiskeysockets/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;
-}
-if (global.db.data == null) await global.loadDatabase()
-/*------------------------------------------------*/
-if (global.chatgpt.data === null) await global.loadChatgptDB();
-/*------------------------------------------------*/
+if (!chatUpdate) return
+this.pushMessage(chatUpdate.messages).catch(console.error)
+let m = chatUpdate.messages[chatUpdate.messages.length - 1]
+if (!m) return
+if (global.db.data == null)
+await global.loadDatabase()
try {
m = smsg(this, m) || m
-if (!m)
-return
+global.currentMessageContext = m;
+if (!m) return
m.exp = 0
m.limit = false
-m.money = false
+m.money = false
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 (!isNumber(user.exp)) user.exp = 0;
+if (user.exp < 0) user.exp = 0;
+if (!isNumber(user.money)) user.money = 10;
+if (user.money < 0) user.money = 0;
+if (!isNumber(user.limit)) user.limit = 8;
+if (user.limit < 0) user.limit = 0;
+if (!('premium' in user)) user.premium = false;
+if (!('registered' in user)) user.registered = false;
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
-}
-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'
+if (!('name' in user)) user.name = m.name;
+if (!isNumber(user.age)) user.age = -1;
+if (!isNumber(user.premiumDate)) user.premiumDate = -1;
+if (!isNumber(user.regTime)) user.regTime = -1;
+}
+if (!isNumber(user.afk)) user.afk = -1;
+if (!('autolevelup' in user)) user.autolevelup = true;
+if (!('role' in user)) user.role = 'Novato';
+if (!isNumber(user.level)) user.level = 0;
+if (!('language' in user)) user.language = lang
+if (!user.gender) user.gender = null
+if (!user.birthday) user.birthday = null
+if (!isNumber(user.antispam)) user.antispam = 0;
+if (!isNumber(user.banco)) user.banco = 0
+if (!user.premium) user.premium = false;
+if (!user.warnPv) user.warnPv = false
+if (!user.premium) user.premiumTime = 0;
+if (!user.marry) user.marry = 0;
+if (!user.wait) user.wait = 0;
+if (!user.lastmiming) user.lastmiming = 0;
+if (!user.lastwork) user.lastwork = 0;
+if (!user.lastcofre) user.lastcofre = 0;
+if (!user.lastclaim) user.lastclaim = 0;
+if (!user.messageSpam) user.messageSpam = 0;
+if (!user.crime) user.crime = 0;
+if (!user.lastrob) user.lastrob = 0;
+if (!user.packname) user.packname = null
+if (!user.author) user.author = null
+if (!user.timeRy) user.timeRy = 0;
+if (!user.timevot) user.timevot = 0;
+if (!user.mensaje) user.mensaje = 0;
+if (!user.rtrofi) user.rtrofi = 'Bronce';
} else
global.db.data.users[m.sender] = {
+exp: 0,
+money: 10,
+limit: 8,
+registered: false,
+premium: false,
+regTime: -1,
+premiumTime: 0,
+role: 'Novato',
+autolevelup: true,
+banned: false,
+language: lang,
+gender: null,
+birthday: null,
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,
+lastwork: 0,
+messageSpam: 0,
+lastclaim: 0,
+level: 0,
+wait: 0,
+age: -1,
+marry: 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,
+Banneduser: false,
+warnPv: false,
+packname: null,
+author: null,
+banco: 0,
+timeRy: 0,
+lastmiming: 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,
+crime: 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,
+timevot: 0,
+rtrofi: 'bronce',
+mensaje: 0,
}
-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
+let chat = global.db.data.chats[m.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 (!('sAutorespond' in chat)) chat.sAutorespond = ''
+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 (!('sPromote' in chat)) chat.sPromote = ''
+if (!('sDemote' in chat)) chat.sDemote = ''
+if (!('delete' in chat)) chat.delete = false
+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 = 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 (!('antiTwitter' in chat)) chat.antiTwitter = false
+if (!('antiDiscord' in chat)) chat.antiDiscord = false
+if (!('antiThreads' in chat)) chat.antiThreads = false
+if (!('antiTwitch' in chat)) chat.antiTwitch = 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 (!('reaction' in chat)) chat.reaction = true
+if (!('modoadmin' in chat)) chat.modoadmin = false
+if (!('game' in chat)) chat.game = true
+if (!('game2' in chat)) chat.game2 = false
if (!('simi' in chat)) chat.simi = false
-if (!('antiTraba' in chat)) chat.antiTraba = true
+if (!('antiTraba' in chat)) chat.antiTraba = true
+if (!('primaryBot' in chat)) chat.primaryBot = null
+if (!('autorespond' in chat)) chat.autorespond = true
if (!('autolevelup' in chat)) chat.autolevelup = true
if (!isNumber(chat.expired)) chat.expired = 0
+if (!('horarioNsfw' in chat)) {
+chat.horarioNsfw = {
+inicio: "00:00",
+fin: "23:59"
+};
+}
} 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,
@@ -980,12 +178,12 @@ sWelcome: '',
sBye: '',
sPromote: '',
sDemote: '',
-delete: true,
+sAutorespond: '',
+delete: false,
modohorny: true,
-stickers: false,
+stickers: false,
autosticker: false,
-audios: true,
-antiver: false,
+audios: false,
antiLink: false,
antiLink2: false,
antiTiktok: false,
@@ -994,62 +192,80 @@ antiTelegram: false,
antiFacebook: false,
antiInstagram: false,
antiTwitter: false,
+antiDiscord: false,
+antiThreads: false,
+antiTwitch: false,
antifake: false,
reaction: true,
-viewonce: false,
modoadmin: false,
antitoxic: false,
+game: true,
+game2: false,
simi: false,
+primaryBot: null,
antiTraba: true,
+autorespond: true,
autolevelup: true,
expired: 0,
+horarioNsfw: {
+inicio: "00:00",
+fin: "23:59"
}
-let settings = global.db.data.settings[this.user.jid]
+}
+var 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 (!('restrict' in settings)) settings.restrict = true
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
+if (!('antiSpam' in settings)) settings.antiSpam = true
+if (!('modoia' in settings)) settings.modoia = false
+if (!('anticommand' in settings)) settings.anticommand = false
+if (!('jadibotmd' in settings)) settings.jadibotmd = true
+if (!('prefix' in settings)) settings.prefix = opts['prefix'] || '*/i!#$%+ยฃยขโฌยฅ^ยฐ=ยถโรรทฯโโยฉยฎ&.\\-.@';
+if (!('status' in settings)) settings.status = 0
} else global.db.data.settings[this.user.jid] = {
self: false,
autoread: false,
autoread2: false,
-restrict: false,
+restrict: true,
temporal: false,
antiPrivate: false,
antiCall: true,
antiSpam: true,
-antispam2: true,
+modoia: false,
+anticommand: false,
jadibotmd: true,
-}
-} catch (e) {
+prefix: opts['prefix'] || '*/i!#$%+ยฃยขโฌยฅ^ยฐ=ยถโรรทฯโโยฉยฎ&.\\-.@',
+status: 0
+}} catch (e) {
console.error(e)
}
-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 = ''
+var settings = global.db.data.settings[this.user.jid];
+let prefix;
+const defaultPrefix = '*/i!#$%+ยฃยขโฌยฅ^ยฐ=ยถโรรทฯโโยฉยฎ&.\\-.@';
+if (settings.prefix) {
+if (settings.prefix.includes(',')) {
+const prefixes = settings.prefix.split(',').map(p => p.trim());
+prefix = new RegExp('^(' + prefixes.map(p => p.replace(/[|\\{}()[\]^$+*.\-\^]/g, '\\$&')).join('|') + ')');
+} else if (settings.prefix === defaultPrefix) {
+prefix = new RegExp('^[' + settings.prefix.replace(/[|\\{}()[\]^$+*.\-\^]/g, '\\$&') + ']');
+} else {
+prefix = new RegExp('^' + settings.prefix.replace(/[|\\{}()[\]^$+*.\-\^]/g, '\\$&'));
+}} else {
+prefix = new RegExp('');
+}
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 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]
@@ -1059,11 +275,21 @@ if (queque.indexOf(previousID) === -1) clearInterval(this)
await delay(time)
}, time)
}
-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]
+
+//if(m.id.startsWith('NJX-') || m.id.startsWith('BAE5') && m.id.length === 16 || m.id.startsWith('3EB0') && m.id.length === 12 || m.id.startsWith('3EB0') && (m.id.length === 20 || m.id.length === 22) || m.id.startsWith('B24E') && m.id.length === 20 || m.id.startsWith('FizzxyTheGreat-')) return
+if(m.id.startsWith('NJX-') || m.id.startsWith('Lyru-') || m.id.startsWith('EvoGlobalBot-') || m.id.startsWith('BAE5') && m.id.length === 16 || m.id.startsWith('3EB0') && m.id.length === 12 || m.id.startsWith('3EB0') && (m.id.length === 20 || m.id.length === 22) || m.id.startsWith('B24E') || m.id.startsWith('8SCO') && m.id.length === 20 || m.id.startsWith('FizzxyTheGreat-')) return
+if (opts['nyimak']) return
+if (!isROwner && 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 = ''
+
+//if (m.isBaileys) return
+let _user = global.db.data && global.db.data.users && global.db.data.users[m.sender]
+//m.exp += Math.ceil(Math.random() * 10)
+let usedPrefix
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
@@ -1071,13 +297,14 @@ const bot = (m.isGroup ? participants.find(u => conn.decodeJid(u.id) == this.use
const isRAdmin = user?.admin == 'superadmin' || false
const isAdmin = isRAdmin || user?.admin == 'admin' || false // Is User Admin?
const isBotAdmin = bot?.admin || false // Are you Admin?
+m.isWABusiness = global.conn.authState?.creds?.platform === 'smba' || global.conn.authState?.creds?.platform === 'smbi'
+//m.isChannel = m.chat.includes('@newsletter') || m.sender.includes('@newsletter')
+
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
+if (!plugin) continue
+if (plugin.disabled) continue
const __filename = join(___dirname, name)
if (typeof plugin.all === 'function') {
try {
@@ -1085,121 +312,115 @@ 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)) {
+/*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 (data.exists)
+m.reply(`*Plugin:* ${name}\n*Sender:* ${m.sender}\n*Chat:* ${m.chat}\n*Command:* ${m.text}\n\n${format(e)}.trim(), data.jid)
+}*/
+}}
if (!opts['restrict'])
if (plugin.tags && plugin.tags.includes('admin')) {
-// global.dfail('restrict', m, this)
-continue
-}
-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}))
+//global.dfail('restrict', m, this)
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;
-}
-m.plugin = name;
+const str2Regex = str => str.replace(/[|\\{}()[\]^$+*?.]/g, '\\$&');
+ let _prefix = plugin.customPrefix ? plugin.customPrefix : this.prefix ? this.prefix : prefix; // Usamos prefix local
+ let match = (_prefix instanceof RegExp ?
+ [[_prefix.exec(m.text), _prefix]] :
+ Array.isArray(_prefix) ?
+ _prefix.map(p => {
+ let re = p instanceof RegExp ? p : new RegExp(str2Regex(p));
+ return [re.exec(m.text), re];
+ }) :
+ typeof _prefix === '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;
+ let isAccept = plugin.command instanceof RegExp ?
+ plugin.command.test(command) :
+ Array.isArray(plugin.command) ?
+ plugin.command.some(cmd => cmd instanceof RegExp ? cmd.test(command) : cmd === command) :
+ typeof plugin.command === 'string' ?
+ plugin.command === command :
+ false;
+
+ if (!isAccept) continue;
+ 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;
+let chat = global.db.data.chats[m.chat]
+let user = global.db.data.users[m.sender]
+if (!['owner-unbanchat.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;
+if (user.antispam > 2) return
+m.reply(`โ ๏ธ ${await tr("ESTAS BANEADO")} โ ๏ธ\n*โข ${await tr("Motivo")}:* ${user.messageSpam === 0 ? 'Spam' : user.messageSpam}\n*๐๐ป ${await tr("Puedes contactar al propietario del Bot si crees que se trata de un error o para charlar sobre tu desbaneo")}*\n\n๐ ${fb}`)
+user.antispam++
+return
}
-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;
-} else {
+/*if (settings.antiPrivate && !m.isGroup && !m.fromMe) {
+let user = global.db.data.users[m.sender] || {};
+if (user.warnPv && !m.text.includes('code')) {
+console.log(`[AntiPrivate]`);
return;
}
+
+if (!user.warnPv) {
+m.reply(`Hola esta prohibido usar los comando al privado del bot...\n\n> _*Para usar mi funciones unirte al grupo oficial ๐*_\n${[nnn, nnnttt, nnnt].getRandom()}`);
+user.warnPv = true;
+global.db.data.users[m.sender] = user;
return;
-}
-
-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);
-return;
-} else {
-user.commandCount = 0;
-}
-} else {
-user.commandCount += 1;
-}
-} else {
-user.lastCommandTime = Date.now();
-user.commandCount = 1;
}}
+*/
-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
+//Antispam2
+if (user.antispam2 && isROwner) return
+let time = global.db.data.users[m.sender].spam + 3000
+if (new Date - global.db.data.users[m.sender].spam < 3000) return console.log(`[ SPAM ]`)
+global.db.data.users[m.sender].spam = new Date * 1
+}
+
+const hl = _prefix;
+const adminMode = global.db.data.chats[m.chat].modoadmin;
+const lolibott = `${plugin.botAdmin || plugin.admin || plugin.group || plugin || noPrefix || hl || m.text.slice(0, 1) == hl || plugin.command}`;
+if (adminMode && !isOwner && !isROwner && m.isGroup && !isAdmin && lolibott) return;
if (plugin.rowner && plugin.owner && !(isROwner || isOwner)) { // Both Owner
fail('owner', m, this)
continue
}
-if (plugin.rowner && !isROwner) { // Propietario/owner
+if (plugin.rowner && !isROwner) { // Real Owner
fail('rowner', m, this)
continue
}
-if (plugin.owner && !isOwner) { // Numero De propietarios/Owner
+if (plugin.owner && !isOwner) { // Number Owner
fail('owner', m, this)
continue
}
@@ -1207,114 +428,66 @@ if (plugin.mods && !isMods) { // Moderator
fail('mods', m, this)
continue
}
-if (plugin.premium && !isPrems) { // Premium
+if (plugin.premium && !isPrems) { // Usuarios Premium
fail('premium', m, this)
continue
}
-if (plugin.group && !m.isGroup) { // Grupos
+if (plugin.group && !m.isGroup) { // Group Only
fail('group', m, this)
continue
-} else if (plugin.botAdmin && !isBotAdmin) { // detentan si el bot es admin
+} else if (plugin.botAdmin && !isBotAdmin) { // You Admin
fail('botAdmin', m, this)
continue
-} else if (plugin.admin && !isAdmin) { // detecta si el usuario es un Admin
+} else if (plugin.admin && !isAdmin) { // User Admin
fail('admin', m, this)
continue
}
-if (plugin.private && m.isGroup) { // Chat privado
+if (plugin.private && m.isGroup) { // Private Chat Only
fail('private', m, this)
continue
}
-if (plugin.register == true && _user.registered == false) { // detectan si el usuarios esta registrado o nell
+if (plugin.register == true && _user.registered == false) { // Butuh daftar?
fail('unreg', m, this)
continue
}
-
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
-}
-m.exp += xp
+/*let xp = 'exp' in plugin ? parseInt(plugin.exp) : 1 // Ganancia de XP por comando
+if (xp > 9000) m.reply('chirrido -_-') //
+else
+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
+m.reply(`*โ ${await tr("Sus diamante")} ๐ ${await tr("Se han agotado puede comprar mas usando el comando:")}:* #buy`)
+//conn.sendMessage(m.chat, {text: `*โ ๐๐ฎ๐ฌ ๐๐ข๐๐ฆ๐๐ง๐ญ๐ ๐ ๐ฌ๐ ๐ก๐๐ง ๐๐ ๐จ๐ญ๐๐๐จ ๐ฉ๐ฎ๐๐๐ ๐๐จ๐ฆ๐ฉ๐ซ๐๐ซ ๐ฆ๐๐ฌ ๐ฎ๐ฌ๐๐ง๐๐จ ๐๐ฅ ๐๐จ๐ฆ๐๐ง๐๐จ:* #buy`, contextInfo: {externalAdReply : {mediaUrl: null, mediaType: 1, description: null, "title": wm, body: '', previewType: 0, "thumbnail": img.getRandom(), sourceUrl: [nna, nna2, md, yt, nnn, nnnt, nnnttt, tiktok].getRandom()}}}, { quoted: m })
+continue
}
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
+m.reply(`*โ ๏ธ ${await tr("Necesita el nivel")} ${plugin.level} ${await tr("para poder usar este comando, Tu nivel actual es:")}* ${_user.level}`)
+//conn.sendMessage(m.chat, {text: `*โ ๏ธ๐๐๐๐๐ฌ๐ข๐ญ๐ ๐๐ฅ ๐ง๐ข๐ฏ๐๐ฅ ${plugin.level} ๐ฉ๐๐ซ๐ ๐ฉ๐จ๐๐๐ซ ๐ฎ๐ฌ๐๐ซ ๐๐ฌ๐ญ๐ ๐๐จ๐ฆ๐๐ง๐๐จ, ๐๐ฎ ๐ง๐ข๐ฏ๐๐ฅ ๐๐๐ญ๐ฎ๐๐ฅ ๐๐ฌ:* ${_user.level}`, contextInfo: {externalAdReply : {mediaUrl: null, mediaType: 1, description: null, "title": wm, body: '', previewType: 0, "thumbnail": img.getRandom(), sourceUrl: [nna, nna2, md, yt, nnn, nnnt, nnnttt, tiktok].getRandom()}}}, { quoted: m })
+continue // Si no se ha alcanzado el nivel
}
-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 extra = {match, usedPrefix, noPrefix, _args, args, command, text, conn: this, participants, groupMetadata, user, bot, isROwner, isOwner, isRAdmin, isAdmin, isBotAdmin, isPrems, chatUpdate, __dirname: ___dirname, __filename }
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) || 'Error desconocido';
+for (let api in global.APIs) {
+let key = global.APIs[api].key;
+if (key) text = text.replace(new RegExp(key, 'g'), '#HIDDEN#');
+}
+m.reply(text);
+}
+/*if (e) {
let text = format(e)
-for (let key of Object.values(global.APIKeys))
+for (let key of Object.values(global.APIs))
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)
-}
+}*/
} finally {
// m.reply(util.format(_user))
if (typeof plugin.after === 'function') {
@@ -1323,27 +496,24 @@ await plugin.after.call(this, m, extra)
} catch (e) {
console.error(e)
}}
-if (m.limit)
-m.reply(+m.limit + lenguajeGB.smsCont8())
+if (m.limit) m.reply(`*${+m.limit}* ${await tr("diamante")} ๐ ${await tr("usados")}`)
+if (m.money) m.reply(+m.money + ` LoliCoins ${await tr("usados")} ๐ช`)
}
-if (m.money)
-m.reply(+m.money + ' ๐๐ค๐ก๐๐พ๐ค๐๐ฃ๐จ ๐ช๐จ๐๐๐ค๐จ')
break
-}}
-} catch (e) {
+}}} 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])
+}
+//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
}
let stat
@@ -1372,73 +542,72 @@ if (m.error == null) {
stat.success += 1
stat.lastSuccess = now
}}}
+
try {
if (!opts['noprint']) await (await import(`./lib/print.js`)).default(m, this)
} catch (e) {
-console.log(m, m.quoted, e)
-}
+console.log(m, m.quoted, 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)) {
+
+if (!m.fromMem && m.text.match(/(@5492266466080|LoliBot|Botsito|Gata|: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 = ''
+if (opts['self']) return;
+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
+let groupMetadata = await this.groupMetadata(id) || (conn.chats[id] || {}).metadata;
for (let user of participants) {
-let pp = './src/sinfoto.jpg'
+let userJoinTime = Date.now();
+if (userJoinTime < global.botStartTime) {
+console.log(`Bienvenida ignorada para ${user}: uniรณn anterior al inicio del bot (${new Date(userJoinTime)} < ${new Date(global.botStartTime)})`);
+continue;
+}
+
+let pp = './src/sinfoto.jpg';
try {
-pp = await this.profilePictureUrl(user, 'image')
+pp = await this.profilePictureUrl(user, 'image');
} 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
+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])
+(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 })
-}}}
+const numerosPermitidos = ["212", "265", "92", "91", "90", "210", "60", "61", "62", "40", "48", "49", "93", "94", "98", "258"];
+if (numerosPermitidos.some(num => user.startsWith(num))) {
+this.sendMessage(id, { text: `@${user.split("@")[0]} ${await tr("Nos numero fake no esta permitido el este grupo hasta la prรณxima...")}`, mentions: [user] }, { quoted: null });
+let responseb = await this.groupParticipantsUpdate(id, [user], 'remove');
+if (responseb[0].status === "404") return;
+return;
+}}
+let username = this.getName(id);
+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" };
+let vn = 'https://qu.ax/cUYg.mp3';
+let or = ['texto', 'audio'];
+let media = or[Math.floor(Math.random() * 2)];
+if (media === 'texto') {
+this.sendMessage(id, { text: text, contextInfo: { forwardedNewsletterMessageInfo: { newsletterJid: '120363355261011910@newsletter', serverMessageId: '', newsletterName: 'LoliBot โจ' }, forwardingScore: 9999999, isForwarded: true, mentionedJid: [user], externalAdReply: { showAdAttribution: true, renderLargerThumbnail: true, thumbnail: apii.data, title: [wm, ' ' + wm + '๐', '๐'].getRandom(), containsAutoReply: true, mediaType: 1, sourceUrl: [nna, nna2, nnntt, yt].getRandom() } } }, { quoted: fkontak2 });
+}
+if (media === 'audio') {
+this.sendMessage(id, { audio: { url: vn }, contextInfo: { forwardedNewsletterMessageInfo: { newsletterJid: '120363355261011910@newsletter', serverMessageId: '', newsletterName: 'LoliBot โจ' }, forwardingScore: 9999999, isForwarded: true, mentionedJid: [user], externalAdReply: { mediaType: 1, previewType: "PHOTO", thumbnail: apii.data, title: `ไน ๏ผท๏ผฅ๏ผฌ๏ผฃ๏ผฏ๏ผญ๏ผฅ ไน`, body: [wm, ' ' + wm + '๐', '๐'].getRandom(), showAdAttribution: true, renderLargerThumbnail: true, sourceUrl: [nna, nna2, nnntt, yt].getRandom() } }, ptt: true, mimetype: 'audio/mpeg', fileName: `error.mp3` }, { quoted: fkontak2 });
+}}}}
break
case 'promote':
@@ -1456,7 +625,8 @@ if (chat.detect)
break
}}
-/**
+/**
+ * Actualizaciรณn de grupos de control
* Handle groups update
* @param {import('@adiwajshing/baileys').BaileysEventMap['groups.update']} groupsUpdate
*/
@@ -1471,72 +641,65 @@ 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 (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) })
}}
export async function callUpdate(callUpdate) {
-let isAnticall = global.db.data.settings[this.user.jid].antiCall
+let isAnticall = global.db.data.settings[this.user.jid].antiCall
if (!isAnticall) return
-for (let nk of callUpdate) {
+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 })
+let callmsg = await this.reply(nk.from, `สแดสแด *@${nk.from.split('@')[0]}*, สแดs ${nk.isVideo ? 'videollamadas' : 'llamadas'} ษดแด แดsแดแดษด แดแดสแดษชแดษชแด
แดs, sแดสแดs สสแดวซแดแดแดแด
แด.\n\nsษช แดแดแดษชแด
แดษดแดแดสแดแดษดแดแด สสแดแดแดsแดแด แดแดษดษขแดsแด แดษด แดแดษดแดแดแดแดแด แดแดษด แดษช แดสแดแดแด
แดส แดแดสแด วซแดแด แดแด แด
แดsสสแดวซแดแดแด!\n\nษขสแดแดแด แดsษชsแดแดษดแดษชแด าแดแดแดสแดแดแด: ${fb}`, false, { mentions: [nk.from] })
+let vcard = `BEGIN:VCARD\nVERSION:3.0\nN:;๐๐ค๐ก๐๐ฝ๐ค๐ฉ-๐๐ฟ ๐;;;\nFN:๐๐ค๐ก๐๐ฝ๐ค๐ฉ-๐๐ฟ\nORG:๐๐ค๐ก๐๐ฝ๐ค๐ฉ-๐๐ฟ ๐\nTITLE:\nitem1.TEL;waid=5214774444444:+52 477 444 4444\nitem1.X-ABLabel:๐๐ค๐ก๐๐ฝ๐ค๐ฉ-๐๐ฟ ๐\nX-WA-BIZ-DESCRIPTION:[โ] แดsแดสษชสษช sแดสแด แดแดส แดแดsแดs แด
แดส สแดแด.\nX-WA-BIZ-NAME:๐๐ค๐ก๐๐ฝ๐ค๐ฉ-๐๐ฟ ๐\nEND:VCARD`
+await this.sendMessage(nk.from, { contacts: { displayName: '๐๐ค๐ก๐๐ฝ๐ค๐ฉ-๐๐ฟ ๐', contacts: [{ vcard }] }}, {quoted: callmsg})
await this.updateBlockStatus(nk.from, 'block')
}}}}
export async function deleteUpdate(message) {
try {
-const {fromMe, id, participant} = message;
-if (fromMe) {
-return;
-}
-const msg = this.serializeM(this.loadMessage(id));
-if (!msg) {
-return;
-}
-const chat = global.db.data.chats[msg.chat] || {};
-if (chat.delete) {
-return;
-}
-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));
+const { fromMe, id, participant } = message
+if (fromMe) return
+let msg = this.serializeM(this.loadMessage(id))
+let chat = global.db.data.chats[msg?.chat] || {}
+if (!chat?.delete) return
+if (!msg) return
+if (!msg?.isGroup) return
+const antideleteMessage = `*[ ${await tr("ANTI ELIMINAR")} ]*\n\n@${participant.split`@`[0]} ${await tr("Elimino un mensaje\nEnviando el mensaje...\n\n*Para desactivar esta funciรณn escriba:*")}\n#disable delete`.trim();
+await this.sendMessage(msg.chat, {text: antideleteMessage, mentions: [participant]}, {quoted: msg})
+this.copyNForward(msg.chat, msg).catch(e => console.log(e, msg))
} catch (e) {
-console.error(e);
+console.error(e)
}}
-global.dfail = (type, m, conn) => {
+global.dfail = async (type, m, conn, usedPrefix) => {
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 })
+rowner: await tr('โ ๏ธ Tu que? este comando es solo para mi propietario'),
+owner: await tr('โ ๏ธ Tu que? este comando es solo para mi propietario.'),
+mods: await tr('โ ๏ธ Este comando solo lo puedo usar yo. ยกPrivilegios de mod! ๐'),
+premium: await tr('โ ๏ธ Este comando es solo para usuarios Premium (VIP). ยกSer VIP tiene sus beneficios! ๐'),
+group: await tr('โ ๏ธ Pendejo este comando es solo para grupos.'),
+private: await tr('โ ๏ธ Vamos al privado, este comando solo funciona en el privado del bot. ยกHablemos en privado! ๐คซ'),
+admin: await tr('๐คจ No eres admins. Solo los admins pueden usar este comando.'),
+botAdmin: await tr('โ ๏ธ haz admin al Bot "YO" para poder usar este comando.'),
+unreg: await tr('ใ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'),
+restrict: await tr('[ ๐ ] Este comando esta desactivado por mi jefe')
+}[type];
+if (msg) return conn.sendMessage(m.chat, {text: msg, contextInfo: { mentionedJid: null, forwardingScore: 1, isForwarded: true, forwardedNewsletterMessageInfo: { newsletterJid: '120363355261011910@newsletter', serverMessageId: '', newsletterName: 'LoliBot โจ' }, externalAdReply : {mediaUrl: null, mediaType: 1, description: null, "title": `โน๏ธ๐๐๐
๐ โน๏ธ`, body: wm, previewType: 0, "thumbnail": img.getRandom(), sourceUrl: [nna, nna2, md, yt, nn, tiktok].getRandom()}}}, { quoted: m })
}
const file = global.__filename(import.meta.url, true);
watchFile(file, async () => {
-unwatchFile(file);
+unwatchFile(file)
console.log(chalk.redBright('Update \'handler.js\''));
-if (global.reloadHandler) console.log(await global.reloadHandler());
+//if (global.reloadHandler) console.log(await global.reloadHandler());
-if (global.conns && global.conns.length > 0 ) {
+/*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)
-}}});
+}}
+*/
+});
diff --git a/index.js b/index.js
index ea1f44c81..07abc98e5 100644
--- a/index.js
+++ b/index.js
@@ -12,12 +12,12 @@ const require = createRequire(__dirname)
const { name, author } = require(join(__dirname, './package.json'))
const { say } = cfonts
const rl = createInterface(process.stdin, process.stdout)
-
-say('The Loli\nBot\nMD', {
+
+say('LoliBot-MD', {
font: 'chrome',
align: 'center',
gradient: ['red', 'magenta']})
-say(`Por LoliBot`, {
+say(`by: elrebelde21`, {
font: 'console',
align: 'center',
gradient: ['red', 'magenta']});
@@ -67,4 +67,12 @@ rl.on('line', (line) => {
p.emit('message', line.trim())
})
}}}
-start('main.js')
+
+setInterval(() => {
+console.log('โป๏ธ Reiniciando bot automรกticamente...');
+process.exit(0);
+}, 14400000) //4hs
+
+start('main.js');
+
+
diff --git a/install.sh b/install.sh
index 5670fa9f6..528372bb7 100644
--- a/install.sh
+++ b/install.sh
@@ -6,29 +6,22 @@
echo -e "\e[35m
โโโโโ โโโโโ โโโโโ โโโโโโ โโโโโ โโโโโ ใ โโโโโ โโโโโ ใ โโโโโ โโโโโ โโโโโโ โโโโโ โโโโโ โโโโโ โโโโโ โโโโโ
โโโโโ โโโโโ โโโโโ โโโโโโ โโโโโ โโโโโ ใ โโโโโ โโโโโ ใ โโโโโ โโโโโ โโโโโโ โโโโโ โโโโโ โโโโโ โโโโโ โโโโโ
-โโโโโ โโโโโ โโโโโ โโโโโโ โโโโโ โโโโโ ใ โโโโโ โโโโโ ใ โโโโโ โโโโโ โโโโโโ โโโโโ โโโโโ โโโโโ โโโโโ โโโโโ
-
-โโโโโโ โโโโโ โโโโโ ใ โโโโโ โโโโโ โโโโโ ใ โโโโโโ โโโโโ โโโโโ โโโโโ โโโโโ โโโโโโ
-โโโโโโ โโโโโ โโโโโ ใ โโโโโ โโโโโ โโโโโ ใ โโโโโโ โโโโโ โโโโโ โโโโโ โโโโโ โโโโโโ
-โโโโโโ โโโโโ โโโโโ ใ โโโโโ โโโโโ โโโโโ ใ โโโโโโ โโโโโ โโโโโ โโโโโ โโโโโ โโโโโโ\n\e[0m"
+โโโโโ โโโโโ โโโโโ โโโโโโ โโโโโ โโโโโ ใ โโโโโ โโโโโ ใ โโโโโ โโโโโ โโโโโโ โโโโโ โโโโโ โโโโโ โโโโโ โโโโโ\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")
+mp3_array=("https://qu.ax/vkZR.mp3" "https://qu.ax/FYQy.mp3" "https://qu.ax/rSUn.mp3" "https://qu.ax/CCzM.mp3" "https://qu.ax/nuFz.mp3" "https://qu.ax/YKe.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"
+echo -e ""
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 ""
echo -e "\033[01;32m\033[01mInstalando dependencias!!\n\033[0m"
echo -e "\e[36m
@@ -47,16 +40,16 @@ 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"
+echo -e "\033[01;33mGit ya estaba instalado anteriormente.\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"
+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/LoliBot-MD\ncd 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"
+echo -e "\033[01;32m\033[01mGit se ha instalado correctamente.\n\033[0m"
fi
fi
@@ -76,16 +69,16 @@ 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"
+echo -e "\033[01;33mNodejs ya estaba instalado anteriormente.\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"
+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!!\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/LoliBot-MD\ncd 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"
+echo -e "\033[01;32m\033[01mNode.js se ha instalado correctamente.\n\033[0m"
fi
fi
@@ -105,16 +98,16 @@ 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"
+echo -e "\033[01;33mFfmpeg ya estaba instalado anteriormente..\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"
+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!!\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/LoliBot-MD\ncd 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"
+echo -e "\033[01;32m\033[01mFFmpeg se ha instalado correctamente.\n\033[0m"
fi
fi
@@ -134,16 +127,16 @@ 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"
+echo -e "\033[01;33mImagemagick ya estaba instalado anteriormente.\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"
+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!!\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/LoliBot-MD\ncd LoliBot-MD\nyarn install\nnpm install\nnpm start\033[0m"
exit 1
else
-echo -e "\033[01;32m\033[01mImageMagick se ha instalado correctamente.\nImageMagick has been installed successfully.\n\033[0m"
+echo -e "\033[01;32m\033[01mImageMagick se ha instalado correctamente\n\033[0m"
fi
fi
@@ -163,16 +156,16 @@ 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"
+echo -e ""
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"
+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!!\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/LoliBot-MD\ncd 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"
+echo -e ""
fi
fi
@@ -197,11 +190,11 @@ 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"
+git clone https://github.com/elrebelde21/LoliBot-MD && cd LoliBot-MD
+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
+cd LoliBot-MD
echo -e "\e[36m
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
@@ -214,12 +207,12 @@ echo -e "\e[36m
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"
+echo -e "\033[0;34mNPM no se encontrรณ en su sistema. Se instalarรก NPM automรกticamente.\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"
+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/LoliBot-MD\ncd 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"
@@ -241,7 +234,7 @@ if yarn install 2>&1 >/dev/null | grep -E -i -q '(command not found|unable to lo
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"
+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/LoliBot-MD\ncd 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"
@@ -254,7 +247,7 @@ v1="${b}\033[32m"
b="\033[0m"
menu() {
- #The-LoliBot-MD
+ #LoliBot-MD
echo -e "${v1} MENร DE CONFIGURACIรN"
printf "\n"
printf "${v1}[${b}01${v1}]${v} Visistar Grupo de Actualizaciones\n"
@@ -272,7 +265,7 @@ menu_ayuda() {
read opcion
case $opcion in
01|1)
- am start -a android.intent.action.VIEW https://chat.whatsapp.com/JESaesjOEcB6wnGX0QYT9o &>> /dev/null
+ am start -a android.intent.action.VIEW https://chat.whatsapp.com/DVhu9S9Zr7cBFFl26N61U3 &>> /dev/null
echo -e "${b}[${v1}++${b}]${v} Accediendo al Grupo Oficial\n"
;;
@@ -330,5 +323,5 @@ _______โโโโโ
_____โโโโโ\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 -e "\033[01;32m\033[01mIniciando LoliBot!\n\033[0m"
npm start
diff --git a/install2.sh b/install2.sh
new file mode 100644
index 000000000..cc4170e78
--- /dev/null
+++ b/install2.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+# Detener la ejecuciรณn si ocurre un error
+set -e
+
+if [ -d "node_modules" ]; then
+ echo "La carpeta 'node_modules' ya existe. Omitiendo descarga e instalaciรณn."
+else
+ echo "Descargando node_modules.tar.gz..."
+ curl -L -o node_modules.tar.gz https://github.com/elrebelde21/NovaBot_MD/releases/download/1.1.8/node_modules.tar.gz
+
+ echo "Extrayendo node_modules..."
+ tar -xzf node_modules.tar.gz
+
+ # Eliminar el archivo comprimido despuรฉs de extraerlo
+ rm node_modules.tar.gz
+
+fi
+
+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/lib/_checkLang.js b/lib/_checkLang.js
new file mode 100644
index 000000000..14ef28307
--- /dev/null
+++ b/lib/_checkLang.js
@@ -0,0 +1,69 @@
+const translationCache = new Map();
+
+export async function tr(baseText) {
+ const m = global.currentMessageContext;
+ const targetLang = m ? global.db?.data?.users[m.sender]?.language || global.lang : global.lang;
+ if (targetLang === 'es') return baseText;
+
+ const cacheKey = `${baseText}:${targetLang}`;
+
+ if (translationCache.has(cacheKey)) {
+ return translationCache.get(cacheKey);
+ }
+
+ const translatedText = await translateText(baseText, targetLang);
+
+ translationCache.set(cacheKey, translatedText);
+
+ if (translationCache.size > 1000) {
+ const firstKey = translationCache.keys().next().value;
+ translationCache.delete(firstKey);
+ }
+
+ return translatedText;
+}
+
+export async function translateText(text, targetLang) {
+ if (typeof text !== 'string' || !text.trim()) return text;
+
+ try {
+ const textRegex = /\b(?![\w.]*\.[\w.]*)([\p{L}0-9][\p{L}0-9\s]*)\b/gu;
+ const translatableParts = [...text.matchAll(textRegex)].map(match => match[1].trim()).filter(Boolean);
+
+ if (translatableParts.length === 0) {
+ return text;
+ }
+
+ const res = await fetch("https://tr.skyultraplus.com/translate", {
+ method: "POST",
+ headers: { "Content-Type": "application/json" },
+ body: JSON.stringify({
+ q: translatableParts.join("\n"),
+ source: "auto",
+ target: targetLang
+ }),
+ timeout: 5000
+ });
+
+ const contentType = res.headers.get('content-type');
+ if (!contentType || !contentType.includes('application/json')) {
+ console.log("Invalid content type:", contentType);
+ return text;
+ }
+
+ const data = await res.json();
+
+ const translated = data.translatedText?.split("\n") || translatableParts;
+
+ let index = 0;
+ const translatedText = text.replace(textRegex, (match, group1) => {
+ const current = translated[index++];
+ return current ? current : match;
+ });
+
+ return translatedText;
+ } catch (err) {
+ console.error("Error en traducciรณn:", err);
+ return text;
+ }
+}
\ No newline at end of file
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/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/loadAllJadiBots.js b/lib/loadAllJadiBots.js
new file mode 100644
index 000000000..dfc64f989
--- /dev/null
+++ b/lib/loadAllJadiBots.js
@@ -0,0 +1,106 @@
+/*
+
+ CรDIGO SIMPLE PARA LA RECARGA DE JADIBOTS AL INICIAR, SE PUEDE EXTENDER Y MEJORAR DE ACUERDO A TรS NECESIDADES.
+
+ SI QUIERES QUE MANEJE MรS EVENTOS LOS TIENES QUE AGREGAR AQUI.
+
+ CรDIGO HECHO POR: DanixlJs - si asi es, el nuvsito ese.
+ [https://github.com/DanixlJs]
+
+ DEJA LOS CRรDITOS HDP
+
+*/
+import path from "path";
+import { fileURLToPath } from "url";
+import { promises as fs } from "fs";
+import pino from 'pino'
+import { makeWASocket } from "./simple.js";
+import { makeCacheableSignalKeyStore, useMultiFileAuthState, fetchLatestBaileysVersion } from "@whiskeysockets/baileys";
+import { Boom } from "@hapi/boom";
+import { handler } from "../handler.js";
+const __dirname = path.join(fileURLToPath(import.meta.url));
+export default async function loadAllJadiBots() {
+ const authJadi = path.join(__dirname, "../../jadibts");
+ const sesions = await fs.readdir(authJadi);
+ if (sesions.length !== 0) {
+ console.log("Cargando " + sesions.length + " Sesiones de la carpeta 'jadibts'"); // que asco tiene 'bts' :v
+ for (const sesion of sesions) {
+ const auth = path.join(authJadi, sesion);
+ try {
+ await fs.access(path.join(auth, "creds.json"));
+ } catch {
+ continue;
+ }
+ await connect(auth);
+ }
+ } else {
+ console.log("Sin JadiBots que cargar.");
+ }
+}
+async function connect(sesionFile, retries = 0) {
+ const { state, saveCreds } = await useMultiFileAuthState(sesionFile);
+ const { version } = await fetchLatestBaileysVersion();
+ const conn = makeWASocket({
+ markOnlineOnConnect: true,
+ defaultQueryTimeoutMs: undefined,
+ auth: {
+ creds: state.creds,
+ keys: makeCacheableSignalKeyStore(state.keys, pino({
+ level: "silent"
+ }).child({
+ level: "silent"
+ }))
+ },
+ logger: pino({
+ level: "silent"
+ }),
+ browser: ["Ubuntu", "Edge", "20.0.4"],
+ syncFullHistory: true,
+ printQRInTerminal: false,
+ patchMessageBeforeSending: async message => {
+ try {
+ await sock.uploadPreKeysToServerIfRequired();
+ } catch (err) {
+ console.error(err);
+ }
+ return message;
+ },
+ generateHighQualityLinkPreview: true,
+ version
+ });
+ conn.ev.on("creds.update", saveCreds);
+ conn.ev.on("connection.update", async update => {
+ const { connection, lastDisconnect } = update;
+ if (connection === "close") {
+ const code = new Boom(lastDisconnect?.error)?.output?.statusCode;
+ // ojo al ingles de la mรกs alta calidad ๐ฟ
+ switch (code) {
+ case 401: //logout
+ case 500: //bad sesion?
+ case 403: //forbiden
+ case 405: //conn end
+ try {
+ console.log("error inesperado")
+ //await fs.rm(sesionFile, { recursive: true, force: true });
+ } catch (err) {
+ console.error(err);
+ }
+ break;
+ default:
+ if (retries < 6) {
+ await connect(sesionFile, retries + 1);
+ } else {
+ try {
+ //await fs.rm(sesionFile, { recursive: true, force: true });
+ } catch (err) {
+ console.error(err);
+ }
+ }
+ break;
+ }
+ } else if (connection === "open") {
+ global.conns.push(conn);
+ }
+ });
+ conn.ev.on("messages.upsert", handler);
+}
diff --git a/lib/plugins.js b/lib/plugins.js
new file mode 100644
index 000000000..5073ea41b
--- /dev/null
+++ b/lib/plugins.js
@@ -0,0 +1,84 @@
+import { readdirSync, existsSync, readFileSync, watch } from 'fs'
+import { join, resolve } from 'path'
+import { format } from 'util'
+import syntaxerror from 'syntax-error'
+import importFile from './import.js'
+import Helper from './helper.js'
+
+const __dirname = Helper.__dirname(import.meta)
+const pluginFolder = Helper.__dirname(join(__dirname, '../plugins/index'))
+const pluginFilter = filename => /\.(mc)?js$/.test(filename)
+
+// inspired from https://github.com/Nurutomo/mahbod/blob/main/src/util/PluginManager.ts
+
+let watcher, plugins, pluginFolders = []
+watcher = plugins = {}
+
+async function filesInit(pluginFolder = pluginFolder, pluginFilter = pluginFilter, conn) {
+ const folder = resolve(pluginFolder)
+ if (folder in watcher) return
+ pluginFolders.push(folder)
+
+ await Promise.all(readdirSync(folder).filter(pluginFilter).map(async filename => {
+ try {
+ let file = global.__filename(join(folder, filename))
+ const module = await import(file)
+ if (module) plugins[filename] = 'default' in module ? module.default : module
+ } catch (e) {
+ conn?.logger.error(e)
+ delete plugins[filename]
+ }
+ }))
+
+
+ const watching = watch(folder, reload.bind(null, conn, folder, pluginFilter))
+ watching.on('close', () => deletePluginFolder(folder, true))
+ watcher[folder] = watching
+
+ return plugins
+}
+
+function deletePluginFolder(folder, isAlreadyClosed = false) {
+ const resolved = resolve(folder)
+ if (!(resolved in watcher)) return
+ if (!isAlreadyClosed) watcher[resolved].close()
+ delete watcher[resolved]
+ pluginFolders.splice(pluginFolders.indexOf(resolved), 1)
+}
+
+async function reload(conn, pluginFolder = pluginFolder, pluginFilter = pluginFilter, _ev, filename) {
+ if (pluginFilter(filename)) {
+ let dir = global.__filename(join(pluginFolder, filename), true)
+ if (filename in plugins) {
+ if (existsSync(dir)) conn.logger.info(` updated plugin - '${filename}'`)
+ else {
+ conn?.logger.warn(`deleted plugin - '${filename}'`)
+ return delete plugins[filename]
+ }
+ } else conn?.logger.info(`new plugin - '${filename}'`)
+ let err = syntaxerror(readFileSync(dir), filename, {
+ sourceType: 'module',
+ allowAwaitOutsideFunction: true
+ })
+ if (err) conn.logger.error(`syntax error while loading '${filename}'\n${format(err)}`)
+ else try {
+ const module = await importFile(global.__filename(dir)).catch(console.error)
+ if (module) plugins[filename] = module
+ } catch (e) {
+ conn?.logger.error(`error require plugin '${filename}\n${format(e)}'`)
+ } finally {
+ plugins = Object.fromEntries(Object.entries(plugins).sort(([a], [b]) => a.localeCompare(b)))
+ }
+ }
+}
+
+export {
+ pluginFolder,
+ pluginFilter,
+ plugins,
+ watcher,
+ pluginFolders,
+ filesInit,
+ deletePluginFolder,
+ reload
+}
diff --git a/lib/print.js b/lib/print.js
index 8f278f85e..f43d5c807 100644
--- a/lib/print.js
+++ b/lib/print.js
@@ -1,4 +1,4 @@
-import {WAMessageStubType} from '@whiskeysockets/baileys';
+ import {WAMessageStubType} from '@whiskeysockets/baileys';
import PhoneNumber from 'awesome-phonenumber'
import chalk from 'chalk'
import { watchFile } from 'fs'
@@ -50,17 +50,35 @@ m.mtype ? m.mtype.replace(/message$/i, '').replace('audio', m.msg.ptt ? 'PTT' :
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
+
+// Nuevos formatos/estilos para el texto en consola
+// Crรฉditos para: https://github.com/GataNina-Li
+let mdRegex = /(?<=(?:^|[\s\n])\S?)(?:([*_~`])(?!`)(.+?)\1|```((?:.|[\n\r])+?)```|`([^`]+?)`)(?=\S?(?:[\s\n]|$))/g
let mdFormat = (depth = 4) => (_, type, text, monospace) => {
let types = {
-_: 'italic',
+'_': 'italic',
'*': 'bold',
-'~': 'strikethrough'
+'~': 'strikethrough',
+'`': 'bgGray'
}
text = text || monospace
-let formatted = !types[type] || depth < 1 ? text : chalk[types[type]](text.replace(mdRegex, mdFormat(depth - 1)))
+let formatted = !types[type] || depth < 1 ? text : chalk[types[type]](text.replace(/`/g, '').replace(mdRegex, mdFormat(depth - 1)))
return formatted
+}
+log = log.replace(mdRegex, mdFormat(4))
+log = log.split('\n').map(line => {
+if (line.trim().startsWith('>')) {
+return chalk.bgGray.dim(line.replace(/^>/, 'โ'))
+} else if (/^([1-9]|[1-9][0-9])\./.test(line.trim())) {
+return line.replace(/^(\d+)\./, (match, number) => {
+const padding = number.length === 1 ? ' ' : ' '
+return padding + number + '.'
+})
+} else if (/^[-*]\s/.test(line.trim())) {
+return line.replace(/^[*-]/, ' โข')
}
+return line
+}).join('\n')
if (log.length < 1024)
log = log.replace(urlRegex, (url, i, text) => {
let end = url.length + i
diff --git a/lib/queque.js b/lib/queque.js
new file mode 100644
index 000000000..4076f2186
--- /dev/null
+++ b/lib/queque.js
@@ -0,0 +1,94 @@
+import EventEmitter from "events"
+
+const isNumber = x => typeof x === 'number' && !isNaN(x)
+const delay = ms => isNumber(ms) && new Promise(resolve => setTimeout(resolve, ms))
+
+const QUEQUE_DELAY = 5 * 1000
+
+export default class Queque extends EventEmitter {
+ _queque = new Set()
+
+ constructor() {
+ super()
+ }
+
+ add(item) {
+ this._queque.add(item)
+ // console.debug('add item to queque', item, 'in index', this._queque.size)
+ }
+ has(item) {
+ return this._queque.has(item)
+ }
+ delete(item) {
+ this._queque.delete(item)
+ // console.debug('delete item from queque', item, 'now have', this._queque.size, 'in queque')
+ }
+
+ first() {
+ return [...this._queque].shift()
+ }
+ isFirst(item) {
+ return this.first() === item
+ }
+ last() {
+ return [...this._queque].pop()
+ }
+ isLast(item) {
+ return this.last() === item
+ }
+
+ getIndex(item) {
+ return [...this._queque].indexOf(item)
+ }
+
+ getSize() {
+ return this._queque.size
+ }
+
+ isEmpty() {
+ return this.getSize() === 0
+ }
+
+ unqueue(item) {
+ let queque;
+ if (item) {
+ if (this.has(item)) {
+ queque = item
+ const isFirst = this.isFirst(item)
+ if (!isFirst) {
+ throw new Error('Item is not first in queque')
+ }
+ } else {
+ // console.error('try to unqueue item', item, 'but not found')
+ }
+ } else {
+ queque = this.first()
+ }
+
+ if (queque) {
+ this.delete(queque)
+ this.emit(queque)
+ }
+ }
+ waitQueue(item) {
+ return new Promise((resolve, reject) => {
+ // console.debug('wait queque', item)
+ if (this.has(item)) {
+ const solve = async (removeQueque = false) => {
+ await delay(QUEQUE_DELAY)
+ // console.debug('wait queque', item, 'done!')
+ if (removeQueque) this.unqueue(item)
+ if (!this.isEmpty()) this.unqueue()
+ resolve()
+ }
+
+ if (this.isFirst(item)) {
+ // console.debug('wait queque', item, 'is first in queque')
+ solve(true)
+ } else this.once(item, solve)
+ } else {
+ reject(new Error('item not found'))
+ }
+ })
+ }
+}
diff --git a/lib/scraper.js b/lib/scraper.js
new file mode 100644
index 000000000..86610bc37
--- /dev/null
+++ b/lib/scraper.js
@@ -0,0 +1,1337 @@
+import fetch from 'node-fetch'
+import axios from 'axios';
+import { wrapper } from 'axios-cookiejar-support';
+import FormData from 'form-data';
+import WebSocket from 'ws';
+import * as cheerio from 'cheerio';
+import { CookieJar } from 'tough-cookie';
+import crypto from 'crypto';
+
+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: '[ โ ] ยกYa me cansรฉ de decirte, llena el input al menos, por favor!',
+ example: [{
+ role: 'user',
+ content: 'el input va aquรญ, ยฟok?'
+ }]
+ });
+ } else {
+ messages.forEach((msg, index) => {
+ if (!msg.role || !msg.content) {
+ errors.push({
+ param: `messages[${index}]`,
+ error: '[ โ ] ยกEl formato de tu mensaje estรก mal, quรฉ desastre!',
+ example: {
+ role: 'user/assistant',
+ content: 'el input va aquรญ, ยฟok?'
+ }
+ });
+ }
+ });
+ }
+
+ if (!model) {
+ errors.push({
+ param: 'model',
+ error: '[ โ ] ยฟEn serio no llenaste el modelo? ยกMรญnimo pon uno, por favor!',
+ available: Object.keys(perplexity.api.models)
+ });
+ } else if (!perplexity.api.models[model]) {
+ errors.push({
+ param: 'model',
+ error: '[ โ ] ยกEl modelo que elegiste no existe! Escoge uno de la lista, ยฟya?',
+ available: Object.keys(perplexity.api.models)
+ });
+ }
+
+ if (temperature === undefined || temperature === null) {
+ errors.push({
+ param: 'temperature',
+ error: '[ โ ] ยฟDรณnde estรก la temperatura? ยกNo puede estar vacรญo!',
+ range: '0.0 - 1.0',
+ recommended: 0.7
+ });
+ } else if (temperature < 0 || temperature > 1) {
+ errors.push({
+ param: 'temperature',
+ error: '[ โ ] ยกLa temperatura estรก fuera de rango! Solo de 0 a 1, ยฟok?',
+ 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(`๐ Intentando de nuevo el intento ${attempt}, espera ${perplexity.api.retry.delayMs}ms, ยกaguanta!`);
+ 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: '[ โ ] ยกTodos tus parรกmetros estรกn mal, quรฉ desastre!',
+ 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, hermano!',
+ details: `${error.message}`,
+ solution: '[ โ ] Intenta de nuevo mรกs tarde, a ver si funciona'
+ }
+ };
+ 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: '[ โ ] ยกTodos tus parรกmetros estรกn mal, quรฉ fastidio!',
+ details: ve
+ }
+ };
+ }
+
+ if (typeof onChunk !== 'function') {
+ return {
+ status: false,
+ code: 400,
+ result: {
+ error: '[ โ ] ยฟDรณnde estรก la funciรณn de callback? ยกFalta!',
+ details: [{
+ param: 'onChunk',
+ error: '[ โ ] ยกNecesitas una funciรณn callback para el streaming!',
+ 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('[ โ ] Fallรณ al analizar el chunk, hermano: ', 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: '[ โ ] ยกEl streaming fallรณ, quรฉ lata!',
+ details: error.message,
+ solution: '[ โ ] Reinicia el streaming, ยกa ver si funciona!'
+ }
+ };
+ 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
+ })
+};
+
+//-----
+
+async function sekaikomikDl(url) {
+ let res = await fetch(url)
+ let $ = cheerio.load(await res.text())
+ let data = $('script').map((idx, el) => $(el).html()).toArray()
+ data = data.filter(v => /wp-content/i.test(v))
+ data = eval(data[0].split('"images":')[1].split('}],')[0])
+ return data.map(v => encodeURI(v))
+}
+
+async function facebookDl(url) {
+ let res = await fetch('https://fdownloader.net/')
+ let $ = cheerio.load(await res.text())
+ let token = $('input[name="__RequestVerificationToken"]').attr('value')
+ let json = await (await fetch('https://fdownloader.net/api/ajaxSearch', {
+ method: 'post',
+ headers: {
+ cookie: res.headers.get('set-cookie'),
+ 'content-type': 'application/x-www-form-urlencoded; charset=UTF-8',
+ referer: 'https://fdownloader.net/'
+ },
+ body: new URLSearchParams(Object.entries({ __RequestVerificationToken: token, q: url }))
+ })).json()
+ let $$ = cheerio.load(json.data)
+ let result = {}
+ $$('.button.is-success.is-small.download-link-fb').each(function () {
+ let quality = $$(this).attr('title').split(' ')[1]
+ let link = $$(this).attr('href')
+ if (link) result[quality] = link
+ })
+ return result
+}
+//--
+
+ async function tiktokStalk(user) {
+ let res = await axios.get(`https://urlebird.com/user/${user}/`)
+ let $ = cheerio.load(res.data), obj = {}
+ obj.pp_user = $('div[class="col-md-auto justify-content-center text-center"] > img').attr('src')
+ obj.name = $('h1.user').text().trim()
+ obj.username = $('div.content > h5').text().trim()
+ obj.followers = $('div[class="col-7 col-md-auto text-truncate"]').text().trim().split(' ')[1]
+ obj.following = $('div[class="col-auto d-none d-sm-block text-truncate"]').text().trim().split(' ')[1]
+ obj.description = $('div.content > p').text().trim()
+ return obj
+}
+//--
+async function igStalk(username) {
+ username = username.replace(/^@/, '')
+ const html = await (await fetch(`https://dumpor.com/v/${username}`)).text()
+ const $$ = cheerio.load(html)
+ const name = $$('div.user__title > a > h1').text().trim()
+ const Uname = $$('div.user__title > h4').text().trim()
+ const description = $$('div.user__info-desc').text().trim()
+ const profilePic = $$('div.user__img').attr('style')?.replace("background-image: url('", '').replace("');", '')
+ const row = $$('#user-page > div.container > div > div > div:nth-child(1) > div > a')
+ const postsH = row.eq(0).text().replace(/Posts/i, '').trim()
+ const followersH = row.eq(2).text().replace(/Followers/i, '').trim()
+ const followingH = row.eq(3).text().replace(/Following/i, '').trim()
+ const list = $$('ul.list > li.list__item')
+ const posts = parseInt(list.eq(0).text().replace(/Posts/i, '').trim().replace(/\s/g, ''))
+ const followers = parseInt(list.eq(1).text().replace(/Followers/i, '').trim().replace(/\s/g, ''))
+ const following = parseInt(list.eq(2).text().replace(/Following/i, '').trim().replace(/\s/g, ''))
+ return {
+ name,
+ username: Uname,
+ description,
+ postsH,
+ posts,
+ followersH,
+ followers,
+ followingH,
+ following,
+ profilePic
+ }
+}
+
+export { perplexity, amdl, pinterest, ytdown, sekaikomikDl, igStalk, facebookDl, tiktokStalk }
diff --git a/lib/simple.js b/lib/simple.js
index a75a15a17..bce3f58c9 100644
--- a/lib/simple.js
+++ b/lib/simple.js
@@ -1,709 +1,333 @@
-import path from 'path'
-import { toAudio } from './converter.js'
-import chalk from 'chalk'
-import fetch from 'node-fetch'
-import PhoneNumber from 'awesome-phonenumber'
-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 path from 'path';
+import {toAudio} from './converter.js';
+import chalk from 'chalk';
+import fetch from 'node-fetch';
+import PhoneNumber from 'awesome-phonenumber';
+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';
-const __dirname = path.dirname(fileURLToPath(import.meta.url))
+const __dirname = path.dirname(fileURLToPath(import.meta.url));
-/**
- * @type {import('@adiwajshing/baileys')}
+/**
+ * @type {import('@whiskeysockets/baileys')}
*/
const {
- default: _makeWaSocket,
- makeWALegacySocket,
- proto,
- downloadContentFromMessage,
- jidDecode,
- areJidsSameUser,
- generateForwardMessageContent,
- generateWAMessageFromContent,
- WAMessageStubType,
- extractMessageContent
-} = (await import('@whiskeysockets/baileys')).default
+ default: _makeWaSocket,
+ makeWALegacySocket,
+ proto,
+ downloadContentFromMessage,
+ jidDecode,
+ areJidsSameUser,
+ generateWAMessage,
+ generateForwardMessageContent,
+ generateWAMessageFromContent,
+ WAMessageStubType,
+ extractMessageContent,
+ WA_DEFAULT_EPHEMERAL,
+ prepareWAMessageMedia,
+} = (await import('@whiskeysockets/baileys')).default;
export function makeWASocket(connectionOptions, options = {}) {
- /**
- * @type {import('@adiwajshing/baileys').WASocket | import('@adiwajshing/baileys').WALegacySocket}
+ /**
+ * @type {import('@whiskeysockets/baileys').WASocket | import('@whiskeysockets/baileys').WALegacySocket}
*/
- let conn = (global.opts['legacy'] ? makeWALegacySocket : _makeWaSocket)(connectionOptions)
+ const conn = (global.opts['legacy'] ? makeWALegacySocket : _makeWaSocket)(connectionOptions);
- 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 })
-}
-},
- 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: {
- /**
+ const 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,
+ },
+ sendNyanCat: {
+ async value(jid, text = '', buffer, title, body, url, quoted, options) {
+ if (buffer) {
+ try {
+ (type = await conn.getFile(buffer), buffer = type.data);
+ } catch {
+ buffer = buffer;
+ }
+ }
+ const prep = generateWAMessageFromContent(jid, {extendedTextMessage: {text: text, contextInfo: {externalAdReply: {title: title, body: body, thumbnail: buffer, sourceUrl: url}, mentionedJid: await conn.parseMention(text)}}}, {quoted: quoted});
+ return conn.relayMessage(jid, prep.message, {messageId: prep.key.id});
+ },
+ },
+ 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 {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: {
- /**
+ async value(PATH, saveToFile = false) {
+ let res; let 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
+ * @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)
- })
+ value(eventName, is = () => true, maxTries = 25) { // Idk why this exist?
+ return new Promise((resolve, reject) => {
+ let tries = 0;
+ const on = (...args) => {
+ if (++tries > maxTries) reject('Max tries reached');
+ else if (is()) {
+ conn.ev.off(eventName, on);
+ resolve(...args);
}
- },
- 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)
- })
- }
+ };
+ conn.ev.on(eventName, on);
+ });
+ },
},
-
- 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
+ relayWAMessage: {
+ async value(pesanfull) {
+ if (pesanfull.message.audioMessage) {
+ await conn.sendPresenceUpdate('recording', pesanfull.key.remoteJid);
+ } else {
+ await conn.sendPresenceUpdate('composing', pesanfull.key.remoteJid);
}
- 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 || ''
- }))
- }))
-
- 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()
-
- 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)
-
- contacts.push({ vcard, displayName: name })
- }
-
- let displayName = null
- if (contacts.length === 1) {
- displayName = contacts[0].displayName
- } else if (contacts.length > 1) {
- displayName = `${contacts.length} kontak`
- }
-
- 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 } })
- }
-
- return await conn.sendMessage(jid, {
- contacts: {
- displayName,
- contacts: contactsWithButtons
- }
- }, {
- quoted,
- ...options
- })
- }
-},
-
- sendFile: {
- /**
+ const mekirim = await conn.relayMessage(pesanfull.key.remoteJid, pesanfull.message, {messageId: pesanfull.key.id});
+ conn.ev.emit('messages.upsert', {messages: [pesanfull], type: 'append'});
+ return mekirim;
+ },
+ },
+ 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 {import('@whiskeysockets/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'
+ async value(jid, path, filename = '', caption = '', quoted, ptt = false, options = {}) {
+ const 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!')
+ const opt = {};
+ if (quoted) opt.quoted = quoted;
+ if (!type) options.asDocument = true;
+ let mtype = ''; let mimetype = options.mimetype || type.mime; let 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/mpeg; 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
+ 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}
+ const message = {
+ ...options,
+ caption,
+ ptt,
+ [mtype]: {url: pathFile},
+ mimetype,
+ fileName: filename || pathFile.split('/').pop(),
+ };
+ /**
+ * @type {import('@whiskeysockets/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
+ 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,
+ },
+ sendContact: {
+ /**
+ * Send Contact
* @param {String} jid
- * @param {String|Buffer} text
- * @param {import('@adiwajshing/baileys').proto.WebMessageInfo} quoted
+ * @param {String[][]|String[]} data
+ * @param {import('@whiskeysockets/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 }
+ async value(jid, data, quoted, options) {
+ if (!Array.isArray(data[0]) && typeof data[0] === 'string') data = [data];
+ const contacts = [];
+ for (let [number, name] of data) {
+ number = number.replace(/[^0-9]/g, '');
+ const njid = number + '@s.whatsapp.net';
+ const biz = await conn.getBusinessProfile(njid).catch((_) => null) || {};
+ const 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});
}
- 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),
+ return await conn.sendMessage(jid, {
+ ...options,
+ contacts: {
...options,
- buttons: buttons,
- headerType: 4
- }
-
- return conn.sendMessage(jid, buttonMessage, { quoted, ephemeralExpiration: 86400, contextInfo: { mentionedJid: conn.parseMention(contentText + footerText) }, ...options })
- }},
-
+ displayName: (contacts.length >= 2 ? `${contacts.length} kontak` : contacts[0].displayName) || null,
+ contacts,
+ },
+ }, {quoted, ...options});
+ },
+ enumerable: true,
+ },
+reply: {
/**
- * 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
- })
- }},
+* Reply to a message
+* @param {String} jid
+* @param {String|Buffer} text
+* @param {import('@adiwajshing/baileys').proto.WebMessageInfo} quoted
+* @param {Object} 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
- })
- }},
+async value(jid, text = '', quoted, options) {
+if (Buffer.isBuffer(text)) {
+return conn.sendFile(jid, text, 'file', '', quoted, false, options)
+} else {
+let canalId = ["120363160031023229@newsletter", "120363355261011910@newsletter"]
+let canalNombre = ["INFINITY-WA ๐ซ", "LoliBot โจ"]
-/** 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
- }
- }]
- }
- }
- }), { 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: {
+async function getRandomChannel() {
+let randomIndex = Math.floor(Math.random() * canalId.length)
+let id = canalId[randomIndex]
+let nombre = canalNombre[randomIndex]
+return { id, nombre }
+}
+
+let randomChannel = await getRandomChannel()
+const contextInfo = {
+mentionedJid: await conn.parseMention(text),
+isForwarded: true,
+forwardingScore: 1,
+forwardedNewsletterMessageInfo: {
+newsletterJid: randomChannel.id,
+newsletterName: randomChannel.nombre
+}}
+
+const messageOptions = { ...options, text, contextInfo }
+return conn.sendMessage(jid, messageOptions, { quoted, ...options })
+}}
+},
+ // sendButton: {
/**
* send Button
* @param {String} jid
@@ -711,10 +335,10 @@ sendGroupV4Invite: {
* @param {String} footer
* @param {Buffer} buffer
* @param {String[] | String[][]} buttons
- * @param {import('@adiwajshing/baileys').proto.WebMessageInfo} quoted
+ * @param {import('@whiskeysockets/baileys').proto.WebMessageInfo} quoted
* @param {Object} options
*/
- async value(jid, text = '', footer = '', buffer, buttons, quoted, 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 }
@@ -749,284 +373,926 @@ sendGroupV4Invite: {
},
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
+ */
+
+ //-- new
+sendButton: {
+ async value(jid, text = '', footer = '', buffer, buttons, copy, urls, list, quoted, options) {
+ let img, video
+
+
+ if (/^https?:\/\//i.test(buffer)) {
+ try {
+ // Obtener el tipo MIME de la URL
+ const response = await fetch(buffer)
+ const contentType = response.headers.get('content-type')
+ if (/^image\//i.test(contentType)) {
+ img = await prepareWAMessageMedia({ image: { url: buffer } }, { upload: conn.waUploadToServer })
+ } else if (/^video\//i.test(contentType)) {
+ video = await prepareWAMessageMedia({ video: { url: buffer } }, { upload: conn.waUploadToServer })
+ } else {
+ console.error("Tipo MIME no compatible:", contentType)
+ }
+ } catch (error) {
+ console.error("Error al obtener el tipo MIME:", error)
+ }
+ } else {
+
+ try {
+ const type = await conn.getFile(buffer)
+ if (/^image\//i.test(type.mime)) {
+ img = await prepareWAMessageMedia({ image: { url: buffer } }, { upload: conn.waUploadToServer })
+ } else if (/^video\//i.test(type.mime)) {
+ video = await prepareWAMessageMedia({ video: { url: buffer } }, { upload: conn.waUploadToServer })
+ }
+ } catch (error) {
+ console.error("Error al obtener el tipo de archivo:", error);
+ }
+ }
+
+const dynamicButtons = []
+
+// Botones de tipo quick_reply
+if (buttons && Array.isArray(buttons)) {
+ dynamicButtons.push(...buttons.map(btn => ({
+ name: 'quick_reply',
+ buttonParamsJson: JSON.stringify({
+ display_text: btn[0],
+ id: btn[1]
+ })
+ })));
+}
+
+// Botones de copiar
+if (copy && Array.isArray(copy)) {
+ dynamicButtons.push(...copy.map(copyBtn => ({
+ name: 'cta_copy',
+ buttonParamsJson: JSON.stringify({
+ display_text: copyBtn[0] || 'Copy',
+ copy_code: copyBtn[1]
+ })
+ })));
+}
+
+// Botones de URL
+if (urls && Array.isArray(urls)) {
+ urls.forEach(url => {
+ dynamicButtons.push({
+ name: 'cta_url',
+ buttonParamsJson: JSON.stringify({
+ display_text: url[0],
+ url: url[1],
+ merchant_url: url[1]
+ })
+ });
+ });
+}
+
+// Botones de lista
+if (list && Array.isArray(list)) {
+ list.forEach(lister => {
+ dynamicButtons.push({
+ name: 'single_select',
+ buttonParamsJson: JSON.stringify({
+ title: lister[0],
+ sections: lister[1]
+ })
+ })
+ })
+ }
+ const interactiveMessage = {
+ body: { text: text },
+ footer: { text: footer },
+ header: {
+ hasMediaAttachment: false,
+ imageMessage: img ? img.imageMessage : null,
+ videoMessage: video ? video.videoMessage : null
+ },
+ nativeFlowMessage: {
+ buttons: dynamicButtons,
+ messageParamsJson: ''
+ }
}
- return conn.relayMessage(jid, { pollCreationMessage: pollMessage }, { ...options });
+
+
+ let msgL = generateWAMessageFromContent(jid, {
+ viewOnceMessage: {
+ message: {
+ interactiveMessage } } }, { userJid: conn.user.jid, quoted })
+
+ conn.relayMessage(jid, msgL.message, { messageId: msgL.key.id, ...options })
+
+ }
+},
+
+sendAlbumMessage: {
+ async value(jid, medias, caption = "", quoted = null) {
+ let img, video;
+
+ 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: quoted });
+
+ await conn.relayMessage(album.key.remoteJid, album.message, {
+ messageId: album.key.id
+ });
+
+ for (const media of medias) {
+ const { type, data } = media;
+
+ if (/^https?:\/\//i.test(data.url)) {
+ try {
+ const response = await fetch(data.url);
+ const contentType = response.headers.get('content-type');
+
+ if (/^image\//i.test(contentType)) {
+ img = await prepareWAMessageMedia({ image: { url: data.url } }, { upload: conn.waUploadToServer });
+ } else if (/^video\//i.test(contentType)) {
+ video = await prepareWAMessageMedia({ video: { url: data.url } }, { upload: conn.waUploadToServer });
+ }
+ } catch (error) {
+ console.error("Error al obtener el tipo MIME:", error);
}
- },
-
- /** Send Button Gif
- *
- * @param {*} jid
- * @param {*} text
- * @param {*} footer
- * @param {*} Gif
- * @param [*] button
- * @param {*} options
- * @returns
+ }
+
+ const mediaMessage = await generateWAMessage(album.key.remoteJid, {
+ [type]: data,
+ ...(media === medias[0] ? { caption } : {})
+ }, {
+ upload: conn.waUploadToServer
+ });
+
+ mediaMessage.message.messageContextInfo = {
+ messageAssociation: {
+ associationType: 1,
+ parentMessageKey: album.key
+ }
+ };
+
+ await conn.relayMessage(mediaMessage.key.remoteJid, mediaMessage.message, {
+ messageId: mediaMessage.key.id
+ });
+ }
+
+ return album;
+ }
+},
+
+/**
+ * Send nativeFlowMessage
+ */
+ sendNCarousel: {
+ async value(jid, text = '', footer = '', buffer, buttons, copy, urls, list, quoted, options) {
+ let img, video;
+ if (buffer) {
+ if (/^https?:\/\//i.test(buffer)) {
+ try {
+ const response = await fetch(buffer);
+ const contentType = response.headers.get('content-type');
+ if (/^image\//i.test(contentType)) {
+ img = await prepareWAMessageMedia({
+ image: {
+ url: buffer
+ }
+ }, {
+ upload: conn.waUploadToServer,
+ ...options
+ });
+ } else if (/^video\//i.test(contentType)) {
+ video = await prepareWAMessageMedia({
+ video: {
+ url: buffer
+ }
+ }, {
+ upload: conn.waUploadToServer,
+ ...options
+ });
+ } else {
+ console.error("Incompatible MIME type:", contentType);
+ }
+ } catch (error) {
+ console.error("Failed to get MIME type:", error);
+ }
+ } else {
+ try {
+ const type = await conn.getFile(buffer);
+ if (/^image\//i.test(type.mime)) {
+ img = await prepareWAMessageMedia({
+ image: (/^https?:\/\//i.test(buffer)) ? {
+ url: buffer
+ } : (type && type?.data)
+ }, {
+ upload: conn.waUploadToServer,
+ ...options
+ });
+ } else if (/^video\//i.test(type.mime)) {
+ video = await prepareWAMessageMedia({
+ video: (/^https?:\/\//i.test(buffer)) ? {
+ url: buffer
+ } : (type && type?.data)
+ }, {
+ upload: conn.waUploadToServer,
+ ...options
+ });
+ }
+ } catch (error) {
+ console.error("Failed to get file type:", error);
+ }
+ }
+ }
+ const dynamicButtons = buttons.map(btn => ({
+ name: 'quick_reply',
+ buttonParamsJson: JSON.stringify({
+ display_text: btn[0],
+ id: btn[1]
+ }),
+ }));
+ dynamicButtons.push(
+ (copy && (typeof copy === 'string' || typeof copy === 'number')) ? {
+ name: 'cta_copy',
+ buttonParamsJson: JSON.stringify({
+ display_text: 'Copy',
+ copy_code: copy
+ })
+ } : null)
+
+ urls?.forEach(url => {
+ dynamicButtons.push({
+ name: 'cta_url',
+ buttonParamsJson: JSON.stringify({
+ display_text: url[0],
+ url: url[1],
+ merchant_url: url[1]
+ })
+ });
+ });
+ list?.forEach(lister => {
+ dynamicButtons.push({
+ name: 'single_select',
+ buttonParamsJson: JSON.stringify({
+ title: lister[0],
+ sections: lister[1]
+ })
+ });
+ })
+ const interactiveMessage = {
+ body: {
+ text: text || ''
+ },
+ footer: {
+ text: footer || wm
+ },
+ header: {
+ hasMediaAttachment: img?.imageMessage || video?.videoMessage ? true : false,
+ imageMessage: img?.imageMessage || null,
+ videoMessage: video?.videoMessage || null
+ },
+ nativeFlowMessage: {
+ buttons: dynamicButtons.filter(Boolean),
+ messageParamsJson: ''
+ },
+ ...Object.assign({
+ mentions: typeof text === 'string' ? conn.parseMention(text || '@0') : [],
+ contextInfo: {
+ mentionedJid: typeof text === 'string' ? conn.parseMention(text || '@0') : [],
+ }
+ }, {
+ ...(options || {}),
+ ...(conn.temareply?.contextInfo && {
+ contextInfo: {
+ ...(options?.contextInfo || {}),
+ ...conn.temareply?.contextInfo,
+ externalAdReply: {
+ ...(options?.contextInfo?.externalAdReply || {}),
+ ...conn.temareply?.contextInfo?.externalAdReply,
+ },
+ },
+ })
+ })
+ };
+ const messageContent = proto.Message.fromObject({
+ viewOnceMessage: {
+ message: {
+ messageContextInfo: {
+ deviceListMetadata: {},
+ deviceListMetadataVersion: 2
+ },
+ interactiveMessage
+ }
+ }
+ });
+ const msgs = await generateWAMessageFromContent(jid, messageContent, {
+ userJid: conn.user.jid,
+ quoted: quoted,
+ upload: conn.waUploadToServer,
+ ephemeralExpiration: WA_DEFAULT_EPHEMERAL
+ });
+ await conn.relayMessage(jid, msgs.message, {
+ messageId: msgs.key.id
+ });
+ }
+ },
+
+/**
+ * Send carouselMessage
*/
- 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 })
+ sendCarousel: {
+ async value(jid, text = '', footer = '', messages, quoted, options = {}) {
+ try {
+ if (messages.length > 1) {
+ const cards = await Promise.all(messages.map(async ([text = '', footer = '', buffer, buttons, copy, urls, list]) => {
+ let img, video;
+
+ if (/^https?:\/\//i.test(buffer)) {
+ try {
+ const response = await fetch(buffer);
+ const contentType = response.headers.get('content-type');
+ if (/^image\//i.test(contentType)) {
+ img = await prepareWAMessageMedia({ image: { url: buffer } }, { upload: conn.waUploadToServer, ...options });
+ } else if (/^video\//i.test(contentType)) {
+ video = await prepareWAMessageMedia({ video: { url: buffer } }, { upload: conn.waUploadToServer, ...options });
+ } else {
+ console.error("Tipo MIME no compatible:", contentType);
+ }
+ } catch (error) {
+ console.error("Error al obtener el tipo MIME:", error);
+ }
+ } else {
+ try {
+ const type = await conn.getFile(buffer);
+ if (/^image\//i.test(type.mime)) {
+ img = await prepareWAMessageMedia({ image: { url: buffer } }, { upload: conn.waUploadToServer, ...options });
+ } else if (/^video\//i.test(type.mime)) {
+ video = await prepareWAMessageMedia({ video: { url: buffer } }, { upload: conn.waUploadToServer, ...options });
+ }
+ } catch (error) {
+ console.error("Error al obtener el tipo de archivo:", error);
+ }
+ }
+
+ const dynamicButtons = [];
+ if (buttons && Array.isArray(buttons)) {
+ buttons.forEach(btn => {
+ dynamicButtons.push({
+ name: 'quick_reply',
+ buttonParamsJson: JSON.stringify({
+ display_text: btn[0],
+ id: btn[1]
+ })
+ });
+ });
+ }
+
+ if (copy && Array.isArray(copy)) {
+ copy.forEach(copyBtn => {
+ dynamicButtons.push({
+ name: 'cta_copy',
+ buttonParamsJson: JSON.stringify({
+ display_text: copyBtn[0] || 'Copy',
+ copy_code: copyBtn[1]
+ })
+ });
+ });
+ }
+
+ if (urls && Array.isArray(urls)) {
+ urls.forEach(url => {
+ dynamicButtons.push({
+ name: 'cta_url',
+ buttonParamsJson: JSON.stringify({
+ display_text: url[0],
+ url: url[1],
+ merchant_url: url[1]
+ })
+ });
+ });
+ }
+
+ if (list && Array.isArray(list)) {
+ list.forEach(lister => {
+ dynamicButtons.push({
+ name: 'single_select',
+ buttonParamsJson: JSON.stringify({
+ title: lister[0],
+ sections: lister[1]
+ })
+ });
+ });
+ }
+
+ return {
+ body: proto.Message.InteractiveMessage.Body.fromObject({
+ text: text || ''
+ }),
+ footer: proto.Message.InteractiveMessage.Footer.fromObject({
+ text: footer || null
+ }),
+ header: proto.Message.InteractiveMessage.Header.fromObject({
+ title: text || null,
+ subtitle: text || null,
+ hasMediaAttachment: img?.imageMessage || video?.videoMessage ? true : false,
+ imageMessage: img?.imageMessage || null,
+ videoMessage: video?.videoMessage || null
+ }),
+ nativeFlowMessage: proto.Message.InteractiveMessage.NativeFlowMessage.fromObject({
+ buttons: dynamicButtons.filter(Boolean),
+ messageParamsJson: ''
+ })
+ };
+ }));
+
+ const interactiveMessage = proto.Message.InteractiveMessage.create({
+ body: proto.Message.InteractiveMessage.Body.fromObject({
+ text: text || ''
+ }),
+ footer: proto.Message.InteractiveMessage.Footer.fromObject({
+ text: footer || ''
+ }),
+ header: proto.Message.InteractiveMessage.Header.fromObject({
+ title: text || '',
+ subtitle: text || '',
+ hasMediaAttachment: false
+ }),
+ carouselMessage: proto.Message.InteractiveMessage.CarouselMessage.fromObject({
+ cards: cards
+ })
+ });
+
+ const messageContent = proto.Message.fromObject({
+ viewOnceMessage: {
+ message: {
+ messageContextInfo: {
+ deviceListMetadata: {},
+ deviceListMetadataVersion: 2
+ },
+ interactiveMessage
+ }
+ }
+ });
+
+ const msgs = await generateWAMessageFromContent(jid, messageContent, {
+ userJid: conn.user.jid,
+ quoted: quoted,
+ upload: conn.waUploadToServer,
+ ephemeralExpiration: WA_DEFAULT_EPHEMERAL
+ });
+
+ await conn.relayMessage(jid, msgs.message, { messageId: msgs.key.id });
+ } else {
+ await conn.sendNCarousel(jid, ...messages[0], quoted, options);
+ }
+ } catch (error) {
+ console.error("Error en sendCarousel:", error);
+ throw error;
+ }
+ }
+},
+
+sendButton2: {
+ async value(jid, text = '', footer = '', buffer, buttons, copy, urls, quoted, options) {
+ let img, video
+
+
+ if (/^https?:\/\//i.test(buffer)) {
+ try {
+ // Obtener el tipo MIME de la URL
+ const response = await fetch(buffer)
+ const contentType = response.headers.get('content-type')
+ if (/^image\//i.test(contentType)) {
+ img = await prepareWAMessageMedia({ image: { url: buffer } }, { upload: conn.waUploadToServer })
+ } else if (/^video\//i.test(contentType)) {
+ video = await prepareWAMessageMedia({ video: { url: buffer } }, { upload: conn.waUploadToServer })
+ } else {
+ console.error("Tipo MIME no compatible:", contentType)
+ }
+ } catch (error) {
+ console.error("Error al obtener el tipo MIME:", error)
+ }
+ } else {
+
+ try {
+ const type = await conn.getFile(buffer)
+ if (/^image\//i.test(type.mime)) {
+ img = await prepareWAMessageMedia({ image: { url: buffer } }, { upload: conn.waUploadToServer })
+ } else if (/^video\//i.test(type.mime)) {
+ video = await prepareWAMessageMedia({ video: { url: buffer } }, { upload: conn.waUploadToServer })
+ }
+ } catch (error) {
+ console.error("Error al obtener el tipo de archivo:", error);
+ }
+ }
+
+ const dynamicButtons = buttons.map(btn => ({
+ name: 'quick_reply',
+ buttonParamsJson: JSON.stringify({
+ display_text: btn[0],
+ id: btn[1]
+ }),
+ }));
+
+
+ if (copy && (typeof copy === 'string' || typeof copy === 'number')) {
+ // Aรฑadir botรณn de copiar
+ dynamicButtons.push({
+ name: 'cta_copy',
+ buttonParamsJson: JSON.stringify({
+ display_text: 'Copy',
+ copy_code: copy
+ })
+ });
+ }
+
+ // Aรฑadir botones de URL
+ if (urls && Array.isArray(urls)) {
+ urls.forEach(url => {
+ dynamicButtons.push({
+ name: 'cta_url',
+ buttonParamsJson: JSON.stringify({
+ display_text: url[0],
+ url: url[1],
+ merchant_url: url[1]
+ })
+ })
+ })
+ }
+
+
+ const interactiveMessage = {
+ body: { text: text },
+ footer: { text: footer },
+ header: {
+ hasMediaAttachment: false,
+ imageMessage: img ? img.imageMessage : null,
+ videoMessage: video ? video.videoMessage : null
+ },
+ nativeFlowMessage: {
+ buttons: dynamicButtons,
+ messageParamsJson: ''
+ }
+ }
+
+
+ let msgL = generateWAMessageFromContent(jid, {
+ viewOnceMessage: {
+ message: {
+ interactiveMessage } } }, { userJid: conn.user.jid, quoted })
+
+ conn.relayMessage(jid, msgL.message, { messageId: msgL.key.id, ...options })
+
+ }
+},
+
+ //---
+
+sendList: {
+ async value(jid, title, text, buttonText, buffer, listSections, quoted, options = {}) {
+ let img, video
+
+ if (/^https?:\/\//i.test(buffer)) {
+ try {
+ // Obtener el tipo MIME de la URL
+ const response = await fetch(buffer)
+ const contentType = response.headers.get('content-type')
+ if (/^image\//i.test(contentType)) {
+ img = await prepareWAMessageMedia({ image: { url: buffer } }, { upload: conn.waUploadToServer })
+ } else if (/^video\//i.test(contentType)) {
+ video = await prepareWAMessageMedia({ video: { url: buffer } }, { upload: conn.waUploadToServer })
+ } else {
+ console.error("Tipo MIME no compatible:", contentType)
+ }
+ } catch (error) {
+ console.error("Error al obtener el tipo MIME:", error)
+ }
+ } else {
+
+ try {
+ const type = await conn.getFile(buffer)
+ if (/^image\//i.test(type.mime)) {
+ img = await prepareWAMessageMedia({ image: { url: buffer } }, { upload: conn.waUploadToServer })
+ } else if (/^video\//i.test(type.mime)) {
+ video = await prepareWAMessageMedia({ video: { url: buffer } }, { upload: conn.waUploadToServer })
+ }
+ } catch (error) {
+ console.error("Error al obtener el tipo de archivo:", error);
+ }
+ }
+
+ const sections = [...listSections]
+
+ const message = {
+ interactiveMessage: {
+ header: {title: title,
+ hasMediaAttachment: false,
+ imageMessage: img ? img.imageMessage : null,
+ videoMessage: video ? video.videoMessage : null
+ } ,
+ body: {text: text},
+ nativeFlowMessage: {
+ buttons: [
+ {
+ name: 'single_select',
+ buttonParamsJson: JSON.stringify({
+ title: buttonText,
+ sections
+ })
+ }
+ ],
+ messageParamsJson: ''
+ }
+ }
+ };
+
+ let msgL = generateWAMessageFromContent(jid, {
+ viewOnceMessage: {
+ message} }, { userJid: conn.user.jid, quoted })
+
+ //await conn.relayMessage(jid, { viewOnceMessage: { message } }, {});
+ conn.relayMessage(jid, msgL.message, { messageId: msgL.key.id, ...options })
+
}
+},
+
+ 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});
+ },
},
-
- sendHydrated: {
- /**
- *
- * @param {String} jid
- * @param {String} text
- * @param {String} footer
+ 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 {import('@whiskeysockets/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 ?
+ 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 = {};
+ const 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 || '',
+ },
+ })) || []
+ ));
+ }
+ const message = {
+ ...options,
+ [buffer ? 'caption' : 'text']: text || '',
+ footer,
+ templateButtons,
+ ...(buffer ?
options.asLocation && /image/.test(type.mime) ? {
- location: {
- ...options,
- jpegThumbnail: buffer
- }
+ 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
+ [/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 {import('@whiskeysockets/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 ?
+ 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 = {};
+ const 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 || '',
+ },
+ })) || []
+ ));
+ }
+ const message = {
+ ...options,
+ [buffer ? 'caption' : 'text']: text || '',
+ footer,
+ templateButtons,
+ ...(buffer ?
options.asLocation && /image/.test(type.mime) ? {
- location: {
- ...options,
- jpegThumbnail: buffer
- }
+ 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: {
- /**
+ [/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
+ * @param {String} jid
+ * @param {import('@whiskeysockets/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: {
- /**
+ value(jid, message, text = '', sender = conn.user.jid, options = {}) {
+ if (options.mentions && !Array.isArray(options.mentions)) options.mentions = [options.mentions];
+ const copy = message.toJSON();
+ delete copy.message.messageContextInfo;
+ delete copy.message.senderKeyDistributionMessage;
+ const mtype = Object.keys(copy.message)[0];
+ const msg = copy.message;
+ const 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 {import('@whiskeysockets/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: {
- /**
+ 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;
+ }
+ const mtype = Object.keys(message.message)[0];
+ let m = generateForwardMessageContent(message, !!forwardingScore);
+ const 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
@@ -1035,383 +1301,394 @@ sendGroupV4Invite: {
* @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: {
- /**
+ 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}
+ * @return {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: {
- /**
+ 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}
+ * @return {Array}
*/
- value(text = '') {
- return [...text.matchAll(/@([0-9]{5,16}|0)/g)].map(v => v[1] + '@s.whatsapp.net')
- },
- enumerable: true
- },
- getName: {
- /**
+ 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) ?
+ 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}
+ (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('@whiskeysockets/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: {
- /**
+ 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 {String} jid
+ * @param {*} participant
+ * @param {String} inviteCode
+ * @param {Number} inviteExpiration
+ * @param {String} groupName
+ * @param {String} caption
* @param {Buffer} jpegThumbnail
- * @param {*} options
+ * @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: {
- /**
+ 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
+ * @param {import('@whiskeysockets/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
+ 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) => {
+ conn.ev.emit('groups.update', [{ id: chat, ...update }]);
+ };
+
+ switch (m.messageStubType) {
+ case WAMessageStubType.REVOKE:
+ case WAMessageStubType.GROUP_CHANGE_INVITE_LINK:
+ if (Array.isArray(m.messageStubParameters) && m.messageStubParameters.length > 0) {
+ emitGroupUpdate({ revoke: m.messageStubParameters[0] });
}
- },
- 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: {
- /**
+ break;
+ case WAMessageStubType.GROUP_CHANGE_ICON:
+ if (Array.isArray(m.messageStubParameters) && m.messageStubParameters.length > 0) {
+ 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
+ * @param {import('@whiskeysockets/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]) ||
+ 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}
+ _mtype[_mtype.length - 1];
+ const chat = conn.decodeJid(message.key.remoteJid || message.message?.senderKeyDistributionMessage?.groupId || '');
+ if (message.message?.[mtype]?.contextInfo?.quotedMessage) {
+ /**
+ * @type {import('@whiskeysockets/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}
- *
+ const context = message.message[mtype].contextInfo;
+ let participant = conn.decodeJid(context.participant);
+ const remoteJid = conn.decodeJid(context.remoteJid || participant);
+ /**
+ * @type {import('@whiskeysockets/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)
- }
+ const 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
+ }
}
- },
- serializeM: {
- /**
+ 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; let 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
+ * @param {import('@whiskeysockets/baileys').proto.WebMessageInfo} m
*/
- value(m) {
- return smsg(conn, m)
- }
- },
- ...(typeof conn.chatRead !== 'function' ? {
- chatRead: {
- /**
+ value(m) {
+ return smsg(conn, m);
+ },
+ },
+ ...(typeof conn.chatRead !== 'function' ? {
+ chatRead: {
+ /**
* Read message
- * @param {String} jid
- * @param {String|undefined|null} participant
- * @param {String} messageID
+ * @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: {
- /**
+ 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
+ * @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
+ 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;
}
-
-
/**
* Serialize Message
- * @param {ReturnType} conn
- * @param {import('@adiwajshing/baileys').proto.WebMessageInfo} m
- * @param {Boolean} hasParent
+ * @param {ReturnType} conn
+ * @param {import('@whiskeysockets/baileys').proto.WebMessageInfo} m
+ * @param {Boolean} hasParent
*/
export function smsg(conn, m, hasParent) {
- if (!m) return m
- /**
- * @type {import('@adiwajshing/baileys').proto.WebMessageInfo}
+ if (!m) return m;
+ /**
+ * @type {import('@whiskeysockets/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
+ const 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.mediaMessage) delete m.download
+ if (m.quoted) if (!m.quoted.mediaMessage) delete m.quoted.download;
+ }
+ if (!m.mediaMessage) delete m.download;
- try {
- if (protocolMessageKey && m.mtype == 'protocolMessage') conn.ev.emit('message.delete', protocolMessageKey)
- } catch (e) {
- console.error(e)
- }
- return m
+ try {
+ if (protocolMessageKey && m.mtype == 'protocolMessage') conn.ev.emit('message.delete', protocolMessageKey);
+ } catch (e) {
+ console.error(e);
+ }
+ return m;
}
// 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 ||
+ 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?.fromMe || areJidsSameUser(this.conn?.user.id, this.sender)) && this.id.startsWith('3EB0') && (this.id.length === 20 || this.id.length === 22 || 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: {
+ ).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 || '')
},
@@ -1421,203 +1698,203 @@ export function serialize() {
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
+ },
+ 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
+ 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];
+ const 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
- },
- msg: {
+ enumerable: true,
+ },
+ mediaMessage: {
get() {
- if (!this.message) return null
- return this.message[this.mtype]
- }
- },
- mediaMessage: {
+ 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() {
- 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
+ let message;
+ if (!(message = this.mediaMessage)) return null;
+ return Object.keys(message)[0];
},
- enumerable: true
- },
- mediaType: {
+ enumerable: true,
+ },
+ id: {
get() {
- let message
- if (!(message = this.mediaMessage)) return null
- return Object.keys(message)[0]
+ return contextInfo.stanzaId;
},
enumerable: true,
- },
- quoted: {
+ },
+ chat: {
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
+ return contextInfo.remoteJid || self.chat;
+ },
+ enumerable: true,
+ },
+ isBaileys: {
+ get() {
+ return (this?.fromMe || areJidsSameUser(this.conn?.user.id, this.sender)) && this.id.startsWith('3EB0') && (this.id.length === 20 || this.id.length === 22 || 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,
- },
- 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: {
- /**
+ },
+ 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: {
- /**
+ 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: {
- /**
+ 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: {
- /**
+ 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,
+ value(jid, forceForward = false, options) {
+ return self.conn?.copyNForward(jid, this.vM, forceForward, options);
+ },
+ enumerable: true,
- },
- cMod: {
+ },
+ cMod: {
/**
* Modify quoted Message
* @param {String} jid
@@ -1629,7 +1906,7 @@ export function serialize() {
return self.conn?.cMod(jid, this.vM, text, sender, options)
},
enumerable: true,
-
+
},
delete: {
/**
@@ -1639,29 +1916,31 @@ export function serialize() {
return self.conn?.sendMessage(this.chat, { delete: this.vM.key })
},
enumerable: true,
-
- },
- 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() {
+
+ },
+ //react
+ 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 : (
@@ -1745,115 +2024,120 @@ export function serialize() {
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
- }
- })
+ },
+ //react
+ react: {
+ value(text) {
+ return this.conn?.sendMessage(this.chat, {
+ react: {
+ text,
+ key: this.key
+ }
+ })
+ },
+ enumerable: true
+ }
+ //
+ })
}
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
+ if (inp.length !== out.length) throw new Error('Input and Output must have same length');
+ for (const i in inp) if (util.isDeepStrictEqual(check, inp[i])) return out[i];
+ return null;
}
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;
+ 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];
}
- /**
- * @returns {ArrayBuffer}
+ return ab;
+ };
+ /**
+ * @return {ArrayBuffer}
*/
- Buffer.prototype.toArrayBufferV2 = function toArrayBuffer() {
- return this.buffer.slice(this.byteOffset, this.byteOffset + this.byteLength)
- }
- /**
- * @returns {Buffer}
+ Buffer.prototype.toArrayBufferV2 = function toArrayBuffer() {
+ return this.buffer.slice(this.byteOffset, this.byteOffset + this.byteLength);
+ };
+ /**
+ * @return {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)
- }
- /**
+ 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.isNumber = Number.prototype.isNumber = isNumber;
+ /**
+ *
+ * @return {String}
*/
- String.prototype.capitalize = function capitalize() {
- return this.charAt(0).toUpperCase() + this.slice(1, this.length)
- }
- /**
- * @returns {String}
+ String.prototype.capitalize = function capitalize() {
+ return this.charAt(0).toUpperCase() + this.slice(1, this.length);
+ };
+ /**
+ * @return {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()
- }
- /**
+ 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}
+ * @return {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
+ 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} day(s) ` : '') +
+ (hours ? `${hours} hour(s) ` : '') +
+ (minutes ? `${minutes} minute(s) ` : '') +
+ (seconds ? `${seconds} second(s)` : '')
+ ).trim();
+ };
+ Number.prototype.getRandom = String.prototype.getRandom = Array.prototype.getRandom = getRandom;
}
function isNumber() {
- const int = parseInt(this)
- return typeof int === 'number' && !isNaN(int)
+ const int = parseInt(this);
+ return typeof int === 'number' && !isNaN(int);
}
function getRandom() {
- if (Array.isArray(this) || this instanceof String) return this[Math.floor(Math.random() * this.length)]
- return Math.floor(Math.random() * this)
+ if (Array.isArray(this) || this instanceof String) return this[Math.floor(Math.random() * this.length)];
+ return Math.floor(Math.random() * this);
}
/**
* ??
* @link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing_operator
- * @returns {boolean}
+ * @return {boolean}
*/
function nullish(args) {
- return !(args !== null && args !== undefined)
-}
+ return !(args !== null && args !== undefined);
+}
\ No newline at end of file
diff --git a/lib/sticker.js b/lib/sticker.js
index 20eefb5f7..65490a69e 100644
--- a/lib/sticker.js
+++ b/lib/sticker.js
@@ -1,19 +1,19 @@
-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 fluent_ffmpeg from 'fluent-ffmpeg';
-import {spawn} from 'child_process';
-import uploadFile from './uploadFile.js';
-import uploadImage from './uploadImage.js';
-import {fileTypeFromBuffer} from 'file-type';
-import webp from 'node-webpmux';
-import fetch from 'node-fetch';
+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 fluent_ffmpeg from 'fluent-ffmpeg'
+import { spawn } from 'child_process'
+import uploadFile from './uploadFile.js'
+import uploadImage from './uploadImage.js'
+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');
+const __dirname = dirname(fileURLToPath(import.meta.url))
+const tmp = path.join(__dirname, '../tmp')
/**
* Image to Sticker
* @param {Buffer} img Image Buffer
@@ -23,36 +23,36 @@ function sticker2(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 res = await fetch(url)
+ if (res.status !== 200) throw await res.text()
+ img = await res.buffer()
}
- const inp = path.join(tmp, +new Date + '.jpeg');
- await fs.promises.writeFile(inp, img);
+ const inp = path.join(tmp, +new Date + '.jpeg')
+ await fs.promises.writeFile(inp, img)
const ff = spawn('ffmpeg', [
'-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',
- '-',
- ]);
- ff.on('error', reject);
+ '-'
+ ])
+ 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));
- ff.stdout.pipe(im.stdin);
+ 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))
+ ff.stdout.pipe(im.stdin)
im.on('exit', () => {
- resolve(Buffer.concat(bufs));
- });
+ resolve(Buffer.concat(bufs))
+ })
} catch (e) {
- reject(e);
+ reject(e)
}
- });
+ })
}
/**
@@ -63,13 +63,13 @@ function sticker2(img, url) {
* @param {String} author EXIF Author
*/
async function sticker3(img, url, packname, author) {
- url = url ? url : await uploadFile(img);
+ url = url ? url : await uploadFile(img)
const res = await fetch('https://api.xteam.xyz/sticker/wm?' + new URLSearchParams(Object.entries({
url,
packname,
- author,
- })));
- return await res.buffer();
+ author
+ })))
+ return await res.buffer()
}
/**
@@ -79,122 +79,122 @@ async function sticker3(img, url, packname, author) {
*/
async function sticker4(img, url) {
if (url) {
- const res = await fetch(url);
- if (res.status !== 200) throw await res.text();
- img = await res.buffer();
+ const res = await fetch(url)
+ if (res.status !== 200) throw await res.text()
+ 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',
- ], 'jpeg', 'webp');
+ '-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 { Sticker } = await import('wa-sticker-formatter')
const stickerMetadata = {
type: 'default',
pack: packname,
author,
categories,
- ...extra,
- };
- return (new Sticker(img ? img : url, stickerMetadata)).toBuffer();
+ ...extra
+ }
+ return (new Sticker(img ? img : url, stickerMetadata)).toBuffer()
}
/**
* Convert using fluent-ffmpeg
- * @param {string} img
- * @param {string} url
+ * @param {string} img
+ * @param {string} url
*/
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 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);
+ 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);
+ 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);
- })
- .on('end', async function() {
- fs.promises.unlink(tmp);
- resolve(await fs.promises.readFile(out));
- })
- .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`,
- ])
- .toFormat('webp')
- .save(out);
- });
+ .on('error', function (err) {
+ console.error(err)
+ fs.promises.unlink(tmp)
+ reject(img)
+ })
+ .on('end', async function () {
+ fs.promises.unlink(tmp)
+ resolve(await fs.promises.readFile(out))
+ })
+ .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`
+ ])
+ .toFormat('webp')
+ .save(out)
+ })
}
/**
* 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
+ * @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]);
exif.writeUIntLE(jsonBuffer.length, 14, 4);
- await img.load(webpSticker);
- img.exif = exif;
- return await img.save(null);
+ await img.load(webpSticker)
+ img.exif = exif
+ return await img.save(null)
}
/**
* Image/Video to Sticker
* @param {Buffer} img Image/Video Buffer
* @param {String} url Image/Video URL
- * @param {...String}
+ * @param {...String}
*/
async function sticker(img, url, ...args) {
- let lastError; let stiker;
+ let lastError, 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)) {
+ ].filter(f => f)) {
try {
- stiker = await func(img, url, ...args);
- if (stiker.includes('html')) continue;
+ stiker = await func(img, url, ...args)
+ if (stiker.includes('html')) continue
if (stiker.includes('WEBP')) {
try {
- return await addExif(stiker, ...args);
+ return await addExif(stiker, ...args)
} catch (e) {
- console.error(e);
- return stiker;
+ console.error(e)
+ return stiker
}
}
- throw stiker.toString();
+ throw stiker.toString()
} catch (err) {
- lastError = err;
- continue;
+ lastError = err
+ continue
}
}
- console.error(lastError);
- return lastError;
+ console.error(lastError)
+ return lastError
}
const support = {
@@ -204,8 +204,8 @@ const support = {
convert: true,
magick: false,
gm: false,
- find: false,
-};
+ find: false
+}
export {
sticker,
@@ -214,5 +214,5 @@ export {
sticker4,
sticker6,
addExif,
- support,
-};
+ support
+}
diff --git a/lib/store.js b/lib/store.js
index 496f4fc94..3bfb284fe 100644
--- a/lib/store.js
+++ b/lib/store.js
@@ -34,7 +34,7 @@ function bind(conn) {
};
}
} catch (e) {
- console.error(e);
+ // console.error(e);
}
}
conn.ev.on('contacts.upsert', updateNameToDb);
@@ -58,7 +58,7 @@ function bind(conn) {
}
}
} catch (e) {
- console.error(e);
+ // console.error(e);
}
});
conn.ev.on('group-participants.update', async function updateParticipantsToDb({id, participants, action}) {
@@ -89,7 +89,7 @@ function bind(conn) {
if (update.subject || metadata?.subject) chats.subject = update.subject || metadata.subject;
}
} catch (e) {
- console.error(e);
+ // console.error(e);
}
});
conn.ev.on('chats.upsert', function chatsUpsertPushToDb(chatsUpsert) {
@@ -100,7 +100,7 @@ function bind(conn) {
const isGroup = id.endsWith('@g.us');
if (isGroup) conn.insertAllGroup().catch((_) => null);
} catch (e) {
- console.error(e);
+ // console.error(e);
}
});
conn.ev.on('presence.update', async function presenceUpdatePushToDb({id, presences}) {
@@ -116,7 +116,7 @@ function bind(conn) {
if (!chats) chats = conn.chats[id] = {id};
}
} catch (e) {
- console.error(e);
+ // console.error(e);
}
});
}
diff --git a/lib/tiktok.js b/lib/tiktok.js
new file mode 100644
index 000000000..913075715
--- /dev/null
+++ b/lib/tiktok.js
@@ -0,0 +1,58 @@
+import axios from 'axios';
+import cheerio from 'cheerio';
+
+const clean = (data) => {
+ let regex = /(<([^>]+)>)/gi;
+ data = data.replace(/( )/gi, " \n");
+ return data.replace(regex, "");
+};
+
+async function shortener(url) {
+ return url;
+}
+
+export const Tiktok = async (query) => {
+ let response = await axios("https://lovetik.com/api/ajax/search", {
+ method: "POST",
+ data: new URLSearchParams(Object.entries({ query })),
+ });
+
+ const result = {};
+
+ result.creator = "YNTKTS";
+ result.title = clean(response.data.desc);
+ result.author = clean(response.data.author);
+ result.nowm = await shortener(
+ (response.data.links[0].a || "").replace("https", "http")
+ );
+ result.watermark = await shortener(
+ (response.data.links[1].a || "").replace("https", "http")
+ );
+ result.audio = await shortener(
+ (response.data.links[2].a || "").replace("https", "http")
+ );
+ result.thumbnail = await shortener(response.data.cover);
+ return result;
+}
+
+async function ttimg(link) {
+ try {
+ let url = `https://dlpanda.com/es?url=${link}&token=G7eRpMaa`;
+ let response = await axios.get(url);
+ const html = response.data;
+ const $ = cheerio.load(html);
+ let imgSrc = [];
+ $('div.col-md-12 > img').each((index, element) => {
+ imgSrc.push($(element).attr('src'));
+ });
+ if (imgSrc.length === 0) {
+ return { data: '*[โ] No se encontraron imรกgenes en el enlace proporcionado.*' };
+ }
+ return { data: imgSrc };
+ } catch (error) {
+ console.log(error);
+ return { data: '*[โ] No se obtuvo respuesta de la pรกgina, intente mรกs tarde.*' };
+ }
+}
+
+export { ttimg };
\ No newline at end of file
diff --git a/lib/uploadImage.js b/lib/uploadImage.js
index 92365c893..1b834ac63 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.toArrayBuffer()], { 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/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/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..b352d05a1 100644
--- a/main.js
+++ b/main.js
@@ -1,39 +1,37 @@
process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = '1'
-import './config.js'
-import {createRequire} from 'module'
-import path, {join} from 'path'
+import './config.js'
+import { createRequire } from 'module'
+import path, { join } from 'path'
import {fileURLToPath, pathToFileURL} from 'url'
-import {platform} from 'process'
+import { platform } from 'process'
import * as ws from 'ws'
-import {readdirSync, statSync, unlinkSync, existsSync, readFileSync, rmSync, watch} from 'fs'
+import fs, { watchFile, unwatchFile, writeFileSync, readdirSync, statSync, unlinkSync, existsSync, readFileSync, copyFileSync, watch, rmSync, readdir, stat, mkdirSync, rename } from 'fs';
+import { promises as fsPromises } from 'fs';
import yargs from 'yargs'
-import {spawn} from 'child_process'
+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 { format } from 'util'
import pino from 'pino'
import Pino from 'pino'
-import {Boom} from '@hapi/boom'
-import {makeWASocket, protoType, serialize} from './lib/simple.js'
+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 Datastore from '@seald-io/nedb';
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
+import NodeCache from 'node-cache'
+import { startSubBots } from './plugins/jadibot.js';
+import pkg from 'google-libphonenumber'
+const { PhoneNumberUtil } = pkg
+const phoneUtil = PhoneNumberUtil.getInstance()
+const { makeInMemoryStore, DisconnectReason, useMultiFileAuthState, MessageRetryMap, fetchLatestBaileysVersion, makeCacheableSignalKeyStore } = 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) {
@@ -41,17 +39,153 @@ global.__filename = function filename(pathURL = import.meta.url, rmPrefix = plat
}; global.__require = function require(dir = import.meta.url) {
return createRequire(dir);
};
-
-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.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);
-
+//const __dirname = join(fileURLToPath(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.prefix = new RegExp('^[' + (opts['prefix'] || '*/i!#$%+ยฃยขโฌยฅ^ยฐ=ยถโรรทฯโโยฉยฎ&.\\-.@').replace(/[|\\{}()[\]^$+*.\-\^]/g, '\\$&') + ']')
+
+//news
+const dbPath = path.join(__dirname, 'database');
+if (!fs.existsSync(dbPath)) fs.mkdirSync(dbPath);
+
+const collections = {
+users: new Datastore({ filename: path.join(dbPath, 'users.db'), autoload: true }),
+chats: new Datastore({ filename: path.join(dbPath, 'chats.db'), autoload: true }),
+settings: new Datastore({ filename: path.join(dbPath, 'settings.db'), autoload: true }),
+msgs: new Datastore({ filename: path.join(dbPath, 'msgs.db'), autoload: true }),
+sticker: new Datastore({ filename: path.join(dbPath, 'sticker.db'), autoload: true }),
+stats: new Datastore({ filename: path.join(dbPath, 'stats.db'), autoload: true }),
+};
+
+Object.values(collections).forEach(db => {
+db.setAutocompactionInterval(300000);
+});
+
+global.db = {
+data: {
+users: {},
+chats: {},
+settings: {},
+msgs: {},
+sticker: {},
+stats: {},
+},
+};
+
+function sanitizeId(id) {
+return id.replace(/\./g, '_');
+}
+
+function unsanitizeId(id) {
+return id.replace(/_/g, '.');
+}
+
+function sanitizeObject(obj) {
+const sanitized = {};
+for (const [key, value] of Object.entries(obj)) {
+const sanitizedKey = key.replace(/\./g, '_');
+sanitized[sanitizedKey] = (typeof value === 'object' && value !== null) ? sanitizeObject(value) : value;
+}
+return sanitized;
+}
+
+function unsanitizeObject(obj) {
+const unsanitized = {};
+for (const [key, value] of Object.entries(obj)) {
+const unsanitizedKey = key.replace(/_/g, '.');
+unsanitized[unsanitizedKey] = (typeof value === 'object' && value !== null) ? unsanitizeObject(value) : value;
+}
+return unsanitized;
+}
+
+global.db.readData = async function (category, id) {
+const sanitizedId = sanitizeId(id);
+if (!global.db.data[category][sanitizedId]) {
+const data = await new Promise((resolve, reject) => {
+collections[category].findOne({ _id: sanitizedId }, (err, doc) => {
+if (err) return reject(err);
+resolve(doc ? unsanitizeObject(doc.data) : {});
+});
+});
+global.db.data[category][sanitizedId] = data;
+}
+return global.db.data[category][sanitizedId];
+};
+
+global.db.writeData = async function (category, id, data) {
+const sanitizedId = sanitizeId(id);
+global.db.data[category][sanitizedId] = {
+...global.db.data[category][sanitizedId],
+...sanitizeObject(data),
+};
+await new Promise((resolve, reject) => {
+collections[category].update({ _id: sanitizedId },
+{ $set: { data: sanitizeObject(global.db.data[category][sanitizedId]) } },
+{ upsert: true },
+(err) => {
+if (err) return reject(err);
+resolve();
+});
+});
+};
-global.db = new Low(/https?:\/\//.test(opts['db'] || '') ? new cloudDBAdapter(opts['db']) : new JSONFile(`${opts._[0] ? opts._[0] + '_' : ''}database.json`));
+global.db.loadDatabase = async function () {
+const loadPromises = Object.keys(collections).map(async (category) => {
+const docs = await new Promise((resolve, reject) => {
+collections[category].find({}, (err, docs) => {
+if (err) return reject(err);
+resolve(docs);
+});
+});
+const seenIds = new Set();
+for (const doc of docs) {
+const originalId = unsanitizeId(doc._id);
+if (seenIds.has(originalId)) {
+await new Promise((resolve, reject) => {
+collections[category].remove({ _id: doc._id }, {}, (err) => {
+if (err) return reject(err);
+resolve();
+});
+});
+} else {
+seenIds.add(originalId);
+if (category === 'users' && (originalId.includes('@newsletter') || originalId.includes('lid'))) continue;
+if (category === 'chats' && originalId.includes('@newsletter')) continue;
+global.db.data[category][originalId] = unsanitizeObject(doc.data);
+}}});
+await Promise.all(loadPromises);
+};
+
+global.db.save = async function () {
+const savePromises = [];
+for (const category of Object.keys(global.db.data)) {
+for (const [id, data] of Object.entries(global.db.data[category])) {
+if (Object.keys(data).length > 0) {
+if (category === 'users' && (id.includes('@newsletter') || id.includes('lid'))) continue;
+if (category === 'chats' && id.includes('@newsletter')) continue;
+savePromises.push(
+new Promise((resolve, reject) => {
+collections[category].update({ _id: sanitizeId(id) },
+{ $set: { data: sanitizeObject(data) } },
+{ upsert: true },
+(err) => {
+if (err) return reject(err);
+resolve();
+});
+}));
+}}}
+await Promise.all(savePromises);
+};
+
+global.db.loadDatabase().then(() => {
+console.log('Base de datos lista');
+}).catch(err => {
+console.error('Error cargando base de datos:', err);
+});
+/*global.db = new Low(/https?:\/\//.test(opts['db'] || '') ? new cloudDBAdapter(opts['db']) : new JSONFile('database.json'))
global.DATABASE = global.db;
global.loadDatabase = async function loadDatabase() {
if (global.db.READ) {
@@ -76,142 +210,189 @@ settings: {},
};
global.db.chain = chain(global.db.data);
};
-loadDatabase();
+loadDatabase();*/
-/* ------------------------------------------------*/
-
-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();
+//if (global.conns instanceof Array) {console.log('Conexiones ya inicializadas...');} else {global.conns = [];}
/* ------------------------------------------------*/
+global.creds = 'creds.json'
global.authFile = `BotSession`
+global.authFileJB = 'jadibts'
+global.rutaBot = join(__dirname, authFile)
+global.rutaJadiBot = join(__dirname, authFileJB)
+const respaldoDir = join(__dirname, 'BackupSession');
+const credsFile = join(global.rutaBot, global.creds);
+const backupFile = join(respaldoDir, global.creds);
+
+if (!fs.existsSync(rutaJadiBot)) {
+fs.mkdirSync(rutaJadiBot)}
+
+if (!fs.existsSync(respaldoDir)) fs.mkdirSync(respaldoDir);
+
const {state, saveState, saveCreds} = await useMultiFileAuthState(global.authFile)
-const msgRetryCounterMap = (MessageRetryMap) => { };
-const msgRetryCounterCache = new NodeCache()
-const {version} = await fetchLatestBaileysVersion();
+const msgRetryCounterMap = new Map();
+const msgRetryCounterCache = new NodeCache({ stdTTL: 0, checkperiod: 0 });
+const userDevicesCache = new NodeCache({ stdTTL: 0, checkperiod: 0 });
+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")
+let rl = readline.createInterface({
+input: process.stdin,
+output: process.stdout,
+terminal: true,
+})
-const rl = readline.createInterface({ input: process.stdin, output: process.stdout })
-const question = (texto) => new Promise((resolver) => rl.question(texto, resolver))
+const question = (texto) => {
+rl.clearLine(rl.input, 0)
+return new Promise((resolver) => {
+rl.question(texto, (respuesta) => {
+rl.clearLine(rl.input, 0)
+resolver(respuesta.trim())
+})})
+}
let opcion
+if (methodCodeQR) {
+opcion = '1'
+}
if (!methodCodeQR && !methodCode && !fs.existsSync(`./${authFile}/creds.json`)) {
do {
let lineM = 'โฏ โฏ โฏ โฏ โฏ โฏ โฏ โฏ โฏ โฏ โฏ ใ'
opcion = await question(`โญ${lineM}
โ ${chalk.blueBright('โญโ
โ
โ
โ
โ
โ
โ
โ
โ
โ
โ
โ
โ
โ
โ
')}
-โ ${chalk.blueBright('โ')} ${chalk.blue.bgBlue.bold.cyan('MรTODO DE VINCULACIรN')}
+โ ${chalk.blueBright('โ')} ${chalk.blue.bgBlue.bold.cyan(await tr('MรTODO DE VINCULACIรN'))}
โ ${chalk.blueBright('โฐโ
โ
โ
โ
โ
โ
โ
โ
โ
โ
โ
โ
โ
โ
โ
')}
โ ${chalk.blueBright('โญโ
โ
โ
โ
โ
โ
โ
โ
โ
โ
โ
โ
โ
โ
โ
')}
-โ ${chalk.blueBright('โ')} ${chalk.green.bgMagenta.bold.yellow('ยฟCรMO DESEA CONECTARSE?')}
-โ ${chalk.blueBright('โ')} ${chalk.bold.redBright('โข Opciรณn 1:')} ${chalk.greenBright('Cรณdigo QR.')}
-โ ${chalk.blueBright('โ')} ${chalk.bold.redBright('โข Opciรณn 2:')} ${chalk.greenBright('Cรณdigo de 8 digitos.')}
+โ ${chalk.blueBright('โ')} ${chalk.green.bgMagenta.bold.yellow(await tr('ยฟCรMO DESEA CONECTARSE?'))}
+โ ${chalk.blueBright('โ')} ${chalk.bold.redBright(await tr('โข Opciรณn 1:'))} ${chalk.greenBright(await tr('Cรณdigo QR.'))}
+โ ${chalk.blueBright('โ')} ${chalk.bold.redBright(await tr('โข Opciรณn 2:'))} ${chalk.greenBright(await tr('Cรณdigo de 8 digitos.'))}
โ ${chalk.blueBright('โฐโ
โ
โ
โ
โ
โ
โ
โ
โ
โ
โ
โ
โ
โ
โ
')}
โ ${chalk.blueBright('โญโ
โ
โ
โ
โ
โ
โ
โ
โ
โ
โ
โ
โ
โ
โ
')}
-โ ${chalk.blueBright('โ')} ${chalk.italic.magenta('Escriba sรณlo el nรบmero de')}
-โ ${chalk.blueBright('โ')} ${chalk.italic.magenta('la opciรณn para conectarse.')}
+โ ${chalk.blueBright('โ')} ${chalk.italic.magenta(await tr('Escriba sรณlo el nรบmero de'))}
+โ ${chalk.blueBright('โ')} ${chalk.italic.magenta(await tr('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.")}`))
+console.log(chalk.bold.redBright(await tr(`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`))
}
+console.info = () => {}
const connectionOptions = {
-logger: pino({ level: 'silent' }),
+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,
+browser: opcion == '1' ? ['LoliBot-MD', 'Edge', '20.0.04'] : methodCodeQR ? ['LoliBot-MD', 'Edge', '20.0.04'] : ["Ubuntu", "Chrome", "108.0.5359.125"],
+version: version,
+msgRetryCounterMap,
+markOnlineOnConnect: false,
+generateHighQualityLinkPreview: true,
+syncFullHistory: false,
+};
+
+/*const connectionOptions = {
+logger: pino({ level: 'silent' }),
+printQRInTerminal: opcion == '1' ? true : methodCodeQR ? true : false,
+mobile: MethodMobile,
+auth: {
+creds: state.creds,
+keys: makeCacheableSignalKeyStore(state.keys, Pino({ level: "fatal" }).child({ level: "fatal" })),
+},
+browser: opcion == '1' ? ['LoliBot-MD', 'Edge', '20.0.04'] : methodCodeQR ? ['LoliBot-MD', 'Edge', '20.0.04'] : ["Ubuntu", "Chrome", "20.0.04"],
+version: version,
generateHighQualityLinkPreview: true,
-getMessage: async (clave) => {
-let jid = jidNormalizedUser(clave.remoteJid)
-let msg = await store.loadMessage(jid, clave.id)
-return msg?.message || ""
+markOnlineOnConnect: false,
+syncFullHistory: false,
+msgRetryCounterCache: msgRetryCounterCache,
+userDevicesCache: userDevicesCache,
+defaultQueryTimeoutMs: 60000,
+cachedGroupMetadata: async (jid) => {
+return global.db.data.chats[jid] || {};
},
-msgRetryCounterCache,
-msgRetryCounterMap,
-defaultQueryTimeoutMs: undefined,
-version
+getMessage: async (key) => {
+try {
+let jid = jidNormalizedUser(key.remoteJid);
+let msg = await store.loadMessage(jid, key.id);
+return msg?.message || "";
+} catch {
+return "";
}
+},
+keepAliveIntervalMs: 55000,
+maxIdleTimeMs: 60000,
+};*/
+
+global.conn = makeWASocket(connectionOptions)
-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')
-
+if (!conn.authState.creds.registered) {
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)
-}} 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)."))
-}}}
-
+do {
+phoneNumber = await question(chalk.bgBlack(chalk.bold.greenBright(`\n\nโณ๏ธ ${await tr("Escriba su nรบmero")}\n\n${await tr("Ejemplo")}: 5491168xxxx\n\n\n\n`)))
+phoneNumber = phoneNumber.replace(/\D/g,'')
+if (!phoneNumber.startsWith('+')) {
+phoneNumber = `+${phoneNumber}`
+}
+} while (!await isValidPhoneNumber(phoneNumber))
+rl.close()
+addNumber = phoneNumber.replace(/\D/g, '')
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()
+console.log(chalk.bold.white(chalk.bgMagenta(await tr(`CรDIGO DE VINCULACIรN:`))), chalk.bold.white(chalk.white(codeBot)))
}, 2000)
}}}
+}
conn.isInit = false
conn.well = false
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)}
+setInterval(async () => {
+if (global.db.data) await global.db.save();
+if (opts['autocleartmp'] && (global.support || {}).find) {
+const tmpDirs = [os.tmpdir(), 'tmp', "jadibts"];
+tmpDirs.forEach(dir => {
+cp.spawn('find', [dir, '-amin', '2', '-type', 'f', '-delete']);
+})}}, 30 * 1000)}
if (opts['server']) (await import('./server.js')).default(global.conn, PORT)
+//respaldo de la sesiรณn
+const backupCreds = async () => {
+if (fs.existsSync(credsFile)) {
+fs.copyFileSync(credsFile, backupFile);
+console.log(await tr(`[โ
] Respaldo creado en ${backupFile}`))
+} else {
+console.log(await tr('[โ ] No se encontrรณ el archivo creds.json para respaldar.'))
+}};
+
+const restoreCreds = async () => {
+if (fs.existsSync(credsFile)) {
+fs.copyFileSync(backupFile, credsFile);
+console.log(await tr(`[โ
] creds.json reemplazado desde el respaldo.`))
+} else if (fs.existsSync(backupFile)) {
+fs.copyFileSync(backupFile, credsFile);
+console.log(await tr(`[โ
] creds.json restaurado desde el respaldo.`))
+} else {
+console.log(await tr('[โ ] No se encontrรณ ni el archivo creds.json ni el respaldo.'))
+}};
+
+setInterval(async () => {
+await backupCreds();
+console.log(await tr('[โป๏ธ] Respaldo periรณdico realizado.'))
+}, 5 * 60 * 1000);
async function connectionUpdate(update) {
const {connection, lastDisconnect, isNewLogin} = update
@@ -225,45 +406,42 @@ 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']()))}
-}
+console.log(chalk.cyan(await tr('โ
ESCANEA EL CรDIGO QR EXPIRA EN 45 SEGUNDOS โ
.')))
+}}
if (connection == 'open') {
-console.log(chalk.bold.greenBright(lenguajeGB['smsConexion']()))}
+console.log(chalk.bold.greenBright(`\nโฃโโโโโโโโโโโโโโโโโโโโโโโโโโโโโยทยทยท\nโ\nโโง ${await tr("CONECTADO CORRECTAMENTE AL WHATSAPP")} โ
\nโ\nโฃโโโโโโโโโโโโโโโโโโโโโโโโโโโโโยทยทยท`))
+global.botStartTime = Date.now();
+await joinChannels(conn)
+}
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']()))
+conn.logger.error(`[ โ ] ${await tr("Sesiรณn incorrecta, por favor elimina la carpeta")} ${global.authFile} ${await tr("y escanea nuevamente")}.`);
} else if (reason === DisconnectReason.connectionClosed) {
-console.log(chalk.bold.magentaBright(lenguajeGB['smsConexioncerrar']()))
+conn.logger.warn(`[ โ ] ${await tr("Conexiรณn cerrada, reconectando...")}`);
+restoreCreds();
await global.reloadHandler(true).catch(console.error)
} else if (reason === DisconnectReason.connectionLost) {
-console.log(chalk.bold.blueBright(lenguajeGB['smsConexionperdida']()))
+conn.logger.warn(`[ โ ] ${await tr("Conexiรณn perdida con el servidor, reconectando...")}`);
+restoreCreds();
await global.reloadHandler(true).catch(console.error)
} else if (reason === DisconnectReason.connectionReplaced) {
-console.log(chalk.bold.yellowBright(lenguajeGB['smsConexionreem']()))
+conn.logger.error(`[ โ ] ${await tr("Conexiรณn reemplazada, se ha abierto otra nueva sesiรณn. Por favor, cierra la sesiรณn actual primero.")}`);
} else if (reason === DisconnectReason.loggedOut) {
-console.log(chalk.bold.redBright(lenguajeGB['smsConexionOFF']()))
+conn.logger.error(`[ โ ] ${await tr("Conexion cerrada, por favor elimina la carpeta")} ${global.authFile} ${await tr("y escanea nuevamente")}.`);
await global.reloadHandler(true).catch(console.error)
} else if (reason === DisconnectReason.restartRequired) {
-console.log(chalk.bold.cyanBright(lenguajeGB['smsConexionreinicio']()))
+conn.logger.info(`[ โ ] ${await tr("Reinicio necesario, reinicie el servidor si presenta algรบn problema.")}`);
await global.reloadHandler(true).catch(console.error)
} else if (reason === DisconnectReason.timedOut) {
-console.log(chalk.bold.yellowBright(lenguajeGB['smsConexiontiem']()))
+conn.logger.warn(`[ โ ] ${await tr("Tiempo de conexiรณn agotado, reconectando...")}`);
await global.reloadHandler(true).catch(console.error) //process.send('reset')
} else {
-console.log(chalk.bold.redBright(lenguajeGB['smsConexiondescon'](reason, connection)))
+conn.logger.warn(`[ โ ] ${await tr("Razรณn de desconexiรณn desconocida.")} ${reason || ''}: ${connection || ''}`);
}}}
process.on('uncaughtException', console.error);
-//process.on('uncaughtException', (err) => {
-//console.error('Se ha cerrado la conexiรณn:\n', err)
-//process.send('reset') })
let isInit = true;
let handler = await import('./handler.js');
@@ -272,7 +450,8 @@ try {
const Handler = await import(`./handler.js?update=${Date.now()}`).catch(console.error);
if (Object.keys(Handler || {}).length) handler = Handler;
} catch (e) {
-console.error(e)}
+console.error(e);
+}
if (restatConn) {
const oldChats = global.conn.chats;
try {
@@ -292,16 +471,18 @@ conn.ev.off('connection.update', conn.connectionUpdate);
conn.ev.off('creds.update', conn.credsUpdate);
}
-//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 setWelcomeMessage() {
+conn.welcome = `${await tr("Hola!!")} @user ${await tr("ยฟCOMO ESTAS?")}๐\n\nใ${await tr("Bienvenido A")} *@subject*ใ\n\n${await tr("Un gusto conocerte amig@")} ๐ค\n\n_${await tr("Recuerda leer las reglas del grupo para no tener ningun problema")} ๐ง_\n\n*${await tr("Solo disfrutar de este grupo y divertite")} ๐ฅณ*`
+conn.bye = `${await tr("Bueno, se fue")} @user ๐\n\n${await tr("Que dios lo bendiga")} ๐`
+conn.spromote = 'Hey @user ya forma parte de staff ๐'
+conn.sdemote = 'jajaja @user ya no eres admins'
+conn.sDesc = 'La descripciรณn ha sido cambiada a \n@desc'
+conn.sSubject = 'El nombre del grupo ha sido cambiado a \n@group'
+conn.sIcon = 'El icono del grupo ha sido cambiado'
+conn.sRevoke = 'El enlace del grupo ha sido cambiado a \n@revoke'
+}
+setWelcomeMessage().catch(console.error);
conn.handler = handler.handler.bind(global.conn);
conn.participantsUpdate = handler.participantsUpdate.bind(global.conn);
conn.groupsUpdate = handler.groupsUpdate.bind(global.conn);
@@ -309,7 +490,6 @@ 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);
-
conn.ev.on('messages.upsert', conn.handler);
conn.ev.on('group-participants.update', conn.participantsUpdate);
conn.ev.on('groups.update', conn.groupsUpdate);
@@ -321,7 +501,10 @@ isInit = false
return true
}
-const pluginFolder = global.__dirname(join(__dirname, './plugins/index'));
+//Arranque nativo para subbots
+await startSubBots();
+
+/*const pluginFolder = global.__dirname(join(__dirname, './plugins/index'));
const pluginFilter = (filename) => /\.js$/.test(filename);
global.plugins = {};
async function filesInit() {
@@ -334,6 +517,21 @@ global.plugins[filename] = module.default || module;
conn.logger.error(e);
delete global.plugins[filename];
}}}
+filesInit().then((_) => Object.keys(global.plugins)).catch(console.error)*/
+
+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)
global.reload = async (_ev, filename) => {
@@ -383,6 +581,7 @@ 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);
@@ -396,77 +595,136 @@ const filePath = join(tmpDir, file)
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}`)
-})
-}
+async function purgeSession() {
+const sessionDir = './BotSession';
+try {
+if (!existsSync(sessionDir)) return;
+const files = await readdir(sessionDir);
+const preKeys = files.filter(file => file.startsWith('pre-key-'));
+const now = Date.now();
+const oneHourAgo = now - (24 * 60 * 60 * 1000); //24 horas
+
+for (const file of preKeys) {
+const filePath = join(sessionDir, file);
+const fileStats = await stat(filePath);
+if (fileStats.mtimeMs < oneHourAgo) {
+try {
+await unlink(filePath);
+console.log(chalk.green(`[๐๏ธ] Pre-key ${await tr("antigua eliminada")}: ${file}`));
+} catch (err) {
+//console.error(chalk.red(`[โ ] Error al eliminar pre-key antigua ${file}: ${err.message}`));
+}} else {
+//console.log(chalk.yellow(`[โน๏ธ] Manteniendo pre-key activa: ${file}`));
+}}
+console.log(chalk.cyanBright(`[๐ต] ${await tr("Sesiones no esenciales eliminadas de")} ${global.authFile}`));
+} catch (err) {
+//console.error(chalk.red(`[โ ] Error al limpiar BotSession: ${err.message}`));
+}}
-function purgeSessionSB() {
+async function purgeSessionSB() {
+const jadibtsDir = './jadibts/';
try {
-const listaDirectorios = readdirSync('./jadibts/');
+if (!existsSync(jadibtsDir)) return;
+const directories = await readdir(jadibtsDir);
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}`)
-}})
-}})
+const now = Date.now();
+const oneHourAgo = now - (24 * 60 * 60 * 1000); //24 horas
+
+for (const dir of directories) {
+const dirPath = join(jadibtsDir, dir);
+const stats = await stat(dirPath);
+if (stats.isDirectory()) {
+const files = await readdir(dirPath);
+const preKeys = files.filter(file => file.startsWith('pre-key-') && file !== 'creds.json');
+SBprekey = [...SBprekey, ...preKeys];
+for (const file of preKeys) {
+const filePath = join(dirPath, file);
+const fileStats = await stat(filePath);
+if (fileStats.mtimeMs < oneHourAgo) {
+try {
+await unlink(filePath);
+console.log(chalk.green(`[๐๏ธ] Pre-key antigua eliminada de sub-bot ${dir}: ${file}`));
+} catch (err) {
+//console.error(chalk.red(`[โ ] Error al eliminar pre-key antigua ${file} en ${dir}: ${err.message}`));
+}} else {
+//console.log(chalk.yellow(`[โน๏ธ] Manteniendo pre-key activa en sub-bot ${dir}: ${file}`));
+}}}}
if (SBprekey.length === 0) {
-console.log(chalk.bold.green(lenguajeGB.smspurgeSessionSB1()))
+//console.log(chalk.green(`[โน๏ธ] No se encontraron pre-keys en sub-bots.`));
} else {
-console.log(chalk.bold.cyanBright(lenguajeGB.smspurgeSessionSB2()))
+console.log(chalk.cyanBright(`[๐ต] Pre-keys antiguas eliminadas de sub-bots: ${SBprekey.length}`));
}} catch (err) {
-console.log(chalk.bold.red(lenguajeGB.smspurgeSessionSB3() + err))
+//console.error(chalk.red(`[โ ] Error al limpiar sub-bots: ${err.message}`));
}}
-function purgeOldFiles() {
-const directories = ['./BotSession/', './jadibts/']
-directories.forEach(dir => {
-readdirSync(dir, (err, files) => {
-if (err) throw err
-files.forEach(file => {
+async function purgeOldFiles() {
+const directories = ['./BotSession/', './jadibts/'];
+for (const dir of directories) {
+try {
+if (!fs.existsSync(dir)) {
+console.log(chalk.yellow(`[โ ] Carpeta no existe: ${dir}`));
+continue;
+}
+const files = await fsPromises.readdir(dir);
+for (const file of files) {
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
+const filePath = join(dir, file);
+try {
+await fsPromises.unlink(filePath);
+//console.log(chalk.green(`[๐๏ธ] Archivo residual eliminado: ${file} en ${dir}`));
+} catch (err) {
+//console.error(chalk.red(`[โ ] Error al eliminar ${file} en ${dir}: ${err.message}`));
+}}}
+} catch (err) {
+//console.error(chalk.red(`[โ ] Error al limpiar ${dir}: ${err.message}`));
+}}
+//console.log(chalk.cyanBright(`[๐ ] Archivos residuales eliminados de ${directories.join(', ')}`));
+}
-setInterval(async () => {
-await purgeSession()
-console.log(chalk.bold.cyanBright(lenguajeGB.smspurgeSession()))}, 1000 * 60 * 10) // 10 min
+function redefineConsoleMethod(methodName, filterStrings) {
+const originalConsoleMethod = console[methodName]
+console[methodName] = function() {
+const message = arguments[0]
+if (typeof message === 'string' && filterStrings.some(filterString => message.includes(atob(filterString)))) {
+arguments[0] = ""
+}
+originalConsoleMethod.apply(console, arguments)
+}}
setInterval(async () => {
-await purgeSessionSB()}, 1000 * 60 * 10)
+if (stopped === 'close' || !conn || !conn.user) return;
+ await clearTmp();
+ console.log(chalk.cyan(`โโโโโโโโชปโป๏ธ AUTO-CLEAR ๐๏ธโชผโโโโโโโข\nโโ ${await tr("ARCHIVOS DE LA CARPETA TMP ELIMINADOS")}\nโโโโโโโโโโโโโโโโโโโโโโโโโโโโโข`));
+}, 1000 * 60 * 3); //3 min
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)
+ if (stopped === 'close' || !conn || !conn.user) return;
+ await purgeSessionSB();
+ await purgeSession();
+ console.log(chalk.bold.cyanBright(`\nโญยป ๐ต ${global.authFile} ๐ต\nโโ ${await tr("SESIONES NO ESENCIALES ELIMINADAS")}\nโฐโ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ ๐๏ธโป๏ธ`));
+ await purgeOldFiles();
+ console.log(chalk.bold.cyanBright(`\nโญยป ๐ ARCHIVOS ๐ \nโโ ${await tr("ARCHIVOS RESIDUALES ELIMINADAS")}\nโฐโ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ ๐๏ธโป๏ธ`));
+}, 1000 * 60 * 10); //10 min
+
+_quickTest().then(() => conn.logger.info('ฦแดสษขแดษดแด
แด๏ผ๏ผ๏ผ.\n'))
+.catch(console.error)
+
+async function isValidPhoneNumber(number) {
+try {
+number = number.replace(/\s+/g, '')
+// Si el nรบmero empieza con '+521' o '+52 1', quitar el '1'
+if (number.startsWith('+521')) {
+number = number.replace('+521', '+52'); // Cambiar +521 a +52
+} else if (number.startsWith('+52') && number[4] === '1') {
+number = number.replace('+52 1', '+52'); // Cambiar +52 1 a +52
+}
+const parsedNumber = phoneUtil.parseAndKeepRawInput(number)
+return phoneUtil.isValidNumber(parsedNumber)
+} catch (error) {
+return false
+}}
-let file = fileURLToPath(import.meta.url)
-watchFile(file, () => {
-unwatchFile(file)
-console.log(chalk.bold.greenBright(lenguajeGB['smsMainBot']().trim()))
-import(`${file}?update=${Date.now()}`)
-})
+async function joinChannels(conn) {
+for (const channelId of Object.values(global.ch)) {
+await conn.newsletterFollow(channelId).catch(() => {})
+}}
\ No newline at end of file
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..9dc84182a 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
-"name": "The-LoliBot-MD",
-"version": "1.5.5",
+"name": "LoliBot-MD",
+"version": "1.9.8",
"description": "Super Bot WhatsApp",
"main": "index.js",
"type": "module",
@@ -17,80 +17,79 @@
"test": "node test.js",
"test2": "nodemon index.js" },
-"homepage": "https://github.com/elrebelde21/The-LoliBot-MD",
+"homepage": "https://github.com/elrebelde21/LoliBot-MD",
"author": {
"name": "elrebelde21" },
"repository": {
"type": "git",
-"url": "git+https://github.com/elrebelde21/The-LoliBot-MD.git" },
+"url": "git+https://github.com/elrebelde21/LoliBot-MD.git" },
"bugs": {
-"url": "https://github.com/elrebelde21/The-LoliBot-MD/issues" },
+"url": "https://github.com/elrebelde21/LoliBot-MD/issues" },
"license": "GPL-3.0-or-later",
"dependencies": {
-"@whiskeysockets/baileys": "^6.5.0",
+"@whiskeysockets/baileys": "github:elrebelde21/baileys",
"@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",
+"@bochilteam/scraper": "^5.0.1",
"@vitalets/google-translate-api": "^8.0.0",
-"@xct007/frieren-scraper": "^0.0.2",
+"awesome-phonenumber": "^3.4.0",
+"axios": "^1.7.9",
+"hispamemes": "^1.0.7",
+"archiver": "^7.0.1",
"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",
+"form-data": "^4.0.0",
+"cfonts": "^3.3.0",
+"chalk": "^5.4.1",
+"url-file-size": "^1.0.5-1",
+"cheerio": "1.0.0-rc.12",
"colors": "1.4.0",
-"express": "^4.17.3",
-"fb-downloader-scrapper": "^1.0.1",
-"file-type": "^17.1.1",
+"express": "^4.18.1",
+"file-type": "^18.0.0",
"fluent-ffmpeg": "^2.1.2",
-"formdata-node": "^4.3.2",
-"fs": "^0.0.1-security",
-"hispamemes": "^1.0.7",
+"formdata-node": "^5.0.0",
+"@shineiichijo/marika": "^2.0.6",
+"google-libphonenumber": "3.2.38",
"human-readable": "^0.2.1",
-"imagemaker.js": "^2.0.4",
-"instagram-url-direct": "^1.0.12",
-"jsdom": "^19.0.0",
+"jsdom": "^20.0.1",
+"axios-cookiejar-support": "^5.0.5",
+"@seald-io/nedb": "^4.1.1",
+"node-os-utils": "^1.3.6",
+"club-atticus": "1.1.3",
"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",
+"mongoose": "^6.6.5",
+"node-cache": "^5.1.2",
+"node-fetch": "^3.2.10",
"node-gtts": "^2.0.2",
-"node-webpmux": "^3.1.1",
-"node-os-utils": "^1.3.6",
-"openai": "^3.3.0",
-"pdfkit": "^0.13.0",
+"node-webpmux": "^3.1.3",
"perf_hooks": "^0.0.1",
-"pino": "^7.8.0",
-"pino-pretty": "^7.5.1",
-"qrcode": "^1.5.0",
+"pino": "^8.6.1",
+"pino-pretty": "^9.1.1",
+"qrcode": "^1.5.1",
"qrcode-terminal": "^0.12.0",
"readline": "^1.3.0",
"similarity": "^1.2.1",
-"socket.io": "^4.4.1",
-"spotifydl-x": "^0.3.5",
+"g-i-s": "^2.1.6",
+"socket.io": "^4.5.2",
"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"
+"emoji-api": "^2.0.1",
+"translate-google-api": "^1.0.4",
+"yt-search": "^2.12.1",
+"openai": "^3.3.0",
+"megajs": "^1.1.3",
+"mime-types": "^2.1.35",
+"fuzzysort": "^1.0.0",
+"api-dylux": "^1.8.3",
+"diskusage": "^1.2.0",
+"yargs": "^17.6.0",
+"@hiudyy/ytdl": "^0.2.3",
+"ytdl-core": "latest"
},
-"devDependencies": {
-"eslint": "^8.45.0",
-"eslint-config-google": "^0.14.0"
+"optionalDependencies": {
+"wa-sticker-formatter": "^4.3.2",
+"moment-timezone": "^0.5.37"
}}
diff --git a/plugins/_allantilink.js b/plugins/_allantilink.js
index 643d0bf7f..667666ae1 100644
--- a/plugins/_allantilink.js
+++ b/plugins/_allantilink.js
@@ -1,15 +1,20 @@
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
+const isLinkTw = /twitter.com|x.com/i
+const isLinkDc = /discord.com|discord.gg/i
+const isLinkTh = /threads.net/i
+const isLinkTch = /twitch.tv/i
+
+let handler = m => m
+handler.before = async function (m, { conn, isAdmin, isBotAdmin, isOwner, isROwner }) {
+if (!m.isGroup) return
+if (!isAdmin || !isOwner || !isROwner || m.fromMe || !isBotAdmin) return
-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
@@ -23,72 +28,91 @@ const isAntiLinkTel = isLinkTel.exec(m.text)
const isAntiLinkFb = isLinkFb.exec(m.text)
const isAntiLinkIg = isLinkIg.exec(m.text)
const isAntiLinkTw = isLinkTw.exec(m.text)
+const isAntiLinkDc = isLinkDc.exec(m.text)
+const isAntiLinkTh = isLinkTh.exec(m.text)
+const isAntiLinkTch = isLinkTch.exec(m.text)
if (chat.antiTiktok && isAntiLinkTik) {
-if (isBotAdmin && bot.restrict) {
-await conn.reply(m.chat, `${lenguajeGB['smsAvisoAG']()}${lenguajeGB['smsEnlaceTik']()} *@${toUser}*`, null, { mentions: [aa] })
+//if (chat.delete) return //conn.sendMessage(m.chat, { text: mid.mAdvertencia + mid.mAntiDelete }, { quoted: m })
+if (isBotAdmin) {
+await conn.reply(m.chat, `*ใ ${await tr("ANTILINK DETECTADO")} ใ*\n@${toUser} ๐คจ ${await tr("Rompiste las reglas del Grupo sera eliminado....")}`, 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']()}`)
+let remove = await conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove')
+if (remove[0].status === '404') return
}}
if (chat.antiYoutube && isAntiLinkYt) {
-if (isBotAdmin && bot.restrict) {
-await conn.reply(m.chat, `${lenguajeGB['smsAvisoAG']()}${lenguajeGB['smsEnlaceYt']()} *@${toUser}*`, null, { mentions: [aa] })
+//if (chat.delete) return //conn.sendMessage(m.chat, { text: mid.mAdvertencia + mid.mAntiDelete }, { quoted: m })
+if (isBotAdmin) {
+await conn.reply(m.chat, `*ใ ${await tr("ANTILINK DETECTADO")} ใ*\n@${toUser} ๐คจ ${await tr("Rompiste las reglas del Grupo sera eliminado....")}`, 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']()}`)
-}}
+let remove = await conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove')
+if (remove[0].status === '404') return
+}}
if (chat.antiTelegram && isAntiLinkTel) {
-if (isBotAdmin && bot.restrict) {
-await conn.reply(m.chat, `${lenguajeGB['smsAvisoAG']()}${lenguajeGB['smsEnlaceTel']()} *@${toUser}*`, null, { mentions: [aa] })
+//if (chat.delete) return //conn.sendMessage(m.chat, { text: mid.mAdvertencia + mid.mAntiDelete }, { quoted: m })
+if (isBotAdmin) {
+await conn.reply(m.chat, `*ใ ${await tr("ANTILINK DETECTADO")} ใ*\n@${toUser} ๐คจ ${await tr("Rompiste las reglas del Grupo sera eliminado....")}`, 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']()}`)
-}}
+let remove = await conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove')
+if (remove[0].status === '404') return
+}}
if (chat.antiFacebook && isAntiLinkFb) {
-if (isBotAdmin && bot.restrict) {
-await conn.reply(m.chat, `${lenguajeGB['smsAvisoAG']()}${lenguajeGB['smsEnlaceFb']()} *@${toUser}*`, null, { mentions: [aa] })
+//if (chat.delete) return //conn.sendMessage(m.chat, { text: mid.mAdvertencia + mid.mAntiDelete }, { quoted: m })
+if (isBotAdmin) {
+await conn.reply(m.chat, `*ใ ${await tr("ANTILINK DETECTADO")} ใ*\n@${toUser} ๐คจ ${await tr("Rompiste las reglas del Grupo sera eliminado....")}`, 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']()}`)
-}}
+let remove = await conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove')
+if (remove[0].status === '404') return
+}}
if (chat.antiInstagram && isAntiLinkIg) {
-if (isBotAdmin && bot.restrict) {
-await conn.reply(m.chat, `${lenguajeGB['smsAvisoAG']()}${lenguajeGB['smsEnlaceIg']()} *@${toUser}*`, null, { mentions: [aa] })
+//if (chat.delete) return //conn.sendMessage(m.chat, { text: mid.mAdvertencia + mid.mAntiDelete }, { quoted: m })
+if (isBotAdmin) {
+await conn.reply(m.chat, `*ใ ${await tr("ANTILINK DETECTADO")} ใ*\n@${toUser} ๐คจ ${await tr("Rompiste las reglas del Grupo sera eliminado....")}`, 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']()}`)
+let remove = await conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove')
+if (remove[0].status === '404') return
}}
if (chat.antiTwitter && isAntiLinkTw) {
-if (isBotAdmin && bot.restrict) {
-await conn.reply(m.chat, `${lenguajeGB['smsAvisoAG']()}${lenguajeGB['smsEnlaceTw']()} *@${toUser}*`, null, { mentions: [aa] })
+//if (chat.delete) return //conn.sendMessage(m.chat, { text: mid.mAdvertencia + mid.mAntiDelete }, { quoted: m })
+if (isBotAdmin) {
+await conn.reply(m.chat, `*ใ ${await tr("ANTILINK DETECTADO")} ใ*\n@${toUser} ๐คจ ${await tr("Rompiste las reglas del Grupo sera eliminado....")}`, null, { mentions: [aa] })
+await conn.sendMessage(m.chat, { delete: { remoteJid: m.chat, fromMe: false, id: bang, participant: delet }})
+let remove = await conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove')
+if (remove[0].status === '404') return
+}}
+
+if (chat.antiDiscord && isAntiLinkDc) {
+//if (chat.delete) return //conn.sendMessage(m.chat, { text: mid.mAdvertencia + mid.mAntiDelete }, { quoted: m })
+if (isBotAdmin) {
+await conn.reply(m.chat, `*ใ ${await tr("ANTILINK DETECTADO")} ใ*\n@${toUser} ๐คจ ${await tr("Rompiste las reglas del Grupo sera eliminado....")}`, 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']()}`)
+let remove = await conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove')
+if (remove[0].status === '404') return
}}
+
+if (chat.antiThreads && isAntiLinkTh) {
+//if (chat.delete) return conn.sendMessage(m.chat, { text: mid.mAdvertencia + mid.mAntiDelete }, { quoted: m })
+if (isBotAdmin) {
+await conn.reply(m.chat, `*ใ ${await tr("ANTILINK DETECTADO")} ใ*\n@${toUser} ๐คจ ${await tr("Rompiste las reglas del Grupo sera eliminado....")}`, null, { mentions: [aa] })
+await conn.sendMessage(m.chat, { delete: { remoteJid: m.chat, fromMe: false, id: bang, participant: delet }})
+let remove = await conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove')
+if (remove[0].status === '404') return
+}}
+
+if (chat.antiTwitch && isAntiLinkTch) {
+//if (chat.delete) return conn.sendMessage(m.chat, { text: mid.mAdvertencia + mid.mAntiDelete }, { quoted: m })
+if (isBotAdmin) {
+await conn.reply(m.chat, `*ใ ${await tr("ANTILINK DETECTADO")} ใ*\n@${toUser} ๐คจ ${await tr("Rompiste las reglas del Grupo sera eliminado....")}`, null, { mentions: [aa] })
+await conn.sendMessage(m.chat, { delete: { remoteJid: m.chat, fromMe: false, id: bang, participant: delet }})
+let remove = await conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove')
+if (remove[0].status === '404') return
+}}
+
return !0
}
-
+export default handler
diff --git a/plugins/_antiArabe.js b/plugins/_antiArabe.js
new file mode 100644
index 000000000..f6a264954
--- /dev/null
+++ b/plugins/_antiArabe.js
@@ -0,0 +1,33 @@
+let handler = m => m;
+
+handler.before = async function (m, { conn }) {
+const prefijosProhibidos = ['91', '92', '222', '93', '265', '61', '62', '966', '229', '40', '49', '20', '963', '967', '234', '210', '249', '212'];
+const bot = global.db.data.settings[conn.user.jid] || {};
+const senderNumber = m.sender.split('@')[0];
+const user = global.db.data.users[m.sender]
+const text = (m.text || '').toLowerCase();
+
+if (["120363297379773397@newsletter", "120363355261011910@newsletter"].includes(m.chat)) return;
+if (m.fromMe) return;
+if (!bot.anticommand) return;
+
+const allowedCommands = ['piedra', 'papel', 'tijera', 'menu', 'estado', 'bots', 'serbot', 'jadibot', 'code'];
+if (allowedCommands.some(cmd => text.includes(cmd))) {
+if (user.banned && m.text.includes('PIEDRA') || m.text.includes('PAPEL') || m.text.includes('TIJERA') || m.text.includes('code') || m.text.includes('estado') || m.text.includes('bots') || m.text.includes('serbot') || m.text.includes('jadibot')) {
+user.banned = false;
+}
+return !0;
+}
+
+if (user.banned) return !1;
+const esProhibido = prefijosProhibidos.some(prefijo => senderNumber.startsWith(prefijo));
+if (esProhibido) {
+user.banned = true;
+console.log(`โ ๏ธ Usuarios baneado ${m.sender}`)
+//await conn.reply(m.chat, `โ ๏ธ @${m.sender.split`@`[0]} ha sido baneado.\nPor orden de mi owner no puedes usar el bot.\n\nPARA USAR EL BOT HAZTE UN SUB BOT CON:\n/jadibot\n\nโ ๏ธ \`\`\`Serรกs Baneados\`\`\` โ ๏ธ`, m, { mentions: [m.sender] });
+return !1;
+}
+return !0;
+};
+
+export default handler;
diff --git a/plugins/_antifakes.js b/plugins/_antifakes.js
index 2df678670..feb1938db 100644
--- a/plugins/_antifakes.js
+++ b/plugins/_antifakes.js
@@ -1,121 +1,28 @@
-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
-}
+let handler = m => m;
-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
+handler.before = async function (m, { conn, isAdmin, isBotAdmin, isOwner, isROwner }) {
+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) {
+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" };
+
+const prefijosProhibidos = ['91', '92', '222', '93', '265', '61', '249', '62', '966', '229', '40', '49', '20', '963', '967', '234', '210', '249', ,'212'];
+
+const senderNumber = m.sender.split('@')[0];
+if (prefijosProhibidos.some(prefijo => senderNumber.startsWith(prefijo))) {
+if (chat.detect) return;
+let texto = `*@${senderNumber}* ${await tr("En este grupo no estรก permitido el uso de nรบmeros con prefijos prohibidos, serรก expulsado...")}`;
+
+try {
+await conn.reply(m.chat, texto, fkontak, m);
+let response = await conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove');
+if (response[0].status === "404") return;
+} catch (error) {
+console.error(`Error al expulsar a ${senderNumber}:`, error);
+}}}
+return !0;
+};
+
+export default handler;
diff --git a/plugins/_antilink.js b/plugins/_antilink.js
index e3ab6629d..661c18cad 100644
--- a/plugins/_antilink.js
+++ b/plugins/_antilink.js
@@ -1,28 +1,32 @@
-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
+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, isAdmin, isBotAdmin, isOwner, isROwner, participants }) {
+if (!m.isGroup) return
+if (isAdmin || isOwner || m.fromMe || isROwner) return
+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 ๐!*')
+const groupAdmins = participants.filter(p => p.admin);
+const listAdmin = groupAdmins.map((v, i) => `*ยป ${i + 1}. @${v.id.split('@')[0]}*`).join('\n');
+let bot = global.db.data.settings[this.user.jid] || {};
+const isGroupLink = linkRegex1.exec(m.text) || linkRegex2.exec(m.text);
+const grupo = `https://chat.whatsapp.com`;
+if (isAdmin && chat.antiLink && m.text.includes(grupo)) return m.reply(await tr('*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*')
+const linkThisGroup = `https://chat.whatsapp.com/${await this.groupInviteCode(m.chat)}`;
+if (m.text.includes(linkThisGroup)) return !0;
+}
+conn.sendMessage(m.chat, { text: `*ใ ${await tr("ANTILINK DETECTADO")} ใ*\n\n${user} ๐คจ ${await tr("Rompiste las reglas del Grupo sera eliminado....")}`, mentions: [m.sender] }, { quoted: m, ephemeralExpiration: 24*60*100, disappearingMessagesInChat: 24*60*100 });
+if (!isBotAdmin) return conn.sendMessage(m.chat, { text: await tr(`*Te salvarte gil, no soy admin no te puedo eliminar*`), mentions: [...groupAdmins.map(v => v.id)] }, { quoted: m });
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('*๐๐ก ๐ฅ๐ง๐ค๐ฅ๐๐๐ฉ๐๐ง๐๐ค ๐๐๐ก ๐๐ค๐ฉ ๐ฃ๐ค ๐ฉ๐๐๐ฃ๐ ๐๐๐ฉ๐๐ซ๐๐๐ค ๐๐ก ๐ง๐๐จ๐ฉ๐ง๐๐๐๐๐ค๐ฃ (๐๐ฃ๐๐๐ก๐ ๐ง๐๐จ๐ฉ๐ง๐๐๐ฉ) ๐๐ค๐ฃ๐ฉ๐๐๐ฉ๐ ๐๐ค๐ฃ ๐๐ก ๐ฅ๐๐ง๐ ๐ฆ๐ช๐ ๐ก๐ค๐จ ๐๐๐๐๐ก๐๐ฉ๐*')
+conn.sendMessage(m.chat, { delete: { remoteJid: m.chat, fromMe: false, id: bang, participant: delet } });
+let responseb = conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove');
+if (responseb[0].status === "404") return;
+}} else if (!bot.restrict) {
+//return m.reply('*๐๐ก ๐ฅ๐ง๐ค๐ฅ๐๐๐ฉ๐๐ง๐๐ค ๐๐๐ก ๐๐ค๐ฉ ๐ฃ๐ค ๐ฉ๐๐๐ฃ๐ ๐๐๐ฉ๐๐ซ๐๐๐ค ๐๐ก ๐ง๐๐จ๐ฉ๐ง๐๐๐๐๐ค๐ฃ (๐๐ฃ๐๐๐ก๐ ๐ง๐๐จ๐ฉ๐ง๐๐๐ฉ) ๐๐ค๐ฃ๐ฉ๐๐๐ฉ๐ ๐๐ค๐ฃ ๐๐ก ๐ฅ๐๐ง๐ ๐ฆ๐ช๐ ๐ก๐ค๐จ ๐๐๐๐๐ก๐๐ฉ๐*');
}
-return !0
+return !0;
}
diff --git a/plugins/_antilink2.js b/plugins/_antilink2.js
index e9d2470cf..d8a000a6a 100644
--- a/plugins/_antilink2.js
+++ b/plugins/_antilink2.js
@@ -18,14 +18,13 @@ 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*')
+await conn.sendMessage(m.chat, { text: `*ใ ${await tr("ANTILINK DETECTADO")} ใ*\n\n${user} ๐คจ ${await tr("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(await tr(`*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('*๐๐ก ๐ฅ๐ง๐ค๐ฅ๐๐๐ฉ๐๐ง๐๐ค ๐๐๐ก ๐๐ค๐ฉ ๐ฃ๐ค ๐ฉ๐๐๐ฃ๐ ๐๐๐ฉ๐๐ซ๐๐๐ค ๐๐ก ๐ง๐๐จ๐ฉ๐ง๐๐๐๐๐คฬ๐ฃ (๐๐ฃ๐๐๐ก๐ ๐ง๐๐จ๐ฉ๐ง๐๐๐ฉ) ๐๐ค๐ฃ๐ฉ๐๐๐ฉ๐ ๐๐ค๐ฃ ๐๐ก ๐ฅ๐๐ง๐ ๐ฆ๐ช๐ ๐ก๐ค๐จ ๐๐๐๐๐ก๐๐ฉ๐*')
+} else if (!bot.restrict) return //m.reply('*๐๐ก ๐ฅ๐ง๐ค๐ฅ๐๐๐ฉ๐๐ง๐๐ค ๐๐๐ก ๐๐ค๐ฉ ๐ฃ๐ค ๐ฉ๐๐๐ฃ๐ ๐๐๐ฉ๐๐ซ๐๐๐ค ๐๐ก ๐ง๐๐จ๐ฉ๐ง๐๐๐๐๐คฬ๐ฃ (๐๐ฃ๐๐๐ก๐ ๐ง๐๐จ๐ฉ๐ง๐๐๐ฉ) ๐๐ค๐ฃ๐ฉ๐๐๐ฉ๐ ๐๐ค๐ฃ ๐๐ก ๐ฅ๐๐ง๐ ๐ฆ๐ช๐ ๐ก๐ค๐จ ๐๐๐๐๐ก๐๐ฉ๐*')
}
return !0
-}
+}
diff --git a/plugins/_antiprivado.js b/plugins/_antiprivado.js
index 458b8ec00..60d7ff5e4 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
+import ws from 'ws';
+export async function before(m, { conn, isAdmin, isBotAdmin, isOwner, isROwner }) {
+let chat = global.db.data.chats[m.chat]
+let user = global.db.data.users[m.sender] || {};
+let setting = global.db.data.settings[this.user.jid]
+const settingsREAD = global.db.data.settings[this.user.jid] || {}
+let prefixRegex = new RegExp('^[' + setting.prefix.replace(/[|\\{}()[\]^$+*.\-\^]/g, '\\$&') + ']');
+const users = [...new Set([...global.conns.filter((conn) => conn.user && conn.ws.socket && conn.ws.socket.readyState !== ws.CLOSED).map((conn) => conn)])];
+const participants = m.isGroup ? (await conn.groupMetadata(m.chat)).participants : [];
+const mainBotInGroup = participants.some(p => p.id === global.conn.user.jid);
+const primaryBot = chat.primaryBot;
+const primaryBotConnected = users.some(conn => conn.user.jid === primaryBot);
+const primaryBotInGroup = participants.some(p => p.id === primaryBot);
+
+if (!global.db.data.users[m.sender]) global.db.data.users[m.sender] = {};
+if (!global.db.data.users[m.sender].mensaje) global.db.data.users[m.sender].mensaje = {};
+if (!global.db.data.users[m.sender].mensaje[m.chat]) global.db.data.users[m.sender].mensaje[m.chat] = 0;
+global.db.data.users[m.sender].mensaje[m.chat]++;
+
+if (m.isGroup) {
+if (primaryBot) {
+if (primaryBotConnected && primaryBotInGroup) {
+if (this.user.jid !== primaryBot) throw !1;
+}
+else if (mainBotInGroup) {
+if (this.user.jid !== global.conn.user.jid) throw !1;
+}}}
-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 (m.fromMe) return
+if (m.isGroup) return !1
+if (!m.message) return !0
+if (["120363297379773397@newsletter", "120363355261011910@newsletter"].includes(m.chat)) return;
+if (m.text.includes('PIEDRA') || m.text.includes('PAPEL') || m.text.includes('TIJERA') || m.text.includes('menu') || m.text.includes('estado') || m.text.includes('code') || m.text.includes('Code') || m.text.includes('bots') || m.text.includes('serbot') || m.text.includes('jadibot') || m.text.includes('reg') || m.text.includes('verificar') || m.text.includes('Serbot') || m.text.includes('Jadibot') || m.text.includes('jadibot code') || m.text.includes('serbot code') || m.text.includes('jadibot --code') || m.text.includes('serbot --code')) return !0
+if (!user.warnPv) user.warnPv = false;
-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')
+if (setting.antiPrivate && !isOwner && !isROwner) {
+if (user.warnPv) {
+console.log(`[AntiPrivate]`);
+throw !0;
}
-user.counterPrivate++
+
+if (!user.warnPv) {
+m.reply(`${await tr("Hola, estรก prohibido usar los comandos en privado...")}\n\n*\`๐ฐ ${await tr("SI QUIERES HACERTE UN SUB BOT, USA LOS SIGUIENTES COMANDOS:")}\`*\n/serbot\n/code\n\n> _*${await tr("Para usar mis funciones, รบnete al grupo oficial")} ๐*_\n${[nn, nnn, nnnt, nnntt, nnnttt].getRandom()}`);
+user.warnPv = true;
+throw !0;
+}}
+
+if (m.text && prefixRegex.test(m.text)) {
+this.sendPresenceUpdate('composing', m.chat)
+this.readMessages([m.key])
+
+let usedPrefix = m.text.match(prefixRegex)[0]
+let command = m.text.slice(usedPrefix.length).trim().split(' ')[0]
}
-return !1
}
-
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
index d626c493c..9d1436d33 100644
--- a/plugins/_antitrabas.js
+++ b/plugins/_antitrabas.js
@@ -1,32 +1,31 @@
-//
-//By @NeKosmic || https://github.com/NeKosmic/
-//
+//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
+if (!m.fromMe) return !0
+if (!m.isGroup) return !1
+m.isBot = m.id.startsWith('BAE5') && m.id.length === 16 || m.id.startsWith('3EB0') && m.id.length === 12 || m.id.startsWith('3EB0') && (m.id.length === 20 || m.id.length === 22) || m.id.startsWith('B24E') && m.id.length === 20;
+if (m.isBot) return
+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 > 6000) { //Cantidad mรกxima de caracteres aceptados en un mensaje//
+if (isAdmin) return conn.sendMessage(m.chat, { text: `โ ๏ธ ${await tr("El administrador")} @${m.sender.split("@")[0]} ${await tr("acaba de enviar un texto que contiene muchos caracteres")} -.-!`, mentions: [m.sender] }, { quoted: fakemek })
+await conn.fakeReply(m.chat, `*[ ! ] ${await tr("Se detecto un mensaje que contiene muchos caracteres")} [ ! ]*`, '0@s.whatsapp.net', `${isBotAdmin ? await tr('Todavia existe la lergionVirgo? ๐คฃ') : await tr('No soy administrador, no puedo hacer nada :/')}`, 'status@broadcast', null, fake)
+//await conn.sendButton(m.chat, `*[ ! ] Se detecto un mensaje que contiene muchos caracteres [ ! ]*\n`, `${isBotAdmin ? '' : 'No soy administrador, no puedo hacer nada :/'}`, null, [['แด
แดsแดแดแดษชแด แด แดษดแดษชแดสแดสแด', `/disable antitraba`]], null, null, m)
+if (isBotAdmin) {
+conn.sendMessage(m.chat, { delete: { remoteJid: m.chat, fromMe: false, id: bang, participant: delet }})
+setTimeout(() => {
+conn.fakeReply(m.chat, `${tr("Marcar el chat como leido")} โ\n${"\n".repeat(400)}\nโข ${tr("numero")} : wa.me/${m.sender.split("@")[0]}\nโข ${tr("Alias")} : ${name}\nโผ๏ธ ${tr("Acaba de enviar un texto que contiene muchos caracteres que puede ocasionar fallos en los dispositivos")}`, '0@s.whatsapp.net', `${tr("Todavia existe la lergionVirgo?")} ๐คฃ, ${tr("sera expulsando aca no queremos rata")} ๐`, 'status@broadcast', null, fake)
+//conn.sendMessage(m.chat, { text: `Marcar el chat como leido โ\n${"\n".repeat(400)}\nโข El nรบmero : wa.me/${m.sender.split("@")[0]}\nโข Alias : ${name}\nโผ๏ธAcaba de enviar un texto que contiene muchos caracteres que puede ocasionar fallos en los dispositivos`, mentions: [m.sender] }, { quoted: fakemek })
+}, 0)
+setTimeout(() => {
+conn.groupParticipantsUpdate(m.chat, [m.sender], 'remove')
+}, 1000)} else if (!bot.restrict) return m.reply(`Este comando esta desactivado por mi jefe`)
+}
+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/_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
index 5a6def4e1..8eba264b3 100644
--- a/plugins/_autodetec.js
+++ b/plugins/_autodetec.js
@@ -1,27 +1,181 @@
let WAMessageStubType = (await import(global.baileys)).default
-export async function before(m, { conn, participants}) {
+import { readdirSync, unlinkSync, existsSync, promises as fs, rmSync } from 'fs';
+import path from 'path';
+export async function before(m, { conn, participants, groupMetadata}) {
if (!m.messageStubType || !m.isGroup) return
-let usuario = `@${m.sender.split`@`[0]}`
+let pp = await conn.profilePictureUrl(m.messageStubParameters[0], 'image').catch(_ => 'https://telegra.ph/file/2a1d71ab744b55b28f1ae.jpg')
+let img = await (await fetch(`${pp}`)).buffer()
+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 chat = global.db.data.chats[m.chat]
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) {
+const groupAdmins = participants.filter(p => p.admin)
+const listAdmin = groupAdmins.map((v, i) => `*ยป ${i + 1}. @${v.id.split('@')[0]}*`).join('\n')
+
+/*if (chat.detect && m.messageStubType == 2) {
+const chatId = m.isGroup ? m.chat : m.sender;
+const uniqid = chatId.split('@')[0];
+const sessionPath = './BotSession/';
+const files = await fs.readdir(sessionPath);
+let filesDeleted = 0;
+for (const file of files) {
+if (file.includes(uniqid)) {
+await fs.unlink(path.join(sessionPath, file));
+filesDeleted++;
+console.log(`โ ๏ธ Eliminacion session (PreKey) que provocan el undefined el chat`)}}
+
+} else*/ if (chat.detect && m.messageStubType == 21) {
+await this.sendMessage(m.chat, { text: `${usuario} \`${await tr("HAS CAMBIADO EL NOMBRE DEL GRUPO A")}:\`\n\n> *${m.messageStubParameters[0]}*`, mentions: [m.sender], mentions: [...groupAdmins.map(v => v.id)] }, { quoted: fkontak, ephemeralExpiration: 24*60*100, disappearingMessagesInChat: 24*60*100})
+} else if (chat.detect && m.messageStubType == 22) {
+await this.sendMessage(m.chat, { text: `${usuario} \`${await tr("HAS CAMBIADO LAS FOTO DEL GRUPO")}\``, mentions: [m.sender] }, { quoted: fkontak, ephemeralExpiration: 24*60*100, disappearingMessagesInChat: 24*60*100})
+} else if (chat.detect && m.messageStubType == 24) {
+await this.sendMessage(m.chat, { text: `${usuario} ${await tr("NUEVA DESCRIPCIรN DEL GRUPO ES ")}:\n\n${m.messageStubParameters[0]}`, mentions: [m.sender] }, { quoted: fkontak, ephemeralExpiration: 24*60*100, disappearingMessagesInChat: 24*60*100})
+} else if (chat.detect && m.messageStubType == 25) {
+await this.sendMessage(m.chat, { text: `๐ ${await tr("AHORA")} *${m.messageStubParameters[0] == 'on' ? await tr('SOLO ADMINS') : await tr('TODOS')}* ${await tr("PUEDE EDITAR LA INFORMACIรN DEL GRUPO")}`, mentions: [m.sender] }, { quoted: fkontak, ephemeralExpiration: 24*60*100, disappearingMessagesInChat: 24*60*100})
+} else if (chat.detect && m.messageStubType == 26) {
+await this.sendMessage(m.chat, { text: `${await tr("EL GRUPO")} *${m.messageStubParameters[0] == 'on' ? 'ESTA CERRADO ๐' : 'ESTA ABIERTO ๐'}*\n ${m.messageStubParameters[0] == 'on' ? await tr('SOLO LOS ADMINS PUEDEN ESCRIBIR') : await tr('YA PUEDEN ESCRIBIR TODOS')} ${await tr("EN ESTE GRUPO")}`, mentions: [m.sender] }, { quoted: fkontak, ephemeralExpiration: 24*60*100, disappearingMessagesInChat: 24*60*100})
+} else if (chat.welcome && m.messageStubType == 27 && this.user.jid != global.conn.user.jid) {
+let subject = groupMetadata.subject
+let descs = groupMetadata.desc || "*แดษด ษขสแดแดแด ษขแดษดษชแด๐ธ*\n *sษชษด สแดษขสแด ๐*";
+let userName = `${m.messageStubParameters[0].split`@`[0]}`;
+let defaultWelcome = `โโโโโโโโโโโโโ\nโโโใ *WELCOME* ใโโ\nโโโโโโโโโโโโโ\nโ *${await tr("Hola")} @${userName} ๐ ${await tr("Bienvenido a")}*\nโ *_${subject} โจ_*\nโ\nโ=> *_${await tr("En este grupo podrรกs")}_*\nโ *_${await tr("encontrar")}:_*\nโ โท *${await tr("Amistades")} ๐ซ* \nโ โท *${await tr("Desmadre")} ๐๐บ*\nโ โท *${await tr("Relajo")} ๐
*\nโ โท *${await tr("Enemig@s")} ๐ฅต*\nโ โท *${await tr("Un Bot Sexy")}*\nโ\nโ=> *_${await tr("Puedes solicitar mi lista de")}_*\nโ *_${await tr("comandos con:")}_*\nโ โท *#menu*\nโ\nโ=> *_${await tr("Aquรญ tienes la descripciรณn")}_*\nโ *_${await tr("del grupo, lรฉela!!")}_*\nโ\n\n${descs}\n\nโ\nโ *_๐ฅณ ${await tr("Disfruta de tu")}_*\nโ *_${await tr("estadรญa en el grupo ๐ฅณ")}_*\nโ\nโโโโโโโโโโโโ`;
+let textWel = chat.sWelcome ? chat.sWelcome
+.replace(/@user/g, `@${userName}`)
+.replace(/@group/g, subject)
+.replace(/@desc/g, descs)
+: defaultWelcome;
+
+await this.sendMessage(m.chat, { text: textWel,
+contextInfo:{
+forwardedNewsletterMessageInfo: { newsletterJid: channelRD.id || "120363355261011910@newsletter", serverMessageId: '', newsletterName: channelRD.name || wm },
+forwardingScore: 9999999,
+isForwarded: true,
+mentionedJid:[m.sender, m.messageStubParameters[0]],
+externalAdReply: {
+showAdAttribution: true,
+renderLargerThumbnail: true,
+thumbnailUrl: pp,
+title: "BIENVENID@ ๐",
+body: [wm, ' ' + wm + '๐', '๐'].getRandom(),
+containsAutoReply: true,
+mediaType: 1,
+sourceUrl: [nna, nna2, yt].getRandom()}}}, { quoted: fkontak })
+} else if (chat.welcome && (m.messageStubType == 28 || m.messageStubType == 32) && this.user.jid != global.conn.user.jid ) {
+let subject = groupMetadata.subject;
+let userName = `${m.messageStubParameters[0].split`@`[0]}`;
+let defaultBye = `โโโโโโโโโโโโโ\nโโโใ *ADIOS* ใโโโ\nโโโโโโโโโโโโโ\nโ *_โ ${await tr("Se fue ")} @${userName}_* \nโ *_${await tr("Que dios lo bendiga")}๏ธ_* \nโ *_${await tr("Y lo atropelle un tren")} ๐_*\nโโโโโโโโโโโ`;
+let textBye = chat.sBye ? chat.sBye
+.replace(/@user/g, `@${userName}`)
+.replace(/@group/g, subject)
+: defaultBye;
+await this.sendMessage(m.chat, { text: textBye,
+contextInfo:{
+forwardedNewsletterMessageInfo: { newsletterJid: channelRD.id || "120363355261011910@newsletter", serverMessageId: '', newsletterName: channelRD.name || wm },
+forwardingScore: 9999999,
+isForwarded: true,
+mentionedJid:[m.sender, m.messageStubParameters[0]],
+externalAdReply: {
+showAdAttribution: true,
+renderLargerThumbnail: true,
+thumbnailUrl: pp,
+title: "BYE ๐",
+body: [wm, ' ' + wm + '๐', '๐'].getRandom(),
+containsAutoReply: true,
+mediaType: 1,
+sourceUrl: [nna, nna2, nnaa, yt, md].getRandom()}}}, { quoted: fkontak })
+} else if (chat.detect && m.messageStubType == 29) {
+let subject = groupMetadata.subject;
+let defaultPromote = `@${m.messageStubParameters[0].split`@`[0]} ${await tr("AHORA ES ADMIN EN ESTE GRUPO")}\n\n๐ผ๐ซต
+${await tr("ACCIรN REALIZADA POR:")} ${usuario}`
+let textAdm = chat.sPromote ? chat.sPromote
+.replace(/@user/g, `@${m.messageStubParameters[0].split`@`[0]}`)
+.replace(/@autor/g, `${usuario}`)
+.replace(/@group/g, subject)
+: defaultPromote;
+await this.sendMessage(m.chat, { text: textAdm,
+contextInfo:{
+forwardedNewsletterMessageInfo: {
+newsletterJid: '120363355261011910@newsletter',
+serverMessageId: '',
+newsletterName: 'LoliBot โจ๏ธ' },
+forwardingScore: 9999999,
+isForwarded: true,
+mentionedJid: [m.sender, m.messageStubParameters[0], ...groupAdmins.map(v => v.id)],
+externalAdReply: {
+showAdAttribution: true,
+renderLargerThumbnail: false,
+title: "NUEVO ADMINS ๐ฅณ",
+body: wm,
+containsAutoReply: true,
+mediaType: 1,
+thumbnailUrl: pp,
+sourceUrl: [nna, nna2, nnaa].getRandom()
+}}}, { quoted: fkontak })
+//await this.sendMessage(m.chat, { text: textAdm, mentions: [m.sender, m.messageStubParameters[0], ...groupAdmins.map(v => v.id)] }, { quoted: fkontak, ephemeralExpiration: 24*60*100, disappearingMessagesInChat: 24*60*100})
+} else if (chat.detect && m.messageStubType == 30) {
+let subject = groupMetadata.subject;
+let defaultDemote = `@${m.messageStubParameters[0].split`@`[0]} ${await tr("DEJA DE SER ADMIN EN ESTE GRUPO")}\n\n๐ผ๐ซต${await tr("ACCIรN REALIZADA POR:")} ${usuario}`
+let textAdmin = chat.sDemote ? chat.sDemote
+.replace(/@user/g, `@${m.messageStubParameters[0].split`@`[0]}`)
+.replace(/@autor/g, `${usuario}`)
+.replace(/@group/g, subject)
+: defaultDemote;
+await this.sendMessage(m.chat, { text: textAdmin,
+contextInfo:{
+forwardedNewsletterMessageInfo: {
+newsletterJid: '120363355261011910@newsletter',
+serverMessageId: '',
+newsletterName: 'LoliBot โจ๏ธ' },
+forwardingScore: 9999999,
+isForwarded: true,
+mentionedJid: [m.sender, m.messageStubParameters[0], ...groupAdmins.map(v => v.id)],
+externalAdReply: {
+showAdAttribution: true,
+renderLargerThumbnail: false,
+title: "๐ UN ADMINS MENOS",
+body: wm,
+containsAutoReply: true,
+mediaType: 1,
+thumbnailUrl: pp,
+sourceUrl: [nna, nna2, nnaa].getRandom()
+}}}, { quoted: fkontak })
+//await this.sendMessage(m.chat, { text: textAdmin, mentions: [m.sender, m.messageStubParameters[0], ...groupAdmins.map(v => v.id)] }, { quoted: fkontak, ephemeralExpiration: 24*60*100, disappearingMessagesInChat: 24*60*100})
+} else if (chat.detect && m.messageStubType === 172 && m.messageStubParameters.length > 0) {
+const rawUser = m.messageStubParameters[0];
+const users = rawUser.split('@')[0];
+const prefijosProhibidos = ['+91', '+92', '+222', '+93', '+265', '+61', '+62', '+966', '+229', '+40', '+49', '+20', '+963', '+967', '+234', '+210', '+212'];
+const usersConPrefijo = users.startsWith('+') ? users : `+${users}`;
+
+if (chat.antifake) {
+const esProhibido = prefijosProhibidos.some(prefijo => {
+const coincide = usersConPrefijo.startsWith(prefijo);
+return coincide;
+});
+
+if (esProhibido) {
+try {
+await conn.groupRequestParticipantsUpdate(m.chat, [rawUser], 'reject');
+console.log(`Solicitud de ${usersConPrefijo} rechazada por prefijo prohibido.`);
+} catch (error) {
+console.error(`Error al rechazar la solicitud de ${usersConPrefijo}:`, error);
+}} else {
+try {
+await conn.groupRequestParticipantsUpdate(m.chat, [rawUser], 'approve');
+console.log(`Solicitud de ${usersConPrefijo} aprobada (no tiene prefijo prohibido).`);
+} catch (error) {
+console.error(`Error al aprobar la solicitud de ${usersConPrefijo}:`, error);
+}}} else {
+try {
+await conn.groupRequestParticipantsUpdate(m.chat, [rawUser], 'approve');
+console.log(`Solicitud de ${usersConPrefijo} aprobada (antifake desactivado).`);
+} catch (error) {
+console.error(`Error al aprobar la solicitud de ${usersConPrefijo}:`, error);
+}}
+return; /*
+} if (chat.detect && 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 if (chat.detect && 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,
diff --git a/plugins/_autolevelup.js b/plugins/_autolevelup.js
index b097f7227..41f809509 100644
--- a/plugins/_autolevelup.js
+++ b/plugins/_autolevelup.js
@@ -1,272 +1,89 @@
-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)
-
+//import db from '../lib/database.js'
+import { canLevelUp } from '../lib/levelling.js'
+
+export async function before(m, { conn }) {
+ let who = m.mentionedJid && m.mentionedJid[0] ? m.mentionedJid[0] : m.fromMe ? conn.user.jid : m.sender
+ let ppch = await conn.profilePictureUrl(who, 'image').catch(_ => imageUrl.getRandom())
let user = global.db.data.users[m.sender]
let chat = global.db.data.chats[m.chat]
-if (!chat.autolevelup)
-return !0
-
+if (!chat.autolevelup) return !0
let before = user.level * 1
-while (canLevelUp(user.level, user.exp, global.multiplier)) user.level++
- if (before !== user.level) {
+while (canLevelUp(user.level, user.exp, global.multiplier))
+user.level++
+user.role = global.rpg.role(user.level).name
+if (before !== user.level) {
+
+conn.reply(m.chat, [`*ใ ${await tr("FELICIDADES LEVEL UP")} ๐๐ฅณ ใ*\n\n${await tr("Felicidades subiste de nivel sigue asi")} ๐\n\n*โข ${await tr("NIVEL")}:* ${before} โฟ ${user.level}\n*โข ${await tr("RANGO")}:* ${user.role}\n\n_*${await tr("Para ver tu XP en tiempo real coloca el comando")} #level*_`, `@${m.sender.split`@`[0]} ${await tr("Ohhh pa has alcanzado el siguiente nivel")}\n*โข ${await tr("NIVEL")}:* ${before} โฟ ${user.level}\n\n_*${await tr("Para ver quien es esta el top coloca el comando ")} #lb*_`, `Que pro @${m.sender.split`@`[0]} ${await tr("has alcanzado un nuevo nivel")} ๐\n\n*โข ${await tr("Nuevo nivel")}:* ${user.level}\n*โข ${await tr("Nivel anterior")}:* ${before}\n`].getRandom(), m, {contextInfo: {externalAdReply :{ mediaUrl: null, mediaType: 1, description: null, title: wm, body: ' ๐ซ ๐๐ฎ๐ฉ๐๐ซ ๐๐จ๐ญ ๐๐ ๐๐ก๐๐ญ๐ฌ๐๐ฉ๐ฉ ๐ฅณ ', previewType: 0, thumbnail: img.getRandom(), sourceUrl: redes.getRandom()}}})
- 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}
-โโโโโโโโโโโโโโโ
+let niv = `*${m.pushName || 'Anรณnimo'}* Obtiene un nuevo nivel ๐ฅณ
-*_${lenguajeGB.smsAutoLv6()}_*`, null, [[lenguajeGB.smsConMenu(), `/menu`]], m)*/
+*โข Nivel anterior:* ${before}
+*โข Nivel actรบal :* ${user.level}
+*โข Rol:* ${user.role}
+*โข Bot:* ${wm}`
+let nivell = `*${m.pushName || 'Anรณnimo'} Haz subido un nuevo nivel ๐ฅณ*
+> _*โข NIVEL:* ${before} โฟ ${user.level}_`
+let nivelll = `๐ฅณ ${m.pushName || 'Anรณnimo'} Que pro Acaba de alcanzar un nuevo nivel ๐ฅณ
-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()
+*โข Nivel:* ${before} โฟ ${user.level}
+*โข Rango:* ${user.role}
+*โข Bot:* ${wm}`
+await global.conn.sendMessage(global.ch.ch1, { text: [niv, nivell, nivelll].getRandom(), contextInfo: {
+externalAdReply: {
+title: "ใ ๐ Notificaciรณn General ๐ ใ",
+body: 'ยกHaz subido de nivel ๐ฅณ!',
+thumbnailUrl: ppch,
+sourceUrl: redes.getRandom(),
+mediaType: 1,
+showAdAttribution: false,
+renderLargerThumbnail: false
+}}}, { quoted: null }).catch(err => console.error(err));
+}}
-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()
+global.rpg = {
+emoticon(text) {
+text = text.toLowerCase();
+const mapping = {
+role: '๐
',
+level: 'โฌ๏ธ'
+};
+for (const key in mapping) {
+if (text.includes(key)) return mapping[key];
+}
+return '';
+},
+_roles: null,
-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()
+generateRoles() {
+if (this._roles) return this._roles;
+const ranks = ['NOVATO(A)', 'APRENDIS', 'EXPLORADOR(A)', 'MAESTRO(A)', 'IRON', 'PLATA', 'ORO', 'Bard', 'Necromancer', 'Warlock', 'Wizard', 'Sage', 'Priest', 'Rogue', 'Brawler', 'Archer', 'Sniper', 'Ninja', 'Samurai', 'Berserker', 'Legend', 'Champion', 'Grandmaster', 'Elder', 'Immortal', 'Nephalem', 'Eternal', 'Neptune', 'Pluto', 'Eris', 'Ascension', 'Elysium', 'Ether', 'Gaea', 'Hades', 'DIAMANTE', 'PRO EN LOLIBOT-MD', 'SUPER PRO', 'LEGENDARIO(A)', 'Nova', 'LEYENDA', 'ESTELAR', 'TOP ASTRAL', 'รLITE GLOBAL'];
+
+const subLevels = ['V', 'IV', 'III', 'II', 'I'];
+let roles = [];
+let currentLevel = 0;
+const step = 1;
-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()
+ranks.forEach(rank => {
+subLevels.forEach(numeral => {
+roles.push({
+name: `${rank} ${numeral}`,
+level: currentLevel
+});
+currentLevel += step;
+});
+});
-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{
-
+roles.sort((a, b) => b.level - a.level);
+this._roles = roles;
+return roles;
+},
+
+role(level) {
+level = parseInt(level, 10);
+if (isNaN(level)) return { name: '', level: '' };
+const roles = this.generateRoles();
+const foundRole = roles.find(r => level >= r.level);
+return foundRole || roles[roles.length - 1];
}
-
-}}
-//export const disabled = false
+};
\ No newline at end of file
diff --git a/plugins/_autoresponder.js b/plugins/_autoresponder.js
index 2a126d82f..21ebeda0b 100644
--- a/plugins/_autoresponder.js
+++ b/plugins/_autoresponder.js
@@ -1,14 +1,84 @@
-import { sticker } from '../lib/sticker.js'
-let handler = m => m
+import axios from 'axios';
+import fetch from 'node-fetch';
+import translate from '@vitalets/google-translate-api';
+import { sticker } from '../lib/sticker.js';
+import { perplexity } from '../lib/scraper.js';
-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}}})}*/
+//let handler = m => m;
+//handler.all = async function (m, {conn}) {
+export async function before(m, { conn }) {
+let user = global.db.data.users[m.sender]
+let chat = global.db.data.chats[m.chat];
+let setting = global.db.data.settings[this.user.jid]
+let prefixRegex = new RegExp('^[' + setting.prefix.replace(/[|\\{}()[\]^$+*.\-\^]/g, '\\$&') + ']');
+
+//if (prefixRegex.test(m.text)) return true;
+if (m.mentionedJid.includes(this.user.jid)) {
+//if (m.mentionedJid.includes(this.user.jid) || (m.quoted && m.quoted.sender === this.user.jid)) {
+if (chat.simi) return;
+if (m.text.includes('PIEDRA') || m.text.includes('PAPEL') || m.text.includes('TIJERA') || m.text.includes('menu') || m.text.includes('estado') || m.text.includes('bots') || m.text.includes('serbot') || m.text.includes('jadibot') || m.text.includes('Video') || m.text.includes('Audio') || m.text.includes('audio') || m.text.includes('Bot') || m.text.includes('bot') || m.text.includes('Exp') || m.text.includes('diamante') || m.text.includes('lolicoins') || m.text.includes('Diamante') || m.text.includes('Lolicoins')) return !0
+if (["120363297379773397@newsletter", "120363355261011910@newsletter"].includes(m.chat)) return;
+await this.sendPresenceUpdate('composing', m.chat);
+
+async function luminsesi(q, username, logic) {
+try {
+const response = await axios.post("https://luminai.my.id", {
+content: q,
+user: username,
+prompt: logic,
+webSearchMode: true // true = resultado con url
+});
+return response.data.result;
+} catch (error) {
+console.error(error);
+}}
+
+async function perplexityIA(q, logic) {
+ try {
+ let response = await perplexity.chat([
+ { role: 'system', content: logic || syms1 },
+ { role: 'user', content: q }
+ ], 'sonar-pro');
+ if (response.status) {
+ return response.result.response;
+ } else {
+ throw new Error(`Error en Perplexity: ${response.result.error}`);
+ }
+ } catch (error) {
+ console.error('Error en Perplexity:', error);
+ return null;
+ }
+ }
+
+let query = m.text;
+let username = `${m.pushName}`;
+let txtDefault = 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(v => v.text());
+let syms1 = chat.sAutorespond ? chat.sAutorespond : txtDefault
+
+if (!chat.autorespond) return
+if (m.fromMe) return
+let result
+if (!result || result.trim().length === 0) {
+result = await perplexityIA(query, syms1);
+}
-return !0 }
-export default handler
+if (!result || result.trim().length === 0) {
+result = await luminsesi(query, username, syms1);
+result = result.replace(/Maaf, terjadi kesalahan saat memproses permintaan Anda/g, '').trim();
+result = result.replace(/Generated by BLACKBOX\.AI.*?https:\/\/www\.blackbox\.ai/g, '').trim();
+result = result.replace(/and for API requests replace https:\/\/www\.blackbox\.ai with https:\/\/api\.blackbox\.ai/g, '').trim();
+}
+
+if (result && result.trim().length > 0) {
+await this.reply(m.chat, result, m);
+await this.readMessages([m.key])
+} else {
+let gpt = await fetch(`${apis}/ia/gptprompt?text=${m.text}?&prompt=${syms1}`)
+let res = await gpt.json()
+await this.reply(m.chat, res.data, m)
+}}
+return true;
+}
+
+//export default handler;
\ No newline at end of file
diff --git a/plugins/_autosticker.js b/plugins/_autosticker.js
index afb72c612..cd98e16e2 100644
--- a/plugins/_autosticker.js
+++ b/plugins/_autosticker.js
@@ -1,36 +1,35 @@
-import { sticker } from '../lib/sticker.js'
-
-let handler = m => m
-
-handler.all = async function (m) {
-let chat = db.data.chats[m.chat]
-let user = db.data.users[m.sender]
+import {sticker} from '../lib/sticker.js';
+//const handler = (m) => m;
+//handler.all = async function(m) {
+export async function before(m, { conn }) {
+const chat = db.data.chats[m.chat];
+const 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
+const q = m;
+let stiker = false;
+const 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)
+const 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)
+if (/video/g.test(mime)) if ((q.msg || q).seconds > 8) return await m.reply(`*โ ๏ธ ${await tr("El video solo puede durar 8 seg")}*`);
+const 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
+if (isUrl(m.text)) stiker = await sticker(false, m.text.split(/\n| /i)[0], packname, author);
+else return;
}
-export default handler
+if (stiker) {
+await conn.sendFile(m.chat, stiker, null, null, fake, {asSticker: true});
+}}
+return !0;
+};
+//export default handler;
const isUrl = (text) => {
-return text.match(new RegExp(/^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_+.~#?&/=]*)(jpe?g|gif|png|mp4)/, 'gi'))}
+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
index e7d2d1533..ebc010b1b 100644
--- a/plugins/_cmdWithMedia.js
+++ b/plugins/_cmdWithMedia.js
@@ -1,8 +1,4 @@
-const {
- proto,
- generateWAMessage,
- areJidsSameUser,
-} = (await import('@whiskeysockets/baileys')).default;
+const { proto, generateWAMessage, areJidsSameUser } = (await import('@whiskeysockets/baileys')).default
export async function all(m, chatUpdate) {
if (m.isBaileys) return;
@@ -16,10 +12,10 @@ export async function all(m, chatUpdate) {
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;
+ messages.key.fromMe = m.isBaileys || (m.sender === m.conn?.user?.jid)
+ 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)],
@@ -27,4 +23,4 @@ export async function all(m, chatUpdate) {
};
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/_fakeReply.js b/plugins/_fakeReply.js
new file mode 100644
index 000000000..3abb17825
--- /dev/null
+++ b/plugins/_fakeReply.js
@@ -0,0 +1,90 @@
+import fetch from 'node-fetch'
+
+//let handler = m => m
+//handler.all = async function (m) {
+export async function before(m, { conn, text }) {
+let who = m.mentionedJid && m.mentionedJid[0] ? m.mentionedJid[0] : m.fromMe ? this.user.jid : m.sender
+let pp = await this.profilePictureUrl(who, 'image').catch(_ => "https://telegra.ph/file/33bed21a0eaa789852c30.jpg")
+
+global.canalIdGB = ["120363160031023229@newsletter", "120363355261011910@newsletter"]
+global.canalNombreGB = ["INFINITY-WA ๐ซ", "LoliBot โจ"]
+global.channelRD = await getRandomChannel()
+
+global.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" }
+
+global.rpl = { contextInfo: { externalAdReply: { mediaUrl: nna, mediaType: 'VIDEO', description: 'Actualizaciรณn/novedades', title: packname, body: 'Canal update', thumbnailUrl: pp, sourceUrl: [nna, nna2, nnaa].getRandom() }}}
+
+global.fake = { contextInfo: { mentionedJid: await this.parseMention(text), forwardingScore: 1, isForwarded: true, forwardedNewsletterMessageInfo: { newsletterJid: channelRD.id, serverMessageId: '', newsletterName: channelRD.name }}}
+
+global.fake2 = { contextInfo: { mentionedJid: null, forwardingScore: 1, isForwarded: true, forwardedNewsletterMessageInfo: { newsletterJid: channelRD.id, serverMessageId: '', newsletterName: channelRD.name }, externalAdReply: { title: wm, body: vs, mediaType: 1, renderLargerThumbnail: false, previewType: `PHOTO`, thumbnailUrl: pp, sourceUrl: redes.getRandom() }}}
+
+global.rpyp = { contextInfo: { externalAdReply: { mediaUrl: md, mediaType: 'VIDEO', description: 'GitHub', title: 'GitHub', body: 'หขแถฆ แตแต แตแตสณแตแตแต แตหก แดฎแตแต แตแตแตสธแตสณแตแต แถแตโฟ แตโฟแต ๐', thumbnailUrl: pp, sourceUrl: md }}}
+
+//โฑ โโโโโ.โ
RPG โ
.โโโโ โฐ
+
+global.flaaa = [
+'https://flamingtext.com/net-fu/proxy_form.cgi?&imageoutput=true&script=water-logo&script=water-logo&fontsize=90&doScale=true&scaleWidth=800&scaleHeight=500&fontsize=100&fillTextColor=%23000&shadowGlowColor=%23000&backgroundColor=%23000&text=',
+'https://flamingtext.com/net-fu/proxy_form.cgi?&imageoutput=true&script=crafts-logo&fontsize=90&doScale=true&scaleWidth=800&scaleHeight=500&text=',
+'https://flamingtext.com/net-fu/proxy_form.cgi?&imageoutput=true&script=amped-logo&doScale=true&scaleWidth=800&scaleHeight=500&text=',
+'https://www6.flamingtext.com/net-fu/proxy_form.cgi?&imageoutput=true&script=sketch-name&doScale=true&scaleWidth=800&scaleHeight=500&fontsize=100&fillTextType=1&fillTextPattern=Warning!&text=',
+'https://www6.flamingtext.com/net-fu/proxy_form.cgi?&imageoutput=true&script=sketch-name&doScale=true&scaleWidth=800&scaleHeight=500&fontsize=100&fillTextType=1&fillTextPattern=Warning!&fillColor1Color=%23f2aa4c&fillColor2Color=%23f2aa4c&fillColor3Color=%23f2aa4c&fillColor4Color=%23f2aa4c&fillColor5Color=%23f2aa4c&fillColor6Color=%23f2aa4c&fillColor7Color=%23f2aa4c&fillColor8Color=%23f2aa4c&fillColor9Color=%23f2aa4c&fillColor10Color=%23f2aa4c&fillOutlineColor=%23f2aa4c&fillOutline2Color=%23f2aa4c&backgroundColor=%23101820&text=']
+
+global.cmenut = 'โโโโโโโใ'
+global.cmenub = 'โโฆ '
+global.cmenuf = 'โฐโโโ
โโโโโโโโเน\n'
+global.cmenua = '\nโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ\n '
+global.dmenut = '*โโโ
โโโ
โฉ*'
+global.dmenub = '*โยป*'
+global.dmenub2 = '*โ*'
+global.dmenuf = '*โฐโ
โโโโโโโโโ
โฆ*'
+global.htjava = 'โซนโซบ'
+global.htki = '*โญโขฬฉฬฉอโฑโขโขโขโข โช*'
+global.htka = '*โช โขโขโขโขฬฉฬฉอโฐโขโญ*'
+global.comienzo = 'โข โข โโโโโโ'
+global.fin = 'โโโโโโ โข โข'
+global.botdate = `โซนโซบ Date : ${moment.tz('America/Los_Angeles').format('DD/MM/YY')}` //Asia/Jakarta
+global.bottime = `๐ง ๐ ๐ ๐ : ${moment.tz('America/Los_Angeles').format('HH:mm:ss')}`//America/Los_Angeles
+global.fgif = {
+key: {
+participant : '0@s.whatsapp.net'},
+message: {
+"videoMessage": {
+"title": wm,
+"h": `Hmm`,
+'seconds': '999999999',
+'gifPlayback': 'true',
+'caption': bottime,
+'jpegThumbnail': fs.readFileSync('./media/Menu3.jpg')
+}}}
+
+/*----------------------[ SALIDA DEL GRUPO ]-----------------------*/
+if (!m.isGroup) return
+let chats = global.db.data.chats[m.chat]
+if (!chats.expired) return !0
+if (+new Date() > chats.expired) {
+await this.reply(m.chat, [`*${this.user.name}* แดนแต แตแตสธ แตแตหก แตหก แตสณแตแตแต แถ แตแต แตโฟ แตแตหขแตแต แตหขแตแต แตแต แตแถฆฬ หขแถฆ แต แตแถฆแตสณแตหข แต แตแต แตแตแตหกแตแต แตหขแตสณ แตแต โฟแตแตแตแต แตหก แถแตแตแตโฟแตแต`, `Bueno me voy de este grupo de mrd, no me agregue a grupo ptm`, `*${this.user.name}* me voy de este grupito culiado nada interesante yo queria ver teta y son puro gays aca ๐คฃ`].getRandom())
+await this.groupLeave(m.chat)
+chats.expired = null
+}
+
+/*----------------------[ FIN DE PREMIUM ]-----------------------*/
+for (const user of Object.values(global.db.data.users)) {
+if (user.premiumTime != 0 && user.premium) {
+if (new Date() * 1 >= user.premiumTime) {
+user.premiumTime = 0;
+user.premium = false;
+const JID = Object.keys(global.db.data.users).find((key) => global.db.data.users[key] === user);
+const usuarioJid = JID.split`@`[0];
+const textoo = `*โ ๏ธ @${usuarioJid} ๐๐ ๐๐ธ๐ด๐ผ๐ฟ๐พ ๐ฒ๐พ๐ผ๐พ ๐๐๐๐ฐ๐๐ธ๐พ ๐ฟ๐๐ด๐ผ๐ธ๐๐ผ ๐ท๐ฐ ๐ด๐๐ฟ๐ธ๐๐ฐ๐ณ๐พ, ๐๐ฐ ๐ฝ๐พ ๐ด๐๐ด๐ ๐๐ฝ ๐๐๐๐ฐ๐๐ธ๐พ ๐ฟ๐๐ด๐ผ๐ธ๐๐ผ*`;
+await this.sendMessage(JID, {text: textoo, mentions: [JID]}, {quoted: ''});
+}}}}
+
+//export default handler
+
+
+async function getRandomChannel() {
+let randomIndex = Math.floor(Math.random() * canalIdGB.length)
+let id = canalIdGB[randomIndex]
+let nombre = canalNombreGB[randomIndex]
+return { id, nombre }
+}
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/_simsimi.js b/plugins/_simsimi.js
new file mode 100644
index 000000000..7e564e7ea
--- /dev/null
+++ b/plugins/_simsimi.js
@@ -0,0 +1,85 @@
+import fetch from 'node-fetch';
+import { perplexity } from '../lib/scraper.js';
+const antiSpam = new Map();
+const handler = (m) => m;
+
+handler.before = async (m) => {
+const chat = global.db.data.chats[m.chat];
+if (chat.simi) {
+if (/^.*false|disnable|(turn)?off|0/i.test(m.text)) return;
+let textodem = m.text;
+let prefixRegex = new RegExp('^[' + (opts['prefix'] || 'โz/i!#$%+ยฃยขโฌยฅ^ยฐ=ยถโรรทฯโโยฉยฎ:;?&.,\\-').replace(/[|\\{}()[\]^$+*?.\-\^]/g, '\\$&') + ']');
+if (prefixRegex.test(m.text)) return true;
+const lastMessageTime = antiSpam.get(m.sender) || 0;
+const currentTime = Date.now();
+if (currentTime - lastMessageTime < 5000) throw !0;
+if (m.fromMe) return;
+try {
+await conn.sendPresenceUpdate('composing', m.chat)
+
+async function perplexityIA(q, logic) {
+try {
+let response = await perplexity.chat([{ role: 'system', content: logic || syms1 }, { role: 'user', content: q }], 'sonar-pro');
+if (response.status) {
+return response.result.response;
+} else {
+throw new Error(`Error en Perplexity: ${response.result.error}`);
+}} catch (error) {
+console.error('Error en Perplexity:', error);
+return null;
+}}
+
+async function SimSimi(textodem, language = 'es') {
+try {
+const { data } = await axios.post("https://api.simsimi.vn/v1/simtalk", new URLSearchParams({
+textodem,
+lc: language }).toString(), {
+headers: {'Content-Type': 'application/x-www-form-urlencoded', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36' }});
+return data.message;
+} catch (error) {
+console.error(error);
+return null;
+}}
+
+let username = `${m.pushName}`;
+let syms1 = await fetch('https://raw.githubusercontent.com/elrebelde21/LoliBot-MD/main/src/text-chatgpt.txt').then(v => v.text());
+
+let result;
+if (!result || result.trim().length === 0) {
+result = await perplexityIA(textodem, syms1);
+}
+
+if (!result || result.trim().length === 0) {
+result = await SimSimi(textodem);
+}
+
+if (result && result.trim().length > 0) {
+await m.reply(result);
+antiSpam.set(m.sender, currentTime);
+}} catch {
+try {
+let gpt = await fetch(`${apis}/tools/simi?text=${textodem}`);
+let res = await gpt.json();
+await m.reply(res.data.message);
+antiSpam.set(m.sender, Date.now());
+antiSpam.set(m.sender, Date.now());
+} 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');
+const reis = await fetch('https://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=en&dt=t&q=' + textodem);
+const resu = await reis.json();
+const nama = m.pushName || '1';
+const api = await fetch('http://api.brainshop.ai/get?bid=153868&key=rcKonOgrUFmn5usX&uid=' + nama + '&msg=' + resu[0][0][0]);
+const res = await api.json();
+const reis2 = await fetch('https://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=es&dt=t&q=' + res.cnt);
+const resu2 = await reis2.json()
+await m.reply(resu2[0][0][0])
+antiSpam.set(m.sender, Date.now());
+}
+return !0;
+}}
+return true;
+};
+export default handler;
diff --git a/plugins/_templateResponse.js b/plugins/_templateResponse.js
index dc08ba2fc..a791fe984 100644
--- a/plugins/_templateResponse.js
+++ b/plugins/_templateResponse.js
@@ -1,109 +1,171 @@
-/**
- * @type {import('@whiskeysockets/baileys')}
- */
-const {
+// @type {import('@whiskeysockets/baileys')}
+
+const { proto, generateWAMessage, areJidsSameUser, decryptPollVote, } = (await import('@whiskeysockets/baileys')).default;
+export async function all(m, chatUpdate) {
+if (m.isBaileys) {
+return
+}
+if (!m.message) {
+return
+}
+if (!(m.message.buttonsResponseMessage || m.message.templateButtonReplyMessage || m.message.listResponseMessage || m.message.interactiveResponseMessage)) {
+return
+}
+let id
+if (m.message.buttonsResponseMessage) {
+id = m.message.buttonsResponseMessage.selectedButtonId
+} else if (m.message.templateButtonReplyMessage) {
+id = m.message.templateButtonReplyMessage.selectedId
+} else if (m.message.listResponseMessage) {
+id = m.message.listResponseMessage.singleSelectReply?.selectedRowId;
+} else if (m.message.interactiveResponseMessage) {
+id = JSON.parse(m.message.interactiveResponseMessage.nativeFlowResponseMessage.paramsJson).id
+}
+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 ? [[_prefix.exec(id), _prefix]] : Array.isArray(_prefix) ? _prefix.map((p) => {
+const re = p instanceof RegExp ? p : new RegExp(str2Regex(p));
+return [re.exec(id), re]
+}) :
+typeof _prefix === '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 ?
+plugin.command.test(command) :
+Array.isArray(plugin.command) ?
+plugin.command.some((cmd) => cmd instanceof RegExp ?
+cmd.test(command) :
+cmd === command,
+) :
+typeof plugin.command === '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)
+}
+
+/*const {
proto,
generateWAMessage,
- areJidsSameUser,
- decryptPollVote,
-} = (await import('@whiskeysockets/baileys')).default;
-
+ areJidsSameUser
+} = (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;
+ try {
+ if (m.isBaileys) return
+ if (!m.message) return
+ if (!(m.message.buttonsResponseMessage || m.message.templateButtonReplyMessage || m.message.listResponseMessage ||
+ m.message.interactiveResponseMessage)) return
+ let id = m.message.buttonsResponseMessage?.selectedButtonId || m.message.templateButtonReplyMessage?.selectedId ||
+ m.message.listResponseMessage?.singleSelectReply?.selectedRowId || JSON.parse(m.message
+ .interactiveResponseMessage?.nativeFlowResponseMessage?.paramsJson)?.id
+ let text = m.message.buttonsResponseMessage?.selectedDisplayText || m.message.templateButtonReplyMessage
+ ?.selectedDisplayText || m.message.listResponseMessage?.title || m.message.interactiveResponseMessage?.body
+ ?.text
+ let isIdMessage = false,
+ usedPrefix
+ for (let name in plugins) {
+ let plugin = plugins[name]
+ if (!plugin) continue
+ if (plugin.disabled) continue
+ if (!opts['restrict'])
+ if (plugin.tags && plugin.tags.includes('admin')) continue
+ if (typeof plugin !== 'function') continue
+ if (!plugin.command) continue
+ const str2Regex = str => str.replace(/[|\\{}()[\]^$+*?.]/g, '\\$&')
+ let _prefix = plugin.customPrefix ? plugin.customPrefix : this.prefix ? this.prefix : prefix
+ let match = (_prefix instanceof RegExp ? // RegExp Mode?
+ [
+ [_prefix.exec(id), _prefix]
+ ] : Array.isArray(_prefix) ? // Array?
+ _prefix.map(p => {
+ let re = p instanceof RegExp ? // RegExp in Array?
+ p : new RegExp(str2Regex(p))
+ return [re.exec(id), re]
+ }) : typeof _prefix === 'string' ? // String?
+ [
+ [new RegExp(str2Regex(_prefix)).exec(id), new RegExp(str2Regex(_prefix))]
+ ] : [
+ [
+ [], new RegExp
+ ]
+ ]).find(p => p[1])
+ if ((usedPrefix = (match[0] || '')[0])) {
+ let noPrefix = id.replace(usedPrefix, '')
+ let [command] = noPrefix.trim().split(' ').filter(v => v)
+ command = (command || '').toLowerCase()
+ let isId = plugin.command instanceof RegExp ? // RegExp Mode?
+ plugin.command.test(command) : Array.isArray(plugin.command) ? // Array?
+ plugin.command.some(cmd => cmd instanceof RegExp ? // RegExp in Array?
+ cmd.test(command) : cmd === command) : typeof plugin.command === 'string' ? // String?
+ plugin.command === command : false
+ if (!isId) continue
+ isIdMessage = true
}
}
- 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;
+ let messages = await generateWAMessage(m.chat, {
+ text: isIdMessage ? id : text,
+ mentions: m.mentionedJid
+ }, {
+ userJid: this.user.id,
+ quoted: m.quoted?.fakeObj
+ })
+ messages.key.fromMe = areJidsSameUser(m.sender, this.user.id)
+ messages.key.id = m.key.id
+ messages.pushName = m.name
+ if (m.isGroup) messages.key.participant = messages.participant = m.sender
+ let msg = {
+ ...chatUpdate,
+ messages: [proto.WebMessageInfo.fromObject(messages)].map(v => (v.conn = this, v)),
+ type: 'append'
}
+ this.ev.emit('messages.upsert', msg)
+ } catch (error) {
+ console.error('Error in processing message:', error);
}
- 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/adult-comandos+18.js b/plugins/adult-comandos+18.js
new file mode 100644
index 000000000..21673b711
--- /dev/null
+++ b/plugins/adult-comandos+18.js
@@ -0,0 +1,275 @@
+import axios from "axios";
+import fetch from "node-fetch";
+import moment from 'moment-timezone';
+import fs from "fs"
+const handler = async (m, {command, conn}) => {
+let porn = 'https://qu.ax/bXMB.webp'
+let porn2 = 'https://qu.ax/TxtQ.webp'
+const fakee2 = { contextInfo: { mentionedJid: null, forwardingScore: 1, isForwarded: true, forwardedNewsletterMessageInfo: { newsletterJid: channelRD.id, serverMessageId: '', newsletterName: channelRD.name }, externalAdReply: { title: `๐ฅต ${await tr("CONTENIDO +18")} ๐ฅต`, body: `${await tr("No alto para menores..")}`, mediaType: 1, renderLargerThumbnail: false, previewType: `PHOTO`, thumbnail: imagen3, sourceUrl: redes.getRandom() }}}
+if (!db.data.chats[m.chat].modohorny && m.isGroup) {
+handler.limit = false
+conn.sendFile(m.chat, [porn, porn2].getRandom(), 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: `แดธแตหข แถแตแตแตโฟแตแต สฐแตสณโฟสธ แตหขแตแต แตแตหขแตแถแตแถฆแตแตแตแต แตแตสณแต แตแถแตแถฆแตแตสณ แตหขแตสณ:`, body: '#enable modohorny', mediaType: 2, sourceUrl: md, thumbnail: imagen3}}}, { quoted: m, ephemeralExpiration: 24*60*100, disappearingMessagesInChat: 24*60*100})
+return
+}
+const horarioNsfw = db.data.chats[m.chat].horarioNsfw
+const now = moment.tz('America/Argentina/Buenos_Aires');
+const currentTime = now.format('HH:mm');
+
+if (horarioNsfw) {
+const { inicio, fin } = horarioNsfw;
+const inicioTime = moment(inicio, 'HH:mm').tz('America/Argentina/Buenos_Aires');
+const finTime = moment(fin, 'HH:mm').tz('America/Argentina/Buenos_Aires');
+const currentMoment = moment(currentTime, 'HH:mm').tz('America/Argentina/Buenos_Aires');
+let isWithinTimeRange = false;
+if (inicioTime.isAfter(finTime)) {
+if (currentMoment.isBetween(inicioTime, moment('23:59', 'HH:mm').tz('America/Argentina/Buenos_Aires')) ||
+currentMoment.isBetween(moment('00:00', 'HH:mm').tz('America/Argentina/Buenos_Aires'), finTime)) {
+isWithinTimeRange = true;
+}} else {
+if (currentMoment.isBetween(inicioTime, finTime)) {
+isWithinTimeRange = true;
+}}
+if (!isWithinTimeRange) {
+handler.limit = false
+conn.sendFile(m.chat, [porn, porn2].getRandom(), 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: `แดฑหขแตแต แถแตแตแตโฟแตแต หขแตหกแต แถ แตโฟแถแถฆแตโฟแต แตหก สฐแตสณแตสณแถฆแต สฐแตแตแถฆหกแถฆแตแตแตแต แตหก แตสณแตแตแต:`, body: `${inicio} a ${fin}`, mediaType: 2, sourceUrl: md, thumbnail: imagen3}}}, { quoted: m, ephemeralExpiration: 24*60*100, disappearingMessagesInChat: 24*60*100})
+return
+}}
+
+if (command == 'videos') {
+conn.sendFile(m.chat, `${apis}/nsfw/tiktok`, 'error.mp4', "๐", m, null, fakee2);
+}
+
+if (command == 'hentai') {
+conn.sendFile(m.chat, "https://delirius-nsfw.onrender.com/media/h/bdsm", 'error.jpg', "๐ฅต", m, null, fakee2);
+//conn.sendFile(m.chat, "https://delirius-nsfw.onrender.com/media/h/bdsm", null, " ๐ฅต", null, null, { viewOnce: true }, m, null, fake)
+//conn.sendButton(m.chat, '๐ฅต', botname, "https://delirius-nsfw.onrender.com/media/h/bdsm", [['๐ ๐๐๐๐๐๐๐๐๐ ๐', `/${command}`]], null, null, m)
+}
+
+if (command == 'nsfwloli') {
+let nsfw = JSON.parse(fs.readFileSync('./src/nsfw/nsfwloli.json'))
+conn.sendFile(m.chat, nsfw.url, null, "๐ฅต", null, null, { viewOnce: true }, m, null, fake)
+//conn.sendButton(m.chat, '๐ฅต', botname, result.url, [['๐ ๐๐๐๐๐๐๐๐๐ ๐', `/${command}`]], null, null, m)
+}
+
+if (command == 'china') {
+conn.sendFile(m.chat, `${apis}/nsfw/corean`, 'error.jpg', "๐ฅต", m, null, fakee2, { viewOnce: true }, null)
+//conn.sendButton(m.chat, '*Te gustรณ ๐*', botname, "https://deliriusapi-official.vercel.app/api/china", [['๐ ๐๐๐๐๐๐๐๐๐ ๐', `/${command}`]], null, null, m)
+}
+
+if (command == 'boobs') {
+conn.sendFile(m.chat, `${apis}/nsfw/boobs`, null, "Upa la paja ๐ฑ", null, null, { viewOnce: true }, m, null, fake)
+//conn.sendButton(m.chat, '*Upa la paja*', botname, "https://deliriusapi-official.vercel.app/api/boobs", [['๐ ๐๐๐๐๐๐๐๐๐ ๐', `/${command}`]], null, null, m)
+}
+
+if (command == 'hentai2') {
+let hentai = JSON.parse(fs.readFileSync('./src/nsfw/neko.json'))
+let hentairesult = hentai.getRandom()
+conn.sendFile(m.chat, hentairesult, null, "Upa la paja ๐ฑ", null, null, { viewOnce: true }, m, null, fake)
+//conn.sendButton(m.chat, '๐ฅต', botname, hentairesult, [['๐ ๐๐๐๐๐๐๐๐๐ ๐', `/${command}`]], null, null, m)
+}
+
+if (command == 'porno') {
+//conn.sendButton(m.chat, '๐ฅต Uff pa una pajita ๐ฅต', botname, "https://delirius-nsfw.onrender.com/media/r/ass", [['๐ ๐๐๐๐๐๐๐๐๐ ๐', `/${command}`]], null, null, m)
+conn.sendFile(m.chat, `${apis}/nsfw/girls`, null, "๐ฅต Uff pa una pajita ๐ฅต", null, null, { viewOnce: true }, m, null, fakee2)
+}
+
+if (command == 'tetas') {
+const resError = (await axios.get(`https://raw.githubusercontent.com/elrebelde21/NovaBot-MD/master/src/nsfw/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())];
+conn.sendFile(m.chat, res, 'error.jpg', "๐ฅต dame lechita de hay ๐ฅต", m, null, fakee2);
+//conn.sendButton(m.chat, `๐ฅต dame lechita de hay ๐ฅต`, botname, res, [['๐ ๐๐๐๐๐๐๐๐๐ ๐', `/${command}`]], null, null, m)
+//conn.sendFile(m.chat, res, 'thumbnail.jpg', `listo`, m)
+}
+
+ if (command == 'pornololi') {
+ const res = (await axios.get(`https://raw.githubusercontent.com/BrunoSobrino/TheMystic-Bot-MD/master/src/JSON/nsfwloli.json`)).data;
+ const haha = await res[Math.floor(res.length * Math.random())];
+ conn.sendFile(m.chat, haha, 'error.jpg', "๐ฅต", m, null, fakee2);
+ }
+
+if (command == 'nsfwfoot') {
+ const res = (await axios.get(`https://raw.githubusercontent.com/BrunoSobrino/TheMystic-Bot-MD/master/src/JSON/nsfwfoot.json`)).data;
+ const haha = await res[Math.floor(res.length * Math.random())];
+ conn.sendFile(m.chat, haha, null, `_${command}_`, null, null, { viewOnce: true }, m, null, fake)
+ //conn.sendMessage(m.chat, {image: {url: haha}, caption: `_${command}_`.trim()}, {quoted: m});
+ }
+
+ if (command == 'nsfwass') {
+ const res = (await axios.get(`https://raw.githubusercontent.com/BrunoSobrino/TheMystic-Bot-MD/master/src/JSON/nsfwass.json`)).data;
+ const haha = await res[Math.floor(res.length * Math.random())];
+ conn.sendFile(m.chat, haha, null, `๐ฅต Upa la paja ๐ฅต`, null, null, { viewOnce: true }, m, null, fake)
+ }
+
+ if (command == 'nsfwbdsm') {
+ const res = (await axios.get(`https://raw.githubusercontent.com/BrunoSobrino/TheMystic-Bot-MD/master/src/JSON/nsfwbdsm.json`)).data;
+ const haha = await res[Math.floor(res.length * Math.random())];
+ conn.sendFile(m.chat, haha, null, `_${command}_`, null, null, { viewOnce: true }, m, null, fake)
+ }
+
+ if (command == 'nsfwcum') {
+ const res = (await axios.get(`https://raw.githubusercontent.com/BrunoSobrino/TheMystic-Bot-MD/master/src/JSON/nsfwcum.json`)).data;
+ const haha = await res[Math.floor(res.length * Math.random())];
+ conn.sendFile(m.chat, haha, null, `_${command}_`, null, null, { viewOnce: true }, m, null, fake)
+ }
+
+ if (command == 'nsfwero') {
+ const res = (await axios.get(`https://raw.githubusercontent.com/BrunoSobrino/TheMystic-Bot-MD/master/src/JSON/nsfwero.json`)).data;
+ const haha = await res[Math.floor(res.length * Math.random())];
+ conn.sendFile(m.chat, haha, null, `_${command}_`, null, null, { viewOnce: true }, m, null, fake)
+ }
+
+ if (command == 'nsfwfemdom') {
+ const res = (await axios.get(`https://raw.githubusercontent.com/BrunoSobrino/TheMystic-Bot-MD/master/src/JSON/nsfwfemdom.json`)).data;
+ const haha = await res[Math.floor(res.length * Math.random())];
+ conn.sendFile(m.chat, haha, null, `_${command}_`, null, null, { viewOnce: true }, m, null, fake)
+ }
+
+ if (command == 'nsfwglass') {
+ const res = (await axios.get(`https://raw.githubusercontent.com/BrunoSobrino/TheMystic-Bot-MD/master/src/JSON/nsfwglass.json`)).data;
+ const haha = await res[Math.floor(res.length * Math.random())];
+ conn.sendFile(m.chat, haha, null, `_${command}_`, null, null, { viewOnce: true }, m, null, fake)
+ }
+
+if (command == 'nsfworgy') {
+ const res = (await axios.get(`https://raw.githubusercontent.com/BrunoSobrino/TheMystic-Bot-MD/master/src/JSON/nsfworgy.json`)).data;
+ const haha = await res[Math.floor(res.length * Math.random())];
+ conn.sendFile(m.chat, haha, null, `_${command}_`, null, null, { viewOnce: true }, m, null, fake)
+ }
+
+ if (command == 'booty') {
+ const resError = (await axios.get(`https://raw.githubusercontent.com/BrunoSobrino/TheMystic-Bot-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())];
+ conn.sendFile(m.chat, res, null, `_${command}_`, null, null, { viewOnce: true }, m, null, fake)
+ }
+
+ if (command == 'ecchi') {
+ const res = (await axios.get(`https://raw.githubusercontent.com/BrunoSobrino/TheMystic-Bot-MD/master/src/JSON/ecchi.json`)).data;
+ const url = await res[Math.floor(res.length * Math.random())];
+ conn.sendFile(m.chat, url, null, `_${command}_`, null, null, { viewOnce: true }, m, null, fake)
+ }
+
+ if (command == 'furro') {
+ const res = (await axios.get(`https://raw.githubusercontent.com/BrunoSobrino/TheMystic-Bot-MD/master/src/JSON/furro.json`)).data;
+ const url = await res[Math.floor(res.length * Math.random())];
+ conn.sendFile(m.chat, url, null, `_y este furro?_`, null, null, { viewOnce: true }, m, null, fake)
+ }
+
+ if (command == 'trapito') {
+ const res = await fetch(`https://api.waifu.pics/nsfw/trap`);
+ const json = await res.json();
+ const url = json.url;
+ conn.sendFile(m.chat, url, null, `_oh no un trapito๐ฑ _`, null, null, { viewOnce: true }, m, null, fake)
+ }
+
+ if (command == 'imagenlesbians') {
+ const resError = (await axios.get(`https://raw.githubusercontent.com/BrunoSobrino/TheMystic-Bot-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())];
+ conn.sendFile(m.chat, res, null, `_${command}_`, null, null, { viewOnce: true }, m, null, fake)
+ }
+
+ if (command == 'panties') {
+ const res = (await axios.get(`https://raw.githubusercontent.com/BrunoSobrino/TheMystic-Bot-MD/master/src/JSON/panties.json`)).data;
+ const url = await res[Math.floor(res.length * Math.random())];
+ conn.sendFile(m.chat, url, null, `_${command}_`, null, null, { viewOnce: true }, m, null, fake)
+ }
+
+ if (command == 'pene') {
+ const resError = (await axios.get(`https://raw.githubusercontent.com/BrunoSobrino/TheMystic-Bot-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())];
+ conn.sendFile(m.chat, res, null, `_${command}_`, null, null, { viewOnce: true }, m, null, fake)
+ }
+
+ if (command == 'randomxxx') {
+ const rawjsonn = ['https://raw.githubusercontent.com/BrunoSobrino/TheMystic-Bot-MD/master/src/JSON/tetas.json', 'https://raw.githubusercontent.com/BrunoSobrino/TheMystic-Bot-MD/master/src/JSON/booty.json', 'https://raw.githubusercontent.com/BrunoSobrino/TheMystic-Bot-MD/master/src/JSON/imagenlesbians.json', 'https://raw.githubusercontent.com/BrunoSobrino/TheMystic-Bot-MD/master/src/JSON/panties.json', 'https://raw.githubusercontent.com/BrunoSobrino/TheMystic-Bot-MD/master/src/JSON/porno.json'];
+ const rawjson = await rawjsonn[Math.floor(rawjsonn.length * Math.random())];
+ const res = (await axios.get(rawjson)).data;
+ const url = await res[Math.floor(res.length * Math.random())];
+ conn.sendFile(m.chat, url, null, `_${command}_`, null, null, { viewOnce: true }, m, null, fake)
+ }
+
+ if (command == 'yaoi') {
+ const res = await fetch(`https://nekobot.xyz/api/image?type=yaoi`);
+ const json = await res.json();
+ const url = json.message;
+ conn.sendFile(m.chat, url, null, `_${command}_`, null, null, { viewOnce: true }, m, null, fake)
+ }
+
+ if (command == 'yaoi2') {
+ const res = await fetch(`https://purrbot.site/api/img/nsfw/yaoi/gif`);
+ const json = await res.json();
+ const url = json.link;
+ conn.sendFile(m.chat, url, null, `_${command}_`, null, null, { viewOnce: true }, m, null, fake)
+ }
+
+ if (command == 'yuri') {
+ const res = (await axios.get(`https://raw.githubusercontent.com/BrunoSobrino/TheMystic-Bot-MD/master/src/JSON/yuri.json`)).data;
+ const url = await res[Math.floor(res.length * Math.random())];
+ conn.sendFile(m.chat, url, null, `_${command}_`, null, null, { viewOnce: true }, m, null, fake)
+ }
+
+if (command == 'pechos') {
+const res = (await axios.get(`https://raw.githubusercontent.com/elrebelde21/NovaBot-MD/master/src/nsfw/pechos.json`)).data;
+const url = await res[Math.floor(res.length * Math.random())];
+conn.sendFile(m.chat, url, 'error.jpg', "Lindo pechos para dame lechita ๐ฅต", m, null, fakee2);
+//conn.sendButton(m.chat, `Lindo pechos para dame lechita ๐ฅต`, botname, url, [['๐ ๐๐๐๐๐๐๐๐๐ ๐', `/${command}`]], null, null, m)
+}
+
+ if (command == 'yuri2') {
+ const resError = (await axios.get(`https://raw.githubusercontent.com/BrunoSobrino/TheMystic-Bot-MD/master/src/JSON/yuri.json`)).data;
+ const res = await fetch(`https://purrbot.site/api/img/nsfw/yuri/gif`);
+ const json = await res.json();
+ let url = json.link;
+ if (url == '' || !url || url == null) url = await resError[Math.floor(resError.length * Math.random())];
+ conn.sendFile(m.chat, url, null, `_${command}_`, null, null, { viewOnce: true }, m, null, fake)
+ }
+
+if (command == 'hentaisearch' || command == 'searchhentai') {
+if (!text) throw '*โ ๏ธ ๐ธ๐ฝ๐ถ๐๐ด๐๐ฐ ๐ด๐ป ๐ฝ๐พ๐ผ๐ฑ๐๐ด ๐ณ๐ด ๐ฐ๐ป๐ถ๐๐ฝ ๐ท๐ด๐ฝ๐๐ฐ๐ธ ๐ฐ ๐ฑ๐๐๐ฒ๐ฐ๐*';
+const searchResults = await searchHentai(text);
+let teks = searchResults.result.map((v, i) => `${i+1}. *_${v.title}_*
+โณ ๐บ *_Vistas:_* ${v.views}
+โณ ๐๏ธ *_Link:_* ${v.url}`).join('\n\n');
+let randomThumbnail;
+if (searchResults.result.length > 0) {
+const randomIndex = Math.floor(Math.random() * searchResults.result.length);
+randomThumbnail = searchResults.result[randomIndex].thumbnail;
+} else {
+randomThumbnail = 'https://pictures.hentai-foundry.com/e/Error-Dot/577798/Error-Dot-577798-Zero_Two.png';
+teks = '*[โ] ๐ฝ๐พ ๐๐ด ๐ท๐ฐ๐ฝ ๐ด๐ฝ๐ฒ๐พ๐ฝ๐๐๐ฐ๐ณ๐พ ๐๐ด๐๐๐ป๐๐ฐ๐ณ๐พ๐*';
+}
+conn.sendFile(m.chat, randomThumbnail, 'error.jpg', teks, fake, m);
+}}
+handler.help = ['nsfwloli', 'nsfwfoot', 'nsfwass', 'nsfwbdsm', 'nsfwcum', 'nsfwero', 'nsfwfemdom', 'nsfwfoot', 'nsfwglass', 'nsfworgy', 'yuri', 'yuri2', 'yaoi', 'yaoi2', 'panties', 'tetas', 'booty', 'ecchi', 'furro', 'hentai', 'trapito', 'imagenlesbians', 'pene', 'porno', 'randomxxx', 'pechos', 'hentai', 'hentai2', 'nsfwloli', 'porno', 'tetas', 'china', 'boobs'];
+handler.tags = ['nsfw'];
+handler.command = ['nsfwloli', 'nsfwfoot', 'nsfwass', 'nsfwbdsm', 'nsfwcum', 'nsfwero', 'nsfwfemdom', 'nsfwfoot', 'nsfwglass', 'nsfworgy', 'yuri', 'yuri2', 'yaoi', 'yaoi2', 'panties', 'tetas', 'booty', 'ecchi', 'furro', 'hentai', 'trapito', 'imagenlesbians', 'pene', 'porno', 'randomxxx', 'pechos', 'hentai', 'hentai2', 'nsfwloli', 'porno', 'tetas', 'china', 'boobs', 'hentaisearch', 'searchhentai', 'videos']
+handler.limit = ["2", "3", "4", "6", "8"].getRandom()
+handler.register = true
+export default handler
+
+async function searchHentai(search) {
+ return new Promise((resolve, reject) => {
+ axios.get('https://hentai.tv/?s=' + search).then(async ({data}) => {
+ const $ = cheerio.load(data);
+ const result = {};
+ const res = [];
+ result.coder = 'rem-comp';
+ result.result = res;
+ result.warning = 'It is strictly forbidden to reupload this code, copyright ยฉ 2022 by rem-comp';
+ $('div.flex > div.crsl-slde').each(function(a, b) {
+ const _thumbnail = $(b).find('img').attr('src');
+ const _title = $(b).find('a').text().trim();
+ const _views = $(b).find('p').text().trim();
+ const _url = $(b).find('a').attr('href');
+ const hasil = {thumbnail: _thumbnail, title: _title, views: _views, url: _url};
+ res.push(hasil);
+ });
+ resolve(result);
+ }).catch((err) => {
+ console.log(err);
+ });
+ });
+}
diff --git a/plugins/adult-comandos-menu.js b/plugins/adult-comandos-menu.js
new file mode 100644
index 000000000..46b641091
--- /dev/null
+++ b/plugins/adult-comandos-menu.js
@@ -0,0 +1,178 @@
+import { xpRange } from "../lib/levelling.js";
+var handler = async (m, {conn, usedPrefix, usedPrefix: _p, text, args, isAdmin}) => {
+let porn = 'https://qu.ax/bXMB.webp'
+let porn2 = 'https://qu.ax/TxtQ.webp'
+if (!db.data.chats[m.chat].modohorny && m.isGroup) return conn.sendFile(m.chat, [porn, porn2].getRandom(), 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: `แดธแตหข แถแตแตแตโฟแตแต สฐแตสณโฟสธ แตหขแตแต แตแตหขแตแถแตแถฆแตแตแตแต แตแตสณแต แตแถแตแถฆแตแตสณ แตหขแตสณ:`, body: '#enable modohorny', mediaType: 2, sourceUrl: md, thumbnail: imagen3}}}, { quoted: m, ephemeralExpiration: 24*60*100, disappearingMessagesInChat: 24*60*100})
+
+let {exp, limit, level, role} = global.db.data.users[m.sender];
+let {min, xp, max} = xpRange(level, global.multiplier);
+
+let d = new Date(new Date() + 3600000);
+let locale = "es";
+let weton = ["Pahing", "Pon", "Wage", "Kliwon", "Legi"][Math.floor(d / 84600000) % 5];
+let week = d.toLocaleDateString(locale, {weekday: "long"});
+let date = d.toLocaleDateString(locale, {day: "numeric",
+month: "long",
+year: "numeric",
+});
+let dateIslamic = Intl.DateTimeFormat(locale + "-TN-u-ca-islamic", {day: "numeric",
+month: "long",
+year: "numeric",
+}).format(d);
+let time = d.toLocaleTimeString(locale, {hour: "numeric",
+minute: "numeric",
+second: "numeric",
+});
+let _uptime = process.uptime() * 1000;
+let _muptime;
+if (process.send) {
+process.send("uptime");
+_muptime =
+(await new Promise((resolve) => {
+process.once("message", resolve);
+setTimeout(resolve, 1000)})) * 1000;
+}
+let {money} = global.db.data.users[m.sender];
+let muptime = clockString(_muptime);
+let uptime = clockString(_uptime);
+let totalreg = Object.keys(global.db.data.users).length;
+let rtotalreg = Object.values(global.db.data.users).filter((user) => user.registered == true).length;
+let replace = {"%": "%",
+p: _p,
+uptime,
+muptime,
+me: conn.getName(conn.user.jid),
+exp: exp - min,
+maxexp: xp,
+totalexp: exp,
+xp4levelup: max - exp,
+level,
+limit,
+weton,
+week,
+date,
+dateIslamic,
+time,
+totalreg,
+rtotalreg,
+role,
+readmore: readMore,
+};
+text = text.replace(new RegExp(`%(${Object.keys(replace).sort((a, b) => b.length - a.length).join`|`})`, "g"), (_, name) => "" + replace[name]);
+
+let pp = "./Menu2.jpg";
+let who = m.mentionedJid && m.mentionedJid[0] ? m.mentionedJid[0] : m.fromMe ? conn.user.jid : m.sender;
+let username = conn.getName(who);
+//let user = global.db.data.users[m.sender]
+//user.registered = false
+
+let menu = `${await tr("Hola")} ${username} ${await tr("pajin")} ๐ค
+
+โโโโโโโโโโโโโโโโโโ
+๐๐๐๐๐๐๐๐๐
+โ *${await tr("EXPERIENCIA | EXP")} โบ ${exp}*
+โ *${await tr("NIVEL")} โบ ${level}*
+โโโโโโโโโโโโโโโโโโ
+โ *${await tr("FECHA")} โบ ${week}, ${date}*
+โ *${await tr("USUARIOS")} โบ ${Object.keys(global.db.data.users).length}*
+๐๐๐๐๐๐๐๐๐
+โโโโโโโโโโโโโโโโโโ
+
+*${await tr("Comandos para ver pornito")} ๐*
+*${await tr("Usar bajo tu responsabilidad")}*
+*${await tr("NOTA: No sea pajero")}*
+*NSFW โ
*
+
+โ ${usedPrefix}pack
+โ ${usedPrefix}pack2
+โ ${usedPrefix}pack3
+โ ${usedPrefix}pack4
+โ ${usedPrefix}china
+โ ${usedPrefix}boobs
+โ ${usedPrefix}videoxxx
+โ ${usedPrefix}videolesbixxx
+โ ${usedPrefix}tetas
+โ ${usedPrefix}booty
+โ ${usedPrefix}ecchi
+โ ${usedPrefix}furro
+โ ${usedPrefix}pussy
+โ ${usedPrefix}panties
+โ ${usedPrefix}pene
+โ ${usedPrefix}porno
+โ ${usedPrefix}randomxxx
+โ ${usedPrefix}pechos
+โ ${usedPrefix}yuri
+โ ${usedPrefix}yuri2
+โ ${usedPrefix}trapito
+โ ${usedPrefix}hentai
+โ ${usedPrefix}pornololi
+โ ${usedPrefix}pornoorgy
+โ ${usedPrefix}pornofoot
+โ ${usedPrefix}pornoass
+โ ${usedPrefix}pornouniform
+โ ${usedPrefix}pornobdsm
+โ ${usedPrefix}pornocum
+โ ${usedPrefix}pornonetorare
+โ ${usedPrefix}pornofeet
+โ ${usedPrefix}pornoero
+โ ${usedPrefix}pornofemdom
+โ ${usedPrefix}pornoglass
+โ ${usedPrefix}pornosuccubus
+โ ${usedPrefix}pornochupada
+โ ${usedPrefix}pornomuslos
+
+> ${await tr("El yaoi es pa las chicas no solo los hombre se divierten")} ๐ค`.trim();
+
+if (/^hornymenu|menu18|menucaliente$/i.test(m.text)) {
+conn.sendMessage(m.chat, { image: { url: "https://telegra.ph/file/c0b57f22c3fce1c2b5e72.jpg", }, caption: menu,
+contextInfo: {
+externalAdReply: {
+title: `๐ฅต๐ฅ ๐๐๐๐-๐๐๐๐๐๐๐๐ ๐ฅ๐ฅต`,
+sourceUrl: nna,
+mediaType: 1,
+showAdAttribution: true,
+thumbnailUrl: "https://telegra.ph/file/361c821b05575733b1bb5.jpg",
+}}}, { quoted: m })
+}
+
+if (/^sethorario|nwfshorario|hornyHorario$/i.test(m.text)) {
+//handler.group = true
+if (!isAdmin) return await m.reply(`โ ๏ธ *${await tr("Solo los admins pueden usar este comando")}.*`)
+const args = m.text.split(' ').slice(1);
+if (args.length < 2) return conn.reply(m.chat, `โ ๏ธ ${await tr("Por favor ingresa la hora de inicio y fin en formato HH:MM, por ejemplo")}: 23:00 - 06:00.`, m);
+let inicio, fin;
+const regex1 = /^(\d{2}:\d{2})\s*-\s*(\d{2}:\d{2})$/;
+const regex2 = /^(\d{2}:\d{2})\s*a\s*(\d{2}:\d{2})$/;
+const regex3 = /^(\d{2}:\d{2})\s*,\s*(\d{2}:\d{2})$/;
+let match;
+if (match = args.join(' ').match(regex1)) {
+inicio = match[1];
+fin = match[2];
+} else if (match = args.join(' ').match(regex2)) {
+inicio = match[1];
+fin = match[2];
+} else if (match = args.join(' ').match(regex3)) {
+inicio = match[1];
+fin = match[2];
+} else {
+return conn.reply(m.chat, `โ ๏ธ ${await tr("Formato de horario incorrecto. Por favor usa uno de los siguientes formatos:")} HH:MM - HH:MM o HH:MM, HH:MM.`, m);
+}
+db.data.chats[m.chat].horarioNsfw = { inicio, fin };
+return conn.reply(m.chat, `${await tr("Horario establecido:")} ${inicio} a ${fin}`, m);
+}
+}
+handler.help = ["menu18", "hornymenu", "nwfshorario"]
+handler.tags = ["main"];
+handler.command = /^(hornymenu|menu18|menucaliente|sethorario|nwfshorario|hornyHorario)$/i;
+handler.register = true
+handler.exp = 70;
+export default handler;
+
+const more = String.fromCharCode(8206);
+const readMore = more.repeat(4001);
+function clockString(ms) {
+ let h = isNaN(ms) ? "--" : Math.floor(ms / 3600000);
+ let m = isNaN(ms) ? "--" : Math.floor(ms / 60000) % 60;
+ let s = isNaN(ms) ? "--" : Math.floor(ms / 1000) % 60;
+ return [h, m, s].map((v) => v.toString().padStart(2, 0)).join(":");
+}
diff --git a/plugins/comandos+18-pack.js b/plugins/adult-pack_vid.js
similarity index 59%
rename from plugins/comandos+18-pack.js
rename to plugins/adult-pack_vid.js
index 55d15f011..304b27611 100644
--- a/plugins/comandos+18-pack.js
+++ b/plugins/adult-pack_vid.js
@@ -1,30 +1,74 @@
import fetch from 'node-fetch';
+import moment from 'moment-timezone';
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;
+const fakee2 = { contextInfo: { mentionedJid: null, forwardingScore: 1, isForwarded: true, forwardedNewsletterMessageInfo: { newsletterJid: channelRD.id, serverMessageId: '', newsletterName: channelRD.name }, externalAdReply: { title: `๐ฅต ${await tr("CONTENIDO +18")} ๐ฅต`, body: `${await tr("No alto para menores..")}`, mediaType: 1, renderLargerThumbnail: false, previewType: `PHOTO`, thumbnail: imagen3, sourceUrl: redes.getRandom() }}}
+let porn = 'https://qu.ax/bXMB.webp'
+let porn2 = 'https://qu.ax/TxtQ.webp'
+if (!db.data.chats[m.chat].modohorny && m.isGroup) {
+handler.limit = false
+conn.sendFile(m.chat, [porn, porn2].getRandom(), 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: `แดธแตหข แถแตแตแตโฟแตแต สฐแตสณโฟสธ แตหขแตแต แตแตหขแตแถแตแถฆแตแตแตแต แตแตสณแต แตแถแตแถฆแตแตสณ แตหขแตสณ:`, body: '#enable modohorny', mediaType: 2, sourceUrl: md, thumbnail: imagen3}}}, { quoted: m, ephemeralExpiration: 24*60*100, disappearingMessagesInChat: 24*60*100})
+return
+}
+const horarioNsfw = db.data.chats[m.chat].horarioNsfw
+const now = moment.tz('America/Argentina/Buenos_Aires');
+const currentTime = now.format('HH:mm');
+
+if (horarioNsfw) {
+const { inicio, fin } = horarioNsfw;
+const inicioTime = moment(inicio, 'HH:mm').tz('America/Argentina/Buenos_Aires');
+const finTime = moment(fin, 'HH:mm').tz('America/Argentina/Buenos_Aires');
+const currentMoment = moment(currentTime, 'HH:mm').tz('America/Argentina/Buenos_Aires');
+let isWithinTimeRange = false;
+if (inicioTime.isAfter(finTime)) {
+if (currentMoment.isBetween(inicioTime, moment('23:59', 'HH:mm').tz('America/Argentina/Buenos_Aires')) ||
+currentMoment.isBetween(moment('00:00', 'HH:mm').tz('America/Argentina/Buenos_Aires'), finTime)) {
+isWithinTimeRange = true;
+}} else {
+if (currentMoment.isBetween(inicioTime, finTime)) {
+isWithinTimeRange = true;
+}}
+if (!isWithinTimeRange) {
+handler.limit = false
+conn.sendFile(m.chat, [porn, porn2].getRandom(), 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: `แดฑหขแตแต แถแตแตแตโฟแตแต หขแตหกแต แถ แตโฟแถแถฆแตโฟแต แตหก สฐแตสณแตสณแถฆแต สฐแตแตแถฆหกแถฆแตแตแตแต แตหก แตสณแตแตแต:`, body: `${inicio} a ${fin}`, mediaType: 2, sourceUrl: md, thumbnail: imagen3}}}, { quoted: m, ephemeralExpiration: 24*60*100, disappearingMessagesInChat: 24*60*100})
+return
+}
+//.catch(m.reply(`*[ ALTO HAY PAJIN ]*n\nLos comando +18 solo funciรณna el horario habilitado el grupo:* ${inicio} a ${fin}`))
+}
+
+switch (command) {
+case 'pack':
+const url = await pack[Math.floor(Math.random() * pack.length)];
+conn.sendFile(m.chat, url, 'error.jpg', `_๐ฅต ${await tr("aqui tiene mi Pack")} ๐_`, m, null, fakee2);
+//conn.sendButton(m.chat, '_๐ฅต aqui tiene mi Pack ๐_', botname, url, [['๐ฅต ๐๐๐๐๐๐๐๐๐ ๐ฅต', `/${command}`]], null, null, m)
+break;
+case 'pack2':
+const url2 = await packgirl[Math.floor(Math.random() * packgirl.length)];
+conn.sendFile(m.chat, url2, 'error.jpg', `_๐ฅต ${await tr("aqui tiene mi Pack")} ๐_`, m, null, fakee2);
+//conn.sendButton(m.chat, '_๐ฅต aqui tiene mi Pack ๐_', botname, url2, [['๐ฅต ๐๐๐๐๐๐๐๐๐ ๐ฅต', `/${command}`]], null, null, m)
+break;
+case 'pack3':
+const url3 = await packmen[Math.floor(Math.random() * packmen.length)];
+conn.sendFile(m.chat, url3, 'error.jpg', `_๐ฅต ${await tr("aqui tiene mi Pack")} ๐_`, m, null, fakee2);
+//conn.sendButton(m.chat, '_๐ฅต aqui tiene mi Pack ๐_', botname, url3, [['๐ฅต ๐๐๐๐๐๐๐๐๐ ๐ฅต', `/${command}`]], null, null, m)
+break;
+case 'girls': case 'pack4':
+conn.sendFile(m.chat, `${apis}/api/girls`, 'error.jpg', "๐ฅต", m, null, fakee2);
+//conn.sendButton(m.chat, '๐ฅต', botname, "https://delirius-api-oficial.vercel.app/api/girls", [['๐ ๐๐๐๐๐๐๐๐๐ ๐', `/${command}`]], null, null, m)
+break
+case 'videoxxx': case 'vรญdeoxxx':
+const url4 = await videosxxxc[Math.floor(Math.random() * videosxxxc.length)];
+await conn.sendFile(m.chat, url4, 'error.jpg', `_*${await tr("Disfruta del video")} ๐ฅต_`, m, null, fakee2);
+//conn.sendButton(m.chat, '_*แด
ษชsาสแดแดแด แด
แดส แด ษชแด
แดแด ๐ฅต*_', botname, url4, [['๐ฅต ๐๐๐๐๐๐๐๐๐ ๐ฅต', `/${command}`]], null, null, 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.sendFile(m.chat, url5, 'error.jpg', `_*${await tr("Disfruta del video")} ๐ฅต_`, m, null, fakee2);
+//conn.sendButton(m.chat, '_*แด
ษชsาสแดแดแด แด
แดส แด ษชแด
แดแด ๐ฅต*_', botname, url5, [['๐ฅต ๐๐๐๐๐๐๐๐๐ ๐ฅต', `/${command}`]], null, null, m)
+break;
+}};
+handler.help = ['pack', 'pack2', 'pack3', 'pack4', 'videoxxx', 'videoxxxlesbi', 'girls', 'pornolesbiv'];
+handler.tags = ['nsfw'];
+handler.command = /^(pack|pack2|pack3|videoxxx|vรญdeoxxx|videoxxxlesbi|videolesbixxx|pornolesbivid|pornolesbianavid|pornolesbiv|pornolesbianav|pornolesv|girls|pack4)$/i;
handler.limit = 2
handler.register = true
export default handler;
diff --git a/plugins/adult-xnxxdl.js b/plugins/adult-xnxxdl.js
new file mode 100644
index 000000000..2e7020154
--- /dev/null
+++ b/plugins/adult-xnxxdl.js
@@ -0,0 +1,95 @@
+import fetch from 'node-fetch';
+import cheerio from 'cheerio';
+import moment from 'moment-timezone';
+const handler = async (m, {conn, args, command, usedPrefix}) => {
+let porn = 'https://qu.ax/bXMB.webp'
+let porn2 = 'https://qu.ax/TxtQ.webp'
+if (!db.data.chats[m.chat].modohorny && m.isGroup) {
+handler.limit = false
+conn.sendFile(m.chat, [porn, porn2].getRandom(), 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: `แดธแตหข แถแตแตแตโฟแตแต สฐแตสณโฟสธ แตหขแตแต แตแตหขแตแถแตแถฆแตแตแตแต แตแตสณแต แตแถแตแถฆแตแตสณ แตหขแตสณ:`, body: '#enable modohorny', mediaType: 2, sourceUrl: md, thumbnail: imagen3}}}, { quoted: m, ephemeralExpiration: 24*60*100, disappearingMessagesInChat: 24*60*100})
+return
+}
+const horarioNsfw = db.data.chats[m.chat].horarioNsfw
+const now = moment.tz('America/Argentina/Buenos_Aires');
+const currentTime = now.format('HH:mm');
+
+if (horarioNsfw) {
+const { inicio, fin } = horarioNsfw;
+const inicioTime = moment(inicio, 'HH:mm').tz('America/Argentina/Buenos_Aires');
+const finTime = moment(fin, 'HH:mm').tz('America/Argentina/Buenos_Aires');
+const currentMoment = moment(currentTime, 'HH:mm').tz('America/Argentina/Buenos_Aires');
+let isWithinTimeRange = false;
+if (inicioTime.isAfter(finTime)) {
+if (currentMoment.isBetween(inicioTime, moment('23:59', 'HH:mm').tz('America/Argentina/Buenos_Aires')) ||
+currentMoment.isBetween(moment('00:00', 'HH:mm').tz('America/Argentina/Buenos_Aires'), finTime)) {
+isWithinTimeRange = true;
+}} else {
+if (currentMoment.isBetween(inicioTime, finTime)) {
+isWithinTimeRange = true;
+}}
+if (!isWithinTimeRange) {
+handler.limit = false
+conn.sendFile(m.chat, [porn, porn2].getRandom(), 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: `แดฑหขแตแต แถแตแตแตโฟแตแต หขแตหกแต แถ แตโฟแถแถฆแตโฟแต แตหก สฐแตสณแตสณแถฆแต สฐแตแตแถฆหกแถฆแตแตแตแต แตหก แตสณแตแตแต:`, body: `${inicio} a ${fin}`, mediaType: 2, sourceUrl: md, thumbnail: imagen3}}}, { quoted: m, ephemeralExpiration: 24*60*100, disappearingMessagesInChat: 24*60*100})
+return
+}}
+
+if (!args[0]) throw `*โ ๏ธ ${await tr("ยฟQue esta buscando pajin? ingresa un enlace valido de xnxx")}*\n\n*${await tr("Aqui te recomiendo uno ejemplo:")}* ${usedPrefix + command} https://www.xnxx.com/video-14lcwbe8/rubia_novia_follada_en_cuarto_de_bano*`;
+try {
+m.react(`โ`)
+let xnxxLink = '';
+if (args[0].includes('xnxx')) {
+xnxxLink = args[0];
+} else {
+const index = parseInt(args[0]) - 1;
+if (index >= 0) {
+if (Array.isArray(global.videoListXXX) && global.videoListXXX.length > 0) {
+const matchingItem = global.videoListXXX.find((item) => item.from === m.sender);
+if (matchingItem) {
+if (index < matchingItem.urls.length) {
+xnxxLink = matchingItem.urls[index];
+} else {
+throw `*โ ๏ธ ${await tr("No se encontrรณ un enlace para ese numero, por favor ingrese un numero entre el 1 y el ")} ${matchingItem.urls.length}*`;
+}} else {
+throw `*โ ๏ธ ${await tr("Para poder usar este comando de esta forma")} (${usedPrefix + command} ), ${await tr("Por favor realizar la bรบsqueda de videos con el comando")}: ${usedPrefix}xnxxsearch *`;
+}} else {
+throw `*โ ๏ธ ${await tr("Para poder usar este comando de esta forma")} (${usedPrefix + command} ), ${await tr("Por favor realizar la bรบsqueda de videos con el comando")}: ${usedPrefix}xnxxsearch *`;
+}}}
+const res = await xnxxdl(xnxxLink);
+const json = await res.result.files;
+conn.sendMessage(m.chat, {document: {url: json.high}, mimetype: 'video/mp4', fileName: res.result.title}, {quoted: m});
+m.react(`๐ฅ`)
+} catch {
+throw `*โ ๏ธ ${await tr("ยฟQue esta buscando pajin? ingresa un enlace valido de xnxx")}*\n\n*${await tr("Aqui te recomiendo uno ejemplo:")}* ${usedPrefix + command} https://www.xnxx.com/video-14lcwbe8/rubia_novia_follada_en_cuarto_de_bano*`;
+handler.limit = false
+}};
+handler.help = ['xnxxdl']
+handler.tags = ['nsfw'];
+handler.command = /^(xnxxdl)$/i;
+handler.limit = ["10", "12", "15", "16", "18", "25"].getRandom()
+handler.register = true
+export default handler;
+
+async function xnxxdl(URL) {
+ return new Promise((resolve, reject) => {
+ fetch(`${URL}`, {method: 'get'}).then((res) => res.text()).then((res) => {
+ const $ = cheerio.load(res, {xmlMode: false});
+ const title = $('meta[property="og:title"]').attr('content');
+ const duration = $('meta[property="og:duration"]').attr('content');
+ const image = $('meta[property="og:image"]').attr('content');
+ const videoType = $('meta[property="og:video:type"]').attr('content');
+ const videoWidth = $('meta[property="og:video:width"]').attr('content');
+ const videoHeight = $('meta[property="og:video:height"]').attr('content');
+ const info = $('span.metadata').text();
+ const videoScript = $('#video-player-bg > script:nth-child(6)').html();
+ const files = {
+ low: (videoScript.match('html5player.setVideoUrlLow\\(\'(.*?)\'\\);') || [])[1],
+ high: videoScript.match('html5player.setVideoUrlHigh\\(\'(.*?)\'\\);' || [])[1],
+ HLS: videoScript.match('html5player.setVideoHLS\\(\'(.*?)\'\\);' || [])[1],
+ thumb: videoScript.match('html5player.setThumbUrl\\(\'(.*?)\'\\);' || [])[1],
+ thumb69: videoScript.match('html5player.setThumbUrl169\\(\'(.*?)\'\\);' || [])[1],
+ thumbSlide: videoScript.match('html5player.setThumbSlide\\(\'(.*?)\'\\);' || [])[1],
+ thumbSlideBig: videoScript.match('html5player.setThumbSlideBig\\(\'(.*?)\'\\);' || [])[1]};
+ resolve({status: 200, result: {title, URL, duration, image, videoType, videoWidth, videoHeight, info, files}});
+ }).catch((err) => reject({code: 503, status: false, result: err}));
+ });
+}
diff --git a/plugins/adult-xnxxsearch.js b/plugins/adult-xnxxsearch.js
new file mode 100644
index 000000000..9dd911165
--- /dev/null
+++ b/plugins/adult-xnxxsearch.js
@@ -0,0 +1,102 @@
+import fetch from 'node-fetch';
+import moment from 'moment-timezone';
+const handler = async (m, {text, usedPrefix, command}) => {
+let porn = 'https://qu.ax/bXMB.webp'
+let porn2 = 'https://qu.ax/TxtQ.webp'
+if (!db.data.chats[m.chat].modohorny && m.isGroup) {
+handler.limit = false
+conn.sendFile(m.chat, [porn, porn2].getRandom(), 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: `แดธแตหข แถแตแตแตโฟแตแต สฐแตสณโฟสธ แตหขแตแต แตแตหขแตแถแตแถฆแตแตแตแต แตแตสณแต แตแถแตแถฆแตแตสณ แตหขแตสณ:`, body: '#enable modohorny', mediaType: 2, sourceUrl: md, thumbnail: imagen3}}}, { quoted: m, ephemeralExpiration: 24*60*100, disappearingMessagesInChat: 24*60*100})
+return
+}
+const horarioNsfw = db.data.chats[m.chat].horarioNsfw
+const now = moment.tz('America/Argentina/Buenos_Aires');
+const currentTime = now.format('HH:mm');
+
+if (horarioNsfw) {
+const { inicio, fin } = horarioNsfw;
+const inicioTime = moment(inicio, 'HH:mm').tz('America/Argentina/Buenos_Aires');
+const finTime = moment(fin, 'HH:mm').tz('America/Argentina/Buenos_Aires');
+const currentMoment = moment(currentTime, 'HH:mm').tz('America/Argentina/Buenos_Aires');
+let isWithinTimeRange = false;
+if (inicioTime.isAfter(finTime)) {
+if (currentMoment.isBetween(inicioTime, moment('23:59', 'HH:mm').tz('America/Argentina/Buenos_Aires')) ||
+currentMoment.isBetween(moment('00:00', 'HH:mm').tz('America/Argentina/Buenos_Aires'), finTime)) {
+isWithinTimeRange = true;
+}} else {
+if (currentMoment.isBetween(inicioTime, finTime)) {
+isWithinTimeRange = true;
+}}
+if (!isWithinTimeRange) {
+handler.limit = false
+conn.sendFile(m.chat, [porn, porn2].getRandom(), 'sticker.webp', '', m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': false, externalAdReply:{ showAdAttribution: false, title: `แดฑหขแตแต แถแตแตแตโฟแตแต หขแตหกแต แถ แตโฟแถแถฆแตโฟแต แตหก สฐแตสณแตสณแถฆแต สฐแตแตแถฆหกแถฆแตแตแตแต แตหก แตสณแตแตแต:`, body: `${inicio} a ${fin}`, mediaType: 2, sourceUrl: md, thumbnail: imagen3}}}, { quoted: m, ephemeralExpiration: 24*60*100, disappearingMessagesInChat: 24*60*100})
+return
+}}
+
+if (!text) throw `*โ ๏ธ ${await tr("Que esta buscando Pajรญn? usar el comando de esta forma")}*\n*โข ${await tr("Ejemplo")}:* ${usedPrefix + command} Con mi prima*`;
+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 = `*๐ ${await tr("RESULTADOS DE LA BUSQUEDA:")}* ${text.toUpperCase()}\n\n`;
+let count = 1;
+for (const v of json) {
+const linkXXX = v.link;
+vids_.urls.push(linkXXX);
+cap += `*[${count}]*\nโข *๐ฌ ${await tr("Titulo")}:* ${v.title}\nโข *๐ Link:* ${v.link}\nโข *โ Info:* ${v.info}`;
+cap += '\n\n' + 'โขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโข' + '\n\n';
+count++;
+}
+m.reply(cap);
+global.videoListXXX.push(vids_);
+} catch (e) {
+m.reply(`\`\`\`โ ๏ธ ${await tr("OCURRIO UN ERROR")} โ ๏ธ\`\`\`\n\n> *${await tr("Reporta el siguiente error a mi creador con el comando:")}* #report\n\n>>> ${e} <<<< `)
+console.log(e)
+handler.limit = false
+}};
+handler.help = ['xnxxsearch'].map((v) => v + ' ');
+handler.tags = ['nsfw'];
+handler.command = /^xnxxsearch|xnxxs$/i;
+handler.limit = ["10", "12", "15", "16", "18", "25"].getRandom()
+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}));
+ });
+}
+
+
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
index 05f285839..89bdf990f 100644
--- a/plugins/afk-afk.js
+++ b/plugins/afk-afk.js
@@ -1,14 +1,63 @@
-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
+const handler = async (m, { conn, text }) => {
+const user = global.db.data.users[m.sender];
+user.afk = +new Date();
+user.afkReason = text || 'paja';
+user.afkStart = true;
+return conn.fakeReply(m.chat, `ใ ๏ผก๏ผฆ๏ผซ ใ
+
+> ${await tr("El usuario")} ${conn.getName(m.sender)} ${await tr("esta inactivo")}
+
+\`๐ค ${await tr("NO LOS ETIQUETE")} ๐ค\`
+*โฃ๏ธ ${await tr("Motivos")} :* ${user.afkReason}`, m.sender, `๐ค ${await tr("NO MOLESTAR")} ๐ค`, 'status@broadcast', null, fake)
+/*conn.reply(m.chat, `ใ ๏ผก๏ผฆ๏ผซ ใ
+
+> แดส แดsแดแดสษชแด ${conn.getName(m.sender)} แดsแดรก ษชษดแดแดแดษช๏ผถ๏ผฏ.
+
+\`๐ค ๏ผฎ๏ผฏ ๏ผฌ๏ผฏ๏ผณ ๏ผฅ๏ผด๏ผฉ๏ผฑ๏ผต๏ผฅ๏ผด๏ผฅ๏ผฎ ๐ค\`
+*โฃ๏ธ แดแดแดษชแด แด :* ${user.afkReason}`, m);*/
+};
+
+async function before(m, { conn }) {
+const user = global.db.data.users[m.sender];
+
+if (user?.afk > -1 && !user.afkStart) {
+const tiempoAFK = new Date() - user.afk;
+conn.reply(m.chat, `ใ ${await tr("DEJASTE DE ESTA AFK")} ใ
+
+${user.afkReason ? `*๐ธ ${await tr("Razon")}:* ` + user.afkReason : ''}
+*๐ธ ${await tr("Estuviste inactivo durante")}:* ${msToTime(tiempoAFK)}`.trim(), m);
+user.afk = -1;
+user.afkReason = '';
+}
+
+user.afkStart = false;
+const mencionados = [...new Set([...(m.mentionedJid || []), ...(m.quoted ? [m.quoted.sender] : [])])];
+for (const jid of mencionados) {
+const mencionado = global.db.data.users[jid];
+if (!mencionado || mencionado.afk < 0) continue;
+
+const afkTime = new Date() - mencionado.afk;
+const reason = mencionado.afkReason || 'Sin motivo';
+conn.fakeReply(m.chat, `ใ ๐ค ${await tr("NO LOS ETIQUETE")} ๐ค ใ
+
+> *${await tr("El usuario que mencionas esta afk")}*
+
+*๐ธ ${await tr("Motivo")}:* ${reason}
+*๐ธ ${await tr("Tiempo transcurrido de inactividad (afk)")}: ${msToTime(afkTime)}*`, "0@s.whatsapp.net", `๐ค ${await tr("NO MOLESTAR")} ๐ค`, 'status@broadcast', null, fake)
+}
+}
+handler.help = ['afk [razรณn]'];
+handler.tags = ['econ'];
+handler.command = /^afk$/i;
+handler.money = 95;
+handler.register = true;
+handler.before = before;
+
+export default handler;
+
+function msToTime(ms) {
+ let seconds = Math.floor((ms / 1000) % 60);
+ let minutes = Math.floor((ms / (1000 * 60)) % 60);
+ let hours = Math.floor((ms / (1000 * 60 * 60)) % 24);
+ return `${hours}h ${minutes}m ${seconds}s`;
+}
\ No newline at end of file
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
index 7681be3da..d5a59bef7 100644
--- a/plugins/audio-efectos.js
+++ b/plugins/audio-efectos.js
@@ -4,6 +4,7 @@ import { exec } from 'child_process'
let handler = async (m, { conn, args, __dirname, usedPrefix, command }) => {
try {
+m.react("โ")
let q = m.quoted ? m.quoted : m
let mime = ((m.quoted ? m.quoted : m.msg).mimetype || '')
let set
@@ -27,17 +28,20 @@ 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, {
+conn.sendFile(m.chat, buff, ran, null, m, null, fake, true, {
type: 'audioMessage',
ptt: true
})})
-} else throw `๐๐๐จ๐ฅ๐ค๐ฃ๐๐๐ฃ ๐๐ก ๐๐ช๐๐๐ค ๐ค ๐ฃ๐ค๐ฉ๐ ๐๐๐ก ๐ซ๐ค๐ฏ ๐ฅ๐๐ง๐ ๐ข๐ค๐๐๐๐๐๐๐ง ๐ช๐จ๐ ๐๐จ๐ฉ๐ ๐๐ค๐ข๐๐ฃ๐๐ค *${usedPrefix + command}*`
+m.react("โ
๏ธ")
+} else return m.reply(`โก ${await tr("Respondan al audio o nota del voz para modificar usar este comando:")} *${usedPrefix + command}*`)
} catch (e) {
-throw e
+m.reply(`\`\`\`โ ๏ธ ${await tr("OCURRIO UN ERROR")} โ ๏ธ\`\`\`\n\n> *${await tr("Reporta el siguiente error a mi creador con el comando:")}* #report\n\n>>> ${e} <<<< `)
+console.log(e)
}}
handler.help = ['bass', 'blown', 'deep', 'earrape', 'fast', 'fat', 'nightcore', 'reverse', 'robot', 'slow', 'smooth', 'tupai'].map(v => v + ' [vn]')
-handler.tags = ['audio']
+handler.tags = ['efec']
handler.command = /^(bass|blown|deep|earrape|fas?t|nightcore|reverse|robot|slow|smooth|tupai|squirrel|chipmunk)$/i
+handler.register = true
export default handler
const getRandom = (ext) => {
diff --git a/plugins/buscador-animeinfo.js b/plugins/buscador-animeinfo.js
index b8a1cc302..5152f5a8f 100644
--- a/plugins/buscador-animeinfo.js
+++ b/plugins/buscador-animeinfo.js
@@ -1,51 +1,52 @@
-import translate from '@vitalets/google-translate-api'
-import { Anime } from "@shineiichijo/marika"
+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
+const handler = async (m, {conn, text, usedPrefix}) => {
+if (!text) return m.reply(`*โ ๏ธ ${await tr("INGRESE EL NOMBRE DE ALGUN ANIME A BUSCAR")}*`);
+m.react("โจ")
+try {
+const anime = await client.searchAnime(text);
+const result = anime.data[0];
+const resultes = await translate(`${result.background}`, {to: 'es', autoCorrect: true});
+const resultes2 = await translate(`${result.synopsis}`, {to: 'es', autoCorrect: true});
+const AnimeInfo = `๐ข โข *${await tr("Titulo")}:* ${result.title}
+๐ โข *${await tr("Formato")}:* ${result.type}
+๐ โข *${await tr("Estado")}:* ${result.status.toUpperCase().replace(/\_/g, ' ')}
+๐ฅ โข *${await tr("Episodios totales")}:* ${result.episodes}
+๐ โข *${await tr("Duraciรณn")}: ${result.duration}*
+โจ โข *${await tr("Basado en")}:* ${result.source.toUpperCase()}
+๐ซ โข *${await tr("Entrenado")}:* ${result.aired.from}
+๐ โข *${await tr("Finalizado")}:* ${result.aired.to}
+๐ โข *${await tr("Popularidad")}:* ${result.popularity}
+๐ โข *${await tr("Favoritos")}:* ${result.favorites}
+๐ โข *${await tr("Clasificaciรณn")}:* ${result.rating}
+๐
โข *${await tr("Rango")}:* ${result.rank}
+โฆ โข *${await tr("Trailer")}:* ${result.trailer.url}
+๐ โข *แดสส:* ${result.url}
+๐ โข *สแดแดแดษขสแดแดษดแด
:* ${resultes.text}
+โ โข *สษชษดษขแดแดsแดษด:* ${resultes2.text}`;
+conn.sendFile(m.chat, result.images.jpg.image_url, 'error.jpg', AnimeInfo, m, null, fake);
+m.react("โ
")
+} catch (error) {
+try {
+const res = await fetch(`${apis}/search/animesearch?q=${encodeURIComponent(text)}`);
+const data = await res.json();
+if (data && data.data && data.data.length > 0) {
+const result = data.data[0];
+const AnimeInfo = `*โข ${await tr("Titulo")}:* ${result.title}\n` +
+`*โข ${await tr("Tipo")}:* ${result.type}\n` +
+`*โข ${await tr("Episodios")}:* ${result.episode}\n` +
+`*โข ${await tr("Puntuaciรณn")}:* ${result.score}\n` +
+`*โข URL:* ${result.url}`;
+await conn.sendFile(m.chat, result.image, 'anime.jpg', AnimeInfo, m, null, fake);
+m.react("โ
")
+}} catch (e) {
+m.reply(`\`\`\`โ ๏ธ ${await tr("OCURRIO UN ERROR")} โ ๏ธ\`\`\`\n\n> *${await tr("Reporta el siguiente error a mi creador con el comando:")}* #report\n\n>>> ${e} <<<< `)
+console.log(e)
+m.react("โ")
+}}}
+handler.help = ['animeinfo']
+handler.tags = ['buscadores']
+handler.command = /^(anime|animeinfo)$/i;
+handler.register = true
+export default handler;
diff --git a/plugins/buscador-google.js b/plugins/buscador-google.js
index 47a807f81..e161e7166 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) throw `โ ๏ธ ${await tr("Que esta buscando?")} ๐ค ${await tr("Escriba lo que quiera buscar")}\nโข ${await tr("Ejemplo")}: ${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(`${apis}/search/googlesearch?query=${text}`);
+const data = await res.json();
+
+if (data.status && data.data && data.data.length > 0) {
+let teks = `\`๐ ${await tr("RESULTADOS DE:")}\` ${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, fkontak, null, fake);
+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 = `๐ ${await tr("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, fkontak, null, fake);
+}} 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..3c2a34c55 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) throw `*โ ๏ธ ${await tr("ยฟ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=${fgkeysapi}`)
+const data = await res.json();
+const textoLetra = `*๐ค ${await tr("Titulo")}:* ${data.result.title}\n*๐ค ${await tr("Autor")}:* ${data.result.artist}\n*๐ถ ๐๐ง๐ก:* ${data.result.url || 'No disponible'}\n\n*๐๐ต ${await tr("Letra")}:*\n${data.result.lyrics}`;
+const img = data.result.image
+conn.sendFile(m.chat, img, 'error,jpg', textoLetra, m, null, fake);
} 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(`${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 = `*๐ค ${await tr("Titulo")}:* ${data.data.title || 'Desconocido'}\n*๐ค ${await tr("Autor")}:* ${data.data.artist || 'Desconocido'}\n*๐ ${await tr("Artista")}:* ${data.data.artistUrl || 'No disponible'}\n*๐ถ ๐๐ง๐ก:* ${data.data.url || 'No disponible'}\n\n*๐๐ต ${await tr("Letra")}:*\n${data.data.lyrics || 'Letra no disponible'}`;
+const img = data.data.image
+conn.sendFile(m.chat, img, 'error,jpg', textoLetra, m, null, fake);
+//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(`\`\`\`โ ๏ธ ${await tr("OCURRIO UN ERROR")} โ ๏ธ\`\`\`\n\n> *${await tr("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
index 066205e4b..25c957e37 100644
--- a/plugins/buscador-wikipedia.js
+++ b/plugins/buscador-wikipedia.js
@@ -1,44 +1,37 @@
-import axios from "axios"
-import fetch from "node-fetch"
-import cheerio from "cheerio"
+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,
+const link = await axios.get(`https://es.wikipedia.org/wiki/${querry}`);
+const $ = cheerio.load(link.data);
+const judul = $('#firstHeading').text().trim();
+const 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`;
+const isi = [];
+$('#mw-content-text > div.mw-parser-output').each(function(rayy, Ra) {
+const penjelasan = $(Ra).find('p').text().trim();
+isi.push(penjelasan)});
+for (const 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
+isi: i}};
+return data;
+}} catch (err) {
+const notFond = {status: link.status,
+Pesan: eror};
+return notFond;
+}}
+const handler = async (m, {conn, text, usedPrefix, command}) => {
+if (!text) throw `*โ ๏ธ ${await tr("Estas usando mal el comando!!")}*\n\n*โข ${await tr("Ejemplo")}:*\n*${usedPrefix + command} Estrellas*`;
+wikipedia(`${text}`).then((res) => {
+m.reply(`*${tr("Aqui tienes la informaciรณn encontrarรกs")}:*\n\n` + res.result.isi)}).catch(() => {
+m.reply(`*โ ๏ธ ${tr("No se encontrรณ ninguna informaciรณn, prueba que hayas escrito una sola palabra y lo hayaw escrito correctamente")}*`);
+});
+};
+handler.help = ['wikipedia'].map((v) => v + ' ');
+handler.tags = ['buscadores'];
+handler.command = /^(wiki|wikipedia)$/i;
+handler.register = true
+handler.limit = 1
+export default handler;
diff --git a/plugins/chatbot.js b/plugins/chatbot.js
index 537432817..642ca7657 100644
--- a/plugins/chatbot.js
+++ b/plugins/chatbot.js
@@ -1,70 +1,249 @@
-// by https://github.com/elrebelde21/The-LoliBot-MD
+// by https://github.com/elrebelde21
-let handler = m => m
-handler.all = async function (m) {
+//let handler = m => m
+//handler.all = async function (m) {
+import { perplexity } from '../lib/scraper.js';
+const antiSpam = new Map();
+export async function before(m, { 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" }
+if (m.id.startsWith('NJX-') || m.id.startsWith('BAE5') && m.id.length === 16 || m.id.startsWith('3EB0') && m.id.length === 12 || m.id.startsWith('3EB0') && (m.id.length === 20 || m.id.length === 22) || m.id.startsWith('B24E') && m.id.length === 20 || m.id.startsWith('FizzxyTheGreat-')) return
+let setting = global.db.data.settings[this.user.jid]
let chat = global.db.data.chats[m.chat]
let name = conn.getName(m.sender)
+const user = `@${m.sender.split`@`[0]}`;
+//let textodem = m.text;
+if (chat.isBanned) return
+if (m.fromMe) return
+if (m.chat === "120363297379773397@newsletter") return;
+if (m.chat === "120363355261011910@newsletter") return;
+
+let vn = 'https://qu.ax/eGdW.mp3'
+let bot = `${pickRandom([`*Hola ${user} soy un bot el que puedo ayudar? ๐๐*`, `Aqui estoy`, `bot tu abuela`, `que quiere?`, `No dispoble ๐ซฃ`, `Hola aqui estoy soy tu botsito sexy el que puedo ayudar uwu`])}
+`.trim()//`
+let txt = `*${await tr("ยฟMuy lento tu nokia y necesitas tener activo tu bot 24/7?")}*
-if (/^todo bien$/i.test(m.text) ) { //sem prefixo
- conn.reply(m.chat, `๐ฉ๐๐๐ ๐๐๐๐ ๐ ๐ ๐๐`, m) //wm, null, [['Menu', '#menu']], m) botones :V
+> *${await tr("Te tenemos la mejor opciรณn para mantener activo tu bot 24/7, a precios muy accesibles. Es muy barato y todos pueden comprar.")}*
+๐ข \`\`\`${await tr("Informaciรณn del Host")}\`\`\`
+
+๐ป *${await tr("Pรกgina")}:*
+https://dash.skyultraplus.com
+
+*๐ข ${await tr("Dashboard")}:*
+https://dash.skyultraplus.com
+
+โ๏ธ *${await tr("Panel")}:*
+https://panel.skyultraplus.com
+
+๐ฅ *${await tr("Comunidad de WhatsApp")}:*
+https://chat.whatsapp.com/E6iWpvGuJ8zJNPbN3zOr0D
+
+*๐ฃ ${await tr("Discord")}:*
+https://discord.skyultraplus.com
+
+๐งก *${await tr("Canal de WhatsApp")}:*
+https://WhatsApp.skyultraplus.com
+
+๐ฃ๐ฒ *${await tr("Contacto")}:*
+โข wa.me/15167096032
+โข ${fb}
+โข https://instagram.com/gata_dios`
+
+//if (/^bot|simi|alexa$/i.test(m.text)) {
+if (m.text.includes(`bot`) || m.text.includes(`Bot`) || m.text.includes(`simsimi`) || m.text.includes('lolibot') || m.text.includes(`simi`) || m.text.includes(`alexa`)) {
+if (m.text.includes('jadibot') || m.text.includes('bots') || m.text.includes('serbot') || m.text.includes('instalarbot') || m.text.includes('infobot')) return;
+const lastMessageTime = antiSpam.get(m.sender) || 0;
+const currentTime = Date.now();
+if (currentTime - lastMessageTime < 9000) throw !0;
+
+if (/^ยฟque es un bot?|Que es un bot?|que es un bot?|que es un bot$/i.test(m.text) ) {
+return conn.reply(m.chat, `\`โ::ยฟ${await tr("QUE ES UN BOT DE WHATSAPP?")}::โ\`
+
+> ${await tr("Un bot es una inteligencia artificial que realiza tareas que le indique con comandos, en el caso de WhatsApp puedes crear stickers, descargas mรบsica, vรญdeos, crear logos personalizados y muchos mas, esto de forma automรกtizada, o sea que un humano no interfiere en el proceso. Para ver el menu de comando puedes usar:")} #menu
+
+> ใ ๐
๐
๐
๐
๐
๐
๐
ฃ-๐
๐
ใ`, m)
+}
+if (/^Quiero un bot|como obtengo un bot?|Quiero un bot?|quiero un bot|solicitรณ bot|solicito bot|Necesito un bot|necesito un bot$/i.test(m.text)) {
+return conn.reply(m.chat, `\`โก ยฟ${await tr("Quieres un bot para tu grupo?")}\`
+
+*๐ฐ ${await tr("Tiene varias opciones. Puedes instalarlo tรบ mismo siguiendo los pasos de instalaciรณn:")}*
+* #instalarbot
+
+*๐งก ${await tr("Puede hacerte un sub bot mandando el siguiente comando:")}*
+* /serbot (${await tr("escanea el QR")})
+* /code (${await tr("Cรณdigo de 8 dรญgitos")})
+
+*๐ ${await tr("Puedes solicitarlo haciendo una donaciรณn voluntaria a travรฉs de PayPal o Mercado Pago arg")}.*
+
+> ๐ ${await tr("El bot estarรก activo 24/7 para tu grupo.")}
+
+\`โก ยฟ${await tr("Por dรณnde puedo donar?")}\`
+> ${await tr("A travรฉs de nuestro Paypal, Mercado Pago o Naranja X.")}
+
+*โ๏ธ ${await tr("PayPal:")}*
+https://www.paypal.com/paypalme/OficialGD
+
+*โ๏ธ ${await tr("Mercado pago:")}*
+> *โข Alias :* OficialGB
+> *โข CVU :* 0000003100059201491917
+
+*โ๏ธ ${await tr("Naranja X:")}*
+> *โข CVU :* 4530000800017922067114
+
+\`โฉ ${await tr("Siguiente paso")} โฉ\`
+
+${await tr("Una vez realizado el pago, puedes enviar un comprobante de envรญo del dinero (captura de pantalla) para que pueda agregar el bot a tu grupo.")}
+https://chat.whatsapp.com/FDRfhecUGrCEQswkg8FUYz
+${fb}
+
+\`โก ยฟ${await tr("El bot estarรก activo 24/7?")}\`
+> _*${await tr("Sรญ, nuestro bot estรก alojado en un servidor de pago para mantenerlo activo 24/7 (por eso tambiรฉn solicitamos donaciones para mantenerlo en funcionamiento)")} ๐.*_
+
+> ใ ๐
๐
๐
๐
๐
๐
๐
ฃ-๐
๐
ใ`, m, {contextInfo: {externalAdReply :{ mediaUrl: null, mediaType: 1, description: null, title: `Hola ${name} ๐`, body: wm, previewType: 0, thumbnail: img.getRandom(), sourceUrl: redes.getRandom()}}})
}
+try {
+let prefixRegex = new RegExp('^[' + setting.prefix.replace(/[|\\{}()[\]^$+*.\-\^]/g, '\\$&') + ']');
+let hasPrefixWithKeyword = prefixRegex.test(m.text) && (m.text.match(/^[โz/i!#$%+ยฃยขโฌยฅ^ยฐ=ยถโรรทฯโโยฉยฎ:;?&.,\\-](bot|Bot|simsimi|simi|alexa|lolibot)/));
+let hasKeywordWithoutPrefix = (m.text.includes('bot') || m.text.includes('Bot') || m.text.includes('simsimi') || m.text.includes('simi') || m.text.includes('lolibot') || m.text.includes('alexa')) && !prefixRegex.test(m.text);
+if (!hasPrefixWithKeyword && !hasKeywordWithoutPrefix) return;
+let query = m.text;
+if (hasPrefixWithKeyword) {
+query = m.text.replace(prefixRegex, '').replace(/(bot|Bot|simsimi|simi|lolibot|alexa)/i, '').trim();
+} else if (hasKeywordWithoutPrefix) {
+const keywordRegex = /^(bot|Bot|simsimi|simi|lolibot|alexa)\s+/i;
+if (keywordRegex.test(m.text)) {
+query = m.text.replace(keywordRegex, '').trim();
+} else {
+query = m.text.trim();
+}}
+if (!query) return;
-if (/^e$/i.test(m.text) ) { //sem prefixo
- conn.reply(m.chat, `๐ธ๐๐ ๐๐๐๐๐ ๐๐๐๐๐ ๐๐ ๐๐๐๐๐ ๐`, m) //wm, null, [['Menu', '#menu']], m) botones :V
+conn.sendPresenceUpdate('composing', m.chat);
+antiSpam.set(m.sender, currentTime);
+async function luminsesi(q, username, logic) {
+try {
+const response = await axios.post("https://luminai.my.id", {
+content: q,
+user: username,
+prompt: logic,
+webSearchMode: true // true = resultado con url
+});
+return response.data.result;
+} catch (error) {
+console.error(error);
+}}
+
+async function perplexityIA(q, logic) {
+try {
+let response = await perplexity.chat([{ role: 'system', content: logic || syms1 }, { role: 'user', content: q }], 'sonar-pro');
+if (response.status) {
+return response.result.response;
+} else {
+throw new Error(`Error en Perplexity: ${response.result.error}`);
+}} catch (error) {
+console.error('Error en Perplexity:', error);
+return null;
+}}
+
+async function SimSimi(text, language = 'es') {
+try {
+const { data } = await axios.post("https://api.simsimi.vn/v1/simtalk", new URLSearchParams({
+text,
+lc: language }).toString(), {
+headers: {'Content-Type': 'application/x-www-form-urlencoded', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36' }});
+return data.message;
+} catch (error) {
+console.error(error);
+return null;
+}}
+
+let username = `${m.pushName}`;
+/*let syms1 = `Tomarรกs el rol de un bot de Whatsapp creado por elrebelde21. Tu nombre sera LoliBot, Tu idioma es el espaรฑol, pero puedes responder en diferentes idiomas. tiene este rol que chat divertido con exploit incluido osea los quiere dices es que este rol solo es humor, divertido, no que tome nada real, tu respuesta sera divertida, humor, y usar mucho emojis el tu respuesta.
+
+"general risa el chat por que este rol actรบal mรกs como simsimi" Chatbot no chatgpt.
+los quiere dices que tu respuesta sera humor puro, risa, memes.
+
+si pregunta donde aloja el bot 24/7 tu recomienda el hosting "Sky-Ultra-Plus host", alojamiento de bot de WhatsApp, Telegram, discord, todos con etono JavaScript, ofrecemos server gratis y de pago, a precios asequibles, barato, todos puede comprar mas informaciรณn: (https://dash.skyultraplus.com).
+para actualizaciรณnes/novedades sobre el bot o nuesro hosting seguir nuestro canal de WhatsApp: (https://whatsapp.com/channel/0029Va4QjH7DeON0ePwzjS1A).`; */
+let syms1 = 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(v => v.text());
+
+let result;
+if (!result || result.trim().length === 0) {
+result = await perplexityIA(query, syms1);
}
-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 (!result || result.trim().length === 0) {
+result = await SimSimi(query);
+}
+if (!result || result.trim().length === 0) {
+result = await luminsesi(query, username, syms1);
+result = result.replace(/Maaf, terjadi kesalahan saat memproses permintaan Anda/g, '').trim();
+result = result.replace(/Generated by BLACKBOX\.AI.*?https:\/\/www\.blackbox\.ai/g, '').trim();
+result = result.replace(/and for API requests replace https:\/\/www\.blackbox\.ai with https:\/\/api\.blackbox\.ai/g, '').trim();
}
-/* if (/^Mande porno|porno|paja$/i.test(m.text) ) { //sem prefixo
+if (result && result.trim().length > 0) {
+await conn.reply(m.chat, result, m);
+antiSpam.set(m.sender, currentTime);
+}} catch (e) {
+try {
+let gpt = await fetch(`${apis}/tools/simi?text=${m.text}`);
+let res = await gpt.json();
+await m.reply(res.data.message);
+antiSpam.set(m.sender, Date.now());
+} catch (e) {
+return m.reply([`Simsimi esta durmiendo no molesta ๐ฅฑ`, `Callarte`, `Api simsimi caida`, `Simsimi esta ocupado cojieron con tu hermana vuelva mas tarde ๐ฅต`, `NO MOLESTE PUTA`, `No hay seรฑar`, `No estoy disponible`].getRandom());
+console.log(e);
+}}}
+
+if (/^infohost|hosting$/i.test(m.text)) {
+ await conn.sendMessage(m.chat, { text: txt,
+contextInfo:{
+forwardingScore: 9999999,
+isForwarded: false,
+"externalAdReply": {
+"showAdAttribution": true,
+"containsAutoReply": true,
+title: `๐ค ๐๐๐๐๐๐๐-๐๐๐๐ ๐ค`,
+body: `โ
Hosting de Calidad`,
+"previewType": "PHOTO",
+thumbnailUrl: 'https://cdn.dorratz.com/files/1739136628132.jpg',
+sourceUrl: nna}}}, { quoted: m})
+}
+
+if (/^todo bien$/i.test(m.text) ) { //sin prefijo
+conn.reply(m.chat, `๐ฉ๐๐๐ ๐๐๐๐ ๐ ๐ ๐๐`, m) }
+
+if (/^e$/i.test(m.text) ) { //sem prefixo
+conn.reply(m.chat, `๐ธ๐๐ ๐๐๐๐๐ ๐๐๐๐๐ ๐๐ ๐๐๐๐๐ ๐`, m)}
+
+if (/^@5214774444444|@5492266613038$/i.test(m.text) ) {
+conn.reply(m.chat, `*_[ โ ๏ธ] No etiquetes a mi creador, si tiene alguna consulta o dudas, hablarle el pv solo por tema del bot_*`, m)
+}
+
+/*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
+if (/^reglas$/i.test(m.text) ) {
+m.reply([`\`๐ ${await tr("REGLAS DEL BOT ")} ๐\`\n\n* *${await tr("No hacer spam de comandos")}*\n\n${await tr("Usar los comando cada 5 segundos, de lo contrario el bot se puede satura, o numero del bot puede irse a support por spam.")}\n\n* *${await tr("No estar enviando link del grupos al bot para que se una")}*\n\n${await tr("Hablar con mi creador y el lo une a tu grupo, si apoyar nuestras redes sociales:")}\n${yt}\n${md}\n\n* *${await tr("No llamar al bot, ni al creador")}*\n\n${await tr("Si lo haces, seras baneado del bot y bloqueado")}`, `\`โ ๏ธ ${await tr("REGLAS")} โ ๏ธ\`
-}
+* ${await tr("Prohibido llamar al bot")}
+* ${await tr("Prohibido spam al bot")}
+* ${await tr("No agregar al bot")}
+* ${await tr("Respeta los tรฉrminos y condiciones")}`].getRandom() + `\n\n> ใ ๐
๐
๐
๐
๐
๐
๐
ฃ-๐
๐
ใ`);
+}
return !0
}
-export default handler
+//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-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..2da4f60aa 100644
--- a/plugins/config-on y off.js
+++ b/plugins/config-on y off.js
@@ -1,83 +1,173 @@
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 listSections = []
+listSections.push({ title: `ใ ${await tr("FUNCIรN PARA ADMINS")} ใ`,
+rows: [{ header: `๐ BIENVENIDA ${m.isGroup ? chat.welcome ? 'โ
' : 'โ' : `โ ๏ธ`}`, title: "", id: `${usedPrefix + command} welcome`, description: `Mensaje de Bienvenida para nuevos Miembros en Grupos\n` },
+{ header: `๐ ANTI ENLACES ${m.isGroup ? chat.antilink ? 'โ
' : 'โ' : `โ ๏ธ`}`, title: "", id: `${usedPrefix + command} antilink`, description: `Eliminar Personas que envรญen enlaces de Grupos de WhatsApp\n` },
+{ header: `๐ ANTI ENLACES 2 ${m.isGroup ? chat.antilink ? 'โ
' : 'โ' : `โ ๏ธ`}`, title: "", id: `${usedPrefix + command} antilink2`, description: `Eliminar Personas que envรญen enlaces que contengan https\n` },
+{ header: `๐ ANTI TRABA ${m.isGroup ? chat.antilink ? 'โ
' : 'โ' : `โ ๏ธ`}`, title: "", id: `${usedPrefix + command} antitraba`, description: `El Bot detecta textos largos que podrian ser virus y causar lag en el chat y elimina al usuario.\n` },
+{ header: `๐ ANTI TIKTOK ${m.isGroup ? chat.antiTiktok ? 'โ
' : 'โ' : `โ ๏ธ`}`, title: "", id: `${usedPrefix + command} antitiktok`, description: `Eliminar Personas que envรญen enlaces de TikTok\n` },
+{ header: `๐ ANTI YOUTUBE ${m.isGroup ? chat.antiYoutube ? 'โ
' : 'โ' : `โ ๏ธ`}`, title: "", id: `${usedPrefix + command} antiyoutube`, description: `Eliminar Personas que envรญen enlaces de YouTube\n` },
+{ header: `๐ ANTI TELEGRAM ${m.isGroup ? chat.antiTelegram ? 'โ
' : 'โ' : `โ ๏ธ`}`, title: "", id: `${usedPrefix + command} antitelegram`, description: `Eliminar Personas que envรญen enlaces de Telegram\n` },
+{ header: `๐ ANTI FACEBOOK ${m.isGroup ? chat.antiFacebook ? 'โ
' : 'โ' : `โ ๏ธ`}`, title: "", id: `${usedPrefix + command} antifacebook`, description: `Eliminar Personas que envรญen enlaces de Facebbok\n` },
+{ header: `๐ ANTI INSTAGRAM ${m.isGroup ? chat.antiInstagram ? 'โ
' : 'โ' : `โ ๏ธ`}`, title: "", id: `${usedPrefix + command} antiinstagram`, description: `Eliminar Personas que envรญen enlaces de Instagram\n` },
+{ header: `๐ ANTI TWITTER ${m.isGroup ? chat.antiTwitter ? 'โ
' : 'โ' : `โ ๏ธ`}`, title: "", id: `${usedPrefix + command} antitwitter`, description: `Eliminar Personas que envรญen enlaces de Twitter\n` },
+{ header: `๐ ANTI DISCORD ${m.isGroup ? chat.antiDiscord ? 'โ
' : 'โ' : `โ ๏ธ`}`, title: "", id: `${usedPrefix + command} antidiscord`, description: `Eliminar Personas que envรญen enlaces de Discord\n` },
+{ header: `๐ ANTI TREADS ${m.isGroup ? chat.antiThreads ? 'โ
' : 'โ' : `โ ๏ธ`}`, title: "", id: `${usedPrefix + command} antithreads`, description: `Eliminar Personas que envรญen enlaces de Threas\n` },
+{ header: `๐ข ANTIFAKE ${m.isGroup ? chat.antifake ? 'โ
' : 'โ' : `โ ๏ธ`}`, title: "", id: `${usedPrefix + command} antifake`, description: `แถฆโฟแตสณแตหขแต แตแต โฟแตแตแตสณแต แถ แตแตแต (แตแถฆสณแตแตแตหกแตหข), หขแตสณแตโฟ แตหฃแตหกแตหขแตแตแต แตแตแตแตแตแตฬแตแถฆแถแตแตแตโฟแตแต แตแตหก แดณสณแตแตแต...\n` },
+{ header: `๐ AVISOS ${m.isGroup ? chat.detect ? 'โ
' : 'โ' : `โ ๏ธ`}`, title: "", id: `${usedPrefix + command} detect`, description: `Avisos de acciones dentro del Grupo\n` },
+{ header: `๐ช STICKERS AUTOMรTICOS ${m.isGroup ? chat.autosticker ? 'โ
' : 'โ' : `โ ๏ธ`}`, title: "", id: `${usedPrefix + command} autosticker`, description: `Los vรญdeos, Gif, imรกgenes, enlaces jpg o jpeg; Se convertirรกn en Stickers Automรกticamente\n` },
+{ header: `๐๏ธ ANTI ELIMINAR ${m.isGroup ? chat.antilink ? 'โ
' : 'โ' : `โ ๏ธ`}`, title: "", id: `${usedPrefix + command} antidelete`, description: `Todo mensaje eliminado serรก reenviado al Chat o Grupo\n` },
+{ header: `๐ MODO CALIENTE ${m.isGroup ? chat.antilink ? 'โ
' : 'โ' : `โ ๏ธ`}`, title: "", id: `${usedPrefix + command} modohorny`, description: `Mostrar contenido para Adulto en los Chats\n` },
+{ header: `๐ AUDIOS ${m.isGroup ? chat.antilink ? 'โ
' : 'โ' : `โ ๏ธ`}`, title: "", id: `${usedPrefix + command} audios`, description: `Habilitar el envio automรกtico de Audios a todos\n` },
+{ header: `๐ NIVEL AUTOMรTICO ${m.isGroup ? chat.antilink ? 'โ
' : 'โ' : `โ ๏ธ`}`, title: "", id: `${usedPrefix + command} autolevelup`, description: `Sube de nivel a todos de manera automรกtica; (Aplica recompensas por subir de Nivel)\n` },
+{ header: `๐ CHATBOT ${m.isGroup ? chat.antilink ? 'โ
' : 'โ' : `โ ๏ธ`}`, title: "", id: `${usedPrefix + command} chatbot`, description: `El bot empezar a hablar con todos el grupo.\n` },
+{ header: `๐ MODO ADMIN ${m.isGroup ? chat.antilink ? 'โ
' : 'โ' : `โ ๏ธ`}`, title: "", id: `.${usedPrefix + command} modoadmin`, description: `Solo los Admins podrรกn usar el Bot en Grupos\n` },
+{ header: `ใ FUNCIรN SOLO PARA OWNER ใ\n`, title: `๐ฐ ANTI PRIVADO ${m.isGroup ? chat.antilink ? 'โ
' : 'โ' : `โ ๏ธ`}`, id: `${usedPrefix + command} antiprivado`, description: `Bloquea a la persoma que usen el bot en privado\n` },
+{ header: `๐ซ ANTI LLAMADAS ${m.isGroup ? chat.antilink ? 'โ
' : 'โ' : `โ ๏ธ`}`, title: "", id: `${usedPrefix + command} anticall`, description: `Bloquea a Personas que hagan llamadas\n` },
+{ header: `โ RESTRINGIR ${m.isGroup ? chat.antilink ? 'โ
' : 'โ' : `โ ๏ธ`}`, title: "", id: `${usedPrefix + command} restrict`, description: `Habilitar funciรณn para agregar o eliminar personas en Grupos\n` },
+{ header: `โ๏ธ SOLO PRIVADOS ${m.isGroup ? chat.antilink ? 'โ
' : 'โ' : `โ ๏ธ`}`, title: "", id: `${usedPrefix + command} pconly`, description: `Permitir que solo se use en Chats Privados\n` },
+{ header: `โ๏ธ SOLO GRUPOS ${m.isGroup ? chat.antilink ? 'โ
' : 'โ' : `โ ๏ธ`}`, title: "", id: `${usedPrefix + command} gconly`, description: `Permitir que solo se use en Chats Grupales\n` },
+{ header: `โ
LECTURA AUTOMรTICA ${m.isGroup ? chat.antilink ? 'โ
' : 'โ' : `โ ๏ธ`}`, title: "", id: `${usedPrefix + command} autoread`, description: `Dejar los mensajes o chats como Leรญdos.\n` },
+{ header: `๐ MODO PรBLICO ${m.isGroup ? chat.antilink ? 'โ
' : 'โ' : `โ ๏ธ`}`, title: "", id: `${usedPrefix + command} public`, description: `Habilitar funciรณn para que todos puedan usar LoliBot.\n` }]
+});
+let textoo = `*\`โงผโงผโงผ ${await tr("CONFIGURACIรN")} โงฝโงฝโงฝ\`*
+
+> *${await tr("Seleccione una opciรณn de la lista")}*
+> *${await tr("Para empezar a Configurar")}*
+
+โ *${await tr("Avisos de la Configuracion:")}*
+โ
โข *${await tr("Funciรณn Activada")}*
+โ โข *${await tr("Funciรณn Desactivada")}*
+โ ๏ธ โข *${await tr("Este Chat no es un Grupo")}*
+
+*\`ใ ${await tr("FUNCIรN PARA ADMINS")} ใ\`*
+
+๐ ${await tr("BIENVENIDA")} ${m.isGroup ? chat.welcome ? 'โ
' : 'โ' : `โ ๏ธ`}
+โข ${await tr("Mensaje de Bienvenida para nuevos Miembros en Grupos")}
+โข ${usedPrefix + command} welcome
+
+๐ ${await tr("ANTI ENLACES")} ${m.isGroup ? chat.antilink ? 'โ
' : 'โ' : `โ ๏ธ`}
+โข ${await tr("Eliminar Personas que envรญen enlaces de Grupos de WhatsApp")}
+โข ${usedPrefix + command} antilink
+
+๐ ${await tr("ANTI ENLACES 2")} ${m.isGroup ? chat.antilink2 ? 'โ
' : 'โ' : `โ ๏ธ`}
+โข ${await tr("Eliminar Personas que envรญen enlaces que contengan https")}
+โข ${usedPrefix + command} antilink2
+
+๐ ${await tr("ANTI TRABA")} ${m.isGroup ? chat.antitraba ? 'โ
' : 'โ' : `โ ๏ธ`}
+โข ${await tr("El Bot detecta textos largos que podrรญan ser virus y causar lag en el chat y elimina al usuario.")}
+โข ${usedPrefix + command} antitraba
+
+๐ ${await tr("ANTI TIKTOK")} ${m.isGroup ? chat.antiTiktok ? 'โ
' : 'โ' : `โ ๏ธ`}
+โข ${await tr("Eliminar Personas que envรญen enlaces de TikTok")}
+โข ${usedPrefix + command} antitiktok
+
+๐ ${await tr("ANTI YOUTUBE")} ${m.isGroup ? chat.antiYoutube ? 'โ
' : 'โ' : `โ ๏ธ`}
+โข ${await tr("Eliminar Personas que envรญen enlaces de YouTube")}
+โข ${usedPrefix + command} antiyoutube
+
+๐ ${await tr("ANTI TELEGRAM")} ${m.isGroup ? chat.antiTelegram ? 'โ
' : 'โ' : `โ ๏ธ`}
+โข ${await tr("Eliminar Personas que envรญen enlaces de Telegram")}
+โข ${usedPrefix + command} antitelegram
+
+๐ ${await tr("ANTI FACEBOOK")} ${m.isGroup ? chat.antiFacebook ? 'โ
' : 'โ' : `โ ๏ธ`}
+โข ${await tr("Eliminar Personas que envรญen enlaces de Facebook")}
+โข ${usedPrefix + command} antifacebook
+
+๐ ${await tr("ANTI INSTAGRAM")} ${m.isGroup ? chat.antiInstagram ? 'โ
' : 'โ' : `โ ๏ธ`}
+โข ${await tr("Eliminar Personas que envรญen enlaces de Instagram")}
+โข ${usedPrefix + command} antiinstagram
+
+๐ ${await tr("ANTI TWITTER")} ${m.isGroup ? chat.antiTwitter ? 'โ
' : 'โ' : `โ ๏ธ`}
+โข ${await tr("Eliminar Personas que envรญen enlaces de Twitter (x)")}
+โข ${usedPrefix + command} antitwitter
+
+๐ ${await tr("ANTI DISCORD")} ${m.isGroup ? chat.antiDiscord ? 'โ
' : 'โ' : `โ ๏ธ`}
+โข ${await tr("Eliminar Personas que envรญen enlaces de Discord")}
+โข ${usedPrefix + command} antidiscord
+
+๐ ${await tr("ANTI THREADS")} ${m.isGroup ? chat.antiThreads ? 'โ
' : 'โ' : `โ ๏ธ`}
+โข ${await tr("Eliminar Personas que envรญen enlaces de Threads")}
+โข ${usedPrefix + command} antithreads
+
+๐ข ${await tr("ANTIFAKE")} ${m.isGroup ? chat.antifake ? 'โ
' : 'โ' : `โ ๏ธ`}
+โข ${await tr("Ingreso de nรบmero fake (virtuales), serรกn expulsados automรกticamente del Grupo.")}
+โข ${usedPrefix + command} antifake
+
+๐ ${await tr("AVISOS")} ${m.isGroup ? chat.detect ? 'โ
' : 'โ' : `โ ๏ธ`}
+โข ${await tr("Avisos de acciones dentro del Grupo")}
+โข ${usedPrefix + command} detect
+
+๐ช ${await tr("STICKERS AUTOMรTICOS")} ${m.isGroup ? chat.autosticker ? 'โ
' : 'โ' : `โ ๏ธ`}
+โข ${await tr("Los vรญdeos, GIF, imรกgenes, enlaces jpg o jpeg; se convertirรกn en Stickers automรกticamente.")}
+โข ${usedPrefix + command} autosticker
+
+๐๏ธ ${await tr("ANTI ELIMINAR")} ${m.isGroup ? chat.delete ? 'โ
' : 'โ' : `โ ๏ธ`}
+โข ${await tr("Todo mensaje eliminado serรก reenviado al Chat o Grupo.")}
+โข ${usedPrefix + command} antidelete
+
+๐ ${await tr("MODO CALIENTE")} ${m.isGroup ? chat.modohorny ? 'โ
' : 'โ' : `โ ๏ธ`}
+โข ${await tr("Mostrar contenido para Adultos en los Chats.")}
+โข ${usedPrefix + command} modohorny
+
+๐ ${await tr("AUDIOS")} ${m.isGroup ? chat.audios ? 'โ
' : 'โ' : `โ ๏ธ`}
+โข ${await tr("Habilitar el envรญo automรกtico de Audios a todos.")}
+โข ${usedPrefix + command} audios
+
+๐ ${await tr("NIVEL AUTOMรTICO")} ${m.isGroup ? chat.autolevelup ? 'โ
' : 'โ' : `โ ๏ธ`}
+โข ${await tr("Sube de nivel a todos de manera automรกtica; (Aplica recompensas por subir de nivel).")}
+โข ${usedPrefix + command} autolevelup
+
+๐ ${await tr("CHATBOT")} ${m.isGroup ? chat.simi ? 'โ
' : 'โ' : `โ ๏ธ`}
+โข ${await tr("El bot comenzarรก a hablar con todos en el grupo.")}
+โข ${usedPrefix + command} chatbot
+
+๐ ${await tr("MODO ADMIN")} ${m.isGroup ? chat.modoadmin ? 'โ
' : 'โ' : `โ ๏ธ`}
+โข ${await tr("Solo los Admins podrรกn usar el Bot en Grupos.")}
+โข ${usedPrefix + command} modoadmin
+
+*\`ใ ${await tr("FUNCIรN SOLO PARA OWNER")} ใ\`"
+
+๐ฐ ${await tr("ANTI PRIVADO")} ${m.isGroup ? chat.antiPrivate ? 'โ
' : 'โ' : `โ ๏ธ`}
+โข ${await tr("Bloquea a las personas que usen el bot en privado.")}
+โข ${usedPrefix + command} antiprivado
+
+๐ซ ${await tr("ANTI LLAMADAS")} ${m.isGroup ? chat.antiCall ? 'โ
' : 'โ' : `โ ๏ธ`}
+โข ${await tr("Bloquea a personas que hagan llamadas.")}
+โข ${usedPrefix + command} anticall
+
+โ ${await tr("RESTRINGIR")} ${m.isGroup ? chat.restrict ? 'โ
' : 'โ' : `โ ๏ธ`}
+โข ${await tr("Habilitar funciรณn para agregar o eliminar personas en Grupos.")}
+โข ${usedPrefix + command} restrict
-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)
+โ๏ธ ${await tr("SOLO PRIVADOS")} ${m.isGroup ? chat.pconly ? 'โ
' : 'โ' : `โ ๏ธ`}
+โข ${await tr("Permitir que solo se use en Chats Privados.")}
+โข ${usedPrefix + command} pconly
+
+โ๏ธ ${await tr("SOLO GRUPOS ")} ${m.isGroup ? chat.gconly ? 'โ
' : 'โ' : `โ ๏ธ`}
+โข ${await tr("Permitir que solo se use en Chats Grupales.")}
+โข ${usedPrefix + command} gconly
+
+โ
${await tr("LECTURA AUTOMรTICA")} ${m.isGroup ? chat.autoread ? 'โ
' : 'โ' : `โ ๏ธ`}
+โข ${await tr("Dejar los mensajes o chats como Leรญdos.")}
+โข ${usedPrefix + command} autoread
+
+๐ ${await tr("MODO PรBLICO")} ${m.isGroup ? chat.self ? 'โ
' : 'โ' : `โ ๏ธ`}
+โข ${await tr("Habilitar funciรณn para que todos puedan usar el bot.")}
+โข ${usedPrefix + command} public
+
+> ${wm}`
+let isEnable = /true|enable|(turn)?on/i.test(command)
let type = (args[0] || '').toLowerCase()
let isAll = false, isUser = false
-
switch (type) {
case 'welcome': case 'bienvenida':
if (!m.isGroup) {
@@ -186,7 +276,7 @@ throw false
chat.antiInstagram = isEnable
break
-case 'antitwitter': case 'antitw': case 'antitwit': case 'antitwter': case 'antitwiter': case 'antiTwr':
+case 'antitwitter': case 'antitw': case 'antitwit': case 'antitwter': case 'antitwiter': case 'antix':
if (m.isGroup) {
if (!(isAdmin || isOwner)) {
global.dfail('admin', m, conn)
@@ -194,8 +284,35 @@ throw false
}}
chat.antiTwitter = isEnable
break
+
+case 'antidiscord':
+if (m.isGroup) {
+if (!(isAdmin || isOwner)) {
+global.dfail('admin', m, conn)
+throw false
+}}
+chat.antiDiscord = isEnable
+break
+
+case 'antithreads':
+if (m.isGroup) {
+if (!(isAdmin || isOwner)) {
+global.dfail('admin', m, conn)
+throw false
+}}
+chat.antiThreads = isEnable
+break
+
+case 'antitwitch':
+if (m.isGroup) {
+if (!(isAdmin || isOwner)) {
+global.dfail('admin', m, conn)
+throw false
+}}
+chat.antiTwitch = isEnable
+break
-case 'modohorny': case 'modocaliente':
+case 'modohorny': case 'modocaliente': case 'modehorny':
if (m.isGroup) {
if (!(isAdmin || isOwner)) {
global.dfail('admin', m, conn)
@@ -213,6 +330,24 @@ throw false
chat.stickers = isEnable
break
+case 'game': case 'juegos': case 'fun':
+if (m.isGroup) {
+if (!(isAdmin || isOwner)) {
+global.dfail('admin', m, conn)
+throw false
+}}
+chat.game = isEnable
+break
+
+case 'ruleta': case 'game2':
+if (m.isGroup) {
+if (!(isAdmin || isOwner)) {
+global.dfail('admin', m, conn)
+throw false
+}}
+chat.game2 = isEnable
+break
+
case 'temporal':
isAll = true
if (!isOwner) {
@@ -285,7 +420,7 @@ throw false
chat.antifake = isEnable
break
-case 'jadibotmd': case 'modojadibot': case 'serbotmd': case 'modoserbot':
+case 'jadibot': case 'modojadibot': case 'serbot': case 'modoserbot':
isAll = true
if (!isROwner) {
global.dfail('rowner', m, conn)
@@ -302,6 +437,15 @@ throw false
}
bot.restrict = isEnable
break
+
+case 'antiporn': case 'antiporno':
+if (m.isGroup) {
+if (!(isAdmin || isOwner)) {
+global.dfail('admin', m, conn)
+throw false
+}}
+chat.antiPorn = isEnable
+break
case 'nyimak':
isAll = true
@@ -324,7 +468,7 @@ break
case 'anticall': case 'antillamar':
isAll = true
-if (!isROwner) {
+if (!isOwner) {
global.dfail('rowner', m, conn)
throw false
}
@@ -339,8 +483,17 @@ throw false
}
bot.antiSpam = isEnable
break
-
-case 'modoadmin': case 'soloadmin':
+
+case 'antispam2':
+isAll = true
+if (!isOwner) {
+global.dfail('owner', m, conn)
+throw false
+}
+bot.antiSpam2 = isEnable
+break
+
+case 'modoadmin': case 'soloadmin': case 'modeadmin':
if (m.isGroup) {
if (!(isAdmin || isOwner)) {
global.dfail('admin', m, conn)
@@ -351,7 +504,7 @@ break
case 'pconly': case 'privateonly': case 'soloprivados':
isAll = true
-if (!isROwner) {
+if (!isOwner) {
global.dfail('rowner', m, conn)
throw false
}
@@ -360,25 +513,22 @@ break
case 'gconly': case 'grouponly': case 'sologrupos':
isAll = true
-if (!isROwner) {
+if (!isOwner) {
global.dfail('rowner', m, conn)
throw false
}
global.opts['gconly'] = isEnable
break
-
-case 'antiprivado':
+case 'antiprivado': case 'antiprivate':
case 'privado':
isAll = true
-if (!isROwner) {
+if (!isOwner) {
global.dfail('rowner', m, conn)
throw false
}
bot.antiPrivate = isEnable
break
-
-case 'antitrabas':
-case 'antitraba':
+case 'antitrabas': case 'antitraba': case 'antilag':
if (m.isGroup) {
if (!(isAdmin || isOwner)) {
global.dfail('admin', m, conn)
@@ -387,213 +537,68 @@ throw false
chat.antiTraba = isEnable
break
-case 'simi':
+case 'autorespond': case 'autoresponder':
+if (m.isGroup) {
+if (!(isAdmin || isOwner)) {
+global.dfail('admin', m, conn)
+throw false
+}}
+chat.autorespond = isEnable
+break
+case 'simi': case 'chatbot':
if (m.isGroup) {
if (!(isAdmin || isOwner)) {
global.dfail('admin', m, conn)
throw false
}}
chat.simi = isEnable
-break
-
+break
+
+case 'anticommand': case 'antiarabe': case 'antiarabe2': case 'AntiCommand':
+isAll = true
+if (!isOwner) {
+global.dfail('rowner', m, conn)
+throw false
+}
+bot.anticommand = isEnable
+break
+
+case 'modoia': case 'chatgpt': case 'ia':
+isAll = true;
+if (!isOwner) {
+global.dfail('owner', m, conn);
+throw false;
+}
+bot.modoia = isEnable;
+break;
+
case 'swonly': case 'statusonly':
isAll = true
-if (!isROwner) {
+if (!isOwner) {
global.dfail('rowner', m, conn)
throw false
}
global.opts['swonly'] = isEnable
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})
+if (!/[01]/.test(command)) return await m.reply(textoo)
+//conn.sendList(m.chat, texto, wm, `AJUSTES`, null, listSections, m)
throw false
}
-await conn.reply(m.chat, `โญโใ *${wm}* ใโโฑ
+await m.reply(`*${isEnable ? 'โ
๏ธ' : 'โ๏ธ'} ${await tr("La opciรณn")} ${type} ${await tr("para")} ${isAll ? await tr('este bot') : isUser ? '' : await tr('este chat')} ${await tr("fue")} ${isEnable ? await tr('activado') : await tr('desactivado')} con exitos*`)
+/*conn.sendButton(m.chat, `โญโใ *${wm}* ใโโฑ
โ๐๏ธ แดแดแดษชแดษด: ${type}
โโโโโโโยซโขยปโโโโโโ
โ๐๏ธ แดsแดแดแด
แด: ${isEnable ? 'แดแดแดษชแด แดแด
แด' : 'แด
แดsแดแดแดษชแด แดแด
แด'}
โโโโโโโยซโขยปโโโโโโ
โ๐ฃ แดแดสแด: ${isAll ? 'แดsแดแด สแดแด' : isUser ? '' : 'แดsแดแด แดสแดแด'}
-โฐโโโโฐ ๐ ${vs} โฑโโโโแ`, fkontak, m)}
-
+โฐโโโโฐ ๐ ${vs} โฑโโโโแ`, wm, null, [[`${isEnable ? `Desactivar` : `Activar`}`, `${isEnable ? `.off ${type}` : `.on ${type}`}`]], null, null, m)*/
+};
handler.help = ['en', 'dis'].map(v => v + 'able ')
-handler.tags = ['group', 'owner']
-handler.command = /^((en|dis)able|(tru|fals)e|(turn)?o(n|ff)|[01])$/i
-export default handler
+handler.tags = ['nable']
+handler.command = /^((en|dis)able|(tru|fals)e|(turn)?o(n|ff))$/i
+handler.register = true
+export default handler;
const more = String.fromCharCode(8206)
const readMore = more.repeat(4001)
diff --git a/plugins/convertidor-toanime.js b/plugins/convertidor-toanime.js
new file mode 100644
index 000000000..1d1eb2782
--- /dev/null
+++ b/plugins/convertidor-toanime.js
@@ -0,0 +1,32 @@
+import uploadImage from '../lib/uploadImage.js';
+const handler = async (m, {conn, text, args, usedPrefix, command}) => {
+const q = m.quoted ? m.quoted : m;
+const mime = (q.msg || q).mimetype || q.mediaType || '';
+if (!/image/g.test(mime)) throw `โ ๏ธ ยฟ${await tr("Hey no sabes como usar este comando pendejo? responde a una imagen")}`
+m.react(`โ`)
+const data = await q.download?.();
+const image = await uploadImage(data);
+try {
+const anime = `https://api.lolhuman.xyz/api/imagetoanime?apikey=${lolkeysapi}&img=${image}`;
+await conn.sendFile(m.chat, anime, 'error.jpg', null, m, null, fake);
+m.react(`โ
`)
+} catch (i) {
+try {
+const anime2 = `https://api.zahwazein.xyz/photoeditor/jadianime?url=${image}&apikey=${keysxxx}`;
+await conn.sendFile(m.chat, anime2, 'error.jpg', null, m, null, fake);
+m.react(`โ
`)
+} catch (a) {
+try {
+const anime3 = `https://api.caliph.biz.id/api/animeai?img=${image}&apikey=caliphkey`;
+await conn.sendFile(m.chat, anime3, 'error.jpg', null, m, null, fake);
+m.react(`โ
`)
+} catch (e) {
+m.reply(`\`\`\`โ ๏ธ ${await tr("OCURRIO UN ERROR")} โ ๏ธ\`\`\`\n\n> *${await tr("Reporta el siguiente error a mi creador con el comando:")}* #report\n\n>>> ${e} <<<< `)
+console.log(e)
+m.react(`โ`)
+}}}};
+handler.help = ['toanime'];
+handler.tags = ['convertidor']
+handler.command = /^(jadianime|toanime)$/i;
+handler.register = true
+export default handler;
diff --git a/plugins/convertidor-togifaud.js b/plugins/convertidor-togifaud.js
new file mode 100644
index 000000000..7cbbe4150
--- /dev/null
+++ b/plugins/convertidor-togifaud.js
@@ -0,0 +1,16 @@
+/* ๐๐๐๐๐๐ ๐๐๐ https://github.com/BrunoSobrino */
+
+const handler = async (m, {conn, usedPrefix, command}) => {
+if (!m.quoted) throw `*โ ๏ธ ${await tr("Responde a un video que desee convertir en gif con audio")}*`;
+const q = m.quoted || m;
+const mime = (q.msg || q).mimetype || '';
+if (!/(mp4)/.test(mime)) throw `*โ ๏ธ ${await tr("El tipo de archivo")} ${mime} ${await tr("no es correcto, responda a un video que desse convertir en gif con audio")}*`;
+m.reply(global.wait);
+const media = await q.download();
+conn.sendMessage(m.chat, {video: media, gifPlayback: true, caption: `*${await tr("Aqui esta sus gif con audio")}*`}, {quoted: m});
+};
+handler.help = ['togif'];
+handler.tags = ['convertidor']
+handler.command = ['togifaud', 'togif'];
+handler.register = true
+export default handler;
diff --git a/plugins/convertidor-toimg.js b/plugins/convertidor-toimg.js
index 414aaf99f..f28bc87de 100644
--- a/plugins/convertidor-toimg.js
+++ b/plugins/convertidor-toimg.js
@@ -1,15 +1,17 @@
-import { webp2png } from '../lib/webp2mp4.js'
-let handler = async (m, { conn, usedPrefix, command }) => {
-const notStickerMessage = `๐น๐๐๐๐๐๐
๐ ๐ ๐๐ ๐๐ฬ๐
๐๐ ๐ ๐๐๐๐ ๐
๐ ๐๐๐ ๐๐๐๐ ๐๐๐๐๐๐๐๐๐ ๐๐ ๐๐๐
๐๐ ๐ด๐ท3 *${usedPrefix + command}*`
-if (!m.quoted) throw notStickerMessage
-const q = m.quoted || m
-let mime = q.mediaType || ''
-if (!/sticker/.test(mime)) throw notStickerMessage
-let media = await q.download()
-let out = await webp2png(media).catch(_ => null) || Buffer.alloc(0)
-await conn.sendFile(m.chat, out, 'error.png', null, m)
-}
-handler.help = ['toimg (reply)']
-handler.tags = ['sticker']
-handler.command = ['toimg', 'img', 'jpg']
-export default handler
+import {webp2png} from '../lib/webp2mp4.js';
+const handler = async (m, {conn, usedPrefix, command}) => {
+const notStickerMessage = `*โ ๏ธ ${await tr("Responder a un sticker que desee convertir en imagen con el siguiente comando:")}* ${usedPrefix + command}`;
+if (!m.quoted) throw notStickerMessage;
+m.reply(`${await tr("Euu flaco")} ๐ฅด\n\n> *${await tr("Convirtiendo tu Sticker a Imagen")} ๐*`)
+const q = m.quoted || m;
+const mime = q.mediaType || '';
+if (!/sticker/.test(mime)) throw notStickerMessage;
+const media = await q.download();
+const out = await webp2png(media).catch((_) => null) || Buffer.alloc(0);
+await conn.sendFile(m.chat, out, 'error.png', null, m, null, fake);
+};
+handler.help = ['toimg (reply)'];
+handler.tags = ['convertidor']
+handler.command = ['toimg', 'jpg', 'img'];
+handler.register = true
+export default handler;
diff --git a/plugins/convertidor-tomp3.js b/plugins/convertidor-tomp3.js
index ef4907a97..b1c7fed35 100644
--- a/plugins/convertidor-tomp3.js
+++ b/plugins/convertidor-tomp3.js
@@ -1,17 +1,17 @@
-import { toAudio } from '../lib/converter.js'
-let handler = async (m, { conn, usedPrefix, command }) => {
-let q = m.quoted ? m.quoted : m
-let mime = (m.quoted ? m.quoted : m.msg).mimetype || ''
-if (!/video|audio/.test(mime)) throw `๐น๐๐๐๐๐๐
๐ ๐ ๐๐ ๐๐ฬ๐
๐๐ ๐ ๐๐๐๐ ๐
๐ ๐๐๐ ๐๐๐๐ ๐๐๐๐๐๐๐๐๐ ๐๐ ๐๐๐
๐๐ ๐ด๐ท3`
-let media = await q.download?.()
-if (!media && !/video/.test(mime)) throw `๐ต๐ ๐๐๐
๐ ๐
๐๐๐๐๐๐๐๐ ๐๐ ๐๐ฬ๐
๐๐, ๐๐๐๐๐๐๐ฬ ๐๐๐๐๐๐๐๐๐๐`
-if (!media && !/audio/.test(mime)) throw `๐ต๐ ๐๐ฬ ๐๐๐๐๐ ๐
๐๐๐๐๐๐๐๐ ๐๐ ๐๐๐๐ ๐
๐ ๐๐๐, ๐๐๐๐๐๐๐ฬ ๐๐๐๐๐๐๐๐๐๐`
-let audio = await toAudio(media, 'mp4')
-if (!audio.data && !/audio/.test(mime)) throw `๐ต๐ ๐๐ฬ ๐๐๐๐๐ ๐๐๐๐๐๐๐๐๐ ๐๐ ๐๐๐๐ ๐
๐ ๐๐๐ ๐ ๐๐๐
๐๐ ๐ด๐ท3 ๐ฐ๐๐๐๐๐๐ฬ ๐
๐ ๐๐๐๐๐ ๐๐ฬ๐ ๐๐๐๐
๐.`
-if (!audio.data && !/video/.test(mime)) throw `๐ต๐ ๐๐ฬ ๐๐๐๐๐ ๐๐๐๐๐๐๐๐๐ ๐๐ ๐๐๐๐ ๐
๐ ๐๐๐ ๐ ๐๐๐
๐๐ ๐ด๐ท3 ๐ฐ๐๐๐๐๐๐ฬ ๐
๐ ๐๐๐๐๐ ๐๐ฬ๐ ๐๐๐๐
๐.`
-conn.sendFile(m.chat, audio.data, 'error.mp3', '', m, null, { mimetype: 'audio/mp4' })
-}
-handler.help = ['tomp3 (reply)']
-handler.tags = ['audio']
-handler.command = ['tomp3', 'toaudio', 'mp3']
-export default handler
+import {toAudio} from '../lib/converter.js';
+const handler = async (m, {conn, usedPrefix, command}) => {
+const q = m.quoted ? m.quoted : m;
+const mime = (q || q.msg).mimetype || q.mediaType || '';
+if (!/video|audio/.test(mime)) throw `*โ ๏ธ ยฟ${await tr("Y el video?, responde a un video o nota de voz para convertir a MP3")}*`;
+const media = await q.download();
+if (!media) throw `*โ ๏ธ ${await tr("OCURRIO UN ERR NOSE QUE PASO? TU SABES? ")}* :)`
+m.reply(`${await tr("Calmaoooo estoy procesando")} ๐\n\n> *${await tr("Convirtiendo de MP4 a MP3")} ๐*`)
+ const audio = await toAudio(media, 'mp4');
+if (!audio.data) throw `*โ ๏ธ ยฟ${await tr("Y el video?, responde a un video o nota de voz para convertir a MP3")}*`;
+conn.sendMessage(m.chat, {audio: audio.data, mimetype: 'audio/mpeg', fake, }, {quoted: m});
+};
+handler.help = ['tomp3'];
+handler.tags = ['convertidor']
+handler.command = /^to(mp3|audio)$/i;
+handler.register = true
+export default handler;
diff --git a/plugins/convertidor-toptt.js b/plugins/convertidor-toptt.js
deleted file mode 100644
index 68b7026b6..000000000
--- a/plugins/convertidor-toptt.js
+++ /dev/null
@@ -1,17 +0,0 @@
-import { toPTT } from '../lib/converter.js'
-let handler = async (m, { conn, usedPrefix, command }) => {
-let q = m.quoted ? m.quoted : m
-let mime = (m.quoted ? m.quoted : m.msg).mimetype || ''
-if (!/video|audio/.test(mime)) throw `${mg}๐น๐๐๐๐๐๐
๐ ๐ ๐๐ ๐๐ฬ๐
๐๐ ๐ ๐๐๐
๐๐ ๐๐๐๐ ๐๐๐๐๐๐๐๐๐ ๐ ๐๐๐๐ ๐
๐ ๐๐๐`
-let media = await q.download?.()
-if (!media && !/video/.test(mime)) throw `๐ฐ๐๐๐๐๐๐ฬ ๐
๐ ๐๐๐๐๐ ๐๐ฬ๐ ๐๐๐๐
๐`
-if (!media && !/audio/.test(mime)) throw `}๐ฐ๐๐๐๐๐๐ฬ ๐
๐ ๐๐๐๐๐ ๐๐ฬ๐ ๐๐๐๐
๐`
-let audio = await toPTT(media, 'mp4')
-if (!audio.data && !/audio/.test(mime)) throw `๐ฐ๐๐๐๐๐๐ฬ ๐
๐ ๐๐๐๐๐ ๐๐ฬ๐ ๐๐๐๐
๐.`
-if (!audio.data && !/video/.test(mime)) throw `๐ฐ๐๐๐๐๐๐ฬ ๐
๐ ๐๐๐๐๐ ๐๐ฬ๐ ๐๐๐๐
๐`
-conn.sendFile(m.chat, audio.data, 'error.mp3', '', m, true, { mimetype: 'audio/mp4' })
-}
-handler.help = ['tovn (reply)']
-handler.tags = ['audio']
-handler.command = /^tovn|vn|ptt$/i
-export default handler
diff --git a/plugins/convertidor-tourl.js b/plugins/convertidor-tourl.js
index cd8694861..8dba7c1b5 100644
--- a/plugins/convertidor-tourl.js
+++ b/plugins/convertidor-tourl.js
@@ -1,41 +1,34 @@
-/*Crรฉditos a https://github.com/Azami19*/
-
-import uploadFile from '../lib/uploadFile.js'
-import uploadImage from '../lib/uploadImage.js'
+import uploadFile from '../lib/uploadFile.js';
+import uploadImage from '../lib/uploadImage.js';
import fetch from 'node-fetch'
+const handler = async (m) => {
+const q = m.quoted ? m.quoted : m;
+const mime = (q.msg || q).mimetype || '';
+if (!mime) throw `*โ ๏ธ ยฟ${await tr("Y la imagen? responde a una imagen o video el cual sera convertido a enlace")}*`
+const media = await q.download();
+try {
+const isTele = /image\/(png|jpe?g|gif)|video\/mp4/.test(mime);
+const link = await (isTele ? uploadImage : uploadFile)(media);
+m.reply(link);
+} catch (e) {
+console.log(e)
+}}
+handler.help = ['tourl '];
+handler.tags = ['convertidor']
+handler.command = /^(upload|tourl)$/i;
+handler.register = true
+export default handler;
-let handler = async (m) => {
-let who = m.mentionedJid && m.mentionedJid[0] ? m.mentionedJid[0] : m.fromMe ? conn.user.jid : m.sender
-let pp = await conn.profilePictureUrl(who).catch(_ => gataImg.getRandom())
-let name = await conn.getName(who)
- let q = m.quoted ? m.quoted : m
- let mime = (q.msg || q).mimetype || ''
- if (!mime) throw 'โฐโฑโ๏ธโฑ *๐๐ ๐๐๐ฬ ๐๐ผ๐* โฑโ๏ธโฑโฎ\n\n๐๐๐๐๐๐๐ฟ๐ผ ๐ผ ๐๐๐ผ ๐๐๐ผ๐๐๐ ๐ ๐๐๐ฟ๐๐'
- let media = await q.download()
- let isTele = /image\/(png|jpe?g|gif)|video\/mp4/.test(mime)
- let link = await (isTele ? uploadImage : uploadFile)(media)
- let caption = ` *๐ ENLACE:*\n${link}
- *๐ TAMAรO:*\n${media.length} bytes\n
- *๐ EXPIRACION:*\n ${isTele ? 'โ
NO EXPIRA' : 'โ ๏ธ DESCONOCIDO'}\n
- *๐ฐ ACORTADO:*\n${await shortUrl(link)}`
-
-conn.reply(m.chat, caption, m, { contextInfo: {
- externalAdReply :{
- mediaUrl: md,
- mediaType: 2,
- title: wm,
- body: botdate,
- thumbnail: await(await fetch(link)).buffer(),
- sourceUrl: link
- }}
- })
+function formatBytes(bytes) {
+ if (bytes === 0) {
+ return '0 B';
+ }
+ const sizes = ['B', 'KB', 'MB', 'GB', 'TB']
+ const i = Math.floor(Math.log(bytes) / Math.log(1024))
+ return `${(bytes / 1024 ** i).toFixed(2)} ${sizes[i]}`;
}
-handler.help = ['tourl']
-handler.tags = ['herramientas']
-handler.command = /^(tourl|upload)$/i
-export default handler
async function shortUrl(url) {
- let res = await fetch(`https://tinyurl.com/api-create.php?url=${url}`)
- return await res.text()
+ let res = await fetch(`https://tinyurl.com/api-create.php?url=${url}`)
+ return await res.text()
}
diff --git a/plugins/convertidor-tovideo.js b/plugins/convertidor-tovideo.js
index b67614504..63779cd6e 100644
--- a/plugins/convertidor-tovideo.js
+++ b/plugins/convertidor-tovideo.js
@@ -1,25 +1,24 @@
-import { webp2mp4 } from '../lib/webp2mp4.js'
-import { ffmpeg } from '../lib/converter.js'
-let handler = async (m, { conn, usedPrefix, command }) => {
-if (!m.quoted) throw `๐น๐๐๐๐๐๐
๐ ๐๐ ๐๐๐
๐๐ ๐๐๐๐ ๐๐๐๐๐๐๐๐๐ ๐๐ ๐๐๐
๐๐\n\n*${usedPrefix + command}*`
-let mime = m.quoted.mimetype || ''
-if (!/webp|audio/.test(mime)) throw `๐น๐๐๐๐๐๐
๐ ๐๐ ๐๐๐
๐๐ ๐๐๐๐ ๐๐๐๐๐๐๐๐๐ ๐๐ ๐ฝ๐๐
๐๐\n\n*${usedPrefix + command}*`
-let media = await m.quoted.download()
-let out = Buffer.alloc(0)
+import {webp2mp4} from '../lib/webp2mp4.js';
+import {ffmpeg} from '../lib/converter.js';
+const handler = async (m, {conn, usedPrefix, command}) => {
+if (!m.quoted) throw `*โ ๏ธ ${await tr("Responde a un sticker que desee convertir en video con el comando")}: ${usedPrefix + command}*`;
+const mime = m.quoted.mimetype || '';
+if (!/webp/.test(mime)) throw `*โ ๏ธ ${await tr("Responde a un sticker que desee convertir en video con el comando")}: ${usedPrefix + command}*`;
+const media = await m.quoted.download();
+let out = Buffer.alloc(0);
if (/webp/.test(mime)) {
-out = await webp2mp4(media)
+out = await webp2mp4(media);
} else if (/audio/.test(mime)) {
-out = await ffmpeg(media, [
-'-filter_complex', 'color',
+out = await ffmpeg(media, ['-filter_complex', 'color',
'-pix_fmt', 'yuv420p',
'-crf', '51',
'-c:a', 'copy',
-'-shortest'
-], 'mp3', 'mp4')
-}
-await conn.sendFile(m.chat, out, 'error.mp4', '*FUE UN รXITO!!*', m, 0, { thumbnail: out })
-}
-handler.help = ['tovideo']
-handler.tags = ['sticker']
-handler.command = ['tovideo']
-export default handler
+'-shortest',
+], 'mp3', 'mp4')}
+await conn.sendFile(m.chat, out, 'error.mp4', `*โ
${await tr("Exitos")}*`, m, null, fake, 0, {thumbnail: out});
+};
+handler.help = ['tovideo'];
+handler.tags = ['convertidor']
+handler.command = ['tovideo', 'tomp4', 'mp4', 'togif'];
+handler.register = true
+export default handler;
diff --git a/plugins/convertidor-tts.js b/plugins/convertidor-tts.js
index 1990e1a5f..46adc03de 100644
--- a/plugins/convertidor-tts.js
+++ b/plugins/convertidor-tts.js
@@ -1,42 +1,43 @@
-import gtts from 'node-gtts'
-import { readFileSync, unlinkSync } from 'fs'
-import { join } from 'path'
-
-const defaultLang = 'es'
-let handler = async (m, { conn, args, usedPrefix, command }) => {
-
-let lang = args[0]
-let text = args.slice(1).join(' ')
+import gtts from 'node-gtts';
+import {readFileSync, unlinkSync} from 'fs';
+import {join} from 'path';
+const defaultLang = 'es';
+const handler = async (m, {conn, args, usedPrefix, command}) => {
+let lang = args[0];
+let text = args.slice(1).join(' ');
if ((args[0] || '').length !== 2) {
-lang = defaultLang
-text = args.join(' ')
+lang = defaultLang;
+text = args.join(' ');
}
-if (!text && m.quoted?.text) text = m.quoted.text
-
-let res
-try { res = await tts(text, lang) }
-catch (e) {
-m.reply(e + '')
-text = args.join(' ')
-if (!text) throw `๐ฌ๐๐๐๐๐๐ ๐๐ ๐๐๐๐๐ ๐๐๐๐ ๐๐๐๐๐๐๐๐๐ ๐ ๐๐๐๐ ๐
๐ ๐๐๐\n๐ฌ๐๐๐๐๐๐\n*${usedPrefix + command} es hola que onda*`
-res = await tts(text, defaultLang)
+if (!text && m.quoted?.text) text = m.quoted.text;
+conn.sendPresenceUpdate('recording', m.chat)
+let res;
+try {
+res = await tts(text, lang);
+} catch (e) {
+m.reply(e + '');
+text = args.join(' ');
+if (!text) throw `*โ ๏ธ ${await tr("Escribe un texto que quiera convertir a nota de voz, ejemplo")}:* ${usedPrefix + command} es Hola negros`;
+res = await tts(text, defaultLang);
} finally {
-if (res) conn.sendFile(m.chat, res, 'tts.opus', null, m, true)
-}}
-handler.help = ['tts ']
-handler.tags = ['tools']
-handler.command = /^g?tts|totts$/i
-export default handler
+if (res) conn.sendFile(m.chat, res, 'tts.opus', null, m, null, fake, true);
+}};
+handler.help = ['tts '];
+handler.tags = ['convertidor']
+handler.command = /^g?tts$/i;
+handler.register = true
+export default handler;
function tts(text, lang = 'es') {
-console.log(lang, text)
+console.log(lang, text);
return new Promise((resolve, reject) => {
try {
-let tts = gtts(lang)
-let filePath = join(global.__dirname(import.meta.url), '../tmp', (1 * new Date) + '.wav')
+const tts = gtts(lang);
+const filePath = join(global.__dirname(import.meta.url), '../tmp', (1 * new Date) + '.wav');
tts.save(filePath, text, () => {
-resolve(readFileSync(filePath))
-unlinkSync(filePath)
-})
-} catch (e) { reject(e) }
-})}
+resolve(readFileSync(filePath));
+unlinkSync(filePath);
+});
+} catch (e) {
+reject(e);
+}})}
diff --git a/plugins/descargas-drive.js b/plugins/descargas-drive.js
new file mode 100644
index 000000000..0ba106590
--- /dev/null
+++ b/plugins/descargas-drive.js
@@ -0,0 +1,99 @@
+import fetch from 'node-fetch';
+const userCaptions = new Map();
+const userRequests = {};
+
+let handler = async (m, { conn, args, usedPrefix, command }) => {
+if (!args[0]) throw `โ ๏ธ ${await tr("Ingrese una Url de Drive")}\nโข ${await tr("Ejemplo")}: ${usedPrefix + command} https://drive.google.com/file/d/1-8BSwPSAycKYMqveGm_JTu2c_wIDkJIt/view?usp=drivesdk`;
+
+if (userRequests[m.sender]) {
+conn.reply(m.chat, `โณ *${await tr("Hey")} @${m.sender.split('@')[0]}* ${await tr("*Espera...* Ya hay una solicitud en proceso. Por favor, espera a que termine antes de hacer otra...")}`, userCaptions.get(m.sender) || m)
+return;
+}
+userRequests[m.sender] = true;
+m.react("๐ฅ");
+try {
+const waitMessageSent = conn.reply(m.chat, `*โ ${await tr("Calma")} โ ${await tr("clack, Ya estoy enviado el archivo")} ๐*\n*${await tr("Si no le llega el archivo es debido a que es muy pesado")}*`, m)
+userCaptions.set(m.sender, waitMessageSent);
+const downloadAttempts = [
+async () => {
+const api = await fetch(`https://api.siputzx.my.id/api/d/gdrive?url=${args[0]}`);
+const data = await api.json();
+return { url: data.data.download,
+filename: data.data.name,
+};
+},
+async () => {
+const api = await fetch(`https://apis.davidcyriltech.my.id/gdrive?url=${args[0]}`);
+const data = await api.json();
+return { url: data.download_link,
+filename: data.name,
+}},
+];
+
+let fileData = null;
+
+for (const attempt of downloadAttempts) {
+try {
+fileData = await attempt();
+if (fileData) break; // Si se obtiene un resultado, salir del bucle
+} catch (err) {
+console.error(`Error in attempt: ${err.message}`);
+continue; // Si falla, intentar con la siguiente API
+}}
+
+if (!fileData) {
+throw new Error(await tr('No se pudo descargar el archivo desde ninguna API'));
+}
+
+const { url, filename } = fileData;
+const mimetype = getMimetype(filename);
+await conn.sendMessage(m.chat, { document: { url: url }, mimetype: mimetype, fileName: filename, caption: null }, { quoted: m });
+await m.react("โ
");
+} catch (e) {
+m.react(`โ`);
+m.reply(`\`\`\`โ ๏ธ ${await tr("OCURRIO UN ERROR")} โ ๏ธ\`\`\`\n\n> *${await tr("Reporta el siguiente error a mi creador con el comando:")}* #report\n\n>>> ${e} <<<< `)
+console.log(e);
+} finally {
+delete userRequests[m.sender];
+}
+};
+handler.help = ['drive'].map(v => v + ' ');
+handler.tags = ['downloader'];
+handler.command = /^(drive|drivedl|dldrive|gdrive)$/i;
+handler.register = true;
+handler.limit = 3;
+
+export default handler;
+
+const getMimetype = (fileName) => {
+ const extension = fileName.split('.').pop().toLowerCase();
+ const mimeTypes = {
+ 'pdf': 'application/pdf',
+ 'mp4': 'video/mp4',
+ 'jpg': 'image/jpeg',
+ 'jpeg': 'image/jpeg',
+ 'png': 'image/png',
+ 'zip': 'application/zip',
+ 'doc': 'application/msword',
+ 'docx': 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
+ 'xls': 'application/vnd.ms-excel',
+ 'xlsx': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
+ 'ppt': 'application/vnd.ms-powerpoint',
+ 'pptx': 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
+ 'txt': 'text/plain',
+ 'mp3': 'audio/mpeg',
+ 'apk': 'application/vnd.android.package-archive',
+ 'rar': 'application/x-rar-compressed',
+ '7z': 'application/x-7z-compressed',
+ 'mkv': 'video/x-matroska',
+ 'avi': 'video/x-msvideo',
+ 'mov': 'video/quicktime',
+ 'wmv': 'video/x-ms-wmv',
+ 'flv': 'video/x-flv',
+ 'gif': 'image/gif',
+ 'webp': 'image/webp',
+ 'ogg': 'audio/ogg',
+ 'wav': 'audio/wav',
+ };
+ return mimeTypes[extension] || 'application/octet-stream'; // Tipo por defecto
+};
\ No newline at end of file
diff --git a/plugins/descargas-facebook.js b/plugins/descargas-facebook.js
deleted file mode 100644
index 155c4c68c..000000000
--- a/plugins/descargas-facebook.js
+++ /dev/null
@@ -1,139 +0,0 @@
-import fg from 'api-dylux';
-import fetch from 'node-fetch';
-import {savefrom, facebookdl, facebookdlv2} from '@bochilteam/scraper';
-import fbDownloader from 'fb-downloader-scrapper';
-import {facebook} from '@xct007/frieren-scraper';
-import axios from 'axios';
-const handler = async (m, {conn, args, command, 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" }
-if (!args[0]) return conn.reply(m.chat, `${lenguajeGB['smsAvisoMG']()}๐๐๐๐๐๐๐ ๐๐ ๐๐๐๐ผ๐พ๐ ๐ฟ๐ ๐๐ผ๐พ๐๐ฝ๐๐๐ ๐๐ผ๐๐ผ ๐ฟ๐๐๐พ๐ผ๐๐๐ผ๐ ๐๐ ๐๐๐ฟ๐๐\n๐๐
๐๐๐๐๐\n*${usedPrefix + command} https://www.facebook.com/watch?v=636541475139`, fkontak, m)
-if (!args[0].match(/www.facebook.com|fb.watch/g)) return conn.reply(m.chat, `${lenguajeGB['smsAvisoMG']()}๐๐๐๐๐๐๐ ๐๐ ๐๐๐๐ผ๐พ๐ ๐ฟ๐ ๐๐ผ๐พ๐๐ฝ๐๐๐ ๐๐ผ๐๐ผ ๐ฟ๐๐๐พ๐ผ๐๐๐ผ๐ ๐๐ ๐๐๐ฟ๐๐\n๐๐
๐๐๐๐๐\n*${usedPrefix + command} https://www.facebook.com/watch?v=636541475139*`, fkontak, m)
-try {
-await conn.reply(m.chat, `${lenguajeGB['smsAvisoEG']()}๐๐๐๐๐๐ ๐๐ ๐๐๐๐๐๐๐, ๐๐ ๐๐๐๐ผ ๐ฟ๐๐๐พ๐ผ๐๐๐ผ๐๐ฟ๐ ๐๐ ๐๐๐ฟ๐๐ ๐ฟ๐ ๐๐ผ๐พ๐๐ฝ๐๐๐`, fkontak, m)
-const d2ata = await facebook.v1(args[0]);
-let r2es = '';
-if (d2ata.urls && d2ata.urls.length > 0) {
-r2es = `${d2ata.urls[0]?.hd || d2ata.urls[1]?.sd || ''}`
-}
-conn.sendFile(m.chat, r2es, 'error.mp4', `โ
๐๐๐ฟ๐๐ ๐ฟ๐ ๐๐ผ๐พ๐๐ฝ๐๐๐\n${wm}`, m);
-} catch (err1) {
-try {
-const req = await igeh(args[0])
-conn.sendMessage(m.chat, {video: {url: req.url_list}}, m)
-} catch (err1_2) {
-try {
-const Rres = await fetch(`https://api.lolhuman.xyz/api/facebook?apikey=${lolkeysapi}&url=${args[0]}`);
-const Jjson = await Rres.json();
-let VIDEO = Jjson.result[0];
-if (VIDEO == '' || !VIDEO || VIDEO == null) VIDEO = Jjson.result[1];
-conn.sendFile(m.chat, VIDEO, 'error.mp4', `โ
๐๐๐ฟ๐๐ ๐ฟ๐ ๐๐ผ๐พ๐๐ฝ๐๐๐\n${wm}`, m);
-} catch (err2) {
-try {
-const ress = await fg.fbdl(args[0]);
-const urll = await ress.data[0].url;
-await conn.sendFile(m.chat, urll, 'error.mp4', `โ
๐๐๐ฟ๐๐ ๐ฟ๐ ๐๐ผ๐พ๐๐ฝ๐๐๐\n${wm}`, m);
-} catch (err3) {
-try {
-const res = await fbDownloader(args[0]);
-for (const result of res.download) {
-const ur = result.url;
-await conn.sendFile(m.chat, ur, 'error.mp4', `โ
๐๐๐ฟ๐๐ ๐ฟ๐ ๐๐ผ๐พ๐๐ฝ๐๐๐\n${wm}`, m);
-}
-} catch (err4) {
-try {
-const res3 = await fetch(`https://latam-api.vercel.app/api/facebookdl?apikey=nekosmic&q=${args[0]}`);
-const json = await res3.json();
-const url3 = await json.video;
-await conn.sendFile(m.chat, url3, 'error.mp4', `โ
๐๐๐ฟ๐๐ ๐ฟ๐ ๐๐ผ๐พ๐๐ฝ๐๐๐\n${wm}`, m);
-} catch (err5) {
-try {
-const {result} = await facebookdl(args[0]).catch(async (_) => await facebookdlv2(args[0])).catch(async (_) => await savefrom(args[0]));
-for (const {url, isVideo} of result.reverse()) await conn.sendFile(m.chat, url, `facebook.${!isVideo ? 'bin' : 'mp4'}`, `โ
๐๐๐ฟ๐๐ ๐ฟ๐ ๐๐ผ๐พ๐๐ฝ๐๐๐\n${wm}`, m);
-} catch (err6) {
-await m.reply(`${lenguajeGB['smsAvisoFG']()}๐ผ๐๐๐ ๐๐ผ๐๐๐ ๐๐ผ๐, ๐๐๐พ๐๐๐๐ฟ๐ ๐๐๐ผ๐ ๐๐ ๐๐๐๐ผ๐พ๐ ๐๐ผ๐๐๐ฟ๐ ๐ฟ๐ ๐๐ผ๐พ๐๐ฝ๐๐๐`)
-handler.limit = 0
-}}}}}}}}
-handler.command = /^(facebook|fb|facebookdl|fbdl|facebook2|fb2|facebookdl2|fbdl2|facebook3|fb3|facebookdl3|fbdl3|facebook4|fb4|facebookdl4|fbdl4|facebook5|fb5|facebookdl5|fbdl5)$/i
-handler.limit = 3
-export default handler
-
-async function igeh(url_media) {
-return new Promise(async (resolve, reject)=>{
-const BASE_URL = 'https://instasupersave.com/';
-try {
-const resp = await axios(BASE_URL);
-const cookie = resp.headers['set-cookie']; // get cookie from request
-const session = cookie[0].split(';')[0].replace('XSRF-TOKEN=', '').replace('%3D', '');
-const config = {method: 'post', url: `${BASE_URL}api/convert`, headers: {'origin': 'https://instasupersave.com', 'referer': 'https://instasupersave.com/pt/', 'sec-fetch-dest': 'empty', 'sec-fetch-mode': 'cors', 'sec-fetch-site': 'same-origin', 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.52', 'x-xsrf-token': session, 'Content-Type': 'application/json', 'Cookie': `XSRF-TOKEN=${session}; instasupersave_session=${session}`}, data: {url: url_media}};
-axios(config).then(function(response) {
-const ig = [];
-if (Array.isArray(response.data)) {
-response.data.forEach((post) => {
-ig.push(post.sd === undefined ? post.thumb : post.sd.url);
- });
-} else {
-ig.push(response.data.url[0].url);
-}
-resolve({results_number: ig.length, url_list: ig});
-}).catch(function(error) {
-reject(error.message);
-});
-} catch (e) {
-reject(e.message);
-}})}
-
-/*import fg from 'api-dylux'
-import fetch from 'node-fetch'
-import { savefrom, facebookdl, facebookdlv2 } from '@bochilteam/scraper'
-import fbDownloader from 'fb-downloader-scrapper'
-let handler = async (m, { conn, args, command, usedPrefix }) => {
-let user = global.db.data.users[m.sender]
-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 (!args[0]) return conn.reply(m.chat, `${lenguajeGB['smsAvisoMG']()}๐๐๐๐๐๐๐ ๐๐ ๐๐๐๐ผ๐พ๐ ๐ฟ๐ ๐๐ผ๐พ๐๐ฝ๐๐๐ ๐๐ผ๐๐ผ ๐ฟ๐๐๐พ๐ผ๐๐๐ผ๐ ๐๐ ๐๐๐ฟ๐๐\n๐๐
๐๐๐๐๐\n*${usedPrefix + command} https://www.facebook.com/watch?v=636541475139`, fkontak, m)
-if (!args[0].match(/www.facebook.com|fb.watch/g)) return conn.reply(m.chat, `${lenguajeGB['smsAvisoMG']()}๐๐๐๐๐๐๐ ๐๐ ๐๐๐๐ผ๐พ๐ ๐ฟ๐ ๐๐ผ๐พ๐๐ฝ๐๐๐ ๐๐ผ๐๐ผ ๐ฟ๐๐๐พ๐ผ๐๐๐ผ๐ ๐๐ ๐๐๐ฟ๐๐\n๐๐
๐๐๐๐๐\n*${usedPrefix + command} https://www.facebook.com/watch?v=636541475139*`, fkontak, m)
-try {
-await conn.reply(m.chat, `${lenguajeGB['smsAvisoEG']()}๐๐๐๐๐๐ ๐๐ ๐๐๐๐๐๐๐, ๐๐ ๐๐๐๐ผ ๐ฟ๐๐๐พ๐ผ๐๐๐ผ๐๐ฟ๐ ๐๐ ๐๐๐ฟ๐๐ ๐ฟ๐ ๐๐ผ๐พ๐๐ฝ๐๐๐`, fkontak, m)
-let Rres = await fetch(`https://api.lolhuman.xyz/api/facebook?apikey=${lolkeysapi}&url=${args[0]}`)
-let Jjson = await Rres.json()
-let VIDEO = Jjson.result[0]
-if (VIDEO == '' || !VIDEO || VIDEO == null) VIDEO = Jjson.result[1]
-conn.sendFile(m.chat, VIDEO, 'error.mp4', `โ
๐๐๐ฟ๐๐ ๐ฟ๐ ๐๐ผ๐พ๐๐ฝ๐๐๐\n${wm}`, m)
-} catch (err1) {
-console.log('1 ' + err1)
-try {
-let ress = await fg.fbdl(args[0])
-let urll = await ress.data[0].url
-await conn.sendFile(m.chat, urll, 'error.mp4', 'โ
๐๐๐ฟ๐๐ ๐ฟ๐ ๐๐ผ๐พ๐๐ฝ๐๐๐\n${wm}', m)
-} catch (err2) {
-console.log('2 ' + err2)
-try {
-let res = await fbDownloader(args[0])
-for (let result of res.download) {
-let ur = result.url
-await conn.sendFile(m.chat, ur, 'error.mp4', 'โ
๐๐๐ฟ๐๐ ๐ฟ๐ ๐๐ผ๐พ๐๐ฝ๐๐๐\n${wm}', m)}
-} catch (err3) {
-console.log('3 ' + err3)
-try {
-let vio = await fetch(`https://api.violetics.pw/api/downloader/facebook?apikey=beta&url=${args[0]}`)
-let vioo = await vio.json()
-let videovio = `${vioo.result.hd.url || vioo.result.sd.url}`
-await conn.sendFile(m.chat, videovio, `error.mp4`, 'โ
๐๐๐ฟ๐๐ ๐ฟ๐ ๐๐ผ๐พ๐๐ฝ๐๐๐\n${wm}', m)
-} catch (err4) {
-console.log('4 ' + err4)
-try {
-let res3 = await fetch(`https://latam-api.vercel.app/api/facebookdl?apikey=brunosobrino&q=${args[0]}`)
-let json = await res3.json()
-let url3 = await json.video
-await conn.sendFile(m.chat, url3, 'error.mp4', 'โ
๐๐๐ฟ๐๐ ๐ฟ๐ ๐๐ผ๐พ๐๐ฝ๐๐๐\n${wm}', m)
-} catch (err5) {
-console.log('5 ' + err5)
-try {
-const { result } = await facebookdl(args[0]).catch(async _ => await facebookdlv2(args[0])).catch(async _ => await savefrom(args[0]))
-for (const { url, isVideo } of result.reverse()) await conn.sendFile(m.chat, url, `facebook.${!isVideo ? 'bin' : 'mp4'}`, 'โ
๐๐๐ฟ๐๐ ๐ฟ๐ ๐๐ผ๐พ๐๐ฝ๐๐๐\n${wm}', m)
-} catch (err6) {
-console.log('6 ' + err6)
-await m.reply(`${lenguajeGB['smsAvisoFG']()}๐ผ๐๐๐ ๐๐ผ๐๐๐ ๐๐ผ๐, ๐๐๐พ๐๐๐๐ฟ๐ ๐๐๐ผ๐ ๐๐ ๐๐๐๐ผ๐พ๐ ๐๐ผ๐๐๐ฟ๐ ๐ฟ๐ ๐๐ผ๐พ๐๐ฝ๐๐๐`)
-}}}}}}}
-handler.command = /^(facebook|fb|facebookdl|fbdl|facebook2|fb2|facebookdl2|fbdl2|facebook3|fb3|facebookdl3|fbdl3|facebook4|fb4|facebookdl4|fbdl4|facebook5|fb5|facebookdl5|fbdl5)$/i
-handler.limit = 3
-export default handler*/
diff --git a/plugins/descargas-fb.js b/plugins/descargas-fb.js
new file mode 100644
index 000000000..596f9e7d2
--- /dev/null
+++ b/plugins/descargas-fb.js
@@ -0,0 +1,120 @@
+import fg from 'api-dylux';
+import fetch from 'node-fetch';
+import axios from 'axios';
+const userMessages = new Map();
+const userRequests = {};
+
+const handler = async (m, { conn, args, command, usedPrefix }) => {
+if (!args[0]) throw `โ ๏ธ ${await tr("Ingrese un enlace de Facebook para descargar el video")}\nโข *${await tr("Ejemplo")}:* ${usedPrefix + command} https://www.facebook.com/watch?v=636541475139`;
+if (!args[0].match(/www.facebook.com|fb.watch/g)) throw `โ ๏ธ ${await tr("Ingrese un enlace de Facebook para descargar el video")}\nโข *${await tr("Ejemplo")}:* ${usedPrefix + command} https://www.facebook.com/watch?v=636541475139`;
+if (userRequests[m.sender]) return await conn.reply(m.chat, `โ ๏ธ ${await tr("Hey")} @${m.sender.split('@')[0]} ${await tr("Calmao, ya estรกs bajando un video")} ๐\n${await tr("Espera a que termine tu descarga actual antes de pedir otra...")}`, m)
+userRequests[m.sender] = true;
+m.react(`โ`);
+try {
+const downloadAttempts = [async () => {
+const api = await fetch(`https://api.agatz.xyz/api/facebook?url=${args[0]}`);
+const data = await api.json();
+const videoUrl = data.data.hd || data.data.sd;
+const imageUrl = data.data.thumbnail;
+if (videoUrl && videoUrl.endsWith('.mp4')) {
+return { type: 'video', url: videoUrl, caption: `โ
${await tr("Aquรญ estรก tu video de Facebook")}` };
+} else if (imageUrl && (imageUrl.endsWith('.jpg') || imageUrl.endsWith('.png'))) {
+return { type: 'image', url: imageUrl, caption: `โ
${await tr("Aquรญ estรก la imagen de Facebook")}` };
+}},
+async () => {
+const api = await fetch(`${APIs.fgmods.url}/downloader/fbdl?url=${args[0]}&apikey=${APIs.fgmods.key}`);
+const data = await api.json();
+const downloadUrl = data.result[0].hd || data.result[0].sd;
+return { type: 'video', url: downloadUrl, caption: `โ
${await tr("Aquรญ estรก tu video de Facebook")}` };
+},
+async () => {
+const apiUrl = `${apis}/download/facebook?url=${args[0]}`;
+const apiResponse = await fetch(apiUrl);
+const delius = await apiResponse.json();
+const downloadUrl = delius.urls[0].hd || delius.urls[0].sd;
+return { type: 'video', url: downloadUrl, caption: `โ
${await tr("Aquรญ estรก tu video de Facebook")}`};
+},
+async () => {
+const apiUrl = `https://api.dorratz.com/fbvideo?url=${encodeURIComponent(args[0])}`;
+const response = await fetch(apiUrl);
+const data = await response.json();
+const hdUrl = data.result.hd;
+const sdUrl = data.result.sd;
+const downloadUrl = hdUrl || sdUrl;
+return { type: 'video', url: downloadUrl, caption: `โ
${await tr("Aquรญ estรก tu video de Facebook")}` };
+},
+async () => {
+const ress = await fg.fbdl(args[0]);
+const urll = ress.data[0].url;
+return { type: 'video', url: urll, caption: `โ
${await tr("Aquรญ estรก tu video de Facebook")}` };
+}];
+
+let mediaData = null;
+for (const attempt of downloadAttempts) {
+try {
+mediaData = await attempt();
+if (mediaData) break;
+} catch (err) {
+console.error(`Error in attempt: ${err.message}`);
+continue;
+}}
+
+if (!mediaData) throw new Error(await tr('No se pudo descargar el video o imagen desde ninguna API'));
+const fileName = mediaData.type === 'video' ? 'video.mp4' : 'thumbnail.jpg';
+await conn.sendFile(m.chat, mediaData.url, fileName, mediaData.caption, m, null, fake);
+m.react('โ
');
+} catch (e) {
+m.react('โ');
+console.log(e);
+} finally {
+delete userRequests[m.sender];
+}};
+handler.help = ['fb', 'facebook', 'fbdl'];
+handler.tags = ['downloader'];
+handler.command = /^(facebook|fb|facebookdl|fbdl|facebook2|fb2|facebookdl2|fbdl2|facebook3|fb3|facebookdl3|fbdl3|facebook4|fb4|facebookdl4|fbdl4|facebook5|fb5|facebookdl5|fbdl5)$/i;
+handler.limit = 3;
+handler.register = true;
+
+export default handler;
+
+async function igeh(url_media) {
+ return new Promise(async (resolve, reject) => {
+ const BASE_URL = 'https://instasupersave.com/';
+ try {
+ const resp = await axios(BASE_URL);
+ const cookie = resp.headers['set-cookie'];
+ const session = cookie[0].split(';')[0].replace('XSRF-TOKEN=', '').replace('%3D', '');
+ const config = {
+ method: 'post',
+ url: `${BASE_URL}api/convert`,
+ headers: {
+ 'origin': 'https://instasupersave.com',
+ 'referer': 'https://instasupersave.com/pt/',
+ 'sec-fetch-dest': 'empty',
+ 'sec-fetch-mode': 'cors',
+ 'sec-fetch-site': 'same-origin',
+ 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.52',
+ 'x-xsrf-token': session,
+ 'Content-Type': 'application/json',
+ 'Cookie': `XSRF-TOKEN=${session}; instasupersave_session=${session}`
+ },
+ data: { url: url_media }
+ };
+ axios(config).then(function(response) {
+ const ig = [];
+ if (Array.isArray(response.data)) {
+ response.data.forEach((post) => {
+ ig.push(post.sd === undefined ? post.thumb : post.sd.url);
+ });
+ } else {
+ ig.push(response.data.url[0].url);
+ }
+ resolve({ results_number: ig.length, url_list: ig });
+ }).catch(function(error) {
+ reject(error.message);
+ });
+ } catch (e) {
+ reject(e.message);
+ }
+ });
+}
\ No newline at end of file
diff --git a/plugins/descargas-gitclone.js b/plugins/descargas-gitclone.js
index 0ef277e80..934a7ff81 100644
--- a/plugins/descargas-gitclone.js
+++ b/plugins/descargas-gitclone.js
@@ -1,28 +1,37 @@
-import fetch from 'node-fetch'
-const regex = /(?:https|git)(?::\/\/|@)github\.com[\/:]([^\/:]+)\/(.+)/i
-let handler = async (m, { args, usedPrefix, command }) => {
-if (!args[0]) throw `${lenguajeGB['smsAvisoMG']()}*๐๐ก๐๐ฅ๐๐ฆ๐ ๐จ๐ก ๐๐ก๐๐๐๐ ๐๐ ๐๐๐ง๐๐จ๐*\n*๐๐๐๐ ๐ฃ๐๐ข:*\n*${usedPrefix + command} ${md}*`
-if (!regex.test(args[0])) throw `${lenguajeGB['smsAvisoFG']()}๐๐ก๐๐๐๐ ๐ก๐ข ๐๐ฆ ๐ฉ๐๐๐๐๐ข ๐๐๐๐๐ฅ ๐ฆ๐๐ฅ ๐จ๐ก ๐๐ก๐๐๐๐ ๐๐ ๐๐๐ง๐๐จ๐`
+import fetch from 'node-fetch';
+const regex = /(?:https|git)(?::\/\/|@)github\.com[\/:]([^\/:]+)\/(.+)/i;
+const userCaptions = new Map();
+const userRequests = {};
+
+let handler = async (m, { args, usedPrefix, command, conn }) => {
+if (!args[0]) return m.reply(`*โ ๏ธ ${await tr("Ingrese un enlace de github")}*\nโข *${await tr("Ejemplo")} :* ${usedPrefix + command} https://github.com/elrebelde21/LoliBot-MD`);
+if (!regex.test(args[0])) throw `โ ๏ธ ${await tr("Eso no es un enlace de github bobo")} ๐คก`;
+if (userRequests[m.sender]) {
+conn.reply(m.chat, `โณ *${await tr("Hey")} @${m.sender.split('@')[0]}* ${await tr("*Espera...* Ya hay una solicitud en proceso. Por favor, espera a que termine antes de hacer otra...")}`, userCaptions.get(m.sender) || m)
+return;
+}
+userRequests[m.sender] = true;
try {
-let [_, user, repo] = args[0].match(regex) || []
-repo = repo.replace(/.git$/, '')
-let url = `https://api.github.com/repos/${user}/${repo}/zipball`
-let filename = (await fetch(url, { method: 'HEAD' })).headers.get('content-disposition').match(/attachment; filename=(.*)/)[1]
-m.reply(`*๐๐ง๐ฏ๐ข๐๐๐จ ๐๐ฅ ๐๐ซ๐๐ก๐ข๐ฏ๐จ, ๐ฎ๐ง ๐ฆ๐จ๐ฆ๐๐ง๐ญ๐จ ๐*\n*๐๐ข ๐ง๐จ ๐ฅ๐ ๐ฅ๐ฅ๐๐ ๐ ๐๐ฅ ๐๐ซ๐๐ก๐ข๐ฏ๐จ ๐๐ฌ ๐๐๐๐ข๐๐จ ๐ ๐ช๐ฎ๐ ๐๐ฅ ๐๐๐ฉ๐จ๐ฌ๐ข๐ญ๐จ๐ซ๐ข๐จ ๐๐ฌ ๐ฆ๐ฎ๐ฒ ๐ฉ๐๐ฌ๐๐๐จ*`)
-conn.sendFile(m.chat, url, filename, null, m)
-/*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()
-await conn.sendHydrated(m.chat, info, wm, null, ig, '๐๐ฃ๐จ๐ฉ๐๐๐ง๐๐ข', null, null, [
-['๐๐๐ฃ๐ช ๐ฟ๐๐จ๐๐๐ง๐๐๐จ ๐', '#descargasmenu'],
-['๐๐๐ฃ๐ช ๐พ๐ค๐ข๐ฅ๐ก๐๐ฉ๐ค | ๐๐ช๐ก๐ก ๐๐๐ฃ๐ช โจ', '.allmenu'],
-['๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ | ๐ฝ๐๐๐ ๐ฉ๐ค ๐๐๐ฃ๐ช โ๏ธ', '/menu']
-], m,) */
-} catch {
-handler.limit = 0 //โNo gastada diamante si el comando falla
-}}
-handler.help = ['gitclone ']
-handler.tags = ['downloader']
-handler.command = /gitclone|clonarepo|clonarrepo|repoclonar/i
-handler.limit = 2
-handler.level = 2
-export default handler
+const downloadGit = await conn.reply(m.chat, `*โ ${await tr("Calma")} โ ${await tr("Clack, ya estoy emviado el archivo")} ๐*\n> *${await tr("Si no le llega el archivo es debido a que el repositorio es muy pesado")}*`, m, {
+contextInfo: { externalAdReply: { mediaUrl: null, mediaType: 1, description: null, title: wm, body: ' ๐ซ ๐๐ฎ๐ฉ๐๐ซ ๐๐จ๐ญ ๐๐ ๐๐ก๐๐ญ๐ฌ๐๐ฉ๐ฉ ๐ฅณ ', previewType: 0, thumbnail: img.getRandom(), sourceUrl: redes.getRandom()}}});
+userCaptions.set(m.sender, downloadGit);
+let [_, user, repo] = args[0].match(regex) || [];
+repo = repo.replace(/.git$/, '');
+let url = `https://api.github.com/repos/${user}/${repo}/zipball`;
+let filename = (await fetch(url, { method: 'HEAD' })).headers.get('content-disposition').match(/attachment; filename=(.*)/)[1];
+await conn.sendFile(m.chat, url, filename, null, m, null, fake);
+} catch (e) {
+m.reply(`\`\`\`โ ๏ธ ${await tr("OCURRIO UN ERROR")} โ ๏ธ\`\`\`\n\n> *${await tr("Reporta el siguiente error a mi creador con el comando:")}* #report\n\n>>> ${e} <<<< `)
+console.log(e);
+handler.limit = 0; // โ No gasta diamante si el comando falla
+} finally {
+delete userRequests[m.sender];
+}};
+handler.help = ['gitclone '];
+handler.tags = ['downloader'];
+handler.command = /gitclone|clonarepo|clonarrepo|repoclonar/i;
+handler.register = true;
+handler.limit = 2;
+//handler.level = 2
+
+export default handler;
\ No newline at end of file
diff --git a/plugins/descargas-ig.js b/plugins/descargas-ig.js
index 1cd092a1d..13a4be0f2 100644
--- a/plugins/descargas-ig.js
+++ b/plugins/descargas-ig.js
@@ -1,88 +1,83 @@
-import fetch from 'node-fetch'
-import axios from 'axios'
-import cheerio from 'cheerio'
-import instagramGetUrl from 'instagram-url-direct'
-import vm from 'node:vm'
-import { instagram } from "@xct007/frieren-scraper";
-import { instagramdl } from '@bochilteam/scraper'
-let handler = async (m, { conn, args, command, usedPrefix }) => {
-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"
- }
+import fetch from 'node-fetch';
+import axios from 'axios';
+import { instagramdl } from '@bochilteam/scraper';
+import { fileTypeFromBuffer } from 'file-type';
+const userMessages = new Map();
+const userRequests = {};
-if (!args[0]) throw `${lenguajeGB['smsAvisoMG']()}๐๐๐๐๐๐๐ ๐๐ ๐๐๐๐ผ๐พ๐ ๐ฟ๐ ๐๐๐๐๐ผ๐๐๐ผ๐ ๐๐ผ๐๐ผ ๐ฟ๐๐๐พ๐ผ๐๐๐ผ๐ ๐๐ ๐๐๐ฟ๐๐ ๐ ๐๐๐ผ๐๐๐\n๐๐
๐๐๐๐๐\n*${usedPrefix + command} https://www.instagram.com/tv/Cd8U99IloVA/?igshid=YmMyMTA2M2Y=*`
- const { key } = await conn.sendMessage(m.chat, {text: wait}, {quoted: fkontak});
-// await delay(1000 * 2);
-await conn.sendMessage(m.chat, {text: waitt, edit: key});
-await conn.sendMessage(m.chat, {text: waittt, edit: key});
-await conn.sendMessage(m.chat, {text: waitttt, edit: key});
+const handler = async (m, { conn, args, command, usedPrefix }) => {
+const datas = global;
+if (!args[0]) throw `โ ๏ธ ${await tr("Ingresa el enlace del vรญdeo de Instagram junto al comando.")}\n\n${await tr("Ejemplo")}: *${usedPrefix + command}* https://www.instagram.com/p/C60xXk3J-sb/?igsh=YzljYTk1ODg3Zg==`;
+if (userRequests[m.sender]) return await conn.reply(m.chat, `Oye @${m.sender.split('@')[0]}, ${await tr("calma, ya estรกs descargando algo ")} ๐\n> ${await tr("Espera a que termine tu solicitud actual antes de hacer otra...")}`, m)
+userRequests[m.sender] = true;
+await m.react('โ');
try {
-const datTa = await instagram.v1(args[0])
-if (datTa.error) return m.reply(`${datTa.message}`);
-for (let urRRl of datTa) {
-let shortUrRRl = await (await fetch(`https://tinyurl.com/api-create.php?url=${urRRl.url}`)).text()
-let tXXxt = `โจ *ENLACE:* ${shortUrRRl}\n\n${wm}`.trim()
-conn.sendFile(m.chat, urRRl.url, 'error.mp4', tXXxt, m)
-await new Promise(resolve => setTimeout(resolve, 10000))}
-} catch {
-try {
-const AA = await savefrom(args[0])
-let shortUrl222 = await (await fetch(`https://tinyurl.com/api-create.php?url=${args[0]}`)).text()
-let txt222 = `โจ *ENLACE:* ${shortUrl222}\n\n${wm}`.trim()
-await conn.sendFile(m.chat, AA.url[0].url, 'error.mp4', txt222, m)
-} catch {
-console.log('Error en el intento 1')
-try {
-const resultss = await instagramGetUrl(args[0]).url_list[0]
-let shortUrl2 = await (await fetch(`https://tinyurl.com/api-create.php?url=${args[0]}`)).text()
-let txt2 = `โจ *ENLACE:* ${shortUrl2}\n\n${wm}`.trim()
-await conn.sendFile(m.chat, resultss, 'error.mp4', txt2, m)
-} catch {
-console.log('Error en el intento 2')
+let igImagen = await tr("_*Aqui tiene tu imagen de Instagram*_")
+let igVideo = await tr("*Aqui esta el video de Instagram*")
+const downloadAttempts = [
+async () => {
+const res = await fetch(`https://api.siputzx.my.id/api/d/igdl?url=${args[0]}`);
+const data = await res.json();
+const fileType = data.data[0].url.includes('.webp') ? 'image' : 'video';
+return { url: data.data[0].url, type: fileType, caption: fileType === 'image' ? igImagen : igVideo,
+}},
+async () => {
+const res = await fetch(`${APIs.fgmods.url}/downloader/igdl?url=${args[0]}&apikey=${APIs.fgmods.key}`);
+const data = await res.json();
+const result = data.result[0];
+const fileType = result.url.endsWith('.jpg') || result.url.endsWith('.png') ? 'image' : 'video';
+return { url: result.url, type: fileType, caption: fileType === 'image' ? igImagen : igVideo,
+}},
+async () => {
+const apiUrl = `${apis}/download/instagram?url=${encodeURIComponent(args[0])}`;
+const apiResponse = await fetch(apiUrl);
+const delius = await apiResponse.json();
+return { url: delius.data[0].url, type: delius.data[0].type, caption: delius.data[0].type === 'image' ? igImagen : igVideo,
+}},
+async () => {
+const resultssss = await instagramdl(args[0]);
+const shortUrl3 = await (await fetch(`https://tinyurl.com/api-create.php?url=${args[0]}`)).text();
+const txt4 = `_${shortUrl3}_`.trim();
+return { url: resultssss[0].url, type: resultssss[0].url.endsWith('.mp4') ? 'video' : 'image', caption: txt4 };
+},
+];
+
+let fileData = null;
+for (const attempt of downloadAttempts) {
try {
-const resultssss = await instagramdl(args[0]).catch(async _ => await instagramdlv2(args[0])).catch(async _ => await instagramdlv3(args[0])).catch(async _ => await instagramdlv4(args[0]))
-let shortUrl3 = await (await fetch(`https://tinyurl.com/api-create.php?url=${r.medias[i].url}`)).text()
-let txt4 = `โจ *ENLACE:* ${shortUrl3}\n\n${wm}`.trim()
-for (const { url } of resultssss) await conn.sendFile(m.chat, url, 'error.mp4', txt4, m)
-} catch {
-console.log('Error en el intento 3')
-try {
-let human = await fetch(`https://api.lolhuman.xyz/api/instagram?apikey=${lolkeysapi}&url=${args[0]}`)
-let json = await human.json()
-let videoig = json.result
-let shortUrl1 = await (await fetch(`https://tinyurl.com/api-create.php?url=${args[0]}`)).text()
-let txt1 = `โจ *ENLACE:* ${shortUrl1}\n\n${wm}`.trim()
-await conn.sendFile(m.chat, videoig, 'error.mp4', txt1, m)
-} catch {
-console.log('Error en el intento 4, sin resultados')
-conn.sendMessage(m.chat, {text: `${lenguajeGB['smsAvisoFG']()} ๐๐๐๐๐ ๐๐๐ ๐๐ผ๐๐๐ ๐๐๐๐๐๐ผ ๐ผ ๐๐๐๐๐๐๐ผ`, edit: key});
-handler.limit = 0
-}}}}}}
-handler.help = ['instagram ']
-handler.tags = ['downloader']
-handler.command =/^(instagram|ig(dl)?)$/i
-handler.limit = 2
-handler.exp = 70
-handler.register = true
-export default handler
-async function savefrom(urlL) {
-let body = new URLSearchParams({ "sf_url": encodeURI(urlL), "sf_submit": "", "new": 2, "lang": "id", "app": "", "country": "id", "os": "Windows", "browser": "Chrome", "channel": " main", "sf-nomad": 1 });
-let { data } = await axios({ "url": "https://worker.sf-tools.com/savefrom.php", "method": "POST", "data": body, "headers": { "content-type": "application/x-www-form-urlencoded", "origin": "https://id.savefrom.net", "referer": "https://id.savefrom.net/", "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.74 Safari/537.36" }});
-let exec = '[]["filter"]["constructor"](b).call(a);';
-data = data.replace(exec, `\ntry {\ni++;\nif (i === 2) scriptResult = ${exec.split(".call")[0]}.toString();\nelse (\n${exec.replace(/;/, "")}\n);\n} catch {}`);
-let context = { "scriptResult": "", "i": 0 };
-vm.createContext(context);
-new vm.Script(data).runInContext(context);
-return JSON.parse(context.scriptResult.split("window.parent.sf.videoResult.show(")?.[1].split(");")?.[0])
-}
+fileData = await attempt();
+if (fileData) break;
+} catch (err) {
+console.error(`Error in attempt: ${err.message}`);
+continue;
+}}
+
+if (!fileData) throw new Error(await tr('No se pudo descargar el archivo desde ninguna API'));
+const fileName = fileData.type === 'image' ? 'ig.jpg' : 'ig.mp4';
+await conn.sendFile(m.chat, fileData.url, fileName, fileData.caption, m, null, fake);
+await m.react('โ
');
+} catch (e) {
+await m.react('โ');
+console.log(e);
+handler.limit = 0;
+} finally {
+delete userRequests[m.sender];
+}};
+handler.help = ['instagram * *'];
+handler.tags = ['downloader'];
+handler.command = /^(instagramdl|instagram|igdl|ig|instagramdl2|instagram2|igdl2|ig2|instagramdl3|instagram3|igdl3|ig3)$/i;
+handler.limit = 1;
+handler.register = true;
+
+export default handler;
+
+const getBuffer = async (url, options) => {
+ options = options || {};
+ const res = await axios({ method: 'get', url, headers: { 'DNT': 1, 'Upgrade-Insecure-Request': 1 }, ...options, responseType: 'arraybuffer' });
+ const buffer = Buffer.from(res.data, 'binary');
+ const detectedType = await fileTypeFromBuffer(buffer);
+ if (!detectedType || (detectedType.mime !== 'image/jpeg' && detectedType.mime !== 'image/png' && detectedType.mime !== 'video/mp4')) {
+ return null;
+ }
+ return { buffer, detectedType };
+};
\ No newline at end of file
diff --git a/plugins/descargas-ighistorias.js b/plugins/descargas-ighistorias.js
deleted file mode 100644
index 448a892ae..000000000
--- a/plugins/descargas-ighistorias.js
+++ /dev/null
@@ -1,55 +0,0 @@
-let handler = async (m, { conn, text, args, usedPrefix, command }) => {
-if (!args[0]) throw `${lenguajeGB['smsAvisoMG']()}๐๐๐๐๐๐๐ ๐๐ ๐๐๐๐ฝ๐๐ ๐ฟ๐ ๐๐๐๐ผ๐๐๐ ๐ฟ๐ ๐๐๐๐๐ผ๐๐๐ผ๐ ๐๐ผ๐๐ผ ๐ฟ๐๐๐พ๐ผ๐๐๐ผ๐ ๐๐ผ๐ ๐๐๐๐๐๐๐๐ผ๐\n๐๐
๐๐๐๐๐\n*${usedPrefix + command} gatadios*`
-await m.reply(global.wait)
-const res = await fetch(`https://api.lolhuman.xyz/api/igstory/${args[0]}?apikey=${lolkeysapi}`)
-var anu = await res.json()
-var anuku = anu.result
-if (anuku == '') return m.reply(`${lenguajeGB['smsAvisoFG']()}๐๐๐๐ผ๐๐๐ ๐๐๐๐ผฬ๐๐๐ฟ๐๐ ๐ ๐๐๐ ๐๐๐๐๐๐๐๐ผ๐`)
-for (var i of anuku) {
-let res = await axios.head(i)
-let mime = res.headers['content-type']
-if (/image/.test(mime)) await conn.sendFile(m.chat, i, 'error.jpg', null, m).catch(() => { return m.reply(`${lenguajeGB['smsAvisoFG']()}๐๐๐๐ผ๐๐๐ ๐๐๐๐ผฬ๐๐๐ฟ๐๐ ๐ ๐๐๐ ๐๐๐๐๐๐๐๐ผ๐`)})
-if (/video/.test(mime)) await conn.sendFile(m.chat, i, 'error.mp4', null, m).catch(() => { return m.reply(`${lenguajeGB['smsAvisoFG']()}๐๐๐๐ผ๐๐๐ ๐๐๐๐ผฬ๐๐๐ฟ๐๐ ๐ ๐๐๐ ๐๐๐๐๐๐๐๐ผ๐`)})
-}}
-handler.help = ['igstory ']
-handler.tags = ['downloader']
-handler.command = ['igstory', 'ighistoria', 'ighistorias' ]
-handler.limit = 3
-handler.exp = 87
-export default handler
-
-
-/*import axios from 'axios'
-import hx from 'hxz-api'
-
-let handler = async (m, { conn, args, usedPrefix, command, text}) => {
-if (!text) throw `${lenguajeGB['smsAvisoMG']()}๐๐๐๐๐๐๐ ๐๐ ๐๐๐๐ฝ๐๐ ๐ฟ๐ ๐๐๐๐ผ๐๐๐ ๐ฟ๐ ๐๐๐๐๐ผ๐๐๐ผ๐ ๐๐ผ๐๐ผ ๐ฟ๐๐๐พ๐ผ๐๐๐ผ๐ ๐๐ผ๐ ๐๐๐๐๐๐๐๐ผ๐\n๐๐
๐๐๐๐๐\n*${usedPrefix + command} gatadios*\n\n๐๐๐๐๐ ๐๐๐๐๐ผ๐๐๐ผ๐ ๐๐๐๐๐๐ผ๐๐ ๐๐ ๐ฟ๐๐๐๐๐๐ผ๐ฟ ๐๐๐๐๐๐๐\n๐๐๐ผ๐๐๐๐\n*${usedPrefix + command} gata_dios*`
-
-hx.igstory(text).then(async (result) => {
-for (let i of result.medias) {
-if (i.url.includes("mp4")) {
-conn.sendFile(m.chat, i.url, 'igstory.mp4', wm, m)
-} else {
-conn.sendFile(m.chat, i.url, '', '', m)
-}}});
-
-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.*
- `
- conn.sendButton(m.chat, info, `๐๐ผ๐๐ผ ๐ฟ๐๐๐ - ๐ผ๐๐๐๐๐๐๐พ๐๐ผ\n${asistencia}\n\n`, [
-['๐๐๐ฃ๐ช ๐ฟ๐๐จ๐๐๐ง๐๐๐จ ๐', '#descargasmenu'],
-['๐๐๐ฃ๐ช ๐พ๐ค๐ข๐ฅ๐ก๐๐ฉ๐ค | ๐๐ช๐ก๐ก ๐๐๐ฃ๐ช โจ', '.allmenu'],
-['๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ | ๐ฝ๐๐๐ ๐ฉ๐ค ๐๐๐ฃ๐ช โ๏ธ', '/menu']], m)
-/*.trim()
-await conn.sendHydrated(m.chat, info, wm, null, ig, '๐๐ฃ๐จ๐ฉ๐๐๐ง๐๐ข', null, null, [
-['๐๐๐ฃ๐ช ๐ฟ๐๐จ๐๐๐ง๐๐๐จ ๐', '#descargasmenu'],
-['๐๐๐ฃ๐ช ๐พ๐ค๐ข๐ฅ๐ก๐๐ฉ๐ค | ๐๐ช๐ก๐ก ๐๐๐ฃ๐ช โจ', '.allmenu'],
-['๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ | ๐ฝ๐๐๐ ๐ฉ๐ค ๐๐๐ฃ๐ช โ๏ธ', '/menu']
-], m,)
-}
-handler.help = ['igstory ']
-handler.tags = ['downloader']
-handler.command = ['igstory', 'ighistoria', 'ighistorias' ]
-handler.limit = 3
-handler.exp = 87
-export default handler
-*/
diff --git a/plugins/descargas-igstalk.js b/plugins/descargas-igstalk.js
index 14e348953..80786c86a 100644
--- a/plugins/descargas-igstalk.js
+++ b/plugins/descargas-igstalk.js
@@ -1,123 +1,47 @@
-import axios from 'axios'
-import cheerio from 'cheerio'
-import fetch from 'node-fetch'
-let handler = async (m, { conn, args, usedPrefix, command }) => {
-if (!args[0]) throw `${lenguajeGB['smsAvisoMG']()}๐๐๐๐๐๐๐ ๐๐ ๐๐๐๐ผ๐๐๐ ๐ฟ๐ ๐ผ๐๐๐๐๐๐ ๐ฟ๐ ๐๐๐๐๐ผ๐๐๐ผ๐\n๐๐
๐๐๐๐๐\n*${usedPrefix + command} gatadios*`
-await m.reply(global.wait)
-let res = await igstalk(args[0].replace(/^@/, ''))
-let res2 = await fetch(`https://api.lolhuman.xyz/api/stalkig/${args[0].replace(/^@/, '')}?apikey=${lolkeysapi}`)
-let res3 = await res2.json()
-let json = JSON.parse(JSON.stringify(res))
-let iggs = `โ ๐ *${gt} ${vs}*
-โโโโโโโโโโโโโโโโโโ
-โ ๐๐๐๐ฝ๐๐
-โ *${json.username}*
-โโโโโโโโโโโโโโโโโโ
-โ ๐๐๐๐ผ๐๐๐(๐ผ)
-โ *${json.fullname}*
-โโโโโโโโโโโโโโโโโโ
-โ ๐๐๐๐
-โ *https://instagram.com/${json.username.replace(/^@/, '')}*
-โโโโโโโโโโโโโโโโโโ
-โ ๐๐๐๐๐๐ฟ๐๐๐๐
-โ *${json.followers}*
-โโโโโโโโโโโโโโโโโโ
-โ ๐๐๐๐๐๐ฟ๐๐
-โ *${json.following}*
-โโโโโโโโโโโโโโโโโโ
-โ ๐๐๐ฝ๐๐๐พ๐ผ๐พ๐๐๐๐๐
-โ *${json.post}*
-โโโโโโโโโโโโโโโโโโ
-โ ๐ฝ๐๐๐๐๐ผ๐ร๐ผ
-โ *${json.bio}*`.trim()
-let aa = `${res3.result.photo_profile || res.profile}`
-await conn.sendFile(m.chat, aa, 'error.jpg', iggs, m)
-conn.reply(m.chat, `${lenguajeGB['smsAvisoIIG']()}๐ *Infรณrmate sobre las Novedades y recuerda tener la รบltima versiรณn.*`, m, {
-contextInfo: { externalAdReply :{ mediaUrl: null, mediaType: 1, description: null,
-title: 'The-LoliBot-MD',
-body: 'Super Bot WhatsApp',
-previewType: 0, thumbnail: fs.readFileSync("./media/menus/Menu3.jpg"),
-sourceUrl: md}}})}
-handler.help = ['igstalk'].map(v => v + ' ')
+import fg from 'api-dylux'
+let handler= async (m, { conn, args, text, usedPrefix, command }) => {
+if (!args[0]) throw `โ ๏ธ ${await tr("Ingrese el Username de Instagram")}\n\n*โข ${await tr("Ejemplo")}:* ${usedPrefix + command} GataDios`
+m.react("โ");
+try {
+const apiUrl = `${apis}/tools/igstalk?username=${encodeURIComponent(args[0])}`;
+const apiResponse = await fetch(apiUrl);
+const delius = await apiResponse.json();
+if (!delius || !delius.data) return m.react("โ");
+const profile = delius.data;
+const txt = `๐ค *${await tr("Perfil de Instagram")}*:
+๐น *${await tr("Nombre de usuario")}*: ${profile.username}
+๐น *${await tr("Nombre completo")}*: ${profile.full_name}
+๐น *${await tr("Biografรญa")}*: ${profile.biography}
+๐น *${await tr("Verificado")}*: ${profile.verified ? 'Sรญ' : 'No'}
+๐น *${await tr("Cuenta privada")}*: ${profile.private ? 'Sรญ' : 'No'}
+๐น *${await tr("Seguidores")}*: ${profile.followers}
+๐น *${await tr("Seguidos")}*: ${profile.following}
+๐น *${await tr("Publicaciones")}*: ${profile.posts}
+๐น *URL*: ${profile.url}`;
+
+await conn.sendFile(m.chat, profile.profile_picture, 'insta_profile.jpg', txt, m, null, fake);
+ m.react("โ
");
+} catch (e2) {
+try {
+let res = await fg.igStalk(args[0])
+let te = `๐ค *${await tr("Perfil de Instagram")}*:
+*โข ${await tr("Nombre")}:* ${res.name}
+*โข ${await tr("Nombre completo")}:* ${res.username}
+*โข ${await tr("Seguidores")}:* ${res.followersH}
+*โข ${await tr("Seguidos")}:* ${res.followingH}
+*โข ${await tr("Biografรญa")}:* ${res.description}
+*โข Posts:* ${res.postsH}
+*โข Link* : https://instagram.com/${res.username.replace(/^@/, '')}`
+await conn.sendFile(m.chat, res.profilePic, 'igstalk.png', te, m, null, fake)
+m.react("โ");
+} catch (e) {
+await m.react(`โ`)
+m.reply(`\`\`\`โ ๏ธ ${await tr("OCURRIO UN ERROR")} โ ๏ธ\`\`\`\n\n> *${await tr("Reporta el siguiente error a mi creador con el comando:")}* #report\n\n>>> ${e} <<<< `)
+console.log(e)
+}}}
+handler.help = ['igstalk']
handler.tags = ['downloader']
-handler.command = /^(igstalk|verig|igver)$/i
-handler.exp = 80
-handler.money = 150
-handler.level = 3
+handler.command = ['igstalk', 'igsearch', 'instagramsearch']
handler.register = true
+handler.limit = 1
export default handler
-
-async function igstalk(Username) {
-return new Promise((resolve, reject) => {
-axios.get('https://dumpor.com/v/'+Username, {
-headers: { "cookie": "_inst_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYWGhnNS1uWVNLUU81V1lzQ01MTVY2R0h1.fI2xB2dYYxmWqn7kyCKIn1baWw3b-f7QvGDfDK2WXr8", "user-agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36" }}).then(res => {
-const $ = cheerio.load(res.data)
-const result = {
-profile: $('#user-page > div.user > div.row > div > div.user__img').attr('style').replace(/(background-image: url\(\'|\'\);)/gi, ''),
-fullname: $('#user-page > div.user > div > div.col-md-4.col-8.my-3 > div > a > h1').text(),
-username: $('#user-page > div.user > div > div.col-md-4.col-8.my-3 > div > h4').text(),
-post: $('#user-page > div.user > div > div.col-md-4.col-8.my-3 > ul > li:nth-child(1)').text().replace(' Posts',''),
-followers: $('#user-page > div.user > div > div.col-md-4.col-8.my-3 > ul > li:nth-child(2)').text().replace(' Followers',''),
-following: $('#user-page > div.user > div > div.col-md-4.col-8.my-3 > ul > li:nth-child(3)').text().replace(' Following',''),
-bio: $('#user-page > div.user > div > div.col-md-5.my-3 > div').text()}
-resolve(result)})})}
-
-
-/*import { instagramStalk } from '@bochilteam/scraper'
-
-let handler= async (m, { args, usedPrefix, command }) => {
-if (!args[0]) throw `${lenguajeGB['smsAvisoMG']()}๐๐๐๐๐๐๐ ๐๐ ๐๐๐๐ผ๐๐๐ ๐ฟ๐ ๐ผ๐๐๐๐๐๐ ๐ฟ๐ ๐๐๐๐๐ผ๐๐๐ผ๐\n๐๐
๐๐๐๐๐\n*${usedPrefix + command} gatadios*\n\n๐๐๐๐๐ ๐๐๐๐๐ผ๐๐๐ผ๐ ๐๐๐๐๐๐ผ๐๐\n๐๐๐ผ๐๐๐๐\n*${usedPrefix + command} gata_dios*`
-const {
-username,
-name,
-description,
-followersH,
-followingH,
-postsH,
-} = await instagramStalk(args[0])
-m.reply(`
-โ ๐ *${gt} ${vs}*
-โโโโโโโโโโโโโโโโโโ
-โ ๐๐๐๐ฝ๐๐ | ๐๐ผ๐๐
-โ *${name}*
-โโโโโโโโโโโโโโโโโโ
-โ ๐๐๐๐ผ๐๐๐(๐ผ) | ๐๐๐๐
-โ *${username}*
-โโโโโโโโโโโโโโโโโโ
-โ ๐๐๐๐ผ๐พ๐ | ๐๐๐๐
-โ *https://instagram.com/${username.replace(/^@/, '')}*
-โโโโโโโโโโโโโโโโโโ
-โ ๐๐๐๐๐๐ฟ๐๐๐๐ | ๐๐๐๐๐๐๐๐๐
-โ *${followersH}*
-โโโโโโโโโโโโโโโโโโ
-โ ๐๐๐๐๐๐ฟ๐๐ | ๐๐๐๐๐๐๐๐๐
-โ *${followingH}*
-โโโโโโโโโโโโโโโโโโ
-โ ๐๐๐ฝ๐๐๐พ๐ผ๐พ๐๐๐๐๐ | ๐๐๐๐๐
-โ *${postsH}*
-โโโโโโโโโโโโโโโโโโ
-โ ๐ฝ๐๐๐๐๐ผ๐ร๐ผ | ๐ฟ๐๐๐พ๐๐๐๐๐๐๐
-โ *${description}*
-`.trim())
-
- 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.*
- `
- conn.sendButton(m.chat, info, `๐๐ผ๐๐ผ ๐ฟ๐๐๐ - ๐ผ๐๐๐๐๐๐๐พ๐๐ผ\n${asistencia}\n\n`, [
-['๐๐๐ฃ๐ช ๐ฟ๐๐จ๐๐๐ง๐๐๐จ ๐', '#descargasmenu'],
-['๐๐๐ฃ๐ช ๐พ๐ค๐ข๐ฅ๐ก๐๐ฉ๐ค | ๐๐ช๐ก๐ก ๐๐๐ฃ๐ช โจ', '.allmenu'],
-['๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ | ๐ฝ๐๐๐ ๐ฉ๐ค ๐๐๐ฃ๐ช โ๏ธ', '/menu']], m)
- /*.trim()
-
-await conn.sendHydrated(m.chat, info, wm, null, ig, '๐๐ฃ๐จ๐ฉ๐๐๐ง๐๐ข', null, null, [
-['๐๐๐ฃ๐ช ๐ฟ๐๐จ๐๐๐ง๐๐๐จ ๐', '#descargasmenu'],
-['๐๐๐ฃ๐ช ๐พ๐ค๐ข๐ฅ๐ก๐๐ฉ๐ค | ๐๐ช๐ก๐ก ๐๐๐ฃ๐ช โจ', '.allmenu'],
-['๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ | ๐ฝ๐๐๐ ๐ฉ๐ค ๐๐๐ฃ๐ช โ๏ธ', '/menu']
-], m,)
-
-}
-handler.help = ['igstalk'].map(v => v + ' ')
-handler.tags = ['downloader']
-handler.command = /^(igstalk|verig|igver)$/i
-handler.exp = 80
-export default handler*/
-
diff --git a/plugins/descargas-imagen.js b/plugins/descargas-imagen.js
index 3d5eb331a..6a3ce7e5a 100644
--- a/plugins/descargas-imagen.js
+++ b/plugins/descargas-imagen.js
@@ -1,22 +1,20 @@
-import { googleImage } from '@bochilteam/scraper'
-let handler = async (m, { conn, text, usedPrefix, command }) => {
-let user = global.db.data.users[m.sender]
+import { googleImage } from '@bochilteam/scraper';
+const handler = async (m, { conn, text, usedPrefix, command }) => {
+if (!text) throw `${await tr("Que esta buscando?")} ๐ค๏ธ ${await tr("Usar de la siguiente manera")}\nโข ${await tr("Ejemplo")}:\n*${usedPrefix + command} Loli*`
+const forbiddenWords = ['caca', 'polla', 'porno', 'porn', 'gore', 'cum', 'semen', 'puta', 'puto', 'culo', 'putita', 'putito','pussy', 'hentai', 'pene', 'coรฑo', 'asesinato', 'zoofilia', 'mia khalifa', 'desnudo', 'desnuda', 'cuca', 'chocha', 'muertos', 'pornhub', 'xnxx', 'xvideos', 'teta', 'vagina', 'marsha may', 'misha cross', 'sexmex', 'furry', 'furro', 'furra', 'xxx', 'rule34', 'panocha', 'pedofilia', 'necrofilia', 'pinga', 'horny', 'ass', 'nude', 'popo', 'nsfw', 'femdom', 'futanari', 'erofeet', 'sexo', 'sex', 'yuri', 'ero', 'ecchi', 'blowjob', 'anal', 'ahegao', 'pija', 'verga', 'trasero', 'violation', 'violacion', 'bdsm', 'cachonda', '+18', 'cp', 'mia marin', 'lana rhoades', 'cepesito', 'hot', 'buceta', 'xxx', 'Violet Myllers', 'Violet Myllers pussy', 'Violet Myllers desnuda', 'Violet Myllers sin ropa', 'Violet Myllers culo', 'Violet Myllers vagina', 'Pornografรญa', 'Pornografรญa infantil', 'niรฑa desnuda', 'niรฑas desnudas', 'niรฑa pussy', 'niรฑa pack', 'niรฑa culo', 'niรฑa sin ropa', 'niรฑa siendo abusada', 'niรฑa siendo abusada sexualmente' , 'niรฑa cogiendo', 'niรฑa fototeta', 'niรฑa vagina', 'hero Boku no pico', 'Mia Khalifa cogiendo', 'Mia Khalifa sin ropa', 'Mia Khalifa comiendo polla', 'Mia Khalifa desnuda']
+if (forbiddenWords.some(word => m.text.toLowerCase().includes(word))) throw `๐ ${await tr("No voy a buscar tu pendejadas....")}`
+try {
+const res = await googleImage(text);
+const image = await res.getRandom();
+const link = image;
+conn.sendFile(m.chat, link, 'error.jpg', `_๐ ${await tr("Resultados de")}: ${text}_`, m, null, fake);
+} catch (e) {
+console.log(e);
+}}
+handler.help = ['gimage ', 'imagen '];
+handler.tags = ['buscadores'];
+handler.command = /^(gimage|image|imagen)$/i;
+handler.register = true;
+handler.limit = 1;
-if (!text) throw `๐ค๐๐ฒ ๐ฏ๐๐๐ฐ๐ฎ๐ฟ? ๐ค๏ธ\n๐จ๐๐ฒ๐ฟ ๐๐ ๐ก๐ ๐จ๐๐๐ช๐๐๐ฃ๐ฉ๐ ๐ข๐๐ฃ๐๐ง๐\n๐๐ท๐ฒ๐บ๐ฝ๐น๐ผ\n*${usedPrefix + command} Loli*`
-if (m.text.includes('gore') || m.text.includes('cp')|| m.text.includes('porno')|| m.text.includes('Gore')|| m.text.includes('rule')|| m.text.includes('CP') || m.text.includes('Rule34') || m.text.includes('xxx')) return m.reply('๐')
-const res = await googleImage(text)
-let image = res.getRandom()
-let link = image
-await delay(1000)
-conn.sendFile(m.chat, link, 'error.jpg', `*โจ ๐๐๐จ๐ช๐ก๐ฉ๐๐๐ค: ${text}*`, m)
-/*conn.sendHydrated(m.chat, `โจ ๐๐๐จ๐ช๐ก๐ฉ๐๐๐ค: ${text}`, `${wm}`, link, link, 'โ๏ธ ๐๐๐', null, null, [
-['๐ ๐๐๐๐ช๐๐๐ฃ๐ฉ๐', `/imagen ${text}`],
-], m)*/
-}
-handler.help = ['gimage ', 'imagen ']
-handler.tags = ['internet', 'tools']
-handler.command = /^(gimage|image|imagen)$/i
-handler.exp = 20
-handler.money = 40
-export default handler
-const delay = time => new Promise(res => setTimeout(res, time))
+export default handler;
\ No newline at end of file
diff --git a/plugins/descargas-mediafire.js b/plugins/descargas-mediafire.js
index 6c65a1dae..5d63cbcb7 100644
--- a/plugins/descargas-mediafire.js
+++ b/plugins/descargas-mediafire.js
@@ -1,61 +1,98 @@
-import axios from 'axios'
-import fetch from 'node-fetch'
+import axios from 'axios';
+import fetch from 'node-fetch';
+import cheerio from 'cheerio';
+import { mediafiredl } from '@bochilteam/scraper';
+import fg from 'api-dylux';
+let free = 150;
+let prem = 500;
+const userCaptions = new Map();
+const userRequests = {};
-let handler = async (m, { conn, args, usedPrefix, command }) => {
-let user = db.data.users[m.sender]
-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 time = global.db.data.users[m.sender].prue + 60000
-if (new Date - global.db.data.users[m.sender].prue < 60000) throw `*ESPERA UNOS MINUTOS PARA USAR OTRO COMANDO*`
-if (!args[0]) return conn.reply(m.chat, `${lenguajeGB['smsAvisoMG']()}*๐๐๐๐๐๐๐ ๐๐ ๐๐๐๐ผ๐พ๐ ๐๐ผ๐๐๐ฟ๐ ๐ฟ๐๐ ๐๐๐ฟ๐๐ผ๐๐๐๐*\n*๐๐
๐๐๐๐๐:*\n ${usedPrefix + command} https://www.mediafire.com/file/cv64tns6co3272q/Lolibot.zip/file`, fkontak, m)
-try {
-let res = await mediafireDl(args[0])
-let { name, size, date, mime, link } = res
-let caption = `โญโ ${wm}\nโ ๐ซ ๐๐๐๐ฝ๐๐:\nโ ${name}\nโโโโโโโยซโขยปโโโโโโ\nโ ๐ช ๐๐๐๐:\nโ ${size}\nโโโโโโโยซโขยปโโโโโโ\nโ ๐ ๐๐๐๐:\nโ ${mime}\nโฐโโโโฐ ๐ ${vs} โฑโโโโแ\n\nโณ แดฑหขแตแตสณแต แตโฟ แตแตแตแตโฟแตแต แตโฟ หกแตหข แต แตแต แตโฟแตแถฆแตหข หขแตหข แตสณแถสฐแถฆแตแตหข`.trim()
-conn.reply(m.chat, caption, m, {
-contextInfo: { externalAdReply :{ mediaUrl: null, mediaType: 1, description: null,
-title: '๐๐ค๐ก๐๐ฝ๐ค๐ฉ-๐๐ฟ',
-body: 'Super Bot WhatsApp',
-previewType: 0, thumbnail: fs.readFileSync("./media/menus/Menu3.jpg"),
-sourceUrl: `https://github.com/elrebelde21/The-LoliBot-MD`}}})
-await conn.sendFile(m.chat, link, name, '', m, null, { mimetype: mime, asDocument: true })
-} catch {
-let sticker = './src/stickers1.webp'
-conn.sendFile(m.chat, sticker, 'error.webp', '', m)
-handler.limit = false
-}
-global.db.data.users[m.sender].prue = new Date * 1
-}
-handler.help = ['mediafire'].map(v => v + ' ')
-handler.tags = ['downloader']
-handler.command = /^(mediafire|mediafiredl|dlmediafire)$/i
-handler.register = true
-handler.limit = 3
-handler.exp = 100
-export default handler
+const handler = async (m, { conn, args, usedPrefix, command }) => {
+const sticker = 'https://qu.ax/Wdsb.webp';
+if (!args[0]) throw `โ ๏ธ ${await tr("Ingrese un enlace vรกlido del mediafire, Ejemplo")}:*\n${usedPrefix + command} https://www.mediafire.com/file/sd9hl31vhhzf76v/EvolutionV1.1-beta_%2528Recomendado%2529.apk/file`;
-function msToTime(duration) {
-var milliseconds = parseInt((duration % 1000) / 100),
-seconds = Math.floor((duration / 1000) % 60),
-minutes = Math.floor((duration / (1000 * 60)) % 60),
-hours = Math.floor((duration / (1000 * 60 * 60)) % 24)
+if (userRequests[m.sender]) return await conn.reply(m.chat, `โ ๏ธ ${await tr("Hey")} @${m.sender.split('@')[0]} ${await tr("pendejo, ya estรกs descargando algo")} ๐\n> ${await tr("Espera a que termine tu solicitud actual antes de hacer otra...")}`, userCaptions.get(m.sender) || m);
+userRequests[m.sender] = true;
+m.react(`๐`);
+try {
+const downloadAttempts = [async () => {
+const res = await fetch(`https://api.agatz.xyz/api/mediafire?url=${args[0]}`);
+const data = await res.json();
+return { url: data.data[0].link, filename: data.data[0].nama, filesize: data.data[0].size, mimetype: data.data[0].mime,
+}},
+async () => {
+const res = await fetch(`${APIs.fgmods.url}/downloader/mediafire?url=${args[0]}&apikey=${APIs.fgmods.key}`);
+const data = await res.json();
+return {url: data.result.url, filename: data.result.title, filesize: data.result.filesize, mimetype: data.result.mimetype,
+}},
+async () => {
+const res = await fetch(`https://api.siputzx.my.id/api/d/mediafire?url=${args[0]}`);
+const data = await res.json();
+return data.data.map(file => ({url: file.link, filename: file.filename, filesize: file.size, mimetype: file.mime,
+}))[0]},
+async () => {
+const res = await fetch(`${apis}/api/mediafire?url=${args[0]}`);
+const data = await res.json();
+return data.data.map(file => ({url: file.link, filename: file.filename, filesize: file.size, mimetype: file.mime }))[0];
+},
+async () => {
+const res = await mediafiredl(args[0]);
+return {url: res.url, filename: res.filename, filesize: res.filesizeH, mimetype: res.ext,
+}},
+async () => {
+const res = await mediafireDl(args[0]);
+return {url: res.link, filename: res.name, filesize: res.size, mimetype: res.mime, };
+},
+];
+let fileData = null;
-hours = (hours < 10) ? "0" + hours : hours
-minutes = (minutes < 10) ? "0" + minutes : minutes
-seconds = (seconds < 10) ? "0" + seconds : seconds
+for (const attempt of downloadAttempts) {
+try {
+fileData = await attempt();
+if (fileData) break;
+} catch (err) {
+console.error(`Error in attempt: ${err.message}`);
+continue; // Si falla, intentar con la siguiente API
+}}
-return minutes + " m y " + seconds + " s "
-}
+if (!fileData) throw new Error(await tr('No se pudo descargar el archivo desde ninguna API'));
+const file = Array.isArray(fileData) ? fileData[0] : fileData;
+const caption = `โโโใ ${await tr("MEDIAFIRE")} ใโโโข
+โโฅ ${await tr("Nombre")} : ${file.filename}
+โโฅ ${await tr("Peso")} : ${file.filesize}
+โโฅ ${await tr("Tipo")} : ${file.mimetype}
+โฐโโโโฐ ๐ ${vs} โฑโโโโโข
+> โณ ${await tr("Espere un momento en los que envios sus archivos")}`.trim();
+const captionMessage = await conn.reply(m.chat, caption, m)
+userCaptions.set(m.sender, captionMessage);
+await conn.sendFile(m.chat, file.url, file.filename, '', m, null, { mimetype: file.mimetype, asDocument: true });
+m.react('โ
');
+} catch (e) {
+await conn.sendFile(m.chat, sticker, 'error.webp', '', m, null, fake);
+m.react('โ');
+console.error(e);
+handler.limit = false;
+} finally {
+delete userRequests[m.sender];
+}};
+handler.help = ['mediafire', 'mediafiredl'];
+handler.tags = ['downloader'];
+handler.command = /^(mediafire|mediafiredl|dlmediafire)$/i;
+handler.register = true;
+handler.limit = 3;
+
+export default handler;
async function mediafireDl(url) {
- const res = await axios.get(`https://www-mediafire-com.translate.goog/${url.replace('https://www.mediafire.com/','')}?_x_tr_sl=en&_x_tr_tl=fr&_x_tr_hl=en&_x_tr_pto=wapp`)
- const $ = cheerio.load(res.data)
- const link = $('#downloadButton').attr('href')
- const name = $('body > main > div.content > div.center > div > div.dl-btn-cont > div.dl-btn-labelWrap > div.promoDownloadName.notranslate > div').attr('title').replaceAll(' ','').replaceAll('\n','')
- const date = $('body > main > div.content > div.center > div > div.dl-info > ul > li:nth-child(2) > span').text()
- const size = $('#downloadButton').text().replace('Download', '').replace('(', '').replace(')', '').replace('\n', '').replace('\n', '').replace(' ', '').replaceAll(' ','')
- let mime = ''
- let rese = await axios.head(link)
- mime = rese.headers['content-type']
- return { name, size, date, mime, link }
-}
-
\ No newline at end of file
+ const res = await axios.get(`https://www-mediafire-com.translate.goog/${url.replace('https://www.mediafire.com/', '')}?_x_tr_sl=en&_x_tr_tl=fr&_x_tr_hl=en&_x_tr_pto=wapp`);
+ const $ = cheerio.load(res.data);
+ const link = $('#downloadButton').attr('href');
+ const name = $('body > main > div.content > div.center > div > div.dl-btn-cont > div.dl-btn-labelWrap > div.promoDownloadName.notranslate > div').attr('title').replaceAll(' ', '').replaceAll('\n', '');
+ const date = $('body > main > div.content > div.center > div > div.dl-info > ul > li:nth-child(2) > span').text();
+ const size = $('#downloadButton').text().replace('Download', '').replace('(', '').replace(')', '').replace('\n', '').replace('\n', '').replace(' ', '').replaceAll(' ', '');
+ let mime = '';
+ const rese = await axios.head(link);
+ mime = rese.headers['content-type'];
+ return { name, size, date, mime, link };
+}
\ No newline at end of file
diff --git a/plugins/descargas-modapk.js b/plugins/descargas-modapk.js
new file mode 100644
index 000000000..e3e078a62
--- /dev/null
+++ b/plugins/descargas-modapk.js
@@ -0,0 +1,90 @@
+import axios from 'axios';
+import cheerio from 'cheerio';
+//import { search, download } from 'aptoide-scraper';
+const userMessages = new Map();
+const userRequests = {};
+
+const handler = async (m, { conn, usedPrefix, command, text }) => {
+const apkpureApi = 'https://apkpure.com/api/v2/search?q=';
+const apkpureDownloadApi = 'https://apkpure.com/api/v2/download?id=';
+if (!text) throw `โ ๏ธ *${await tr("Escriba el nombre del apk")}*`;
+if (userRequests[m.sender]) return await conn.reply(m.chat, `โ ๏ธ ${await tr("Hey")} @${m.sender.split('@')[0]} ${await tr("pendejo, ya estรกs descargando un APK")} ๐\n> ${await tr("Espera a que termine tu descarga actual antes de pedir otra. ")} ๐`, userMessages.get(m.sender) || m)
+userRequests[m.sender] = true;
+m.react("โ");
+try {
+const downloadAttempts = [async () => {
+const res = await fetch(`https://api.dorratz.com/v2/apk-dl?text=${text}`);
+const data = await res.json();
+if (!data.name) throw new Error('No data from dorratz API');
+return { name: data.name, package: data.package, lastUpdate: data.lastUpdate, size: data.size, icon: data.icon, dllink: data.dllink };
+},
+async () => {
+const res = await fetch(`${apis}/download/apk?query=${text}`);
+const data = await res.json();
+const apkData = data.data;
+return { name: apkData.name, developer: apkData.developer, publish: apkData.publish, size: apkData.size, icon: apkData.image, dllink: apkData.download };
+},
+async () => {
+const searchA = await search(text);
+const data5 = await download(searchA[0].id);
+return { name: data5.name, package: data5.package, lastUpdate: data5.lastup, size: data5.size, icon: data5.icon, dllink: data5.dllink };
+}];
+
+let apkData = null;
+for (const attempt of downloadAttempts) {
+try {
+apkData = await attempt();
+if (apkData) break;
+} catch (err) {
+console.error(`Error in attempt: ${err.message}`);
+continue; // Si falla, intentar con la siguiente API
+}}
+
+if (!apkData) throw new Error(await tr('No se pudo descargar el APK desde ninguna API'));
+const response = `โช ${await tr("DESCARGANDO APKS")} ๐โซ
+
+โโโโโโโโโโโโโโโโโโโโโโโโข
+โ๐ซ ${await tr("Nombre")}: ${apkData.name}
+${apkData.developer ? `โ๐ค ${await tr("Desarrollo")}: ${apkData.developer}` : `โ๐ฆ ${await tr("Package")}: ${apkData.package}`}
+โ๐ ${await tr("Ultima actualizaciรณn")}: ${apkData.developer ? apkData.publish : apkData.lastUpdate}
+โ๐ช ${await tr("Peso")}: ${apkData.size}
+โโโโโโโโโโโโโโโโโโโโโโโโโข
+
+> *โณ ${await tr("Espere un momento sus apk se esta enviando...")}*`;
+const responseMessage = await conn.sendFile(m.chat, apkData.icon, 'apk.jpg', response, m, null, fake);
+userMessages.set(m.sender, responseMessage);
+
+const apkSize = apkData.size.toLowerCase();
+if (apkSize.includes('gb') || (apkSize.includes('mb') && parseFloat(apkSize) > 999)) {
+await m.reply(`*โ ๏ธ ${await tr("El apk es muy pesado.")}*`);
+return;
+}
+
+await conn.sendMessage(m.chat, { document: { url: apkData.dllink }, mimetype: 'application/vnd.android.package-archive', fileName: `${apkData.name}.apk`, caption: null }, { quoted: m });
+m.react("โ
");
+} catch (e) {
+m.react('โ');
+console.log(e);
+handler.limit = false;
+} finally {
+delete userRequests[m.sender];
+}};
+handler.help = ['apk', 'apkmod'];
+handler.tags = ['downloader'];
+handler.command = /^(apkmod|apk|modapk|dapk2|aptoide|aptoidedl)$/i;
+handler.register = true;
+handler.limit = 2;
+
+export default handler;
+
+async function searchApk(text) {
+ const response = await axios.get(`${apkpureApi}${encodeURIComponent(text)}`);
+ const data = response.data;
+ return data.results;
+}
+
+async function downloadApk(id) {
+ const response = await axios.get(`${apkpureDownloadApi}${id}`);
+ const data = response.data;
+ return data;
+}
\ No newline at end of file
diff --git a/plugins/descargas-pinterest.js b/plugins/descargas-pinterest.js
index 4eb4769c0..d37eecf0b 100644
--- a/plugins/descargas-pinterest.js
+++ b/plugins/descargas-pinterest.js
@@ -1,14 +1,60 @@
-import { pinterest } from '@bochilteam/scraper'
-let handler = async(m, { conn, text, usedPrefix, command }) => {
-if (!text) throw `*Que esta buscadoโ*๏ธ\n*Use de la siguiente manera*\n*Ejemplo:*\n*${usedPrefix + command} Loli*`
-const json = await pinterest(text)
-await conn.sendFile(m.chat, json.getRandom(), 'error.jpg', `
-โจ *Resultados de: ${text}`.trim(), m)
+import axios from 'axios';
+import { pinterest } from '../lib/scraper.js';
+
+let handler = async (m, { conn, usedPrefix, command, text }) => {
+if (!text) throw `*โ ๏ธ ${await tr("Ingresa el tรฉrmino de bรบsqueda.")}*\n${await tr("Ejemplo")}: ${usedPrefix + command} nayeon`;
+m.react("โ");
+try {
+const downloadAttempts = [async () => {
+const response = await pinterest.search(text, 6);
+const pins = response.result.pins.slice(0, 6);
+return pins.map(pin => ({title: pin.title || text,
+description: `๐ Por: ${pin.uploader.username}`,
+image: pin.media.images.orig.url}));
+},
+async () => {
+const res = await axios.get(`https://api.siputzx.my.id/api/s/pinterest?query=${encodeURIComponent(text)}`);
+const data = res.data.data.slice(0, 6);
+return data.map(result => ({title: result.grid_title || text, description: '', image: result.images_url }));
+},
+async () => {
+const res = await axios.get(`https://api.dorratz.com/v2/pinterest?q=${text}`);
+const data = res.data.slice(0, 6);
+return data.map(result => ({title: result.fullname || text, description: `*๐ธ๏ธ${tr("Autor")}:* ${result.upload_by}\n*๐ธ๏ธ ${tr("Seguidores")}:* ${result.followers}`, image: result.image }));
+},
+async () => {
+const res = await axios.get(`${apis}/search/pinterestv2?text=${encodeURIComponent(text)}`);
+const data = res.data.data.slice(0, 6);
+return data.map(result => ({title: result.description || text, description: `๐ ${tr("Autor")}: ${result.name} (@${result.username})`, image: result.image }));
+}];
+
+let results = null;
+for (const attempt of downloadAttempts) {
+try {
+results = await attempt();
+if (results && results.length > 0) break;
+} catch (err) {
+console.error(`Error in attempt: ${err.message}`);
+continue; // Si falla, intentar con la siguiente API
+}}
+
+if (!results || results.length === 0) throw new Error(`โ ${await tr("No se encontraron resultados para")} "${text}".`);
+if (m.isWABusiness) {
+const medias = results.map(result => ({ type: "image", data: { url: result.image } }));
+await conn.sendAlbumMessage(m.chat, medias, `โ
${await tr("Resultados para:")} ${text}`, m);
+} else {
+const messages = results.map(result => ["", `${result.title}\n${result.description}`, result.image]);
+await conn.sendCarousel(m.chat, `โ
${await tr("Resultados para:")} ${text}`, "๐ Pinterest Search", messages, m);
}
-handler.help = ['pinterest ']
-handler.tags = ['internet']
-handler.command = /^(pinterest|dlpinterest|pinterestdl)$/i
-handler.money = 100
-handler.register = true
-handler.level = 1
-export default handler
+m.react("โ
๏ธ");
+} catch (e) {
+await m.reply(e.message || `โ ${await tr("No se encontraron resultados para")} "${text}".`);
+m.react("โ๏ธ");
+}};
+handler.help = ['pinterest '];
+handler.tags = ['buscadores'];
+handler.command = /^(pinterest)$/i;
+handler.register = true;
+handler.limit = 1;
+
+export default handler;
\ No newline at end of file
diff --git a/plugins/descargas-play.js b/plugins/descargas-play.js
index e7c42af8c..dd98308b7 100644
--- a/plugins/descargas-play.js
+++ b/plugins/descargas-play.js
@@ -1,188 +1,257 @@
-import fetch from "node-fetch"
-import yts from "yt-search"
-import ytdl from 'ytdl-core'
-import axios from 'axios'
-import { youtubedl, youtubedlv2 } from '@bochilteam/scraper'
-let handler = async (m, { conn, command, args, text, usedPrefix }) => {
-let q, v, yt, dl_url, ttl, size, lolhuman, lolh, n, n2, n3, n4, cap, qu, currentQuality
-if (!text) throw `*๐คQue esta buscado? ๐ค*\n*Ingrese el nombre del la canciรณn*\n\n*Ejemplo:*\n#play emilia 420`
+//import { youtubedl, youtubedlv2 } from '@bochilteam/scraper'
+import fetch from 'node-fetch';
+import yts from 'yt-search';
+import ytdl from 'ytdl-core';
+import axios from 'axios';
+import { savetube } from '../lib/yt-savetube.js'
+import { ogmp3 } from '../lib/youtubedl.js';
+import { amdl } from '../lib/scraper.js';
+import { createRequire } from 'module';
+const require = createRequire(import.meta.url);
+const { ytmp3, ytmp4 } = require("@hiudyy/ytdl");
+const LimitAud = 725 * 1024 * 1024; // 725MB
+const LimitVid = 425 * 1024 * 1024; // 425MB
+const youtubeRegexID = /(?:youtu\.be\/|youtube\.com\/(?:watch\?v=|embed\/))([a-zA-Z0-9_-]{11})/;
+const userCaptions = new Map();
+const userRequests = {};
+
+const handler = async (m, { conn, command, args, text, usedPrefix }) => {
+if (!text) return m.reply(`*๐ค ${await tr("Que estรก buscando?")} ๐ค*\n*${await tr("Ingrese el nombre de la canciรณn")}*\n\n*${await tr("Ejemplo:")}*\n${usedPrefix + command} emilia 420`);
+const tipoDescarga = command === 'play' || command === 'musica' ? 'audio' : command === 'play2' ? 'video' : command === 'play3' ? 'audio (documento)' : command === 'play4' ? 'video (documento)' : '';
+if (userRequests[m.sender]) return await conn.reply(m.chat, `โณ ${await tr("Hey")} @${m.sender.split('@')[0]} ${await tr("espera pendejo, ya estรกs descargando algo")} ๐\n${await tr("Espera a que termine tu solicitud actual antes de hacer otra...")}`, userCaptions.get(m.sender) || m);
+userRequests[m.sender] = true;
try {
-const yt_play = await search(args.join(" "))
-let additionalText = ''
-if (command === 'play') {
-additionalText = 'audio ๐'
-} else if (command === 'play2') {
-additionalText = 'video ๐ฅ'}
-await conn.sendMessage(m.chat, {
-text: `${yt_play[0].title}
+let videoIdToFind = text.match(youtubeRegexID) || null;
+const yt_play = await search(args.join(' '));
+let ytplay2 = await yts(videoIdToFind === null ? text : 'https://youtu.be/' + videoIdToFind[1]);
+if (videoIdToFind) {
+const videoId = videoIdToFind[1];
+ytplay2 = ytplay2.all.find(item => item.videoId === videoId) || ytplay2.videos.find(item => item.videoId === videoId)}
+ytplay2 = ytplay2.all?.[0] || ytplay2.videos?.[0] || ytplay2;
+const PlayText = await conn.sendMessage(m.chat, { text: `${yt_play[0].title}
*โใ
ค โ ใ
ค โโใ
ค โทใ
ค โป*
-*โฐ Duraciรณn:* ${secondString(yt_play[0].duration.seconds)}
-*๐๐ปAguarde un momento en lo que envรญo su ${additionalText}*`,
-contextInfo: {
-externalAdReply: {
-title: yt_play[0].title,
+*โฐ ${await tr("Duraciรณn")}:* ${secondString(yt_play[0].duration.seconds)}
+*๐๐ป ${await tr("Aguarde un momento en lo que envรญo su")} ${tipoDescarga}*`,
+contextInfo:{
+forwardedNewsletterMessageInfo: {
+newsletterJid: '120363355261011910@newsletter',
+serverMessageId: '',
+newsletterName: 'LoliBot โจ๏ธ' },
+forwardingScore: 9999999,
+isForwarded: true,
+mentionedJid: null,
+externalAdReply: {
+showAdAttribution: true,
+renderLargerThumbnail: true,
+title: yt_play[0].title,
body: wm,
+containsAutoReply: true,
+mediaType: 1,
thumbnailUrl: yt_play[0].thumbnail,
-mediaType: 1,
-showAdAttribution: true,
-renderLargerThumbnail: true
-}}} , { quoted: m })
-if (command == 'play') {
-try {
-let q = '128kbps'
-let v = yt_play[0].url
-const yt = await youtubedl(v).catch(async _ => await youtubedlv2(v))
-const dl_url = await yt.audio[q].download()
-const ttl = await yt.title
-const size = await yt.audio[q].fileSizeH
-await conn.sendMessage(m.chat, { audio: { url: dl_url }, mimetype: 'audio/mpeg' }, { quoted: m})
-} catch {
-try {
-const dataRE = await fetch(`https://api.akuari.my.id/downloader/youtube?link=${yt_play[0].url}`)
-const dataRET = await dataRE.json()
-await conn.sendMessage(m.chat, { audio: { url: dataRET.mp3[1].url }, mimetype: 'audio/mpeg' }, { quoted: m})
-} catch {
-try {
-let humanLol = await fetch(`https://api.lolhuman.xyz/api/ytplay?apikey=${lolkeysapi}&query=${yt_play[0].title}`)
-let humanRET = await humanLol.json()
-await conn.sendMessage(m.chat, { audio: { url: humanRET.result.audio.link}, mimetype: 'audio/mpeg' }, { quoted: m})
-} catch {
-try {
-let lolhuman = await fetch(`https://api.lolhuman.xyz/api/ytaudio2?apikey=${lolkeysapi}&url=${yt_play[0].url}`)
-let lolh = await lolhuman.json()
-let n = lolh.result.title || 'error'
-await conn.sendMessage(m.chat, { audio: { url: lolh.result.link}, mimetype: 'audio/mpeg' }, { quoted: m})
-} catch {
-try {
-let searchh = await yts(yt_play[0].url)
-let __res = searchh.all.map(v => v).filter(v => v.type == "video")
-let infoo = await ytdl.getInfo('https://youtu.be/' + __res[0].videoId)
-let ress = await ytdl.chooseFormat(infoo.formats, { filter: 'audioonly' })
-await conn.sendMessage(m.chat, { audio: { url: ress.url}, mimetype: 'audio/mpeg' }, { quoted: m})
-/*conn.sendMessage(m.chat, { audio: { url: ress.url }, mimetype: 'audio/mpeg', contextInfo: {
-externalAdReply: {
-title: __res[0].title,
-body: "",
-thumbnailUrl: yt_play[0].thumbnail,
-mediaType: 1,
-showAdAttribution: true,
-renderLargerThumbnail: true
-}}} , { quoted: m })*/
-} catch {
-}}}}}
-}
-if (command == 'play2') {
-try {
-let qu = '360'
-let q = qu + 'p'
-let v = yt_play[0].url
-const yt = await youtubedl(v).catch(async _ => await youtubedlv2(v))
-const dl_url = await yt.video[q].download()
-const ttl = await yt.title
-const size = await yt.video[q].fileSizeH
-await await conn.sendMessage(m.chat, { video: { url: dl_url }, fileName: `${ttl}.mp4`, mimetype: 'video/mp4', caption: `*๐ฐ Aqui esta tu video*\n*๐ฅ Titulo: ${ttl}`, thumbnail: await fetch(yt.thumbnail) }, { quoted: m })
-} catch {
-try {
-let mediaa = await ytMp4(yt_play[0].url)
-await conn.sendMessage(m.chat, { video: { url: mediaa.result }, fileName: `error.mp4`, caption: `_${wm}_`, thumbnail: mediaa.thumb, mimetype: 'video/mp4' }, { quoted: m })
-} catch {
+sourceUrl: [nna, nna2, nnaa].getRandom()
+}}}, { quoted: m })
+userCaptions.set(m.sender, PlayText);
+/*conn.sendFile(m.chat, yt_play[0].thumbnail, 'error.jpg', `${yt_play[0].title}
+*โใ
ค โ ใ
ค โโใ
ค โทใ
ค โป*
+
+*โฐ Duraciรณn:* ${secondString(yt_play[0].duration.seconds)}
+*๐๐ปAguarde un momento en lo que envรญo su audio*`, m, null, fake);*/
+
+const [input, qualityInput = command === 'play' || command === 'musica' || command === 'play3' ? '320' : '720'] = text.split(' ');
+const audioQualities = ['64', '96', '128', '192', '256', '320'];
+const videoQualities = ['240', '360', '480', '720', '1080'];
+const isAudioCommand = command === 'play' || command === 'musica' || command === 'play3';
+const selectedQuality = (isAudioCommand ? audioQualities : videoQualities).includes(qualityInput) ? qualityInput : (isAudioCommand ? '320' : '720');
+const isAudio = command.toLowerCase().includes('mp3') || command.toLowerCase().includes('audio')
+const format = isAudio ? 'mp3' : '720'
+
+const audioApis = [
+{ url: () => savetube.download(yt_play[0].url, format), extract: (data) => ({ data: data.result.download, isDirect: false }) },
+{ url: () => ogmp3.download(yt_play[0].url, selectedQuality, 'audio'), extract: (data) => ({ data: data.result.download, isDirect: false }) },
+{ url: () => ytmp3(yt_play[0].url), extract: (data) => ({ data, isDirect: true }) },
+{ url: () => amdl.download(yt_play[0].url, "720p"), extract: (data) => ({ data: data.result.download, isDirect: false }) },
+{ url: () => fetch(`https://api.dorratz.com/v3/ytdl?url=${yt_play[0].url}`).then(res => res.json()), extract: (data) => {
+const mp3 = data.medias.find(media => media.quality === "160kbps" && media.extension === "mp3");
+return { data: mp3.url, isDirect: false }}},
+{ url: () => fetch(`${APIs.neoxr.url}/youtube?url=${yt_play[0].url}&type=audio&quality=128kbps&apikey=${APIs.neoxr.key}`).then(res => res.json()), extract: (data) => ({ data: data.data.url, isDirect: false }) },
+{ url: () => fetch(`https://api.fgmods.xyz/api/downloader/ytmp4?url=${yt_play[0].url}&apikey=${APIs.fgmods.url}`).then(res => res.json()), extract: (data) => ({ data: data.result.dl_url, isDirect: false }) },
+{ url: () => fetch(`https://api.siputzx.my.id/api/d/ytmp4?url=${yt_play[0].url}`).then(res => res.json()), extract: (data) => ({ data: data.dl, isDirect: false }) },
+{ url: () => fetch(`${apis}/download/ytmp3?url=${yt_play[0].url}`).then(res => res.json()), extract: (data) => ({ data: data.status ? data.data.download.url : null, isDirect: false }) },
+{ url: () => fetch(`https://api.zenkey.my.id/api/download/ytmp3?apikey=zenkey&url=${yt_play[0].url}`).then(res => res.json()), extract: (data) => ({ data: data.result.download.url, isDirect: false }) },
+{ url: () => fetch(`https://exonity.tech/api/dl/playmp3?query=${yt_play[0].title}`).then(res => res.json()), extract: (data) => ({ data: data.result.download, isDirect: false })
+}];
+
+const videoApis = [
+{ url: () => savetube.download(yt_play[0].url, '720'), extract: (data) => ({ data: data.result.download, isDirect: false }) },
+{ url: () => ogmp3.download(yt_play[0].url, selectedQuality, 'video'), extract: (data) => ({ data: data.result.download, isDirect: false }) },
+{ url: () => ytmp4(yt_play[0].url), extract: (data) => ({ data, isDirect: true }) },
+{ url: () => amdl.download(yt_play[0].url, '720p'), extract: (data) => ({ data: data.result.download, isDirect: false }) },
+{ url: () => fetch(`https://api.siputzx.my.id/api/d/ytmp4?url=${yt_play[0].url}`).then(res => res.json()), extract: (data) => ({ data: data.dl, isDirect: false }) },
+{ url: () => fetch(`${APIs.neoxr.url}/youtube?url=${yt_play[0].url}&type=video&quality=720p&apikey=${APIs.neoxr.key}`).then(res => res.json()), extract: (data) => ({ data: data.data.url, isDirect: false }) },
+{ url: () => fetch(`https://api.fgmods.xyz/api/downloader/ytmp4?url=${yt_play[0].url}&apikey=${APIs.fgmods.key}`).then(res => res.json()), extract: (data) => ({ data: data.result.dl_url, isDirect: false }) },
+{ url: () => fetch(`${apis}/download/ytmp4?url=${encodeURIComponent(yt_play[0].url)}`).then(res => res.json()), extract: (data) => ({ data: data.status ? data.data.download.url : null, isDirect: false }) },
+{ url: () => fetch(`https://exonity.tech/api/dl/playmp4?query=${encodeURIComponent(yt_play[0].title)}`).then(res => res.json()), extract: (data) => ({ data: data.result.download, isDirect: false })
+}];
+
+const download = async (apis) => {
+let mediaData = null;
+let isDirect = false;
+for (const api of apis) {
try {
-let lolhuman = await fetch(`https://api.lolhuman.xyz/api/ytvideo2?apikey=${lolkeysapi}&url=${yt_play[0].url}`)
-let lolh = await lolhuman.json()
-let n = lolh.result.title || 'error'
-let n2 = lolh.result.link
-let n3 = lolh.result.size
-let n4 = lolh.result.thumbnail
-await conn.sendMessage(m.chat, { video: { url: n2 }, fileName: `${n}.mp4`, mimetype: 'video/mp4', caption: `*๐ฐ Aqui esta tu video*\n*๐ฅ Titulo: ${n}`, thumbnail: await fetch(n4) }, { quoted: m })
-} catch {
-}}}}} catch {
+const data = await api.url();
+const { data: extractedData, isDirect: direct } = api.extract(data);
+if (extractedData) {
+const size = await getFileSize(extractedData);
+if (size >= 1024) {
+mediaData = extractedData;
+isDirect = direct;
+break;
+}}} catch (e) {
+console.log(`Error con API: ${e}`);
+continue;
+}}
+return { mediaData, isDirect };
+};
+
+if (command === 'play' || command === 'musica') {
+const { mediaData, isDirect } = await download(audioApis);
+if (mediaData) {
+const fileSize = await getFileSize(mediaData);
+if (fileSize > LimitAud) {
+await conn.sendMessage(m.chat, { document: isDirect ? mediaData : { url: mediaData }, mimetype: 'audio/mpeg', fileName: `${yt_play[0].title}.mp3` }, { quoted: m });
+} else {
+await conn.sendMessage(m.chat, { audio: isDirect ? mediaData : { url: mediaData }, mimetype: 'audio/mpeg' }, { quoted: m });
+}} else {
+//await m.react('โ');
+}}
+
+if (command === 'play2' || command === 'video') {
+const { mediaData, isDirect } = await download(videoApis);
+if (mediaData) {
+const fileSize = await getFileSize(mediaData);
+const messageOptions = { fileName: `${yt_play[0].title}.mp4`, caption: `๐ฐ ${await tr("Aquรญ estรก tu video")}\n๐ฅ ${await tr("Tรญtulo")}: ${yt_play[0].title}`, mimetype: 'video/mp4' };
+if (fileSize > LimitVid) {
+await conn.sendMessage(m.chat, { document: isDirect ? mediaData : { url: mediaData }, ...messageOptions }, { quoted: m });
+} else {
+await conn.sendMessage(m.chat, { video: isDirect ? mediaData : { url: mediaData }, thumbnail: yt_play[0].thumbnail, ...messageOptions }, { quoted: m });
+}} else {
+//await m.react('โ');
+}}
+
+if (command === 'play3' || command === 'playdoc') {
+const { mediaData, isDirect } = await download(audioApis);
+if (mediaData) {
+await conn.sendMessage(m.chat, { document: isDirect ? mediaData : { url: mediaData }, mimetype: 'audio/mpeg', fileName: `${yt_play[0].title}.mp3`}, { quoted: m });
+} else {
+await m.react('โ');
}}
-handler.command = ['play', 'play2']
-handler.exp = 0
-export default handler
+
+if (command === 'play4' || command === 'playdoc2') {
+const { mediaData, isDirect } = await download(videoApis);
+if (mediaData) {
+await conn.sendMessage(m.chat, { document: isDirect ? mediaData : { url: mediaData }, fileName: `${yt_play[0].title}.mp4`, caption: `๐ฐ${await tr("Tรญtulo")}: ${yt_play[0].title}`, thumbnail: yt_play[0].thumbnail, mimetype: 'video/mp4'}, { quoted: m })
+} else {
+//await m.react('โ');
+}}
+} catch (error) {
+console.error(error);
+m.react("โ๏ธ")
+} finally {
+delete userRequests[m.sender];
+}}
+handler.help = ['play', 'play2', 'play3', 'play4', 'playdoc'];
+handler.tags = ['downloader'];
+handler.command = ['play', 'play2', 'play3', 'play4', 'audio', 'video', 'playdoc', 'playdoc2', 'musica'];
+handler.register = true;
+export default handler;
async function search(query, options = {}) {
-const search = await yts.search({ query, hl: "es", gl: "ES", ...options });
-return search.videos};
+const search = await yts.search({query, hl: 'es', gl: 'ES', ...options});
+return search.videos;
+}
function MilesNumber(number) {
const exp = /(\d)(?=(\d{3})+(?!\d))/g;
-const rep = "$1.";
-let arr = number.toString().split(".");
+const rep = '$1.';
+const arr = number.toString().split('.');
arr[0] = arr[0].replace(exp, rep);
-return arr[1] ? arr.join(".") : arr[0]};
+return arr[1] ? arr.join('.') : arr[0];
+}
function secondString(seconds) {
seconds = Number(seconds);
-var d = Math.floor(seconds / (3600 * 24));
-var h = Math.floor((seconds % (3600 * 24)) / 3600);
-var m = Math.floor((seconds % 3600) / 60);
-var s = Math.floor(seconds % 60);
-var dDisplay = d > 0 ? d + (d == 1 ? " dรญa, " : " dรญas, ") : "";
-var hDisplay = h > 0 ? h + (h == 1 ? " hora, " : " horas, ") : "";
-var mDisplay = m > 0 ? m + (m == 1 ? " minuto, " : " minutos, ") : "";
-var sDisplay = s > 0 ? s + (s == 1 ? " segundo" : " segundos") : "";
-return dDisplay + hDisplay + mDisplay + sDisplay};
-
-function bytesToSize(bytes) {
-return new Promise((resolve, reject) => {
-const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB'];
-if (bytes === 0) return 'n/a';
-const i = parseInt(Math.floor(Math.log(bytes) / Math.log(1024)), 10);
-if (i === 0) resolve(`${bytes} ${sizes[i]}`);
-resolve(`${(bytes / (1024 ** i)).toFixed(1)} ${sizes[i]}`)})};
-
-async function ytMp3(url) {
-return new Promise((resolve, reject) => {
-ytdl.getInfo(url).then(async(getUrl) => {
-let result = [];
-for(let i = 0; i < getUrl.formats.length; i++) {
-let item = getUrl.formats[i];
-if (item.mimeType == 'audio/webm; codecs=\"opus\"') {
-let { contentLength } = item;
-let bytes = await bytesToSize(contentLength);
-result[i] = { audio: item.url, size: bytes }}};
-let resultFix = result.filter(x => x.audio != undefined && x.size != undefined)
-let tiny = await axios.get(`https://tinyurl.com/api-create.php?url=${resultFix[0].audio}`);
-let tinyUrl = tiny.data;
-let title = getUrl.videoDetails.title;
-let thumb = getUrl.player_response.microformat.playerMicroformatRenderer.thumbnail.thumbnails[0].url;
-resolve({ title, result: tinyUrl, result2: resultFix, thumb })}).catch(reject)})};
-
-async function ytMp4(url) {
-return new Promise(async(resolve, reject) => {
-ytdl.getInfo(url).then(async(getUrl) => {
-let result = [];
-for(let i = 0; i < getUrl.formats.length; i++) {
-let item = getUrl.formats[i];
-if (item.container == 'mp4' && item.hasVideo == true && item.hasAudio == true) {
-let { qualityLabel, contentLength } = item;
-let bytes = await bytesToSize(contentLength);
-result[i] = { video: item.url, quality: qualityLabel, size: bytes }}};
-let resultFix = result.filter(x => x.video != undefined && x.size != undefined && x.quality != undefined)
-let tiny = await axios.get(`https://tinyurl.com/api-create.php?url=${resultFix[0].video}`);
-let tinyUrl = tiny.data;
-let title = getUrl.videoDetails.title;
-let thumb = getUrl.player_response.microformat.playerMicroformatRenderer.thumbnail.thumbnails[0].url;
-resolve({ title, result: tinyUrl, rersult2: resultFix[0].video, thumb })}).catch(reject)})};
-
-async function ytPlay(query) {
-return new Promise((resolve, reject) => {
-yts(query).then(async(getData) => {
-let result = getData.videos.slice( 0, 5 );
-let url = [];
-for (let i = 0; i < result.length; i++) { url.push(result[i].url) }
-let random = url[0];
-let getAudio = await ytMp3(random);
-resolve(getAudio)}).catch(reject)})};
-
-async function ytPlayVid(query) {
-return new Promise((resolve, reject) => {
-yts(query).then(async(getData) => {
-let result = getData.videos.slice( 0, 5 );
-let url = [];
-for (let i = 0; i < result.length; i++) { url.push(result[i].url) }
-let random = url[0];
-let getVideo = await ytMp4(random);
-resolve(getVideo)}).catch(reject)})};
+const d = Math.floor(seconds / (3600 * 24));
+const h = Math.floor((seconds % (3600 * 24)) / 3600);
+const m = Math.floor((seconds % 3600) / 60);
+const s = Math.floor(seconds % 60);
+const dDisplay = d > 0 ? d + (d == 1 ? ' dรญa, ' : ' dรญas, ') : '';
+const hDisplay = h > 0 ? h + (h == 1 ? ' hora, ' : ' horas, ') : '';
+const mDisplay = m > 0 ? m + (m == 1 ? ' minuto, ' : ' minutos, ') : '';
+const sDisplay = s > 0 ? s + (s == 1 ? ' segundo' : ' segundos') : '';
+return dDisplay + hDisplay + mDisplay + sDisplay;
+ }
+
+const getBuffer = async (url) => {
+ try {
+ const response = await fetch(url);
+ const buffer = await response.arrayBuffer();
+ return Buffer.from(buffer);
+ } catch (error) {
+ console.error("Error al obtener el buffer", error);
+ throw new Error("Error al obtener el buffer");
+ }
+}
+
+async function getFileSize(url) {
+ try {
+ const response = await fetch(url, { method: 'HEAD' });
+ return parseInt(response.headers.get('content-length') || 0);
+ } catch {
+ return 0; // Si falla, asumimos 0
+ }
+}
+
+async function fetchY2mate(url) {
+ const baseUrl = 'https://www.y2mate.com/mates/en60';
+ const videoInfo = await fetch(`${baseUrl}/analyze/ajax`, {
+ method: 'POST',
+ headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
+ body: new URLSearchParams({ url, q_auto: 0 })
+ }).then(res => res.json());
+
+ const id = videoInfo.result.id;
+ const downloadInfo = await fetch(`${baseUrl}/convert`, {
+ method: 'POST',
+ headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
+ body: new URLSearchParams({ type: 'youtube', _id: id, v_id: url, token: '', ftype: 'mp4', fquality: '360p' })
+ }).then(res => res.json());
+
+ return downloadInfo.result.url;
+}
+
+async function fetchInvidious(url) {
+ const apiUrl = `https://invidious.io/api/v1/get_video_info`;
+
+const response = await fetch(`${apiUrl}?url=${encodeURIComponent(url)}`);
+const data = await response.json();
+
+if (data && data.video) {
+const videoInfo = data.video;
+return videoInfo;
+} else {
+throw new Error("No se pudo obtener informaciรณn del video desde Invidious");
+ }
+}
+
+async function fetch9Convert(url) {
+const apiUrl = `https://9convert.com/en429/api`;
+const response = await fetch(`${apiUrl}?url=${encodeURIComponent(url)}`);
+const data = await response.json();
+
+if (data.status === 'ok') {
+ return data.result.mp3;
+ } else {
+ throw new Error("No se pudo obtener la descarga desde 9Convert");
+ }
+}
\ No newline at end of file
diff --git a/plugins/descargas-play2.js b/plugins/descargas-play2.js
new file mode 100644
index 000000000..2af655fc9
--- /dev/null
+++ b/plugins/descargas-play2.js
@@ -0,0 +1,269 @@
+//import { youtubedl, youtubedlv2 } from '@bochilteam/scraper'
+import fetch from 'node-fetch'
+import yts from 'yt-search'
+import ytdl from 'ytdl-core'
+import axios from 'axios'
+import { savetube } from '../lib/yt-savetube.js'
+import { ogmp3 } from '../lib/youtubedl.js';
+import { amdl, ytdown } from '../lib/scraper.js';
+import { createRequire } from 'module';
+const require = createRequire(import.meta.url);
+const { ytmp3, ytmp4 } = require("@hiudyy/ytdl");
+
+const userRequests = {};
+let handler = async (m, { conn, text, args, usedPrefix, command }) => {
+if (!args[0]) throw `*${await tr("Que esta buscando?")}๐ค ${await tr("Ingrese el enlace de YouTube para descargar el audio")}*`
+const sendType = command.includes('doc') ? 'document' : command.includes('mp3') ? 'audio' : 'video';
+const yt_play = await search(args.join(' '));
+let youtubeLink = '';
+if (args[0].includes('you')) {
+youtubeLink = args[0];
+} else {
+const index = parseInt(args[0]) - 1;
+if (index >= 0) {
+if (Array.isArray(global.videoList) && global.videoList.length > 0) {
+const matchingItem = global.videoList.find(item => item.from === m.sender);
+if (matchingItem) {
+if (index < matchingItem.urls.length) {
+youtubeLink = matchingItem.urls[index];
+} else {
+throw `โ ๏ธ ${await tr("No se encontrรณ un enlaces para ese numero, por favor ingrese el numero entre 1 y el")} ${matchingItem.urls.length}*`
+}} else {
+}}}}
+
+if (userRequests[m.sender]) {
+return m.reply(`โณ *${await tr("Espera...")}* ${await tr("Ya hay una solicitud en proceso. Por favor, espera a que termine antes de hacer otra.")}`)}
+userRequests[m.sender] = true;
+try {
+
+if (command == 'ytmp3' || command == 'fgmp3' || command == 'ytmp3doc') {
+m.reply([`*โ ${await tr("Espera...")} โ ${await tr("Un momento... Ya estoy descargando sus audio")}๐น*`, `โ ${await tr("PROCESANDO...")}\n*${await tr("Estoy intentando descarga sus audio espere")} ๐โโ๏ธ๐จ*`, `${await tr("Calmao pa estoy bucando tu canciรณn")} ๐\n\n*${await tr("Recuerda colocar bien el nombre de la cancion o el link del video de youtube")}*\n\n> *${await tr("Si el comando *ytmp3 no funciona utiliza el comando")} *#ytmp3doc*`].getRandom())
+try {
+const isAudio = command.toLowerCase().includes('mp3') || command.toLowerCase().includes('audio')
+const format = isAudio ? 'mp3' : '720'
+const result = await savetube.download(args[0], format)
+const data = result.result
+await conn.sendMessage(m.chat, { [sendType]: { url: data.download }, mimetype: 'audio/mpeg', fileName: `audio.mp3` }, { quoted: m });
+} catch {
+try {
+const [input, quality = '320'] = text.split(' ');
+const validQualities = ['64', '96', '128', '192', '256', '320'];
+const selectedQuality = validQualities.includes(quality) ? quality : '320';
+const res = await ogmp3.download(yt_play[0].url, selectedQuality, 'audio');
+await conn.sendMessage(m.chat, { [sendType]: { url: res.result.download }, mimetype: 'audio/mpeg', fileName: `audio.mp3` }, { quoted: m });
+} catch {
+try {
+const audiodlp = await ytmp3(args);
+conn.sendMessage(m.chat, { [sendType]: audiodlp, mimetype: "audio/mpeg" }, { quoted: m });
+} catch {
+try {
+const format = args[1] || '720p';
+const response = await amdl.download(args[0], format);
+const { title, type, download, thumbnail } = response.result;
+if (type === 'audio') {
+await conn.sendMessage(m.chat, { [sendType]: { url: download }, mimetype: 'audio/mpeg', fileName: `${title}.mp3` }, { quoted: m });
+}
+} catch {
+try {
+const format = args[1] || 'mp3';
+const response = await ytdown.download(args[0], format);
+const { title, type, download, thumbnail } = response;
+if (type === 'audio') {
+await conn.sendMessage(m.chat, { [sendType]: { url: download }, mimetype: 'audio/mpeg', fileName: `${title}.mp3` }, { quoted: m })
+}
+} catch {
+try {
+const res = await fetch(`https://api.siputzx.my.id/api/d/ytmp3?url=${args}`);
+let { data } = await res.json();
+await conn.sendMessage(m.chat, { [sendType]: { url: data.dl }, mimetype: 'audio/mpeg' }, { quoted: m});
+} catch {
+try {
+const res = await fetch(`https://api.agatz.xyz/api/ytmp3?url=${args}`)
+let data = await res.json();
+await conn.sendMessage(m.chat, { [sendType]: { url: data.data.downloadUrl }, mimetype: 'audio/mpeg' }, { quoted: m });
+} catch {
+try {
+const res = await fetch(`https://api.zenkey.my.id/api/download/ytmp3?apikey=zenkey&url=${args}`)
+let { result } = await res.json()
+await conn.sendMessage(m.chat, { [sendType]: { url: await result.download.url }, mimetype: 'audio/mpeg' }, { quoted: m })
+} catch {
+try {
+const apiUrl = `${apis}/download/ytmp3?url=${args}`;
+const apiResponse = await fetch(apiUrl);
+const delius = await apiResponse.json();
+
+if (!delius.status) {
+return m.react("โ")}
+const downloadUrl = delius.data.download.url;
+await conn.sendMessage(m.chat, { [sendType]: { url: downloadUrl }, mimetype: 'audio/mpeg' }, { quoted: m });
+} catch {
+try {
+let q = '128kbps'
+let v = youtubeLink
+const yt = await youtubedl(v).catch(async _ => await youtubedlv2(v))
+const dl_url = await yt.audio[q].download()
+const ttl = await yt.title
+const size = await yt.audio[q].fileSizeH
+await conn.sendMessage(m.chat, { [sendType]: { url: dl_url }, mimetype: 'audio/mpeg' }, { quoted: m });
+//conn.sendFile(m.chat, dl_url, ttl + '.mp3', null, m, false, { mimetype: 'audio/mp4' })
+} catch {
+try {
+let searchh = await yts(youtubeLink)
+let __res = searchh.all.map(v => v).filter(v => v.type == "video")
+let infoo = await ytdl.getInfo('https://youtu.be/' + __res[0].videoId)
+let ress = await ytdl.chooseFormat(infoo.formats, { filter: 'audioonly' })
+conn.sendMessage(m.chat, { [sendType]: { url: ress.url }, fileName: __res[0].title + '.mp3', mimetype: 'audio/mp4' }, { quoted: m })
+} catch {
+}}}}}}}}}}}}
+
+if (command == 'ytmp4' || command == 'fgmp4' || command == 'ytmp4doc') {
+m.reply([`*โ ${await tr("Espera...")} โ ${await tr("Un momento... Ya estoy descargando sus video")} ๐น*`, `โ ${await tr("PROCESANDO...")}\n*${await tr("Estoy intentando descarga sus video espere")} ๐โโ๏ธ๐จ*`, `${await tr("Calma")} โ๐ฅธ๐ค\n\n*${await tr("Estoy descargando tu video ")} ๐*\n\n> *${await tr("Aguarde un momento, por favor")}*`].getRandom())
+try {
+const result = await savetube.download(args[0], "720")
+const data = result.result
+await conn.sendMessage(m.chat, { [sendType]: { url: data.download }, mimetype: 'video/mp4', fileName: `${data.title}.mp4`, caption: `๐ฐ ${await tr("Aquรญ estรก tu video")}\n๐ฅ ${await tr("Tรญtulo")}: ${data.title}` }, { quoted: m })
+} catch {
+try {
+const video = await ytmp4(args);
+await conn.sendMessage(m.chat, { [sendType]: { url: video }, fileName: `video.mp4`, mimetype: 'video/mp4', caption: `๐ฐ ${await tr("Aquรญ estรก tu video")}\n๐ฅ ${await tr("Tรญtulo")}: ${yt_play[0].title}`}, { quoted: m })
+} catch {
+try {
+const [input, quality = '720'] = text.split(' ');
+const validQualities = ['240', '360', '480', '720', '1080'];
+const selectedQuality = validQualities.includes(quality) ? quality : '720';
+const res = await ogmp3.download(yt_play[0].url, selectedQuality, 'video');
+await conn.sendMessage(m.chat, { [sendType]: { url: res.result.download }, mimetype: 'video/mp4', caption: `๐ฐ ${await tr("Aquรญ estรก tu video")}\n๐ฅ ${await tr("Tรญtulo")}: ${yt_play[0].title} (${selectedQuality}p)` }, { quoted: m });
+} catch {
+try {
+const format = args[1] || '720p';
+const response = await amdl.download(args[0], format);
+const { title, type, download, thumbnail } = response.result;
+if (type === 'video') {
+await conn.sendMessage(m.chat, { [sendType]: { url: download }, caption: `๐ฐ ${await tr("Aquรญ estรก tu video")}\n๐ฅ ${await tr("Tรญtulo")}: ${yt_play[0].title}`, thumbnail: thumbnail }, { quoted: m });
+}
+} catch {
+try {
+const format = args[1] || 'mp4';
+const response = await ytdown.download(args[0], format);
+const { title, type, download, thumbnail } = response;
+if (type === 'video') {
+await conn.sendMessage(m.chat, { [sendType]: { url: download }, caption: `๐ฐ ${await tr("Aquรญ estรก tu video")}\n๐ฅ ${await tr("Tรญtulo")}: ${yt_play[0].title}`, thumbnail: thumbnail }, { quoted: m })
+}
+} catch {
+try {
+const res = await fetch(`https://api.siputzx.my.id/api/d/ytmp4?url=${args}`);
+let { data } = await res.json();
+await conn.sendMessage(m.chat, { [sendType]: { url: data.dl }, fileName: `video.mp4`, mimetype: 'video/mp4', caption: `๐ฐ ${await tr("Aquรญ estรก tu video")}\n๐ฅ ${await tr("Tรญtulo")}: ${yt_play[0].title}`}, { quoted: m })
+} catch {
+try {
+const res = await fetch(`https://api.agatz.xyz/api/ytmp4?url=${args}`)
+let data = await res.json();
+await conn.sendMessage(m.chat, { [sendType]: { url: data.data.downloadUrl }, fileName: `video.mp4`, caption: `๐ฐ ${await tr("Aquรญ estรก tu video")}\n๐ฅ ${await tr("Tรญtulo")}: ${yt_play[0].title}` }, { quoted: m })
+} catch {
+try {
+const res = await fetch(`https://api.zenkey.my.id/api/download/ytmp4?apikey=zenkey&url=${args}`)
+let { result } = await res.json()
+await conn.sendMessage(m.chat, { [sendType]: { url: result.download.url }, fileName: `video.mp4`, caption: `๐ฐ ${await tr("Aquรญ estรก tu video")}\n๐ฅ ${await tr("Tรญtulo")}:${yt_play[0].title}` }, { quoted: m })
+} catch {
+try {
+const axeelApi = `https://axeel.my.id/api/download/video?url=${args}`;
+const axeelRes = await fetch(axeelApi);
+const axeelJson = await axeelRes.json();
+if (axeelJson && axeelJson.downloads?.url) {
+const videoUrl = axeelJson.downloads.url;
+await conn.sendMessage(m.chat, { [sendType]: { url: videoUrl }, fileName: `${yt_play[0].title}.mp4`, caption: `๐ฐ ${await tr("Aquรญ estรก tu video")}\n๐ฅ ${await tr("Tรญtulo")}: ${yt_play[0].title}` }, { quoted: m })
+}} catch {
+try {
+let qu = args[1] || '360'
+let q = qu + 'p'
+let v = youtubeLink
+const yt = await youtubedl(v).catch(async _ => await youtubedlv2(v))
+const dl_url = await yt.video[q].download()
+const ttl = await yt.title
+const size = await yt.video[q].fileSizeH
+await await conn.sendMessage(m.chat, { [sendType]: { url: dl_url }, fileName: `${ttl}.mp4`, mimetype: 'video/mp4', caption: `๐ฐ ${await tr("Aquรญ estรก tu video")}\n๐ฅ ${await tr("Tรญtulo")}: ${ttl}`, thumbnail: await fetch(yt.thumbnail) }, { quoted: m })
+} catch {
+try {
+let mediaa = await ytMp4(youtubeLink)
+await conn.sendMessage(m.chat, { [sendType]: { url: mediaa.result }, fileName: `error.mp4`, caption: `_${wm}_`, thumbnail: mediaa.thumb, mimetype: 'video/mp4' }, { quoted: m })
+} catch (e) {
+console.log(e)
+}}}}}}}}}}}}
+
+} catch (error) {
+console.error(error);
+m.react("โ๏ธ")
+} finally {
+delete userRequests[m.sender];
+}}
+handler.help = ['ytmp4', 'ytmp3'];
+handler.tags = ['downloader'];
+handler.command = /^ytmp3|ytmp4|fgmp4|audio|fgmp3|dlmp3|ytmp4doc|ytmp3doc?$/i
+export default handler
+
+async function search(query, options = {}) {
+const search = await yts.search({query, hl: 'es', gl: 'ES', ...options});
+return search.videos;
+}
+
+function bytesToSize(bytes) {
+return new Promise((resolve, reject) => {
+const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB'];
+if (bytes === 0) return 'n/a';
+const i = parseInt(Math.floor(Math.log(bytes) / Math.log(1024)), 10);
+if (i === 0) resolve(`${bytes} ${sizes[i]}`);
+resolve(`${(bytes / (1024 ** i)).toFixed(1)} ${sizes[i]}`)})};
+
+async function ytMp3(url) {
+return new Promise((resolve, reject) => {
+ytdl.getInfo(url).then(async(getUrl) => {
+let result = [];
+for(let i = 0; i < getUrl.formats.length; i++) {
+let item = getUrl.formats[i];
+if (item.mimeType == 'audio/webm; codecs=\"opus\"') {
+let { contentLength } = item;
+let bytes = await bytesToSize(contentLength);
+result[i] = { audio: item.url, size: bytes }}};
+let resultFix = result.filter(x => x.audio != undefined && x.size != undefined)
+let tiny = await axios.get(`https://tinyurl.com/api-create.php?url=${resultFix[0].audio}`);
+let tinyUrl = tiny.data;
+let title = getUrl.videoDetails.title;
+let thumb = getUrl.player_response.microformat.playerMicroformatRenderer.thumbnail.thumbnails[0].url;
+resolve({ title, result: tinyUrl, result2: resultFix, thumb })}).catch(reject)})}
+
+async function ytMp4(url) {
+return new Promise(async(resolve, reject) => {
+ytdl.getInfo(url).then(async(getUrl) => {
+let result = [];
+for(let i = 0; i < getUrl.formats.length; i++) {
+let item = getUrl.formats[i];
+if (item.container == 'mp4' && item.hasVideo == true && item.hasAudio == true) {
+let { qualityLabel, contentLength } = item;
+let bytes = await bytesToSize(contentLength);
+result[i] = { video: item.url, quality: qualityLabel, size: bytes }}};
+let resultFix = result.filter(x => x.video != undefined && x.size != undefined && x.quality != undefined)
+let tiny = await axios.get(`https://tinyurl.com/api-create.php?url=${resultFix[0].video}`);
+let tinyUrl = tiny.data;
+let title = getUrl.videoDetails.title;
+let thumb = getUrl.player_response.microformat.playerMicroformatRenderer.thumbnail.thumbnails[0].url;
+resolve({ title, result: tinyUrl, rersult2: resultFix[0].video, thumb })}).catch(reject)})};
+
+async function ytPlay(query) {
+return new Promise((resolve, reject) => {
+yts(query).then(async(getData) => {
+let result = getData.videos.slice( 0, 5 );
+let url = [];
+for (let i = 0; i < result.length; i++) { url.push(result[i].url) }
+let random = url[0];
+let getAudio = await ytMp3(random);
+resolve(getAudio)}).catch(reject)})};
+
+async function ytPlayVid(query) {
+return new Promise((resolve, reject) => {
+yts(query).then(async(getData) => {
+let result = getData.videos.slice( 0, 5 );
+let url = [];
+for (let i = 0; i < result.length; i++) { url.push(result[i].url) }
+let random = url[0];
+let getVideo = await ytMp4(random);
+resolve(getVideo)}).catch(reject)})};
diff --git a/plugins/descargas-play3.js b/plugins/descargas-play3.js
deleted file mode 100644
index d99a221d3..000000000
--- a/plugins/descargas-play3.js
+++ /dev/null
@@ -1,236 +0,0 @@
-import fetch from 'node-fetch';
-import yts from 'yt-search';
-import ytdl from 'ytdl-core';
-import axios from 'axios';
-import {youtubedl, youtubedlv2} from '@bochilteam/scraper';
-const handler = async (m, {conn, command, args, text, 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" }
-if (!text) throw `*๐๐ช๐ ๐๐จ๐ฉ๐ ๐๐ช๐จ๐๐๐๐ค? ๐ฅ๐ค๐ง ๐๐๐ซ๐ค๐ง ๐๐ฃ๐๐ง๐๐จ๐ ๐๐ก ๐๐ค๐ข๐๐ฃ๐๐ค ๐ข๐๐จ ๐ฃ๐ค๐ข๐๐ง๐ ๐๐๐ก ๐๐๐ฃ๐๐๐ค๐ฃ*\n\n* ๐๐๐๐ข๐ฅ๐ก๐ค:*\n*${usedPrefix + command} Quevedo fernet*`
-try {
-const yt_play = await search(args.join(' '))
-let additionalText = ''
-if (command === 'play3' || command == 'playaudiodoc') {
-additionalText = '๐ผ๐๐ฟ๐๐'
-} else if (command === 'play4' || command == 'playvideodoc') {
-additionalText = '๐๐๐ฟ๐๐'
-}
-const texto1 = `โญโโโโช~*โโแฐฑโขโขโขโโจออPออฬธLอฬธAออฬธYออฬธโฉโโขโขโขแฐฑโโ*~*
-โโ๐ *๐ง๐ถ๐๐๐น๐ผ:* ${yt_play[0].title}
-โโ๐ *๐ฃ๐๐ฏ๐น๐ถ๐ฐ๐ฎ๐ฐ๐ถ๐ผ๐ป:* ${yt_play[0].ago}
-โโโ *๐ฟ๐ช๐ง๐๐๐๐ค๐ฃ:* ${secondString(yt_play[0].duration.seconds)}
-โโ๐ *๐ฉ๐ถ๐๐๐ฎ๐:* ${MilesNumber(yt_play[0].views)}
-โโ๐ค *๐ผ๐ช๐ฉ๐ค๐ง:* ${yt_play[0].author.name}
-โโ๐ *๐ฟ๐๐จ๐๐ง๐๐ฅ๐๐๐ค๐ฃ:* ${description}
-โโ๐ *๐๐๐ฃ๐ :* ${yt_play[0].url}
-โโ
-โโ ๐๐๐๐๐ผ๐ฟ๐ ${additionalText}, ๐ผ๐๐๐ผ๐๐ฟ๐ ๐๐ ๐๐๐๐๐๐๐ ๏ผ๏ผ๏ผ
-โฐโโขโโโโขโขโขโฆ๐โณโฆโขโขโขโโโโขโโฏโค`.trim()
-await conn.sendMessage(m.chat, {
-text: texto1,
-contextInfo: {
-externalAdReply: {
-title: yt_play[0].title,
-body: wm,
-thumbnailUrl: yt_play[0].thumbnail,
-mediaType: 1,
-showAdAttribution: true,
-renderLargerThumbnail: true
-}}} , { quoted: m })
-if (command == 'play3' || command == 'playaudiodoc') {
-try {
-const q = '128kbps';
-const v = yt_play[0].url;
-const yt = await youtubedl(v).catch(async (_) => await youtubedlv2(v));
-const dl_url = await yt.audio[q].download();
-const ttl = await yt.title;
-const size = await yt.audio[q].fileSizeH;
-let cap = `โญโใ *${wm}* ใโโฑ-\nโ๐ฅ สแดแดแดแดสแด แด
ส ๐ฅ*\nโโโโโโโยซโขยปโโโโโโ\nโโ *แดษชแดแดสแด:* ${ttl}\nโโ *แดแดsแด:* ${size}\nโฐโโโโโโโโโโโโโโโโโ`.trim()
-await conn.sendMessage(m.chat, {document: {url: dl_url}, caption: cap, mimetype: 'audio/mpeg', fileName: `${ttl}.mp3`}, {quoted: m});
-/*await conn.sendMessage(m.chat, { document: { url: dl_url }, caption: cap, mimetype: 'audio/mpeg', contextInfo: {
-externalAdReply: {
-title: ttl,
-body: "",
-thumbnailUrl: yt_play[0].thumbnail,
-mediaType: 1,
-showAdAttribution: true,
-renderLargerThumbnail: true
-}}} , { quoted: m })*/
-} catch {
-try {
-const lolhuman = await fetch(`https://api.lolhuman.xyz/api/ytaudio2?apikey=${lolkeysapi}&url=${yt_play[0].url}`);
-const lolh = await lolhuman.json();
-const n = lolh.result.title || 'error';
-await conn.sendMessage(m.chat, {document: {url: lolh.result.link}, caption: `โญโโฐ ${wm} โฑโโฌฃ\nโ๐ฅ YOUTUBE DL ๐ฅ\nโเฆ *TรTULO | TITLE:* \nโยป ${n}\nโ๏น๏น๏น๏น๏น๏น๏น๏น๏น๏น๏น๏น\nโเฆ *PESO | SIZE:*\nโยป ${n2}\nโฐโโโโโโฐ *๐ ${vs}* โฑโโโโโฌฃ`, fileName: `${n}.mp3`, mimetype: 'audio/mpeg'}, {quoted: m});
-/*await conn.sendMessage(m.chat, { document: { url: lolh.result.link }, caption: `โญโโฐ ${wm} โฑโโฌฃ\nโ๐ฅ YOUTUBE DL ๐ฅ\nโเฆ *TรTULO | TITLE:* \nโยป ${n}\nโฐโโโโโโฐ *๐ ${vs}* โฑโโโโโฌฃ`, fileName: `${n}.mp3`, mimetype: 'audio/mpeg', contextInfo: {
-externalAdReply: {
-title: n,
-body: "",
-thumbnailUrl: yt_play[0].thumbnail,
-mediaType: 1,
-showAdAttribution: true,
-renderLargerThumbnail: true
-}}} , { quoted: m }) */
-} catch {
-try {
-const searchh = await yts(yt_play[0].url);
-const __res = searchh.all.map((v) => v).filter((v) => v.type == 'video');
-const infoo = await ytdl.getInfo('https://youtu.be/' + __res[0].videoId);
-const ress = await ytdl.chooseFormat(infoo.formats, {filter: 'audioonly'});
-/*await conn.sendMessage(m.chat, { document: { url: ress.url }, fileName: __res[0].title + '.mp3', mimetype: 'audio/mpeg', contextInfo: {
-externalAdReply: {
-title: __res[0].title,
-body: "",
-thumbnailUrl: yt_play[0].thumbnail,
-mediaType: 1,
-showAdAttribution: true,
-renderLargerThumbnail: true
-}}} , { quoted: m }) */
-await conn.sendMessage(m.chat, {document: {url: ress.url}, caption: `${wm}`, fileName: __res[0].title + '.mp3', mimetype: 'audio/mp4'}, {quoted: m});
-} catch {
-}}}}
-if (command == 'play4' || command == 'playvideodoc') {
-try {
-const qu = '360';
-const q = qu + 'p';
-const v = yt_play[0].url;
-const yt = await youtubedl(v).catch(async (_) => await youtubedlv2(v));
-const dl_url = await yt.video[q].download();
-const ttl = await yt.title;
-const size = await yt.video[q].fileSizeH;
-/*await conn.sendMessage(m.chat, { document: { url: dl_url }, caption: `โญโโฐ ${wm} โฑโโฌฃ\nโ๐ฅ YOUTUBE DL ๐ฅ\nโเฆ *TรTULO | TITLE:* \nโยป ${ttl}\nโ๏น๏น๏น๏น๏น๏น๏น๏น๏น๏น๏น๏น\nโเฆ *PESO | SIZE:*\nโยป ${size}\nโฐโโโโโโฐ *๐ ${vs}* โฑโโโโโฌฃ`, fileName: `${ttl}.mp3`, mimetype: 'audio/mpeg', contextInfo: {
-externalAdReply: {
-title: ttl,
-body: "",
-thumbnailUrl: yt_play[0].thumbnail,
-mediaType: 1,
-showAdAttribution: true,
-renderLargerThumbnail: true
-}}} , { quoted: m }) */
-await conn.sendMessage(m.chat, {document: {url: dl_url}, fileName: `${ttl}.mp4`, mimetype: 'video/mp4', caption: `โญโใ *${wm}* ใโโฑ-\nโ๐ฅ สแดแดแดแดสแด แด
ส ๐ฅ*\nโโโโโโโยซโขยปโโโโโโ\nโโ *แดษชแดแดสแด:* ${ttl}\nโโ *แดแดsแด:* ${size}\nโฐโโโโโโโโโโโโโโโโโ`, thumbnail: await fetch(yt.thumbnail)}, {quoted: m});
-} catch {
-try {
-const mediaa = await ytMp4(yt_play[0].url);
-await await conn.sendMessage(m.chat, {document: {url: dl_url}, caption: cap, mimetype: 'video/mp4', fileName: ttl + `.mp4`}, {quoted: m});
-} catch {
-try {
-const lolhuman = await fetch(`https://api.lolhuman.xyz/api/ytvideo2?apikey=${lolkeysapi}&url=${yt_play[0].url}`);
-const lolh = await lolhuman.json();
-const n = lolh.result.title || 'error';
-const n2 = lolh.result.link;
-const n3 = lolh.result.size;
-const n4 = lolh.result.thumbnail;
-await conn.sendMessage(m.chat, {document: {url: n2}, fileName: `${n}.mp4`, mimetype: 'video/mp4', caption: `โญโใ *${wm}* ใโโฑ-\nโ๐ฅ สแดแดแดแดสแด แด
ส ๐ฅ*\nโโโโโโโยซโขยปโโโโโโ\nโโ *แดษชแดแดสแด:* ${n}\nโโ *แดแดsแด:* ${n3}\nโฐโโโโโโโโโโโโโโโโโ`, thumbnail: await fetch(n4)}, {quoted: m});
-} catch {
-}}}}
-} catch {
- await conn.reply(m.chat, `${lenguajeGB['smsAvisoFG']()}๐๐๐๐๐ ๐๐ ๐๐๐ ๐๐๐๐๐ฝ๐๐ ๐ฟ๐๐๐พ๐ผ๐๐๐ผ ๐๐ ๐๐๐ฟ๐๐/๐ผ๐๐ฟ๐๐ ๐๐๐๐๐๐ ๐ผ๐ ๐๐๐๐๐๐๐ผ`, fkontak, m)
-handler.limit = 0
-}}
-handler.help = ['play3', 'play4'].map((v) => v + ' < busqueda >');
-handler.tags = ['downloader'];
-handler.command = /^(playaudiodoc|playdoc|playdoc2|play3|play4|playvideodoc)$/i;
-handler.limit = 4
-export default handler;
-
-async function search(query, options = {}) {
-const search = await yts.search({query, hl: 'es', gl: 'ES', ...options});
-return search.videos;
-}
-
-function MilesNumber(number) {
-const exp = /(\d)(?=(\d{3})+(?!\d))/g;
-const rep = '$1.';
-const arr = number.toString().split('.');
-arr[0] = arr[0].replace(exp, rep);
-return arr[1] ? arr.join('.') : arr[0];
-}
-
-function secondString(seconds) {
-seconds = Number(seconds);
-const d = Math.floor(seconds / (3600 * 24));
-const h = Math.floor((seconds % (3600 * 24)) / 3600);
-const m = Math.floor((seconds % 3600) / 60);
-const s = Math.floor(seconds % 60);
-const dDisplay = d > 0 ? d + (d == 1 ? ' dรญa, ' : ' dรญas, ') : '';
-const hDisplay = h > 0 ? h + (h == 1 ? ' hora, ' : ' horas, ') : '';
-const mDisplay = m > 0 ? m + (m == 1 ? ' minuto, ' : ' minutos, ') : '';
-const sDisplay = s > 0 ? s + (s == 1 ? ' segundo' : ' segundos') : '';
-return dDisplay + hDisplay + mDisplay + sDisplay;
-}
-
-function bytesToSize(bytes) {
-return new Promise((resolve, reject) => {
-const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB'];
-if (bytes === 0) return 'n/a';
-const i = parseInt(Math.floor(Math.log(bytes) / Math.log(1024)), 10);
-if (i === 0) resolve(`${bytes} ${sizes[i]}`);
-resolve(`${(bytes / (1024 ** i)).toFixed(1)} ${sizes[i]}`);
-})}
-
-async function ytMp3(url) {
-return new Promise((resolve, reject) => {
-ytdl.getInfo(url).then(async (getUrl) => {
-const result = [];
-for (let i = 0; i < getUrl.formats.length; i++) {
-const item = getUrl.formats[i];
-if (item.mimeType == 'audio/webm; codecs=\"opus\"') {
-const {contentLength} = item;
-const bytes = await bytesToSize(contentLength);
-result[i] = {audio: item.url, size: bytes};
-}}
-const resultFix = result.filter((x) => x.audio != undefined && x.size != undefined);
-const tiny = await axios.get(`https://tinyurl.com/api-create.php?url=${resultFix[0].audio}`);
-const tinyUrl = tiny.data;
-const title = getUrl.videoDetails.title;
-const thumb = getUrl.player_response.microformat.playerMicroformatRenderer.thumbnail.thumbnails[0].url;
-resolve({title, result: tinyUrl, result2: resultFix, thumb});
-}).catch(reject);
-})}
-
-async function ytMp4(url) {
-return new Promise(async (resolve, reject) => {
-ytdl.getInfo(url).then(async (getUrl) => {
-const result = [];
-for (let i = 0; i < getUrl.formats.length; i++) {
-const item = getUrl.formats[i];
-if (item.container == 'mp4' && item.hasVideo == true && item.hasAudio == true) {
-const {qualityLabel, contentLength} = item;
-const bytes = await bytesToSize(contentLength);
-result[i] = {video: item.url, quality: qualityLabel, size: bytes};
-}}
-const resultFix = result.filter((x) => x.video != undefined && x.size != undefined && x.quality != undefined);
-const tiny = await axios.get(`https://tinyurl.com/api-create.php?url=${resultFix[0].video}`);
-const tinyUrl = tiny.data;
-const title = getUrl.videoDetails.title;
-const thumb = getUrl.player_response.microformat.playerMicroformatRenderer.thumbnail.thumbnails[0].url;
-resolve({title, result: tinyUrl, rersult2: resultFix[0].video, thumb});
-}).catch(reject);
-})}
-
-async function ytPlay(query) {
-return new Promise((resolve, reject) => {
-yts(query).then(async (getData) => {
-const result = getData.videos.slice( 0, 5 );
-const url = [];
-for (let i = 0; i < result.length; i++) {
-url.push(result[i].url);
-}
-const random = url[0];
-const getAudio = await ytMp3(random);
-resolve(getAudio);
-}).catch(reject);
-})}
-
-async function ytPlayVid(query) {
-return new Promise((resolve, reject) => {
-yts(query).then(async (getData) => {
-const result = getData.videos.slice( 0, 5 );
-const url = [];
-for (let i = 0; i < result.length; i++) {
-url.push(result[i].url);
-}
-const random = url[0];
-const getVideo = await ytMp4(random);
-resolve(getVideo);
-}).catch(reject);
-})}
\ No newline at end of file
diff --git a/plugins/descargas-playV2.js b/plugins/descargas-playV2.js
deleted file mode 100644
index 0d4d08a40..000000000
--- a/plugins/descargas-playV2.js
+++ /dev/null
@@ -1,155 +0,0 @@
-import fetch from 'node-fetch';
-import yts from 'yt-search';
-import ytdl from 'ytdl-core';
-import axios from 'axios';
-const handler = async (m, {command, usedPrefix, conn, text}) => {
-if (!text) throw `๐ค๐ฆ๐ช๐ ๐๐จ๐ฉ๐ ๐๐ช๐จ๐๐๐๐ค?๐ค ๐๐ฃ๐๐ง๐๐จ๐ ๐๐ก ๐ฃ๐ค๐ข๐๐ง๐/๐ฉ๐๐ฉ๐ช๐ก๐ค ๐๐ ๐๐๐ฃ๐๐๐ค๐ฃ\n\n*โโ ๐๐๐๐ข๐ฅ๐ก๐ค:\n#play.1 lgante - bar*`
-try {
-if (command == 'play.1') {
-conn.reply(m.chat, `*_โณ๐๐ง๐ค๐๐๐จ๐๐ฃ๐๐ค.... ๐๐จ๐ฅ๐๐ง๐ ๐ช๐ฃ๐ค๐จ ๐ข๐๐ฃ๐ช๐ฉ๐ค๐จ ๐๐ก ๐ฆ๐ช๐ ๐ข๐๐ฃ๐๐ค ๐จ๐ช๐จ ๐๐ช๐๐๐ค...โณ_*`, m)
- try {
-const mediaa = await ytPlay(text);
-const audiocore = mediaa.result2?.[0]?.audio || mediaa.result2?.[1]?.audio || mediaa.result2?.[2]?.audio || null;
-const aa = await conn.sendMessage(m.chat, {audio: {url: audiocore}, fileName: `error.mp3`, mimetype: 'audio/mp4'}, {quoted: m});
-if (!aa) {
-throw new Error();
-}} catch {
-const res = await fetch(`https://api.lolhuman.xyz/api/ytplay2?apikey=${lolkeysapi}&query=${text}`);
-const json = await res.json();
-const aa_1 = await conn.sendMessage(m.chat, {audio: {url: json.result.audio}, fileName: `error.mp3`, mimetype: 'audio/mp4'}, {quoted: m});
-if (!aa_1) aa_1 = await conn.sendFile(m.chat, json.result.audio, 'error.mp3', null, m, false, {mimetype: 'audio/mp4'});
-}}
-if (command == 'play.2') {
-conn.reply(m.chat, `*_โณ๐๐ง๐ค๐๐๐จ๐๐ฃ๐๐ค.... ๐๐จ๐ฅ๐๐ง๐ ๐ช๐ฃ๐ค๐จ ๐ข๐๐ฃ๐ช๐ฉ๐ค๐จ ๐๐ก ๐ฆ๐ช๐ ๐ข๐๐ฃ๐๐ค ๐จ๐ช๐จ ๐๐ช๐๐๐ค...โณ_*`, m)
-try {
-const mediaa = await ytPlayVid(text);
-const aa_2 = await conn.sendMessage(m.chat, {video: {url: mediaa.result}, fileName: `error.mp4`, caption: `${wm}`, thumbnail: mediaa.thumb, mimetype: 'video/mp4'}, {quoted: m});
-if (!aa_2) {
-throw new Error();
-}} catch {
-const res = await fetch(`https://api.lolhuman.xyz/api/ytplay2?apikey=${lolkeysapi}&query=${text}`);
-const json = await res.json();
-await conn.sendFile(m.chat, json.result.video, 'error.mp4', `${wm}`, m);
-}}} catch {
-handler.limit = 0
-}}
-handler.help = ['play.1' , 'play.2'].map(v => v + ' ')
-handler.tags = ['downloader']
-handler.command = ['play.1', 'play.2']
-handler.limit = 1
-export default handler
-
-function bytesToSize(bytes) {
-return new Promise((resolve, reject) => {
-const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB'];
-if (bytes === 0) return 'n/a';
-const i = parseInt(Math.floor(Math.log(bytes) / Math.log(1024)), 10);
-if (i === 0) resolve(`${bytes} ${sizes[i]}`);
-resolve(`${(bytes / (1024 ** i)).toFixed(1)} ${sizes[i]}`);
-})}
-
-async function ytMp3(url) {
-return new Promise((resolve, reject) => {
-ytdl.getInfo(url).then(async (getUrl) => {
-const result = [];
-for (let i = 0; i < getUrl.formats.length; i++) {
-const item = getUrl.formats[i];
-if (item.mimeType == 'audio/webm; codecs=\"opus\"') {
-const {contentLength} = item;
-const bytes = await bytesToSize(contentLength);
-result[i] = {audio: item.url, size: bytes};
-}}
-const resultFix = result.filter((x) => x.audio != undefined && x.size != undefined);
-const tiny = await axios.get(`https://tinyurl.com/api-create.php?url=${resultFix[0].audio}`);
-const tinyUrl = tiny.data;
-const title = getUrl.videoDetails.title;
-const thumb = getUrl.player_response.microformat.playerMicroformatRenderer.thumbnail.thumbnails[0].url;
-resolve({title, result: tinyUrl, result2: resultFix, thumb});
-}).catch(reject);
-})}
-
-async function ytMp4(url) {
-return new Promise(async (resolve, reject) => {
-ytdl.getInfo(url).then(async (getUrl) => {
-const result = [];
-for (let i = 0; i < getUrl.formats.length; i++) {
-const item = getUrl.formats[i];
-if (item.container == 'mp4' && item.hasVideo == true && item.hasAudio == true) {
-const {qualityLabel, contentLength} = item;
-const bytes = await bytesToSize(contentLength);
-result[i] = {video: item.url, quality: qualityLabel, size: bytes};
-}}
-const resultFix = result.filter((x) => x.video != undefined && x.size != undefined && x.quality != undefined);
-const tiny = await axios.get(`https://tinyurl.com/api-create.php?url=${resultFix[0].video}`);
-const tinyUrl = tiny.data;
-const title = getUrl.videoDetails.title;
-const thumb = getUrl.player_response.microformat.playerMicroformatRenderer.thumbnail.thumbnails[0].url;
-resolve({title, result: tinyUrl, rersult2: resultFix[0].video, thumb});
-}).catch(reject);
-})}
-
-async function ytPlay(query) {
-return new Promise((resolve, reject) => {
-yts(query).then(async (getData) => {
-const result = getData.videos.slice( 0, 5 );
-const url = [];
-for (let i = 0; i < result.length; i++) {
-url.push(result[i].url);
-}
-const random = url[0];
-const getAudio = await ytMp3(random);
-resolve(getAudio);
-}).catch(reject);
-})}
-
-async function ytPlayVid(query) {
-return new Promise((resolve, reject) => {
-yts(query).then(async (getData) => {
-const result = getData.videos.slice( 0, 5 );
-const url = [];
-for (let i = 0; i < result.length; i++) {
-url.push(result[i].url);
-}
-const random = url[0];
-const getVideo = await ytMp4(random);
-resolve(getVideo);
-}).catch(reject);
-})}
-
-/*import fs from 'fs'
-import fetch from 'node-fetch'
-let handler = async (m, {command, conn, text, usedPrefix }) => {
-if (!text) throw `${mg}๐๐๐พ๐๐๐ฝ๐ผ ๐๐ ๐๐๐๐ฝ๐๐ ๐ ๐๐๐๐๐๐\n๐๐
๐๐๐๐๐\n*${usedPrefix + command} Billie Eilish - Bellyache*\n\n๐๐๐๐๐ ๐๐๐ ๐๐ผ๐๐ ๐๐ ๐๐๐๐๐\n๐๐๐ผ๐๐๐๐\n*${usedPrefix + command} Billie Eilish - Bellyache*`
-try {
-if (command == 'play.1') {
-conn.reply(m.chat, `${eg}๐๐๐๐๐๐ ๐๐ ๐๐๐๐๐๐๐ ๐๐ ๐ผ๐๐ฟ๐๐ ๐๐๐ ๐๐ผ๐๐๐\n\n๐๐ผ๐๐ ๐ผ ๐๐๐๐๐๐ ๐๐๐ ๐๐๐ ๐ผ๐๐ฟ๐๐ ๐๐๐๐ผ๐๐`, m, {
-contextInfo: { externalAdReply :{ mediaUrl: null, mediaType: 1, description: null,
-title: '๐๐๐ฉ๐๐ฝ๐ค๐ฉ-๐๐ฟ | ๐๐๐ฉ๐ ๐ฟ๐๐ค๐จ',
-body: 'Super Bot WhatsApp',
-previewType: 0, thumbnail: fs.readFileSync("./media/menus/Menu3.jpg"),
-sourceUrl: `https://github.com/GataNina-Li/GataBot-MD`}}})
-
-let res = await fetch("https://violetics.pw/api/media/youtube-play?apikey=beta&query="+text)
-//https://leyscoders-api.herokuapp.com/api/playmp3?q=lebih%20baik%20darinya&apikey=Your_Key
- //("https://api.dhamzxploit.my.id/api/ytplaymp3?text="+text)
-let json = await res.json()
-conn.sendFile(m.chat, json.result.url, 'error.mp3', null, m, false, { mimetype: 'audio/mp4' })}
-if (command == 'play.2') {
-conn.reply(m.chat, `${eg}๐๐๐๐๐๐ ๐๐ ๐๐๐๐๐๐๐ ๐๐ ๐๐๐ฟ๐๐ ๐๐๐ ๐๐ผ๐๐๐\n\n๐๐ผ๐๐ ๐ผ ๐๐๐๐๐๐ ๐๐๐ ๐๐๐ ๐๐๐ฟ๐๐ ๐๐๐๐ผ๐๐`, m, {
-contextInfo: { externalAdReply :{ mediaUrl: null, mediaType: 1, description: null,
-title: '๐๐๐ฉ๐๐ฝ๐ค๐ฉ-๐๐ฟ | ๐๐๐ฉ๐ ๐ฟ๐๐ค๐จ',
-body: 'Super Bot WhatsApp',
-previewType: 0, thumbnail: fs.readFileSync("./media/menus/Menu3.jpg"),
-sourceUrl: `https://github.com/GataNina-Li/GataBot-MD`}}})
-
-let res = await fetch("https://violetics.pw/api/media/youtube-play?apikey=beta&query="+text)
-let json = await res.json()
-conn.sendFile(m.chat, json.result.url, 'error.mp4', `${wm}`, m)}
-}catch(e){
-m.reply(`${fg}๐๐๐๐๐๐๐ ๐ฟ๐ ๐๐๐๐๐\n๐๐๐ ๐ผ๐๐ผ๐๐`)
-console.log(e)
-}}
-handler.help = ['play.1' , 'play.2'].map(v => v + ' ')
-handler.tags = ['downloader']
-handler.command = ['play.1', 'play.2']
-export default handler*/
diff --git a/plugins/descargas-playlist.js b/plugins/descargas-playlist.js
index a166db836..73a24a7d5 100644
--- a/plugins/descargas-playlist.js
+++ b/plugins/descargas-playlist.js
@@ -1,89 +1,76 @@
import yts from 'yt-search';
-import fs from 'fs';
-let handler = async (m, { conn, text, usedPrefix, command }) => {
-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, `${lenguajeGB['smsAvisoMG']()}๐๐๐พ๐๐๐ฝ๐ผ ๐๐ ๐๐๐๐ฝ๐๐ ๐ฟ๐ ๐๐ ๐๐๐ฟ๐๐ ๐ ๐พ๐ผ๐๐ผ๐ ๐ฟ๐ ๐๐๐๐๐๐ฝ๐`, fkontak, m)
-try {
-let vids_ = {
-from: m.sender,
-urls: []
-}
-if (!global.videoList) {
-global.videoList = [];
-}
-if (global.videoList[0]?.from == m.sender) {
-delete global.videoList;
-}
-let results = await yts(text);
-let textoInfo = `${lenguajeGB['smsAvisoIIG']()}๐๐๐๐ฟ๐๐ ๐ฟ๐๐๐พ๐ผ๐๐๐ผ๐ ๐๐ ๐๐๐ฟ๐๐ ๐๐๐ ๐๐๐๐๐๐ผ๐ ๐ฟ๐ ๐๐๐๐ผ ๐๐๐๐๐ผ:
-${usedPrefix}video
-${usedPrefix}audio
-
-*๐๐
๐๐๐๐๐:*
-*${usedPrefix}video 2*\n\nโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโข`.trim()
-let teks = results.all.map((v, i) => {
-let link = v.url;
-vids_.urls.push(link);
-return `[${i + 1}]\nโค๏ธ๊ฐเผป *TรTULO:* ${v.title}
-โ๐ฉต๊ฐเผป *ENLACE:* ${v.url}
-โ๐๊ฐเผป *DURACIรN:* ${v.timestamp}
-โ๐๊ฐเผป *SUBIDO:* ${v.ago}
-โ๐งก๊ฐเผป *VISTAS:* ${v.views}`}).join('\n\nโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโขโข\n\n')
-conn.sendFile(m.chat, results.all[0].thumbnail, 'yts.jpeg', textoInfo + '\n\n' + teks, fkontak, m)
-global.videoList.push(vids_);
-} catch {
-handler.limit = false
-}}
-handler.help = ['', 'earch'].map(v => 'yts' + v + ' ')
-handler.tags = ['tools']
-handler.command = /^playlist|ytbuscar|yts(earch)?$/i
-handler.exp = 70
-handler.limit = 1
-handler.level = 4
-export default handler
+let handler = async (m, { conn, usedPrefix, text, args, command }) => {
+const errorMsg = await tr("*ยฟQuรฉ estรก buscando?* Ingrese el nombre del tema");
+const exampleMsg = await tr("Ejemplo");
+const noResults = await tr("No se encontraron resultados.");
+if (!text) return m.reply(`${errorMsg}\n*โข ${exampleMsg}:*\n*${usedPrefix + command}* bad bunny`);
+m.react('๐');
+let result = await yts(text);
+let ytres = result.videos;
+if (!ytres.length) return m.reply(`โ ${noResults}`);
-/*import yts from "yt-search"
-let handler = async (m, { text, conn, args, command, 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" }
-if (!text) return conn.reply(m.chat, `${lenguajeGB['smsAvisoMG']()}๐๐๐พ๐๐๐ฝ๐ผ ๐๐ ๐๐๐๐ฝ๐๐ ๐ฟ๐ ๐๐ ๐๐๐ฟ๐๐ ๐ ๐พ๐ผ๐๐ผ๐ ๐ฟ๐ ๐๐๐๐๐๐ฝ๐\n\n๐๐๐๐๐ ๐๐๐ ๐๐ผ๐๐ ๐๐ ๐ผ ๐๐๐๐๐๐ฝ๐ ๐๐๐ฟ๐๐ ๐๐ ๐พ๐๐ผ๐๐๐๐`, fkontak, m)
-try {
-let search = await yts(args.join(" "))
-let listAudio = []
-let listVideo = []
-let listAudioDoc = []
-let listVideoDoc = []
-let teskd = `๐ฝ๐ช๐จ๐ฆ๐ช๐๐๐ ๐๐ *${args.join(" ")}*`
+const resultsFor = await tr("Resultados de");
+const titleLabel = await tr("Tรญtulo");
+const agoLabel = await tr("Publicado hace");
+const viewsLabel = await tr("Vistas");
+const durationLabel = await tr("Duraciรณn");
+const linkLabel = await tr("Enlace");
+const resultsForCarousel = await tr("Resultados para");
-const sections = [{ title: comienzo + ' ๐ ๐จ ๐ ๐ ๐ข ' + fin, rows: listAudio },
-{ title: comienzo + ' ๐ฉ ๐ ๐ ๐ ๐ข ' + fin, rows: listVideo },
-{ title: comienzo + ' ๐ ๐จ ๐ ๐ ๐ข ๐ ๐ข ๐ ' + fin, rows: listAudioDoc },
-{ title: comienzo + ' ๐ฉ ๐ ๐ ๐ ๐ข ๐ ๐ข ๐ ' + fin, rows: listVideoDoc }]
+if (m.isWABusiness) {
+let textoo = `*โข ${resultsFor}:* ${text}\n\n`;
+for (let i = 0; i < Math.min(15, ytres.length); i++) {
+let v = ytres[i];
+textoo += `๐ต *${titleLabel}:* ${v.title}\n๐ *${agoLabel}:* ${v.ago}\n๐ *${viewsLabel}:* ${v.views}\nโ *${durationLabel}:* ${v.timestamp}\n๐ *${linkLabel}:* ${v.url}\n\nโฑ โโโโโโ {.โ
โซ โ
.} โโโโโ โฐ\n\n`;
+}
+await conn.sendFile(m.chat, ytres[0].image, 'thumbnail.jpg', textoo, m, null, fake);
+} else {
+let selectedResults = ytres.slice(0, 9);
+let messages = selectedResults.map(v => [
+``,
+`๐ต *${titleLabel}:* ${v.title}\n๐ ${agoLabel}: ${v.ago}\n๐ ${viewsLabel}: ${v.views}\nโ ${durationLabel}: ${v.timestamp}`,
+v.image,
+[],
+[["Copia para descargar", `.ytmp4 ${v.url}`]],
+[],
+[]
+]);
+await conn.sendCarousel(m.chat, `โ
${resultsForCarousel}: ${text}`, "๐ต YouTube Search", messages, m);
+}
+};
+handler.help = ['playlist', 'yts'];
+handler.tags = ['downloader'];
+handler.command = ['playvid2', 'playlist', 'playlista', 'yts', 'ytsearch'];
+handler.register = true;
+export default handler;
-const listMessage = {
-text: teskd,
-footer: '๐๐ก๐๐๐ ๐จ๐ช ๐ฝ๐ช๐จ๐ฆ๐ช๐๐๐ ๐ฅ๐๐ง๐ ๐ฅ๐ค๐๐๐ง ๐ฟ๐๐จ๐๐๐ง๐๐๐ง\n' + wm,
-title: `${htki} *๐๐๐๐๐๐๐ผ๐ฟ๐๐* ${htka}`,
-buttonText: "๐ ๐ ๐จ ๐ฆ ๐ ๐ ๐ฅ",
-sections}
+/*Codigo con la listas obsoleto
+import yts from 'yt-search';
+let handler = async (m, { conn, usedPrefix, text, args, command }) => {
+if (!text) return m.reply(`*Que esta buscado?* ingrese el nombre del tema\n*โข Ejemplo*\n*${usedPrefix + command}* bad bunny `)
+m.react('๐');
+
+let result = await yts(text);
+let ytres = result.videos;
+let listSections = [];
+for (let index in ytres) {
+let v = ytres[index];
+listSections.push({title: `${index} | ${v.title}`,
+rows: [{header: 'โข โข โขใ ๐
๐
ค๐
๐
๐
ใโข โข โข', title: "", description: `โข โ Duraciรณn:* ${v.timestamp}\nโข ๐ *Vistas:* ${v.views}\nโข ๐ *Publicado* : ${v.title}\nโข ๐ *Subidos:* ${v.ago}\n`, id: `${usedPrefix}fgmp3 ${v.url}`
+}, {
+header: "โข โข โขใ ๐
ฅ๐
๐
๐
๐
ใโข โข โข", title: "" , description: `โข โ Duraciรณn:* ${v.timestamp}\nโข ๐ *Vistas:* ${v.views}\nโข ๐ *Publicado* : ${v.title}\nโข ๐ *Subidos:* ${v.ago}\n`, id: `${usedPrefix}fgmp4 ${v.url}`
+}, {
+header: "โข โข โขใ ๐
๐
๐
๐
ค๐
๐
๐
๐
ฃ๐
๐
ข ๐
๐
โธ ใโข โข โข", title: "" , description: `โข โ Duraciรณn:* ${v.timestamp}\nโข ๐ *Vistas:* ${v.views}\nโข ๐ *Publicado* : ${v.title}\nโข ๐ *Subidos:* ${v.ago}\n`, id: `${usedPrefix}ytmp3doc ${v.url}` }, {
+header: "'โข โข โขใ ๐
๐
๐
๐
ค๐
๐
๐
๐
ฃ๐
๐
ข ๐
๐
โน ใโข โข โข", title: "" , description: `โข โ Duraciรณn:* ${v.timestamp}\nโข ๐ *Vistas:* ${v.views}\nโข ๐ *Publicado* : ${v.title}\nโข ๐ *Subidos:* ${v.ago}\n`, id: `${usedPrefix}ytmp4doc ${v.url}`
+}]});}
+
+await conn.sendList(m.chat, `*โข Resultados:* ${text}*\n\n> *แดสษชแดแด แด แดษดแด แดแดแดษชแดษด ส แดสแดsษชแดษดแด แดษดแด ษชแดส*`, wm, `๐ ๐๐๐๐๐๐๐ผ๐ฟ๐๐ ๐`, ytres[0].image, listSections, m);
+};
+handler.help = ['playlist', 'yts']
+handler.tags = ['downloader']
+handler.command = ['playvid2', 'playlist', 'playlista', 'yts', 'ytsearch']
+handler.register = true
-if (m.isGroup) return m.reply('*โณ๏ธ ๐๐๐๐ผ ๐๐๐๐๐๐ผ๐ฟ๐ ๐๐๐๐ผ๐๐๐(๐ผ), ๐๐ ๐๐๐๐ฟ๐๐ฟ๐ ๐๐ผ ๐๐๐ฟ๐ ๐๐๐๐๐ผ๐ฟ๐ ๐ผ ๐๐ ๐พ๐๐ผ๐ ๐๐๐๐๐ผ๐ฟ๐, ๐๐๐๐ ๐พ๐๐๐ ๐๐๐๐๐พ๐๐๐ ๐๐๐๐๐๐๐ผ๐ ๐ผ ๐๐๐๐๐๐๐ ๐ฟ๐ ๐๐๐๐๐ผ๐
๐ ๐พ๐๐ ๐ฝ๐๐๐๐๐๐ ๐๐๐๐ ๐๐๐๐๐ผ๐ ๐๐๐ ๐๐ ๐๐๐ ๐๐๐๐๐ฝ๐๐๐ ๐๐ ๐๐ผ๐ ๐๐๐๐๐๐๐๐๐ ๐๐ผ๐ ๐๐๐พ๐๐๐๐๐๐ ๐ฟ๐ ๐๐๐ผ๐๐๐ผ๐๐*')
-} catch {
-try {
-for (let i of search.all) {
-listAudio.push({title: i.title, description: `${i.author.name} | ${i.timestamp}`, rowId: `${usedPrefix}ytmp3 ${i.url}`})
-listAudioDoc.push({title: i.title, description: `${i.author.name} | ${i.timestamp}`, rowId: `${usedPrefix}ytmp3doc ${i.url}`})
-listVideo.push({title: i.title, description: `${i.author.name} | ${i.timestamp}`, rowId: `${usedPrefix}ytmp4 ${i.url}`})
-listVideoDoc.push({title: i.title, description: `${i.author.name} | ${i.timestamp}`, rowId: `${usedPrefix}ytmp4doc ${i.url}`})}
-conn.sendMessage(m.chat, listMessage, { quoted: fkontak })
-if (m.isGroup) return m.reply('*โณ๏ธ ๐๐๐๐ผ ๐๐๐๐๐๐ผ๐ฟ๐ ๐๐๐๐ผ๐๐๐(๐ผ), ๐๐ ๐๐๐๐ฟ๐๐ฟ๐ ๐๐ผ ๐๐๐ฟ๐ ๐๐๐๐๐ผ๐ฟ๐ ๐ผ ๐๐ ๐พ๐๐ผ๐ ๐๐๐๐๐ผ๐ฟ๐, ๐๐๐๐ ๐พ๐๐๐ ๐๐๐๐๐พ๐๐๐ ๐๐๐๐๐๐๐ผ๐ ๐ผ ๐๐๐๐๐๐๐ ๐ฟ๐ ๐๐๐๐๐ผ๐
๐ ๐พ๐๐ ๐ฝ๐๐๐๐๐๐ ๐๐๐๐ ๐๐๐๐๐ผ๐ ๐๐๐ ๐๐ ๐๐๐ ๐๐๐๐๐ฝ๐๐๐ ๐๐ ๐๐ผ๐ ๐๐๐๐๐๐๐๐๐ ๐๐ผ๐ ๐๐๐พ๐๐๐๐๐๐ ๐ฟ๐ ๐๐๐ผ๐๐๐ผ๐๐*')
-} catch {
-}}}
-handler.help = ['', 'earch'].map(v => 'yts' + v + ' ')
-handler.tags = ['tools']
-handler.command = /^playlist|ytbuscar|yts(earch)?$/i
-handler.exp = 70
-handler.limit = 1
-handler.level = 4
export default handler
*/
diff --git a/plugins/descargas-pptiktok.js b/plugins/descargas-pptiktok.js
deleted file mode 100644
index 5463b2f93..000000000
--- a/plugins/descargas-pptiktok.js
+++ /dev/null
@@ -1,14 +0,0 @@
-import fetch from 'node-fetch'
-let handler = async (m, { conn, args, text, command, usedPrefix }) => {
-if (!text) throw `๐๐จ๐๐ง๐๐๐ ๐๐ก ๐ฃ๐ค๐ข๐๐ง๐ ๐๐ ๐ช๐จ๐ช๐๐ง๐๐ค ๐๐ ๐ฉ๐๐ ๐ฉ๐ค๐
-๐๐๐ฃ ๐ช๐จ๐๐ง "@"\n๐๐๐๐ข๐ฅ๐ก๐ค\n*${usedPrefix + command} mundo_dos_animes81*`
-let res = `https://api.lolhuman.xyz/api/pptiktok/${text}?apikey=9b817532fadff8fc7cb86862`
-await conn.sendFile(m.chat, res, 'error.jpg', `โ
๐๐ค๐ฉ๐ค ๐๐ ๐ฅ๐๐ง๐๐๐ก*${text}*`, m, false)
-
-}
-handler.help = ['tiktokfoto'].map(v => v + ' ')
-handler.tags = ['downloader']
-handler.command = /^(tiktokfoto|tiktokphoto)$/i
-handler.limit = 1
-handler.exp = 68
-export default handler
diff --git a/plugins/descargas-ringtone.js b/plugins/descargas-ringtone.js
deleted file mode 100644
index be256c610..000000000
--- a/plugins/descargas-ringtone.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import fetch from 'node-fetch'
-let handler = async(m, { conn, groupMetadata, usedPrefix, text, args, command }) => {
-if (!text) throw `${lenguajeGB['smsAvisoMG']()}๐๐๐๐๐๐๐ ๐๐ ๐๐๐๐๐ ๐๐๐ ๐ฟ๐๐๐๐ ๐ฝ๐๐๐พ๐ผ๐\n๐๐
๐๐๐๐๐: ${usedPrefix + command} Hola*`
-let anu = await ringtone(text)
-let result = anu[Math.floor(Math.random() * anu.length)]
-conn.sendMessage(m.chat, { audio: { url: result.audio }, fileName: result.title+'.mp3', mimetype: 'audio/mpeg' }, { quoted: m })}
-handler.command = ['ringtone']
-handler.money = 100
-handler.level = 2
-handler.register = true
-export default handler
-async function ringtone(title) {
-return new Promise((resolve, reject) => {
-axios.get('https://meloboom.com/es/search/'+title).then((get) => {
-let $ = cheerio.load(get.data)
-let hasil = []
-$('#__next > main > section > div.jsx-2244708474.container > div > div > div > div:nth-child(4) > div > div > div > ul > li').each(function (a, b) {
-hasil.push({ title: $(b).find('h4').text(), source: 'https://meloboom.com/'+$(b).find('a').attr('href'), audio: $(b).find('audio').attr('src') })
-})
-resolve(hasil)})})}
-
diff --git a/plugins/descargas-spotify.js b/plugins/descargas-spotify.js
index 2363e272c..2dfe06dd6 100644
--- a/plugins/descargas-spotify.js
+++ b/plugins/descargas-spotify.js
@@ -1,92 +1,159 @@
-import fetch from 'node-fetch'
-import Spotify from "spotifydl-x"
-import fs from 'fs'
-let handler = async(m, { conn, usedPrefix, command, 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" }
-let frep = { contextInfo: { externalAdReply: {title: wm, body: author, sourceUrl: redesMenu.getRandom(), thumbnail: await(await fetch(gataMenu.getRandom())).buffer() }}}
-if (!text) return await conn.reply(m.chat, `${lenguajeGB.smsMalused2()} โฑ *${usedPrefix + command} ozuna*`, fkontak, m)
-try {
-let resDL = await fetch(`https://api.lolhuman.xyz/api/spotifysearch?apikey=${lolkeysapi}&query=${text}`)
-let jsonDL = await resDL.json()
-let linkDL = jsonDL.result[0].link
-let spty = await spotifydl(linkDL)
-const getRandom = (ext) => {
-return `${Math.floor(Math.random() * 10000)}${ext}`}
-let randomName = getRandom(".mp3")
-const filePath = `./tmp/${randomName}`
-fs.writeFileSync(filePath, spty.audio)
-let spotifyi = `โญโใ *${wm}* ใโโฑ-
-โ
-โโจ *TITULO:* ยป *${spty.data.name}*
-โ~~โขโข~~โขโข~~โขโข~~โขโข~~~~
-โ๐ฃ๏ธ *ARTISTA:* ยป *${spty.data.artists}*
-โ~~โขโข~~โขโข~~โขโข~~โขโข~~~~
-โ๐ *URL*: ยป *${linkDL}*
-โ~~โขโข~~โขโข~~โขโข~~โขโข~~~~
-โ๐ถ *Enviando canciรณn...*
-โฐโโโโโโโโโโโโโโโโ`
-await conn.sendFile(m.chat, spty.data.cover_url, 'error.jpg', spotifyi, fkontak, m)
-await conn.sendMessage(m.chat, { audio: fs.readFileSync(`./tmp/${randomName}`), fileName: `${spty.data.name}.mp3`, mimetype: "audio/mp4", }, { 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} โโ`)
-console.log(e)
-handler.limit = false
-}}
-handler.command = /^(spotify|music)$/i
-handler.limit = 1
-handler.level = 3
-export default handler
-
-const credentials = { clientId: 'acc6302297e040aeb6e4ac1fbdfd62c3', clientSecret: '0e8439a1280a43aba9a5bc0a16f3f009' }
-const spotify = new Spotify.default(credentials)
-async function spotifydl(url) {
-const res = await spotify.getTrack(url).catch(() => {
-return { error: 'Fallo la descarga' }})
-return { data: res, audio: await spotify.downloadTrack(url) }}
-
-
-/*import fetch from 'node-fetch'
-import fs from 'fs'
-
-let handler = async(m, { conn, text, usedPrefix, command }) => {
-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: author, sourceUrl: redesMenu.getRandom(), thumbnail: await(await fetch(gataMenu.getRandom())).buffer() }}}
-if (!text) return await conn.reply(m.chat, `${lenguajeGB.smsMalused2()} โฑ *${usedPrefix + command} Bellyache*`, fkontak, m)
- //conn.sendButton(m.chat, lenguajeGB.smsMalused2(), `โฑ *${usedPrefix + command} Bellyache*`, null, [[lenguajeGB.smsConMenu(), `${usedPrefix}menu`]], fkontak, m)
-try {
-let res = await fetch(`https://api.lolhuman.xyz/api/spotifysearch?apikey=${lolkeysapi}&query=${text}`)
-let json = await res.json()
-let { link } = json.result[0]
-let res2 = await fetch(`https://api.lolhuman.xyz/api/spotify?apikey=${lolkeysapi}&url=${link}`)
-let json2 = await res2.json()
-let { thumbnail, title, artists } = json2.result
-
-let spotifyi = `โจ *TITULO:*
-_${title}_
-
-๐ฃ๏ธ *ARTISTA:*
-ยป _${artists}_
-
-๐ *URL*:
-ยป _${link}_
-
-๐ *URL DE DESCARGA:*
-ยป _${json2.result.link}_
-
-๐ถ *Enviando canciรณn...*
-${wm}`
-
-conn.sendFile(m.chat, thumbnail, 'error.jpg', spotifyi, fkontak, m)
-//await conn.sendButton(m.chat, '๐ง *๏ผณ ๏ผฐ ๏ผฏ ๏ผด ๏ผฉ ๏ผฆ ๏ผน* ๐ง', spotifyi, thumbnail, [[lenguajeGB.smsConMenu(), `${usedPrefix}menu`]], m, frep)
-let aa = await conn.sendMessage(m.chat, { audio: { url: json2.result.link }, fileName: `error.mp3`, mimetype: 'audio/mp4' }, { quoted: m })
-if (!aa) return conn.sendFile(m.chat, json2.result.link, 'error.mp3', null, m, false, { mimetype: 'audio/mp4' })
-} 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 = /^(spotify|music)$/i
-handler.limit = 1
-handler.level = 3
-export default handler*/
+import axios from 'axios';
+import fetch from 'node-fetch';
+import search from 'yt-search';
+const userMessages = new Map();
+const userRequests = {};
+
+let handler = async (m, { conn, text, usedPrefix, command }) => {
+if (!text) throw `*๐ค ยฟQue esta buscando? ingresa el nombre para descargar sus mรบsica de Spotify, Ejemplo:* ${usedPrefix + command} ozuna`;
+if (userRequests[m.sender]) return await conn.reply(m.chat, `โ ๏ธ Hey @${m.sender.split('@')[0]} pendejo, ya estรกs descargando una canciรณn ๐\nEspera a que termine tu descarga actual antes de pedir otra. ๐`, userMessages.get(m.sender) || m)
+userRequests[m.sender] = true;
+m.react(`โ`);
+try {
+const msgError = await tr("No se encontraron resultados para esa bรบsqueda");
+const titlte = await tr("Tรญtulo");
+const artist = await tr("Artista");
+const albunn = await tr("รlbum");
+const durationn = await tr("Duraciรณn");
+const Public = await tr("Publicado");
+const msgEspere = await tr("Enviando canciรณn Aguarde un momento...");
+
+const spotify = await fetch(`${apis}/search/spotify?q=${text}`);
+const song = await spotify.json();
+if (!song.data || song.data.length === 0) throw 'โ ๏ธ ' + msgError;
+const track = song.data[0];
+const spotifyMessage = `*โข ${titlte}:* ${track.title}\n*โข ${artist}:* ${track.artist}\n*โข ${albunn}:* ${track.album}\n*โข ${durationn}:* ${track.duration}\n*โข ${Public}:* ${track.publish}\n\n> ๐ *${msgEspere}*`;
+const message = await conn.sendMessage(m.chat, { text: spotifyMessage,
+contextInfo: {
+forwardingScore: 1,
+isForwarded: true,
+externalAdReply: {
+showAdAttribution: true,
+containsAutoReply: true,
+renderLargerThumbnail: true,
+title: track.title,
+body: msgEspere,
+mediaType: 1,
+thumbnailUrl: track.image,
+mediaUrl: track.url,
+sourceUrl: track.url
+}}}, { quoted: m });
+userMessages.set(m.sender, message);
+
+const downloadAttempts = [async () => {
+const res = await fetch(`https://api.siputzx.my.id/api/d/spotify?url=${track.url}`);
+const data = await res.json();
+return data.data.download;
+},
+async () => {
+const res = await fetch(`${apis}/download/spotifydl?url=${track.url}`);
+const data = await res.json();
+return data.data.url;
+}];
+
+let downloadUrl = null;
+for (const attempt of downloadAttempts) {
+try {
+downloadUrl = await attempt();
+if (downloadUrl) break;
+} catch (err) {
+console.error(`Error in attempt: ${err.message}`);
+continue;
+}}
+
+if (!downloadUrl) throw new Error(await tr('No se pudo descargar la canciรณn desde ninguna API'));
+await conn.sendMessage(m.chat, { audio: { url: downloadUrl }, fileName: `${track.title}.mp3`, mimetype: 'audio/mpeg'}, { quoted: m });
+m.react('โ
๏ธ');
+} catch (e) {
+m.reply(`\`\`\`โ ๏ธ ${await tr("OCURRIO UN ERROR")} โ ๏ธ\`\`\`\n\n> *${await tr("Reporta el siguiente error a mi creador con el comando:")}* #report\n\n>>> ${e} <<<< `)
+console.log(e);
+m.react('โ');
+handler.limit = false;
+} finally {
+delete userRequests[m.sender];
+}};
+handler.help = ['spotify'];
+handler.tags = ['downloader'];
+handler.command = /^(spotify|music)$/i;
+handler.register = true;
+handler.limit = 1;
+
+export default handler;
+
+async function spotifyxv(query) {
+ let token = await tokens();
+ try {
+ let response = await axios({
+ method: 'get',
+ url: 'https://api.spotify.com/v1/search?q=' + query + '&type=track',
+ headers: {
+ Authorization: 'Bearer ' + token,
+ },
+ });
+ const tracks = response.data.tracks.items;
+ const results = tracks.map((track) => ({
+ name: track.name,
+ artista: track.artists.map((artist) => artist.name),
+ album: track.album.name,
+ duracion: timestamp(track.duration_ms),
+ url: track.external_urls.spotify,
+ imagen: track.album.images.length ? track.album.images[0].url : '',
+ }));
+ return results;
+ } catch (error) {
+ console.error(`Error en spotifyxv: ${error}`);
+ return [];
+ }
+}
+
+async function tokens() {
+ try {
+ const response = await axios({
+ method: 'post',
+ url: 'https://accounts.spotify.com/api/token',
+ headers: {
+ 'Content-Type': 'application/x-www-form-urlencoded',
+ Authorization: 'Basic ' + Buffer.from('acc6302297e040aeb6e4ac1fbdfd62c3:0e8439a1280a43aba9a5bc0a16f3f009').toString('base64'),
+ },
+ data: 'grant_type=client_credentials',
+ });
+ return response.data.access_token;
+ } catch (error) {
+ console.error(`Error en tokens: ${error}`);
+ throw new Error('No se pudo obtener el token de acceso');
+ }
+}
+
+function timestamp(time) {
+ const minutes = Math.floor(time / 60000);
+ const seconds = Math.floor((time % 60000) / 1000);
+ return minutes + ':' + (seconds < 10 ? '0' : '') + seconds;
+}
+
+async function getBuffer(url, options) {
+ try {
+ options = options || {};
+ const res = await axios({
+ method: 'get',
+ url,
+ headers: {
+ DNT: 1,
+ 'Upgrade-Insecure-Request': 1,
+ },
+ ...options,
+ responseType: 'arraybuffer',
+ });
+ return res.data;
+ } catch (err) {
+ return err;
+ }
+}
+
+async function getTinyURL(text) {
+ try {
+ let response = await axios.get(`https://tinyurl.com/api-create.php?url=${text}`);
+ return response.data;
+ } catch (error) {
+ return text;
+ }
+}
diff --git a/plugins/descargas-stickerpack.js b/plugins/descargas-stickerpack.js
deleted file mode 100644
index 13bd04acf..000000000
--- a/plugins/descargas-stickerpack.js
+++ /dev/null
@@ -1,19 +0,0 @@
-/* By https://github.com/ALBERTO9883/NyanCatBot-MD */
-import fetch from 'node-fetch'
-import { sticker } from '../lib/sticker.js'
-let handler = async (m, { conn, text, usedPrefix, command }) => {
-if (!text) throw `*[โ] Ejemplo de uso del comando ${usedPrefix + command}* https://getstickerpack.com/stickers/flork-memes-4-1`
-try {
-let url = text
-let res = await fetch(`https://api.akuari.my.id/downloader/stickerpack?link=${url}`)
-let json = await res.json()
-for (let data of (json.result || json)) {
-const stikers = await sticker(false, data, global.packname, global.author)
-conn.sendFile(m.chat, stikers, null, { asSticker: true }, m, true, { contextInfo: { 'forwardingScore': 200, 'isForwarded': true }}, { quoted: m })
-await delay(5000)
-}} catch {
-await m.reply('*[โ] ๐ด๐๐๐พ๐, ๐ฟ๐พ๐ ๐ต๐ฐ๐
๐พ๐ ๐
๐๐ด๐ป๐
๐ฐ ๐ฐ ๐ธ๐ฝ๐๐ด๐๐ฝ๐๐ฐ๐๐ป๐พ*')
-}}
-handler.command = /^stickerpack$/i
-export default handler
-const delay = time => new Promise(res => setTimeout(res, time))
diff --git a/plugins/descargas-threads.js b/plugins/descargas-threads.js
new file mode 100644
index 000000000..d502b4986
--- /dev/null
+++ b/plugins/descargas-threads.js
@@ -0,0 +1,64 @@
+import fetch from 'node-fetch'
+const userRequests = {};
+
+const handler = async (m, { conn, args, usedPrefix, command }) => {
+if (!args[0]) throw `*โ ๏ธ ${await tr("ยฟQuรฉ estรกs buscando? Ingresa el link de algรบn video de Threads!!")}*\n*โข ${await tr("Ejemplo")}:*\n${usedPrefix + command} https://www.threads.net/@adri_leclerc_/post/C_dSNIOOlpy?xmt=AQGzxbmyveDB91QgFo_KQWzqL6PT2yCy2eg8BkhPTO-6Kw`
+
+if (userRequests[m.sender]) return await conn.reply(m.chat, `โณ ${await tr("Hey")} @${m.sender.split('@')[0]} ${await tr("pendejo, ya hay una solicitud en proceso. Por favor, espera a que termine antes de hacer otra")}`, userRequests[m.sender].message || m)
+let msgEspere = await tr("Espere")
+let msgEspere2 = await tr("Ya casi")
+let msgEsperefin = await tr("Completado")
+let imgThr = await tr("Aquรญ tienes la imagen de Threads")
+let vidThr = await tr("Aquรญ tienes el video de Threads")
+
+const { key } = await conn.sendMessage(m.chat, {text: `โ ${msgEspere} โ\nโฐโฐโฐโฑโฑโฑโฑโฑโฑ`}, {quoted: m});
+userRequests[m.sender] = { active: true, message: { key, chat: m.chat, fromMe: true } };
+await delay(1000);
+await conn.sendMessage(m.chat, {text: `โ ${msgEspere} โ \nโฐโฐโฐโฐโฐโฑโฑโฑโฑ`, edit: key});
+await delay(1000);
+await conn.sendMessage(m.chat, {text: `โ ${msgEspere2} ๐โโ๏ธ๐จ\nโฐโฐโฐโฐโฐโฐโฐโฑโฑ`, edit: key});
+m.react(`โ`)
+try {
+const res = await fetch(`https://api.agatz.xyz/api/threads?url=${args[0]}`);
+const data = await res.json()
+const downloadUrl = data.data.image_urls[0] || data.data.video_urls[0];
+const fileType = downloadUrl.includes('.webp') || downloadUrl.includes('.jpg') || downloadUrl.includes('.png') ? 'image' : 'video';
+if (fileType === 'image') {
+await conn.sendFile(m.chat, downloadUrl, 'threads_image.jpg', `_*${imgThr}*_`, m, null, fake);
+m.react('โ
');
+} else if (fileType === 'video') {
+await conn.sendFile(m.chat, downloadUrl, 'threads_video.mp4', `_*${vidThr}*_`, m, null, fake);
+m.react('โ
');
+}
+await conn.sendMessage(m.chat, {text: `${msgEsperefin}\nโฐโฐโฐโฐโฐโฐโฐโฐโฐ`, edit: key})
+} catch {
+try {
+const res2 = await fetch(`${apis}/download/threads?url=${args[0]}`);
+const data2 = await res2.json();
+if (data2.status === true && data2.data.length > 0) {
+const downloadUrl = data2.data[0].url;
+const fileType = data2.data[0].type;
+if (fileType === 'image') {
+await conn.sendFile(m.chat, downloadUrl, 'threads_image.jpg', `_*${imgThr}*_`, m, null, fake);
+m.react('โ
');
+} else if (fileType === 'video') {
+await conn.sendFile(m.chat, downloadUrl, 'threads_video.mp4', `_*${vidThr}*_`, m, null, fake);
+m.react('โ
');
+}}
+await conn.sendMessage(m.chat, {text: `โ
${msgEsperefin}\nโฐโฐโฐโฐโฐโฐโฐโฐโฐ`, edit: key})
+} catch (e) {
+m.react(`โ`)
+m.reply(`\`\`\`โ ๏ธ ${await tr("OCURRIO UN ERROR")} โ ๏ธ\`\`\`\n\n> *${await tr("Reporta el siguiente error a mi creador con el comando:")}* #report\n\n>>> ${e} <<<< `)
+console.log(e)
+}} finally {
+delete userRequests[m.sender];
+}}
+handler.help = ['thread']
+handler.tags = ['downloader']
+handler.command = /^(thread|threads|threaddl)$/i;
+handler.register = true;
+handler.limit = 1
+
+export default handler
+
+const delay = time => new Promise(res => setTimeout(res, time))
\ No newline at end of file
diff --git a/plugins/descargas-tiktok.js b/plugins/descargas-tiktok.js
index 7c3a520ed..492ff806b 100644
--- a/plugins/descargas-tiktok.js
+++ b/plugins/descargas-tiktok.js
@@ -1,54 +1,96 @@
-import fg from 'api-dylux'
-import axios from 'axios'
-import cheerio from 'cheerio'
-import { tiktok } from "@xct007/frieren-scraper";
-let generateWAMessageFromContent = (await import(global.baileys)).default
-import { tiktokdl } from '@bochilteam/scraper'
-let handler = async (m, { conn, text, args, usedPrefix, command}) => {
-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, `*Que tiktok buscar?๐ค*\n*Ingrese un enlace de tiktok para descarga el video*\n*Ejemplo:*\n*${usedPrefix + command} https://vm.tiktok.com/ZM2vfVP6k/*`, fkontak, m)
-if (!/(?:https:?\/{2})?(?:w{3}|vm|vt|t)?\.?tiktok.com\/([^\s&]+)/gi.test(text)) return conn.reply(m.chat, `*EL ENLACE DEL TIKTOK ES INCORRECTO*`, fkontak, m)
-const { key } = await conn.sendMessage(m.chat, {text: `โ _๐พ๐๐ง๐๐๐๐ค..._\nโฐโฐโฐโฑโฑโฑโฑโฑโฑ\n๐๐จ๐ฅ๐๐ง๐ ๐ช๐ฃ๐ค๐จ ๐จ๐๐๐ช๐ฃ๐๐ค๐จ ๐๐ก ๐ฆ๐ช๐ ๐ข๐๐ฃ๐๐ค ๐จ๐ช๐จ ๐ซ๐๐๐๐ค ๐๐ ๐ฉ๐๐ ๐ฉ๐ค๐ ๐ฅ๐ค๐ง ๐๐๐ซ๐ค๐ง ๐ฐ`}, {quoted: fkontak});
-await delay(1000 * 1);
-await conn.sendMessage(m.chat, {text: `โ _๐พ๐๐ง๐๐๐๐ค..._\nโฐโฐโฐโฐโฐโฑโฑโฑโฑ\n๐๐จ๐ฅ๐๐ง๐ ๐ช๐ฃ๐ค๐จ ๐จ๐๐๐ช๐ฃ๐๐ค๐จ ๐๐ก ๐ฆ๐ช๐ ๐ข๐๐ฃ๐๐ค ๐จ๐ช๐จ ๐ซ๐๐๐๐ค ๐๐ ๐ฉ๐๐ ๐ฉ๐ค๐ ๐ฅ๐ค๐ง ๐๐๐ซ๐ค๐ง ๐ฐ`, edit: key});
-await delay(1000 * 1);
-await conn.sendMessage(m.chat, {text: `โ _๐พ๐๐ง๐๐๐๐ค..._\nโฐโฐโฐโฐโฐโฐโฐโฑโฑ\n๐๐จ๐ฅ๐๐ง๐ ๐ช๐ฃ๐ค๐จ ๐จ๐๐๐ช๐ฃ๐๐ค๐จ ๐๐ก ๐ฆ๐ช๐ ๐ข๐๐ฃ๐๐ค ๐จ๐ช๐จ ๐ซ๐๐๐๐ค ๐๐ ๐ฉ๐๐ ๐ฉ๐ค๐ ๐ฅ๐ค๐ง ๐๐๐ซ๐ค๐ง ๐ฐ`, edit: key});
-await conn.sendMessage(m.chat, {text: `โ _๐พ๐๐ง๐๐๐๐ค..._\nโฐโฐโฐโฐโฐโฐโฐโฐโฐ\n๐๐จ๐ฅ๐๐ง๐ ๐ช๐ฃ๐ค๐จ ๐จ๐๐๐ช๐ฃ๐๐ค๐จ ๐๐ก ๐ฆ๐ช๐ ๐ข๐๐ฃ๐๐ค ๐จ๐ช๐จ ๐ซ๐๐๐๐ค ๐๐ ๐ฉ๐๐ ๐ฉ๐ค๐ ๐ฅ๐ค๐ง ๐๐๐ซ๐ค๐ง ๐ฐ`, edit: key});
-//await conn.reply(m.chat, `โ _๐พ๐๐ง๐๐๐๐ค..._\nโฐโฐโฐโฑโฑโฑโฑโฑโฑ\n๐๐จ๐ฅ๐๐ง๐ ๐ช๐ฃ๐ค๐จ ๐จ๐๐๐ช๐ฃ๐๐ค๐จ ๐๐ก ๐ฆ๐ช๐ ๐ข๐๐ฃ๐๐ค ๐จ๐ช๐จ ๐ซ๐๐๐๐ค ๐๐ ๐ฉ๐๐ ๐ฉ๐ค๐ ๐ฅ๐ค๐ง ๐๐๐ซ๐ค๐ง ๐ฐ`, fkontak, m)
-try {
-const dataF = await tiktok.v1(args[0])
-conn.sendFile(m.chat, dataF.play, 'tiktok.mp4', `*Aqui tiene ๐ฐ*`.trim(), m)
-} catch (e1) {
+import fg from 'api-dylux';
+import axios from 'axios';
+import fetch from 'node-fetch';
+import { Tiktok } from '../lib/tiktok.js';
+import cheerio from 'cheerio';
+const userRequests = {};
+
+const handler = async (m, { conn, text, args, usedPrefix, command }) => {
+if (!text) throw `โ ๏ธ *${await tr("Que tiktok buscar?")} ๐ค*\n\n*โก${await tr("Ingrese un enlace de tiktok para descarga el video")}*\n*${await tr("Ejemplo")}:* ${usedPrefix + command} https://vm.tiktok.com/ZM6T4X1RY/`;
+if (!/(?:https:?\/{2})?(?:w{3}|vm|vt|t)?\.?tiktok.com\/([^\s&]+)/gi.test(text)) throw `โ Error`;
+if (userRequests[m.sender]) return await conn.reply(m.chat, `Oye @${m.sender.split('@')[0]}, ${await tr("calma bro, ya estรกs descargando algo")} ๐\n> ${await tr("Espera a que termine tu solicitud actual antes de hacer otra...")}`, m)
+userRequests[m.sender] = true;
+let msgEspere = await tr("Espere")
+let msgEspere2 = await tr("Ya estoy descargado... sus video de tiktok")
+let msgEspere3 = await tr("Ya casi")
+let msgEsper4 = await tr("Completado")
+let vidtt = await tr("Aqui esta tu video de tiktok")
+const { key } = await conn.sendMessage(m.chat, { text: `โ ${msgEspere} โ\nโฐโฐโฐโฑโฑโฑโฑโฑโฑ\n${msgEspere2} ๐ฐ` }, { quoted: m });
+await delay(1000);
+await conn.sendMessage(m.chat, { text: `โ ${msgEspere} โ \nโฐโฐโฐโฐโฐโฑโฑโฑโฑ\n${msgEspere2} ๐ฐ`, edit: key });
+await delay(1000);
+await conn.sendMessage(m.chat, { text: `โ ${msgEspere3} ๐โโ๏ธ๐จ\nโฐโฐโฐโฐโฐโฐโฐโฑโฑ`, edit: key });
try {
-const tTiktok = await tiktokdlF(args[0])
-conn.sendFile(m.chat, tTiktok.video, 'tiktok.mp4', `*Aqui tiene ๐ฐ*`.trim(), m)
-} catch (e2) {
+const downloadAttempts = [async () => {
+const data = await Tiktok(args);
+return data.nowm;
+},
+async () => {
+const tTiktok = await tiktokdlF(args[0]);
+return tTiktok.video;
+},
+async () => {
+const response = await axios.get(`https://api.dorratz.com/v2/tiktok-dl?url=${args[0]}`);
+return response.data.data.media.org;
+},
+async () => {
+const p = await fg.tiktok(args[0]);
+return p.nowm;
+}];
+
+let videoUrl = null;
+for (const attempt of downloadAttempts) {
try {
-let p = await fg.tiktok(args[0])
-conn.sendFile(m.chat, p.nowm, 'tiktok.mp4', `*Aqui tiene ๐ฐ*`.trim(), m)
-} catch (e3) {
-try {
-const { author: { nickname }, video, description } = await tiktokdl(args[0])
-const url = video.no_watermark2 || video.no_watermark || 'https://tikcdn.net' + video.no_watermark_raw || video.no_watermark_hd
-conn.sendFile(m.chat, url, 'tiktok.mp4', `*Aqui tiene ๐ฐ*`.trim(), m)
-} catch {
-handler.limit = 0
-}}}}}
-handler.help = ['tiktok']
-handler.tags = ['dl']
-handler.command = /^(tt|tiktok)(dl|nowm)?$/i
-handler.limit = 1
-export default handler
-const delay = time => new Promise(res => setTimeout(res, time))
+videoUrl = await attempt();
+if (videoUrl) break;
+} catch (err) {
+console.error(`Error in attempt: ${err.message}`);
+continue; // Si falla, intentar con la siguiente API
+}}
+
+if (!videoUrl) throw new Error(await tr('No se pudo descargar el video desde ninguna API'));
+await conn.sendFile(m.chat, videoUrl, 'tt.mp4', `*๐ฐ ${vidtt}*`, m, null, fake);
+//conn.sendMessage(m.chat, {video: { url: videoUrl }, caption: `*๐ฐ Aqui esta tu video de tiktok*` }, { quoted: m });
+await conn.sendMessage(m.chat, { text: `โ
${msgEsper4}\nโฐโฐโฐโฐโฐโฐโฐโฐโฐ\n`, edit: key });
+} catch (e) {
+console.log(e);
+m.react(`โ`);
+handler.limit = false;
+} finally {
+delete userRequests[m.sender];
+}};
+handler.help = ['tiktok'];
+handler.tags = ['downloader'];
+handler.command = /^(tt|tiktok)(dl|nowm)?$/i;
+handler.limit = 1;
+
+export default handler;
+
+const delay = time => new Promise(res => setTimeout(res, time));
async function tiktokdlF(url) {
-if (!/tiktok/.test(url)) return 'Enlace incorrecto';
-const gettoken = await axios.get("https://tikdown.org/id");
-const $ = cheerio.load(gettoken.data);
-const token = $("#download-form > input[type=hidden]:nth-child(2)").attr( "value" );
-const param = { url: url, _token: token };
-const { data } = await axios.request("https://tikdown.org/getAjax?", { method: "post", data: new URLSearchParams(Object.entries(param)), headers: { "content-type": "application/x-www-form-urlencoded; charset=UTF-8", "user-agent": "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.88 Safari/537.36" }, });
-var getdata = cheerio.load(data.html);
-if (data.status) {
-return { status: true, thumbnail: getdata("img").attr("src"), video: getdata("div.download-links > div:nth-child(1) > a").attr("href"), audio: getdata("div.download-links > div:nth-child(2) > a").attr("href"), }} else
-return { status: false }}
+ if (!/tiktok/.test(url)) throw new Error(`*โข Ejemplo:* _${usedPrefix + command} https://vm.tiktok.com/ZM686Q4ER/_`);
+ const gettoken = await axios.get('https://tikdown.org/id');
+ const $ = cheerio.load(gettoken.data);
+ const token = $('#download-form > input[type=hidden]:nth-child(2)').attr('value');
+ const param = { url: url, _token: token };
+ const { data } = await axios.request('https://tikdown.org/getAjax?', {
+ method: 'post',
+ data: new URLSearchParams(Object.entries(param)),
+ headers: {
+ 'content-type': 'application/x-www-form-urlencoded; charset=UTF-8',
+ 'user-agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.88 Safari/537.36'
+ }
+ });
+ const getdata = cheerio.load(data.html);
+ if (data.status) {
+ return {
+ status: true,
+ thumbnail: getdata('img').attr('src'),
+ video: getdata('div.download-links > div:nth-child(1) > a').attr('href'),
+ audio: getdata('div.download-links > div:nth-child(2) > a').attr('href')
+ };
+ } else {
+ return { status: false };
+ }
+}
\ No newline at end of file
diff --git a/plugins/descargas-tiktokimg.js b/plugins/descargas-tiktokimg.js
new file mode 100644
index 000000000..bff697555
--- /dev/null
+++ b/plugins/descargas-tiktokimg.js
@@ -0,0 +1,47 @@
+import axios from 'axios';
+const userRequests = {};
+
+let handler = async (m, { conn, usedPrefix, command, text }) => {
+if (!text) throw `*โ ๏ธ ${await tr("Ingresa el nombre del video que buscas")}.*\n${await tr("Ejemplo")}: ${usedPrefix + command} emilia_mernes`
+if (userRequests[m.sender]) return m.reply(`โณ ${await tr("*Espera...* Ya hay una solicitud en proceso. Por favor, espera a que termine antes de hacer otra.")}`)
+userRequests[m.sender] = true;
+m.react("โณ")
+try {
+let resultTxt = await tr("Resultados para")
+let { data: response } = await axios.get(`${apis}/search/tiktoksearch?query=${text}`);
+if (!response || !response.meta || !Array.isArray(response.meta) || response.meta.length === 0) return m.reply(`โ ${await tr("No se encontraron resultados para")} "${text}".`);
+let searchResults = response.meta;
+shuffleArray(searchResults);
+let selectedResults = searchResults.slice(0, 5);
+if (m.isWABusiness) {
+const medias = selectedResults.map(result => ({type: "video", data: { url: result.hd }}));
+await conn.sendAlbumMessage(m.chat, medias, `โ
${resultTxt}: ${text}`, m);
+m.react("โ
๏ธ");
+} else {
+let messages = selectedResults.map(result => [``,
+`${result.title}`,
+result.hd
+]);
+await conn.sendCarousel(m.chat, `โ
${resultTxt}: ${text}`, "๐ TikTok Search", messages, m);
+m.react("โ
๏ธ");
+}
+} catch (error) {
+m.react("โ๏ธ")
+console.error(error);
+} finally {
+delete userRequests[m.sender];
+}};
+handler.help = ['tiktoksearch '];
+handler.tags = ['downloader'];
+handler.command = ['tiktoksearch', 'ttsearch'];
+handler.register = true;
+handler.limit = 4;
+
+export default handler;
+
+function shuffleArray(array) {
+ for (let i = array.length - 1; i > 0; i--) {
+ const j = Math.floor(Math.random() * (i + 1));
+ [array[i], array[j]] = [array[j], array[i]];
+ }
+ }
\ No newline at end of file
diff --git a/plugins/descargas-tiktokstalk.js b/plugins/descargas-tiktokstalk.js
index 037480cd6..f04959abd 100644
--- a/plugins/descargas-tiktokstalk.js
+++ b/plugins/descargas-tiktokstalk.js
@@ -1,40 +1,48 @@
-import fetch from 'node-fetch'
-let handler = async(m, { conn, text, command, usedPrefix }) => {
-if (!text) return conn.reply(m.chat, `๐๐จ๐๐ง๐๐๐ ๐๐ก ๐ฃ๐ค๐ข๐๐ง๐ ๐๐ ๐ช๐จ๐ช๐๐ง๐๐ค ๐๐ ๐ฉ๐๐ ๐ฉ๐ค๐ ๐จ๐๐ฃ ๐ช๐จ๐๐ง "@"\n๐๐๐๐ข๐ฅ๐ก๐ค\n*${usedPrefix + command} emiliamernes*`, m)
+import fg from 'api-dylux'
+let handler = async (m, { conn, text, args }) => {
+if (!text) throw `โณ๏ธ ${await tr("Ingrese el Username de un usuario de TikTok")}`
+m.react("โ");
try {
-let res = await fetch(`https://api.lolhuman.xyz/api/stalktiktok/${text}?apikey=9b817532fadff8fc7cb86862`)
-let res2 = `https://api.lolhuman.xyz/api/pptiktok/${text}?apikey=9b817532fadff8fc7cb86862`
-let json = await res.json()
-if (res.status !== 200) throw await res.text()
-if (!json.status) throw json
-let thumb = await (await fetch(json.result.user_picture)).buffer()
-let gata = `๐ค ๐๐จ๐ช๐๐ง๐๐ค
-${json.result.username}
-โโโโโโโโโโโโโโโโโ
-โจ ๐๐ค๐ข๐๐ง๐
-${json.result.nickname}
-โโโโโโโโโโโโโโโโโ
-โ
๐๐๐๐ช๐๐๐ค๐ง๐๐จ
-${json.result.followers}
-โโโโโโโโโโโโโโโโโ
-โ๏ธ ๐๐๐๐ช๐๐๐ค๐จ
-${json.result.followings}
-โโโโโโโโโโโโโโโโโ
-โค๏ธ ๐๐ ๐๐ช๐จ๐ฉ๐
-${json.result.likes}
-โโโโโโโโโโโโโโโโโ
-๐ ๐๐ช๐๐ก๐๐๐๐๐๐คฬ๐ฃ๐๐จ
-${json.result.video}
-โโโโโโโโโโโโโโโโโ
-๐ ๐ฟ๐๐จ๐๐ง๐๐ฅ๐๐๐คฬ๐ฃ
-${json.result.bio}
-`.trim()
-await conn.sendFile(m.chat, res2, 'error.jpg', gata, m, false)
+const apiUrl = `${apis}/tools/tiktokstalk?q=${encodeURIComponent(args[0])}`;
+const apiResponse = await fetch(apiUrl);
+const delius = await apiResponse.json();
+if (!delius || !delius.result || !delius.result.users) return m.react("โ");
+const profile = delius.result.users;
+const stats = delius.result.stats;
+const txt = `๐ค *${await tr("Perfil de TikTok")}*:
+*โข ${await tr("Nombre de usuario")}*: ${profile.username}
+*โข ${await tr("Nickname")}*: ${profile.nickname}
+*โข ${await tr("Verificado")}*: ${profile.verified ? 'Sรญ' : 'No'}
+*โข ${await tr("Seguidores")}*: ${stats.followerCount.toLocaleString()}
+*โข ${await tr("Seguidos")}*: ${stats.followingCount.toLocaleString()}
+*โข ${await tr("Likes Totales")}*: ${stats.heartCount.toLocaleString()}
+*โข ${await tr("Videos")}*: ${stats.videoCount.toLocaleString()}
+*โข ${await tr("Firma")}*: ${profile.signature}
+*โข URL*:
+${profile.url}`;
+
+await conn.sendFile(m.chat, profile.avatarLarger, 'tt.png', txt, m, null, fake);
+m.react("โ
");
+} catch (e2) {
+try {
+ let res = await fg.ttStalk(args[0])
+ let txt = `๐ค *${await tr("Perfil de TikTok")}*:
+*โข ${await tr("Nombre")}:* ${res.name}
+*โข ${await tr("Username")}:* ${res.username}
+*โข ${await tr("Seguidores")}:* ${res.followers}
+*โข ${await tr("Seguidos")}:* ${res.following}
+*โข ${await tr("Descripciรณn")}:* ${res.desc}
+*โข ${await tr("Enlace")}:* https://tiktok.com/${res.username}`
+await conn.sendFile(m.chat, res.profile, 'tt.png', txt, m, null, fake)
+m.react("โ
");
} catch (e) {
-throw `${lenguajeGB['smsAvisoFG']()}๐๐ ๐๐ ๐๐๐พ๐๐๐๐๐ ๐๐ ๐๐๐๐ฝ๐๐ ๐ฟ๐ ๐๐๐๐ผ๐๐๐.`
-}}
-handler.help = ['tiktokstalk'].map(v => v + ' ')
-handler.tags = ['stalk']
-handler.command = /^(tiktokstalk|ttstalk)$/i
-handler.exp = 48
+await m.react(`โ`)
+m.reply(`\`\`\`โ ๏ธ ${await tr("OCURRIO UN ERROR")} โ ๏ธ\`\`\`\n\n> *${await tr("Reporta el siguiente error a mi creador con el comando:")}* #report\n\n>>> ${e} <<<< `)
+console.log(e)
+}}}
+handler.help = ['tiktokstalk']
+handler.tags = ['downloader']
+handler.command = /^t(tstalk|iktokstalk|iktoksearch|tsearch)$/i
+handler.register = true
+handler.limit = 1
export default handler
diff --git a/plugins/descargas-tw.js b/plugins/descargas-tw.js
deleted file mode 100644
index c72bd544e..000000000
--- a/plugins/descargas-tw.js
+++ /dev/null
@@ -1,153 +0,0 @@
-import fetch from 'node-fetch';
-import axios from 'axios';
-import cheerio from 'cheerio';
-import vm from 'node:vm';
-import qs from 'qs';
-const handler = async (m, {conn, text, args, usedPrefix, command}) => {
-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 (!args[0]) throw `${lenguajeGB['smsAvisoMG']()}๐๐๐๐๐๐๐ ๐๐ ๐๐๐๐ผ๐พ๐ ๐ฟ๐ ๐๐๐๐๐๐๐ ๐๐ผ๐๐ผ ๐ฟ๐๐๐พ๐ผ๐๐๐ผ๐ ๐๐ ๐๐๐ฟ๐๐\n๐๐
๐๐๐๐๐\n*${usedPrefix + command} https://twitter.com/Animalesybichos/status/1564616107159330816?t=gKqUsstvflSp7Dhpe_nmDg&s=19*`
- try {
- const resFG = await twitter(text);
- const { key } = await conn.sendMessage(m.chat, {text: wait}, {quoted: fkontak});
-await delay(1000 * 1);
-await conn.sendMessage(m.chat, {text: waitt, edit: key});
-await delay(1000 * 1);
-await conn.sendMessage(m.chat, {text: waittt, edit: key});
-await delay(1000 * 1);
-await conn.sendMessage(m.chat, {text: waitttt, edit: key});
- const captionFG = `โจ ๐พ๐ผ๐๐๐ฟ๐ผ๐ฟ *ยป ${quality}*\n${wm}`
- await conn.sendFile(m.chat, resFG[0].url, 'error.mp4', captionFG, m);
- } catch {
- console.log('error')
- try {
- const res = await twitterDl(text);
- for (let x = 0; x < res.media.length; x++) {
- const caption = x === 0 ? res.caption.replace(/https:\/\/t.co\/[a-zA-Z0-9]+/gi, '').trim() : `โจ ๐พ๐ผ๐๐๐ฟ๐ผ๐ฟ ยป ${quality}*\n${wm}`
- await conn.sendFile(m.chat, res.media[x].url, 'error.mp4', caption, m);
- }
- } catch {
- try {
- const AA = await savefrom(text);
- await conn.sendFile(m.chat, AA.url[0].url, 'error.mp4', `*โจ ๐พ๐ผ๐๐๐ฟ๐ผ๐ฟ *:* ${quality}*\n${wm}`, m);
- } catch {
- conn.sendMessage(m.chat, {text: `${lenguajeGB['smsAvisoFG']()} ๐๐๐๐๐ ๐๐๐ ๐๐ผ๐๐๐ ๐๐๐๐๐๐ผ ๐ผ ๐๐๐๐๐๐๐ผ`, edit: key});
- handler.limit = false
- }
- }
- }
-};
-handler.help = ['twitter'].map(v => v + ' ')
-handler.tags = ['downloader']
-handler.command = /^((tw|twitter)(dl)?)$/i
-handler.limit = 4
-handler.level = 6
-handler.register = true
-handler.exp = 70
-export default handler;
-const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms))
-
-async function twitterDl(url) {
- const id = /twitter\.com\/[^/]+\/status\/(\d+)/.exec(url)?.[1];
- const res = await fetch(`https://tweetpik.com/api/tweets/${id}`);
- if (res.status !== 200) throw res.statusText;
- const json = await res.json();
- if (json.media) {
- const media = [];
- for (const i of json.media) {
- if (/video|animated_gif/.test(i.type)) {
- let vid = await (await fetch(`https://tweetpik.com/api/tweets/${id}/video`)).json();
- vid = vid.variants.pop();
- media.push({url: vid.url, type: i.type});
- } else {
- media.push({url: i.url, type: i.type});
- }
- }
- return {
- caption: json.text, media,
- };
- }
-}
-async function savefrom(urlL) {
- const body = new URLSearchParams({'sf_url': encodeURI(urlL), 'sf_submit': '', 'new': 2, 'lang': 'id', 'app': '', 'country': 'id', 'os': 'Windows', 'browser': 'Chrome', 'channel': ' main', 'sf-nomad': 1});
- let {data} = await axios({'url': 'https://worker.sf-tools.com/savefrom.php', 'method': 'POST', 'data': body, 'headers': {'content-type': 'application/x-www-form-urlencoded', 'origin': 'https://id.savefrom.net', 'referer': 'https://id.savefrom.net/', 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.74 Safari/537.36'}});
- const exec = '[]["filter"]["constructor"](b).call(a);';
- data = data.replace(exec, `\ntry {\ni++;\nif (i === 2) scriptResult = ${exec.split('.call')[0]}.toString();\nelse (\n${exec.replace(/;/, '')}\n);\n} catch {}`);
- const context = {'scriptResult': '', 'i': 0};
- vm.createContext(context);
- new vm.Script(data).runInContext(context);
- return JSON.parse(context.scriptResult.split('window.parent.sf.videoResult.show(')?.[1].split(');')?.[0]);
-}
-async function twitter(url) {
- let payload = { url, submit: '' }
- let res = await fetch('https://www.expertsphp.com/instagram-reels-downloader.php', {
- method: 'POST',
- body: new URLSearchParams(Object.entries(payload)),
- headers: {
- 'content-type': 'application/x-www-form-urlencoded',
- cookie: '_ga=GA1.2.783835709.1637038175; __gads=ID=5b4991618655cd86-22e2c7aeadce00ae:T=1637038176:RT=1637038176:S=ALNI_MaCe3McPrVVswzBEqcQlgnVZXtZ1g; _gid=GA1.2.1817576486.1639614645; _gat_gtag_UA_120752274_1=1',
- origin: 'https://www.expertsphp.com',
- referer: 'https://www.expertsphp.com/twitter-video-downloader.html',
- 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36'
- }})
- let $ = cheerio.load(await res.text())
- let results = []
- $('table.table > tbody > tr').each(function () {
- let quality = $(this).find('td').eq(2).find('strong').text()
- let type = $(this).find('td').eq(1).find('strong').text()
- let url = $(this).find('td').eq(0).find('a[href]').attr('href')
- let isVideo = /video/i.test(type)
- results.push({ quality, type, url, isVideo })
- })
- return results
-}
-
-/*import { twitterdl } from '@bochilteam/scraper'
-let handler = async (m, { conn, args, usedPrefix, command }) => {
-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 (!args[0]) throw `${lenguajeGB['smsAvisoMG']()}๐๐๐๐๐๐๐ ๐๐ ๐๐๐๐ผ๐พ๐ ๐ฟ๐ ๐๐๐๐๐๐๐ ๐๐ผ๐๐ผ ๐ฟ๐๐๐พ๐ผ๐๐๐ผ๐ ๐๐ ๐๐๐ฟ๐๐\n๐๐
๐๐๐๐๐\n*${usedPrefix + command} https://twitter.com/Animalesybichos/status/1564616107159330816?t=gKqUsstvflSp7Dhpe_nmDg&s=19*\n\n๐๐๐๐๐ ๐ผ ๐๐๐๐๐๐๐ ๐๐๐๐ ๐๐ ๐ฟ๐๐๐๐๐๐ผ๐ฟ ๐๐๐๐ ๐๐๐ฟ๐๐\n๐๐๐ผ๐๐๐๐\n*${usedPrefix + command} https://twitter.com/Animalesybichos/status/1564616107159330816?t=gKqUsstvflSp7Dhpe_nmDg&s=19*`
-let res = await twitterdlv2(args[0])
-const { url, quality, type } = res[1]
-
-await conn.reply(m.chat, wait, fkontak, m)
-await conn.reply(m.chat, waitt, fkontak, m)
-await conn.reply(m.chat, waittt, fkontak, m)
-await conn.reply(m.chat, waitttt, fkontak, m)
-await conn.sendFile(m.chat, url, 'twitter' + (type == 'image' ? '.jpg' : '.mp4'), `โจ ๐พ๐ผ๐๐๐ฟ๐ผ๐ฟ *:* ๐๐๐ผ๐๐๐๐ *ยป ${quality}*\n${wm}`, m)
-}
-handler.help = ['twitter'].map(v => v + ' ')
-handler.tags = ['downloader']
-handler.command = /^((tw|twitter)(dl)?)$/i
-handler.limit = 2
-handler.level = 3
-handler.register = true
-handler.exp = 70
-
-export default handler*/
diff --git a/plugins/descargas-wallpaper.js b/plugins/descargas-wallpaper.js
deleted file mode 100644
index 50849c46f..000000000
--- a/plugins/descargas-wallpaper.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import { wallpaper } from '@bochilteam/scraper'
-let handler = async (m, { conn, text, usedPrefix, command }) => {
-if (!text) throw `${lenguajeGB['smsAvisoMG']()}๐ฟ๐๐ฝ๐ ๐๐๐พ๐๐๐ฝ๐๐ ๐๐ ๐๐๐๐ฝ๐๐\n๐๐
๐๐๐๐๐\n*${usedPrefix + command} Gata*`
-const res = await (/2/.test(command) ? wallpaperv2 : wallpaper)(text)
-const img = res[Math.floor(Math.random() * res.length)]
-let link = img
-conn.sendFile(m.chat, img, 'error.jpg', `*๐ ๐๐๐จ๐ช๐ก๐ฉ๐๐๐ค ${text}*\n${wm}`, m)
- /*conn.sendHydrated(m.chat, `๐ ๐๐๐จ๐ช๐ก๐ฉ๐๐๐ค | ๐๐๐จ๐ช๐ก๐ฉ: ${text}`, `๐๐ค๐ฃ๐๐ค | ๐๐ฅ | ${wm}`, img, img, 'โ๏ธ ๐๐๐', null, null, [
-['๐ ๐๐๐๐ช๐๐๐ฃ๐ฉ๐ | ๐๐๐ญ๐ฉ', `${usedPrefix + command} ${text}`],
-['๐ ๐๐๐ฃ๐ฉ๐๐ง๐๐จ๐ฉ ', `#pinterest ${text}`],
-['๐ ๐๐ค๐ค๐๐ก๐ ', `#image ${text}`],
-], m)*/
-
-}
-handler.help = ['', '2'].map(v => 'wallpaper' + v + ' ')
-handler.tags = ['downloader']
-handler.command = /^(wp|wallpaper2?)$/i
-handler.exp = 29
-handler.limit = 1
-handler.level = 3
-export default handler
diff --git a/plugins/descargas-yta.js b/plugins/descargas-yta.js
deleted file mode 100644
index a697eb9a7..000000000
--- a/plugins/descargas-yta.js
+++ /dev/null
@@ -1,53 +0,0 @@
-import { youtubedl, youtubedlv2 } from '@bochilteam/scraper'
-import fetch from 'node-fetch'
-import yts from 'yt-search'
-import ytdl from 'ytdl-core'
-let handler = async (m, { text, conn, args, usedPrefix, command }) => {
-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 (!args[0]) throw '*๐๐ช๐ ๐๐จ๐ฉ๐ ๐๐ช๐จ๐๐๐๐ค๐ค ๐๐ฃ๐๐ง๐๐จ๐ ๐๐ก ๐๐ฃ๐ก๐๐๐ ๐๐ ๐๐ค๐ช๐๐ช๐๐ ๐ฅ๐๐ง๐ ๐๐๐จ๐๐๐ง๐๐๐ง ๐๐ก ๐๐ช๐๐๐ค*'
-
-let youtubeLink = '';
-if (args[0].includes('you')) {
-youtubeLink = args[0];
-} else {
-const index = parseInt(args[0]) - 1;
-if (index >= 0) {
-if (Array.isArray(global.videoList) && global.videoList.length > 0) {
-const matchingItem = global.videoList.find(item => item.from === m.sender);
-if (matchingItem) {
-if (index < matchingItem.urls.length) {
-youtubeLink = matchingItem.urls[index];
-} else {
-throw `${lenguajeGB['smsAvisoFG']()} ๐๐ ๐๐ ๐๐๐พ๐๐๐๐๐ฬ ๐๐ ๐๐๐๐ผ๐พ๐๐ ๐๐ผ๐๐ผ ๐๐๐ ๐๐ฬ๐๐๐๐, ๐๐๐ ๐๐ผ๐๐๐ ๐๐๐๐๐๐๐ ๐๐ ๐๐ฬ๐๐๐๐ ๐๐๐๐๐ 1 ๐ ๐๐ ${matchingItem.urls.length}*`;
-}} else {
-throw `${lenguajeGB['smsAvisoMG']()} ๐๐ผ๐๐ผ ๐๐๐ฟ๐๐ ๐๐๐ผ๐ ๐๐๐๐ ๐พ๐๐๐ผ๐๐ฟ๐ ๐ฟ๐ ๐๐๐๐ผ ๐๐๐๐๐ผ (${usedPrefix + command} ), ๐๐๐ ๐๐ผ๐๐๐ ๐๐๐ผ๐๐๐๐ผ๐ ๐๐ผ ๐ฝ๐ฬ๐๐๐๐๐ฟ๐ผ ๐ฟ๐ ๐๐ฬ๐ฟ๐๐๐ ๐พ๐๐ ๐๐ ๐พ๐๐๐ผ๐๐ฟ๐ ${usedPrefix}playlist *`;
-}} else {
-throw `${lenguajeGB['smsAvisoMG']()} ๐๐ผ๐๐ผ ๐๐๐ฟ๐๐ ๐๐๐ผ๐ ๐๐๐๐ ๐พ๐๐๐ผ๐๐ฟ๐ ๐ฟ๐ ๐๐๐๐ผ ๐๐๐๐๐ผ (${usedPrefix + command} ), ๐๐๐ ๐๐ผ๐๐๐ ๐๐๐ผ๐๐๐๐ผ๐ ๐๐ผ ๐ฝ๐ฬ๐๐๐๐๐ฟ๐ผ ๐ฟ๐ ๐๐ฬ๐ฟ๐๐๐ ๐พ๐๐ ๐๐ ๐พ๐๐๐ผ๐๐ฟ๐ ${usedPrefix}playlist *`;
-}}}
-
-await conn.reply(m.chat, `${lenguajeGB['smsAvisoEG']()}๐๐ ๐๐๐๐ผ ๐ฟ๐๐๐พ๐ผ๐๐๐ผ๐๐ฟ๐ ๐๐ ๐ผ๐๐ฟ๐๐, ๐๐๐๐๐๐ ๐๐ ๐๐๐๐๐๐๐ ๐๐๐ ๐๐ผ๐๐๐`, fkontak, m)
-try {
-let q = '128kbps'
-let v = youtubeLink
-const yt = await youtubedl(v).catch(async _ => await youtubedlv2(v))
-const dl_url = await yt.audio[q].download()
-const ttl = await yt.title
-const size = await yt.audio[q].fileSizeH
-await conn.sendFile(m.chat, dl_url, ttl + '.mp3', null, m, false, { mimetype: 'audio/mp4' })
-} catch {
-try {
-let lolhuman = await fetch(`https://api.lolhuman.xyz/api/ytaudio2?apikey=${lolkeysapi}&url=${youtubeLink}`)
-let lolh = await lolhuman.json()
-let n = lolh.result.title || 'error'
-await conn.sendMessage(m.chat, { audio: { url: lolh.result.link }, fileName: `${n}.mp3`, mimetype: 'audio/mp4' }, { quoted: m })
-} catch {
-try {
-let searchh = await yts(youtubeLink)
-let __res = searchh.all.map(v => v).filter(v => v.type == "video")
-let infoo = await ytdl.getInfo('https://youtu.be/' + __res[0].videoId)
-let ress = await ytdl.chooseFormat(infoo.formats, { filter: 'audioonly' })
-conn.sendMessage(m.chat, { audio: { url: ress.url }, fileName: __res[0].title + '.mp3', mimetype: 'audio/mp4' }, { quoted: m })
-} catch {
-}}}}
-handler.command = /^audio|fgmp3|dlmp3|getaud|yt(a|mp3)$/i
-export default handler
diff --git a/plugins/descargas-ytv.js b/plugins/descargas-ytv.js
deleted file mode 100644
index 65c1657bd..000000000
--- a/plugins/descargas-ytv.js
+++ /dev/null
@@ -1,120 +0,0 @@
-import { youtubedl, youtubedlv2 } from '@bochilteam/scraper'
-import fetch from 'node-fetch'
-import yts from 'yt-search'
-import ytdl from 'ytdl-core'
-import axios from 'axios'
-let handler = async (m, { conn, args, usedPrefix, command }) => {
-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 (!args[0]) throw '*๐๐ฃ๐๐ง๐๐จ๐ ๐๐ก ๐๐ฃ๐ก๐๐๐ ๐๐ ๐๐ค๐ช๐๐ช๐๐ ๐ฅ๐๐ง๐ ๐๐๐จ๐๐๐ง๐๐๐ง ๐๐ก ๐ซ๐๐๐๐ค*'
-
-let youtubeLink = '';
-if (args[0].includes('you')) {
-youtubeLink = args[0];
-} else {
-const index = parseInt(args[0]) - 1;
-if (index >= 0) {
-if (Array.isArray(global.videoList) && global.videoList.length > 0) {
-const matchingItem = global.videoList.find(item => item.from === m.sender);
-if (matchingItem) {
-if (index < matchingItem.urls.length) {
-youtubeLink = matchingItem.urls[index];
-} else {
-throw `${lenguajeGB['smsAvisoFG']()} ๐๐ ๐๐ ๐๐๐พ๐๐๐๐๐ฬ ๐๐ ๐๐๐๐ผ๐พ๐๐ ๐๐ผ๐๐ผ ๐๐๐ ๐๐ฬ๐๐๐๐, ๐๐๐ ๐๐ผ๐๐๐ ๐๐๐๐๐๐๐ ๐๐ ๐๐ฬ๐๐๐๐ ๐๐๐๐๐ 1 ๐ ๐๐ ${matchingItem.urls.length}*`;
-}} else {
-throw `${lenguajeGB['smsAvisoMG']()} ๐๐ผ๐๐ผ ๐๐๐ฟ๐๐ ๐๐๐ผ๐ ๐๐๐๐ ๐พ๐๐๐ผ๐๐ฟ๐ ๐ฟ๐ ๐๐๐๐ผ ๐๐๐๐๐ผ (${usedPrefix + command} ), ๐๐๐ ๐๐ผ๐๐๐ ๐๐๐ผ๐๐๐๐ผ๐ ๐๐ผ ๐ฝ๐ฬ๐๐๐๐๐ฟ๐ผ ๐ฟ๐ ๐๐ฬ๐ฟ๐๐๐ ๐พ๐๐ ๐๐ ๐พ๐๐๐ผ๐๐ฟ๐ ${usedPrefix}playlist *`;
-}} else {
-throw `${lenguajeGB['smsAvisoMG']()} ๐๐ผ๐๐ผ ๐๐๐ฟ๐๐ ๐๐๐ผ๐ ๐๐๐๐ ๐พ๐๐๐ผ๐๐ฟ๐ ๐ฟ๐ ๐๐๐๐ผ ๐๐๐๐๐ผ (${usedPrefix + command} ), ๐๐๐ ๐๐ผ๐๐๐ ๐๐๐ผ๐๐๐๐ผ๐ ๐๐ผ ๐ฝ๐ฬ๐๐๐๐๐ฟ๐ผ ๐ฟ๐ ๐๐ฬ๐ฟ๐๐๐ ๐พ๐๐ ๐๐ ๐พ๐๐๐ผ๐๐ฟ๐ ${usedPrefix}playlist *`;
-}}}
-
-await conn.reply(m.chat, `${lenguajeGB['smsAvisoEG']()}๐๐ ๐๐๐๐ผ ๐ฟ๐๐๐พ๐ผ๐๐๐ผ๐๐ฟ๐ ๐๐ ๐๐๐ฟ๐๐, ๐๐๐๐๐๐ ๐๐ ๐๐๐๐๐๐๐ ๐๐๐ ๐๐ผ๐๐๐`, fkontak, m)
-try {
-let qu = args[1] || '360'
-let q = qu + 'p'
-let v = youtubeLink
-const yt = await youtubedl(v).catch(async _ => await youtubedlv2(v))
-const dl_url = await yt.video[q].download()
-const ttl = await yt.title
-const size = await yt.video[q].fileSizeH
-await await conn.sendMessage(m.chat, { video: { url: dl_url }, fileName: `${ttl}.mp4`, mimetype: 'video/mp4', caption: `๐ฐ ๐ผ๐ฆ๐ช๐ ๐๐จ๐ฉ๐ ๐ฉ๐ช ๐ซ๐๐๐๐ค \n๐ฅ ๐๐๐ฉ๐ช๐ก๐ค:: ${ttl}`, thumbnail: await fetch(yt.thumbnail) }, { quoted: m })
-} catch (E1) {
-//console.log('Error 1 ' + E1)
-try {
-let mediaa = await ytMp4(youtubeLink)
-await conn.sendMessage(m.chat, { video: { url: mediaa.result }, fileName: `error.mp4`, caption: `_${wm}_`, thumbnail: mediaa.thumb, mimetype: 'video/mp4' }, { quoted: m })
-} catch (E2) {
-//console.log('Error 2 ' + E2)
-try {
-let lolhuman = await fetch(`https://api.lolhuman.xyz/api/ytvideo2?apikey=${lolkeysapi}&url=${youtubeLink}`)
-let lolh = await lolhuman.json()
-let n = lolh.result.title || 'error'
-let n2 = lolh.result.link
-let n3 = lolh.result.size
-let n4 = lolh.result.thumbnail
-await conn.sendMessage(m.chat, { video: { url: n2 }, fileName: `${n}.mp4`, mimetype: 'video/mp4', caption: `๐ฐ ๐ผ๐ฆ๐ช๐ ๐๐จ๐ฉ๐ ๐ฉ๐ช ๐ซ๐๐๐๐ค \n๐ฅ ๐๐๐ฉ๐ช๐ก๐ค: ${n}`, thumbnail: await fetch(n4) }, { quoted: m })
-} catch (E3) {
-//console.log('Error 3 ' + E3)
-}}}}
-handler.command = /^video|fgmp4|dlmp4|getvid|yt(v|mp4)?$/i
-export default handler
-
-function bytesToSize(bytes) {
-return new Promise((resolve, reject) => {
-const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB'];
-if (bytes === 0) return 'n/a';
-const i = parseInt(Math.floor(Math.log(bytes) / Math.log(1024)), 10);
-if (i === 0) resolve(`${bytes} ${sizes[i]}`);
-resolve(`${(bytes / (1024 ** i)).toFixed(1)} ${sizes[i]}`)})};
-
-async function ytMp3(url) {
-return new Promise((resolve, reject) => {
-ytdl.getInfo(url).then(async(getUrl) => {
-let result = [];
-for(let i = 0; i < getUrl.formats.length; i++) {
-let item = getUrl.formats[i];
-if (item.mimeType == 'audio/webm; codecs=\"opus\"') {
-let { contentLength } = item;
-let bytes = await bytesToSize(contentLength);
-result[i] = { audio: item.url, size: bytes }}};
-let resultFix = result.filter(x => x.audio != undefined && x.size != undefined)
-let tiny = await axios.get(`https://tinyurl.com/api-create.php?url=${resultFix[0].audio}`);
-let tinyUrl = tiny.data;
-let title = getUrl.videoDetails.title;
-let thumb = getUrl.player_response.microformat.playerMicroformatRenderer.thumbnail.thumbnails[0].url;
-resolve({ title, result: tinyUrl, result2: resultFix, thumb })}).catch(reject)})}
-
-async function ytMp4(url) {
-return new Promise(async(resolve, reject) => {
-ytdl.getInfo(url).then(async(getUrl) => {
-let result = [];
-for(let i = 0; i < getUrl.formats.length; i++) {
-let item = getUrl.formats[i];
-if (item.container == 'mp4' && item.hasVideo == true && item.hasAudio == true) {
-let { qualityLabel, contentLength } = item;
-let bytes = await bytesToSize(contentLength);
-result[i] = { video: item.url, quality: qualityLabel, size: bytes }}};
-let resultFix = result.filter(x => x.video != undefined && x.size != undefined && x.quality != undefined)
-let tiny = await axios.get(`https://tinyurl.com/api-create.php?url=${resultFix[0].video}`);
-let tinyUrl = tiny.data;
-let title = getUrl.videoDetails.title;
-let thumb = getUrl.player_response.microformat.playerMicroformatRenderer.thumbnail.thumbnails[0].url;
-resolve({ title, result: tinyUrl, rersult2: resultFix[0].video, thumb })}).catch(reject)})};
-
-async function ytPlay(query) {
-return new Promise((resolve, reject) => {
-yts(query).then(async(getData) => {
-let result = getData.videos.slice( 0, 5 );
-let url = [];
-for (let i = 0; i < result.length; i++) { url.push(result[i].url) }
-let random = url[0];
-let getAudio = await ytMp3(random);
-resolve(getAudio)}).catch(reject)})};
-
-async function ytPlayVid(query) {
-return new Promise((resolve, reject) => {
-yts(query).then(async(getData) => {
-let result = getData.videos.slice( 0, 5 );
-let url = [];
-for (let i = 0; i < result.length; i++) { url.push(result[i].url) }
-let random = url[0];
-let getVideo = await ytMp4(random);
-resolve(getVideo)}).catch(reject)})};
diff --git a/plugins/descargas.appmusic.js b/plugins/descargas.appmusic.js
new file mode 100644
index 000000000..ae32b5010
--- /dev/null
+++ b/plugins/descargas.appmusic.js
@@ -0,0 +1,90 @@
+import axios from 'axios';
+import cheerio from 'cheerio';
+import qs from 'qs';
+const userMessages = new Map();
+const userRequests = {};
+
+let handler = async (m, { conn, text, usedPrefix, command }) => {
+if (!text) throw `Ejemplo de uso: ${usedPrefix + command} https://music.apple.com/us/album/glimpse-of-us/1625328890?i=1625328892`;
+if (userRequests[m.sender]) {
+conn.reply(m.chat, `โ ๏ธ ${await tr("Hey")} @${m.sender.split('@')[0]}, ${await tr("ya estรกs descargando una canciรณn")} ๐\n${await tr("Espera a que termine tu descarga actual antes de pedir otra.")} ๐`, userMessages.get(m.sender) || m)
+return;
+}
+userRequests[m.sender] = true;
+m.react("โ");
+try {
+const downloadAttempts = [async () => {
+const apiUrl = `${apis}/applemusicdl?url=${encodeURIComponent(text)}`;
+const apiResponse = await fetch(apiUrl);
+const delius = await apiResponse.json();
+return { name: delius.data.name, artists: delius.data.artists, image: delius.data.image, duration: delius.data.duration, download: delius.data.download };
+},
+async () => {
+const appledown = {
+getData: async (urls) => {
+const url = `https://aaplmusicdownloader.com/api/applesearch.php?url=${urls}`;
+const response = await axios.get(url, { headers: { 'Accept': 'application/json', 'User-Agent': 'MyApp/1.0' } });
+return response.data;
+},
+getAudio: async (trackName, artist, urlMusic, token) => {
+const url = 'https://aaplmusicdownloader.com/api/composer/swd.php';
+const data = { song_name: trackName, artist_name: artist, url: urlMusic, token: token };
+const headers = { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8', 'User-Agent': 'MyApp/1.0' };
+const response = await axios.post(url, qs.stringify(data), { headers });
+return response.data.dlink;
+},
+download: async (urls) => {
+const musicData = await appledown.getData(urls);
+if (!musicData || !musicData.success) throw new Error('No se pudo obtener los datos en appledown API');
+const encodedData = encodeURIComponent(JSON.stringify([musicData.name, musicData.albumname, musicData.artist, musicData.thumb, musicData.duration, musicData.url]));
+const url = 'https://aaplmusicdownloader.com/song.php';
+const headers = { 'content-type': 'application/x-www-form-urlencoded', 'User-Agent': 'MyApp/1.0' };
+const data = `data=${encodedData}`;
+const response = await axios.post(url, data, { headers });
+const htmlData = response.data;
+const $ = cheerio.load(htmlData);
+const trackName = $('td:contains("Track Name:")').next().text();
+const albumName = $('td:contains("Album:")').next().text();
+const duration = $('td:contains("Duration:")').next().text();
+const artist = $('td:contains("Artist:")').next().text();
+const thumb = $('figure.image img').attr('src');
+const urlMusic = urls;
+const token = $('a#download_btn').attr('token');
+const downloadLink = await appledown.getAudio(trackName, artist, urlMusic, token);
+return { name: trackName, albumname: albumName, artist, url: urlMusic, thumb, duration, token, download: downloadLink };
+}};
+const dataos = await appledown.download(text);
+return { name: dataos.name, artists: dataos.artist, image: dataos.thumb, duration: dataos.duration, download: dataos.download, url: dataos.url,
+}},
+];
+
+let songData = null;
+for (const attempt of downloadAttempts) {
+try {
+songData = await attempt();
+if (songData) break; // Si se obtiene un resultado, salir del bucle
+} catch (err) {
+console.error(`Error in attempt: ${err.message}`);
+continue; // Si falla, intentar con la siguiente API
+}}
+
+if (!songData) throw new Error(await tr('No se pudo descargar la canciรณn desde ninguna API'));
+const texto = `*โข ${await tr("Titulo")}:* ${songData.name}\n*โข ${await tr("Artistas")}:* ${songData.artists}\n*โข ${await tr("Duraciรณn")}:* ${songData.duration}${songData.url ? `\n*โข URL:* ${songData.url}` : ''}`;
+const coverMessage = await conn.sendFile(m.chat, songData.image, 'cover.jpg', texto, m, null, fake);
+userMessages.set(m.sender, coverMessage);
+await conn.sendMessage(m.chat, { document: { url: songData.download }, fileName: `${songData.name}.mp3`, mimetype: 'audio/mp3' }, { quoted: m });
+m.react("โ
");
+} catch (e) {
+console.error("Error final:", e);
+m.reply(await tr("Ocurriรณ un error al intentar obtener el enlace de descarga."));
+m.react("โ");
+} finally {
+delete userRequests[m.sender];
+}};
+handler.help = ['applemusic'];
+handler.tags = ['downloader'];
+handler.command = /^(applemusic)$/i;
+handler.register = true;
+handler.limit = 1;
+
+export default handler;
\ No newline at end of file
diff --git a/plugins/frase-piropos.js b/plugins/frase-piropos.js
deleted file mode 100644
index 8c4062d7c..000000000
--- a/plugins/frase-piropos.js
+++ /dev/null
@@ -1,14 +0,0 @@
-/* By https://github.com/DIEGO-OFC/DORRAT-BOT-MD */
-
-let handler = async (m, { conn, text}) => {
-
-m.reply(`*โโโโโโโโโโโโโโโโโโโโโโโโโโโโ*\nโข *"${pickRandom(global.piropo)}"*\n*โโโโโโโโโโโโโโโโโโโโโโโโโโโโ*`)
-}
-handler.tags = ['frases']
-handler.command = ['piropo']
-export default handler
-
-function pickRandom(list) {
-return list[Math.floor(list.length * Math.random())]}
-
-global.piropo = ["Me gustarรญa ser papel para poder envolver ese bombรณn.", "Eres como wifi sin contraseรฑa, todo el mundo te busca", "Quiรฉn fuera bus para andar por las curvas de tu corazรณn.", "Quiero volar sin alas y salir de este universo, entrar en el tuyo y amarte en silencio.", "Quisiera ser mantequilla para derretirme en tu arepa.", "Si la belleza fuera pecado vos ya estarรญas en el infierno.", "Me Gustarรญa Ser Un Gato Para Pasar 7 Vidas A Tu Lado.", "Robar Estรก Mal Pero Un Beso De Tu Boca Sรญ Me Lo Robarรญa.", "Quรฉ Hermoso Es El Cielo Cuando Estรก Claro Pero Mรกs Hermoso Es El Amor Cuando Te Tengo A Mi Lado.", "Bonita, Camina Por La Sombra, El Sol Derrite Los Chocolates.", "Si Fuera Un Correo Electrรณnico Serรญas Mi Contraseรฑa.", "Quisiera que fueses monte para darte machete", "Perdรญ mi nรบmero de telรฉfono ยฟMe das el tuyo?", "ยฟCรณmo te llamas para pedirte de regalo a Santa Claus?", " En el cielo hay muchas estrellas, pero la mรกs brillante estรก en la Tierra y eres tรบ.", "ยฟAcaba de salir el sol o es la sonrisa que me regalas hoy?", "No es el ron ni la cerveza, eres tรบ quien se me ha subido a la cabeza", "Si hablamos de matemรกticas eres la suma de todos mis deseos.", "Pareces Google porque tienes todo lo que yo busco.", "Mi cafรฉ favorito, es el de tus ojos.", "Quiero ser photoshop para retocarte todo el cuerpo.", "Quisiera que fueras cereal, para cucharearte en las maรฑanas.", "Quien fuera hambre, para darte tres veces al dรญa."]
diff --git a/plugins/fun-_ttt.js b/plugins/fun-_ttt.js
deleted file mode 100644
index 0a2a17a5e..000000000
--- a/plugins/fun-_ttt.js
+++ /dev/null
@@ -1,119 +0,0 @@
-import { format } from 'util'
-let debugMode = !1
-//let winScore = 4999
-//let playScore = 99
-export async function before(m) {
-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"
-}
-
-let ok
-let isWin = !1
-let isTie = !1
-let isSurrender = !1
-this.game = this.game ? this.game : {}
-let room = Object.values(this.game).find(room => room.id && room.game && room.state && room.id.startsWith('tictactoe') && [room.game.playerX, room.game.playerO].includes(m.sender) && room.state == 'PLAYING')
-if (room) {
-if (!/^([1-9]|(me)?nyerah|\rendirse\|rendirse|RENDIRSE|SALIR|salir|Salir|out|OUT|Out|surr?ender)$/i.test(m.text))
-return !0
-isSurrender = !/^[1-9]$/.test(m.text)
-if (m.sender !== room.game.currentTurn) {
-if (!isSurrender)
-return !0 }
-if (debugMode)
-m.reply('[DEBUG]\n' + require('util').format({
-isSurrender,
-text: m.text }))
-if (!isSurrender && 1 > (ok = room.game.turn(m.sender === room.game.playerO, parseInt(m.text) - 1))) {
-m.reply({
-'-3': 'El juego ha terminado',
-'-2': 'Invรกlido',
-'-1': 'Posiciรณn invรกlida',
-0: 'Posiciรณn invรกlida',
-}[ok])
-return !0 }
-if (m.sender === room.game.winner)
-isWin = true
-else if (room.game.board === 511)
-isTie = true
-let arr = room.game.render().map(v => {
-return {
-X: 'โ',
-O: 'โญ',
-1: '1๏ธโฃ',
-2: '2๏ธโฃ',
-3: '3๏ธโฃ',
-4: '4๏ธโฃ',
-5: '5๏ธโฃ',
-6: '6๏ธโฃ',
-7: '7๏ธโฃ',
-8: '8๏ธโฃ',
-9: '9๏ธโฃ',
-}[v]})
-if (isSurrender) {
-
-room.game._currentTurn = m.sender === room.game.playerX
-isWin = true }
-
-let dia = Math.floor(Math.random() * 2)
-let tok = Math.floor(Math.random() * 2)
-let gata = Math.floor(Math.random() * 10)
-let expp = Math.floor(Math.random() * 10)
-
-let dia2 = Math.floor(Math.random() * 15)
-let tok2 = Math.floor(Math.random() * 10)
-let gata2 = Math.floor(Math.random() * 1500)
-let expp2 = Math.floor(Math.random() * 2500)
-
-let winner = isSurrender ? room.game.currentTurn : room.game.winner
-let str = `
-๐ซ ๐
๐ช๐๐๐๐ค๐ง๐๐จ:
-*โโโโโโโโโ*
-โ = @${room.game.playerX.split('@')[0]}
-โญ = @${room.game.playerO.split('@')[0]}
-*โโโโโโโโโ*
- ${arr.slice(0, 3).join('')}
- ${arr.slice(3, 6).join('')}
- ${arr.slice(6).join('')}
-*โโโโโโโโโ*
-${isWin ? `@${(isSurrender ? room.game.currentTurn : room.game.winner).split('@')[0]} ๐๐ *๐๐๐ฃ๐๐ง๐ฉ๐!!*\n*๐๐ค๐ง ๐๐๐๐๐ง ๐๐๐ฃ๐๐๐ค๐จ ๐ค๐๐ฉ๐๐๐ฃ๐*\n\n๐ *${dia2} ๐ฟ๐๐๐ข๐๐ฃ๐ฉ๐๐จ*\n๐ช *${tok2} ๐๐ค๐ ๐๐ฃ๐จ*\n๐ *${gata2} ๐๐ค๐ก๐๐๐ค๐๐ฃ๐จ*\nโก *${expp2} ๐๐ญ๐ฅ*` : isTie ? `*๐๐ข๐ฅ๐๐ฉ๐!!* ๐คจ\n*๐๐ค๐ง ๐ฉ๐๐ง๐ข๐๐ฃ๐ ๐๐ก ๐๐ข๐ฅ๐๐ฉ๐ ๐๐ข๐๐ค๐จ ๐ฉ๐๐๐ฃ๐*\n\n๐ *${dia} ๐ฟ๐๐๐ข๐๐ฃ๐ฉ๐๐จ*\n๐ช *${tok} ๐๐ค๐ ๐๐ฃ๐จ*\n๐ *${gata} ๐๐ค๐ก๐๐๐ค๐๐ฃ๐จ*\nโก *${expp} ๐๐ญ๐ฅ*` : `๐ช *๐๐ช๐ง๐ฃ๐ค ๐๐* @${room.game.currentTurn.split('@')[0]}`}
-`.trim()
-let users = global.db.data.users
-if ((room.game._currentTurn ^ isSurrender ? room.x : room.o) !== m.chat)
-room[room.game._currentTurn ^ isSurrender ? 'x' : 'o'] = m.chat
-if (room.x !== room.o)
-await this.sendMessage(room.x, { text: str, mentions: this.parseMention(str)}, { quoted: fkontak, m })
-await this.sendMessage(room.o, { text: str, mentions: this.parseMention(str)}, { quoted: fkontak, m })
-
-if (isTie || isWin) {
-users[room.game.playerX].limit += dia //empate
-users[room.game.playerX].joincount += tok
-users[room.game.playerX].money += gata
-users[room.game.playerX].exp += expp
-
-users[room.game.playerO].limit += dia //empate
-users[room.game.playerO].joincount += tok
-users[room.game.playerO].money += gata
-users[room.game.playerO].exp += expp
-
-if (isWin)
-users[winner].limit += dia2 //Ganador
-users[winner].joincount += tok2
-users[winner].money += gata2
-users[winner].exp += expp2
-
-if (debugMode)
-m.reply('[DEBUG]\n' + format(room))
-delete this.game[room.id]}}
-return !0 }
diff --git a/plugins/fun-acciones.js b/plugins/fun-acciones.js
deleted file mode 100644
index 618d81fbd..000000000
--- a/plugins/fun-acciones.js
+++ /dev/null
@@ -1,14 +0,0 @@
-let handler = async (m, { conn, groupMetadata, text, command}) => {
- if (!m.mentionedJid[0] && !m.quoted) throw '๐ฌ๐๐๐๐๐๐๐๐ ๐ ๐๐๐๐๐๐๐ ๐
๐๐ ๐๐๐๐๐ ๐๐๐๐ ๐๐๐๐๐๐๐ ๐๐๐๐๐๐๐ ๐๐๐๐๐๐'
- let user = m.mentionedJid[0] ? m.mentionedJid[0] : m.quoted.sender
-let participants = groupMetadata.participants
- conn.reply(m.chat, `Le acabas de ${command} ${text} a *@${user.split('@')[0]}* ๐ณ`, null, { mentions: [user] })
-
-}
-handler.help = ['acciones']
-handler.tags = ['acciones']
-handler.command = /^(regalar|dar|enviar|meter|chupar|metersela|retar)$/
-
-handler.group = true
-
-export default handler
diff --git a/plugins/fun-adivinar.js b/plugins/fun-adivinar.js
new file mode 100644
index 000000000..43fecc49a
--- /dev/null
+++ b/plugins/fun-adivinar.js
@@ -0,0 +1,227 @@
+import fs from 'fs';
+import fetch from 'node-fetch';
+import similarity from 'similarity';
+import { perplexity } from '../lib/scraper.js';
+
+let timeout = 50000; // 50s
+let timeout2 = 20000; // 20s
+let poin = 500;
+const threshold = 0.72;
+let juegos = {};
+const preguntasUsadas = new Set();
+
+const archivosRespaldo = {
+ acertijo: "acertijo.json",
+ pelicula: "peliculas.json",
+ trivia: "trivia.json"
+};
+
+async function obtenerPregunta(tipo) {
+ let maxIntentos = 9;
+ let pregunta = null;
+
+for (let i = 0; i < maxIntentos; i++) {
+ let prompt = "";
+ if (tipo === "acertijo") {
+ prompt = "Genera un acertijo con su respuesta en formato JSON: {\"question\": \"\", \"response\": \"\"}. Solo genera el JSON sin ningรบn comentario adicional.";
+ } else if (tipo === "pelicula") {
+ prompt = "Genera un juego de adivinar pelรญcula usando emojis como pista, en formato JSON: {\"question\": \"\", \"response\": \"\"}. Solo genera el JSON sin ningรบn comentario adicional.";
+ } else if (tipo === "trivia") {
+ prompt = "Genera una pregunta de trivia con opciones mรบltiples en formato JSON, siguiendo este formato: {\"question\": \"\\n\\nA) ...\\n\\nB) ...\\n\\nC) ...\", \"response\": \"\"}. Solo genera el JSON sin ningรบn comentario adicional.";
+ }
+
+ try {
+ let syms1 = await fetch('https://raw.githubusercontent.com/Skidy89/chat-gpt-jailbreak/main/Text.txt').then(v => v.text());
+ let resPerplexity = await perplexityIA(prompt, syms1);
+ if (resPerplexity) {
+ try {
+ pregunta = JSON.parse(resPerplexity);
+ if (pregunta.question && pregunta.response) break;
+ } catch (error) {
+ console.error("Error parseando JSON de Perplexity:", error);
+ }
+ }
+
+ if (!pregunta) {
+ let gpt = await fetch(`${apis}/ia/gptweb?text=${prompt}`);
+ let resGPT = await gpt.json();
+ if (resGPT.data) {
+ let dataText = resGPT.data;
+ const match = dataText.match(/```json\s*([\s\S]*?)\s*```/);
+ if (match) dataText = match[1];
+
+ try {
+ pregunta = JSON.parse(dataText);
+ if (pregunta.question && pregunta.response) break; // Si es vรกlida, terminamos
+ } catch (error) {
+ console.error("Error parseando JSON de GPT:", error);
+ }
+ }
+ }
+ } catch (error) {
+ console.error("Error en fetch de IA:", error);
+ }
+
+ if (!pregunta) {
+ try {
+ let archivo = `./src/game/${archivosRespaldo[tipo]}`;
+ let data = JSON.parse(fs.readFileSync(archivo));
+ pregunta = data[Math.floor(Math.random() * data.length)];
+ } catch (error) {
+ console.error("Error leyendo archivo respaldo:", error);
+ return null;
+ }
+ }
+
+ if (pregunta && pregunta.question && !preguntasUsadas.has(pregunta.question)) {
+ break;
+ } else {
+ pregunta = null;
+ }
+ }
+
+ if (!pregunta) return null;
+ preguntasUsadas.add(pregunta.question);
+ return pregunta;
+}
+
+let handler = async (m, { conn, command }) => {
+ let id = m.chat;
+ if (juegos[id]) return conn.reply(m.chat, await tr('โ ๏ธ Todavรญa hay un juego sin responder en este chat'), m);
+ try {
+ let tipo = "";
+ if (/^(acertijo|acert|adivinanza|tekateki)$/i.test(command)) tipo = "acertijo";
+ else if (/^(advpe|adv|peliculas|pelicula)$/i.test(command)) tipo = "pelicula";
+ else if (/^(trivia|triviador)$/i.test(command)) tipo = "trivia";
+ if (!tipo) return;
+
+ let pregunta = await obtenerPregunta(tipo);
+ if (!pregunta) return;
+
+ let caption = "";
+ if (tipo === "acertijo") {
+ caption = await conn.sendMessage(m.chat, {
+ text: `${pregunta.question}\n\n*โข ${await tr("Tiempo")}:* ${(timeout / 1000)}s\n*โข ${await tr("Bono")}:* +${poin} XP`,
+ contextInfo: {
+ forwardingScore: 9999999,
+ isForwarded: true,
+ externalAdReply: {
+ showAdAttribution: true,
+ containsAutoReply: true,
+ body: `โข ๐๐๐๐๐๐๐๐ โข`,
+ previewType: "PHOTO",
+ thumbnail: imagen1,
+ sourceUrl: md
+ }
+ }
+ }, { quoted: m, ephemeralExpiration: 24 * 60 * 100, disappearingMessagesInChat: 24 * 60 * 100 });
+ } else if (tipo === "pelicula") {
+ let clue = pregunta.response.replace(/[A-Za-z]/g, '_');
+ caption = await conn.sendMessage(m.chat, {
+ text: `${pregunta.question}\n\n*โข Tiempo:* ${(timeout / 1000)}s\n*โข Bono:* +${poin} XP`,
+ contextInfo: {
+ forwardingScore: 9999999,
+ isForwarded: true,
+ externalAdReply: {
+ showAdAttribution: true,
+ containsAutoReply: true,
+ title: "๐ฌ ADIVINAN",
+ body: await tr(`LA PELรCULA CON EMOJIS โข`),
+ previewType: "PHOTO",
+ thumbnail: imagen1,
+ sourceUrl: md
+ }
+ }
+ }, { quoted: m, ephemeralExpiration: 24 * 60 * 100, disappearingMessagesInChat: 24 * 60 * 100 });
+ } else if (tipo === "trivia") {
+ caption = await conn.sendMessage(m.chat, {
+ text: `${pregunta.question}\n\n*โข ${await tr("Tiempo")}:* ${(timeout2 / 1000)}s\n*โข ${await tr("Bono")}:* +${poin} XP`,
+ contextInfo: {
+ forwardingScore: 9999999,
+ isForwarded: true,
+ externalAdReply: {
+ showAdAttribution: true,
+ containsAutoReply: true,
+ body: `โข ๐๐๐๐๐๐ โข`,
+ previewType: "PHOTO",
+ thumbnail: imagen1,
+ sourceUrl: md
+ }
+ }
+ }, { quoted: m, ephemeralExpiration: 24 * 60 * 100, disappearingMessagesInChat: 24 * 60 * 100 });
+ }
+
+let msgTime = await tr("Se acabรณ el tiempo!\n*Respuesta:*")
+ let enviado = caption;
+ juegos[id] = {
+ tipo,
+ pregunta,
+ caption: enviado,
+ puntos: poin,
+ timeout: setTimeout(() => {
+ if (juegos[id]) {
+ conn.reply(m.chat, `โณ ${msgTime} ${pregunta.response}`, enviado);
+ delete juegos[id];
+ }
+ }, tipo === "trivia" ? timeout2 : timeout)
+ };
+ } catch (e) {
+ console.error(e);
+ }
+};
+
+handler.before = async (m) => {
+ let id = m.chat;
+ if (!juegos[id] || !m.quoted || !m.quoted.fromMe || !m.quoted.id) return;
+ let juego = juegos[id];
+ if (m.quoted.id !== juego.caption.key.id) return;
+
+ let respuestaCorrecta = juego.pregunta.response.toLowerCase().trim();
+ let respuestaUsuario = m.text.toLowerCase().trim();
+ if (respuestaUsuario === respuestaCorrecta) {
+ global.db.data.users[m.sender].exp += juego.puntos;
+ m.react("โ
");
+ m.reply(`โ
${await tr("*ยกCorrecto!*\nGanaste")} +${juego.puntos} XP`);
+ clearTimeout(juego.timeout);
+ delete juegos[id];
+ } else if (similarity(respuestaUsuario, respuestaCorrecta) >= threshold) {
+ m.reply(await tr(`๐ฅ *Casi!* La respuesta es muy parecida.`));
+ } else {
+ m.react("โ");
+ m.reply(await tr(`โ *Incorrecto!* Intenta de nuevo.`));
+ }
+};
+
+handler.help = ['acertijo', 'pelicula', 'trivia'];
+handler.tags = ['game'];
+handler.command = /^(acertijo|acert|adivinanza|tekateki|advpe|adv|peliculas|pelicula|trivia|triviador)$/i;
+handler.register = true;
+
+export default handler;
+
+async function perplexityIA(prompt, syms1) {
+ try {
+ let response = await perplexity.chat([
+ { role: 'system', content: syms1 },
+ { role: 'user', content: prompt }
+ ], 'sonar-pro');
+ if (response.status) {
+ return response.result.response;
+ } else {
+ throw new Error(`Error en Perplexity: ${response.result.error}`);
+ }
+ } catch (error) {
+ console.error('โ Error en Perplexity:', error);
+ return null;
+ }
+ }
+
+async function fetchJson(url, options) {
+ try {
+options ? options : {};
+const res = await axios({method: 'GET', url: url, headers: {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36'}, ...options});
+return res.data;
+ } catch (err) {
+ return err;
+ }
+}
diff --git a/plugins/fun-ahorcado.js b/plugins/fun-ahorcado.js
new file mode 100644
index 000000000..ce282b33a
--- /dev/null
+++ b/plugins/fun-ahorcado.js
@@ -0,0 +1,99 @@
+const palabras = ["gato", "perro", "pรกjaro", "elefante", "tigre", "ballena", "mariposa", "tortuga", "conejo", "rana", "pulpo", "ardilla", "jirafa", "cocodrilo", "pingรผino", "delfรญn", "serpiente", "hรกmster", "mosquito", "abeja", "Porno", "negro", "television", "computadora", "botsito", "reggaeton", "economรญa", "electrรณnica", "facebook", "WhatsApp", "Instagram", "tiktok", "milanesa", "presidente", "bot", "pelรญculas",
+]
+
+const intentosMaximos = 6
+const gam = new Map()
+
+function elegirPalabraAleatoria() {
+return palabras[Math.floor(Math.random() * palabras.length)]
+}
+
+function ocultarPalabra(palabra, letrasAdivinadas) {
+let palabraOculta = "";
+for (const letra of palabra) {
+if (letrasAdivinadas.includes(letra)) {
+palabraOculta += letra + " ";
+} else {
+palabraOculta += "_ ";
+}}
+return palabraOculta.trim();
+}
+
+
+function mostrarAhorcado(intentos) {
+const dibujo = [
+" ____",
+" | |",
+intentos < 6 ? " | O" : " |",
+intentos < 5 ? " | /" : intentos < 4 ? " | / " : intentos < 3 ? " | / \\" : intentos < 2 ? " | / \\ " : " |",
+intentos < 2 ? "_|_" : " |",
+]
+return dibujo.slice(0, intentosMaximos - intentos).join("\n")
+}
+
+function juegoTerminado(sender, mensaje, palabra, letrasAdivinadas, intentos) {
+if (intentos === 0) {
+gam.delete(sender);
+return `โ ${msgGame}: ${palabra}\n\n${mostrarAhorcado(intentos)}`;
+} else if (!mensaje.includes("_")) {
+let expGanada = Math.floor(Math.random() * 300); //fรกciles
+if (palabra.length >= 8) {
+expGanada = Math.floor(Math.random() * 3500); //difรญciles
+}
+global.db.data.users[sender].exp += expGanada;
+gam.delete(sender);
+return `${msgGame} "${palabra}".\n\n*${msgGame3}* ${expGanada} Exp.`;
+} else {
+return `${mostrarAhorcado(intentos)}\n\n${mensaje}`;
+}}
+
+let handler = async (m, { conn }) => {
+let msgGame = await tr("ยกPerdiste! La palabra correcta era")
+let msgGame2 = await tr("ยกQue pro Ganaste ๐ฅณ! Adivinaste la palabra")
+let msgGame3 = await tr("Has ganado:")
+
+let users = global.db.data.users[m.sender]
+if (gam.has(m.sender)) {
+return conn.reply(m.chat, await tr("Ya tienes un juego en curso. ยกTermina ese primero!"), m)
+}
+let palabra = elegirPalabraAleatoria()
+let letrasAdivinadas = []
+let intentos = intentosMaximos
+let mensaje = ocultarPalabra(palabra, letrasAdivinadas)
+gam.set(m.sender, { palabra, letrasAdivinadas, intentos })
+let text = `${await tr("ยกAdivina la palabra:")}\n\n${mensaje}\n\n${await tr("Intentos restantes")}: ${intentos}`
+conn.reply(m.chat, text, m)
+}
+
+handler.before = async (m, { conn }) => {
+
+let users = global.db.data.users[m.sender]
+let juego = gam.get(m.sender)
+if (!juego) return
+let { palabra, letrasAdivinadas, intentos } = juego
+if (m.text.length === 1 && m.text.match(/[a-zA-Z]/)) {
+let letra = m.text.toLowerCase()
+if (!letrasAdivinadas.includes(letra)) {
+letrasAdivinadas.push(letra)
+if (!palabra.includes(letra)) {
+intentos--
+}}
+let mensaje = ocultarPalabra(palabra, letrasAdivinadas)
+let respuesta = juegoTerminado(m.sender, mensaje, palabra, letrasAdivinadas, intentos)
+if (respuesta.includes("ยกPerdiste!") || respuesta.includes("ยกGanaste!")) {
+conn.reply(m.chat, respuesta, m)
+} else {
+gam.set(m.sender, { palabra, letrasAdivinadas, intentos })
+conn.reply(m.chat, respuesta + `\n\n${await tr("Intentos restantes")}: ${intentos}`, m)
+}} else {
+let mensaje = ocultarPalabra(palabra, letrasAdivinadas);
+let respuesta = juegoTerminado(m.sender, mensaje, palabra, letrasAdivinadas, intentos)
+conn.reply(m.chat, respuesta, m)
+gam.delete(m.sender)
+}}
+handler.help = ['ahorcado']
+handler.tags = ['game']
+handler.command = ['ahorcado']
+handler.register = true
+export default handler
+
diff --git a/plugins/fun-amigo-random.js b/plugins/fun-amigo-random.js
deleted file mode 100644
index 12f95ffe6..000000000
--- a/plugins/fun-amigo-random.js
+++ /dev/null
@@ -1,15 +0,0 @@
-let toM = a => '@' + a.split('@')[0]
-function handler(m, { groupMetadata }) {
-let ps = groupMetadata.participants.map(v => v.id)
-let a = ps.getRandom()
-let b
-do b = ps.getRandom()
-while (b === a)
-m.reply(`*๐ฐ Vamos a hacer algunas amistades ๐ฐ*\n\n*Oye ${toM(a)} hablale al privado a ${toM(b)} para que jueguen y se haga una amistad ๐*\n\n*Las mejores amistades empiezan con un juego ๐*`, null, {
-mentions: [a, b]
-})}
-handler.help = ['amistad']
-handler.tags = ['main', 'fun']
-handler.command = ['amigorandom','amistad']
-handler.group = true
-export default handler
\ No newline at end of file
diff --git a/plugins/fun-calcular_juegos.js b/plugins/fun-calcular_juegos.js
deleted file mode 100644
index b4bf03615..000000000
--- a/plugins/fun-calcular_juegos.js
+++ /dev/null
@@ -1,193 +0,0 @@
-let handler = async (m, { conn, command, text, usedPrefix }) => {
-if (!text) throw `๐ค ๐๐ฉ๐๐ฆ๐ช๐๐ฉ๐๐จ ๐๐ก ๐ฅ๐๐ง๐จ๐ค๐ฃ๐ @๐๐ผ๐ ๐ค ๐๐จ๐๐ง๐๐๐ ๐๐ก ๐ฃ๐ค๐ข๐๐ง๐`
-
-if (command == 'gay2') {
-/* let juego = `_*${text.toUpperCase()}* *ES/IS* *${(1000).getRandom()}%* *GAY*_ ๐ณ๏ธโ๐`.trim()
-
-conn.sendHydrated(m.chat, juego, wm, null, md, '๐ป๐๐ ๐ณ๐๐๐๐ฉ๐๐-๐ด๐ซ', null, null, [
-['๐๐๐ฃ๐ช ๐
๐ช๐๐๐ค๐จ ๐ก', '#juegosmenu'],
-['๐๐ฉ๐ง๐ ๐ซ๐๐ฏ ๐คญ', `${usedPrefix + command} ${text.toUpperCase()}`],
-['๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ โ๏ธ', '/menu']
-], m, m.mentionedJid ? {
-mentions: m.mentionedJid
-} : {})}
-*/
- conn.reply(m.chat, `_*${text.toUpperCase()}* *ES ๐ณ๏ธโ๐* *${(500).getRandom()}%* *GAY*_`.trim(), m, m.mentionedJid ? { mentions: m.mentionedJid
- } : {})}
-
- // ------------------------------------------------------------------------------------------------------------------------------------------------
-
-if (command == 'lesbiana') {
-/* let juego = `_*${text.toUpperCase()}* *ES ๐ณ๏ธโ๐* *${(500).getRandom()}%* *${command.replace('how', '').toUpperCase()}*_๐ณ๏ธโ๐`.trim()
-
-conn.sendHydrated(m.chat, juego, wm, null, md, '๐ป๐๐ ๐ณ๐๐๐๐ฉ๐๐-๐ด๐ซ', null, null, [
-['๐๐๐ฃ๐ช ๐
๐ช๐๐๐ค ๐ก', '#juegosmenu'],
-['๐๐ฉ๐ง๐ ๐ซ๐๐ฏ ๐คญ', `${usedPrefix + command} ${text.toUpperCase()}`],
-['๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ โ๏ธ', '/menu']
-], m, m.mentionedJid ? {
-mentions: m.mentionedJid
-} : {})}
-*/
- conn.reply(m.chat, `_*${text.toUpperCase()}* *ES ๐ณ๏ธโ๐* *${(500).getRandom()}%* *${command.replace('how', '').toUpperCase()}*_`.trim(), m, m.mentionedJid ? {
- mentions: m.mentionedJid
- } : {})}
-
-// ------------------------------------------------------------------------------------------------------------------------------------------------
-
-if (command == 'pajero') {
-/* let juego = `_*${text.toUpperCase()}* *ES/IS* *${(1000).getRandom()}%* *${command.replace('how', '').toUpperCase()}*_ ๐๐ฆ`.trim()
-conn.sendHydrated(m.chat, juego, wm, null, md, '๐ป๐๐ ๐ณ๐๐๐๐ฉ๐๐-๐ด๐ซ', null, null, [
-['๐๐๐ฃ๐ช ๐
๐ช๐๐๐ค๐จ ๐ก', '#juegosmenu'],
-['๐๐ฉ๐ง๐ ๐ซ๐๐ฏ ๐คญ', `${usedPrefix + command} ${text.toUpperCase()}`],
-['๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ โ๏ธ', '/menu']
-], m, m.mentionedJid ? {
-mentions: m.mentionedJid
-} : {})}
-*/
- conn.reply(m.chat, `_*${text.toUpperCase()}* *ES ๐๐ฆ* *${(500).getRandom()}%* *${command.replace('how', '').toUpperCase()}*_`.trim(), m, m.mentionedJid ? {
- mentions: m.mentionedJid
- } : {})}
-
-// ------------------------------------------------------------------------------------------------------------------------------------------------
-
-if (command == 'pajera') {
-/* let juego = `_*${text.toUpperCase()}* *ES/IS* *${(1000).getRandom()}%* *${command.replace('how', '').toUpperCase()}*_ ๐๐ฆ`.trim()
-conn.sendHydrated(m.chat, juego, wm, null, md, '๐ป๐๐ ๐ณ๐๐๐๐ฉ๐๐-๐ด๐ซ', null, null, [
-['๐๐๐ฃ๐ช ๐
๐ช๐๐๐ค๐จ ๐ก', '#juegosmenu'],
-['๐๐ฉ๐ง๐ ๐ซ๐๐ฏ ๐คญ', `${usedPrefix + command} ${text.toUpperCase()}`],
-['๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ โ๏ธ', '/menu']
-], m, m.mentionedJid ? {
-mentions: m.mentionedJid
-} : {})}
-*/
- conn.reply(m.chat, `_*${text.toUpperCase()}* *ES ๐๐ฆ* *${(500).getRandom()}%* *${command.replace('how', '').toUpperCase()}*_`.trim(), m, m.mentionedJid ? {
- mentions: m.mentionedJid
- } : {})}
-
-// ------------------------------------------------------------------------------------------------------------------------------------------------
-
-if (command == 'puto') {
-/* let juego = `_*${text.toUpperCase()}* *ES/IS* *${(1000).getRandom()}%* *${command.replace('how', '').toUpperCase()},* *MรS INFORMACIรN A SU PRIVADO ๐ฅ๐ฅต XD*_`.trim()
-conn.sendHydrated(m.chat, juego, wm, null, md, '๐ป๐๐ ๐ณ๐๐๐๐ฉ๐๐-๐ด๐ซ', null, null, [
-['๐๐๐ฃ๐ช ๐
๐ช๐๐๐ค๐จ ๐ก', '#juegosmenu'],
-['๐๐ฉ๐ง๐ ๐ซ๐๐ฏ ๐คญ', `${usedPrefix + command} ${text.toUpperCase()}`],
-['๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ โ๏ธ', '/menu']
-], m, m.mentionedJid ? {
-mentions: m.mentionedJid
-} : {})}
-*/
- conn.reply(m.chat, `_*${text.toUpperCase()}* *ES* *${(500).getRandom()}%* *${command.replace('how', '').toUpperCase()},* *MรS INFORMACIรN A SU PRIVADO ๐ฅ๐ฅต XD*_`.trim(), m, m.mentionedJid ? {
- mentions: m.mentionedJid
- } : {})}
-
-// ------------------------------------------------------------------------------------------------------------------------------------------------
-
-if (command == 'puta') {
-/* let juego = `_*${text.toUpperCase()}* *ES/IS* *${(1000).getRandom()}%* *${command.replace('how', '').toUpperCase()},* *MรS INFORMACIรN A SU PRIVADO ๐ฅ๐ฅต XD*_`.trim()
-conn.sendHydrated(m.chat, juego, wm, null, md, '๐ป๐๐ ๐ณ๐๐๐๐ฉ๐๐-๐ด๐ซ', null, null, [
-['๐๐๐ฃ๐ช ๐
๐ช๐๐๐ค๐จ ๐ก', '#juegosmenu'],
-['๐๐ฉ๐ง๐ ๐ซ๐๐ฏ ๐คญ', `${usedPrefix + command} ${text.toUpperCase()}`],
-['๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ โ๏ธ', '/menu']
-], m, m.mentionedJid ? {
-mentions: m.mentionedJid
-} : {})}
-*/
- conn.reply(m.chat, `_*${text.toUpperCase()}* *ES* *${(500).getRandom()}%* *${command.replace('how', '').toUpperCase()},* *MรS INFORMACIรN A SU PRIVADO ๐ฅ๐ฅต XD*_`.trim(), m, m.mentionedJid ? {
- mentions: m.mentionedJid
- } : {})}
-
- // ------------------------------------------------------------------------------------------------------------------------------------------------
-
-if (command == 'manco') {
-/* let juego = `_*${text.toUpperCase()}* *ES/IS* *${(1000).getRandom()}%* *${command.replace('how', '').toUpperCase()} ๐ฉ*_`.trim()
-conn.sendHydrated(m.chat, juego, wm, null, md, '๐ป๐๐ ๐ณ๐๐๐๐ฉ๐๐-๐ด๐ซ', null, null, [
-['๐๐๐ฃ๐ช ๐
๐ช๐๐๐ค๐จ ๐ก', '#juegosmenu'],
-['๐๐ฉ๐ง๐ ๐ซ๐๐ฏ ๐คญ', `${usedPrefix + command} ${text.toUpperCase()}`],
-['๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ โ๏ธ', '/menu']
-], m, m.mentionedJid ? {
-mentions: m.mentionedJid
-} : {})}
-*/
- conn.reply(m.chat, `_*${text.toUpperCase()}* *ES* *${(500).getRandom()}%* *${command.replace('how', '').toUpperCase()} ๐ฉ*_`.trim(), m, m.mentionedJid ? {
- mentions: m.mentionedJid
- } : {})}
-
-// ------------------------------------------------------------------------------------------------------------------------------------------------
-
-if (command == 'manca') {
-/* let juego = `_*${text.toUpperCase()}* *ES* *${(1000).getRandom()}%* *${command.replace('how', '').toUpperCase()} ๐ฉ*_`.trim()
-conn.sendHydrated(m.chat, juego, wm, null, md, '๐ป๐๐ ๐ณ๐๐๐๐ฉ๐๐-๐ด๐ซ', null, null, [
-['๐๐๐ฃ๐ช ๐
๐ช๐๐๐ค๐จ ๐ก', '#juegosmenu'],
-['๐๐ฉ๐ง๐ ๐ซ๐๐ฏ ๐คญ', `${usedPrefix + command} ${text.toUpperCase()}`],
-['๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ โ๏ธ', '/menu']
-], m, m.mentionedJid ? {
-mentions: m.mentionedJid
-} : {})}
-*/
- conn.reply(m.chat, `_*${text.toUpperCase()}* *ES* *${(500).getRandom()}%* *${command.replace('how', '').toUpperCase()} ๐ฉ*_`.trim(), m, m.mentionedJid ? {
- mentions: m.mentionedJid
- } : {})}
-
-// ------------------------------------------------------------------------------------------------------------------------------------------------
-
-if (command == 'rata') {
-/* let juego = `_*${text.toUpperCase()}* *ES* *${(1000).getRandom()}%* *${command.replace('how', '').toUpperCase()} ๐ COME QUESO ๐ง*_`.trim()
-conn.sendHydrated(m.chat, juego, wm, null, md, '๐ป๐๐ ๐ณ๐๐๐๐ฉ๐๐-๐ด๐ซ', null, null, [
-['๐๐๐ฃ๐ช ๐
๐ช๐๐๐ค๐จ ๐ก', '#juegosmenu'],
-['๐๐ฉ๐ง๐ ๐ซ๐๐ฏ ๐คญ', `${usedPrefix + command} ${text.toUpperCase()}`],
-['๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ โ๏ธ', '/menu']
-], m, m.mentionedJid ? {
-mentions: m.mentionedJid
-} : {})}
-*/
- conn.reply(m.chat, `_*${text.toUpperCase()}* *ES* *${(500).getRandom()}%* *${command.replace('how', '').toUpperCase()} ๐ COME QUESO ๐ง*_`.trim(), m, m.mentionedJid ? {
- mentions: m.mentionedJid
- } : {})}
-
-// ------------------------------------------------------------------------------------------------------------------------------------------------
-
-if (command == 'prostituto') {
-/* let juego = `_*${text.toUpperCase()}* *ES* *${(1000).getRandom()}%* *${command.replace('how', '').toUpperCase()} ๐ซฆ๐
, QUIEN QUIERE DE SUS SERVICIOS? XD*_`.trim()
-conn.sendHydrated(m.chat, juego, wm, null, md, '๐ป๐๐ ๐ณ๐๐๐๐ฉ๐๐-๐ด๐ซ', null, null, [
-['๐๐๐ฃ๐ช ๐
๐ช๐๐๐ค๐จ ๐ก', '#juegosmenu'],
-['๐๐ฉ๐ง๐ ๐ซ๐๐ฏ ๐คญ', `${usedPrefix + command} ${text.toUpperCase()}`],
-['๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ โ๏ธ', '/menu']
-], m, m.mentionedJid ? {
-mentions: m.mentionedJid
-} : {})}
-*/
- conn.reply(m.chat, `_*${text.toUpperCase()}* *ES* *${(500).getRandom()}%* *${command.replace('how', '').toUpperCase()} ๐ซฆ๐
, QUIEN QUIERE DE SUS SERVICIOS? XD*_`.trim(), m, m.mentionedJid ? {
- mentions: m.mentionedJid
- } : {})}
-
-// ------------------------------------------------------------------------------------------------------------------------------------------------
-
-if (command == 'prostituta') {
-/* let juego = `_*${text.toUpperCase()}* *ES* *${(1000).getRandom()}%* *${command.replace('how', '').toUpperCase()} ๐ซฆ๐
, QUIEN QUIERE DE SUS SERVICIOS? XD*_`.trim()
-conn.sendHydrated(m.chat, juego, wm, null, md, '๐ป๐๐ ๐ณ๐๐๐๐ฉ๐๐-๐ด๐ซ', null, null, [
-['๐๐๐ฃ๐ช ๐
๐ช๐๐๐ค๐จ ๐ก', '#juegosmenu'],
-['๐๐ฉ๐ง๐ ๐ซ๐๐ฏ ๐คญ', `${usedPrefix + command} ${text.toUpperCase()}`],
-['๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ โ๏ธ', '/menu']
-], m, m.mentionedJid ? {
-mentions: m.mentionedJid
-} : {})}
-*/
- conn.reply(m.chat, `_*${text.toUpperCase()}* *ES* *${(500).getRandom()}%* *${command.replace('how', '').toUpperCase()} ๐ซฆ๐
, QUIEN QUIERE DE SUS SERVICIOS? XD*_`.trim(), m, m.mentionedJid ? {
- mentions: m.mentionedJid
- } : {})}
-
- // ------------------------------------------------------------------------------------------------------------------------------------------------
-if (command == 'love') {
-conn.reply(m.chat, ` *โค๏ธโค๏ธ MEDIDOR DE AMOR โค๏ธโค๏ธ*
-*El amor de ${text} por ti es de* *${Math.floor(Math.random() * 100)}%* *de un 100%*
-*Deberias pedirle que sea tu novia/o ?*`.trim(), m, m.mentionedJid ? {
- mentions: m.mentionedJid
- } : {})}
-await delay(5000)
-}
-handler.help = ['love', 'gay2', 'lesbiana', 'pajero', 'pajera', 'puto', 'puta', 'manco', 'manca', 'rata', 'prostituta', 'prostituto'].map(v => v + ' @tag | nombre')
-handler.tags = ['calculator']
-handler.command = /^love|gay2|lesbiana|pajero|pajera|puto|puta|manco|manca|rata|prostituta|prostituto/i
-handler.exp = 100
-export default handler
-const delay = time => new Promise(res => setTimeout(res, time))
\ No newline at end of file
diff --git a/plugins/fun-chiste.js b/plugins/fun-chiste.js
deleted file mode 100644
index 99dcba6d8..000000000
--- a/plugins/fun-chiste.js
+++ /dev/null
@@ -1,21 +0,0 @@
-// By https://github.com/elrebelde21/The-LoliBot-MD
-
-let handler = async (m, { conn, text}) => {
-
-m.reply(`*โโโโโโโโโโโโโโ*\n *๐น ${pickRandom(global.chiste)} ๐น*\n*โโโโโโโโโโโโโโ*`)
-}
-handler.tags = ['humor']
-handler.command = ['chiste']
-export default handler
-
-function pickRandom(list) {
-return list[Math.floor(list.length * Math.random())]}
-
-global.chiste = ["ยฟCuรกl es el รบltimo animal que subiรณ al arca de Noรฉ? El del-fin..", "ยฟCรณmo se dice paรฑuelo en japonรฉs? Saka-moko", "ยฟCรณmo se dice disparo en รกrabe? Ahรญ-va-la-bala..", "ยฟQuรฉ le dice un gusano a otro gusano? Voy a dar una vuelta a la manzana.", "Un gato empieza a ladrar en el tejado de una casa. Otro gato, sorprendido, le dice: Estรกs loco gato, ยฟpor quรฉ ladras en vez de maullar? El gatito le responde: ยฟA caso no puedo aprender otro idioma?", "El doctor le dice al paciente: respire profundo que lo voy a auscultar. El paciente le responde: doctor, ยฟde quiรฉn me va a ocultar si no le debo a nadie?\nSale el doctor despuรฉs de un parto y el padre de la criatura le pregunta: ยฟDoctor cรณmo saliรณ todo? El doctor le dice: todo saliรณ bien, pero tuvimos que colocarle oxรญgeno al bebรฉ. El padre, horrorizado, le dice: pero doctor, nosotros querรญamos ponerle Gabriel..", "Un pez le pregunta a otro pez: ยฟquรฉ hace tu mamรก? Este le contesta: Nada, ยฟy la tuya quรฉ hace? Nada tambiรฉn.", "ยฟCuรกl es el colmo de Aladdรญn? Tener mal genio", "El profesor le dice al estudiante despuรฉs de haberle corregido la tarea: Tu trabajo me ha conmovido. El estudiante, sorprendido, le pregunta: ยฟY eso por quรฉ profesor? El profesor con cara de burla le dice: Porque me dio mucha pena.", "Le dice el niรฑo a la madre: Mamรก, no quiero jugar mรกs con Pedrito. La madre le pregunta al niรฑo: ยฟPor quรฉ no quieres jugar mรกs con รฉl? Porque cuando jugamos a los tacos de madera y le pego con uno en la cabeza, de repente se pone a llorar.", "A Juanito le dice la maestra: Juanito, ยฟquรฉ harรญas si te estuvieses ahogando en la piscina? Juanito le responde: Me pondrรญa a llorar mucho para desahogarme.", "Hijo, me veo gorda, fea y vieja. ยฟQuรฉ tengo hijo, quรฉ tengo? Mamรก, tienes toda la razรณn.", "ยฟCรณmo se dice pelo sucio en chino? Chin cham pu.", "Habรญa una vez un niรฑo tan, tan, tan despistado que... ยกda igual, me he olvidado del chiste!", "Una amiga le dice a otra amiga: ยฟQuรฉ tal va la vida de casada? Pues no me puedo quejar, dice ella. ยฟO sea que va muy bien, no? No, no me puedo quejar porque mi marido estรก aquรญ al lado.", "ยฟPor quรฉ las focas miran siempre hacia arriba? ยกPorque ahรญ estรกn los focos!", "Camarero, ese filete tiene muchos nervios. Pues normal, es la primera vez que se lo comen.", "ยฟCรณmo se llama el primo de Bruce Lee? Broco Lee.", "Una madre le dice a su hijo: Jaimito, me ha dicho un pajarito que te drogas. La que te drogas eres tรบ, que hablas con pajaritos."]
-
-
-
-
-
-
-
diff --git a/plugins/descargas-consejos.js b/plugins/fun-consejos.js
similarity index 82%
rename from plugins/descargas-consejos.js
rename to plugins/fun-consejos.js
index 30d4d3a54..304d81a2c 100644
--- a/plugins/descargas-consejos.js
+++ b/plugins/fun-consejos.js
@@ -3,20 +3,20 @@ import fetch from 'node-fetch'
import axios from "axios"
let handler = async (m, { conn, usedPrefix, command }) => {
-let frep = { contextInfo: { externalAdReply: {title: wm, body: author, sourceUrl: redesMenu.getRandom(), thumbnail: await(await fetch(gataMenu.getRandom())).buffer() }}}
-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" }
try {
if (command == 'consejo' || command == 'advice') {
let img = 'https://img.freepik.com/vector-premium/caracter-gato-ilustracion-hoja-trebol_75474-1263.jpg'
let list = global.motivation
let contenido = list[Math.floor(Math.random() * list.length)]
-let result = await translate(`${contenido}`, { to: lenguajeGB.lenguaje(), autoCorrect: true })
-let texto = `*โญโโใปโ๏ธใปโโโโใปโ๏ธใปโโโฌฃ*
+let result = await translate(`${contenido}`, { to: "es", autoCorrect: true })
+let texto = `
+*โญโโใปโ๏ธใปโโโโใปโ๏ธใปโโโฌฃ*
-*แฆ _${result.text}_*
+*แฆ _${await tr(result.text)}_*
*โฐโโใปโ๏ธใปโโโโใปโ๏ธใปโโโฌฃ*`
-conn.sendFile(m.chat, img, 'error.png', texto.trim(), fkontak)}
+//conn.sendButton(m.chat, texto.trim(), botname, img, [['โจ ๐๐๐๐๐๐๐๐๐ โจ', `/${command}`]], null, null, m)}
+conn.sendFile(m.chat, img, 'error.jpg', texto.trim(), fkontak, false, fake)}
//await conn.sendButton(m.chat, texto.trim(), wm, img, [[lenguajeGB.smsConj(), `${usedPrefix + command}`], [lenguajeGB.smsConMenu(), `${usedPrefix}menu`]], m, frep)}
if (command == 'frase2' || command == 'phrase2') {
@@ -24,21 +24,27 @@ let img = 'https://superpet.pe/blog/wp-content/uploads/2022/05/nombres-para-gato
let list = (await axios.get(`https://raw.githubusercontent.com/GataNina-Li/GataBot-MD/master/src/JSON/frase2.json`)).data
let contenido = await list[Math.floor(list.length * Math.random())]
let frase = contenido.motivasi
-let frase2 = await translate(`${frase}`, { to: lenguajeGB.lenguaje(), autoCorrect: true })
-let texto = `*โญโโใปโ๏ธใปโโโโใปโ๏ธใปโโโฌฃ*
+let frase2 = await translate(`${frase}`, { to: "es", autoCorrect: true })
+let texto = `
+*โญโโใปโ๏ธใปโโโโใปโ๏ธใปโโโฌฃ*
-*แฆ ${frase2.text}*
+*แฆ ${await tr(frase2.text)}*
*โฐโโใปโ๏ธใปโโโโใปโ๏ธใปโโโฌฃ*`
-conn.sendFile(m.chat, img, 'error.png', texto.trim(), m, fkontak)}
+conn.sendFile(m.chat, img, 'error.jpg', texto.trim(), fkontak, false, fake)}
//await conn.sendButton(m.chat, texto.trim(), wm, img, [[lenguajeGB.smsFras(), `${usedPrefix + command}`], [lenguajeGB.smsConMenu(), `${usedPrefix}menu`]], m, frep)}
} catch (e) {
-await m.reply(lenguajeGB['smsMalError3']() + '\n*' + lenguajeGB.smsMensError1() + '*\n*' + usedPrefix + `${lenguajeGB.lenguaje() == 'es' ? 'reporte' : 'report'}` + '* ' + `${lenguajeGB.smsMensError2()} ` + usedPrefix + command)
-console.log(`โโ ${lenguajeGB['smsMensError2']()} ${usedPrefix + command} โโ`)
-console.log(e)}
-}
+await m.react(`โ`)
+m.reply(`\`\`\`โ ๏ธ ${await tr("OCURRIO UN ERROR")} โ ๏ธ\`\`\`\n\n> *${await tr("Reporta el siguiente error a mi creador con el comando:")}* #report\n\n>>> ${e} <<<< `)
+console.log(e)
+handler.money = false
+}}
+handler.help = ['consejo']
+handler.tags = ['game']
handler.command = ['consejo', 'advice', 'frase2', 'phrase2']
handler.register = true
+handler.money = 95
+handler.level = 2
export default handler
global.motivation = [
diff --git a/plugins/fun-delttt.js b/plugins/fun-delttt.js
deleted file mode 100644
index 9c84f19e8..000000000
--- a/plugins/fun-delttt.js
+++ /dev/null
@@ -1,28 +0,0 @@
-//import MessageType from '@adiwajshing/baileys'
-let MessageType = (await import(global.baileys)).default
-let handler = async (m, { conn, usedPrefix, command }) => {
-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"
-}
-
-let room = Object.values(conn.game).find(room => room.id.startsWith('tictactoe') && [room.game.playerX, room.game.playerO].includes(m.sender))
-if (room == undefined) return await conn.reply(m.chat, `${lenguajeGB['smsAvisoFG']()}๐๐ ๐๐๐๐ผ๐ ๐๐ ๐๐๐๐๐๐๐ผ ๐๐ผ๐๐๐๐ฟ๐ผ ๐๐ ๐๐ ๐
๐๐๐๐ ๐๐๐๐ ๐๐ ๐๐ผ๐๐ผ\n\n๐ซ ๐๐๐๐พ๐๐ผ๐ ๐๐ผ๐๐๐๐ฟ๐ผ (${usedPrefix}ttt sala nueva)`, fkontak, m)
-//conn.sendButton(m.chat, `${lenguajeGB['smsAvisoFG']()}๐๐ ๐๐๐๐ผ๐ ๐๐ ๐๐๐๐๐๐๐ผ ๐๐ผ๐๐๐๐ฟ๐ผ ๐๐ ๐๐ ๐
๐๐๐๐ ๐๐๐๐ ๐๐ ๐๐ผ๐๐ผ\n\n๐๐๐ ๐ผ๐๐ ๐๐๐ ๐๐ ๐ผ๐๐ ๐๐ผ๐๐ ๐ ๐๐ผ๐๐ ๐๐๐๐๐ ๐๐ ๐๐๐๐๐๐๐`, wm, null, [['๐ซ ๐๐๐๐พ๐๐ผ๐ ๐๐ผ๐๐๐๐ฟ๐ผ | ๐๐๐ผ๐๐ ๐๐ผ๐๐', `${usedPrefix}ttt sala nueva`]], fkontak, m)
-delete conn.game[room.id]
-
-await conn.reply(m.chat, `${lenguajeGB['smsAvisoEG']()}๐๐ผ ๐๐ผ๐๐ผ ๐๐๐๐ ๐๐ ๐๐ผ๐๐ผ ๐๐๐ ๐๐๐๐๐๐๐ผ๐ฟ๐ผ`, fkontak, m)}
-//await conn.sendButton(m.chat, `${lenguajeGB['smsAvisoEG']()}๐๐ผ ๐๐ผ๐๐ผ ๐๐๐๐ ๐๐ ๐๐ผ๐๐ผ ๐๐๐ ๐๐๐๐๐๐๐ผ๐ฟ๐ผ\n\n๐๐๐ ๐๐๐๐๐ ๐๐ ๐ผ ๐๐๐ ๐๐๐๐ ๐๐ผ๐ ๐๐๐๐๐๐๐ผ๐๐๐ฟ`, wm, null, [['๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ | ๐ฝ๐๐๐ ๐ฉ๐ค ๐๐๐ฃ๐ช โ๏ธ', '/menu'] ], fkontak, m)}
-handler.command = /^(delttt|deltt|delxo|deltictactoe)$/i
-handler.fail = null
-export default handler
diff --git a/plugins/fun-doxeo_falso.js b/plugins/fun-doxeo_falso.js
deleted file mode 100644
index 583740016..000000000
--- a/plugins/fun-doxeo_falso.js
+++ /dev/null
@@ -1,116 +0,0 @@
-import { performance } from 'perf_hooks'
-let handler = async (m, { conn, text }) => {
-let user = global.db.data.users[m.sender]
-let time = user.prue + 600000 //10 min
-if (new Date - user.prue < 600000) return await conn.reply(m.chat, `๐ HEY ALTO ESPERA UNOS MINUTOS PARA USAR OTRO COMANDO NO HAGA SPAM`, m)
-let start = `*๐ฑ ยกยก๐๐ข๐ฅ๐๐ฏ๐๐ฃ๐๐ค ๐๐ค๐ญ๐ญ๐๐ค!! ๐ฑ*`
-let boost = `*${pickRandom(['0','1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20'])}%*`
-let boost2 = `*${pickRandom(['21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','36','37','38','39','40'])}%*`
-let boost3 = `*${pickRandom(['41','42','43','44','45','46','47','48','49','50','51','52','53','54','55','56','57','58','59','60'])}%*`
-let boost4 = `*${pickRandom(['61','62','63','64','65','66','67','68','69','70','71','72','73','74','75','76','77','78','79','80'])}%*`
-let boost5 = `*${pickRandom(['81','82','83','84','85','86','87','88','89','90','91','92','93','94','95','96','97','98','99','100'])}%*`
-await delay(1 * 1000)
-const { key } = await conn.sendMessage(m.chat, {text: start}, {quoted: m});
-await delay(1 * 1000)
-await conn.sendMessage(m.chat, {text: boost, edit: key});
-await delay(1 * 1000)
-await conn.sendMessage(m.chat, {text: boost3, edit: key});
-await delay(1 * 1000)
-await conn.sendMessage(m.chat, {text: boost5, edit: key});
-
-
-//DATOS FALSOS | FALSE DATA
-let ip = `*${pickRandom(['233.34.229.59','245.168.75.53','59.49.9.213','203.23.8.207','110.189.95.186','17.151.187.183','30.209.37.141','67.52.216.173','161.107.62.117','89.168.137.231','48.247.249.251','135.158.198.206','170.57.189.55','252.0.180.120','254.180.198.115','85.188.238.220','196.88.207.113','57.84.238.99','50.132.72.227','92.28.211.234','33.211.234.00','122.238.1.2434','873.282.11.89','123.009.011.774','333.228.201.236'])}%*`
-let n = `*${pickRandom(['56 488543','5885 43','7533 443','662 3325','99684 4','968 483 4','8826 467241','859 47843','985 473 23','965 54 333332','67574 383 22','754 38943 3','51 362 33','8585 44','068 6554','685 584 3','588 444 3','583 7374 3','43 74625 66','66 76625','302 72','7 6654623','333.228.201.236'])}%*`
-let w = `*${pickRandom(['12.4893','54.643','84.95.0099','48.3324','9488.040','848.0409','237.0943','483.304.3','473.94.2','4.94','48.432','37.04932','47.03821','4763.4902','489.003','48.902','4847.940','473.04093','476.09940','49.3094.40','594.9594','585.059.4','584.069.5','5758.48.4','574.39.3','5884.5996.44','5884.59.4','474.593.3'])}%*`
-let ss = `*${pickRandom(['98(3220)399-64-05','599(40)854-26-49','3(9602)756-72-17','838(4290)443-19-237','23(0213)246-67-86','67(8940)055-49-57','1(6355)928-65-15','74(58)941-65-63','90(147)856-11-37','8(0832)062-62-37','139(56)418-20-27','25(347)781-04-44','1(508)645-73-78','44(0814)714-82-93','25(75)925-50-83','483(82)281-43-06','5(469)868-66-59','882(383)603-36-83','1(776)169-86-54','33(146)818-82-17','2(14)530-90-02','70(0227)971-57-92','33(146)818-82-17','316(648)019-00-54','8(0812)345-01-38','2(1583)521-98-54','599(40)854-26-49','98(3220)399-64-05'])}%*`
-let ipv6 = `*${pickRandom(['a57e:68a7:4ffe:afa8:9300:380b:8c1d:61b3','fc23:ab56:aa52:1bcc:d642:a67f:1970:aca7','c922:f1cb:dbb7:2ed7:7133:c154:a607:6412','5da4:4e7b:f680:09fc:855d:bf1a:a103:01bd','14a1:ea3d:ee5f:9b45:5499:7b11:f0a9:bbb2','ead1:458c:d48d:203c:7a69:4201:d7e5:0456','d03a:f0a9:f6ec:d638:8dde:c27c:24d2:dd40','acc8:a4f4:a2d5:60b9:563b:0048:309b:bda8','af1b:8086:9a88:bda7:99c0:e582:d7f8:96d6','5638:bfe5:4183:a3a7:aa0e:0442:31e3:0d94','a9bc:2b9e:484f:4316:d9b5:a776:fd80:1d6e','0976:4d22:b6d9:95ed:cc1d:c19a:7c01:cc61','ec38:3aba:b516:3be3:b61a:84c4:63fa:df60','4b2a:c574:25c2:f1b8:420f:b19c:0b0d:6c7a','02eb:b422:17fd:3ad6:ee43:997b:26f8:9e4f','4e8b:3afb:9a42:89be:ca63:624f:9ebb:6d5e','1569:cee2:9288:808e:0f05:a7bb:9bf3:3fa9','8259:b8e8:63b3:2c42:f5e5:c8d2:90c8:898a','a39:9f52:2d01:6d03:5bcc:9739:28fd:7188','0cee:a95b:8d80:8579:1f84:9d5c:479e:f08a','22b1:88d0:ea3d:6333:9e7b:9a30:f09c:289d','87a7:0fb9:d885:3a4c:289c:8fd1:3bf9:ebd5','af13:7c57:9748:44b0:2cd6:2c4e:a2b6:e7f1','0a59:3cb4:68d4:f611:3fe3:13db:13e7:9f51','73eb:be73:e506:8b33:9729:cec0:5669:7a0c','a174:e936:647b:8530:6fff:94fd:6005:835b','fd5b:95d7:8b12:76c9:7337:cca5:d4e2:946b','8e8a:5be3:0f25:7bbb:0ae8:b415:7d93:e64c','9755:9fa8:74b0:e1e6:3eaf:58b8:0226:4bb6','e874:0722:1c29:ed0e:83b2:482c:26fd:9fde','d8c2:c567:a53d:6f04:22e3:0f4a:56f7:94f4','0bf4:ad79:aec6:c383:3132:e649:df02:a85f','4f87:f0dc:dfaa:746d:bf16:24fc:c3a6:034d','fe80::5dcd::ef69::fb22::d9888%12','33.211.234.00','122.238.1.2434','873.282.11.89','123.009.011.774','333.228.201.236'])}%*`
-let up = `*${pickRandom(['Disabled','Enabled','Active','Enabled','Enabled','Active 1','Enabled','Disabled','Enabled','Enabled','Active 2','Enabled','Enabled','Enabled','Disabled','Enabled --','Enabled','Enabled []','Enabled [--]','Active 4','Enabled 1','Enabled','Disabled','Enabled','Enabled','Enabled ..1','Enabled','Enabled','Enabled','Active 1-1','Enabled','Enabled','Enabled','Active 1-2','Enabled','Enabled','Active 1-4','Enabled','Enabled','Disabled','Enabled','Disabled','Enabled','Active 1--','Enabled','Enabled','Active 3--','Disabled','Disabled','Active 3-2','Disabled'])}%*`
-let mz = `*${pickRandom(['224.203.192.120','51.84.22.38','72.103.181.182','11.186.197.194','2.164.37.166','3.129.51.178','94.53.50.167','41.44.23.164','64.78.36.163','166.73.184.242','166.73.184.242','242.158.79.7','48.182.253.42','117.114.38.139','78.84.196.238','226.88.134.38','77.78.36.143','27.144.217.243','178.107.23.219','11.206.86.63','61.230.110.17','151.11.183.174','231.26.192.30','87.39.53.244','23.130.164.74','8.104.149.48','197.44.247.159','52.66.10.68','1.69.145.235','246.17.58.125','17.30.238.218','81.56.254.24','169.209.121.246','63.196.114.29','61.72.0.219','28.165.107.34','71.23.2.222','113.185.196.216','57.221.120.54','49.140.83.222','126.28.62.182','143.43.30.23','245.182.13.149','179.74.0.248','32.133.120.250','63.190.245.90','157.209.181.152','5.192.240.215','234.253.96.100','61.119.204.124','209.160.161.103'])}%*`
-/*let ip = `*${pickRandom(['','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','',''])}%*`
-let ip = `*${pickRandom(['','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','',''])}%*`
-let ip = `*${pickRandom(['','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','',''])}%*`
-let ip = `*${pickRandom(['','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','',''])}%*`
-let ip = `*${pickRandom(['','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','',''])}%*`
-let ip = `*${pickRandom(['','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','',''])}%*`
-let ip = `*${pickRandom(['','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','',''])}%*`
-let ip = `*${pickRandom(['','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','',''])}%*`
-let ip = `*${pickRandom(['','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','',''])}%*`
-let ip = `*${pickRandom(['','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','',''])}%*`
-let ip = `*${pickRandom(['','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','',''])}%*`
-let ip = `*${pickRandom(['','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','',''])}%*`
-let ip = `*${pickRandom(['','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','',''])}%*`
-let ip = `*${pickRandom(['','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','',''])}%*`
-*/
-
-
-
-let old = performance.now()
-let neww = performance.now()
-let speed = `${neww - old}`
-let doxeo = `*โ
๐ท๐๐๐๐๐๐ ๐๐๐๐๐๐๐
๐ ๐๐๐ ๐ฬ๐๐๐๐*\n\n*๐ป๐๐๐๐๐: ${speed} ๐บ๐๐๐๐๐
๐๐!*
-
-*๐น๐๐๐๐๐๐๐
๐๐:*
-
-*Nombre:* ${text}
-*Ip:* ${ip}
-*N:* ${n}
-*W:* 12.4893
-*SS NUMBER:* ${ss}
-*IPV6:* ${ipv6}
-*UPNP:* ${up}
-*DMZ:* ${mz}
-*MAC:* 5A:78:3E:7E:00
-*ISP:* Ucom unversal
-*DNS:* 8.8.8.8
-*ALT DNS:* 1.1.1.8.1
-*DNS SUFFIX:* Dlink
-*WAN:* 100.23.10.15
-*WAN TYPE:* private nat
-*GATEWAY:* 192.168.0.1
-*SUBNET MASK:* 255.255.0.255
-*UDP OPEN PORTS:* 8080.80
-*TCP OPEN PORTS:* 443
-*ROUTER VENDEDOR:* ERICCSON
-*DEVICE VENDEDOR:* WIN32-X
-*CONNECTION TYPE:* TPLINK COMPANY
-*ICMPHOPS:* 192.168.0.1 192.168.1.1 100.73.43.4
-host-132.12.32.167.ucom.com
-host-132.12.111.ucom.com
-36.134.67.189 216.239.78.11
-Sof02s32inf14.1e100.net
-*HTTP:* 192.168.3.1:433-->92.28.211.234:80
-*Http:* 192.168.625-->92.28.211.455:80
-*Http:* 192.168.817-->92.28.211.8:971
-*Upd:* 192.168452-->92.28.211:7265288
-*Tcp:* 192.168.682-->92.28.211:62227.7
-*Tcp:* 192.168.725-->92.28.211:67wu2
-*Tcp:* 192.168.629-->92.28.211.167:8615
-*EXTERNAL MAC:* 6U:77:89:ER:O4
-*MODEM JUMPS:* 64`
-await conn.sendMessage(m.chat, {text: doxeo, edit: key});
-//conn.reply(m.chat, doxeo, m)
-user.prue = new Date * 1
-}
-handler.help = ['doxear | <@tag>']
-handler.tags = ['fun']
-handler.command = /^Doxxeo|doxxeo|doxxear|Doxxear|doxeo|doxear|doxxeame|doxeame/i
-handler.fail = null
-export default handler
-const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms))
-
-function pickRandom(list) {
-return list[Math.floor(Math.random() * list.length)]}
-
-function msToTime(duration) {
-var milliseconds = parseInt((duration % 1000) / 100),
-seconds = Math.floor((duration / 1000) % 60),
-minutes = Math.floor((duration / (1000 * 60)) % 60),
-hours = Math.floor((duration / (1000 * 60 * 60)) % 24)
-
-hours = (hours < 10) ? "0" + hours : hours
-minutes = (minutes < 10) ? "0" + minutes : minutes
-seconds = (seconds < 10) ? "0" + seconds : seconds
-
-return minutes + " m y " + seconds + " s "
-}
\ No newline at end of file
diff --git a/plugins/fun-es_facil.js b/plugins/fun-es_facil.js
deleted file mode 100644
index 52621ad32..000000000
--- a/plugins/fun-es_facil.js
+++ /dev/null
@@ -1,17 +0,0 @@
-let handler = async (m, { conn, command, usedPrefix, text, groupMetadata }) => {
-
- let em = ['๐','๐','๐','๐','๐คค','๐ฅต','๐','๐','๐','๐ป','๐ฉ','๐ฅด','๐ค','๐ค']
-
- let toM = a => '@' + a.split('@')[0]
- let ps = groupMetadata.participants.map(v => v.id)
- let a = ps.getRandom()
- let am = em.getRandom()
- conn.sendButton(m.chat, `Pero no tanto como la mama de ${toM(a)}`, author, null, [['Callate bot', 'llorar']], m,{mentions: [a]})
-}
-
-handler.customPrefix = /^(facil|es facil|fรกcil|es fรกcil|fasil|es fasil|la chupa bien|se le da bien chupar|chupa bn|chupa bien|la chupa bn)/i
-handler.command = new RegExp
-handler.tags = ['fun']
-
-export default handler
-
\ No newline at end of file
diff --git a/plugins/fun-follar.js b/plugins/fun-follar.js
deleted file mode 100644
index 644ffdd78..000000000
--- a/plugins/fun-follar.js
+++ /dev/null
@@ -1,17 +0,0 @@
-
-let handler = async (m, { conn, command, text }) => {
-if (!text) throw `*Ingrese el @ o el nombre de la persona que quieras saber si te puedes ${command.replace('how', '')}*`
-let user = m.mentionedJid[0] ? m.mentionedJid[0] : m.quoted.sender
-conn.reply(m.chat, `
-๐คค๐
๐ฅต *๐๐๐๐๐๐ ๐๐ ๐
๐๐๐๐๐๐๐๐@!*๐ฅต๐
๐คค
-
-*๐๐ ๐๐๐๐๐๐จ ๐๐ ๐๐ค๐ก๐ก๐๐ง ๐ ๐ก๐ ๐ฅ๐๐ง๐ง๐ ๐๐* *${text}* โฉ *๐ ๐ฐ ๐ฅ๐๐ฉ๐๐จ ๐ข๐๐๐ฃ๐ฉ๐ง๐๐จ ๐ฉ๐ ๐๐๐ข๐๐ ๐๐ค๐ข๐ค ๐ช๐ฃ๐ ๐ข๐๐ก๐๐๐ฉ๐ ๐ฅ๐๐ง๐ง๐ "๐๐๐๐ก.., ๐๐๐๐ก๐ก, ๐ฌ๐ข๐ ๐ฎ๐, ๐ง๐จ ๐ฉ๐๐ซ๐๐ฌ, ๐ง๐จ ๐ฉ๐๐ซ๐๐ฌ.." ๐ฎ ๐ก๐ ๐๐๐จ ๐๐๐๐๐๐ค ๐ฉ๐๐ฃ ๐ง๐๐ซ๐๐ฃ๐ฉ๐๐๐ ๐ฆ๐ช๐ ๐ฃ๐ค ๐ฅ๐ช๐๐๐ ๐จ๐ค๐จ๐ฉ๐๐ฃ๐๐ง ๐ฃ๐ ๐จ๐ช ๐ฅ๐ง๐ค๐ฅ๐๐ค ๐๐ช๐๐ง๐ฅ๐ค ๐ก๐ ๐ข๐๐ก๐๐๐ฉ๐ ๐ฏ๐ค๐ง๐ง๐!*
-
-*${text}*
-๐คค๐ฅต *ยก๐๐ ๐๐ ๐๐๐ ๐
๐๐๐๐๐๐!* ๐ฅต๐คค`, null, { mentions: [user] })
-}
-
-handler.command = /^(Follar|violar)/i
-handler.fail = null
-handler.register = true
-export default handler
diff --git a/plugins/fun-formarpareja.js b/plugins/fun-formarpareja.js
deleted file mode 100644
index 61ead7929..000000000
--- a/plugins/fun-formarpareja.js
+++ /dev/null
@@ -1,18 +0,0 @@
-let toM = a => '@' + a.split('@')[0]
-function handler(m, { groupMetadata }) {
-let ps = groupMetadata.participants.map(v => v.id)
-let a = ps.getRandom()
-let b
-do b = ps.getRandom()
-while (b === a)
-let vn = './media/Vivan.mp3'
-conn.sendFile(m.chat, vn, 'Vivan.mp3', null, m, true, { type: 'audioMessage', ptt: true, sendEphemeral: true })
-m.reply(`*${toM(a)}, ๐๐ ๐๐จ ๐๐ค๐ง๐ ๐๐ ๐ฆ๐ช๐ ๐ฉ๐ ๐ ๐พ๐๐จ๐๐จ ๐๐ค๐ฃ ${toM(b)}, ๐๐๐ฃ๐๐ ๐๐๐ง๐๐๐ ๐๐*`, null, {
-mentions: [a, b]
-
-})}
-handler.help = ['formarpareja']
-handler.tags = ['main', 'fun']
-handler.command = ['formarpareja','formarparejas']
-handler.group = true
-export default handler
diff --git a/plugins/fun-game-math.js b/plugins/fun-game-math.js
deleted file mode 100644
index c7ac813d4..000000000
--- a/plugins/fun-game-math.js
+++ /dev/null
@@ -1,98 +0,0 @@
-global.math = global.math ? global.math : {}
-let handler = async (m, { conn, args, usedPrefix, command }) => {
-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" }
-// 60000 = 1 minuto // 30000 = 30 segundos // 15000 = 15 segundos // 10000 = 10 segundos
-let time = global.db.data.users[m.sender].wait + 60000
-if (new Date - global.db.data.users[m.sender].wait < 60000) return await conn.reply(m.chat, `*๐ ๐๐๐๐๐๐ผ ${Math.floor((time - new Date()) / 1000)} ๐๐๐๐๐๐ฟ๐๐ ๐ผ๐๐๐๐ ๐ฟ๐ ๐๐๐๐๐๐ ๐ผ ๐
๐๐๐ผ๐*`, fkontak, m)
-let mat =`${lenguajeGB['smsAvisoIIG']()}โจ ๐๐ช๐๐๐ ๐๐จ๐๐ง๐๐๐ ๐ก๐ ๐๐๐๐๐๐ช๐ก๐ฉ๐๐
-
-*Nivel del dificultad*
-${Object.keys(modes).join(' | ')}
-
-*Ejemplo:*
-${usedPrefix + command} noob
-${usedPrefix + command} impossible2
-
-๐ผ *Mientras mas dificultad mayor recompensa*
-`.trim()
-if (args.length < 1) return await conn.reply(m.chat, mat, fkontak, m)
-// conn.sendHydrated(m.chat, wm, mat, null, null, null, null, null, [['๐ ๐๐๐๐๐ก | ๐๐๐จ๐ฎ', `${usedPrefix + command} easy`], ['๐ ๐ฟ๐๐๐๐๐๐ก | ๐๐๐ง๐', `${usedPrefix + command} hard`], ['๐ค ๐๐ญ๐ฉ๐ง๐๐ข๐ค | ๐๐ญ๐ฉ๐ง๐๐ข๐', `${usedPrefix + command} extreme`]], m)
-
-let mode = args[0].toLowerCase()
-if (!(mode in modes)) return await conn.reply(m.chat, mat, fkontak, m)
-//conn.sendHydrated(m.chat, wm, mat, null, null, null, null, null, [['๐ ๐๐๐๐๐ก | ๐๐๐จ๐ฎ', `${usedPrefix + command} easy`], ['๐ ๐ฟ๐๐๐๐๐๐ก | ๐๐๐ง๐', `${usedPrefix + command} hard`], ['๐ค ๐๐ญ๐ฉ๐ง๐๐ข๐ค | ๐๐ญ๐ฉ๐ง๐๐ข๐', `${usedPrefix + command} extreme`]], m)
-
-let id = m.chat
-if (id in global.math) return conn.reply(m.chat, `${lenguajeGB['smsAvisoAG']()}*แดแดแด
แดแด ษชแด สแดส แดสแดษขแดษดแดแด sษชษด สแดsแดแดษดแด
แดส แดส แดsแดแด แดสแดแด!!*`, global.math[id][0])
-//let ii = global.db.data.users[m.sender].limit += 10 math.dia
-let math = genMath(mode)
-global.math[id] = [
-await conn.reply(m.chat, `โญโใ *${wm}* ใโโฑ
-โ๐พ๐ช๐๐ก ๐๐จ ๐ง๐๐จ๐ช๐ก๐ฉ๐๐๐ค ๐๐: *${math.str} = ?*
-โโโโโโโโโโโโโโโโโโ
-โ๐งญ ๐๐๐๐ข๐ฅ๐ค: *${(math.time / 1000).toFixed(0)} segundos*
-โโโโโโโโโโโโโโโโโโ
-โ๐๐๐จ๐ฅ๐ค๐ฃ๐๐ ๐ ๐๐จ๐ฉ๐ ๐ข๐๐ฃ๐จ๐๐๐ ๐ฎ ๐๐๐ฃ๐
-โ๐ *${math.bonus}: XP*
-โฐโโโโฐ ๐ ${vs} โฑโโโโแ`, m),
-math, 4,
-
-//await conn.sendHydrated(m.chat, `โฌ๏ธโฌ๏ธโฌ๏ธโฌ๏ธโฌ๏ธโฌ๏ธโฌ๏ธโฌ๏ธโฌ๏ธโฌ๏ธโฌ๏ธ`, `๐๐๐๐๐๐๐ฟ๐ผ ๐ผ๐ ๐๐๐๐๐ผ๐
๐ ๐ฟ๐ ๐ผ๐๐๐๐ฝ๐ผ ๐พ๐๐ ๐๐ผ ๐๐๐๐๐๐๐๐๐ผ\n\n๐ผ๐๐๐๐๐ ๐๐๐ ๐๐๐๐๐ผ๐๐ ๐ผ๐ฝ๐๐๐ ๐๐ ๐๐๐๐ ๐๐๐๐ ๐ผ๐๐๐๐๐`, null, md, '๐๐๐ฉ๐๐ฝ๐ค๐ฉ-๐๐ฟ', null, null, [ ['๐๐ค๐ฅ๐จ | ๐๐๐ฃ๐ ๐๐ฃ๐ ๐', `${usedPrefix}top`],['๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ | ๐ฝ๐๐๐ ๐ฉ๐ค ๐๐๐ฃ๐ช โ๏ธ', `${usedPrefix}menu`]], m), math, 4,
-
-setTimeout(() => {
-if (global.math[id]) conn.reply(m.chat, `${lenguajeGB['smsAvisoAG']()}sแด แดแดแดสแด แดส แดษชแดแดแดแด สแด สแดsแดแดแดsแดแด แดs *${math.result}*`, global.math[id][0])
-//conn.sendButton(m.chat, `${lenguajeGB['smsAvisoAG']()}๐๐ ๐ผ๐พ๐ผ๐ฝ๐ ๐๐ ๐๐๐๐๐๐!!\n๐๐ผ ๐๐๐๐๐๐๐๐๐ผ ๐๐ *${math.result}*\n\n๐๐๐๐ ๐๐ ๐๐!!\n๐๐๐ ๐ผ๐๐๐๐๐ ๐๐ *${math.result}*`, wm, null, [['๐๐ฃ๐ฉ๐๐ฃ๐ฉ๐๐ง ๐๐ ๐ฃ๐ช๐๐ซ๐ค | ๐๐ง๐ฎ ๐๐๐๐๐ฃ', `${usedPrefix + command} ${math.mode}`], ['๐๐๐ฃ๐ช ๐
๐ช๐๐๐ค๐จ | ๐๐๐ข๐๐จ ๐๐๐ฃ๐ช ๐ก', `/juegosmenu`]], global.math[id][0])
-delete global.math[id]
-}, math.time)
-]
-global.db.data.users[m.sender].wait = new Date * 1
-}
-handler.help = ['math ']
-handler.tags = ['game']
-handler.command = /^math|mates|matemรกticas/i
-handler.register = true
-export default handler
-
-let modes = {
-noob: [-3, 3,-3, 3, '+-', 15000, 30],
-easy: [-10, 10, -10, 10, '*/+-', 20000, 50],
-medium: [-40, 40, -20, 20, '*/+-', 30000, 200],
-hard: [-100, 100, -70, 70, '*/+-', 40000, 500],
-extreme: [-999999, 999999, -999999, 999999, '*/', 40000, 2500],
-impossible: [-99999999999, 99999999999, -99999999999, 999999999999, '*/', 50000, 5500],
-impossible2: [-999999999999999, 999999999999999, -999, 999, '/', 60000, 8500]
-}
-
-let operators = {
-'+': '+',
-'-': '-',
-'*': 'ร',
-'/': 'รท'
-}
-
-// XP
-function genMath(mode) {
-let [a1, a2, b1, b2, ops, time, bonus] = modes[mode]
-let a = randomInt(a1, a2)
-let b = randomInt(b1, b2)
-let op = pickRandom([...ops])
-let result = (new Function(`return ${a} ${op.replace('/', '*')} ${b < 0 ? `(${b})` : b}`))()
-if (op == '/') [a, result] = [result, a]
-return {
-str: `${a} ${operators[op]} ${b}`,
-mode,
-time,
-bonus,
-result
-}}
-
-function randomInt(from, to) {
-if (from > to) [from, to] = [to, from]
-from = Math.floor(from)
-to = Math.floor(to)
-return Math.floor((to - from) * Math.random() + from)
-}
-
-function pickRandom(list) {
-return list[Math.floor(Math.random() * list.length)]
-}
diff --git a/plugins/fun-game-math_answer.js b/plugins/fun-game-math_answer.js
index 1fbc22e9b..10668bc5e 100644
--- a/plugins/fun-game-math_answer.js
+++ b/plugins/fun-game-math_answer.js
@@ -1,19 +1,18 @@
global.math = global.math ? global.math : {}
let handler = async (m, { conn }) => {
-
let id = m.chat
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 (!m.quoted) return
if (m.quoted.sender != conn.user.jid) return
if (!/^๐พ๐ช๐๐ก ๐๐จ ๐ง๐๐จ๐ช๐ก๐ฉ๐๐๐ค ๐๐/i.test(m.quoted.text)) return
-if (!(m.chat in global.math)) return conn.reply(m.chat, `${lenguajeGB['smsAvisoMG']()}๐๐ผ ๐๐ ๐๐๐๐๐๐๐ฟ๐๐ ๐๐๐๐ผ ๐๐๐๐๐๐๐๐ผ`, m)
+if (!(m.chat in global.math)) return conn.reply(m.chat, await tr(`โ ๏ธ Ya se respondiรณ esta pregunta`), m)
//conn.sendButton(m.chat, `${lenguajeGB['smsAvisoMG']()}๐๐ผ ๐๐ ๐๐๐๐๐๐๐ฟ๐๐ ๐๐๐๐ผ ๐๐๐๐๐๐๐๐ผ\n๐๐๐๐ ๐๐๐๐๐๐๐๐ ๐๐ผ๐ ๐ผ๐๐๐๐ผ๐ฟ๐ ๐ฝ๐๐๐ ๐ผ๐๐๐๐๐๐๐ฟ`, wm, null, [['๐๐ค๐ก๐ซ๐๐ง ๐ ๐
๐ช๐๐๐ง ๐งฎ', `/math`], ['๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ | ๐ฝ๐๐๐ ๐ฉ๐ค ๐๐๐ฃ๐ช โ๏ธ', '/menu']], m)
if (m.quoted.id == global.math[id][0].id) {
let math = global.math[id][1]
-let gatacoins = global.db.data.users[m.sender].money += 500
+let coins = global.db.data.users[m.sender].money += 500
if (m.text == math.result) {
-await conn.reply(m.chat, `๐ ๐๐๐จ๐ฅ๐ช๐๐จ๐ฉ๐ ๐๐ค๐ง๐ง๐๐๐ฉ๐\n๐๐ช๐ ๐ฅ๐ง๐ค ๐\nโโโโโโโโโโโโโโโโโ\n๐๐๐ฃ๐๐จ๐ฉ๐\n๐ *_${math.bonus}_* ๐๐\nโโโโโโโโโโโโโโโโโ\n๐ฝ๐ค๐ฃ๐ค\n๐ *_$500_* ๐๐ค๐ก๐๐๐ค๐๐ฃ๐จ\nโโโโโโโโโโโโโโโโโ\n๐๐ช ๐ฟ๐๐ฃ๐๐ง๐ค\n๐ต *_$${lolicoins}_* ๐๐ค๐ก๐๐๐ค๐๐ฃ๐จ`, fkontak, m)
+await conn.reply(m.chat, `๐ ${await tr("RESPUESTA CORRECTA\nQUE PRO ๐")}\nโโโโโโโโโโโโโโโโโ\n${await tr("GANASTE")}\n๐ *_${math.bonus}_* ๐๐\nโโโโโโโโโโโโโโโโโ\n${await tr("BONO")}\n๐ *_$500_* ๐๐ค๐ก๐๐พ๐ค๐๐ฃ๐จ\nโโโโโโโโโโโโโโโโโ\n${await tr("SU DINERO")}\n๐ต *_${coins}_* ๐๐ค๐ก๐๐พ๐ค๐๐ฃ๐จ`, fkontak, m)
//conn.sendButton(m.chat, `๐ ๐๐๐๐๐๐๐๐๐ผ ๐พ๐๐๐๐๐พ๐๐ผ\n๐๐๐ ๐๐๐ ๐\nโโโโโโโโโโโโโโโโโ\n๐๐ผ๐๐ผ๐๐๐ | ๐๐๐\n๐ *_${math.bonus}_* ๐๐\nโโโโโโโโโโโโโโโโโ\n๐ฝ๐๐๐ | ๐ฝ๐๐๐๐\n๐ *_$500_* ๐๐๐ฉ๐๐พ๐ค๐๐ฃ๐จ\nโโโโโโโโโโโโโโโโโ\n๐๐ ๐ฟ๐๐๐๐๐ | ๐๐๐๐ ๐๐๐๐๐\n๐ต *_$${gatacoins}_* ๐๐๐ฉ๐๐พ๐ค๐๐ฃ๐จ`, wm, null, [['๐๐ค๐ก๐ซ๐๐ง ๐ ๐
๐ช๐๐๐ง ๐งฎ', `/math ${math.mode}`], ['๐๐๐ฃ๐ช ๐
๐ช๐๐๐ค๐จ | ๐๐๐ข๐๐จ ๐๐๐ฃ๐ช ๐ก', `.juegosmenu`]], m)
global.db.data.users[m.sender].exp += math.bonus
@@ -21,14 +20,14 @@ clearTimeout(global.math[id][3])
delete global.math[id]
} else {
if (--global.math[id][2] == 0) {
-await conn.reply(m.chat, `${lenguajeGB['smsAvisoAG']()}๐๐ ๐ผ๐พ๐ผ๐ฝ๐ผ๐๐๐ ๐๐๐ ๐๐๐๐๐๐๐๐๐ฟ๐ผ๐ฟ๐๐\n๐๐ผ ๐๐๐๐๐๐๐๐๐ผ ๐๐ *${math.result}*`, m)
+await conn.reply(m.chat, await tr(`โ ๏ธ Se acabaron tus oportunidades\nLa respuesta es *${math.result}*`), m)
//conn.sendButton(m.chat, `${lenguajeGB['smsAvisoAG']()}๐๐ ๐ผ๐พ๐ผ๐ฝ๐ผ๐๐๐ ๐๐๐ ๐๐๐๐๐๐๐๐๐ฟ๐ผ๐ฟ๐๐\n๐๐ผ ๐๐๐๐๐๐๐๐๐ผ ๐๐ *${math.result}*\n\n๐๐๐๐ ๐๐๐๐๐ ๐ผ๐๐ ๐๐๐๐\n๐๐๐ ๐ผ๐๐๐๐๐ ๐๐ *${math.result}*`, wm, null, [['๐๐ค๐ก๐ซ๐๐ง ๐ ๐
๐ช๐๐๐ง ๐งฎ', `/math ${math.mode}`], ['๐๐ค๐ฅ๐จ | ๐๐๐ฃ๐ ๐๐ฃ๐ ๐', `.top`]], m)
clearTimeout(global.math[id][3])
delete global.math[id]
-} else conn.reply(m.chat, `${lenguajeGB['smsAvisoFG']()}๐๐๐๐๐๐๐๐๐ผ ๐๐๐พ๐๐๐๐๐พ๐๐ผ!!\n๐๐ ๐๐๐๐ฟ๐ผ๐ *${global.math[id][2]}* ๐๐๐๐๐๐๐๐๐ฟ๐ผ๐ฟ๐๐ ๐ฑ`, m)
+} else conn.reply(m.chat, await tr(`โ ๏ธ Respuesta incorrecta!!\nte quedan *${global.math[id][2]}* oportunidades ๐ฑ`), m)
}}}
-
handler.customPrefix = /^-?[0-9]+(\.[0-9]+)?$/
handler.command = new RegExp
handler.exp = 0
+handler.register = true
export default handler
diff --git a/plugins/fun-game.js b/plugins/fun-game.js
new file mode 100644
index 000000000..c132d855f
--- /dev/null
+++ b/plugins/fun-game.js
@@ -0,0 +1,378 @@
+import TicTacToe from '../lib/tictactoe.js'
+let timeout = 60000
+let poin = 600
+let poin_lose = -100
+let poin_bot = 200
+global.suit = global.suit ? global.suit : {}
+//import MessageType from '@adiwajshing/baileys'
+let MessageType = (await import(global.baileys)).default
+let handler = async (m, { conn, text, command, usedPrefix, args }) => {
+let pp = 'https://telegra.ph/file/c7924bf0e0d839290cc51.jpg'
+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" }
+try {
+let msgGamPvp1 = await tr("EMPATE ๐ค")
+let msgGamPvp2 = await tr("๐ Premios")
+let msgGamPvp3 = await tr("HA GANADO! ๐")
+let msgGamPvp4 = await tr("HA PEDIDO! ๐คก")
+let msgGamPvp5 = await tr("โ Pรฉrdida")
+
+if (command == 'ppt' || command == 'pvp' || command == 'suit' || command == 'suitpvp') {
+const time = global.db.data.users[m.sender].wait + 30000;
+if (new Date() - global.db.data.users[m.sender].wait < 30000) return conn.fakeReply(m.chat, `*๐ ${await tr("Hey, espera")} ${msToTime(time - new Date())} ${await tr("Antes de usar otros comando")}*`, m.sender, `แดบแต สฐแตแตแตโฟ หขแตแตแต`, 'status@broadcast', null, fake);
+
+const guideText = `${await tr("Piedra ๐ฟ, Papel ๐ o Tijera โ๏ธ\n\n๐พ Jugar con el bot")}:\nโข ${usedPrefix + command} piedra\nโข ${usedPrefix + command} papel\nโข ${usedPrefix + command} tijera\n\n${await tr("๐น Jugar con un usuario")}:\n${usedPrefix + command} @usuario`;
+if (!m.mentionedJid[0] && !args[0]) return conn.sendButton(m.chat, guideText, wm, pp, [['Piedra ๐ฟ', `${usedPrefix + command} piedra`], ['Papel ๐', `${usedPrefix + command} papel`], ['Tijera โ๏ธ', `${usedPrefix + command} tijera`]], m);
+const user = global.db.data.users[m.sender];
+const playerChoice = args[0]?.toLowerCase();
+const choices = ['piedra', 'papel', 'tijera'];
+const botChoice = choices[Math.floor(Math.random() * 3)];
+const name = conn.getName(m.sender);
+
+if (!m.mentionedJid[0] && choices.includes(playerChoice)) {
+global.db.data.users[m.sender].wait = new Date() * 1;
+
+const rules = { piedra: { beats: 'tijera', win: 1000, lose: 300, winType: 'coins', loseType: 'coins' },
+papel: { beats: 'piedra', win: 1000, lose: 300, winType: 'coins', loseType: 'xp' },
+tijera: { beats: 'papel', win: 1000, lose: 300, winType: 'coins', loseType: 'coins' }};
+let result, message;
+if (playerChoice === botChoice) {
+user.exp += 500;
+result = msgGamPvp1
+message = `${msgGamPvp2} : 500 XP`
+} else if (rules[playerChoice].beats === botChoice) {
+user[rules[playerChoice].winType] += rules[playerChoice].win;
+result = msgGamPvp3
+message = `${msgGamPvp2} : ${rules[playerChoice].win} ${rules[playerChoice].winType}`;
+} else {
+user[rules[playerChoice].loseType] -= rules[playerChoice].lose;
+result = msgGamPvp4
+message = `${msgGamPvp5}: -${rules[playerChoice].lose} ${rules[playerChoice].loseType}`;
+}
+conn.reply(m.chat, `\`ใ ${result} ใ\`\n\n${await tr("๐ Tu")}: ${playerChoice}\n${await tr("๐ El Bot")}: ${botChoice}\n${message}`, m, { contextInfo: {externalAdReply: { title: name, body: wm, thumbnail: img.getRandom(), sourceUrl: redes.getRandom()}}});
+}
+
+if (m.mentionedJid[0]) {
+if (Object.values(conn.suit).find(room => room.id.startsWith('suit') && [room.p, room.p2].includes(m.sender))) return m.reply(await tr(`โ ๏ธ Termina tu partida antes de inicia otra`));
+if (Object.values(conn.suit).find(room => room.id.startsWith('suit') && [room.p, room.p2].includes(m.mentionedJid[0]))) return m.reply(await tr(`โ ๏ธ El usuario ya esta jugando, espera a que termine.`));
+
+const id = 'suit_' + new Date() * 1;
+const caption = `๐ฎ๐พ ${await tr("PVP - PIEDRA, PAPEL O TIJERA")} ๐พ๐ฎ\n\n@${m.sender.split`@`[0]} ${await tr("DESAFIA A")} @${m.mentionedJid[0].split`@`[0]}\n\n${await tr("> _*Escribe (aceptar) para aceptar*_\n> _*Escribe (rechazar) para rechazar*_")}`;
+const msgTimPvp = await tr(`โณ TIEMPO AGOTADO, EL PVP SE CANCELA`)
+conn.suit[id] = {
+chat: await conn.sendMessage(m.chat, { text: caption, mentions: [m.sender, m.mentionedJid[0]] }),
+id: id,
+p: m.sender,
+p2: m.mentionedJid[0],
+status: 'wait',
+waktu: setTimeout(() => {
+if (conn.suit[id]) conn.reply(m.chat, msgTimPvp, m);
+delete conn.suit[id];
+}, timeout),
+poin: 1000,
+poin_lose: 300,
+poin_bot: 500,
+timeout
+}}
+}
+
+if (command == 'slot' || command == 'apostar' || command == 'slot1' || command == 'slot2' || command == 'slot3') {
+const slotTypes = {
+slot1: { currency: 'exp',
+name: 'Exp',
+emojis: ['๐', 'โก', '๐ช'],
+cooldown: 60000,
+bonusWin: apuesta => apuesta * 2,
+consolation: 50,
+symbol: 'โก'
+},
+slot2: { currency: 'money',
+name: 'LoliCoins',
+emojis: ['๐ช', '๐ฎ', '๐งฟ'],
+cooldown: 60000,
+bonusWin: apuesta => apuesta * 2,
+consolation: 30,
+symbol: '๐ช'
+},
+slot3: {
+currency: 'limit',
+name: 'Diamantes',
+emojis: ['๐ช', '๐ฃ', '๐'],
+cooldown: 30000,
+bonusWin: apuesta => apuesta * 2,
+consolation: 2,
+symbol: '๐'
+}}
+
+const fa = `${mg} ${await tr("Usar de la siguiente manera")}:\n*โข ${usedPrefix}slot1 50* (${await tr("aportas exp")})\n*โข ${usedPrefix}slot2 50* (${await tr("aportas LoliCoins")})\n*โข ${usedPrefix}slot3 50* (${await tr("aportas Diamantes")})`.trim()
+
+let msgText1 = await tr(`โ ๏ธ Debes apostar un minimo de *10 ${name}*`)
+let msgText2 = await tr(`โ ๏ธ No tienes suficientes *${name}* Para apostar. interactuar con el bot para obtener mas recursos.`)
+
+const validateBet = (users, apuesta, currency, name) => {
+if (apuesta < 10) throw msgText1
+if (users[currency] < apuesta) throw msgText2
+}
+
+const playSlot = async (m, conn, apuesta, config, users) => {
+const { currency, name, emojis, cooldown, bonusWin, consolation } = config
+const time = users.lastslot + cooldown
+if (new Date() - users.lastslot < cooldown) throw await tr(`*Vuelva en: ${msToTime(time - new Date())} para continuar apostando ${name}* ๐ฐ`)
+users.lastslot = Date.now()
+
+const a = Math.floor(Math.random() * emojis.length)
+const b = Math.floor(Math.random() * emojis.length)
+const c = Math.floor(Math.random() * emojis.length)
+const [x, y, z] = [[], [], []]
+for (let i = 0; i < 3; i++) {
+x[i] = emojis[(a + i) % emojis.length]
+y[i] = emojis[(b + i) % emojis.length]
+z[i] = emojis[(c + i) % emojis.length]
+}
+
+const msgApost1 = await tr("๐ฅณ *ยกQUร PRO! HAS GANADO")
+const msgApost2 = await tr("๐ฏ *ยกCASI! VUELVE A INTENTAR*\n*BONO DE")
+const msgApost3 = await tr("๐ฟ *ยกHAS PERDIDO!")
+const msgApost4 = await tr("RANURAS")
+const msgApost5 = await tr("SLOTS")
+
+let end
+if (a === b && b === c) {
+end = `${msgApost1} +${bonusWin(apuesta)} ${name}*`
+users[currency] += apuesta
+} else if (a === b || a === c || b === c) {
+end = `${msgApost2} +${consolation} ${name}*`
+users[currency] += consolation
+} else {
+end = `${msgApost3} โ -${apuesta} ${name}*`
+users[currency] -= apuesta
+}
+
+const hawemod = [
+`${x[0]} : ${y[1]} : ${z[0]}\n${z[1]} : ${y[0]} : ${x[0]}\n${z[2]} : ${x[1]} : ${y[2]}`,
+`${x[0]} : ${y[0]} : ${z[0]}\n${y[1]} : ${z[1]} : ${x[1]}\n${x[2]} : ${y[2]} : ${z[2]}`,
+`${x[0]} : ${y[1]} : ${z[0]}\n${y[1]} : ${z[2]} : ${x[1]}\n${x[2]} : ${y[1]} : ${z[2]}`
+]
+
+const maxIterations = 25
+const arrayCasuale = generaArrayCasuale(hawemod, maxIterations)
+const array = [...arrayCasuale]
+const { key } = await conn.sendMessage(m.chat, { text: `๐น` }, { quoted: m })
+
+for (let i = 0; i < maxIterations; i++) {
+await conn.sendMessage(m.chat, {text: `๐ฐ | *${msgApost4}* | ๐ฐ\nโโโโโโโโ\n${array[i]}\nโโโโโโโโ\n๐ฐ | *${msgApost5}* | ๐ฐ`, edit: key }, { quoted: m })
+await new Promise(resolve => setTimeout(resolve, 50))
+}
+
+await conn.sendMessage(m.chat, { text: `๐ฐ | *${msgApost4}* | ๐ฐ\nโโโโโโโโ\n${x[0]} : ${y[0]} : ${z[0]}\n${x[1]} : ${y[1]} : ${z[1]}\n${x[2]} : ${y[2]} : ${z[2]}\nโโโโโโโโ\n๐ฐ | *${msgApost5}* | ๐ฐ\n\n${end}`, edit: key }, { quoted: m })
+}
+
+if (command === 'apostar' || command === 'slot') {
+if (!args[0]) return m.reply(fa)
+if (isNaN(args[0])) return m.reply(fa)
+const apuesta = parseInt(args[0])
+
+await conn.sendButton(m.chat, `*${await tr("Elige en quรฉ apostar tus")} ${apuesta}*`, botname, null, [['โก Exp', `.slot1 ${apuesta}`], ['๐ช LoliCoins', `.slot2 ${apuesta}`], ['๐ Diamantes', `.slot3 ${apuesta}`]], null, null, m)
+return
+}
+
+if (!args[0]) return m.reply(fa)
+if (isNaN(args[0])) return m.reply(fa)
+const apuesta = parseInt(args[0])
+const users = global.db.data.users[m.sender]
+const slotType = slotTypes[command]
+if (!slotType) return
+try {
+validateBet(users, apuesta, slotType.currency, slotType.name)
+await playSlot(m, conn, apuesta, slotType, users)
+} catch (e) {
+m.reply(e)
+}}
+
+if (command == 'tictactoe' || command == 'ttc' || command == 'ttt' || command == 'xo') {
+conn.game = conn.game ? conn.game : {}
+if (Object.values(conn.game).find(room => room.id.startsWith('tictactoe') && [room.game.playerX, room.game.playerO].includes(m.sender))) return m.reply(await tr(`โ ๏ธ Todavia alguien esta jugando en la sala si quiere abandonar escriba *salir*\nTambien puedes eliminar la sala usando el comando *${usedPrefix}delttt*`))
+if (!text) return m.reply(await tr(`*โ ๏ธ Debes de agregar un nombre a la sala\nEjemplo:\n${usedPrefix + command} Sala bot*`))
+let room = Object.values(conn.game).find(room => room.state === 'WAITING' && (text ? room.name === text : true))
+if (room) {
+await conn.reply(m.chat, await tr(`โ ๏ธ Alguien se han unido a la sala *${text}*\nYa pueden jugar!! ๐ผ`), fkontak, m)
+await conn.reply(m.chat, await tr(`โญ๏ธ *Clรกsico Juego del Gato, 3 en raya o tateti* โ\n\n*ยฟCรณmo jugar?*\n_Responde al Juego con un Nรบmero, el mensaje debe contener la posiscion en la que quieras estar (1,2,3,4,5,6,7,8,9)_`), fkontak, m)
+
+room.o = m.chat
+room.game.playerO = m.sender
+room.state = 'PLAYING'
+let arr = room.game.render().map(v => {
+return {
+X: 'โ',
+O: 'โญ',
+1: '1๏ธโฃ',
+2: '2๏ธโฃ',
+3: '3๏ธโฃ',
+4: '4๏ธโฃ',
+5: '5๏ธโฃ',
+6: '6๏ธโฃ',
+7: '7๏ธโฃ',
+8: '8๏ธโฃ',
+9: '9๏ธโฃ',
+}[v]})
+let str = `๐ ${await tr("Juegos tateti")}
+๐ซ ${await tr("Jugadores")}:
+*โโโโโโโโโ*
+โ = @${room.game.playerX.split('@')[0]}
+โญ = @${room.game.playerO.split('@')[0]}
+*โโโโโโโโโ*
+ ${arr.slice(0, 3).join('')}
+ ${arr.slice(3, 6).join('')}
+ ${arr.slice(6).join('')}
+*โโโโโโโโโ*
+${await tr("Turno de")}:
+@${room.game.currentTurn.split('@')[0]}
+`.trim()
+
+if (room.x !== room.o) await conn.sendMessage(room.x, { text: str, mentions: this.parseMention(str)}, { quoted: fkontak, m })
+await conn.sendMessage(room.o, { text: str, mentions: conn.parseMention(str)}, { quoted: fkontak, m })
+
+} else {
+room = {
+id: 'tictactoe-' + (+new Date),
+x: m.chat,
+o: '',
+game: new TicTacToe(m.sender, 'o'),
+state: 'WAITING' }
+
+if (text) room.name = text
+let imgplay = `https://img.freepik.com/vector-premium/juego-tres-raya-icono-contorno-lineal-neon_7280-2422.jpg`
+conn.sendMessage(m.chat, { image: { url: imgplay }, caption: await tr(`๐ผ Juegos tateti
+
+๐ Esperando al segundo jugador puede ingresa usando el comando:
+*${usedPrefix + command} ${text}*
+
+Si quieres abandonar la sala usar el comando:
+*${usedPrefix}delttt*`) }, { mentions: conn.parseMention(text), quoted: fkontak })
+conn.game[room.id] = room
+}}
+
+if (command == 'math' || command == 'mates' || command == 'matemรกticas') {
+// 60000 = 1 minuto // 30000 = 30 segundos // 15000 = 15 segundos // 10000 = 10 segundos
+let time = global.db.data.users[m.sender].wait + 60000
+if (new Date - global.db.data.users[m.sender].wait < 60000) return await conn.reply(m.chat, await tr(`*๐ Espera ${Math.floor((time - new Date()) / 1000)} Segundos antes de volver a jugar*`), fkontak, m)
+let mat = `โจ ${await tr("Puede escribi la dificultad")}
+
+${await tr("*Nivel del dificultad*")}
+${Object.keys(modes).join(' | ')}
+
+${await tr("*Ejemplo:*")}
+${usedPrefix + command} noob
+${usedPrefix + command} impossible2
+
+${await tr("๐ผ *Mientras mas dificultad mayor recompensa*")}`.trim()
+if (args.length < 1) return await conn.reply(m.chat, mat, fkontak, m)
+
+let mode = args[0].toLowerCase()
+if (!(mode in modes)) return await conn.reply(m.chat, mat, fkontak, m)
+
+let id = m.chat
+if (id in global.math) return conn.reply(m.chat, await tr(`โ ๏ธ *Todavia hay pregunta sin responder el este chat!!*`), global.math[id][0])
+//let ii = global.db.data.users[m.sender].limit += 10 math.dia
+let msgGametxt = await tr("โ Se acabo el tiempo la respuesta es")
+
+let math = genMath(mode)
+global.math[id] = [
+await conn.reply(m.chat, `โญโใ *${wm}* ใโโฑ
+โ${await tr("Cual es resultado de")}: *${math.str} = ?*
+โโโโโโโโโโโโโโโโโโ
+โ๐งญ ${await tr("Tiempo")}: *${(math.time / 1000).toFixed(0)} ${await tr("segundos")}*
+โโโโโโโโโโโโโโโโโโ
+โ${await tr("Responde a este mensaje y gana")}
+โ๐ *${math.bonus}: XP*
+โฐโโโโฐ ๐ ${vs} โฑโโโโแ`, m),
+math, 4,
+
+//await conn.reply(m.chat, `โฌ๏ธโฌ๏ธโฌ๏ธโฌ๏ธโฌ๏ธโฌ๏ธโฌ๏ธโฌ๏ธโฌ๏ธโฌ๏ธโฌ๏ธ๐๐๐๐๐๐๐ฟ๐ผ ๐ผ๐ ๐๐๐๐๐ผ๐
๐ ๐ฟ๐ ๐ผ๐๐๐๐ฝ๐ผ ๐พ๐๐ ๐๐ผ ๐๐๐๐๐๐๐๐๐ผ\n\n๐ผ๐๐๐๐๐ ๐๐๐ ๐๐๐๐๐ผ๐๐ ๐ผ๐ฝ๐๐๐ ๐๐ ๐๐๐๐ ๐๐๐๐ ๐ผ๐๐๐๐๐\n\n${wm}`, fkontak, m), math, 4,
+setTimeout(() => {
+if (global.math[id]) conn.reply(m.chat, `${msgGametxt}: *${math.result}*`, global.math[id][0])
+delete global.math[id]
+}, math.time)
+]
+global.db.data.users[m.sender].wait = new Date * 1
+}
+
+if (command == 'delttt' || command == 'deltt' || command == 'delxo' || command == 'deltictactoe') {
+let room = Object.values(conn.game).find(room => room.id.startsWith('tictactoe') && [room.game.playerX, room.game.playerO].includes(m.sender))
+if (room == undefined) return await conn.reply(m.chat, await tr(`โ ๏ธ No estas en ninguna partidas en el juego tres en raya\n\n๐ซ Iniciar partidas (${usedPrefix}ttt sala nueva)`), fkontak, m)
+delete conn.game[room.id]
+
+await conn.reply(m.chat, await tr(`โ ๏ธ La sala tres en raya fue eliminada`), fkontak, m)
+}} catch (e) {
+//await conn.reply(m.chat, `${lenguajeGB['smsMalError3']()}#report ${lenguajeGB['smsMensError2']()} ${usedPrefix + command}\n\n${wm}`, fkontak, m)
+console.log(e)}}
+handler.help = ["ppt", "suitpvp", "pvp", "slot", "apostar", "tictactoe", "ttt", "math", "matemรกticas", "delttt"];
+handler.tags = ['game'];
+handler.command = /^(ppt|suitpvp|suit|pvp|moneda|suert|currency|luck|cara|Method|slot|apostar|slot1|slot2|slot3|tictactoe|ttc|ttt|xo|math|mates|matemรกticas|delttt|deltt|delxo|deltictactoe)$/i
+handler.group = true
+handler.game = true
+handler.register = true
+export default handler
+
+function pickRandom(list) {
+return list[Math.floor(Math.random() * list.length)]}
+
+function msToTime(duration) {
+var milliseconds = parseInt((duration % 1000) / 100),
+seconds = Math.floor((duration / 1000) % 60),
+minutes = Math.floor((duration / (1000 * 60)) % 60),
+hours = Math.floor((duration / (1000 * 60 * 60)) % 24)
+
+hours = (hours < 10) ? "0" + hours : hours
+minutes = (minutes < 10) ? "0" + minutes : minutes
+seconds = (seconds < 10) ? "0" + seconds : seconds
+
+return minutes + " m " + seconds + " s "
+}
+
+let modes = {
+noob: [-3, 3,-3, 3, '+-', 15000, 30],
+easy: [-10, 10, -10, 10, '*/+-', 20000, 50],
+medium: [-40, 40, -20, 20, '*/+-', 30000, 200],
+hard: [-100, 100, -70, 70, '*/+-', 40000, 500],
+extreme: [-999999, 999999, -999999, 999999, '*/', 40000, 2500],
+impossible: [-99999999999, 99999999999, -99999999999, 999999999999, '*/', 50000, 5500],
+impossible2: [-999999999999999, 999999999999999, -999, 999, '/', 60000, 8500]
+}
+
+let operators = {
+'+': '+',
+'-': '-',
+'*': 'ร',
+'/': 'รท'
+}
+
+// XP
+function genMath(mode) {
+let [a1, a2, b1, b2, ops, time, bonus] = modes[mode]
+let a = randomInt(a1, a2)
+let b = randomInt(b1, b2)
+let op = pickRandom([...ops])
+let result = (new Function(`return ${a} ${op.replace('/', '*')} ${b < 0 ? `(${b})` : b}`))()
+if (op == '/') [a, result] = [result, a]
+return {
+str: `${a} ${operators[op]} ${b}`,
+mode,
+time,
+bonus,
+result
+}}
+
+function generaArrayCasuale(array, ripetizioni) {
+ let risultato = [];
+ for (let i = 0; i < ripetizioni; i++) {
+ risultato = risultato.concat(array);
+ }
+ return risultato;
+}
+
+function randomInt(from, to) {
+if (from > to) [from, to] = [to, from]
+from = Math.floor(from)
+to = Math.floor(to)
+return Math.floor((to - from) * Math.random() + from)
+}
diff --git a/plugins/fun-gay.js b/plugins/fun-gay.js
deleted file mode 100644
index 0ae7a645b..000000000
--- a/plugins/fun-gay.js
+++ /dev/null
@@ -1,14 +0,0 @@
-let handler = async (m, { conn }) => {
-let vn = './media/gay2.mp3'
-let who = m.mentionedJid && m.mentionedJid[0] ? m.mentionedJid[0] : m.fromMe ? conn.user.jid : m.sender
-conn.sendFile(m.chat, global.API('https://some-random-api.ml', '/canvas/gay', {
-avatar: await conn.profilePictureUrl(who, 'image').catch(_ => 'https://telegra.ph/file/24fa902ead26340f3df2c.png'),
-}), 'error.png', `*๐ณ๏ธโ๐ ๐ด๐๐๐ ๐ ๐๐๐๐ ๐๐๐ ๐๐ ๐๐๐๐๐ ๐๐ ๐๐๐๐! ๐ณ๏ธโ๐*`, m)
-await await await conn.sendFile(m.chat, vn, 'error.mp3', null, m, true, {
-type: 'audioMessage',
-ptt: true })
-}
-handler.help = ['gay']
-handler.tags = ['maker']
-handler.command = /^(gay)$/i
-export default handler
diff --git a/plugins/fun-juegos.js b/plugins/fun-juegos.js
new file mode 100644
index 000000000..3a39df718
--- /dev/null
+++ b/plugins/fun-juegos.js
@@ -0,0 +1,519 @@
+import util from 'util'
+import path from 'path'
+let toM = a => '@' + a.split('@')[0]
+let handler = async (m, { conn, groupMetadata, command, text, participants, usedPrefix, sender}) => {
+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" }
+try {
+let GamTxt = await tr("๐ค Pendejo etiquetas al la persona con el @Tag")
+let user = a => '@' + a.split('@')[0] //'@' + a.split('@')[0]
+let ps = groupMetadata.participants.map(v => v.id)
+let a = ps.getRandom()
+let b = ps.getRandom()
+let c = ps.getRandom()
+let d = ps.getRandom()
+let e = ps.getRandom()
+let f = ps.getRandom()
+let g = ps.getRandom()
+let h = ps.getRandom()
+let i = ps.getRandom()
+let j = ps.getRandom()
+
+
+//------------------------------------------------------------------------------------
+
+if (command == 'amistad' || command == 'amigorandom') {
+m.reply(`*๐ฐ ${await tr("Vamos a hacer algunas amistades")} ๐ฐ*\n\n*${await tr("Oye")} ${toM(a)} ${await tr("hablale al privado a")} ${toM(b)}* ${await tr("*para que jueguen y se haga una amistad ๐*\n\n*Las mejores amistades empiezan con un juego ๐*")}`, null, {
+mentions: [a, b]})}
+
+
+//------------------------------------------------------------------------------------
+
+if (command == 'follar' || command == 'violar') {
+if (!text) return m.reply(`*${await tr("Ingrese el @ o el nombre de la persona que quieras saber si te puedes")} ${command.replace('how', '')}*`)
+let user = m.mentionedJid[0] ? m.mentionedJid[0] : m.quoted.sender
+conn.reply(m.chat, `๐คค๐
๐ฅต *๐๐๐๐๐๐ ๐๐ ๐
๐๐๐๐๐๐๐๐@!*๐ฅต๐
๐คค\n\n*๐๐ ๐๐๐๐๐๐จ ๐๐ ๐๐ค๐ก๐ก๐๐ง ๐ ๐ก๐ ๐ฅ๐๐ง๐ง๐ ๐๐* *${text}* โฉ *๐ ๐ฐ ๐ฅ๐๐ฉ๐๐จ ๐ข๐๐๐ฃ๐ฉ๐ง๐๐จ ๐ฉ๐ ๐๐๐ข๐๐ ๐๐ค๐ข๐ค ๐ช๐ฃ๐ ๐ข๐๐ก๐๐๐ฉ๐ ๐ฅ๐๐ง๐ง๐ "๐๐๐๐ก.., ๐๐๐๐ก๐ก, ๐ฌ๐ข๐ ๐ฎ๐, ๐ง๐จ ๐ฉ๐๐ซ๐๐ฌ, ๐ง๐จ ๐ฉ๐๐ซ๐๐ฌ.." ๐ฎ ๐ก๐ ๐๐๐จ ๐๐๐๐๐๐ค ๐ฉ๐๐ฃ ๐ง๐๐ซ๐๐ฃ๐ฉ๐๐๐ ๐ฆ๐ช๐ ๐ฃ๐ค ๐ฅ๐ช๐๐๐ ๐จ๐ค๐จ๐ฉ๐๐ฃ๐๐ง ๐ฃ๐ ๐จ๐ช ๐ฅ๐ง๐ค๐ฅ๐๐ค ๐๐ช๐๐ง๐ฅ๐ค ๐ก๐ ๐ข๐๐ก๐๐๐ฉ๐ ๐ฏ๐ค๐ง๐ง๐!*\n\n*${text}*\n๐คค๐ฅต *ยก๐๐ ๐๐ ๐๐๐ ๐
๐๐๐๐๐๐!* ๐ฅต๐คค`, { mentions: [user] })}
+
+//------------------------------------------------------------------------------------
+
+if (command == 'formarpareja' || command == 'formarparejas') {
+m.reply(`*${toM(a)}, ๐๐ ๐๐จ ๐๐ค๐ง๐ ๐๐ ๐ฆ๐ช๐ ๐ฉ๐ ๐ ๐พ๐๐จ๐๐จ ๐๐ค๐ฃ ${toM(b)}, ๐๐๐ฃ๐๐ ๐๐๐ง๐๐๐ ๐๐*`, null, {
+mentions: [a, b]})}
+
+//------------------------------------------------------------------------------------
+
+if (command == 'personalidad') {
+if (!text) return conn.reply(m.chat, await tr('Ingrese un nombre?'), m)
+let personalidad = `โโโยฐโโฌ *${await tr("PERSONALIDAD")}}* โญโยฐโโโ
+*โ*
+*โโข Nombre* : ${text}
+*โโข Buena Moral* : ${pickRandom(['6%','12%','20%','27%','35%','41%','49%','54%','60%','66%','73%','78%','84%','92%','93%','94%','96%','98,3%','99,7%','99,9%','1%','2,9%','0%','0,4%'])}
+*โโข Mala Moral* : ${pickRandom(['6%','12%','20%','27%','35%','41%','49%','54%','60%','66%','73%','78%','84%','92%','93%','94%','96%','98,3%','99,7%','99,9%','1%','2,9%','0%','0,4%'])}
+*โโข Tipo de persona* : ${pickRandom(['De buen corazรณn','Arrogante','Tacaรฑo','Generoso','Humilde','Tรญmido','Cobarde','Entrometido','Cristal','No binarie XD', 'Pendejo'])}
+*โโข Siempre* : ${pickRandom(['Pesado','De malas','Distraido','De molestoso','Chismoso','Pasa jalandosela','De compras','Viendo anime','Chatea en WhatsApp porque esta soltero','Acostado bueno para nada','De mujeriego','En el celular'])}
+*โโข Inteligencia* : ${pickRandom(['6%','12%','20%','27%','35%','41%','49%','54%','60%','66%','73%','78%','84%','92%','93%','94%','96%','98,3%','99,7%','99,9%','1%','2,9%','0%','0,4%'])}
+*โโข Morosidad* : ${pickRandom(['6%','12%','20%','27%','35%','41%','49%','54%','60%','66%','73%','78%','84%','92%','93%','94%','96%','98,3%','99,7%','99,9%','1%','2,9%','0%','0,4%'])}
+*โโข Coraje* : ${pickRandom(['6%','12%','20%','27%','35%','41%','49%','54%','60%','66%','73%','78%','84%','92%','93%','94%','96%','98,3%','99,7%','99,9%','1%','2,9%','0%','0,4%'])}
+*โโข Miedo* : ${pickRandom(['6%','12%','20%','27%','35%','41%','49%','54%','60%','66%','73%','78%','84%','92%','93%','94%','96%','98,3%','99,7%','99,9%','1%','2,9%','0%','0,4%'])}
+*โโข Fama* : ${pickRandom(['6%','12%','20%','27%','35%','41%','49%','54%','60%','66%','73%','78%','84%','92%','93%','94%','96%','98,3%','99,7%','99,9%','1%','2,9%','0%','0,4%'])}
+*โโข Gรฉnero* : ${pickRandom(['Hombre', 'Mujer', 'Homosexual', 'Bisexual', 'Pansexual', 'Feminista', 'Heterosexual', 'Macho alfa', 'Mujerzona', 'Marimacha', 'Palosexual', 'PlayStationSexual', 'Sr. Manuela', 'Pollosexual'])}
+โโโโโโโโโโโโโโโโโ`
+conn.reply(m.chat, personalidad, m, { mentions: conn.parseMention(personalidad) })
+}
+
+//------------------------------------------------------------------------------------
+
+if (command == 'ship' || command == 'shippear') {
+if (!text) throw await tr(`โ ๏ธ Escriba el nombre de dos personas para calcular sus amor`)
+let [text1, ...text2] = text.split(' ')
+text2 = (text2 || []).join(' ')
+if (!text2) throw await tr(`โ ๏ธ Falta el nombre de la segunda persona`)
+let love = await tr(`_โค๏ธ *${text1}* ${await tr("a")}tu oportunidad de enamorarte de *${text2}* es de *${Math.floor(Math.random() * 100)}%* ๐ฉ๐ปโโค๏ธโ๐จ๐ป_ `).trim()
+m.reply(love, null, { mentions: conn.parseMention(love) })
+}
+
+//------------------------------------------------------------------------------------
+
+if (command == 'Doxxeo' || command == 'doxxeo' || command == 'doxxear' || command == 'Doxxear' || command == 'doxeo' || command == 'doxear' || command == 'doxxeame' || command == 'doxeame') {
+let user = global.db.data.users[m.sender]
+let time = user.prue + 90000 //1 min
+if (new Date - user.prue < 90000) return await conn.reply(m.chat, await tr(`๐ HEY ALTO ESPERA UNOS MINUTOS PARA USAR OTRO COMANDO NO HAGA SPAM`), fkontak, m)
+let who
+if (m.isGroup) who = m.mentionedJid[0]
+else who = m.chat
+let start = await tr(`*๐ฑ ยกยกEmpezando boxxeo!! ๐ฑ*`)
+let ala = `๐จ`
+let boost = `*${pickRandom(['0','1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20'])}%*`
+let boost2 = `*${pickRandom(['21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','36','37','38','39','40'])}%*`
+let boost3 = `*${pickRandom(['41','42','43','44','45','46','47','48','49','50','51','52','53','54','55','56','57','58','59','60'])}%*`
+let boost4 = `*${pickRandom(['61','62','63','64','65','66','67','68','69','70','71','72','73','74','75','76','77','78','79','80'])}%*`
+let boost5 = `*${pickRandom(['81','82','83','84','85','86','87','88','89','90','91','92','93','94','95','96','97','98','99','100'])}%*`
+
+const { key } = await conn.sendMessage(m.chat, {text: `${start}`, mentions: conn.parseMention(text)}, {quoted: m})
+await delay(1000 * 1)
+await conn.sendMessage(m.chat, {text: `${boost2}`, edit: key})
+await delay(1000 * 1)
+await conn.sendMessage(m.chat, {text: `${boost3}`, edit: key})
+await delay(1000 * 1)
+await conn.sendMessage(m.chat, {text: `${boost4}`, edit: key})
+await delay(1000 * 1)
+await conn.sendMessage(m.chat, {text: `${boost5}`, edit: key})
+
+let old = performance.now()
+let neww = performance.now()
+let speed = `${neww - old}`
+let doxeo = `โ
${await tr(`*Personas hackeada con รฉxitos ๐คฃ*\n\n*Tiempo: ${speed} segundos!*
+
+*Resultados:*
+*Nombre:* ${text}
+*Ip:* 192.28.213.234
+*N:* 43 7462
+*W:* 12.4893
+*SS NUMBER:* 6979191519182016
+*IPV6:* fe80::5dcd::ef69::fb22::d9888%12
+*UPNP:* Enabled
+*DMZ:* 10.112.42.15
+*MAC:* 5A:78:3E:7E:00
+*ISP:* TORNADO SLK PRODUCTION
+*DNS:* 8.8.8.8
+*ALT DNS:* 1.1.1.1.1
+*DNS SUFFIX:* TORNADO WI-FI
+*WAN:* 100.23.10.90
+*WAN TYPE:* private nat
+*GATEWAY:* 192.168.0.1
+*SUBNET MASK:* 255.255.0.255
+*UDP OPEN PORTS:* 8080.80
+*TCP OPEN PORTS:* 443
+*ROUTER VENDEDOR:* ERICCSON
+*DEVICE VENDEDOR:* WIN32-X
+*CONNECTION TYPE:* TORNADO SLK PRODUCTION
+*ICMPHOPS:* 192.168.0.1 192.168.1.1 100.73.43.4
+host-132.12.32.167.ucom.com
+host-132.12.111.ucom.com
+36.134.67.189 216.239.78.11
+Sof02s32inf14.1e100.net
+*HTTP:* 192.168.3.1:433-->92.28.211.234:80
+*Http:* 192.168.625-->92.28.211.455:80
+*Http:* 192.168.817-->92.28.211.8:971
+*Upd:* 192.168452-->92.28.211:7265288
+*Tcp:* 192.168.682-->92.28.211:62227.7
+*Tcp:* 192.168.725-->92.28.211:67wu2
+*Tcp:* 192.168.629-->92.28.211.167:8615
+*EXTERNAL MAC:* 6U:77:89:ER:O4
+*MODEM JUMPS:* 58`)}`
+await conn.sendMessage(m.chat, {text: doxeo, edit: key})
+user.prue = new Date * 1
+}
+
+//------------------------------------------------------------------------------------
+
+if (command == 'gay') {
+let vn = 'https://qu.ax/HfeP.mp3'
+let who
+if (m.isGroup) who = m.mentionedJid[0] ? m.mentionedJid[0] : m.sender
+else who = m.sender
+let member = participants.map(u => u.id)
+let me = m.sender
+let jodoh = member[Math.floor(Math.random() * member.length)]
+let random = `${Math.floor(Math.random() * 100)}`
+let gay = random
+if (gay < 20 ) {gay = 'Usted es hetero ๐คช๐ค'} else if (gay == 21 ) {gay = 'Mas o menos ๐ค'} else if (gay == 23 ) {gay = 'Mas o menos ๐ค'} else if (gay == 24 ) {ga = 'Mas o menos ๐ค'} else if (gay == 25 ) {gay = 'Mas o menos ๐ค'} else if (gay == 26 ) {gay = 'Mas o menos ๐ค'} else if (gay == 27 ) {gay = 'Mas o menos ๐ค'} else if (gay == 28 ) {gay = 'Mas o menos ๐ค'} else if (gay == 29 ) {gay = 'Mas o menos ๐ค'} else if (gay == 30 ) {gay = 'Mas o menos ๐ค'} else if (gay == 31 ) {gay = 'Tengo mi dudas ๐'} else if (gay == 32 ) {gay = 'Tengo mi dudas ๐'} else if (gay == 33 ) {gay = 'Tengo mi dudas ๐'} else if (gay == 34 ) {gay = 'Tengo mi dudas ๐'} else if (gay == 35 ) {gay = 'Tengo mi dudas ๐'} else if (gay == 36 ) {gay = 'Tengo mi dudas ๐'} else if (gay == 37 ) {gay = 'Tengo mi dudas ๐'} else if (gay == 38 ) {gay = 'Tengo mi dudas ๐'} else if (gay == 39 ) {gay = 'Tengo mi dudas ๐'} else if (gay == 40 ) {gay = 'Tengo mi dudas ๐'} else if (gay == 41 ) {gay = 'Tengo razon? ๐'} else if (gay == 42 ) {gay = 'Tengo razon? ๐'} else if (gay == 43 ) {gay = 'Tengo razon? ๐'} else if (gay == 44 ) {gay = 'Tengo razon? ๐'} else if (gay == 45 ) {gay = 'Tengo razon? ๐'} else if (gay == 46 ) {gay = 'Tengo razon? ๐'} else if (gay == 47 ) {gay = 'Tengo razon? ๐'} else if (gay == 48 ) {gay = 'Tengo razon? ๐'} else if (gay == 49 ) {gay = 'Tengo razon? ๐'} else if (gay == 50 ) {gay = 'Eres o no? ๐ง'} else if (gay > 51) {gay = 'Usted es gay ๐ฅธ'}
+//let kah = ra[Math.floor(Math.random() * ra.length)]
+let jawab = `@${who.split("@")[0]} Es ๐ณ๏ธโ๐ ${random}% Gay\n\n${gay}`
+let ments = [me, jodoh]
+conn.sendMessage(m.chat, { image: { url: global.API('https://some-random-api.com', '/canvas/gay', {
+avatar: await conn.profilePictureUrl(who, 'image').catch((_) => 'https://telegra.ph/file/24fa902ead26340f3df2c.png'),
+ })}, caption: jawab, contextInfo:{ mentionedJid:[who], forwardingScore: 9999999, isForwarded: false, }}, { quoted: m, ephemeralExpiration: 24*60*100, disappearingMessagesInChat: 24*60*100})
+await conn.sendFile(m.chat, vn, 'error.mp3', null, m, true, { type: 'audioMessage', ptt: true })}
+
+//------------------------------------------------------------------------------------
+
+if (command == 'gay2') {
+if (!text) return m.reply(GamTxt)
+let juego = `_*${text.toUpperCase()}* *ES* *${(500).getRandom()}%* *GAY*_ ๐ณ๏ธโ๐`.trim()
+await conn.reply(m.chat, juego, m, m.mentionedJid ? { mentions: m.mentionedJid } : {})}
+
+//------------------------------------------------------------------------------------
+
+if (command == 'lesbiana') {
+if (!text) return m.reply(GamTxt)
+let juego = `_*${text.toUpperCase()}* *ES* *${(500).getRandom()}%* *${command.replace('how', '').toUpperCase()}*_ ๐ณ๏ธโ๐`.trim()
+await conn.reply(m.chat, juego, m, m.mentionedJid ? { mentions: m.mentionedJid } : {})}
+
+//------------------------------------------------------------------------------------
+
+if (command == 'pajero') {
+if (!text) return m.reply(GamTxt)
+let juego = `_*${text.toUpperCase()}* *ES* *${(500).getRandom()}%* *${command.replace('how', '').toUpperCase()}*_ ๐๐ฆ`.trim()
+await conn.reply(m.chat, juego, m, m.mentionedJid ? { mentions: m.mentionedJid } : {})}
+
+//------------------------------------------------------------------------------------
+
+if (command == 'pajera') {
+if (!text) return m.reply(GamTxt)
+let juego = `_*${text.toUpperCase()}* *ES* *${(500).getRandom()}%* *${command.replace('how', '').toUpperCase()}*_ ๐๐ฆ`.trim()
+await conn.reply(m.chat, juego, m, m.mentionedJid ? { mentions: m.mentionedJid } : {})}
+
+//------------------------------------------------------------------------------------
+
+if (command == 'puto') {
+if (!text) return m.reply(GamTxt)
+let juego = `_*${text.toUpperCase()}* *ES* *${(500).getRandom()}%* *${command.replace('how', '').toUpperCase()},* *MรS INFORMACIรN A SU PRIVADO ๐ฅ๐ฅต XD*_`.trim()
+await conn.reply(m.chat, juego, m, m.mentionedJid ? { mentions: m.mentionedJid } : {})}
+
+//------------------------------------------------------------------------------------
+
+if (command == 'puta') {
+if (!text) return m.reply(GamTxt)
+let juego = `_*${text.toUpperCase()}* *ES* *${(500).getRandom()}%* *${command.replace('how', '').toUpperCase()},* *MรS INFORMACIรN A SU PRIVADO ๐ฅ๐ฅต XD*_`.trim()
+await conn.reply(m.chat, juego, m, m.mentionedJid ? { mentions: m.mentionedJid } : {})}
+
+//------------------------------------------------------------------------------------
+
+if (command == 'manco') {
+if (!text) return m.reply(GamTxt)
+let juego = `_*${text.toUpperCase()}* *ES* *${(500).getRandom()}%* *${command.replace('how', '').toUpperCase()} ๐ฉ*_`.trim()
+await conn.reply(m.chat, juego, m, m.mentionedJid ? { mentions: m.mentionedJid } : {})}
+
+//------------------------------------------------------------------------------------
+
+if (command == 'manca') {
+if (!text) return m.reply(GamTxt)
+let juego = `_*${text.toUpperCase()}* *ES* *${(500).getRandom()}%* *${command.replace('how', '').toUpperCase()} ๐ฉ*_`.trim()
+await conn.reply(m.chat, juego, m, m.mentionedJid ? { mentions: m.mentionedJid } : {})}
+
+//------------------------------------------------------------------------------------
+
+if (command == 'rata') {
+if (!text) return m.reply(GamTxt)
+let juego = `_*${text.toUpperCase()}* *ES* *${(500).getRandom()}%* *${command.replace('how', '').toUpperCase()} ๐ COME QUESO ๐ง*_`.trim()
+await conn.reply(m.chat, juego, m, m.mentionedJid ? { mentions: m.mentionedJid } : {})}
+
+//------------------------------------------------------------------------------------
+
+if (command == 'prostituto') {
+if (!text) return m.reply(GamTxt)
+let juego = `_*${text.toUpperCase()}* *ES* *${(500).getRandom()}%* *${command.replace('how', '').toUpperCase()} ๐ซฆ๐
, QUIEN QUIERE DE SUS SERVICIOS? XD*_`.trim()
+await conn.reply(m.chat, juego, m, m.mentionedJid ? { mentions: m.mentionedJid } : {})}
+
+//------------------------------------------------------------------------------------
+
+if (command == 'prostituta') {
+if (!text) return m.reply(GamTxt)
+let juego = `_*${text.toUpperCase()}* *ES* *${(500).getRandom()}%* *${command.replace('how', '').toUpperCase()} ๐ซฆ๐
, QUIEN QUIERE DE SUS SERVICIOS? XD*_`.trim()
+await conn.reply(m.chat, juego, m, m.mentionedJid ? { mentions: m.mentionedJid } : {})}
+
+//------------------------------------------------------------------------------------
+if (command == 'love') {
+if (!text) return m.reply(GamTxt)
+conn.reply(m.chat, `${await tr(`*โค๏ธโค๏ธ MEDIDOR DE AMOR โค๏ธโค๏ธ*
+*El amor de ${text} por ti es de*`)} *${Math.floor(Math.random() * 100)}%* ${await tr(`*de un 100%*
+*Deberias pedirle que sea tu novia/o ?*`)}`.trim(), m, m.mentionedJid ? {
+ mentions: m.mentionedJid
+ } : {})}
+
+//------------------------------------------------------------------------------------
+if (command == 'top') {
+if (!text) throw await tr(`Y el texto? ๐ค\nEjemplo: ${usedPrefix}top nedro`)
+let ps = groupMetadata.participants.map(v => v.id)
+let a = ps.getRandom()
+let b = ps.getRandom()
+let c = ps.getRandom()
+let d = ps.getRandom()
+let e = ps.getRandom()
+let f = ps.getRandom()
+let g = ps.getRandom()
+let h = ps.getRandom()
+let i = ps.getRandom()
+let j = ps.getRandom()
+let k = Math.floor(Math.random() * 70);
+let x = `${pickRandom(['๐ค','๐
','๐','๐ณ','๐', '๐ฅต', '๐ฑ', '๐ค', '๐', '๐ฉ','๐','๐คจ','๐ฅด','๐ฅ','๐๐ป','๐', '๐','๐'])}`
+let l = Math.floor(Math.random() * x.length);
+let vn = `https://hansxd.nasihosting.com/sound/sound${k}.mp3`
+let top = `*${x} Top 10 ${text} ${x}*
+
+*1. ${user(a)}*
+*2. ${user(b)}*
+*3. ${user(c)}*
+*4. ${user(d)}*
+*5. ${user(e)}*
+*6. ${user(f)}*
+*7. ${user(g)}*
+*8. ${user(h)}*
+*9. ${user(i)}*
+*10. ${user(j)}*`
+m.reply(top, null, { mentions: [a, b, c, d, e, f, g, h, i, j]})
+conn.sendFile(m.chat, vn, 'error.mp3', null, m, true, {
+type: 'audioMessage',
+ptt: true })}
+
+//------------------------------------------------------------------------------------
+
+ if (command == 'topgays') {
+let vn = 'https://qu.ax/HfeP.mp3'
+let top = `*๐TOP 10 GAYS/LESBIANAS DEL GRUPO๐*
+
+*_1.- ๐ณ๏ธโ๐ ${user(a)}_* ๐ณ๏ธโ๐
+*_2.- ๐ช ${user(b)}_* ๐ช
+*_3.- ๐ช ${user(c)}_* ๐ช
+*_4.- ๐ณ๏ธโ๐ ${user(d)}_* ๐ณ๏ธโ๐
+*_5.- ๐ช ${user(e)}_* ๐ช
+*_6.- ๐ช ${user(f)}_* ๐ช
+*_7.- ๐ณ๏ธโ๐ ${user(g)}_* ๐ณ๏ธโ๐
+*_8.- ๐ช ${user(h)}_* ๐ช
+*_9.- ๐ช ${user(i)}_* ๐ช
+*_10.- ๐ณ๏ธโ๐ ${user(j)}_* ๐ณ๏ธโ๐`
+m.reply(top, null, { mentions: conn.parseMention(top) })
+conn.sendFile(m.chat, vn, 'error.mp3', null, m, true, {
+type: 'audioMessage',
+ptt: true })}
+
+//------------------------------------------------------------------------------------
+
+if (command == 'topotakus') {
+let vn = 'https://qu.ax/ZgFZ.mp3'
+let top = `*๐ธ TOP 10 OTAKUS DEL GRUPO ๐ธ*
+
+*_1.- ๐ฎ ${user(a)}_* ๐ฎ
+*_2.- ๐ท ${user(b)}_* ๐ท
+*_3.- ๐ฎ ${user(c)}_* ๐ฎ
+*_4.- ๐ท ${user(d)}_* ๐ท
+*_5.- ๐ฎ ${user(e)}_* ๐ฎ
+*_6.- ๐ท ${user(f)}_* ๐ท
+*_7.- ๐ฎ ${user(g)}_* ๐ฎ
+*_8.- ๐ท ${user(h)}_* ๐ท
+*_9.- ๐ฎ ${user(i)}_* ๐ฎ
+*_10.- ๐ท ${user(j)}_* ๐ท`
+m.reply(top, null, { mentions: conn.parseMention(top) })
+conn.sendFile(m.chat, vn, 'otaku.mp3', null, m, true, {
+type: 'audioMessage',
+ptt: true
+})}
+
+//------------------------------------------------------------------------------------
+
+if (command == 'topintegrantes' || command == 'topintegrante') {
+let top = `*_๐TOP 10 L@S MEJORES INTEGRANTES๐_*
+
+*_1.- ๐ ${user(a)}_* ๐
+*_2.- ๐ ${user(b)}_* ๐
+*_3.- ๐ ${user(c)}_* ๐
+*_4.- ๐ ${user(d)}_* ๐
+*_5.- ๐ ${user(e)}_* ๐
+*_6.- ๐ ${user(f)}_* ๐
+*_7.- ๐ ${user(g)}_* ๐
+*_8.- ๐ ${user(h)}_* ๐
+*_9.- ๐ ${user(i)}_* ๐
+*_10.- ๐ ${user(j)}_* ๐`
+m.reply(top, null, { mentions: conn.parseMention(top) })}
+
+//------------------------------------------------------------------------------------
+
+if (command == 'toplagrasa' || command == 'topgrasa') {
+let top = `*_Uwu TOP 10 LA GRASA Uwu_*
+
+*_1.- Bv ${user(a)} Bv_*
+*_2.- :v ${user(b)} :v_*
+*_3.- :D ${user(c)} :D_*
+*_4.- Owo ${user(d)} Owo_*
+*_5.- U.u ${user(e)} U.u_*
+*_6.- >:v ${user(f)} >:v_*
+*_7.- :'v ${user(g)} :'v_*
+*_8.- ._. ${user(h)} ._._*
+*_9.- :V ${user(i)} :V_*
+*_10.- XD ${user(j)} XD_*`
+m.reply(top, null, { mentions: conn.parseMention(top) })}
+
+//------------------------------------------------------------------------------------
+
+if (command == 'toppanafrescos' || command == 'toppanafresco') {
+let top = `*_๐TOP 10 PANAFRESCOS๐_*
+
+*_1.- ๐ค ${user(a)}_* ๐ค
+*_2.- ๐ค ${user(b)}_* ๐ค
+*_3.- ๐ ${user(c)}_* ๐
+*_4.- ๐ ${user(d)}_* ๐
+*_5.- ๐ง ${user(e)}_* ๐ง
+*_6.- ๐ ${user(f)}_* ๐
+*_7.- ๐ ${user(g)}_* ๐
+*_8.- ๐ค ${user(h)}_* ๐ค
+*_9.- ๐ช ${user(i)}_* ๐ช
+*_10.- ๐ ${user(j)}_* ๐`
+m.reply(top, null, { mentions: conn.parseMention(top) })}
+
+//------------------------------------------------------------------------------------
+
+if (command == 'topshiposters' || command == 'topshipost') {
+let top = `*_๐ฑTOP 10 SHIPOSTERS DEL GRUPO๐ฑ_*
+
+*_1.- ๐ ${user(a)}_* ๐
+*_2.- ๐ค ${user(b)}_* ๐ค
+*_3.- ๐ฅถ ${user(c)}_* ๐ฅถ
+*_4.- ๐ค ${user(d)}_* ๐ค
+*_5.- ๐ฅต ${user(e)}_* ๐ฅต
+*_6.- ๐ค ${user(f)}_* ๐ค
+*_7.- ๐ ${user(g)}_* ๐
+*_8.- ๐จ ${user(h)}_* ๐จ
+*_9.- ๐ ${user(i)}_* ๐
+*_10.- ๐ค ${user(j)}_* ๐ค `
+m.reply(top, null, { mentions: conn.parseMention(top) })}
+
+//------------------------------------------------------------------------------------
+
+if (command == 'toppajer@s') {
+let top = `*_๐TOP L@S MAS PAJEROS/AS DEL GRUPO๐ฆ_*
+
+*_1.- ๐ฅต ${user(a)}_* ๐ฆ
+*_2.- ๐ฅต ${user(b)}_* ๐ฆ
+*_3.- ๐ฅต ${user(c)}_* ๐ฆ
+*_4.- ๐ฅต ${user(d)}_* ๐ฆ
+*_5.- ๐ฅต ${user(e)}_* ๐ฆ
+*_6.- ๐ฅต ${user(f)}_* ๐ฆ
+*_7.- ๐ฅต ${user(g)}_* ๐ฆ
+*_8.- ๐ฅต ${user(h)}_* ๐ฆ
+*_9.- ๐ฅต ${user(i)}_* ๐ฆ
+*_10.- ๐ฅต ${user(j)}_* ๐ฆ`
+m.reply(top, null, { mentions: conn.parseMention(top) })}
+
+//------------------------------------------------------------------------------------
+
+if (command == 'toplind@s' || command == 'toplindos') {
+let top = `*_๐ณTOP L@S MAS LIND@S Y SEXIS DEL GRUPO๐ณ_*
+
+*_1.- โจ ${user(a)}_* โจ
+*_2.- โจ ${user(b)}_* โจ
+*_3.- โจ ${user(c)}_* โจ
+*_4.- โจ ${user(d)}_* โจ
+*_5.- โจ ${user(e)}_* โจ
+*_6.- โจ ${user(f)}_* โจ
+*_7.- โจ ${user(g)}_* โจ
+*_8.- โจ ${user(h)}_* โจ
+*_9.- โจ ${user(i)}_* โจ
+*_10.- โจ ${user(j)}_* โจ`
+m.reply(top, null, { mentions: conn.parseMention(top) })}
+
+//------------------------------------------------------------------------------------
+
+if (command == 'topput@s') {
+let top = `*_๐TOP L@S MAS PUT@S DEL GRUPO SON๐ฅ_*
+
+*_1.- ๐ ${user(a)}_* ๐
+*_2.- ๐ ${user(b)}_* ๐
+*_3.- ๐ ${user(c)}_* ๐
+*_4.- ๐ ${user(d)}_* ๐
+*_5.- ๐ ${user(e)}_* ๐
+*_6.- ๐ ${user(f)}_* ๐
+*_7.- ๐ ${user(g)}_* ๐
+*_8.- ๐ ${user(h)}_* ๐
+*_9.- ๐ ${user(i)}_* ๐
+*_10.- ๐ ${user(j)}_* ๐`
+m.reply(top, null, { mentions: conn.parseMention(top) })}
+
+//------------------------------------------------------------------------------------
+
+if (command == 'topfamosos' || command == 'topfamos@s') {
+let top = `*_๐TOP PERSONAS FAMOSAS EN EL GRUPO๐_*
+
+*_1.- ๐ซ ${user(a)}_* ๐ซ
+*_2.- ๐ฅ ${user(b)}_* ๐ฅ
+*_3.- ๐คฉ ${user(c)}_* ๐คฉ
+*_4.- ๐ซ ${user(d)}_* ๐ซ
+*_5.- ๐ฅ ${user(e)}_* ๐ฅ
+*_6.- ๐คฉ ${user(f)}_* ๐คฉ
+*_7.- ๐ซ ${user(g)}_* ๐ซ
+*_8.- ๐ฅ ${user(h)}_* ๐ฅ
+*_9.- ๐คฉ ${user(i)}_* ๐คฉ
+*_10.- ๐ซ ${user(j)}_* ๐ซ`
+m.reply(top, null, { mentions: conn.parseMention(top) })}
+
+//------------------------------------------------------------------------------------
+
+if (command == 'topparejas' || command == 'top5parejas') {
+let top = `*_๐ Las 5 maravillosas parejas del grupo ๐_*
+
+*_1.- ${user(a)} ๐ ${user(b)}_*
+Que hermosa pareja ๐, me invitan a su Boda ๐
+
+*_2.- ${user(c)} ๐ ${user(d)}_*
+๐น Ustedes se merecen lo mejor del mundo ๐
+
+*_3.- ${user(e)} ๐ ${user(f)}_*
+Tan enamorados ๐, para cuando la familia ๐ฅฐ
+
+*_4.- ${user(g)} ๐ ${user(h)}_*
+๐ Decreto que ustedes son la pareja del Aรฑo ๐
+
+*_5.- ${user(i)} ๐ ${user(j)}_*
+Genial! ๐, estรกn de Luna de miel ๐ฅตโจโค๏ธโ๐ฅ`
+m.reply(top, null, { mentions: conn.parseMention(top) })}
+} catch (e) {
+//await conn.reply(m.chat, `${lenguajeGB['smsMalError3']()}#report ${lenguajeGB['smsMensError2']()} ${usedPrefix + command}\n\n${wm}`, fkontak, m)
+//console.log(`โโ ${lenguajeGB['smsMensError2']()} ${usedPrefix + command} โโ`)
+console.log(e)}}
+handler.help = ["love", "gay2", "lesbiana", "pajero", "pajera", "puto", "puta", "manco", "manca", "rata", "prostituta", "prostituto", "amigorandom", "amistad", "regalar", "formarpareja", "gay", "personalidad", "pregunta", "ship", "topgays", "top", "topputos", "toplindos", "toppajer@s", "topshipost", "toppanafresco", "topgrasa", "topintegrantes", "topfamos@s", "topsostero", "top5parejas", "Doxxeo", "doxxeo", "follar"];
+handler.tags = ['game'];
+handler.command = /^love|gay2|lesbiana|pajero|pajera|puto|puta|manco|manca|rata|prostituta|prostituto|amigorandom|amistad|regalar|dar|enviar|meter|chupar|metersela|retar|formarpareja|formarparejas|gay|personalidad|pregunta|preguntas|apakah|ship|shippear|topgays|top|topputos|toplindos|toplind@s|toppajer@s|toppajeros|topshipost|topshiposters|toppanafresco|topgrasa|toppanafrescos|toplagrasa|topintegrante|topintegrantes|topotakus|topfamosos|topfamos@s|topsostero|topparejas|top5parejas|Doxxeo|doxxeo|doxxear|Doxxear|doxeo|doxear|doxxeame|doxeame|ruletas|ruleta|suerte|violar|follar/i
+handler.register = true
+export default handler
+
+function pickRandom(list) {
+return list[Math.floor(Math.random() * list.length)]}
+
+const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms))
+
+function msToTime(duration) {
+var milliseconds = parseInt((duration % 1000) / 100),
+seconds = Math.floor((duration / 1000) % 60),
+minutes = Math.floor((duration / (1000 * 60)) % 60),
+hours = Math.floor((duration / (1000 * 60 * 60)) % 24)
+hours = (hours < 10) ? "0" + hours : hours
+minutes = (minutes < 10) ? "0" + minutes : minutes
+seconds = (seconds < 10) ? "0" + seconds : seconds
+return hours + " Hora(s) " + minutes + " Minuto(s)"}
+
+//conn.sendHydrated(m.chat, juego, wm, null, md, '๐๐๐ฉ๐๐ฝ๐ค๐ฉ-๐๐ฟ', null, null, [
+//['๐๐๐ฃ๐ช ๐
๐ช๐๐๐ค๐จ | ๐๐๐ข๐๐จ ๐๐๐ฃ๐ช ๐ก', '#juegosmenu'],
+//['๐๐ฉ๐ง๐ ๐ซ๐๐ฏ | ๐ผ๐๐๐๐ฃ ๐คญ', `${usedPrefix + command} ${text.toUpperCase()}`],
+//['๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ | ๐ฝ๐๐๐ ๐ฉ๐ค ๐๐๐ฃ๐ช โ๏ธ', '/menu']
+//], m, m.mentionedJid ? {
+//mentions: m.mentionedJid
+//} : {})}
\ No newline at end of file
diff --git a/plugins/fun-love.js b/plugins/fun-love.js
deleted file mode 100644
index 9221d38b4..000000000
--- a/plugins/fun-love.js
+++ /dev/null
@@ -1,11 +0,0 @@
-let handler = async (m, { conn, command, text }) => {
-let love = `*โค๏ธโค๏ธ MEDIDOR DE AMOR โค๏ธโค๏ธ*
-
-*El amor de ${text} por ti es de* *${Math.floor(Math.random() * 100)}%* *de un 100%*
-*Deberias pedirle que sea tu novia/o ?*
-`.trim()
-m.reply(love, null, { mentions: conn.parseMention(love) })}
-handler.help = ['love']
-handler.tags = ['fun']
-handler.command = /^(love)$/i
-export default handler
diff --git a/plugins/fun-multijuegos.js b/plugins/fun-multijuegos.js
deleted file mode 100644
index 7aab155e2..000000000
--- a/plugins/fun-multijuegos.js
+++ /dev/null
@@ -1,226 +0,0 @@
-import { xpRange } from '../lib/levelling.js'
-import PhoneNumber from 'awesome-phonenumber'
-import { promises } from 'fs'
-import { join } from 'path'
-import { performance } from 'perf_hooks'
-let handler = async (m, { conn, usedPrefix, command, args, usedPrefix: _p, __dirname, isOwner, text, isAdmin, isROwner }) => {
-
-//let com = `${usedPrefix}`
-//let juegos = `${pickRandom([`${com}formarareja`,`${com}reto`,`${com}verdad`])}`
-
-
-
-const { levelling } = '../lib/levelling.js'
-//let handler = async (m, { conn, usedPrefix, usedPrefix: _p, __dirname, text }) => {
-
-let { exp, limit, level, role } = global.db.data.users[m.sender]
-let { min, xp, max } = xpRange(level, global.multiplier)
-
-let d = new Date(new Date + 3600000)
-let locale = 'es'
-let weton = ['Pahing', 'Pon', 'Wage', 'Kliwon', 'Legi'][Math.floor(d / 84600000) % 5]
-let week = d.toLocaleDateString(locale, { weekday: 'long' })
-let date = d.toLocaleDateString(locale, {
-day: 'numeric',
-month: 'long',
-year: 'numeric'
-})
-let dateIslamic = Intl.DateTimeFormat(locale + '-TN-u-ca-islamic', {
-day: 'numeric',
-month: 'long',
-year: 'numeric'
-}).format(d)
-let time = d.toLocaleTimeString(locale, {
-hour: 'numeric',
-minute: 'numeric',
-second: 'numeric'
-})
-let _uptime = process.uptime() * 1000
-let _muptime
-if (process.send) {
-process.send('uptime')
-_muptime = await new Promise(resolve => {
-process.once('message', resolve)
-setTimeout(resolve, 1000)
-}) * 1000
-}
-let muptime = clockString(_muptime)
-let uptime = clockString(_uptime)
-let totalreg = Object.keys(global.db.data.users).length
-let rtotalreg = Object.values(global.db.data.users).filter(user => user.registered == true).length
-let replace = {
-'%': '%',
-p: _p, uptime, muptime,
-me: conn.getName(conn.user.jid),
-
-exp: exp - min,
-maxexp: xp,
-totalexp: exp,
-xp4levelup: max - exp,
-
-level, limit, weton, week, date, dateIslamic, time, totalreg, rtotalreg, role,
-readmore: readMore
-}
-text = text.replace(new RegExp(`%(${Object.keys(replace).sort((a, b) => b.length - a.length).join`|`})`, 'g'), (_, name) => '' + replace[name])
-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)
-
-await delay(5000)
-if (command == 'multijuegos') {
- global.db.data.users[m.sender].limit += 1
-
- //let loli = `${pickRandom([`๐๐ช๐๐๐๐จ ๐๐๐ฃ๐๐ง ๐ฟ๐๐๐ข๐๐ฃ๐ฉ๐๐จ ๐๐ก ๐
๐ช๐๐๐ง!!`,`๐๐๐๐ช๐ ๐๐ช๐๐๐ฃ๐๐ค ๐ฅ๐๐ง๐ ๐๐๐ฃ๐๐ง Loli๐พ๐ค๐๐ฃ๐จ!!`,`๐๐๐๐๐๐จ ๐ฆ๐ช๐ ๐ฅ๐ช๐๐๐๐จ ๐๐๐ฃ๐๐ง ๐๐ญ๐ฅ๐๐ง๐๐๐ฃ๐๐๐ ๐๐ก ๐
๐ช๐๐๐ง? ๐ผ๐๐ค๐ง๐ ๐ฎ๐ ๐ก๐ค ๐จ๐๐๐๐จ!!`])}`
- //let s = `Bienvenido al Multijuegos Aleeatorios`
-
- const templateButtonsReplyMessage = [
-{index: 1, urlButton: {displayText: '๐ป๐๐ ๐ณ๐๐๐๐๐๐-๐ด๐ซ', url: 'https://github.com/elrebelde21/The-LoliBot-MD'}},
-{index: 2, urlButton: {displayText: '๐๐ฃ๐จ๐ฉ๐๐๐ง๐๐ข', url: 'https://www.instagram.com/gata_dios/'}},
-{index: 3, quickReplyButton: {displayText: '๐๐ฃ๐๐๐๐๐ง โจ', id: '.juegos'}},
-{index: 4, quickReplyButton: {displayText: '๐๐๐ฃ๐ช ๐
๐ช๐๐๐ค๐จ ๐ก', id: '#juegosmenu'}},
-{index: 5, quickReplyButton: {displayText: '๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ โ๏ธ', id: '#menu'}},
-]
-
-let t = {
-text: global.wm,
-footer: `๐ฝ๐๐๐ฃ๐ซ๐๐ฃ๐๐๐ค(๐) ${username}\n๐
๐ช๐๐๐๐จ ๐ช๐ฃ๐ ๐๐ง๐๐ฃ ๐ซ๐๐ง๐๐๐๐๐ ๐๐ ๐๐ช๐๐๐ค๐จ!!`,
-templateButtons: templateButtonsReplyMessage
- }
-conn.sendMessage(m.chat, t, m)
-}
-
-
- if (command == 'juegos') {
- global.db.data.users[m.sender].money += 5
- let gata = `${pickRandom([`๐๐ช๐๐๐๐จ ๐๐๐ฃ๐๐ง ๐ฟ๐๐๐ข๐๐ฃ๐ฉ๐๐จ ๐๐ก ๐
๐ช๐๐๐ง!!`,`๐๐๐๐ช๐ ๐๐ช๐๐๐ฃ๐๐ค ๐ฅ๐๐ง๐ ๐๐๐ฃ๐๐ง loli๐พ๐ค๐๐ฃ๐จ!!`,`๐๐๐๐๐๐จ ๐ฆ๐ช๐ ๐ฅ๐ช๐๐๐๐จ ๐๐๐ฃ๐๐ง ๐๐ญ๐ฅ๐๐ง๐๐๐ฃ๐๐๐ ๐๐ก ๐
๐ช๐๐๐ง? ๐ผ๐๐ค๐ง๐ ๐ฎ๐ ๐ก๐ค ๐จ๐๐๐๐จ!!`])}`
- let c = `${usedPrefix}`
- let juegos = `${pickRandom([`${c}reto`,`${c}verdad`,`${c}topgays`,`${c}topotakus`,`${c}mates medium`,`${c}mates noob`])}`
- let juegos2 = `${pickRandom([`${c}reto`,`${c}verdad`,`${c}formarpareja`,`${c}ppt tijeras`,`${c}ppt piedra`])}`
- let juegos3 = `${pickRandom([`${c}gay`,`${c}ppt papel`,`${c}pregunta Soy Pro en el Grupo?`,`${c}mates impossible2`,`${c}rata Yo`])}`
- let emojis1 = `${pickRandom([`๐ฆ`,`๐ฎ`,`๐ฆ`,`๐ป`,`๐`,`๐`,`๐
`,`๐`])}`
- let emojis2 = `${pickRandom([`๐`,`โฎ๏ธ`,`โช๏ธ`,`โฏ๏ธ`,`๐๏ธ`,`โธ๏ธ`,`โก๏ธ`,`๐ฏ`])}`
- let emojis3 = `${pickRandom([`๐ธ`,`๐`,`๐`,`๐ง `,`โ๏ธ`,`๐ค`,`๐ข`,`๐`])}`
-
-
- let ss = await `๐ป๐๐ ๐ณ๐๐๐๐๐๐-๐ด๐ซ`
-
- const templateButtonsReplyMessage = [
-{index: 1, urlButton: {displayText: '๐ป๐๐ ๐ณ๐๐๐๐๐๐-๐ด๐ซ', url: 'https://github.com/elrebelde21/The-LoliBot-MD'}},
-{index: 2, urlButton: {displayText: '๐๐ฃ๐จ๐ฉ๐๐๐ง๐๐ข', url: ''}},
-{index: 3, quickReplyButton: {displayText: `๐
๐ช๐๐๐ง ${emojis1}`, id: juegos}},
-{index: 4, quickReplyButton: {displayText: `๐
๐ช๐๐๐ง ${emojis2}`, id: juegos2}},
-{index: 5, quickReplyButton: {displayText: `๐
๐ช๐๐๐ง ${emojis3}`, id: juegos3}},
-]
-
-let tt = {
-text: ss,
-footer: gata,
-templateButtons: templateButtonsReplyMessage
-}
-conn.sendMessage(m.chat, tt, m)
-}
-
-
- if (command == 'juegos') {
- global.db.data.users[m.sender].money += 10
- let gata = `${pickRandom([`๐ฟ๐๐ข๐ช๐๐จ๐ฉ๐ง๐ ๐ฆ๐ช๐ ๐ฅ๐ช๐๐๐๐จ ๐ก๐ก๐๐๐๐ง ๐๐ก ๐๐ค๐ฅ 1!!`,`๐๐๐๐ฃ๐ฉ๐ง๐๐จ ๐ข๐๐จ ๐
๐ช๐๐๐๐จ ๐ฉ๐ช ๐๐๐ฃ๐๐ค ๐ฉ๐๐ข๐๐๐๐ฃ ๐จ๐ช๐๐๐ง๐!!`,`๐๐๐ง๐ฉ๐๐๐๐ฅ๐ ๐๐ฃ ๐๐ก ๐ข๐ค๐๐ค ๐๐ช๐ก๐ฉ๐๐๐ช๐๐๐ค๐จ ๐ฎ ๐๐๐ฃ๐ ๐ง๐๐๐ค๐ข๐ฅ๐๐ฃ๐จ๐๐จ!!`])}`
- let c = `${usedPrefix}`
- let juegos = `${pickRandom([`${c}lesbiana Yo`,`${c}doxxear`,`${c}pajero Yo`,`${c}love Tรบ Mejor Amigo/a`,`${c}reto`,`${c}verdad`,`${c}ppt piedra`,`${c}puta Yo`,`${c}mates medium`,`${c}simi Que`])}`
- let juegos2 = `${pickRandom([`${c}ppt piedra`,`${c}mates noob`,`${c}pregunta El cielo y el infierno existen?`,`${c}pregunta Hay una sola vida?`,`${c}pregunta Los robots y androides podrรกn tener sentimientos en algรบn momento?`,`${c}pregunta De verdad el universo es infinito?`,`${c}pajera Yo`,`${c}manca Yo`,`${c}manco Yo`,`${c}pregunta Hay un destino?`,`${c}pregunta Se puede tener todo lo que se quiere?`])}`
- let juegos3 = `${pickRandom([`${c}puto รl de arriba`,`${c}puta La de arriba`,`${c}pregunta Se puede viajar en el tiempo?`,`${c}pregunta Hay un solo Universo?`,`${c}rata Yo`,`${c}mates impossible`,`${c}prostituto Yo`,`${c}prostituta Yo`,`${c}pregunta Soy Pro en el Grupo?`,`${c}mates impossible2`,`${c}rata Yo`])}`
- let emojis1 = `${pickRandom([`๐`,`๐ณ`,`๐ค`,`๐ค `,`๐คญ`,`๐`,`๐`,`๐ฅด`])}`
- let emojis2 = `${pickRandom([`๐ต๐ปโโ๏ธ`,`๐ต๐ฝโโ๏ธ`,`๐ต๐ปโโ๏ธ`,`๐ต๐พโโ๏ธ`,`๐ฉ๐ฟโโ๏ธ`,`๐ง๐ฟโโ๏ธ`,`๐ฉ๐ปโโ๏ธ`,`๐ง๐ปโโ๏ธ`,`๐ฉ๐ผโโ๏ธ`,`๐ง๐ผโโ๏ธ`,`๐ฉ๐ปโ๐ณ`,`๐ง๐ฝโ๐ณ`,`๐ฉ๐พโ๐ณ`,`๐ง๐ฟโ๐ณ`,`๐ฉ๐ปโ๐`,`๐ฉ๐ผโ๐`,`๐ง๐พโ๐`,`๐ง๐ปโ๐`,`๐ฉ๐ฟโ๐`,`๐ง๐พโ๐`,`๐ฉ๐ฝโ๐`,`๐ง๐ฝโ๐`,`๐ฉ๐ปโโ๏ธ`,`๐ง๐ปโโ๏ธ`,`๐ฉ๐ฝโโ๏ธ`,`๐ง๐พโโ๏ธ`,`๐ฉ๐ผโโ๏ธ`,`๐ง๐ผโโ๏ธ`,`๐ง๐พโโ๏ธ`,`๐ง๐พโโ๏ธ`,`๐ง๐ปโโ๏ธ`,`๐ง๐ปโโ๏ธ`,`๐ง๐ปโโ๏ธ`,`๐ง๐ปโโ๏ธ`,`๐ง๐ฟโโ๏ธ`,`๐ง๐ฟโโ๏ธ`,`๐ง๐ฝโโ๏ธ`,`๐ง๐ฝโโ๏ธ`,`๐งโโ๏ธ`,`๐งโโ๏ธ`,`๐ฉ๐ปโ๐จ`,`๐ฉ๐ผโ๐จ`,`๐ฉ๐ฟโ๐จ`,`๐ง๐ปโ๐จ`,`๐ง๐ผโ๐จ`,`๐ง๐ฟโ๐จ`])}`
- let emojis3 = `${pickRandom([`๐`,`๐`,`๐`,`๐ก`,`๐จ`,`๐ฅง`,`๐`,`๐`,`๐ซ`,`๐ซ`,`๐`,`๐ฉ`,`๐ช`,`๐ฟ`])}`
-
- let sss = await `๐ป๐๐ ๐ณ๐๐๐๐๐๐-๐ด๐ซ`
-
- const templateButtonsReplyMessage = [
-{index: 1, urlButton: {displayText: '๐ป๐๐ ๐ณ๐๐๐๐๐๐-๐ด๐ซ', url: 'https://github.com/elrebelde21/The-LoliBot-MD'}},
-{index: 2, urlButton: {displayText: '๐๐ค๐ช๐ฉ๐ช๐๐', url: 'https://www.youtube.com/@TheLoliBot-MD'}},
-{index: 3, quickReplyButton: {displayText: `๐
๐ช๐๐๐ง ${emojis1}`, id: juegos}},
-{index: 4, quickReplyButton: {displayText: `๐
๐ช๐๐๐ง ${emojis2}`, id: juegos2}},
-{index: 5, quickReplyButton: {displayText: `๐
๐ช๐๐๐ง ${emojis3}`, id: juegos3}},
-]
-let ttt = {
-text: sss,
-footer: gata,
-templateButtons: templateButtonsReplyMessage
-}
-conn.sendMessage(m.chat, ttt, m)
-}
-
- if (command == 'juegos') {
- global.db.data.users[m.sender].exp += 20
- let gata = `${pickRandom([`๐๐ก๐๐๐ ๐๐ช ๐๐ข๐ค๐๐ ๐๐๐ซ๐ค๐ง๐๐ฉ๐ค ๐ฅ๐๐ง๐ ๐
๐ช๐๐๐ง!!`,`๐ผ๐๐๐ซ๐๐ฃ๐ ๐๐ก ๐๐ง๐ค๐ญ๐๐ข๐ค ๐
๐ช๐๐๐ค!!`,`๐ผ๐๐๐ซ๐๐ฃ๐ ๐๐ก ๐๐ง๐ค๐ญ๐๐ข๐ค ๐
๐ช๐๐๐ค!!`,`๐๐๐ฃ๐๐๐ช๐๐๐ค๐จ ๐๐จ๐ฉรก๐ฃ ๐๐จ๐ฅ๐๐ง๐๐ฃ๐๐ค ๐๐ฃ ๐จ๐๐ง ๐
๐ช๐๐๐๐ค๐จ!!`])}`
- let c = `${usedPrefix}`
- let juegos = `${pickRandom([`${c}lesbiana Yo`,`${c}doxxear`,`${c}pajero Yo`,`${c}love Tรบ Mejor Amigo/a`,`${c}reto`,`${c}verdad`,`${c}ppt piedra`,`${c}puta Yo`,`${c}mates medium`,`${c}simi Que`])}`
- let juegos2 = `${pickRandom([`${c}ppt piedra`,`${c}mates noob`,`${c}pregunta El cielo y el infierno existen?`,`${c}pregunta Hay una sola vida?`,`${c}pregunta Los robots y androides podrรกn tener sentimientos en algรบn momento?`,`${c}pregunta De verdad el universo es infinito?`,`${c}pajera Yo`,`${c}manca Yo`,`${c}manco Yo`,`${c}pregunta Hay un destino?`,`${c}pregunta Se puede tener todo lo que se quiere?`])}`
- let juegos3 = `${pickRandom([`${c}puto รl de arriba`,`${c}puta La de arriba`,`${c}pregunta Se puede viajar en el tiempo?`,`${c}pregunta Hay un solo Universo?`,`${c}rata Yo`,`${c}mates impossible`,`${c}prostituto Yo`,`${c}prostituta Yo`,`${c}pregunta Soy Pro en el Grupo?`,`${c}mates impossible2`,`${c}rata Yo`])}`
- let emojis1 = `${pickRandom([`๐`,`๐ฒ`,`๐ด`,`๐ฑ`,`๐ฟ`,`โ๏ธ`,`๐`,`๐`,`๐`,`๐`,`๐`,`๐ท`,`๐น`,`๐`,`๐ผ`,`๐ป`,`๐บ`,`๐ธ`])}`
- let emojis2 = `${pickRandom([`โค๏ธ`,`๐งก`,`๐`,`๐`,`๐`,`๐`,`๐ค`,`๐`,`โค๏ธโ๐ฅ`,`โค๏ธโ๐ฉน`,`โฃ๏ธ`,`๐`,`๐`,`๐`,`๐`,`๐`,`๐`,`๐`])}`
- let emojis3 = `${pickRandom([`๐ฅ`,`๐ฅ`,`๐ฃ`,`๐`,`๐`,`๐`,`โจ`,`โญ`,`๐ซ`,`๐`,`๐`,`๐ฅ`,`๐ฅ`,`โ๏ธ`,`โ๏ธ`,`โฑ๏ธ`,`๐ฟ`,`๐ฎ`])}`
-
- let ssss = await `๐ป๐๐ ๐ณ๐๐๐๐๐๐-๐ด๐ซ`
-
- const templateButtonsReplyMessage = [
-{index: 1, urlButton: {displayText: null, url: null}},
-{index: 2, urlButton: {displayText: null, url: null}},
-{index: 3, quickReplyButton: {displayText: `๐
๐ช๐๐๐ง ${emojis1}`, id: juegos}},
-{index: 4, quickReplyButton: {displayText: `๐
๐ช๐๐๐ง ${emojis2}`, id: juegos2}},
-{index: 5, quickReplyButton: {displayText: `๐
๐ช๐๐๐ง ${emojis3}`, id: juegos3}},
-]
-let tttt = {
-text: ssss,
-footer: `${gata}`,
-templateButtons: templateButtonsReplyMessage
- }
-conn.sendMessage(m.chat, tttt, m)
-}
-
-
-
- if (command == 'juegos') {
- global.db.data.users[m.sender].exp += 20
- let gata = `${pickRandom([`๐พ๐๐ง๐๐ ๐ข๐๐จ ๐
๐ช๐๐๐ค๐จ ๐ช๐จ๐๐ฃ๐๐ค ๐๐ก ๐ฝ๐ค๐ฉ๐ค๐ฃ ๐๐๐จ ๐
๐ช๐๐๐ค๐จ!!`,`๐ฟ๐๐ฃ๐๐ข๐๐๐๐จ, ๐๐๐ฉ๐ค๐จ, ๐ผ๐ฅ๐ช๐๐จ๐ฉ๐๐จ, ๐๐ฉ๐๐ฆ๐ช๐๐ฉ๐๐จ ๐ฎ ๐ข๐ช๐๐๐ค ๐ข๐๐จ!!`])}`
- let c = `${usedPrefix}`
- let juegos2 = `${pickRandom([`${c}ppt piedra`,`${c}mates noob`,`${c}pregunta El cielo y el infierno existen?`,`${c}pregunta Hay una sola vida?`,`${c}pregunta Los robots y androides podrรกn tener sentimientos en algรบn momento?`,`${c}pregunta De verdad el universo es infinito?`,`${c}pajera Yo`,`${c}manca Yo`,`${c}manco Yo`,`${c}pregunta Hay un destino?`,`${c}pregunta Se puede tener todo lo que se quiere?`])}`
- let juegos3 = `${pickRandom([`${c}puto รl de arriba`,`${c}puta La de arriba`,`${c}pregunta Se puede viajar en el tiempo?`,`${c}pregunta Hay un solo Universo?`,`${c}rata Yo`,`${c}mates impossible`,`${c}prostituto Yo`,`${c}prostituta Yo`,`${c}pregunta Soy Pro en el Grupo?`,`${c}mates impossible2`,`${c}rata Yo`])}`
- let emojis1 = `${pickRandom([`๐ณ๏ธ`,`๐ด`,`๐ดโโ ๏ธ`,`๐`,`๐ฉ`,`๐ณ๏ธโ๐`,`๐ณโโง`,`๐ง๐ท`,`๐จ๐ฑ`,`๐ฆ๐ท`,`๐ง๐ด`,`๐ป๐ช`,`๐ญ๐ณ`,`๐บ๐พ`,`๐จ๐ด`,`๐ต๐ช`,`๐ต๐ฆ`,`๐ณ๐ฎ`,`๐ฌ๐น`,`๐จ๐บ`,`๐จ๐ท`,`๐ญ๐น`,`๐ฉ๐ด`,`๐ฒ๐ฝ`,`๐ธ๐ป`,`๐ฌ๐พ`,`๐บ๐ธ`,`๐จ๐ฆ`,`๐ฑ๐จ`,`๐ช๐จ`])}`
- let emojis2 = `${pickRandom([`๐`,`๐`,`๐`,`๐`,`๐๏ธ`,`๐`,`๐`,`๐`,`๐`,`๐ `,`๐`,`๐
`,`๐๏ธ`,`๐`,`๐พ`,`๐๏ธ`,`๐๏ธ`,`๐๏ธ`,`๐ผ`,`๐ฝ`,`๐บ๏ธ`,`๐๏ธ`])}`
-
- let ssss = await `๐ป๐๐ ๐ณ๐๐๐๐๐๐-๐ด๐ซ`
-
- const templateButtonsReplyMessage = [
-{index: 1, urlButton: {displayText: null, url: null}},
-{index: 2, urlButton: {displayText: null, url: null}},
-{index: 3, quickReplyButton: {displayText: `๐
๐ช๐๐๐ง ${emojis1}`, id: juegos2}},
-{index: 4, quickReplyButton: {displayText: `๐
๐ช๐๐๐ง ${emojis2}`, id: juegos3}},
-{index: 5, quickReplyButton: {displayText: '๐ ๐๐๐จ ๐
๐ช๐๐๐ค๐จ', id: '#juegos'}},
-]
-let tttt = {
-text: ssss,
-footer: gata,
-templateButtons: templateButtonsReplyMessage
- }
-conn.sendMessage(m.chat, tttt, m)
-}
- }
-handler.help = ['infomenu'].map(v => v + 'able ')
-handler.tags = ['group', 'owner']
-handler.command = ['multijuegos', 'juegos']
-handler.group = true
-//handler.exp = 200
-//handler.money = 200
-export default handler
-const delay = time => new Promise(res => setTimeout(res, time))
-
-const more = String.fromCharCode(8206)
-const readMore = more.repeat(4001)
-function clockString(ms) {
-let h = isNaN(ms) ? '--' : Math.floor(ms / 3600000)
-let m = isNaN(ms) ? '--' : Math.floor(ms / 60000) % 60
-let s = isNaN(ms) ? '--' : Math.floor(ms / 1000) % 60
-return [h, m, s].map(v => v.toString().padStart(2, 0)).join(':')}
-
-function pickRandom(list) {
-return list[Math.floor(Math.random() * list.length)]}
diff --git a/plugins/fun-personalidad.js b/plugins/fun-personalidad.js
deleted file mode 100644
index 28f6834ef..000000000
--- a/plugins/fun-personalidad.js
+++ /dev/null
@@ -1,31 +0,0 @@
-let handler = async (m, { conn, command, text }) => {
-
- if (!text) return conn.reply(m.chat, 'Ingrese un nombre?', m)
-
- let personalidad = `
-โโโยฐโโฌ *PERSONALIDAD}* โญโยฐโโโ
-*โ*
-*โโข Nombre* : ${text}
-*โโข Buena Moral* : ${pickRandom(['6%','12%','20%','27%','35%','41%','49%','54%','60%','66%','73%','78%','84%','92%','93%','94%','96%','98,3%','99,7%','99,9%','1%','2,9%','0%','0,4%'])}
-*โโข Mala Moral* : ${pickRandom(['6%','12%','20%','27%','35%','41%','49%','54%','60%','66%','73%','78%','84%','92%','93%','94%','96%','98,3%','99,7%','99,9%','1%','2,9%','0%','0,4%'])}
-*โโข Tipo de persona* : ${pickRandom(['De buen corazรณn','Arrogante','Tacaรฑo','Generoso','Humilde','Tรญmido','Cobarde','Entrometido','Cristal','No binarie XD', 'Pendejo'])}
-*โโข Siempre* : ${pickRandom(['Pesado','De malas','Distraido','De molestoso','Chismoso','Pasa jalandosela','De compras','Viendo anime','Chatea en WhatsApp porque esta soltero','Acostado bueno para nada','De mujeriego','En el celular'])}
-*โโข Inteligencia* : ${pickRandom(['6%','12%','20%','27%','35%','41%','49%','54%','60%','66%','73%','78%','84%','92%','93%','94%','96%','98,3%','99,7%','99,9%','1%','2,9%','0%','0,4%'])}
-*โโข Morosidad* : ${pickRandom(['6%','12%','20%','27%','35%','41%','49%','54%','60%','66%','73%','78%','84%','92%','93%','94%','96%','98,3%','99,7%','99,9%','1%','2,9%','0%','0,4%'])}
-*โโข Coraje* : ${pickRandom(['6%','12%','20%','27%','35%','41%','49%','54%','60%','66%','73%','78%','84%','92%','93%','94%','96%','98,3%','99,7%','99,9%','1%','2,9%','0%','0,4%'])}
-*โโข Miedo* : ${pickRandom(['6%','12%','20%','27%','35%','41%','49%','54%','60%','66%','73%','78%','84%','92%','93%','94%','96%','98,3%','99,7%','99,9%','1%','2,9%','0%','0,4%'])}
-*โโข Fama* : ${pickRandom(['6%','12%','20%','27%','35%','41%','49%','54%','60%','66%','73%','78%','84%','92%','93%','94%','96%','98,3%','99,7%','99,9%','1%','2,9%','0%','0,4%'])}
-*โโข Gรฉnero* : ${pickRandom(['Hombre', 'Mujer', 'Homosexual', 'Bisexual', 'Pansexual', 'Feminista', 'Heterosexual', 'Macho alfa', 'Mujerzona', 'Marimacha', 'Palosexual', 'PlayStationSexual', 'Sr. Manuela', 'Pollosexual'])}
-โโโโโโโโโโโโโโโโโ
-`
-conn.reply(m.chat, personalidad, m, { mentions: conn.parseMention(personalidad) })
-}
-handler.help = ['personalidad **']
-handler.tags = ['fun']
-handler.command = /^personalidad/i
-
-export default handler
-
-function pickRandom(list) {
- return list[Math.floor(Math.random() * list.length)]
-}
\ No newline at end of file
diff --git a/plugins/fun-ppt.js b/plugins/fun-ppt.js
deleted file mode 100644
index f59ed90da..000000000
--- a/plugins/fun-ppt.js
+++ /dev/null
@@ -1,218 +0,0 @@
-let timeout = 60000
-let poin = 500
-let poin_lose = -100
-let poin_bot = 200
-global.suit = global.suit ? global.suit : {}
-let handler = async (m, { conn, usedPrefix, command, text }) => {
-let pp = 'https://telegra.ph/file/c7924bf0e0d839290cc51.jpg'
-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 (Object.values(conn.suit).find(room => room.id.startsWith('suit') && [room.p, room.p2].includes(m.sender))) throw `${lenguajeGB['smsAvisoAG']()}๐๐๐๐๐๐๐ผ ๐๐ ๐๐ผ๐๐๐๐ฟ๐ผ ๐ผ๐๐๐๐ ๐ฟ๐ ๐๐๐๐พ๐๐ผ๐ ๐๐๐๐ผ`
-let textquien = `${lenguajeGB['smsAvisoMG']()}๐ผ ๐๐๐๐๐ ๐๐๐๐๐๐๐ ๐ฟ๐๐๐ผ๐๐๐ผ๐ ๐๐๐๐๐๐๐๐ผ ๐ผ ๐๐๐ผ ๐๐๐๐๐๐๐ผ\n\n*๐๐
๐๐๐๐๐:*\n${usedPrefix + command} @tag`
-if (!m.mentionedJid[0]) return m.reply(textquien, m.chat, {quoted: fkontak }, { mentions: conn.parseMention(textquien)})
-if (Object.values(conn.suit).find(room => room.id.startsWith('suit') && [room.p, room.p2].includes(m.mentionedJid[0]))) throw `${lenguajeGB['smsAvisoIIG']()}๐๐ผ ๐๐๐๐๐๐๐ผ ๐ผ ๐๐ผ ๐๐๐ ๐๐๐๐๐๐ ๐ฟ๐๐๐ผ๐๐๐ผ๐ ๐ผ ๐๐ ๐๐๐๐ผ ๐
๐๐๐ผ๐๐ฟ๐ ๐๐๐๐ผ ๐๐ผ๐๐๐๐ฟ๐ผ, ๐๐๐๐๐๐ ๐ผ ๐๐๐ ๐๐๐๐๐๐๐ ๐ฟ๐ ๐
๐๐๐ผ๐`
-let id = 'suit_' + new Date() * 1
-let caption = `${lenguajeGB['smsAvisoIIG']()}๐ฎ๐พ ๐๐ผ๐๐๐ - ๐๐๐ - ๐๐ผ๐๐๐ ๐ฎ๐พ\n\n@${m.sender.split`@`[0]} ๐ฟ๐๐๐ผ๐๐๐ผ ๐ผ @${m.mentionedJid[0].split`@`[0]} ๐ผ ๐๐ (๐๐๐) ๐ฟ๐ ๐๐๐๐ฟ๐๐ผ, ๐๐ผ๐๐๐ ๐ ๐๐๐
๐๐๐ผ\n\n_*Escribe (aceptar) para aceptar*_\n_*Escribe (rechazar) para rechazar*_`
-let imgplaygame = `https://www.merca2.es/wp-content/uploads/2020/05/Piedra-papel-o-tijera-0003318_1584-825x259.jpeg`
-conn.suit[id] = {
-chat: await conn.sendMessage(m.chat, { text: caption }, {mentions: conn.parseMention(caption)}),
-//await conn.sendButton(m.chat, caption, footer, imgplaygame, [[`Aceptar`], [`Rechazar`]], null, {mentions: conn.parseMention(caption)}),
-id: id,
-p: m.sender,
-p2: m.mentionedJid[0],
-status: 'wait',
-waktu: setTimeout(() => {
-if (conn.suit[id]) conn.reply(m.chat, `${lenguajeGB['smsAvisoAG']()}โณ ๐๐๐๐๐๐ ๐ฟ๐ ๐๐๐๐๐๐ผ ๐๐๐๐ผ๐๐๐๐ผ๐ฟ๐, ๐๐ ๐๐๐ ๐๐ ๐พ๐ผ๐๐พ๐๐๐ผ ๐๐๐ ๐๐ผ๐๐๐ผ ๐ฟ๐ ๐๐๐๐๐๐๐๐๐ผ`, m)
-
-delete conn.suit[id]
-}, timeout), poin, poin_lose, poin_bot, timeout
-}}
-handler.help = ['ppt']
-handler.tags = ['games']
-handler.command = /^(ppt|suitpvp)$/i
-handler.group = true
-handler.game = true
-handler.register = true
-export default handler
-
-/*
-let handler = async (m, { conn, text, command, usedPrefix, args }) => {
-//let pp = 'https://www.bighero6challenge.com/images/thumbs/Piedra,-papel-o-tijera-0003318_1584.jpeg'
-let pp = 'https://telegra.ph/file/c7924bf0e0d839290cc51.jpg'
-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" }
-// 60000 = 1 minuto // 30000 = 30 segundos // 15000 = 15 segundos // 10000 = 10 segundos
-let time = global.db.data.users[m.sender].wait + 40000
-let textos = `๐๐๐๐ฟ๐๐ผ, ๐๐ผ๐๐๐, ๐ ๐๐๐
๐๐๐ผ\n\n๐ฅ๐ช๐๐๐๐จ ๐ช๐จ๐๐ง ๐๐จ๐ฉ๐ค๐จ ๐๐ค๐ข๐๐ฃ๐๐ค๐จ:\n${usedPrefix + command} ๐ฅ๐๐๐๐ง๐\n${usedPrefix + command} ๐ฅ๐๐ฅ๐๐ก\n${usedPrefix + command} ๐ฉ๐๐๐๐ง๐\n\n๐๐จ๐ ๐๐ฃ ๐ข๐๐ฃ๐ช๐จ๐๐ช๐ก๐๐จ\n\n${wm}`
-if (new Date - global.db.data.users[m.sender].wait < 40000) return await conn.reply(m.chat, `*๐ ๐๐๐๐๐๐ผ ${Math.floor((time - new Date()) / 1000)} ๐๐๐๐๐๐ฟ๐๐ ๐ผ๐๐๐๐ ๐ฟ๐ ๐๐๐ฟ๐๐ ๐๐๐๐๐๐ ๐ผ ๐
๐๐๐ผ๐*\n\n*๐๐ผ๐๐ ${Math.floor((time - new Date()) / 1000)} ๐๐๐พ๐๐๐ฟ๐ ๐ฝ๐๐๐๐๐ ๐๐๐ ๐พ๐ผ๐ ๐๐๐ผ๐ ๐ผ๐๐ผ๐๐*`, fkontak, m)
-if (!args[0]) return await conn.sendMessage(m.chat, { image: { url: pp }, caption: textos, quoted: fkontak })
-var astro = Math.random()
-if (astro < 0.34) {
-astro = 'piedra'
-} else if (astro > 0.34 && astro < 0.67) {
-astro = 'tijera'
-} else {
-astro = 'papel'
-}
-if (text == astro) {
-let who
-if (m.isGroup) who = m.mentionedJid[0] ? m.mentionedJid[0] : m.sender
-else who = m.sender
-let name = conn.getName(who)
-let money = global.db.data.users[who].money
-let money0 = global.db.data.users[m.sender].money += 2
-
- await conn.reply(m.chat, `โญโโโโ[ ๐๐๐๐ผ๐๐! ๐ค ]โโโโโฌฃ\nโ${name} ๐๐จ๐ฉ๐๐: ${text}\nโ๐ฑ ๐๐๐ฉ๐๐ฝ๐ค๐ฉ: ${astro}\nโ๐ธ ๐ฝ๐ค๐ฃ๐ค: ${[money0].getRandom()} ๐๐๐ฉ๐๐พ๐ค๐๐ฃ๐จ\nโ๐ต ๐๐ช ๐ฟ๐๐ฃ๐๐ง๐ค: ${money} ๐๐๐ฉ๐๐พ๐ค๐๐ฃ๐จ\nโฐโโโโโโ[ ${vs} ]โโโโโโฌฃ`, fkontak, m)
-/*conn.sendHydrated(m.chat, `โญโโโโ[ ๐๐๐๐ผ๐๐! ๐ค ]โโโโโฌฃ\nโ${name} ๐๐จ๐ฉ๐๐: ${text}\nโ๐ฑ ๐๐๐ฉ๐๐ฝ๐ค๐ฉ: ${astro}\nโ๐ธ ๐ฝ๐ค๐ฃ๐ค: $${[money0].getRandom()} ๐๐๐ฉ๐๐พ๐ค๐๐ฃ๐จ\nโ๐ต ๐๐ช ๐ฟ๐๐ฃ๐๐ง๐ค: $${money} ๐๐๐ฉ๐๐พ๐ค๐๐ฃ๐จ\nโฐโโโโโโ[ ${vs} ]โโโโโโฌฃ`, wm, null, yt, '๐๐ค๐ช๐๐ช๐๐', null, null, [
-['๐๐๐ฃ๐ช ๐
๐ช๐๐๐ค๐จ | ๐๐๐ข๐๐จ ๐๐๐ฃ๐ช ๐ก', '#juegosmenu'],
-['๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ | ๐ฝ๐๐๐ ๐ฉ๐ค ๐๐๐ฃ๐ช โ๏ธ', '/menu']
-], m,)
-
-} else if (text == 'papel') {
-if (astro == 'piedra') {
-//global.db.data.users[m.sender].uang += 1000
-let who
-if (m.isGroup) who = m.mentionedJid[0] ? m.mentionedJid[0] : m.sender
-else who = m.sender
-let name = conn.getName(who)
-let money = global.db.data.users[who].money
-let money0 = global.db.data.users[m.sender].money += 100
-
-await conn.reply(m.chat, `โญโโโโ[ ๐๐ผ ๐๐ผ๐๐ผ๐ฟ๐! ๐ ]โโโโฌฃ\nโ${name} ๐๐จ๐ฉ๐๐: ${text}\nโ๐ฑ ๐๐๐ฉ๐๐ฝ๐ค๐ฉ: ${astro}\nโ๐ฐ ๐๐ง๐๐ข๐๐ค: ${[money0].getRandom()} ๐๐๐ฉ๐๐พ๐ค๐๐ฃ๐จ\nโ๐ต ๐๐ช ๐ฟ๐๐ฃ๐๐ง๐ค: ${money} ๐๐๐ฉ๐๐พ๐ค๐๐ฃ๐จ\nโฐโโโโโโ[ ${vs} ]โโโโโโฌฃ`, fkontak, m)
-/*conn.sendHydrated(m.chat, `โญโโโโ[ ๐๐ผ ๐๐ผ๐๐ผ๐ฟ๐! ๐ ]โโโโฌฃ\nโ${name} ๐๐จ๐ฉ๐๐: ${text}\nโ๐ฑ ๐๐๐ฉ๐๐ฝ๐ค๐ฉ: ${astro}\nโ๐ฐ ๐๐ง๐๐ข๐๐ค: $${[money0].getRandom()} ๐๐๐ฉ๐๐พ๐ค๐๐ฃ๐จ\nโ๐ต ๐๐ช ๐ฟ๐๐ฃ๐๐ง๐ค: $${money} ๐๐๐ฉ๐๐พ๐ค๐๐ฃ๐จ\nโฐโโโโโโ[ ${vs} ]โโโโโโฌฃ`, wm, null, yt, '๐๐ค๐ช๐๐ช๐๐', null, null, [
-['๐๐๐ฃ๐ช ๐
๐ช๐๐๐ค๐จ | ๐๐๐ข๐๐จ ๐๐๐ฃ๐ช ๐ก', '#juegosmenu'],
-['๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ | ๐ฝ๐๐๐ ๐ฉ๐ค ๐๐๐ฃ๐ช โ๏ธ', '/menu']
-], m,)
-
-} else {
-let who
-if (m.isGroup) who = m.mentionedJid[0] ? m.mentionedJid[0] : m.sender
-else who = m.sender
-let name = conn.getName(who)
-let money = global.db.data.users[who].money
-let money0 = global.db.data.users[m.sender].money -= 500
-await conn.reply(m.chat, `โญโโโโ[ ๐๐ผ ๐๐๐๐ฟ๐๐ฟ๐! ๐คก ]โโโฌฃ\nโ${name} ๐๐จ๐ฉ๐๐: ${text}\nโ๐ฑ ๐๐๐ฉ๐๐ฝ๐ค๐ฉ: ${astro}\nโ๐ ๐๐๐ง๐๐๐๐: ${[money0].getRandom()} ๐๐๐ฉ๐๐พ๐ค๐๐ฃ๐จ\nโ๐ต ๐๐ช ๐ฟ๐๐ฃ๐๐ง๐ค: ${money} ๐๐๐ฉ๐๐พ๐ค๐๐ฃ๐จ\nโฐโโโโโโ[ ${vs} ]โโโโโโฌฃ`, fkontak, m)
-/*conn.sendHydrated(m.chat, `โญโโโโ[ ๐๐ผ ๐๐๐๐ฟ๐๐ฟ๐! ๐คก ]โโโฌฃ\nโ${name} ๐๐จ๐ฉ๐๐: ${text}\nโ๐ฑ ๐๐๐ฉ๐๐ฝ๐ค๐ฉ: ${astro}\nโ๐ ๐๐๐ง๐๐๐๐: $${[money0].getRandom()} ๐๐๐ฉ๐๐พ๐ค๐๐ฃ๐จ\nโ๐ต ๐๐ช ๐ฟ๐๐ฃ๐๐ง๐ค: $${money} ๐๐๐ฉ๐๐พ๐ค๐๐ฃ๐จ\nโฐโโโโโโ[ ${vs} ]โโโโโโฌฃ`, wm, null, yt, '๐๐ค๐ช๐๐ช๐๐', null, null, [
-['๐๐๐ฃ๐ช ๐
๐ช๐๐๐ค๐จ | ๐๐๐ข๐๐จ ๐๐๐ฃ๐ช ๐ก', '#juegosmenu'],
-['๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ | ๐ฝ๐๐๐ ๐ฉ๐ค ๐๐๐ฃ๐ช โ๏ธ', '/menu']
-], m,)
-
-}
-} else if (text == 'tijera') {
-if (astro == 'papel') {
-//global.db.data.users[m.sender].uang += 125
-let who
-if (m.isGroup) who = m.mentionedJid[0] ? m.mentionedJid[0] : m.sender
-else who = m.sender
-let name = conn.getName(who)
-let money = global.db.data.users[who].money
-let money0 = global.db.data.users[m.sender].money += 175
-await conn.reply(m.chat, `โญโโโโ[ ๐๐ผ ๐๐ผ๐๐ผ๐ฟ๐! ๐ ]โโโโฌฃ\nโ${name} ๐๐จ๐ฉ๐๐: ${text}\nโ๐ฑ ๐๐๐ฉ๐๐ฝ๐ค๐ฉ: ${astro}\nโ๐ฐ ๐๐ง๐๐ข๐๐ค: ${[money0].getRandom()} ๐๐๐ฉ๐๐พ๐ค๐๐ฃ๐จ\nโ๐ต ๐๐ช ๐ฟ๐๐ฃ๐๐ง๐ค: ${money} ๐๐๐ฉ๐๐พ๐ค๐๐ฃ๐จ\nโฐโโโโโโ[ ${vs} ]โโโโโโฌฃ`, fkontak, m)
-/*conn.sendHydrated(m.chat, `โญโโโโ[ ๐๐ผ ๐๐ผ๐๐ผ๐ฟ๐! ๐ ]โโโโฌฃ\nโ${name} ๐๐จ๐ฉ๐๐: ${text}\nโ๐ฑ ๐๐๐ฉ๐๐ฝ๐ค๐ฉ: ${astro}\nโ๐ฐ ๐๐ง๐๐ข๐๐ค: $${[money0].getRandom()} ๐๐๐ฉ๐๐พ๐ค๐๐ฃ๐จ\nโ๐ต ๐๐ช ๐ฟ๐๐ฃ๐๐ง๐ค: $${money} ๐๐๐ฉ๐๐พ๐ค๐๐ฃ๐จ\nโฐโโโโโโ[ ${vs} ]โโโโโโฌฃ`, wm, null, yt, '๐๐ค๐ช๐๐ช๐๐', null, null, [
-['๐๐๐ฃ๐ช ๐
๐ช๐๐๐ค๐จ | ๐๐๐ข๐๐จ ๐๐๐ฃ๐ช ๐ก', '#juegosmenu'],
-['๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ | ๐ฝ๐๐๐ ๐ฉ๐ค ๐๐๐ฃ๐ช โ๏ธ', '/menu']
-], m,)
-
-} else {
-let who
-if (m.isGroup) who = m.mentionedJid[0] ? m.mentionedJid[0] : m.sender
-else who = m.sender
-let name = conn.getName(who)
-let money = global.db.data.users[who].money
-let money0 = global.db.data.users[m.sender].money -= 95
-await conn.reply(m.chat, `โญโโโโ[ ๐๐ผ ๐๐๐๐ฟ๐๐ฟ๐! ๐คก ]โโโฌฃ\nโ${name} ๐๐จ๐ฉ๐๐: ${text}\nโ๐ฑ ๐๐๐ฉ๐๐ฝ๐ค๐ฉ: ${astro}\nโ๐ ๐๐๐ง๐๐๐๐: ${[money0].getRandom()} ๐๐๐ฉ๐๐พ๐ค๐๐ฃ๐จ\nโ๐ต ๐๐ช ๐ฟ๐๐ฃ๐๐ง๐ค: ${money} ๐๐๐ฉ๐๐พ๐ค๐๐ฃ๐จ\nโฐโโโโโโ[ ${vs} ]โโโโโโฌฃ`, fkontak, m)
-/*conn.sendHydrated(m.chat, `โญโโโโ[ ๐๐ผ ๐๐๐๐ฟ๐๐ฟ๐! ๐คก ]โโโฌฃ\nโ${name} ๐๐จ๐ฉ๐๐: ${text}\nโ๐ฑ ๐๐๐ฉ๐๐ฝ๐ค๐ฉ: ${astro}\nโ๐ ๐๐๐ง๐๐๐๐: $${[money0].getRandom()} ๐๐๐ฉ๐๐พ๐ค๐๐ฃ๐จ\nโ๐ต ๐๐ช ๐ฟ๐๐ฃ๐๐ง๐ค: $${money} ๐๐๐ฉ๐๐พ๐ค๐๐ฃ๐จ\nโฐโโโโโโ[ ${vs} ]โโโโโโฌฃ`, wm, null, yt, '๐๐ค๐ช๐๐ช๐๐', null, null, [
-['๐๐๐ฃ๐ช ๐
๐ช๐๐๐ค๐จ | ๐๐๐ข๐๐จ ๐๐๐ฃ๐ช ๐ก', '#juegosmenu'],
-['๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ | ๐ฝ๐๐๐ ๐ฉ๐ค ๐๐๐ฃ๐ช โ๏ธ', '/menu']
-], m,)
-
-}
-} else if (text == 'tijera') {
-if (astro == 'papel') {
-let who
-if (m.isGroup) who = m.mentionedJid[0] ? m.mentionedJid[0] : m.sender
-else who = m.sender
-let name = conn.getName(who)
-let money = global.db.data.users[who].money
-let money0 = global.db.data.users[m.sender].money += 225
-//global.db.data.users[m.sender].uang += 1000
-await conn.reply(m.chat, `โญโโโโ[ ๐๐ผ ๐๐ผ๐๐ผ๐ฟ๐! ๐ ]โโโโฌฃ\nโ${name} ๐๐จ๐ฉ๐๐: ${text}\nโ๐ฑ ๐๐๐ฉ๐๐ฝ๐ค๐ฉ: ${astro}\nโ๐ฐ ๐๐ง๐๐ข๐๐ค: ${[money0].getRandom()} ๐๐๐ฉ๐๐พ๐ค๐๐ฃ๐จ\nโ๐ต ๐๐ช ๐ฟ๐๐ฃ๐๐ง๐ค: ${money} ๐๐๐ฉ๐๐พ๐ค๐๐ฃ๐จ\nโฐโโโโโโ[ ${vs} ]โโโโโโฌฃ`, fkontak, m)
-/*conn.sendHydrated(m.chat, `โญโโโโ[ ๐๐ผ ๐๐ผ๐๐ผ๐ฟ๐! ๐ ]โโโโฌฃ\nโ${name} ๐๐จ๐ฉ๐๐: ${text}\nโ๐ฑ ๐๐๐ฉ๐๐ฝ๐ค๐ฉ: ${astro}\nโ๐ฐ ๐๐ง๐๐ข๐๐ค: $${[money0].getRandom()} ๐๐๐ฉ๐๐พ๐ค๐๐ฃ๐จ\nโ๐ต ๐๐ช ๐ฟ๐๐ฃ๐๐ง๐ค: $${money} ๐๐๐ฉ๐๐พ๐ค๐๐ฃ๐จ\nโฐโโโโโโ[ ${vs} ]โโโโโโฌฃ`, wm, null, yt, '๐๐ค๐ช๐๐ช๐๐', null, null, [
-['๐๐๐ฃ๐ช ๐
๐ช๐๐๐ค๐จ | ๐๐๐ข๐๐จ ๐๐๐ฃ๐ช ๐ก', '#juegosmenu'],
-['๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ | ๐ฝ๐๐๐ ๐ฉ๐ค ๐๐๐ฃ๐ช โ๏ธ', '/menu']
-], m,)
-
-} else {
-let who
-if (m.isGroup) who = m.mentionedJid[0] ? m.mentionedJid[0] : m.sender
-else who = m.sender
-let name = conn.getName(who)
-let money = global.db.data.users[who].money
-let money0 = global.db.data.users[m.sender].money -= 90
-await conn.reply(m.chat, `โญโโโโ[ ๐๐ผ ๐๐๐๐ฟ๐๐ฟ๐! ๐คก ]โโโฌฃ\nโ${name} ๐๐จ๐ฉ๐๐: ${text}\nโ๐ฑ ๐๐๐ฉ๐๐ฝ๐ค๐ฉ: ${astro}\nโ๐ ๐๐๐ง๐๐๐๐: ${[money0].getRandom()} ๐๐๐ฉ๐๐พ๐ค๐๐ฃ๐จ\nโ๐ต ๐๐ช ๐ฟ๐๐ฃ๐๐ง๐ค: ${money} ๐๐๐ฉ๐๐พ๐ค๐๐ฃ๐จ\nโฐโโโโโโ[ ${vs} ]โโโโโโฌฃ`, fkontak, m)
-/*conn.sendHydrated(m.chat, `โญโโโโ[ ๐๐ผ ๐๐๐๐ฟ๐๐ฟ๐! ๐คก ]โโโฌฃ\nโ${name} ๐๐จ๐ฉ๐๐: ${text}\nโ๐ฑ ๐๐๐ฉ๐๐ฝ๐ค๐ฉ: ${astro}\nโ๐ ๐๐๐ง๐๐๐๐: $${[money0].getRandom()} ๐๐๐ฉ๐๐พ๐ค๐๐ฃ๐จ\nโ๐ต ๐๐ช ๐ฟ๐๐ฃ๐๐ง๐ค: $${money} ๐๐๐ฉ๐๐พ๐ค๐๐ฃ๐จ\nโฐโโโโโโ[ ${vs} ]โโโโโโฌฃ`, wm, null, yt, '๐๐ค๐ช๐๐ช๐๐', null, null, [
-['๐๐๐ฃ๐ช ๐
๐ช๐๐๐ค๐จ | ๐๐๐ข๐๐จ ๐๐๐ฃ๐ช ๐ก', '#juegosmenu'],
-['๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ | ๐ฝ๐๐๐ ๐ฉ๐ค ๐๐๐ฃ๐ช โ๏ธ', '/menu']
-], m,)
-
-}
-} else if (text == 'papel') {
-if (astro == 'piedra') {
-let who
-if (m.isGroup) who = m.mentionedJid[0] ? m.mentionedJid[0] : m.sender
-else who = m.sender
-let name = conn.getName(who)
-let money = global.db.data.users[who].money
-let money0 = global.db.data.users[m.sender].money += 75
-//global.db.data.users[m.sender].uang += 1000
-await conn.reply(m.chat, `โญโโโโ[ ๐๐ผ ๐๐ผ๐๐ผ๐ฟ๐! ๐ ]โโโโฌฃ\nโ${name} ๐๐จ๐ฉ๐๐: ${text}\nโ๐ฑ ๐๐๐ฉ๐๐ฝ๐ค๐ฉ: ${astro}\nโ๐ฐ ๐๐ง๐๐ข๐๐ค: ${[money0].getRandom()} ๐๐๐ฉ๐๐พ๐ค๐๐ฃ๐จ\nโ๐ต ๐๐ช ๐ฟ๐๐ฃ๐๐ง๐ค: ${money} ๐๐๐ฉ๐๐พ๐ค๐๐ฃ๐จ\nโฐโโโโโโ[ ${vs} ]โโโโโโฌฃ`, fkontak, m)
-/*conn.sendHydrated(m.chat, `โญโโโโ[ ๐๐ผ ๐๐ผ๐๐ผ๐ฟ๐! ๐ ]โโโโฌฃ\nโ${name} ๐๐จ๐ฉ๐๐: ${text}\nโ๐ฑ ๐๐๐ฉ๐๐ฝ๐ค๐ฉ: ${astro}\nโ๐ฐ ๐๐ง๐๐ข๐๐ค: $${[money0].getRandom()} ๐๐๐ฉ๐๐พ๐ค๐๐ฃ๐จ\nโ๐ต ๐๐ช ๐ฟ๐๐ฃ๐๐ง๐ค: $${money} ๐๐๐ฉ๐๐พ๐ค๐๐ฃ๐จ\nโฐโโโโโโ[ ${vs} ]โโโโโโฌฃ`, wm, null, yt, '๐๐ค๐ช๐๐ช๐๐', null, null, [
-['๐๐๐ฃ๐ช ๐
๐ช๐๐๐ค๐จ | ๐๐๐ข๐๐จ ๐๐๐ฃ๐ช ๐ก', '#juegosmenu'],
-['๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ | ๐ฝ๐๐๐ ๐ฉ๐ค ๐๐๐ฃ๐ช โ๏ธ', '/menu']
-], m,)
-
-} else {
-let who
-if (m.isGroup) who = m.mentionedJid[0] ? m.mentionedJid[0] : m.sender
-else who = m.sender
-let name = conn.getName(who)
-let money = global.db.data.users[who].money
-let money0 = global.db.data.users[m.sender].money -= 240
-await conn.reply(m.chat, `โญโโโโ[ ๐๐ผ ๐๐๐๐ฟ๐๐ฟ๐! ๐คก ]โโโฌฃ\nโ${name} ๐๐จ๐ฉ๐๐: ${text}\nโ๐ฑ ๐๐๐ฉ๐๐ฝ๐ค๐ฉ: ${astro}\nโ๐ ๐๐๐ง๐๐๐๐: ${[money0].getRandom()} ๐๐๐ฉ๐๐พ๐ค๐๐ฃ๐จ\nโ๐ต ๐๐ช ๐ฟ๐๐ฃ๐๐ง๐ค: ${money} ๐๐๐ฉ๐๐พ๐ค๐๐ฃ๐จ\nโฐโโโโโโ[ ${vs} ]โโโโโโฌฃ`, fkontak, m)
-/*conn.sendHydrated(m.chat, `โญโโโโ[ ๐๐ผ ๐๐๐๐ฟ๐๐ฟ๐! ๐คก ]โโโฌฃ\nโ${name} ๐๐จ๐ฉ๐๐: ${text}\nโ๐ฑ ๐๐๐ฉ๐๐ฝ๐ค๐ฉ: ${astro}\nโ๐ ๐๐๐ง๐๐๐๐: $${[money0].getRandom()} ๐๐๐ฉ๐๐พ๐ค๐๐ฃ๐จ\nโ๐ต ๐๐ช ๐ฟ๐๐ฃ๐๐ง๐ค: $${money} ๐๐๐ฉ๐๐พ๐ค๐๐ฃ๐จ\nโฐโโโโโโ[ ${vs} ]โโโโโโฌฃ`, wm, null, yt, '๐๐ค๐ช๐๐ช๐๐', null, null, [
-['๐๐๐ฃ๐ช ๐
๐ช๐๐๐ค๐จ | ๐๐๐ข๐๐จ ๐๐๐ฃ๐ช ๐ก', '#juegosmenu'],
-['๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ | ๐ฝ๐๐๐ ๐ฉ๐ค ๐๐๐ฃ๐ช โ๏ธ', '/menu']
-], m,)
-
-}
-} else if (text == 'piedra') {
-if (astro == 'tijera') {
-let who
-if (m.isGroup) who = m.mentionedJid[0] ? m.mentionedJid[0] : m.sender
-else who = m.sender
-let name = conn.getName(who)
-let money = global.db.data.users[who].money
-let money0 = global.db.data.users[m.sender].money += 300
-//global.db.data.users[m.sender].uang += 1000
-await conn.reply(m.chat, `โญโโโโ[ ๐๐ผ ๐๐ผ๐๐ผ๐ฟ๐! ๐ ]โโโโฌฃ\nโ${name} ๐๐จ๐ฉ๐๐: ${text}\nโ๐ฑ ๐๐๐ฉ๐๐ฝ๐ค๐ฉ: ${astro}\nโ๐ฐ ๐๐ง๐๐ข๐๐ค: ${[money0].getRandom()} ๐๐๐ฉ๐๐พ๐ค๐๐ฃ๐จ\nโ๐ต ๐๐ช ๐ฟ๐๐ฃ๐๐ง๐ค: ${money} ๐๐๐ฉ๐๐พ๐ค๐๐ฃ๐จ\nโฐโโโโโโ[ ${vs} ]โโโโโโฌฃ`, fkontak, m)
-/*conn.sendHydrated(m.chat, `โญโโโโ[ ๐๐ผ ๐๐ผ๐๐ผ๐ฟ๐! ๐ ]โโโโฌฃ\nโ${name} ๐๐จ๐ฉ๐๐: ${text}\nโ๐ฑ ๐๐๐ฉ๐๐ฝ๐ค๐ฉ: ${astro}\nโ๐ฐ ๐๐ง๐๐ข๐๐ค: $${[money0].getRandom()} ๐๐๐ฉ๐๐พ๐ค๐๐ฃ๐จ\nโ๐ต ๐๐ช ๐ฟ๐๐ฃ๐๐ง๐ค: $${money} ๐๐๐ฉ๐๐พ๐ค๐๐ฃ๐จ\nโฐโโโโโโ[ ${vs} ]โโโโโโฌฃ`, wm, null, yt, '๐๐ค๐ช๐๐ช๐๐', null, null, [
-['๐๐๐ฃ๐ช ๐
๐ช๐๐๐ค๐จ | ๐๐๐ข๐๐จ ๐๐๐ฃ๐ช ๐ก', '#juegosmenu'],
-['๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ | ๐ฝ๐๐๐ ๐ฉ๐ค ๐๐๐ฃ๐ช โ๏ธ', '/menu']
-], m,)
-
-} else {
-let who
-if (m.isGroup) who = m.mentionedJid[0] ? m.mentionedJid[0] : m.sender
-else who = m.sender
-let name = conn.getName(who)
-let money = global.db.data.users[who].money
-let money0 = global.db.data.users[m.sender].money -= 210
-await conn.reply(m.chat, `โญโโโโ[ ๐๐ผ ๐๐๐๐ฟ๐๐ฟ๐! ๐คก ]โโโฌฃ\nโ${name} ๐๐จ๐ฉ๐๐: ${text}\nโ๐ฑ ๐๐๐ฉ๐๐ฝ๐ค๐ฉ: ${astro}\nโ๐ ๐๐๐ง๐๐๐๐: ${[money0].getRandom()} ๐๐๐ฉ๐๐พ๐ค๐๐ฃ๐จ\nโ๐ต ๐๐ช ๐ฟ๐๐ฃ๐๐ง๐ค: ${money} ๐๐๐ฉ๐๐พ๐ค๐๐ฃ๐จ\nโฐโโโโโโ[ ${vs} ]โโโโโโฌฃ`, fkontak, m)
-}}
-global.db.data.users[m.sender].wait = new Date * 1
-}
-handler.help = ['ppt']
-handler.tags = ['games']
-handler.command = /^(ppt)$/i
-export default handler
-
-function pickRandom(list) {
-return list[Math.floor(Math.random() * list.length)]}*/
diff --git a/plugins/fun-pregunta.js b/plugins/fun-pregunta.js
deleted file mode 100644
index ab96b74a9..000000000
--- a/plugins/fun-pregunta.js
+++ /dev/null
@@ -1,23 +0,0 @@
-import fetch from 'node-fetch'
-
-let handler = async (m, { conn, text, usedPrefix, command }) => {
-
- let name = conn.getName(m.sender)
- if (!text) throw `โณ๏ธ *Ejemplo :*\n\n *${usedPrefix + command}* eres puto`
-
- //let res = await fetch(global.API('https://api.simsimi.net', '/v2/', { text: encodeURIComponent(text), lc: "es" }, ''))
- await conn.sendPresenceUpdate('composing', m.chat)
- let res = await fetch(`https://api.simsimi.net/v2/?text=${text}&lc=es`)
- let json = await res.json()
- if (json.success)
-m.reply(`๐ค ๐๐๐๐๐๐๐๐ผ: ${text}
-
-โ
๐๐๐๐๐๐๐๐๐ผ : ${json.success.replace('simsimi', 'simsimi').replace('Simsimi', 'Simsimi').replace('sim simi', 'sim simi')}`)
-}
-
-handler.help = ['pregunta ?']
-handler.tags = ['kerang']
-handler.command = /^pregunta|preguntas|apakah$/i
-
-export default handler
-
diff --git a/plugins/fun-random.js b/plugins/fun-random.js
deleted file mode 100644
index cca00a284..000000000
--- a/plugins/fun-random.js
+++ /dev/null
@@ -1,21 +0,0 @@
-let handler = async (m, { conn, command, usedPrefix, text, groupMetadata }) => {
-
-if (!text) throw `Uso correcto:
-${usedPrefix + command} el mas puto`
-let em = ['๐','๐','๐','๐','๐คค','๐ฅต','๐','๐','๐','๐ป','๐ฉ','๐ฅด','๐ค','๐ค']
-
- let toM = a => '@' + a.split('@')[0]
- let ps = groupMetadata.participants.map(v => v.id)
- let a = ps.getRandom()
- let am = em.getRandom()
- await conn.sendButton(m.chat, `${toM(a)} *${text}*${am}`, author, null, [['Otro', '.random ' + text]], m,{mentions: [a]})
-
-}
-
-handler.command = handler.help = ['random']
-handler.tags = ['fun']
-
-handler.group = true
-
-export default handler
-
\ No newline at end of file
diff --git a/plugins/frases-frases.js b/plugins/fun-randow.js
similarity index 61%
rename from plugins/frases-frases.js
rename to plugins/fun-randow.js
index 967572db9..b41ff67db 100644
--- a/plugins/frases-frases.js
+++ b/plugins/fun-randow.js
@@ -1,34 +1,349 @@
-const contoh = `*Asmaul Husna*
-`
-// data here
-const anjuran = `
-Desde Abu Hurairah radhiallahu anhu, Rasulullah SAW dijo: "Tengo noventa y nueve nombres, cien menos 1. Quien los memorice entrarรก en el Paraรญso, y รฉl es un acorde que ama el acorde."
-Significado: "De hecho, yo tengo noventa y nueve nombres, tambiรฉn conocido como cien menos uno. Quien los cuente, entrarรก en el cielo; รl es Witr y ama a Witr".`
+let handler = async (m, { conn, command, text, usedPrefix, args}) => {
-let handler = async (m, { args, usedPrefix, command }) => {
- let json = JSON.parse(JSON.stringify(global.asmaulhusna))
- let data = json.map((v, i) => `${i + 1}. ${v.latin}\n${v.arabic}\n${v.translation_id}`).join('\n\n')
- if (isNaN(args[0])) throw `Ejemplo:\n${usedPrefix + command} 1`
- if (args[0]) {
- if (args[0] < 1 || args[0] > 99) throw `mรญnimo 1 y mรกximo 99!`
- let { index, latin, arabic, translation_id, translation_en } = json.find(v => v.index == args[0].replace(/[^0-9]/g, ''))
- return m.reply(`๐ข *Nรบmero:* ${index}
-${arabic}
+if (command == 'piropo') {
+let query = 'Cuรฉntame un piropo, solo di el piropo no agregue mas texto.';
+let username = m.sender;
+let logic = "piropo";
+let result;
+try {
+result = await luminsesi(query, username, logic);
+if (!result || result.trim() === "") throw new Error("Respuesta vacรญa");
+} catch (error) {
+result = pickRandom(global.piropo);
+}
+await conn.reply(m.chat, `*โญโผโผโผโผโผโผโผโผโผโผโผโผโผโผโผโผโผโผโผโผโผโผโผโผโผโผโผ*\nโข ${await tr(result)}\n*โฐโผโผโผโผโผโผโผโผโผโผโผโผโผโผโผโผโผโผโผโผโผโผโผโผโผโผโผ*`, m, {contextInfo: { externalAdReply :{ mediaUrl: null, mediaType: 1, description: null, title: '๐ PIROPO', body: '๐๐ฎ๐ฉ๐๐ซ ๐๐จ๐ญ ๐๐ ๐๐ก๐๐ญ๐ฌ๐๐ฉ๐ฉ', previewType: 0, thumbnail: imagen4, sourceUrl: [md, yt, tiktok].getRandom()}}})
+}
-${latin}
+if (command == 'chiste') {
+let query = 'Cuรฉntame un chiste, puede ser de cualquier tipo de humor, no repita los chiste haz chiste como jaimito, yayo, solo di el chiste no agregue mas texto y haz chiste nuevo 2024 no repitan los mismo chiste pasado xD.';
+let username = m.sender;
+let logic = "chiste";
+let result;
+try {
+result = await luminsesi(query, username, logic);
+if (!result || result.trim() === "") throw new Error("Respuesta vacรญa");
+} catch (error) {
+result = pickRandom(global.chiste);
+}
+await conn.reply(m.chat, `*โโโโโโโโโโโโโโ*\n๐น ${await tr(result)} ๐น\n*โโโโโโโโโโโโโโ*`, m, {contextInfo: { externalAdReply :{ mediaUrl: null, mediaType: 1, description: null, title: '๐น CHISTE', body: '๐๐ฎ๐ฉ๐๐ซ ๐๐จ๐ญ ๐๐ ๐๐ก๐๐ญ๐ฌ๐๐ฉ๐ฉ', previewType: 0, thumbnail: imagen4, sourceUrl: [md, yt, tiktok].getRandom()}}})
+}
-${translation_id}
+if (command == 'reto') {
+let query = 'Dame un reto interesante para hacer, solo di el reto no agregue mas texto y no repitan los reto, que sea diferentes y divertido.';
+let username = m.sender;
+let logic = "reto";
+let result;
+try {
+result = await luminsesi(query, username, logic);
+if (!result || result.trim() === "") throw new Error("Respuesta vacรญa");
+} catch (error) {
+result = pickRandom(global.bucin);
+}
+await conn.reply(m.chat, `โญโโโโโ[ ๐๐๐๐ ๐ ]โโโโโฌฃ\n*โ${await tr(result)}โ*\nโฐโโโโโโ[ ${vs} ]โโโโโโฌฃ*`, m, {contextInfo: { externalAdReply :{ mediaUrl: null, mediaType: 1, description: null, title: '๐ HE COJISTE RETO', body: '๐๐ฎ๐ฉ๐๐ซ ๐๐จ๐ญ ๐๐ ๐๐ก๐๐ญ๐ฌ๐๐ฉ๐ฉ', previewType: 0, thumbnail: imagen4, sourceUrl: [md, yt, tiktok].getRandom()}}})
+}
-${translation_en}
-`.trim())
- }
- m.reply(contoh + data + anjuran)
+if (command == 'verdad') {
+let query = 'Dame una pregunta de verdad intrigante';
+let username = m.sender;
+let logic = "verdad";
+let result;
+try {
+result = await luminsesi(query, username, logic);
+if (!result || result.trim() === "") throw new Error("Respuesta vacรญa");
+} catch (error) {
+result = pickRandom(global.bucin);
}
-handler.help = ['frase [escribe un nรบmero 1 - 99]']
-handler.tags = ['quran']
-handler.command = /^(frase(s)?)$/i
+await conn.reply(m.chat, `โญโโโโ[ ๐๐๐๐ฟ๐ผ๐ฟ ๐ค ]โโโโโฌฃ\n*โ${await tr(result)}โ*\nโฐโโโโโโ[ ${vs} ]โโโโโโฌฃ*`, m, {contextInfo: { externalAdReply :{ mediaUrl: null, mediaType: 1, description: null, title: '๐ค ELIGIRTE VERDAD', body: '๐๐ฎ๐ฉ๐๐ซ ๐๐จ๐ญ ๐๐ ๐๐ก๐๐ญ๐ฌ๐๐ฉ๐ฉ', previewType: 0, thumbnail: imagen4, sourceUrl: [md, yt, tiktok].getRandom()}}})
+}
+
+if (command == 'frases') {
+const ejemplo = `*Asmaul Husna*`
+const organizar = `Desde Abu Hurairah radhiallahu anhu, Rasulullah SAW dijo: "Tengo noventa y nueve nombres, cien menos 1. Quien los memorice entrarรก en el Paraรญso, y รฉl es un acorde que ama el acorde."
+Significado: "De hecho, yo tengo noventa y nueve nombres, tambiรฉn conocido como cien menos uno. Quien los cuente, entrarรก en el cielo; รl es Witr y ama a Witr".`
+let json = JSON.parse(JSON.stringify(global.asmaulhusna))
+let data = json.map((v, i) => `${i + 1}. ${v.latin}\n${v.arabic}\n${v.translation_id}`).join('\n\n')
+if (isNaN(args[0])) throw `Ejemplo:\n${usedPrefix + command} 1`
+if (args[0]) {
+if (args[0] < 1 || args[0] > 99) throw `mรญnimo 1 y mรกximo 99!`
+let { index, latin, arabic, translation_id, translation_en } = json.find(v => v.index == args[0].replace(/[^0-9]/g, ''))
+return m.reply(`๐ข *${await tr("Nรบmero")}:* ${index}
+${await tr(arabic)}
+
+${await tr(latin)}
+
+${await tr(translation_id)}
+
+${await tr(translation_en)}
+`.trim())}
+m.reply(ejemplo + data + organizar)
+}}
+handler.help = handler.command = ['piropo', 'chiste', 'reto', 'verdad', 'frases']
+handler.tags = ['game'];
+handler.register = true
export default handler
+async function luminsesi(q, username, logic) {
+try {
+const response = await axios.post("https://luminai.my.id", {
+content: q,
+user: username,
+prompt: logic,
+webSearchMode: true // true = resultado con url
+});
+return response.data.result;
+} catch (error) {
+console.error(error);
+}}
+
+function pickRandom(list) {
+return list[Math.floor(list.length * Math.random())]}
+
+global.piropo = ["Me gustarรญa ser papel para poder envolver ese bombรณn.", "Eres como wifi sin contraseรฑa, todo el mundo te busca", "Quiรฉn fuera bus para andar por las curvas de tu corazรณn.", "Quiero volar sin alas y salir de este universo, entrar en el tuyo y amarte en silencio.", "Quisiera ser mantequilla para derretirme en tu arepa.", "Si la belleza fuera pecado vos ya estarรญas en el infierno.", "Me Gustarรญa Ser Un Gato Para Pasar 7 Vidas A Tu Lado.", "Robar Estรก Mal Pero Un Beso De Tu Boca Sรญ Me Lo Robarรญa.", "Quรฉ Hermoso Es El Cielo Cuando Estรก Claro Pero Mรกs Hermoso Es El Amor Cuando Te Tengo A Mi Lado.", "Bonita, Camina Por La Sombra, El Sol Derrite Los Chocolates.", "Si Fuera Un Correo Electrรณnico Serรญas Mi Contraseรฑa.", "Quisiera que fueses monte para darte machete", "Perdรญ mi nรบmero de telรฉfono ยฟMe das el tuyo?", "ยฟCรณmo te llamas para pedirte de regalo a Santa Claus?", " En el cielo hay muchas estrellas, pero la mรกs brillante estรก en la Tierra y eres tรบ.", "ยฟAcaba de salir el sol o es la sonrisa que me regalas hoy?", "No es el ron ni la cerveza, eres tรบ quien se me ha subido a la cabeza", "Si hablamos de matemรกticas eres la suma de todos mis deseos.", "Pareces Google porque tienes todo lo que yo busco.", "Mi cafรฉ favorito, es el de tus ojos.", "Quiero ser photoshop para retocarte todo el cuerpo.", "Quisiera que fueras cereal, para cucharearte en las maรฑanas.", "Quien fuera hambre, para darte tres veces al dรญa."]
+
+global.chiste = ["ยฟCuรกl es el รบltimo animal que subiรณ al arca de Noรฉ? El del-fin..", "ยฟCรณmo se dice paรฑuelo en japonรฉs? Saka-moko", "ยฟCรณmo se dice disparo en รกrabe? Ahรญ-va-la-bala..", "ยฟQuรฉ le dice un gusano a otro gusano? Voy a dar una vuelta a la manzana.", "Un gato empieza a ladrar en el tejado de una casa. Otro gato, sorprendido, le dice: Estรกs loco gato, ยฟpor quรฉ ladras en vez de maullar? El gatito le responde: ยฟA caso no puedo aprender otro idioma?", "El doctor le dice al paciente: respire profundo que lo voy a auscultar. El paciente le responde: doctor, ยฟde quiรฉn me va a ocultar si no le debo a nadie?\nSale el doctor despuรฉs de un parto y el padre de la criatura le pregunta: ยฟDoctor cรณmo saliรณ todo? El doctor le dice: todo saliรณ bien, pero tuvimos que colocarle oxรญgeno al bebรฉ. El padre, horrorizado, le dice: pero doctor, nosotros querรญamos ponerle Gabriel..", "Un pez le pregunta a otro pez: ยฟquรฉ hace tu mamรก? Este le contesta: Nada, ยฟy la tuya quรฉ hace? Nada tambiรฉn.", "ยฟCuรกl es el colmo de Aladdรญn? Tener mal genio", "El profesor le dice al estudiante despuรฉs de haberle corregido la tarea: Tu trabajo me ha conmovido. El estudiante, sorprendido, le pregunta: ยฟY eso por quรฉ profesor? El profesor con cara de burla le dice: Porque me dio mucha pena.", "Le dice el niรฑo a la madre: Mamรก, no quiero jugar mรกs con Pedrito. La madre le pregunta al niรฑo: ยฟPor quรฉ no quieres jugar mรกs con รฉl? Porque cuando jugamos a los tacos de madera y le pego con uno en la cabeza, de repente se pone a llorar.", "A Juanito le dice la maestra: Juanito, ยฟquรฉ harรญas si te estuvieses ahogando en la piscina? Juanito le responde: Me pondrรญa a llorar mucho para desahogarme.", "Hijo, me veo gorda, fea y vieja. ยฟQuรฉ tengo hijo, quรฉ tengo? Mamรก, tienes toda la razรณn.", "ยฟCรณmo se dice pelo sucio en chino? Chin cham pu.", "Habรญa una vez un niรฑo tan, tan, tan despistado que... ยกda igual, me he olvidado del chiste!", "Una amiga le dice a otra amiga: ยฟQuรฉ tal va la vida de casada? Pues no me puedo quejar, dice ella. ยฟO sea que va muy bien, no? No, no me puedo quejar porque mi marido estรก aquรญ al lado.", "ยฟPor quรฉ las focas miran siempre hacia arriba? ยกPorque ahรญ estรกn los focos!", "Camarero, ese filete tiene muchos nervios. Pues normal, es la primera vez que se lo comen.", "ยฟCรณmo se llama el primo de Bruce Lee? Broco Lee.", "Una madre le dice a su hijo: Jaimito, me ha dicho un pajarito que te drogas. La que te drogas eres tรบ, que hablas con pajaritos."]
+
+global.bucin = ["Pasa el pack de una hormiga",
+"Dile a tus amigos que te vas a vivir a EU y mรกndame una captura de lo que te haya dicho",
+"Grita desde la ventana que quieres mamar y mรกndame el vรญdeo",
+"Escribe el nombre de tu crush",
+"Debes de poner el nombre de mi creador en tu estado de WhatsApp, sin dar contexto",
+"Envรญame una fotografรญa tuya",
+"Debes de dibujar en alguna parte de tu cuerpo el nombre de algรบn integrante del grupo, luego realiza una foto y envรญala",
+"Hazte una foto dรกndole un beso a una Televisiรณn",
+ "Mรกndame una fotografรญa en ropa interior",
+"Escribe en tu estado de WhatsApp que te gusta comer tierra",
+"Debes de poner la fotografรญa de un participante del grupo que sea del sexo opuesto al tuyo en tu perfil de WhatsApp durante 3 dรญas ๐ธ๐ธ",
+"Tienes que mandar un audio cantando la canciรณn: Un pato que va cantando alegremente cua cua ๐ฆ",
+"Envรญa un mensaje a tu ex y dile todavรญa me gustas", "Envรญa un audio diciendo amo a The Shadow Brokers - Bot",
+"Dile a tu crush que la amas y pasa captura al grupo", "Envรญa un audio cantando",
+"Envรญa una foto en la que salgas tu sin taparte la cara ni nada", "Envรญa un video bailando",
+"Invita a personas que no conoces a tomarse una selfi contigo y luego envรญalo al grupo",
+"Elija algunos nรบmeros aleatorios de sus contactos y envรญeles un mensaje de texto con el mensaje 'Estoy embarazad@'.",
+"ยกTome cualquier bebida que estรฉ cerca de usted, luego mรฉzclela con chile y beba!",
+"Tome un nรบmero aleatorio de sus contactos, llรกmelo y dรญgale 'te amo' ",
+"Compre la comida mรกs barata en la cafeterรญa (o compre una botella de agua) y diga entre sollozos a sus compaรฑeros de clase: 'Esta ... es la comida mรกs cara que he comprado)' ",
+" Compre una botella de coca cola y salpique flores con ella frente a la multitud.",
+" Pรกrese cerca del refrigerador, cierre los ojos, elija alimentos al azar en รฉl, incluso cuando coma, sus ojos deben estar cerrados.",
+" De pie en medio de la cancha de baloncesto y gritando: 'TE AMO MI PRรNCIPE / PRINCESA' ",
+"Presenta tus respetos a alguien de la clase y luego di: 'Estoy a su servicio, Majestad' ",
+" Caminando aplaudiendo y cantando la canciรณn 'Feliz cumpleaรฑos' de la clase al pasillo.",
+" Arrodรญllate sobre una rodilla y di 'ยฟCรกsate conmigo?' la primera persona en entrar a la habitaciรณn.",
+" Haz un tocado absurdo con tejido, sea lo que sea, sigue pidiendo poses frente a la cรกmara, sigue subiendo",
+"Dile 'ERES HERMOSA / MUY HERMOSA, NO MIENTES' a la chica que crees que es la mรกs bonita de esta clase.",
+" Dile a alguien en clase: 'Primero me dijeron que era tu gemelo, nos separamos y luego me sometรญ a una cirugรญa plรกstica. Y esto es lo mรกs serio que he dicho' ",
+" Tirar el cuaderno de alguien a la basura, frente a sus ojos, diciendo 'Este libro nadie puede entender' ",
+" ยกArranca el pelo de tu propia pierna 3 veces!",
+" Chatea con tus padres, diles que los extraรฑas con emoticonos tristes.",
+" Intente buscar en Google cosas aterradoras o ridรญculas como tripofobia, etc.",
+" Siรฉntese relajado en medio de la cancha de baloncesto mientras finge que es una playa para tomar el sol.",
+" Llena tu boca de agua y tienes que aguantar hasta dos rondas, si te rรญes y derramas o bebes, entonces tienes que volver a llenar y agregar una ronda mรกs.",
+" Salude a la primera persona que entre en esta sala y diga 'ยกBienvenido a Quiรฉn quiere ser millonario!' ",
+"Envรญa un mensaje de texto a tus padres 'ยกHola, hermano! ยกAcabo de comprar el รบltimo nรบmero de la revista Playboy!' ",
+"Envรญales un mensaje de texto a tus padres: 'Mamรก, papรก, ya sรฉ que soy un niรฑo adoptado del orfanato. No ocultes esto mรกs'.",
+" Envรญa tres nรบmeros aleatorios en tus contactos y escribe 'Me acabo de convertir en modelo de la revista Playboy' ",
+" ยกCome una cucharada de salsa de soja dulce y salsa de soja!",
+" Come algo pero no uses las manos.",
+" Enojarse con sus amigos que no vienen a pesar de que tienen una cita para jugar 'Verdad o Reto' juntos",
+"ยกRompe el huevo con la cabeza!",
+"Coma alimentos que se hayan mezclado y tendrรกn un sabor extraรฑo, pero asegรบrese de que los alimentos no sean daรฑinos para la salud a largo o corto plazo.",
+"Baila como Girls 'Generation para los niรฑos frente a la clase, o baila como Super Junior para las niรฑas.",
+"Izar el asta de la bandera sin la bandera.",
+"Hablando de la persona que te gusta, de tus amigos mรกs cercanos, del sexo opuesto que no conoces en absoluto y cosas por el estilo.",
+"Copia los peinados de todos tus amigos.",
+"Cantando la canciรณn HAI TAYO frente a mucha gente mientras baila",
+"Cante la canciรณn Baby Shark en voz alta en el aula.",
+"Pedir prestado algo a los vecinos",
+"Pide la firma de uno de los profesores mรกs feroces mientras dices 'Eres verdaderamente la persona que mรกs admiro en el mundo' ",
+" Pรญdale dinero a alguien (al azar ) en la calle diciendo 'No tengo dinero para tomar un angkot'.",
+" Beba algo que haya sido preparado / acordado, pero asegรบrese de que no sea peligroso, puede ser como beber jarabe mezclado con salsa de soja.",
+" Hablando con el emoticono-miedo de la persona que te gusta, estรก bien conversar con lo que quieras, a travรฉs de cualquier medio que puedas.",
+" Canta tu pelรญcula de Disney favorita fuera de casa mientras gritas.",
+" Nombra de 1 azul a 20 azules rรกpidamente y no debes cometer ningรบn error. Si estรก mal, debe repetirse desde el principio.",
+" Pรณngase una corona de papel de copia y diga a todos en la habitaciรณn 'HONOR AL REY' mientras seรฑala a cada persona con una regla.",
+" Vuelve a ponerte los pantalones hasta la maรฑana siguiente.",
+" Abraza a la persona que NO te agrada en clase y di: 'Muchas gracias por ser la mejor persona para mรญ' ",
+" Ve a un campo amplio, luego corre lo mรกs rรกpido posible mientras dices 'Estoy loco, estoy loco' ",
+" Elija una flor y luego conรฉctela a alguien que no conoce (debe ser del sexo opuesto)",
+" Elige a una persona al azar en la calle, luego di 'No sabes que eres hermosa' (ala One Direction)",
+" Fingir estar poseรญdo ejm: poseรญdo por un tigre, etc.",
+" Pรญdale que silbe ya que su boca estรก nuevamente llena de comida.",
+" Pide ser un mesero para que te sirva con tus amigos para el almuerzo.",
+" Dรญgales que usen calcetines para hacer guantes.",
+"Dรญgales que usen el sombrero mรกs extraรฑo / el casco mรกs absurdo durante la prรณxima ronda.",
+"Llama a tu mamรก y dile 'mamรก, quiero casarme lo antes posible' ",
+"Llama a tu ex y di 'te extraรฑo' ",
+"Cambia de ropa con la persona mรกs cercana hasta la siguiente ronda.",
+"Actualice el estado en WhatsApp lo que sea con palabras que comiencen con 'S' ",
+"Sube un video de canto a YouTube que estรฉ cantando canciones populares.",
+"Colorea tus uรฑas de las manos y de los pies de diferentes colores durante una semana.",
+"come 2 cucharadas de arroz sin guarniciones",
+"Envie el emoji '๐ฆ๐จ' cada vez que escriba en un grupo 1 dรญa",
+"diga 'ยกBienvenido a Quiรฉn quiere ser millonario!' a todos los grupos que tienes",
+"canta el coro de la รบltima canciรณn que tocaste",
+"Envia un audio de voz a tu ex / enamorado / novia, dile hola (nombre), quiero llamar, solo un momento. Te Extraรฑo๐ฅบ๐๐ผ๐๐ผ ",
+"Dile a la gente al azar: Primero me dijeron que era tu gemelo, nos separamos y luego me sometรญ a una cirugรญa plรกstica. Y esto",
+"ยกHaz 1 rima para el primer jugador!",
+"cuenta tu propia versiรณn de cosas vergonzosas",
+"cambiar el nombre a 'Gay' durante 24 horas",
+"ยกMenciona tu tipo de novia!",
+"Di 'Estoy enamorado de ti, ยฟquieres ser mi novio o no?' al รบltimo sexo opuesto con el que conversaste en WhatsApp, espera a que responda",
+"Hรกblale a tu ex por WhatsApp y dile 'te amo, por favor vuelve'. Manda una captura de pantalla como evidencia de reto cumplido!"]
+
+global.verdad = ["ยฟAlguna vez te ha gustado alguien? ยฟCuรกnto tiempo?",
+ "Si es posible o si quieres, en gc / fuera de gc, ยฟcon quiรฉn harรกs amistad? (Puede ser diferente / del mismo tipo)",
+ "ยฟcual es tu mas grande miedo?",
+ "ยฟAlguna vez te ha gustado alguien y has sentido a esa persona como tรบ tambiรฉn?",
+ "ยฟCuรกl es el nombre del exnovio de tu amiga que una vez te gustรณ en secreto?",
+ "ยฟAlguna vez has robado el dinero de tu madre o de tu padre? ยฟLa razรณn?",
+ "lo que te hace feliz cuando estรกs triste",
+ "ยฟAlguna vez has sido amor no correspondido? ยฟSi has estado con quiรฉn? ยฟCรณmo se siente brou?",
+ "ยฟAlguna vez has tenido una aventura con alguien?",
+ "lo mรกs temido",
+ "quiรฉn es la persona mรกs influyente en tu vida",
+ "quรฉ orgullo tienes este aรฑo",
+ "quiรฉn es la persona que puede enfermarte",
+ "quien es la persona que alguna vez te puso cachondo",
+ "(para los musulmanes) ยฟnunca has rezado en todo el dรญa?",
+ "ยฟQuiรฉn es el mรกs cercano a su tipo de pareja ideal aquรญ",
+ "ยฟCon quiรฉn te gusta jugar?",
+ "ยฟAlguna vez has rechazado a alguien? ยฟPor quรฉ?",
+ "Menciona el incidente que te hizo daรฑo y que aรบn recuerdas",
+ "ยฟQuรฉ logros has obtenido este aรฑo?",
+ "ยฟCuรกl es tu peor hรกbito en la escuela?", "ยฟQuรฉ programa de televisiรณn odias mรกs? ยกDa la razรณn!", "ยฟCuรกl es el vestido mรกs feo (en su opiniรณn) que ha usado y cuรกndo lo usรณ?", "ยฟQuรฉ es lo peor (chisme) que has dicho sobre tu amigo?","ยฟQuรฉ es lo mรกs vergonzoso de ti?"," ยฟQuรฉ es lo primero que ves cuando miras a otra persona (del sexo opuesto)?",
+"ยฟQuรฉ es lo primero que te viene a la mente cuando te miras al espejo?","ยฟQue es lo mas tonto que has hecho en tu vida?"," ยฟCuรกl es el peor sueรฑo que has tenido?"," ยฟCuรกl es el sueรฑo mรกs loco que puedes recordar hasta ahora?",
+" ยฟCuรกl es tu peor rasgo en tu opiniรณn?",
+" ยฟQuรฉ rasgo te gustarรญa cambiar de ti mismo?",
+" ยฟQuรฉ rasgo te gustarรญa cambiar en tu amigo?",
+" ยฟQuรฉ harรญas si tu novio te dijera que tienes mala nariz o dedos?",
+" ยฟEn quรฉ piensas antes de dormir? ej .: fantasear con una pareja, etc.",
+"ยฟQuรฉ crees que se destaca mรกs de ti?"," ยฟQuรฉ parte del cuerpo de tu amigo te gusta mรกs y desearรญas tener?",
+"ยฟQuรฉ parte de tu cuerpo odias mรกs?"," De todas las clases de la escuela, ยฟa quรฉ clase le gustarรญa ingresar y quรฉ clase le gustarรญa evitar?",
+"ยกDescribe a tu amigo mรกs cercano!"," ยกDescrรญbete en una palabra!"," ยฟQuรฉ pelรญculas y canciones te han hecho llorar?",
+" ยฟQuรฉ es algo que has mantenido en secreto hasta ahora y nadie lo ha descubierto?",
+" ยฟQuรฉ es lo mรกs romรกntico que alguien (del sexo opuesto) te ha hecho o regalado?",
+"ยฟQuรฉ es lo mรกs desagradable que has experimentado?",
+" Si nacieras de nuevo y tuvieras que ser uno de tus amigos, ยฟa quiรฉn elegirรญas ser?",
+" Si tienes superpoder / superpoder, ยฟquรฉ quieres hacer?",
+" Si el apocalipsis llega pronto, ยฟquรฉ haces?",
+" Si te pidieran que te sometieras a una cirugรญa plรกstica con una muestra de rostro de tu compaรฑero de clase, ยฟa quiรฉn imitarรญas?",
+" Alguna vez has robado algo?",
+" ยฟTiene miedo a morir? ยฟPor quรฉ?",
+" ยฟCuรกndo fue la รบltima vez que lloraste y por quรฉ?",
+" ยฟCuรกles son tus habilidades especiales?",
+" ยฟCรณmo te puede gustar la persona que te gusta?",
+" ยฟCuรกl crees que es un buen rasgo de tu amigo mรกs cercano que รฉl o ella no conozca?",
+" ยฟCon quรฉ tipo de persona te gustarรญa casarte algรบn dรญa?",
+" En tu opiniรณn, ยฟcuรกl es el trabajo mรกs atractivo para el amigo que estรก sentado a tu lado? ยฟY por quรฉ?",
+" ยฟCon quiรฉn quieres intercambiar por un dรญa? (amigos mรกs cercanos que ambos conocen) y por quรฉ",
+" ยฟAlguna vez has esperado en secreto que la relaciรณn de alguien con su novia se rompiera? ยฟQuiรฉn?",
+" ยฟPrefiere AMIGAS o AMIGOS? ยฟPor quรฉ?",
+" ยฟQuรฉ cita recuerdas mรกs y te gusta?",
+" ยฟQuรฉ secretos nunca les has contado a tus amigos hasta ahora?",
+" ยฟQuiรฉnes son sus verdaderos modelos a seguir?",
+" ยฟCuรกl de tus amigos crees que es matre?",
+" ยฟCuรกl de tus amigos crees que tiene menos corte de pelo?",
+" ยฟCuรกl de tus amigos es el mรกs fotogรฉnico? ",
+" ยฟQuiรฉn es tu mejor ex? ยกยฟY por quรฉ rompieron ?!",
+" ยฟCรณmo se llama el artista con el que hablaste en secreto?",
+" ยฟCรณmo se llamaba el profesor que te gustaba?",
+" ยฟCuรกl es el nombre de la exnovia de tu amigo que te ha gustado en secreto?",
+" ยฟCuรกl es el nombre de la persona (del sexo opuesto) que crees que serรญa divertido ser novia?",
+" ยฟCuรกl es el nombre de la persona que odias, pero crees que le gustas a esa persona (no necesariamente del sexo opuesto)?",
+" ยฟCuรกl es el nombre de la persona a la que has estado seรฑalando en secreto?",
+" ยฟQuiรฉn es la persona (del sexo opuesto) que mรกs se te pasa por la cabeza?",
+" ยฟQuiรฉn es la persona mรกs molesta entre tus amigos? ยกla razรณn!",
+" ยฟA quiรฉn de tus amigos crees que deberรญa renovarse?",
+" ยฟQuiรฉn estรก mรกs cerca de tu pareja ideal aquรญ?",
+"Padre o madre",
+"La parte del cuerpo que no te gusta",
+"ยฟAlguna vez has hecho trampa?",
+"ยฟAlguna vez te han besado?",
+"ยฟQuรฉ es lo primero que harรญas si te despertaras como del sexo opuesto?",
+"ยฟAlguna vez has dejado que alguien mรกs se meta en problemas por algo que hiciste?",
+"ยฟQuรฉ es lo mรกs embarazoso que has hecho en tu vida?",
+" ยฟCuรกl es la razรณn mรกs ridรญcula por la que has roto con alguien?",
+" ยฟCuรกl es el peor hรกbito que tienes?",
+" ยฟCuรกl crees que es tu mejor caracterรญstica? ยฟY que es lo peor?",
+" ยฟCuรกl es la cosa mรกs valiente que has hecho?",
+" ยฟCuรกndo fue la รบltima vez que mojaste la cama?",
+" ยฟCon quรฉ sueรฑas mรกs sobre dormir?",
+" Si va a ganar dinero ilegalmente, ยฟcรณmo lo hace?",
+" ยฟQuรฉ cosas infantiles sigues haciendo?",
+" Si fueras ciego, ยฟquiรฉn serรญa tu perro guรญa?",
+" ยฟQuรฉ es lo que mรกs te impresiona?",
+" Si se le permitiera usar solo 3 palabras durante el resto de la noche a partir de ahora, ยฟcuรกl serรญa?",
+" Si fueras un dictador, ยฟquรฉ ley promulgarรญas primero?",
+"Si vivieras durante la era nazi, ยฟquiรฉn serรญas?",
+"ยฟCuรกl fue la experiencia mรกs vergonzosa en la escuela / tiempo de estudio / educaciรณn / el aรฑo pasado?",
+"ยฟCuรกl es el mayor error de tu vida?",
+"ยฟQuรฉ no harรญas nunca, incluso si supieras que solo te quedan 12 horas de vida?",
+" ยฟQuรฉ delitos ha cometido?",
+" Cuรฉntame un secreto de tu infancia.",
+" ยฟCuรกl es su mayor representante (secreto)?",
+" ยฟQuรฉ quieres hacer conmigoโฆ ( x persona), si luego puedes borrar su memoria (รฉl,โฆ)?",
+" ยฟQuรฉ es lo peor que le has hecho a alguien?",
+" ยฟQuiรฉn te gusta mรกs?",
+"ยฟAlguna vez te has enamorado de alguno de los presentes?",
+" Si fueras un vampiro, ยฟa cuรกl de nosotros morderรญas ahora?",
+" ยฟHa defecado alguna vez en pรบblico?",
+" ยฟCuรกl es tu fantasรญa mรกs oscura?",
+" ยฟQuรฉ es lo mejor que has tenido con alguien mรกs?",
+" ยฟCuรกl es el mayor desvรญo para ti?",
+" ยฟQuรฉ es lo que mรกs te gusta de tu cuerpo y quรฉ es lo mรกs feo?",
+" ยฟA quien te gustarรญa ver desnuda?",
+" ยฟQuiรฉn en esta ronda puede enamorarte?",
+" ยฟAlguna vez has tenido un sueรฑo erรณtico donde sucediรณ alguien de este grupo?",
+" Si te vas a tatuar en el รกrea genital, ยฟque habrรก allรญ?",
+" ยฟQuรฉ es mรกs importante en una relaciรณn: el sexo o el amor?",
+" ยฟCrees que el sexo es genial, bueno, bueno, divertido a veces, o realmente no te importa?",
+" ยฟQuรฉ te hace realmente amar?",
+"ยฟCuรกntas veces a la semana / mes tiene relaciones sexuales y con quรฉ frecuencia desea tener relaciones sexuales?",
+" ยฟCon cuรกntas parejas sexuales te has acostado?",
+" ยฟQuรฉ parte del cuerpo te hace mรกs?",
+" ยฟCรณmo, dรณnde y con quiรฉn estuviste primero?",
+" ยฟQuรฉ importancia tienen para ti los juegos previos prolongados?",
+" ยฟQuรฉ debe hacer un hombre o una mujer para seducirte?",
+" ยฟAlguna vez has tenido sexo con un buen amigo?",
+" ยฟAlguna vez ha tenido relaciones sexuales con alguno de estos grupos, excepto con su pareja?",
+"ยฟQuรฉ animal se adapta mejor a ti y por quรฉ?",
+" ยฟCuรกl es tu peor cita?",
+" ยฟA quiรฉn quieres besar ahora?",
+" ยฟCuรกl es tu oscura fantasรญa secreta?",
+" ยฟPrefieres tatuarte el culo o perforarte la lengua?",
+" ยฟEres siempre leal?",
+" ยฟTienes un enamoramiento adolescente?",
+" ยฟDe quรฉ persona te enamoraste?",
+" ยฟCon quรฉ celebridad te gustarรญa salir?",
+" ยฟCuรกl fue el momento mรกs embarazoso de tu vida?",
+" ยฟQuรฉ boca te gusta mรกs del grupo de aquรญ?",
+" ยฟQuรฉ jugador tiene la mano mรกs hermosa?",
+" ยฟDรณnde fue tu primer beso?",
+" ยฟA quiรฉn del grupo te gustarรญa besar mรกs?",
+" ยฟQuiรฉn en la mesa es quizรกs el mรกs divertido?",
+" ยฟCuรกl es el mayor error de tu vida?",
+" ยฟTe pasรณ algo vergonzoso en una cita?",
+" ยฟHa estado alguna vez en contacto con drogas?",
+" ยฟA quรฉ persona quieres besar ahora?",
+" ยฟCuรกndo fue la รบltima vez que estuvo borracho?",
+" ยฟAlguna vez has hecho trampa en un examen escolar?",
+" ยฟHas robado algo en el pasado?",
+" ยฟRoncas por la noche?",
+" ยฟCuales tu cancion favorita?",
+" ยฟCon quรฉ jugadores comerciarรก durante 1 semana y por quรฉ?",
+" Te mudaste a una isla desierta, ยฟa quiรฉn te llevaste de aquรญ?",
+" ยฟA que temes mรกs?",
+" ยฟDรณnde te afeitas en todas partes?",
+"ยฟTienes un apodo?",
+" ยฟMiras en el baรฑo antes de lavarte?",
+"ยฟQuiรฉn te dio la peor angustia?",
+" Cuantas veces te has besado",
+"ยฟQuรฉ es lo mรกs embarazoso que te ha pasado?",
+"ยฟCuรกntos chicos / chicas has besado?",
+"ยฟDe quien estas enamorado(a) ?",
+"Que estrella te gusta",
+"ยฟEmpezaste algo con XY (insertar nombre)?",
+"Alguna vez has robado algo?"]
+
global.asmaulhusna = [
{
index: 1,
diff --git a/plugins/fun-reto.js b/plugins/fun-reto.js
deleted file mode 100644
index e38a5804c..000000000
--- a/plugins/fun-reto.js
+++ /dev/null
@@ -1,107 +0,0 @@
-let handler = async (m, { conn, usedPrefix, command }) => {
-conn.reply(m.chat,`โญโโโโโ[ ๐๐๐๐ ๐ ]โโโโโฌฃ\n*โ${pickRandom(global.bucin)}โ*\nโฐโโโโโโ[ ${vs} ]โโโโโโฌฃ`, m)}
-/*conn.sendHydrated(m.chat, `โญโโโโโ[ ๐๐๐๐ ๐ ]โโโโโฌฃ\n*โ${pickRandom(global.bucin)}โ*\nโฐโโโโโโ[ ${vs} ]โโโโโโฌฃ`, wm, null, md, '๐ป๐๐ ๐ณ๐๐๐๐ฉ๐๐-๐ด๐ซ', null, null, [
-['๐๐ฉ๐ง๐ ๐ซ๐๐ฏ ๐ง', `${usedPrefix}reto`],
-['๐๐ค๐ฅ๐จ ๐', `${usedPrefix}top`],
-['๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ โ๏ธ', `${usedPrefix}menu`]
-], m,)}*/
-
-handler.help = ['reto']
-handler.tags = ['fun']
-handler.command = /^reto/i
-handler.fail = null
-export default handler
-
-function pickRandom(list) {
- return list[Math.floor(list.length * Math.random())]
-}
-
-// https://jalantikus.com/tips/kata-kata-bucin/
-global.bucin = [
-"Pasa el pack de una hormiga",
-"Dile a tus amigos que te vas a vivir a EU y mรกndame una captura de lo que te haya dicho",
-"Grita desde la ventana que quieres mamar y mรกndame el vรญdeo",
-"Escribe el nombre de tu crush",
-"Debes de poner el nombre de mi creador en tu estado de WhatsApp, sin dar contexto",
-"Envรญame una fotografรญa tuya",
-"Debes de dibujar en alguna parte de tu cuerpo el nombre de algรบn integrante del grupo, luego realiza una foto y envรญala",
-"Hazte una foto dรกndole un beso a una Televisiรณn",
- "Mรกndame una fotografรญa en ropa interior",
-"Escribe en tu estado de WhatsApp que te gusta comer tierra",
-"Debes de poner la fotografรญa de un participante del grupo que sea del sexo opuesto al tuyo en tu perfil de WhatsApp durante 3 dรญas ๐ธ๐ธ",
-"Tienes que mandar un audio cantando la canciรณn: Un pato que va cantando alegremente cua cua ๐ฆ",
-"Envรญa un mensaje a tu ex y dile todavรญa me gustas", "Envรญa un audio diciendo amo a The Shadow Brokers - Bot",
-"Dile a tu crush que la amas y pasa captura al grupo", "Envรญa un audio cantando",
-"Envรญa una foto en la que salgas tu sin taparte la cara ni nada", "Envรญa un video bailando",
-"Invita a personas que no conoces a tomarse una selfi contigo y luego envรญalo al grupo",
-"Elija algunos nรบmeros aleatorios de sus contactos y envรญeles un mensaje de texto con el mensaje 'Estoy embarazad@'.",
-"ยกTome cualquier bebida que estรฉ cerca de usted, luego mรฉzclela con chile y beba!",
-"Tome un nรบmero aleatorio de sus contactos, llรกmelo y dรญgale 'te amo' ",
-"Compre la comida mรกs barata en la cafeterรญa (o compre una botella de agua) y diga entre sollozos a sus compaรฑeros de clase: 'Esta ... es la comida mรกs cara que he comprado)' ",
-" Compre una botella de coca cola y salpique flores con ella frente a la multitud.",
-" Pรกrese cerca del refrigerador, cierre los ojos, elija alimentos al azar en รฉl, incluso cuando coma, sus ojos deben estar cerrados.",
-" De pie en medio de la cancha de baloncesto y gritando: 'TE AMO MI PRรNCIPE / PRINCESA' ",
-"Presenta tus respetos a alguien de la clase y luego di: 'Estoy a su servicio, Majestad' ",
-" Caminando aplaudiendo y cantando la canciรณn 'Feliz cumpleaรฑos' de la clase al pasillo.",
-" Arrodรญllate sobre una rodilla y di 'ยฟCรกsate conmigo?' la primera persona en entrar a la habitaciรณn.",
-" Haz un tocado absurdo con tejido, sea lo que sea, sigue pidiendo poses frente a la cรกmara, sigue subiendo",
-"Dile 'ERES HERMOSA / MUY HERMOSA, NO MIENTES' a la chica que crees que es la mรกs bonita de esta clase.",
-" Dile a alguien en clase: 'Primero me dijeron que era tu gemelo, nos separamos y luego me sometรญ a una cirugรญa plรกstica. Y esto es lo mรกs serio que he dicho' ",
-" Tirar el cuaderno de alguien a la basura, frente a sus ojos, diciendo 'Este libro nadie puede entender' ",
-" ยกArranca el pelo de tu propia pierna 3 veces!",
-" Chatea con tus padres, diles que los extraรฑas con emoticonos tristes.",
-" Intente buscar en Google cosas aterradoras o ridรญculas como tripofobia, etc.",
-" Siรฉntese relajado en medio de la cancha de baloncesto mientras finge que es una playa para tomar el sol.",
-" Llena tu boca de agua y tienes que aguantar hasta dos rondas, si te rรญes y derramas o bebes, entonces tienes que volver a llenar y agregar una ronda mรกs.",
-" Salude a la primera persona que entre en esta sala y diga 'ยกBienvenido a Quiรฉn quiere ser millonario!' ",
-"Envรญa un mensaje de texto a tus padres 'ยกHola, hermano! ยกAcabo de comprar el รบltimo nรบmero de la revista Playboy!' ",
-"Envรญales un mensaje de texto a tus padres: 'Mamรก, papรก, ya sรฉ que soy un niรฑo adoptado del orfanato. No ocultes esto mรกs'.",
-" Envรญa tres nรบmeros aleatorios en tus contactos y escribe 'Me acabo de convertir en modelo de la revista Playboy' ",
-" ยกCome una cucharada de salsa de soja dulce y salsa de soja!",
-" Come algo pero no uses las manos.",
-" Enojarse con sus amigos que no vienen a pesar de que tienen una cita para jugar 'Verdad o Reto' juntos",
-"ยกRompe el huevo con la cabeza!",
-"Coma alimentos que se hayan mezclado y tendrรกn un sabor extraรฑo, pero asegรบrese de que los alimentos no sean daรฑinos para la salud a largo o corto plazo.",
-"Baila como Girls 'Generation para los niรฑos frente a la clase, o baila como Super Junior para las niรฑas.",
-"Izar el asta de la bandera sin la bandera.",
-"Hablando de la persona que te gusta, de tus amigos mรกs cercanos, del sexo opuesto que no conoces en absoluto y cosas por el estilo.",
-"Copia los peinados de todos tus amigos.",
-"Cantando la canciรณn HAI TAYO frente a mucha gente mientras baila",
-"Cante la canciรณn Baby Shark en voz alta en el aula.",
-"Pedir prestado algo a los vecinos",
-"Pide la firma de uno de los profesores mรกs feroces mientras dices 'Eres verdaderamente la persona que mรกs admiro en el mundo' ",
-" Pรญdale dinero a alguien (al azar ) en la calle diciendo 'No tengo dinero para tomar un angkot'.",
-" Beba algo que haya sido preparado / acordado, pero asegรบrese de que no sea peligroso, puede ser como beber jarabe mezclado con salsa de soja.",
-" Hablando con el emoticono-miedo de la persona que te gusta, estรก bien conversar con lo que quieras, a travรฉs de cualquier medio que puedas.",
-" Canta tu pelรญcula de Disney favorita fuera de casa mientras gritas.",
-" Nombra de 1 azul a 20 azules rรกpidamente y no debes cometer ningรบn error. Si estรก mal, debe repetirse desde el principio.",
-" Pรณngase una corona de papel de copia y diga a todos en la habitaciรณn 'HONOR AL REY' mientras seรฑala a cada persona con una regla.",
-" Vuelve a ponerte los pantalones hasta la maรฑana siguiente.",
-" Abraza a la persona que NO te agrada en clase y di: 'Muchas gracias por ser la mejor persona para mรญ' ",
-" Ve a un campo amplio, luego corre lo mรกs rรกpido posible mientras dices 'Estoy loco, estoy loco' ",
-" Elija una flor y luego conรฉctela a alguien que no conoce (debe ser del sexo opuesto)",
-" Elige a una persona al azar en la calle, luego di 'No sabes que eres hermosa' (ala One Direction)",
-" Fingir estar poseรญdo ejm: poseรญdo por un tigre, etc.",
-" Pรญdale que silbe ya que su boca estรก nuevamente llena de comida.",
-" Pide ser un mesero para que te sirva con tus amigos para el almuerzo.",
-" Dรญgales que usen calcetines para hacer guantes.",
-"Dรญgales que usen el sombrero mรกs extraรฑo / el casco mรกs absurdo durante la prรณxima ronda.",
-"Llama a tu mamรก y dile 'mamรก, quiero casarme lo antes posible' ",
-"Llama a tu ex y di 'te extraรฑo' ",
-"Cambia de ropa con la persona mรกs cercana hasta la siguiente ronda.",
-"Actualice el estado en WhatsApp lo que sea con palabras que comiencen con 'S' ",
-"Sube un video de canto a YouTube que estรฉ cantando canciones populares.",
-"Colorea tus uรฑas de las manos y de los pies de diferentes colores durante una semana.",
-"come 2 cucharadas de arroz sin guarniciones",
-"Envie el emoji '๐ฆ๐จ' cada vez que escriba en un grupo 1 dรญa",
-"diga 'ยกBienvenido a Quiรฉn quiere ser millonario!' a todos los grupos que tienes",
-"canta el coro de la รบltima canciรณn que tocaste",
-"Envia un audio de voz a tu ex / enamorado / novia, dile hola (nombre), quiero llamar, solo un momento. Te Extraรฑo๐ฅบ๐๐ผ๐๐ผ ",
-"Dile a la gente al azar: Primero me dijeron que era tu gemelo, nos separamos y luego me sometรญ a una cirugรญa plรกstica. Y esto",
-"ยกHaz 1 rima para el primer jugador!",
-"cuenta tu propia versiรณn de cosas vergonzosas",
-"cambiar el nombre a 'Gay' durante 24 horas",
-"ยกMenciona tu tipo de novia!",
-"Di 'Estoy enamorado de ti, ยฟquieres ser mi novio o no?' al รบltimo sexo opuesto con el que conversaste en WhatsApp, espera a que responda",
-"Hรกblale a tu ex por WhatsApp y dile 'te amo, por favor vuelve'. Manda una captura de pantalla como evidencia de reto cumplido!"
-]
diff --git a/plugins/fun-simi.js b/plugins/fun-simi.js
deleted file mode 100644
index d4cf906e4..000000000
--- a/plugins/fun-simi.js
+++ /dev/null
@@ -1,36 +0,0 @@
-import translate from '@vitalets/google-translate-api'
-import fetch from "node-fetch"
-let handler = async (m, { text, command, args, usedPrefix }) => {
- if (!text) throw `*Hola quiere hablar un rato conmigo?* *escriba un texto para hablar conmigo*\n\n*Ejemplo: ${usedPrefix + command} Hola bot*`
- try {
- await conn.sendPresenceUpdate('composing', m.chat)
- let api = await fetch("https://api.simsimi.net/v2/?text=" + text + "&lc=es")
- let resSimi = await api.json()
- m.reply(resSimi.success)
- } catch {
- try {
- if (text.includes('Hola')) text = text.replace('Hola', 'Hello')
- if (text.includes('hola')) text = text.replace('hola', 'Hello')
- if (text.includes('HOLA')) text = text.replace('HOLA', 'HELLO')
- let reis = await fetch("https://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=en&dt=t&q=" + text)
- 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()
- m.reply(resu2[0][0][0])
- } catch {
- let reisss = await fetch("https://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=id&dt=t&q=" + text)
- let resuuu = await reisss.json()
- let res222 = await fetch(`https://violetics.pw/api/utility/simsimi?apikey=beta&text=${resuuu[0][0][0]}`)
- let json222 = await res222.json()
- let resulttt = json222.result
- let lolll = await translate(`${resulttt}`, { to: 'es', autoCorrect: true })
- m.reply(lolll.text)
- }}
-}
-handler.help = ['simsimi']
-handler.tags = ['General']
-handler.command = ['bot', 'simi', 'simsimi']
-export default handler
diff --git a/plugins/fun-slot.js b/plugins/fun-slot.js
deleted file mode 100644
index 221fe3cd8..000000000
--- a/plugins/fun-slot.js
+++ /dev/null
@@ -1,240 +0,0 @@
-/* CREDITOS: https://github.com/FG98F */
-
-let handler = async (m, { args, usedPrefix, command, conn }) => {
-let fa = `${mg}๐๐จ๐๐ง ๐๐๐ก ๐ก๐ ๐จ๐๐๐ช๐๐๐ฃ๐ฉ๐ ๐ข๐๐ฃ๐๐ง๐:
-
-๐๐๐๐ข๐ฅ๐ก๐ค:
-*${usedPrefix + command} 50*`.trim()
-
-if (!args[0]) throw fa
-if (isNaN(args[0])) throw fa
-let apuesta = parseInt(args[0])
-
-let users = global.db.data.users[m.sender]
-//let time = global.db.data.users[m.sender].lastwork + 30000
-//if (new Date - users.lastwork < 30000) throw `*๐๐๐๐๐๐ผ ๐๐ ${msToTime(time - new Date())} ๐๐ผ๐๐ผ ๐พ๐๐๐๐๐๐๐ผ๐ ๐ผ๐๐๐๐๐ผ๐๐ฟ๐* ๐ฐ\n\n*๐พ๐๐๐ ๐ฝ๐ผ๐พ๐ ๐๐ ${msToTime(time - new Date())} ๐๐ ๐พ๐๐๐๐๐๐๐ ๐ฝ๐๐๐๐๐๐* ๐ฐ`
-
-if (apuesta < 10) throw `${lenguajeGB['smsAvisoAG']()}๐ซ๐๐๐๐ ๐
๐๐ ๐๐๐๐๐๐๐ ๐๐ ๐๐ฬ๐๐๐๐ ๐
๐ *10*`
-
-if (users.exp < apuesta) {
-throw `${lenguajeGB['smsAvisoFG']()}๐ต๐ ๐๐๐๐๐๐๐ ๐๐๐๐ ๐๐๐๐๐๐๐ ๐๐๐, ๐๐ ๐๐๐๐๐๐๐๐๐
๐ ๐๐๐๐๐๐๐๐๐๐๐ ๐๐๐ ๐๐ ๐๐๐ ๐๐๐๐ ๐๐๐๐๐๐๐ ๐๐ฬ๐ ๐๐๐๐๐๐๐๐`
-}
-if (command == 'slot1') {
-let time = global.db.data.users[m.sender].lastslot + 60000
-if (new Date - users.lastslot < 60000) throw `*๐ฝ๐๐๐๐๐ ๐๐ ${msToTime(time - new Date())} ๐ท๐๐๐ ๐๐๐๐๐๐๐๐๐ ๐ ๐๐๐๐๐๐๐
๐ ๐๐๐* ๐ฐ`
-users.lastslot = new Date * 1
-
-let emojis = ["๐", "โก", "๐"];
-let a = Math.floor(Math.random() * emojis.length);
-let b = Math.floor(Math.random() * emojis.length);
-let c = Math.floor(Math.random() * emojis.length);
-let x = [],
-y = [],
-z = [];
-for (let i = 0; i < 3; i++) {
-x[i] = emojis[a];
-a++;
-if (a == emojis.length) a = 0;
-}
-for (let i = 0; i < 3; i++) {
-y[i] = emojis[b];
-b++;
-if (b == emojis.length) b = 0;
-}
-for (let i = 0; i < 3; i++) {
-z[i] = emojis[c];
-c++;
-if (c == emojis.length) c = 0;
-}
-let end;
-if (a == b && b == c) {
-end = `โจ *QUE PRO!! HAS GANADO +${apuesta + apuesta} EXP*`
-users.exp += apuesta
-} else if (a == b || a == c || b == c) {
-end = `๐ *CASI!!, VUELVA A INTENTAR*\n*BONO DE +50 EXP*`
-users.exp += 50
-} else {
-end = `๐ฟ *HA PERDIDO!! โ -${apuesta} EXP*`
-users.exp -= apuesta
-}
-//users.lastslot = new Date * 1
-//return await m.reply(
- // `
-await delay(5000)
-let s = `๐ฐ | *RANURAS* | ๐ฐ
- โโโโโโโโ
- ${x[0]} : ${y[0]} : ${z[0]}
- ${x[1]} : ${y[1]} : ${z[1]}
- ${x[2]} : ${y[2]} : ${z[2]}
- โโโโโโโโ
-๐ฐ | *SLOTS* | ๐ฐ
-
-${end}`
-await conn.reply(m.chat, s, m)}
-/*await conn.sendHydrated(m.chat, `${s}\n\n${end}`, wm, null, md, '๐๐๐ฉ๐๐ฝ๐ค๐ฉ-๐๐ฟ', null, null, [
-['โก ๐ผ๐๐๐๐๐ผ๐ ๐๐๐๐ผ ๐๐๐ | ๐ผ๐๐ผ๐๐', `${usedPrefix}slot1 ${apuesta}`],
-['๐ ๐ผ๐๐๐๐๐ผ๐ ๐พ๐๐ ๐๐ผ๐๐ผ๐พ๐๐๐๐', `${usedPrefix}slot2 ${apuesta}`],
-['๐ ๐ผ๐๐๐๐๐ผ๐ ๐พ๐๐ ๐ฟ๐๐ผ๐๐ผ๐๐๐๐', `${usedPrefix}slot3 ${apuesta}`]
-], m,)}*/
-
-
-if (users.money < apuesta) {
-throw `${lenguajeGB['smsAvisoFG']()}๐ต๐ ๐๐๐๐๐๐๐ ๐๐๐๐ ๐๐๐๐๐๐๐ ๐ณ๐๐๐๐๐๐๐๐, ๐๐ ๐๐๐๐๐๐๐๐๐
๐ ๐๐๐๐๐๐๐๐๐๐๐ ๐๐๐ ๐๐ ๐๐๐ ๐๐๐๐ ๐๐๐๐๐๐๐ ๐๐ฬ๐ ๐๐๐๐๐๐๐๐`
-}
-if (command == 'slot2') {
-let time = global.db.data.users[m.sender].lastslot + 60000
-if (new Date - users.lastslot < 60000) throw `*๐ฝ๐๐๐๐๐ ๐๐ ${msToTime(time - new Date())} ๐ท๐๐๐ ๐๐๐๐๐๐๐๐๐ ๐ ๐๐๐๐๐๐๐
๐ ๐ณ๐๐๐๐๐๐๐๐* ๐ฐ`
-users.lastslot = new Date * 1
-
-let emojis = ["๐", "๐", "๐"];
-let a = Math.floor(Math.random() * emojis.length);
-let b = Math.floor(Math.random() * emojis.length);
-let c = Math.floor(Math.random() * emojis.length);
-let x = [],
-y = [],
-z = [];
-for (let i = 0; i < 3; i++) {
-x[i] = emojis[a];
-a++;
-if (a == emojis.length) a = 0;
-}
-for (let i = 0; i < 3; i++) {
-y[i] = emojis[b];
-b++;
-if (b == emojis.length) b = 0;
-}
-for (let i = 0; i < 3; i++) {
-z[i] = emojis[c];
-c++;
-if (c == emojis.length) c = 0;
-}
-let end;
-if (a == b && b == c) {
-end = `โจ *QUE PRO!! HAS GANADO +${apuesta + apuesta} GataCoins*`
-users.money += apuesta
-} else if (a == b || a == c || b == c) {
-end = `๐ *CASI!!, VUELVA A INTENTAR*\n*BONO DE +30 GataCoins*`
-users.money += 30
-} else {
-end = `๐ฟ *HA PERDIDO!! โ -${apuesta} GataCoins*`
-users.money -= apuesta
-}
-//users.lastslot = new Date * 1
-//return await m.reply(
- // `
-await delay(5000)
-let ss = `
-๐ฐ | *RANURAS* | ๐ฐ
- โโโโโโโโ
- ${x[0]} : ${y[0]} : ${z[0]}
- ${x[1]} : ${y[1]} : ${z[1]}
- ${x[2]} : ${y[2]} : ${z[2]}
- โโโโโโโโ
-๐ฐ | *SLOTS* | ๐ฐ\n\n${end}`
-await conn.reply(m.chat, ss, m)}
-/*await conn.sendHydrated(m.chat, `${ss}\n\n${end}`, wm, null, md, '๐๐๐ฉ๐๐ฝ๐ค๐ฉ-๐๐ฟ', null, null, [
-['๐ ๐ผ๐๐๐๐๐ผ๐ ๐๐๐๐ผ ๐๐๐ | ๐ผ๐๐ผ๐๐', `${usedPrefix}slot2 ${apuesta}`],
-['โก ๐ผ๐๐๐๐๐ผ๐ ๐พ๐๐ ๐๐๐', `${usedPrefix}slot1 ${apuesta}`],
-['๐ ๐ผ๐๐๐๐๐ผ๐ ๐พ๐๐ ๐ฟ๐๐ผ๐๐ผ๐๐๐๐', `${usedPrefix}slot3 ${apuesta}`]
-], m,)}*/
-
-
-if (users.limit < apuesta) {
-throw `${lenguajeGB['smsAvisoFG']()}๐ต๐ ๐๐๐๐๐๐๐ ๐๐๐๐ ๐๐๐๐๐๐๐ ๐ซ๐๐๐๐๐๐๐, ๐๐ ๐๐๐๐๐๐๐๐๐
๐ ๐๐๐๐๐๐๐๐๐๐๐ ๐๐๐ ๐๐ ๐๐๐ ๐๐๐๐ ๐๐๐๐๐๐๐ ๐๐ฬ๐ ๐๐๐๐๐๐๐๐`
-}
-if (command == 'slot3') {
-let time = global.db.data.users[m.sender].lastslot + 30000
-if (new Date - users.lastslot < 30000) throw `*๐ฝ๐๐๐๐๐ ๐๐ ${msToTime(time - new Date())} ๐ท๐๐๐ ๐๐๐๐๐๐๐๐๐ ๐ ๐๐๐๐๐๐๐
๐ ๐ซ๐๐๐๐๐๐๐* ๐ฐ`
-users.lastslot = new Date * 1
-
-let emojis = ["๐ชต", "๐ฃ", "๐"];
-let a = Math.floor(Math.random() * emojis.length);
-let b = Math.floor(Math.random() * emojis.length);
-let c = Math.floor(Math.random() * emojis.length);
-let x = [],
-y = [],
-z = [];
-for (let i = 0; i < 3; i++) {
-x[i] = emojis[a];
-a++;
-if (a == emojis.length) a = 0;
-}
-for (let i = 0; i < 3; i++) {
-y[i] = emojis[b];
-b++;
-if (b == emojis.length) b = 0;
-}
-for (let i = 0; i < 3; i++) {
-z[i] = emojis[c];
-c++;
-if (c == emojis.length) c = 0;
-}
-let end;
-if (a == b && b == c) {
-end = `โจ *QUE PRO!! HAS GANADO +${apuesta + apuesta} Diamantes*`
-users.limit += apuesta
-} else if (a == b || a == c || b == c) {
-end = `๐ *CASI!!, VUELVA A INTENTAR*\n*BONO DE +2 Diamantes*`
-users.limit += 2
-} else {
-end = `๐ฟ *HA PERDIDO!! โ -${apuesta} Diamantes*`
-users.limit -= apuesta
-}
-//users.lastslot = new Date * 1
-//return await m.reply(
- // `
-await delay(3000)
-let sss = `
-๐ฐ | *RANURAS* | ๐ฐ
- โโโโโโโโ
- ${x[0]} : ${y[0]} : ${z[0]}
- ${x[1]} : ${y[1]} : ${z[1]}
- ${x[2]} : ${y[2]} : ${z[2]}
- โโโโโโโโ
-๐ฐ | *SLOTS* | ๐ฐ\n\n${end}`
-await conn.reply(m.chat, sss, m)}
-/*await conn.sendHydrated(m.chat, `${sss}\n\n${end}`, wm, null, md, '๐๐๐ฉ๐๐ฝ๐ค๐ฉ-๐๐ฟ', null, null, [
-['๐ ๐ผ๐๐๐๐๐ผ๐ ๐๐๐๐ผ ๐๐๐ | ๐ผ๐๐ผ๐๐', `${usedPrefix}slot3 ${apuesta}`],
-['โก ๐ผ๐๐๐๐๐ผ๐ ๐พ๐๐ ๐๐๐', `${usedPrefix}slot1 ${apuesta}`],
-['๐ ๐ผ๐๐๐๐๐ผ๐ ๐พ๐๐ ๐๐ผ๐๐ผ๐พ๐๐๐๐', `${usedPrefix}slot2 ${apuesta}`]
-], m,)}*/
-
-
-if (command == 'slot') {
-await conn.reply(m.chat, `*Elija en que apostarรก ${apuesta}*\n\nโก Exp:\n${usedPrefix}slot1 ${apuesta}\n\n๐ Lolicoins:\n${usedPrefix}slot2 ${apuesta}\n\n๐ diamante:\n${usedPrefix}slot3 ${apuesta}`, m)}
-/*await conn.sendHydrated(m.chat, `*Elija en que apostarรก ${apuesta}*`, wm, null, md, '๐๐๐ฉ๐๐ฝ๐ค๐ฉ-๐๐ฟ', null, null, [
-['โก ๐๐๐', `${usedPrefix}slot1 ${apuesta}`],
-['๐ ๐๐ผ๐๐ผ๐พ๐๐๐๐', `${usedPrefix}slot2 ${apuesta}`],
-['๐ ๐ฟ๐๐ผ๐๐ผ๐๐๐๐', `${usedPrefix}slot3 ${apuesta}`]
-], m,)}*/
-
-if (command == 'apostar') {
-await conn.reply(m.chat, `*Elija en que apostarรก ${apuesta}*\n\n*Choose what you will*\n\nโกExp:\n${usedPrefix}slot1 ${apuesta}\n๐ Lolicoins:\n${usedPrefix}slot2 ${apuesta}\n๐ Diamante:\n${usedPrefix}slot3 ${apuesta}`, m)}
-/*await conn.sendHydrated(m.chat, `*Elija en que apostarรก ${apuesta}*\n\n*Choose what you will*`, wm, null, md, '๐๐๐ฉ๐๐ฝ๐ค๐ฉ-๐๐ฟ', null, null, [
-['โก ๐๐๐', `${usedPrefix}slot1 ${apuesta}`],
-['๐ ๐๐ผ๐๐ผ๐พ๐๐๐๐', `${usedPrefix}slot2 ${apuesta}`],
-['๐ ๐ฟ๐๐ผ๐๐ผ๐๐๐๐', `${usedPrefix}slot3 ${apuesta}`]
-], m,)}*/
-
-//global.db.data.users[m.sender].lastwork = new Date * 1
-
-}
-handler.help = ['slot ']
-handler.tags = ['game']
-handler.command = ['slot', 'apostar', 'slot1', 'slot2', 'slot3']
-handler.register = true
-export default handler
-const delay = time => new Promise(res => setTimeout(res, time))
-
-function msToTime(duration) {
-var milliseconds = parseInt((duration % 1000) / 100),
-seconds = Math.floor((duration / 1000) % 60),
-minutes = Math.floor((duration / (1000 * 60)) % 60),
-hours = Math.floor((duration / (1000 * 60 * 60)) % 24)
-
-hours = (hours < 10) ? "0" + hours : hours
-minutes = (minutes < 10) ? "0" + minutes : minutes
-seconds = (seconds < 10) ? "0" + seconds : seconds
-
-return minutes + " m " + seconds + " s "
-}
diff --git a/plugins/fun-sopa_de_letras.js b/plugins/fun-sopa_de_letras.js
index f5dd276c6..b1a38aa29 100644
--- a/plugins/fun-sopa_de_letras.js
+++ b/plugins/fun-sopa_de_letras.js
@@ -1,12 +1,12 @@
//CREADO POR @gata_dios
-
+
let fila, columna, sopaNube, sopaPalabra, sopaDir, userSP, cambioLetra, diamante = null
let intentos = 0
let handler = async (m, { conn, text, usedPrefix, command}) => {
-if (!userSP) {
+if (!userSP) {
userSP = m.sender.split("@")[0]
-await conn.reply(m.chat, `*@${m.sender.split("@")[0]} REGISTRADO EN EL JUEGO* โ
`, m, { mentions: [m.sender] })
+await conn.reply(m.chat, `*@${m.sender.split("@")[0]} ${await tr("REGISTRADO EN EL JUEGO")}* โ
`, m, { mentions: [m.sender] })
}
async function generarSopaDeLetras() {
@@ -93,13 +93,13 @@ sopaDeLetrasConBordes += fila + "\n"
//sopaDeLetrasConBordes += " *โฐ" + "โ".repeat(LADO) + 'โโ' + "โฏ*"
sopaDeLetrasConBordes = sopaDeLetrasConBordes.replace(/[a-zA-Z]/g, letra => LETRAS_POSIBLES[letra.charCodeAt() - 65] || letra)
-await m.reply(`๐ *SOPA DE LETRAS* ๐
-*PALABRA:* \`\`\`"${PALABRA}"\`\`\`
-*TIENE 3 MINUTOS PARA ENCONTRAR LA RESPUESTA CORRECTA!!*
+await m.reply(`๐ ${await tr("*SOPA DE LETRAS*")} ๐
+*${await tr("PALABRA")}:* \`\`\`"${PALABRA}"\`\`\`
+*${await tr("TIENE 3 MINUTOS PARA ENCONTRAR LA RESPUESTA CORRECTA!!")}*
-*ESCRIBA EL NรMERO DE FILA Y COLUMNA DEL COMIENZO DE LA PRIMERA LETRA _"${PALABRA.charAt(0)}"_ DE LA PALABRA _"${PALABRA}"_ TIENE _${intentos}_ INTENTOS!!*
+*${await tr("ESCRIBA EL NรMERO DE FILA Y COLUMNA DEL COMIENZO DE LA PRIMERA LETRA")} _"${PALABRA.charAt(0)}"_ ${await tr("DE LA PALABRA")} _"${PALABRA}"_ ${await tr("TIENE")} _${intentos}_ ${await tr("INTENTOS!!")}*
-*EJEMPLO:*
+*${await tr("EJEMPLO")}:*
โ๏ธ \`\`\`${usedPrefix + command} 28\`\`\`
โก๏ธ \`\`\`FILA 2\`\`\` โฌ๏ธ \`\`\`COLUMNA 8\`\`\``.trim())
await m.reply(`๐ *${PALABRA.split("").join(" ")}* ๐ \n\n` + sopaDeLetrasConBordes.trimEnd())
@@ -114,7 +114,7 @@ sopaDir = DIRECCION.replace(/([A-Z])/g, ' $1').toLowerCase().replace(/^./, str =
cambioLetra = sopaDir
let tagUser = userSP + '@s.whatsapp.net'
if (userSP != m.sender.split("@")[0]) {
-await conn.reply(m.chat, `*@${tagUser.split("@")[0]} ESTA JUGANDO SOPA DE LETRAS ๐ ACTUALEMENTE*`, m, { mentions: [tagUser] })
+await conn.reply(m.chat, `*@${tagUser.split("@")[0]} ${await tr("ESTA JUGANDO SOPA DE LETRAS ๐ ACTUALEMENTE")}*`, m, { mentions: [tagUser] })
return
}
if (intentos === 0) {
@@ -125,11 +125,11 @@ resetUserSP(sopaDir)
async function resetUserSP() {
await new Promise((resolve) => setTimeout(resolve, 2 * 60 * 1000)) // 2 min
if (intentos !== 0) {
-await conn.reply(m.chat, `*@${m.sender.split("@")[0]} TE QUEDA UN MINUTO!!* ๐จ`, m, { mentions: [m.sender] })
+await conn.reply(m.chat, `*@${m.sender.split("@")[0]} ${await tr("TE QUEDA UN MINUTO!!")}* ๐จ`, m, { mentions: [m.sender] })
}
await new Promise((resolve) => setTimeout(resolve, 3 * 60 * 1000)) // 3 min
if (intentos !== 0) {
-await conn.reply( m.chat, `*@${m.sender.split("@")[0]} EL TIEMPO SE HA ACABADO!!* ๐ง\n\n*LA PALABRA _"${sopaPalabra}"_ SE ENCONTRABA EN LA DIRECCIรN _${cambioLetra}_ DE LA FILA _${fila}_ Y COLUMNA _${columna}_*`, m, { mentions: [m.sender] })
+await conn.reply( m.chat, `*@${m.sender.split("@")[0]} ${await tr(`EL TIEMPO SE HA ACABADO!!* ๐ง\n\nLA PALABRA_ "${sopaPalabra}"_ SE ENCONTRABA EN LA DIRECCIรN _${sopaDir}_ DE LA FILA _${fila}_ Y COLUMNA _${columna}_`)} `, m, { mentions: [m.sender] })
fila = null, columna = null, sopaNube = null, sopaPalabra = null, sopaDir = null, userSP = null, cambioLetra = null
intentos = 0
}
@@ -146,20 +146,24 @@ diamante = 32
}
global.db.data.users[m.sender].limit += diamante
-await m.reply(`\`\`\`๐ HAS GANADO ${diamante} ${rpgshop.emoticon('limit')}!!\`\`\`\n\n*CORRECTO!! LA PALABRA _"${sopaPalabra}"_ SE ENCONTRABA EN LA DIRECCIรN _${cambioLetra}_ DE LA FILA _${fila}_ Y COLUMNA _${columna}_*`)
+await m.reply(`\`\`\`๐ ${await tr("HAS GANADO")} ${diamante} ${rpgshop.emoticon('limit')}!!\`\`\`\n\n*${await tr("CORRECTO!! LA PALABRA")} _"${sopaPalabra}"_ ${await tr(`SE ENCONTRABA EN LA DIRECCIรN _${cambioLetra}_ DE LA FILA _${fila}_ Y COLUMNA _${columna}_`)}*`)
fila = null, columna = null, sopaNube = null, sopaPalabra = null, sopaDir = null, userSP = null, cambioLetra = null
intentos = 0
+return
}else{
if (intentos === 1) {
fila = null, columna = null, sopaNube = null, sopaPalabra = null, sopaDir = null, userSP = null, cambioLetra = null
intentos = 0
-await m.reply(`๐ซก *AGOTASTE LOS INTENTOS!! LA PALABRA _"${sopaPalabra}"_ SE ENCONTRABA EN LA DIRECCIรN _${cambioLetra}_ DE LA FILA _${fila}_ Y COLUMNA _${columna}_*`)
+await m.reply(`๐ซก *${await tr("AGOTASTE LOS INTENTOS!! LA PALABRA")} _"${sopaPalabra}"_ ${await tr(`SE ENCONTRABA EN LA DIRECCIรN _${cambioLetra}_ DE LA FILA _${fila}_ Y COLUMNA _${columna}_`)}*`)
return
} else {
intentos -= 1
-await m.reply(`๐ฎโ๐จ *INCORRECTO. TE QUEDAN _${intentos}_ INTENTOS!!*${intentos === 1 ? '' : `\n*PALABRA A ENCONTRAR:* \`\`\`${sopaPalabra}\`\`\``}\n\n${intentos === 1 ? `\`\`\`๐ก PISTA!!\`\`\`\n*LA PALABRA _${sopaPalabra}_ SE ENCUENTRA EN LA DIRECCIรN _"${cambioLetra}"_*\n\n` : ''}${sopaNube}`)
+await m.reply(`๐ฎโ๐จ *${await tr(`INCORRECTO. TE QUEDAN _${intentos}_ INTENTOS!!`)} *${intentos === 1 ? '' : `\n*${await tr("PALABRA A ENCONTRAR")}:* \`\`\`${sopaPalabra}\`\`\``}\n\n${intentos === 1 ? `\`\`\`๐ก ${await tr("PISTA!!")}\`\`\`\n*${await tr("LA PALABRA")} _${sopaPalabra}_ ${await tr("SE ENCUENTRA EN LA DIRECCIรN")} _"${cambioLetra}"_*\n\n` : ''}${sopaNube}`)
+return
}}
}}
-
+handler.help = ['sopa', 'buscarpalabras'];
+ handler.tags = ['game'];
handler.command = /^(buscarpalabra|sopa|soup|wordsearch|wordfind|spdeletras|spletras|sppalabras|spalabras|spdepalabras)$/i
+handler.register = true
export default handler
diff --git a/plugins/fun-suitpvp.js b/plugins/fun-suitpvp.js
new file mode 100644
index 000000000..4fdebd679
--- /dev/null
+++ b/plugins/fun-suitpvp.js
@@ -0,0 +1,84 @@
+let handler = m => m
+handler.before = async function (m) {
+let pp = 'https://telegra.ph/file/c7924bf0e0d839290cc51.jpg'
+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" }
+this.suit = this.suit ? this.suit : {}
+if (db.data.users[m.sender].suit < 0) db.data.users[m.sender].suit = 0
+let room = Object.values(this.suit).find(room => room.id && room.status && [room.p, room.p2].includes(m.sender))
+if (room) {
+let win = ''
+let tie = false
+if (m.sender == room.p2 && /^(acc(ept)?|Aceptar|acerta|aceptar|gas|aceptare?|nao|Rechazar|rechazar|ga(k.)?bisa)/i.test(m.text) && m.isGroup && room.status == 'wait') {
+if (/^(tolak|gamau|rechazar|ga(k.)?bisa)/i.test(m.text)) {
+let textno = `โ ๏ธ@${room.p2.split`@`[0]} ${await tr("Rechazo el pvp, el juego se cancela")}`
+m.reply(textno, null, {mentions: this.parseMention(textno)})
+delete this.suit[room.id]
+return !0 }
+room.status = 'play'
+room.asal = m.chat
+clearTimeout(room.waktu)
+let textplay = `๐ฎ ${await tr("El juegos comienza, las opciones han sido enviados a los chat privado de ")} @${room.p.split`@`[0]} ๐ @${room.p2.split`@`[0]}\n\n${await tr("Seleccionen una opciรณn en sus chats privado respectivamente")}\n\n> *${await tr("Elegir opciรณn en")} wa.me/${conn.user.jid.split`@`[0]}*`
+m.reply(textplay, m.chat, {mentions: this.parseMention(textplay)})
+let comienzop = await tr(`โ ๏ธ Por favor seleccione una de las siguientes opciones\n\n> แฆ Piedra\n> แ Papel\n> แฆ Tijera\n\n> *Responda al mensaje con la opciรณn*`)
+let comienzop2 = comienzop
+let iniciativa = await tr(`โ ๏ธ Ningun jugador tomo la iniciativa de empezar el juegos, el pvp se ah cancelado`)
+let gamtxt1 = await tr("No elegiste ninguna opciรณn, fin del pvp")
+
+if (!room.pilih) this.sendMessage(room.p, { text: comienzop }, { quoted: fkontak })
+if (!room.pilih2) this.sendMessage(room.p2, { text: comienzop2 }, { quoted: fkontak })
+room.waktu_milih = setTimeout(() => {
+if (!room.pilih && !room.pilih2) this.sendMessage(m.chat, { text: iniciativa }, { quoted: fkontak })
+else if (!room.pilih || !room.pilih2) {
+win = !room.pilih ? room.p2 : room.p
+let textnull = `โ ๏ธ @${(room.pilih ? room.p2 : room.p).split`@`[0]} ${gamtxt1}`
+this.sendMessage(m.chat, { text: textnull }, { quoted: fkontak }, { mentions: this.parseMention(textnull) })
+db.data.users[win == room.p ? room.p : room.p2].exp += room.poin
+db.data.users[win == room.p ? room.p : room.p2].exp += room.poin_bot
+db.data.users[win == room.p ? room.p2 : room.p].exp -= room.poin_lose
+}
+delete this.suit[room.id]
+return !0
+}, room.timeout)}
+let jwb = m.sender == room.p
+let jwb2 = m.sender == room.p2
+let g = /tijera/i
+let b = /piedra/i
+let k = /papel/i
+let reg = /^(tijera|piedra|papel)/i
+if (jwb && reg.test(m.text) && !room.pilih && !m.isGroup) {
+room.pilih = reg.exec(m.text.toLowerCase())[0]
+room.text = m.text
+m.reply(`โ
${await tr(`Has elegido ${m.text}, regresa al grupo y `)} ${room.pilih2 ? await tr(`*Revisa los resultados*`) : await tr('*Espera los resultados*')}`)
+if (!room.pilih2) this.reply(room.p2, await tr(`โ ๏ธ El oponente ah elegido, es tu turno de elegir.`), fkontak, 0)}
+if (jwb2 && reg.test(m.text) && !room.pilih2 && !m.isGroup) {
+room.pilih2 = reg.exec(m.text.toLowerCase())[0]
+room.text2 = m.text
+m.reply(`โ
${await tr(`Has elegido ${m.text}, regresa al grupo y `)} ${room.pilih2 ? await tr(`*Revisa los resultados*`) : await tr('*Espera los resultados*')}`)
+if (!room.pilih) this.reply(room.p, tr(`โ ๏ธ El oponente ah elegido, es tu turno de elegir.`), fkontak, 0)}
+let stage = room.pilih
+let stage2 = room.pilih2
+if (room.pilih && room.pilih2) {
+clearTimeout(room.waktu_milih)
+if (b.test(stage) && g.test(stage2)) win = room.p
+else if (b.test(stage) && k.test(stage2)) win = room.p2
+else if (g.test(stage) && k.test(stage2)) win = room.p
+else if (g.test(stage) && b.test(stage2)) win = room.p2
+else if (k.test(stage) && b.test(stage2)) win = room.p
+else if (k.test(stage) && g.test(stage2)) win = room.p2
+else if (stage == stage2) tie = true
+
+this.reply(room.asal, `๐ฅณ ${await tr("RESULTADOS DEL PVP")}\n\n${tie ? await tr('๐ฅด Empate!!') : ''} *@${room.p.split`@`[0]} (${room.text})* ${tie ? '' : room.p == win ? await tr(` *Ganarte ๐ฅณ ${room.poin} XP*`) : await tr(` *Perdio ๐คก ${room.poin_lose} XP*`)}
+*@${room.p2.split`@`[0]} (${room.text2})* ${tie ? '' : room.p2 == win ? await tr(`*Ganarte ๐ฅณ ${room.poin} XP*`) : await tr(` *Perdio ๐คก ${room.poin_lose} XP*`)}
+`.trim(), m, { mentions: [room.p, room.p2] } )
+if (!tie) {
+db.data.users[win == room.p ? room.p : room.p2].exp += room.poin
+db.data.users[win == room.p ? room.p : room.p2].exp += room.poin_bot
+db.data.users[win == room.p ? room.p2 : room.p].exp += room.poin_lose
+}
+delete this.suit[room.id]}}
+return !0
+}
+handler.exp = 0
+export default handler
+function random(arr) {
+return arr[Math.floor(Math.random() * arr.length)]}
diff --git a/plugins/fun-tops.js b/plugins/fun-tops.js
deleted file mode 100644
index 17e5fa409..000000000
--- a/plugins/fun-tops.js
+++ /dev/null
@@ -1,409 +0,0 @@
-import util from 'util'
-import path from 'path'
-
-function handler(m, { groupMetadata, command, usedPrefix, conn }) {
- let user = a => '@' + a.split('@')[0] //'@' + a.split('@')[0]
-
-let ps = groupMetadata.participants.map(v => v.id)
-let a = ps.getRandom()
-let b = ps.getRandom()
-let c = ps.getRandom()
-let d = ps.getRandom()
-let e = ps.getRandom()
-let f = ps.getRandom()
-let g = ps.getRandom()
-let h = ps.getRandom()
-let i = ps.getRandom()
-let j = ps.getRandom()
-
-if (command == 'topgays') {
-let vn = './media/gay2.mp3'
-let top = `*๐TOP 10 GAYS/LESBIANAS DEL GRUPO๐*
-
-*_1.- ๐ณ๏ธโ๐ ${user(a)}_* ๐ณ๏ธโ๐
-*_2.- ๐ช ${user(b)}_* ๐ช
-*_3.- ๐ช ${user(c)}_* ๐ช
-*_4.- ๐ณ๏ธโ๐ ${user(d)}_* ๐ณ๏ธโ๐
-*_5.- ๐ช ${user(e)}_* ๐ช
-*_6.- ๐ช ${user(f)}_* ๐ช
-*_7.- ๐ณ๏ธโ๐ ${user(g)}_* ๐ณ๏ธโ๐
-*_8.- ๐ช ${user(h)}_* ๐ช
-*_9.- ๐ช ${user(i)}_* ๐ช
-*_10.- ๐ณ๏ธโ๐ ${user(j)}_* ๐ณ๏ธโ๐`
-m.reply(top, null, { mentions: conn.parseMention(top) })
-//m.reply(top, null, {
-
-//m.reply(conn.sendHydrated(m.chat, `*SON MUY GAYS!!* ๐`, wm, null, md, '๐๐๐ฉ๐๐ฝ๐ค๐ฉ-๐๐ฟ', null, null, [
-//['๐๐ฉ๐ง๐ ๐ซ๐๐ฏ | ๐ผ๐๐๐๐ฃ ๐ฎ', `${usedPrefix + command}`],
-//['๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ | ๐ฝ๐๐๐ ๐ฉ๐ค ๐๐๐ฃ๐ช โ๏ธ', '/menu']
-//], m))
-
-//contextInfo: {
-//mentionedJid: [a, b, c, d, e, f, g, h, i, j]
-//}})
-conn.sendFile(m.chat, vn, 'error.mp3', null, m, true, {
-type: 'audioMessage',
-ptt: true })}
-
-if (command == 'top') {
-if (!text) throw `Ejemplo de uso:\n.top *texto*`
-let ps = groupMetadata.participants.map(v => v.id)
-let a = ps.getRandom()
-let b = ps.getRandom()
-let c = ps.getRandom()
-let d = ps.getRandom()
-let e = ps.getRandom()
-let f = ps.getRandom()
-let g = ps.getRandom()
-let h = ps.getRandom()
-let i = ps.getRandom()
-let j = ps.getRandom()
-let k = Math.floor(Math.random() * 70);
-let x = `${pickRandom(['๐ค','๐
','๐','๐ณ','๐', '๐ฅต', '๐ฑ', '๐ค', '๐', '๐ฉ','๐','๐คจ','๐ฅด','๐ฅ','๐๐ป','๐', '๐','๐'])}`
-let l = Math.floor(Math.random() * x.length);
-let vn = `https://hansxd.nasihosting.com/sound/sound${k}.mp3`
-let top = `*${x} Top 10 ${text} ${x}*
-
-*1. ${user(a)}*
-*2. ${user(b)}*
-*3. ${user(c)}*
-*4. ${user(d)}*
-*5. ${user(e)}*
-*6. ${user(f)}*
-*7. ${user(g)}*
-*8. ${user(h)}*
-*9. ${user(i)}*
-*10. ${user(j)}*`
-m.reply(top, null, { mentions: [a, b, c, d, e, f, g, h, i, j]})
-conn.sendFile(m.chat, vn, 'error.mp3', null, m, true, {
-type: 'audioMessage',
-ptt: true })}
-
-if (command == 'topotakus') {
-let vn = './media/otaku.mp3'
-let top = `*๐ธ TOP 10 OTAKUS DEL GRUPO ๐ธ*
-
-*_1.- ๐ฎ ${user(a)}_* ๐ฎ
-*_2.- ๐ท ${user(b)}_* ๐ท
-*_3.- ๐ฎ ${user(c)}_* ๐ฎ
-*_4.- ๐ท ${user(d)}_* ๐ท
-*_5.- ๐ฎ ${user(e)}_* ๐ฎ
-*_6.- ๐ท ${user(f)}_* ๐ท
-*_7.- ๐ฎ ${user(g)}_* ๐ฎ
-*_8.- ๐ท ${user(h)}_* ๐ท
-*_9.- ๐ฎ ${user(i)}_* ๐ฎ
-*_10.- ๐ท ${user(j)}_* ๐ท`
-m.reply(top, null, { mentions: conn.parseMention(top) })
-//m.reply(top, null, {
-//conn.sendHydrated(m.chat, top, wm, null, md, '๐๐๐ฉ๐๐ฝ๐ค๐ฉ-๐๐ฟ', null, null, [
-//['๐๐ฉ๐ง๐ ๐ซ๐๐ฏ | ๐ผ๐๐๐๐ฃ ๐ฎ', `${usedPrefix + command}`],
-//['๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ | ๐ฝ๐๐๐ ๐ฉ๐ค ๐๐๐ฃ๐ช โ๏ธ', '/menu']
-//], m, null, {
-//contextInfo: {
-//mentionedJid: [a, b, c, d, e, f, g, h, i, j]
-//}})
-conn.sendFile(m.chat, vn, 'otaku.mp3', null, m, true, {
-type: 'audioMessage',
-ptt: true
-})}
-
-if (command == 'topintegrantes') {
-let top = `*_๐TOP 10 L@S MEJORES INTEGRANTES๐_*
-
-*_1.- ๐ ${user(a)}_* ๐
-*_2.- ๐ ${user(b)}_* ๐
-*_3.- ๐ ${user(c)}_* ๐
-*_4.- ๐ ${user(d)}_* ๐
-*_5.- ๐ ${user(e)}_* ๐
-*_6.- ๐ ${user(f)}_* ๐
-*_7.- ๐ ${user(g)}_* ๐
-*_8.- ๐ ${user(h)}_* ๐
-*_9.- ๐ ${user(i)}_* ๐
-*_10.- ๐ ${user(j)}_* ๐`
-m.reply(top, null, { mentions: conn.parseMention(top) })}
-
-if (command == 'topintegrante') {
-let top = `*_๐TOP 10 L@S MEJORES INTEGRANTES๐_*
-
-*_1.- ๐ ${user(a)}_* ๐
-*_2.- ๐ ${user(b)}_* ๐
-*_3.- ๐ ${user(c)}_* ๐
-*_4.- ๐ ${user(d)}_* ๐
-*_5.- ๐ ${user(e)}_* ๐
-*_6.- ๐ ${user(f)}_* ๐
-*_7.- ๐ ${user(g)}_* ๐
-*_8.- ๐ ${user(h)}_* ๐
-*_9.- ๐ ${user(i)}_* ๐
-*_10.- ๐ ${user(j)}_* ๐`
-m.reply(top, null, { mentions: conn.parseMention(top) })}
-
-if (command == 'toplagrasa') {
-let top = `*_Uwu TOP 10 LA GRASA Uwu_*
-
-*_1.- Bv ${user(a)} Bv_*
-*_2.- :v ${user(b)} :v_*
-*_3.- :D ${user(c)} :D_*
-*_4.- Owo ${user(d)} Owo_*
-*_5.- U.u ${user(e)} U.u_*
-*_6.- >:v ${user(f)} >:v_*
-*_7.- :'v ${user(g)} :'v_*
-*_8.- ._. ${user(h)} ._._*
-*_9.- :V ${user(i)} :V_*
-*_10.- XD ${user(j)} XD_*`
-m.reply(top, null, { mentions: conn.parseMention(top) })}
-
-if (command == 'topgrasa') {
-let top = `*_Uwu TOP 10 LA GRASA Uwu_*
-
-*_1.- Bv ${user(a)} Bv_*
-*_2.- :v ${user(b)} :v_*
-*_3.- :D ${user(c)} :D_*
-*_4.- Owo ${user(d)} Owo_*
-*_5.- U.u ${user(e)} U.u_*
-*_6.- >:v ${user(f)} >:v_*
-*_7.- :'v ${user(g)} :'v_*
-*_8.- ._. ${user(h)} ._._*
-*_9.- :V ${user(i)} :V_*
-*_10.- XD ${user(j)} XD_*`
-m.reply(top, null, { mentions: conn.parseMention(top) })}
-
-if (command == 'toppanafrescos') {
-let top = `*_๐TOP 10 PANAFRESCOS๐_*
-
-*_1.- ๐ค ${user(a)}_* ๐ค
-*_2.- ๐ค ${user(b)}_* ๐ค
-*_3.- ๐ ${user(c)}_* ๐
-*_4.- ๐ ${user(d)}_* ๐
-*_5.- ๐ง ${user(e)}_* ๐ง
-*_6.- ๐ ${user(f)}_* ๐
-*_7.- ๐ ${user(g)}_* ๐
-*_8.- ๐ค ${user(h)}_* ๐ค
-*_9.- ๐ช ${user(i)}_* ๐ช
-*_10.- ๐ ${user(j)}_* ๐`
-m.reply(top, null, { mentions: conn.parseMention(top) })}
-
-if (command == 'toppanafresco') {
-let top = `*_๐TOP 10 PANAFRESCOS๐_*
-
-*_1.- ๐ค ${user(a)}_* ๐ค
-*_2.- ๐ค ${user(b)}_* ๐ค
-*_3.- ๐ ${user(c)}_* ๐
-*_4.- ๐ ${user(d)}_* ๐
-*_5.- ๐ง ${user(e)}_* ๐ง
-*_6.- ๐ ${user(f)}_* ๐
-*_7.- ๐ ${user(g)}_* ๐
-*_8.- ๐ค ${user(h)}_* ๐ค
-*_9.- ๐ช ${user(i)}_* ๐ช
-*_10.- ๐ ${user(j)}_* ๐`
-m.reply(top, null, { mentions: conn.parseMention(top) })}
-
-if (command == 'topshiposters') {
-let top = `*_๐ฑTOP 10 SHIPOSTERS DEL GRUPO๐ฑ_*
-
-*_1.- ๐ ${user(a)}_* ๐
-*_2.- ๐ค ${user(b)}_* ๐ค
-*_3.- ๐ฅถ ${user(c)}_* ๐ฅถ
-*_4.- ๐ค ${user(d)}_* ๐ค
-*_5.- ๐ฅต ${user(e)}_* ๐ฅต
-*_6.- ๐ค ${user(f)}_* ๐ค
-*_7.- ๐ ${user(g)}_* ๐
-*_8.- ๐จ ${user(h)}_* ๐จ
-*_9.- ๐ ${user(i)}_* ๐
-*_10.- ๐ค ${user(j)}_* ๐ค `
-m.reply(top, null, { mentions: conn.parseMention(top) })}
-
-if (command == 'topshipost') {
-let top = `*_๐ฑTOP 10 SHIPOSTERS DEL GRUPO๐ฑ_*
-
-*_1.- ๐ ${user(a)}_* ๐
-*_2.- ๐ค ${user(b)}_* ๐ค
-*_3.- ๐ฅถ ${user(c)}_* ๐ฅถ
-*_4.- ๐ค ${user(d)}_* ๐ค
-*_5.- ๐ฅต ${user(e)}_* ๐ฅต
-*_6.- ๐ค ${user(f)}_* ๐ค
-*_7.- ๐ ${user(g)}_* ๐
-*_8.- ๐จ ${user(h)}_* ๐จ
-*_9.- ๐ ${user(i)}_* ๐
-*_10.- ๐ค ${user(j)}_* ๐ค `
-m.reply(top, null, { mentions: conn.parseMention(top) })}
-
-if (command == 'toppajeros') {
-let top = `*_๐TOP L@S MAS PAJEROS/AS DEL GRUPO๐ฆ_*
-
-*_1.- ๐ฅต ${user(a)}_* ๐ฆ
-*_2.- ๐ฅต ${user(b)}_* ๐ฆ
-*_3.- ๐ฅต ${user(c)}_* ๐ฆ
-*_4.- ๐ฅต ${user(d)}_* ๐ฆ
-*_5.- ๐ฅต ${user(e)}_* ๐ฆ
-*_6.- ๐ฅต ${user(f)}_* ๐ฆ
-*_7.- ๐ฅต ${user(g)}_* ๐ฆ
-*_8.- ๐ฅต ${user(h)}_* ๐ฆ
-*_9.- ๐ฅต ${user(i)}_* ๐ฆ
-*_10.- ๐ฅต ${user(j)}_* ๐ฆ`
-m.reply(top, null, { mentions: conn.parseMention(top) })}
-
-if (command == 'toppajer@s') {
-let top = `*_๐TOP L@S MAS PAJEROS/AS DEL GRUPO๐ฆ_*
-
-*_1.- ๐ฅต ${user(a)}_* ๐ฆ
-*_2.- ๐ฅต ${user(b)}_* ๐ฆ
-*_3.- ๐ฅต ${user(c)}_* ๐ฆ
-*_4.- ๐ฅต ${user(d)}_* ๐ฆ
-*_5.- ๐ฅต ${user(e)}_* ๐ฆ
-*_6.- ๐ฅต ${user(f)}_* ๐ฆ
-*_7.- ๐ฅต ${user(g)}_* ๐ฆ
-*_8.- ๐ฅต ${user(h)}_* ๐ฆ
-*_9.- ๐ฅต ${user(i)}_* ๐ฆ
-*_10.- ๐ฅต ${user(j)}_* ๐ฆ`
-m.reply(top, null, { mentions: conn.parseMention(top) })}
-
-if (command == 'toplind@s') {
-let top = `*_๐ณTOP L@S MAS LIND@S Y SEXIS DEL GRUPO๐ณ_*
-
-*_1.- โจ ${user(a)}_* โจ
-*_2.- โจ ${user(b)}_* โจ
-*_3.- โจ ${user(c)}_* โจ
-*_4.- โจ ${user(d)}_* โจ
-*_5.- โจ ${user(e)}_* โจ
-*_6.- โจ ${user(f)}_* โจ
-*_7.- โจ ${user(g)}_* โจ
-*_8.- โจ ${user(h)}_* โจ
-*_9.- โจ ${user(i)}_* โจ
-*_10.- โจ ${user(j)}_* โจ`
-m.reply(top, null, { mentions: conn.parseMention(top) })}
-
-if (command == 'toplindos') {
-let top = `*_๐ณTOP L@S MAS LIND@S Y SEXIS DEL GRUPO๐ณ_*
-
-*_1.- โจ ${user(a)}_* โจ
-*_2.- โจ ${user(b)}_* โจ
-*_3.- โจ ${user(c)}_* โจ
-*_4.- โจ ${user(d)}_* โจ
-*_5.- โจ ${user(e)}_* โจ
-*_6.- โจ ${user(f)}_* โจ
-*_7.- โจ ${user(g)}_* โจ
-*_8.- โจ ${user(h)}_* โจ
-*_9.- โจ ${user(i)}_* โจ
-*_10.- โจ ${user(j)}_* โจ`
-m.reply(top, null, { mentions: conn.parseMention(top) })}
-
-if (command == 'topputos') {
-let top = `*_๐TOP L@S MAS PUT@S DEL GRUPO SON๐ฅ_*
-
-*_1.- ๐ ${user(a)}_* ๐
-*_2.- ๐ ${user(b)}_* ๐
-*_3.- ๐ ${user(c)}_* ๐
-*_4.- ๐ ${user(d)}_* ๐
-*_5.- ๐ ${user(e)}_* ๐
-*_6.- ๐ ${user(f)}_* ๐
-*_7.- ๐ ${user(g)}_* ๐
-*_8.- ๐ ${user(h)}_* ๐
-*_9.- ๐ ${user(i)}_* ๐
-*_10.- ๐ ${user(j)}_* ๐`
-m.reply(top, null, { mentions: conn.parseMention(top) })}
-
-if (command == 'topput@s') {
-let top = `*_๐TOP L@S MAS PUT@S DEL GRUPO SON๐ฅ_*
-
-*_1.- ๐ ${user(a)}_* ๐
-*_2.- ๐ ${user(b)}_* ๐
-*_3.- ๐ ${user(c)}_* ๐
-*_4.- ๐ ${user(d)}_* ๐
-*_5.- ๐ ${user(e)}_* ๐
-*_6.- ๐ ${user(f)}_* ๐
-*_7.- ๐ ${user(g)}_* ๐
-*_8.- ๐ ${user(h)}_* ๐
-*_9.- ๐ ${user(i)}_* ๐
-*_10.- ๐ ${user(j)}_* ๐`
-m.reply(top, null, { mentions: conn.parseMention(top) })}
-
-if (command == 'topfamosos') {
-let top = `*_๐TOP PERSONAS FAMOSAS EN EL GRUPO๐_*
-
-*_1.- ๐ซ ${user(a)}_* ๐ซ
-*_2.- ๐ฅ ${user(b)}_* ๐ฅ
-*_3.- ๐คฉ ${user(c)}_* ๐คฉ
-*_4.- ๐ซ ${user(d)}_* ๐ซ
-*_5.- ๐ฅ ${user(e)}_* ๐ฅ
-*_6.- ๐คฉ ${user(f)}_* ๐คฉ
-*_7.- ๐ซ ${user(g)}_* ๐ซ
-*_8.- ๐ฅ ${user(h)}_* ๐ฅ
-*_9.- ๐คฉ ${user(i)}_* ๐คฉ
-*_10.- ๐ซ ${user(j)}_* ๐ซ`
-m.reply(top, null, { mentions: conn.parseMention(top) })}
-
-if (command == 'topfamos@s') {
-let top = `*_๐TOP PERSONAS FAMOSAS EN EL GRUPO๐_*
-
-*_1.- ๐ซ ${user(a)}_* ๐ซ
-*_2.- ๐ฅ ${user(b)}_* ๐ฅ
-*_3.- ๐คฉ ${user(c)}_* ๐คฉ
-*_4.- ๐ซ ${user(d)}_* ๐ซ
-*_5.- ๐ฅ ${user(e)}_* ๐ฅ
-*_6.- ๐คฉ ${user(f)}_* ๐คฉ
-*_7.- ๐ซ ${user(g)}_* ๐ซ
-*_8.- ๐ฅ ${user(h)}_* ๐ฅ
-*_9.- ๐คฉ ${user(i)}_* ๐คฉ
-*_10.- ๐ซ ${user(j)}_* ๐ซ`
-m.reply(top, null, { mentions: conn.parseMention(top) })}
-
-if (command == 'topsostero') {
-let top = `*_๐TOP PERSONAS SOLTERO/A DEL GRUPO๐_*
-
-*_1.- ๐ ${user(a)}_* ๐
-*_2.- ๐ ${user(b)}_* ๐
-*_3.- ๐ ${user(c)}_* ๐
-*_4.- ๐ ${user(d)}_* ๐
-*_5.- ๐ ${user(e)}_* ๐
-*_6.- ๐ ${user(f)}_* ๐
-*_7.- ๐ ${user(g)}_* ๐
-*_8.- ๐ ${user(h)}_* ๐
-*_9.- ๐ ${user(i)}_* ๐
-*_10.- ๐ ${user(j)}_* ๐`
-m.reply(top, null, { mentions: conn.parseMention(top) })}
-
-if (command == 'topparejas') {
-let top = `*_๐ Las 5 maravillosas parejas del grupo ๐_*
-
-*_1.- ${user(a)} ๐ ${user(b)}_*
-Que hermosa pareja ๐, me invitan a su Boda ๐
-
-*_2.- ${user(c)} ๐ ${user(d)}_*
-๐น Ustedes se merecen lo mejor del mundo ๐
-
-*_3.- ${user(e)} ๐ ${user(f)}_*
-Tan enamorados ๐, para cuando la familia ๐ฅฐ
-
-*_4.- ${user(g)} ๐ ${user(h)}_*
-๐ Decreto que ustedes son la pareja del Aรฑo ๐
-
-*_5.- ${user(i)} ๐ ${user(j)}_*
-Genial! ๐, estรกn de Luna de miel ๐ฅตโจโค๏ธโ๐ฅ`
-m.reply(top, null, { mentions: conn.parseMention(top) })}
-
-if (command == 'top5parejas') {
-let top = `*_๐ Las 5 maravillosas parejas del grupo ๐_*
-
-*_1.- ${user(a)} ๐ ${user(b)}_*
-Que hermosa pareja ๐, me invitan a su Boda ๐
-
-*_2.- ${user(c)} ๐ ${user(d)}_*
-๐น Ustedes se merecen lo mejor del mundo ๐
-
-*_3.- ${user(e)} ๐ ${user(f)}_*
-Tan enamorados ๐, para cuando la familia ๐ฅฐ
-
-*_4.- ${user(g)} ๐ ${user(h)}_*
-๐ Decreto que ustedes son la pareja del Aรฑo ๐
-
-*_5.- ${user(i)} ๐ ${user(j)}_*
-Genial! ๐, estรกn de Luna de miel ๐ฅตโจโค๏ธโ๐ฅ`
-m.reply(top, null, { mentions: conn.parseMention(top) })}
-
-}
-handler.help = handler.command = ['topgays', 'topotakus', 'topintegrantes', 'topintegrante', 'toplagrasa', 'topgrasa', 'toppanafrescos', 'toppanafresco', 'topshiposters', 'topshipost', 'toppajeros', 'toppajer@s', 'toplindos', 'toplind@s', 'topputos', 'topput@s', 'topfamosos', 'topfamos@s', 'topparejas', 'top5parejas' ]
-handler.tags = ['games']
-handler.group = true
-handler.money = 90
-handler.register = true
-export default handler
\ No newline at end of file
diff --git a/plugins/fun-ttt.js b/plugins/fun-ttt.js
deleted file mode 100644
index e635c2135..000000000
--- a/plugins/fun-ttt.js
+++ /dev/null
@@ -1,94 +0,0 @@
-import TicTacToe from '../lib/tictactoe.js'
-let handler = async (m, { conn, usedPrefix, command, text }) => {
-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"
-}
-
-conn.game = conn.game ? conn.game : {}
-if (Object.values(conn.game).find(room => room.id.startsWith('tictactoe') && [room.game.playerX, room.game.playerO].includes(m.sender))) throw `${lenguajeGB['smsAvisoAG']()}๐๐ค๐๐๐ซ๐๐ ๐๐ก๐๐ช๐๐๐ฃ ๐๐จ๐ฉ๐ ๐๐ช๐๐๐ฃ๐๐ค ๐๐ฃ ๐ก๐ ๐จ๐๐ก๐ ๐จ๐ ๐ฆ๐ช๐๐๐ง๐ ๐๐๐๐ฃ๐๐ค๐ฃ๐๐ง ๐๐จ๐๐ง๐๐๐ *salir*\n๐๐๐ข๐๐๐๐ฃ ๐ฅ๐ช๐๐๐๐จ ๐๐ก๐๐ข๐๐ฃ๐๐ง ๐ก๐ ๐จ๐๐ก๐ ๐ช๐จ๐๐ฃ๐๐ค ๐๐ก ๐๐ค๐ข๐๐ฃ๐๐ค *${usedPrefix}delttt*`
-if (!text) throw `*${lenguajeGB['smsAvisoFG']()}๐ฟ๐๐๐ ๐๐ ๐๐๐ง๐๐๐ ๐ช๐ฃ ๐ฃ๐ค๐ข๐๐ง๐ ๐ ๐ก๐ ๐จ๐๐ก๐\n๐๐๐๐ข๐ฅ๐ก๐ค\n${usedPrefix + command} Sala bot*`
-let room = Object.values(conn.game).find(room => room.state === 'WAITING' && (text ? room.name === text : true))
-if (room) {
-await conn.reply(m.chat, `${lenguajeGB['smsAvisoEG']()}๐ผ๐ก๐๐ช๐๐๐ฃ ๐จ๐ ๐๐ ๐ช๐ฃ๐๐๐ค ๐ ๐ก๐ ๐จ๐๐ก๐ *${text}*\n๐๐ ๐ฅ๐ช๐๐๐๐ฃ ๐๐ช๐๐๐ง!! ๐ผ`, fkontak, m)
-//await conn.sendButton(m.chat, `${lenguajeGB['smsAvisoEG']()}๐ผ๐๐๐๐๐๐ ๐๐ ๐๐ผ ๐๐๐๐ฟ๐ ๐ผ ๐๐ผ ๐๐ผ๐๐ผ *${text}*\n๐๐ผ ๐๐๐๐ฟ๐๐ ๐
๐๐๐ผ๐!! ๐ผ\n\n๐๐๐๐๐๐๐ ๐๐ผ๐ ๐
๐๐๐๐๐ฟ ๐๐๐ ๐๐๐๐ *${text}*\n๐๐๐ ๐พ๐ผ๐ ๐๐๐ผ๐ ๐๐๐!! ๐`, wm, null, [['๐๐ช๐ ๐๐๐ฃ๐ ๐๐ก ๐๐๐๐ค๐ง ๐ค', '๐ป'] ], fkontak, m)
-await conn.reply(m.chat, `${lenguajeGB['smsAvisoRG']()}โญ๏ธ *Clรกsico Juego del Gato, 3 en raya o tateti* โ\n\n*ยฟCรณmo jugar?*\n_Responde al Juego con un Nรบmero, el mensaje debe contener la posiscion en la que quieras estar (1,2,3,4,5,6,7,8,9)_`, fkontak, m)
-//await conn.sendButton(m.chat, `${lenguajeGB['smsAvisoRG']()}โญ๏ธ *Clรกsico Juego del Gato o 3 en raya* โ\n\n*ยฟCรณmo jugar?*\n_Responde al Juego con un Nรบmero, el mensaje debe contener la posiscion en la que quieras estar (1,2,3,4,5,6,7,8,9)_\n\n*How to play?*\n_Answer the Game with a Number, the message must contain the position you want to be in (1,2,3,4,5,6,7,8,9)_`, wm, null, [['๐ฝ ๐๐ ๐๐๐ผ๐พ๐๐ผ๐', 'ok'] ], fkontak, m)
-
-room.o = m.chat
-room.game.playerO = m.sender
-room.state = 'PLAYING'
-let arr = room.game.render().map(v => {
-return {
-X: 'โ',
-O: 'โญ',
-1: '1๏ธโฃ',
-2: '2๏ธโฃ',
-3: '3๏ธโฃ',
-4: '4๏ธโฃ',
-5: '5๏ธโฃ',
-6: '6๏ธโฃ',
-7: '7๏ธโฃ',
-8: '8๏ธโฃ',
-9: '9๏ธโฃ',
-}[v]})
-let str = `๐ ๐
๐ช๐๐๐ค ๐ฉ๐๐ฉ๐๐ฉ๐
-๐ซ ๐
๐ช๐๐๐๐ค๐ง๐๐จ:
-*โโโโโโโโโ*
-โ = @${room.game.playerX.split('@')[0]}
-โญ = @${room.game.playerO.split('@')[0]}
-*โโโโโโโโโ*
- ${arr.slice(0, 3).join('')}
- ${arr.slice(3, 6).join('')}
- ${arr.slice(6).join('')}
-*โโโโโโโโโ*
-๐๐ช๐ง๐ฃ๐ค ๐๐:
-@${room.game.currentTurn.split('@')[0]}
-`.trim()
-
-if (room.x !== room.o) await conn.sendMessage(room.x, { text: str, mentions: this.parseMention(str)}, { quoted: fkontak, m })
-await conn.sendMessage(room.o, { text: str, mentions: conn.parseMention(str)}, { quoted: fkontak, m })
-
-} else {
-room = {
-id: 'tictactoe-' + (+new Date),
-x: m.chat,
-o: '',
-game: new TicTacToe(m.sender, 'o'),
-state: 'WAITING' }
-
-if (text) room.name = text
-let imgplay = `https://img.freepik.com/vector-premium/juego-tres-raya-icono-contorno-lineal-neon_7280-2422.jpg`
-conn.sendMessage(m.chat, { image: { url: imgplay }, caption: `๐ผ ๐
๐ช๐๐๐ค๐จ ๐๐๐ฉ๐๐ฉ๐
-
-๐ ๐๐จ๐ฅ๐๐ง๐๐ฃ๐๐ค ๐๐ก ๐จ๐๐๐ช๐ฃ๐๐ค ๐๐ช๐๐๐๐ค๐ง ๐ฅ๐ช๐๐๐ ๐๐ฃ๐๐ง๐๐จ๐ ๐ช๐จ๐๐ฃ๐๐ค ๐๐ก ๐๐ค๐ข๐๐ฃ๐๐ค
-*${usedPrefix + command} ${text}*
-
-๐๐ ๐ฆ๐ช๐๐๐ง๐๐จ ๐๐๐๐ฃ๐๐ค๐ฃ๐๐ง ๐ก๐ ๐จ๐๐ก๐ ๐ช๐จ๐ ๐๐ก ๐๐ค๐ข๐๐ฃ๐๐ค
-*${usedPrefix}delttt*` }, { mentions: conn.parseMention(text), quoted: fkontak })
-/*conn.sendButton(m.chat, `๐ผ ๐
๐๐๐๐ ๐๐๐๐ ๐๐ ๐๐ผ๐๐ผ | ๐๐ผ๐๐
-
-๐ ๐๐๐๐๐๐ผ๐๐ฟ๐ ๐ผ๐ ๐๐๐๐๐๐ฟ๐ ๐
๐๐๐ผ๐ฟ๐๐ ๐๐๐๐ฟ๐ ๐๐๐๐๐๐๐ผ๐ ๐พ๐๐ ๐๐ ๐ฝ๐๐๐๐ ๐ฟ๐ ๐ผ๐ฝ๐ผ๐
๐ ๐ ๐๐๐ผ๐๐ฟ๐ ๐๐ ๐พ๐๐๐ผ๐๐ฟ๐
-*${usedPrefix + command} ${text}*
-
-๐๐ ๐๐๐๐๐๐๐ ๐ผ๐ฝ๐ผ๐๐ฟ๐๐๐ผ๐ ๐๐ผ ๐๐ผ๐๐ผ ๐๐๐ผ ๐๐ ๐พ๐๐๐ผ๐๐ฟ๐ *${usedPrefix}delttt*
-
-
-๐๐ผ๐๐๐๐๐ ๐๐๐ ๐๐๐ ๐๐๐พ๐๐๐ฟ ๐๐๐ผ๐๐๐ ๐๐๐ ๐พ๐ผ๐ ๐๐๐๐๐ ๐๐๐๐ ๐๐๐ ๐ฝ๐๐๐๐๐ ๐ฝ๐๐๐๐ ๐๐ ๐๐๐๐๐ ๐๐๐ ๐พ๐๐๐๐ผ๐๐ฟ
-*${usedPrefix + command} ${text}*
-
-๐๐ ๐๐๐ ๐๐ผ๐๐ ๐๐ ๐๐๐ผ๐๐ ๐๐๐ ๐๐๐๐ ๐๐๐ ๐๐๐ ๐พ๐๐๐๐ผ๐๐ฟ *${usedPrefix}delttt*`, wm, imgplay, [['๐ ๐๐๐๐๐๐ ๐ผ๐ ๐
๐๐๐๐ | ๐
๐๐๐ ๐๐ผ๐๐', `${usedPrefix + command} ${text}`]], fkontak, m, { mentions: conn.parseMention(text) })*/
-conn.game[room.id] = room
-}}
-handler.command = /^(tictactoe|ttc|ttt|xo)$/i
-export default handler
diff --git a/plugins/fun-verdad.js b/plugins/fun-verdad.js
deleted file mode 100644
index a5ec440eb..000000000
--- a/plugins/fun-verdad.js
+++ /dev/null
@@ -1,175 +0,0 @@
-let handler = async (m, { conn, usedPrefix }) => {
-conn.reply(m.chat,`โญโโโโ[ ๐๐๐๐ฟ๐ผ๐ฟ ๐ค ]โโโโโฌฃ\n*โ${pickRandom(global.bucin)}โ*\nโฐโโโโโโ[ ${vs} ]โโโโโโฌฃ`, m)}
-/*conn.sendHydrated(m.chat, `โญโโโโ[ ๐๐๐๐ฟ๐ผ๐ฟ ๐ค ]โโโโโฌฃ\n*โ${pickRandom(global.bucin)}โ*\nโฐโโโโโโ[ ${vs} ]โโโโโโฌฃ`, wm, null, md, '๐ป๐๐ ๐ณ๐๐๐๐ฉ๐๐-๐ด๐ซ', null, null, [
-['๐๐ฉ๐ง๐ ๐ซ๐๐ฏ ๐ง', `${usedPrefix}reto`],
-['๐๐ค๐ฅ๐จ ๐', `${usedPrefix}top`],
-['๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ โ๏ธ', `${usedPrefix}menu`]
-], m,)}*/
-
-handler.help = ['verdad']
-handler.tags = ['fun']
-handler.command = /^verdad/i
-handler.fail = null
-export default handler
-
-function pickRandom(list) {
- return list[Math.floor(list.length * Math.random())]
-}
-
-global.verdad = [
-"ยฟAlguna vez te ha gustado alguien? ยฟCuรกnto tiempo?",
- "Si es posible o si quieres, en gc / fuera de gc, ยฟcon quiรฉn harรกs amistad? (Puede ser diferente / del mismo tipo)",
- "ยฟcual es tu mas grande miedo?",
- "ยฟAlguna vez te ha gustado alguien y has sentido a esa persona como tรบ tambiรฉn?",
- "ยฟCuรกl es el nombre del exnovio de tu amiga que una vez te gustรณ en secreto?",
- "ยฟAlguna vez has robado el dinero de tu madre o de tu padre? ยฟLa razรณn?",
- "lo que te hace feliz cuando estรกs triste",
- "ยฟAlguna vez has sido amor no correspondido? ยฟSi has estado con quiรฉn? ยฟCรณmo se siente brou?",
- "ยฟAlguna vez has tenido una aventura con alguien?",
- "lo mรกs temido",
- "quiรฉn es la persona mรกs influyente en tu vida",
- "quรฉ orgullo tienes este aรฑo",
- "quiรฉn es la persona que puede enfermarte",
- "quien es la persona que alguna vez te puso cachondo",
- "(para los musulmanes) ยฟnunca has rezado en todo el dรญa?",
- "ยฟQuiรฉn es el mรกs cercano a su tipo de pareja ideal aquรญ",
- "ยฟCon quiรฉn te gusta jugar?",
- "ยฟAlguna vez has rechazado a alguien? ยฟPor quรฉ?",
- "Menciona el incidente que te hizo daรฑo y que aรบn recuerdas",
- "ยฟQuรฉ logros has obtenido este aรฑo?",
- "ยฟCuรกl es tu peor hรกbito en la escuela?", "ยฟQuรฉ programa de televisiรณn odias mรกs? ยกDa la razรณn!", "ยฟCuรกl es el vestido mรกs feo (en su opiniรณn) que ha usado y cuรกndo lo usรณ?", "ยฟQuรฉ es lo peor (chisme) que has dicho sobre tu amigo?","ยฟQuรฉ es lo mรกs vergonzoso de ti?"," ยฟQuรฉ es lo primero que ves cuando miras a otra persona (del sexo opuesto)?",
-"ยฟQuรฉ es lo primero que te viene a la mente cuando te miras al espejo?","ยฟQue es lo mas tonto que has hecho en tu vida?"," ยฟCuรกl es el peor sueรฑo que has tenido?"," ยฟCuรกl es el sueรฑo mรกs loco que puedes recordar hasta ahora?",
-" ยฟCuรกl es tu peor rasgo en tu opiniรณn?",
-" ยฟQuรฉ rasgo te gustarรญa cambiar de ti mismo?",
-" ยฟQuรฉ rasgo te gustarรญa cambiar en tu amigo?",
-" ยฟQuรฉ harรญas si tu novio te dijera que tienes mala nariz o dedos?",
-" ยฟEn quรฉ piensas antes de dormir? ej .: fantasear con una pareja, etc.",
-"ยฟQuรฉ crees que se destaca mรกs de ti?"," ยฟQuรฉ parte del cuerpo de tu amigo te gusta mรกs y desearรญas tener?",
-"ยฟQuรฉ parte de tu cuerpo odias mรกs?"," De todas las clases de la escuela, ยฟa quรฉ clase le gustarรญa ingresar y quรฉ clase le gustarรญa evitar?",
-"ยกDescribe a tu amigo mรกs cercano!"," ยกDescrรญbete en una palabra!"," ยฟQuรฉ pelรญculas y canciones te han hecho llorar?",
-" ยฟQuรฉ es algo que has mantenido en secreto hasta ahora y nadie lo ha descubierto?",
-" ยฟQuรฉ es lo mรกs romรกntico que alguien (del sexo opuesto) te ha hecho o regalado?",
-"ยฟQuรฉ es lo mรกs desagradable que has experimentado?",
-" Si nacieras de nuevo y tuvieras que ser uno de tus amigos, ยฟa quiรฉn elegirรญas ser?",
-" Si tienes superpoder / superpoder, ยฟquรฉ quieres hacer?",
-" Si el apocalipsis llega pronto, ยฟquรฉ haces?",
-" Si te pidieran que te sometieras a una cirugรญa plรกstica con una muestra de rostro de tu compaรฑero de clase, ยฟa quiรฉn imitarรญas?",
-" Alguna vez has robado algo?",
-" ยฟTiene miedo a morir? ยฟPor quรฉ?",
-" ยฟCuรกndo fue la รบltima vez que lloraste y por quรฉ?",
-" ยฟCuรกles son tus habilidades especiales?",
-" ยฟCรณmo te puede gustar la persona que te gusta?",
-" ยฟCuรกl crees que es un buen rasgo de tu amigo mรกs cercano que รฉl o ella no conozca?",
-" ยฟCon quรฉ tipo de persona te gustarรญa casarte algรบn dรญa?",
-" En tu opiniรณn, ยฟcuรกl es el trabajo mรกs atractivo para el amigo que estรก sentado a tu lado? ยฟY por quรฉ?",
-" ยฟCon quiรฉn quieres intercambiar por un dรญa? (amigos mรกs cercanos que ambos conocen) y por quรฉ",
-" ยฟAlguna vez has esperado en secreto que la relaciรณn de alguien con su novia se rompiera? ยฟQuiรฉn?",
-" ยฟPrefiere AMIGAS o AMIGOS? ยฟPor quรฉ?",
-" ยฟQuรฉ cita recuerdas mรกs y te gusta?",
-" ยฟQuรฉ secretos nunca les has contado a tus amigos hasta ahora?",
-" ยฟQuiรฉnes son sus verdaderos modelos a seguir?",
-" ยฟCuรกl de tus amigos crees que es matre?",
-" ยฟCuรกl de tus amigos crees que tiene menos corte de pelo?",
-" ยฟCuรกl de tus amigos es el mรกs fotogรฉnico? ",
-" ยฟQuiรฉn es tu mejor ex? ยกยฟY por quรฉ rompieron ?!",
-" ยฟCรณmo se llama el artista con el que hablaste en secreto?",
-" ยฟCรณmo se llamaba el profesor que te gustaba?",
-" ยฟCuรกl es el nombre de la exnovia de tu amigo que te ha gustado en secreto?",
-" ยฟCuรกl es el nombre de la persona (del sexo opuesto) que crees que serรญa divertido ser novia?",
-" ยฟCuรกl es el nombre de la persona que odias, pero crees que le gustas a esa persona (no necesariamente del sexo opuesto)?",
-" ยฟCuรกl es el nombre de la persona a la que has estado seรฑalando en secreto?",
-" ยฟQuiรฉn es la persona (del sexo opuesto) que mรกs se te pasa por la cabeza?",
-" ยฟQuiรฉn es la persona mรกs molesta entre tus amigos? ยกla razรณn!",
-" ยฟA quiรฉn de tus amigos crees que deberรญa renovarse?",
-" ยฟQuiรฉn estรก mรกs cerca de tu pareja ideal aquรญ?",
-"Padre o madre",
-"La parte del cuerpo que no te gusta",
-"ยฟAlguna vez has hecho trampa?",
-"ยฟAlguna vez te han besado?",
-"ยฟQuรฉ es lo primero que harรญas si te despertaras como del sexo opuesto?",
-"ยฟAlguna vez has dejado que alguien mรกs se meta en problemas por algo que hiciste?",
-"ยฟQuรฉ es lo mรกs embarazoso que has hecho en tu vida?",
-" ยฟCuรกl es la razรณn mรกs ridรญcula por la que has roto con alguien?",
-" ยฟCuรกl es el peor hรกbito que tienes?",
-" ยฟCuรกl crees que es tu mejor caracterรญstica? ยฟY que es lo peor?",
-" ยฟCuรกl es la cosa mรกs valiente que has hecho?",
-" ยฟCuรกndo fue la รบltima vez que mojaste la cama?",
-" ยฟCon quรฉ sueรฑas mรกs sobre dormir?",
-" Si va a ganar dinero ilegalmente, ยฟcรณmo lo hace?",
-" ยฟQuรฉ cosas infantiles sigues haciendo?",
-" Si fueras ciego, ยฟquiรฉn serรญa tu perro guรญa?",
-" ยฟQuรฉ es lo que mรกs te impresiona?",
-" Si se le permitiera usar solo 3 palabras durante el resto de la noche a partir de ahora, ยฟcuรกl serรญa?",
-" Si fueras un dictador, ยฟquรฉ ley promulgarรญas primero?",
-"Si vivieras durante la era nazi, ยฟquiรฉn serรญas?",
-"ยฟCuรกl fue la experiencia mรกs vergonzosa en la escuela / tiempo de estudio / educaciรณn / el aรฑo pasado?",
-"ยฟCuรกl es el mayor error de tu vida?",
-"ยฟQuรฉ no harรญas nunca, incluso si supieras que solo te quedan 12 horas de vida?",
-" ยฟQuรฉ delitos ha cometido?",
-" Cuรฉntame un secreto de tu infancia.",
-" ยฟCuรกl es su mayor representante (secreto)?",
-" ยฟQuรฉ quieres hacer conmigoโฆ ( x persona), si luego puedes borrar su memoria (รฉl,โฆ)?",
-" ยฟQuรฉ es lo peor que le has hecho a alguien?",
-" ยฟQuiรฉn te gusta mรกs?",
-"ยฟAlguna vez te has enamorado de alguno de los presentes?",
-" Si fueras un vampiro, ยฟa cuรกl de nosotros morderรญas ahora?",
-" ยฟHa defecado alguna vez en pรบblico?",
-" ยฟCuรกl es tu fantasรญa mรกs oscura?",
-" ยฟQuรฉ es lo mejor que has tenido con alguien mรกs?",
-" ยฟCuรกl es el mayor desvรญo para ti?",
-" ยฟQuรฉ es lo que mรกs te gusta de tu cuerpo y quรฉ es lo mรกs feo?",
-" ยฟA quien te gustarรญa ver desnuda?",
-" ยฟQuiรฉn en esta ronda puede enamorarte?",
-" ยฟAlguna vez has tenido un sueรฑo erรณtico donde sucediรณ alguien de este grupo?",
-" Si te vas a tatuar en el รกrea genital, ยฟque habrรก allรญ?",
-" ยฟQuรฉ es mรกs importante en una relaciรณn: el sexo o el amor?",
-" ยฟCrees que el sexo es genial, bueno, bueno, divertido a veces, o realmente no te importa?",
-" ยฟQuรฉ te hace realmente amar?",
-"ยฟCuรกntas veces a la semana / mes tiene relaciones sexuales y con quรฉ frecuencia desea tener relaciones sexuales?",
-" ยฟCon cuรกntas parejas sexuales te has acostado?",
-" ยฟQuรฉ parte del cuerpo te hace mรกs?",
-" ยฟCรณmo, dรณnde y con quiรฉn estuviste primero?",
-" ยฟQuรฉ importancia tienen para ti los juegos previos prolongados?",
-" ยฟQuรฉ debe hacer un hombre o una mujer para seducirte?",
-" ยฟAlguna vez has tenido sexo con un buen amigo?",
-" ยฟAlguna vez ha tenido relaciones sexuales con alguno de estos grupos, excepto con su pareja?",
-"ยฟQuรฉ animal se adapta mejor a ti y por quรฉ?",
-" ยฟCuรกl es tu peor cita?",
-" ยฟA quiรฉn quieres besar ahora?",
-" ยฟCuรกl es tu oscura fantasรญa secreta?",
-" ยฟPrefieres tatuarte el culo o perforarte la lengua?",
-" ยฟEres siempre leal?",
-" ยฟTienes un enamoramiento adolescente?",
-" ยฟDe quรฉ persona te enamoraste?",
-" ยฟCon quรฉ celebridad te gustarรญa salir?",
-" ยฟCuรกl fue el momento mรกs embarazoso de tu vida?",
-" ยฟQuรฉ boca te gusta mรกs del grupo de aquรญ?",
-" ยฟQuรฉ jugador tiene la mano mรกs hermosa?",
-" ยฟDรณnde fue tu primer beso?",
-" ยฟA quiรฉn del grupo te gustarรญa besar mรกs?",
-" ยฟQuiรฉn en la mesa es quizรกs el mรกs divertido?",
-" ยฟCuรกl es el mayor error de tu vida?",
-" ยฟTe pasรณ algo vergonzoso en una cita?",
-" ยฟHa estado alguna vez en contacto con drogas?",
-" ยฟA quรฉ persona quieres besar ahora?",
-" ยฟCuรกndo fue la รบltima vez que estuvo borracho?",
-" ยฟAlguna vez has hecho trampa en un examen escolar?",
-" ยฟHas robado algo en el pasado?",
-" ยฟRoncas por la noche?",
-" ยฟCuales tu cancion favorita?",
-" ยฟCon quรฉ jugadores comerciarรก durante 1 semana y por quรฉ?",
-" Te mudaste a una isla desierta, ยฟa quiรฉn te llevaste de aquรญ?",
-" ยฟA que temes mรกs?",
-" ยฟDรณnde te afeitas en todas partes?",
-"ยฟTienes un apodo?",
-" ยฟMiras en el baรฑo antes de lavarte?",
-"ยฟQuiรฉn te dio la peor angustia?",
-" Cuantas veces te has besado",
-"ยฟQuรฉ es lo mรกs embarazoso que te ha pasado?",
-"ยฟCuรกntos chicos / chicas has besado?",
-"ยฟDe quien estas enamorado(a) ?",
-"Que estrella te gusta",
-"ยฟEmpezaste algo con XY (insertar nombre)?",
-"Alguna vez has robado algo?"
-
-]
diff --git a/plugins/game-_cancion.js b/plugins/game-_cancion.js
deleted file mode 100644
index f90da4854..000000000
--- a/plugins/game-_cancion.js
+++ /dev/null
@@ -1,23 +0,0 @@
-import similarity from 'similarity'
-const threshold = 0.72
-let handler = {
-async before(m) {
-let id = m.chat
-if (!m.quoted || !m.quoted.fromMe || !m.quoted.isBaileys || !/ADIVINA EL TITULO DE LA CANCION/i.test(m.quoted.text)) return !0
-this.tebaklagu = this.tebaklagu ? this.tebaklagu : {}
-if (!(id in this.tebaklagu)) return m.reply('El juego ha terminado')
-if (m.quoted.id == this.tebaklagu[id][0].id) {
-let json = JSON.parse(JSON.stringify(this.tebaklagu[id][1]))
-if (m.text.toLowerCase() == json.jawaban.toLowerCase().trim()) {
-global.db.data.users[m.sender].exp += this.tebaklagu[id][2]
-m.reply(`โ
Correcto!\n+${this.tebaklagu[id][2]} XP`)
-clearTimeout(this.tebaklagu[id][3])
-delete this.tebaklagu[id]
-} else if (similarity(m.text.toLowerCase(), json.jawaban.toLowerCase().trim()) >= threshold) m.reply(`Casii!`)
-else m.reply(`โIncorrecto!`)
-}
-return !0
-},
-exp: 0
-}
-export default handler
diff --git a/plugins/game-acertijo.js b/plugins/game-acertijo.js
deleted file mode 100644
index b06fd5480..000000000
--- a/plugins/game-acertijo.js
+++ /dev/null
@@ -1,38 +0,0 @@
-import fs from 'fs'
-
-let timeout = 60000
-let poin = 500
-
-let handler = async (m, { conn, usedPrefix }) => {
- conn.tekateki = conn.tekateki ? conn.tekateki : {}
- let id = m.chat
- if (id in conn.tekateki) {
- conn.reply(m.chat, 'Todavรญa hay acertijos sin responder en este chat', conn.tekateki[id][0])
- throw false
- }
- let tekateki = JSON.parse(fs.readFileSync(`./src/game/acertijo.json`))
- let json = tekateki[Math.floor(Math.random() * tekateki.length)]
- let _clue = json.response
- let clue = _clue.replace(/[A-Za-z]/g, '_')
- let caption = `
-โทฎ *${json.question}*
-
-*โข Tiempo:* ${(timeout / 1000).toFixed(2)} segundos
-*โข Bono:* +${poin} Exp
-`.trim()
- conn.tekateki[id] = [
- await conn.reply(m.chat, caption, m),
- json, poin,
- setTimeout(async () => {
- if (conn.tekateki[id]) await conn.reply(m.chat, `Se acabรณ el tiempo!\n*Respuesta:* ${json.response}`, conn.tekateki[id][0])
- delete conn.tekateki[id]
- }, timeout)
- ]
-}
-
-handler.help = ['acertijo']
-handler.tags = ['game']
-handler.command = /^(acertijo|acert|pregunta|adivinanza|tekateki)$/i
-handler.register = true
-
-export default handler
diff --git a/plugins/game-acertijo_resp.js b/plugins/game-acertijo_resp.js
deleted file mode 100644
index 4b77b0633..000000000
--- a/plugins/game-acertijo_resp.js
+++ /dev/null
@@ -1,26 +0,0 @@
-import similarity from 'similarity'
-
-const threshold = 0.72
-let handler = m => m
-handler.before = async function (m) {
- let id = m.chat
- if (!m.quoted || !m.quoted.fromMe || !m.quoted.isBaileys || !/^โทฎ/i.test(m.quoted.text)) return !0
- this.tekateki = this.tekateki ? this.tekateki : {}
- if (!(id in this.tekateki)) return m.reply('Ese acertijo ya ha terminado!')
- if (m.quoted.id == this.tekateki[id][0].id) {
- let json = JSON.parse(JSON.stringify(this.tekateki[id][1]))
- // m.reply(JSON.stringify(json, null, '\t'))
- if (m.text.toLowerCase() == json.response.toLowerCase().trim()) {
- global.db.data.users[m.sender].exp += this.tekateki[id][2]
- m.reply(`*Respuesta correcta!*\n+${this.tekateki[id][2]} Exp`)
- clearTimeout(this.tekateki[id][3])
- delete this.tekateki[id]
- } else if (similarity(m.text.toLowerCase(), json.response.toLowerCase().trim()) >= threshold) m.reply(`Casi lo logras!`)
- else m.reply('Respuesta incorrecta!')
- }
- return !0
-}
-
-handler.exp = 0
-
-export default handler
diff --git a/plugins/game-cancion.js b/plugins/game-cancion.js
deleted file mode 100644
index d7fa8a794..000000000
--- a/plugins/game-cancion.js
+++ /dev/null
@@ -1,46 +0,0 @@
-import fetch from 'node-fetch'
-import axios from 'axios'
-let timeout = 60000
-let poin = 1000
-let handler = async (m, { conn, usedPrefix }) => {
-conn.tebaklagu = conn.tebaklagu ? conn.tebaklagu : {}
-let id = m.chat
-if (id in conn.tebaklagu) {
-conn.reply(m.chat, 'Todavรญa hay canciones sin respuesta en este chat.', conn.tebaklagu[id][0])
-throw false
-} //5LTV57azwaid7dXfz5fzJu
-let res = await fetchJson(`https://fatiharridho.github.io/tebaklagu.json`)
-let json = res[Math.floor(Math.random() * res.length)]
-//let res = await fetch(global.API('xteam', '/game/tebaklagu/', { id: '0ISD8mk5kiv1YC5884lISM' }, 'APIKEY'))
-//if (res !== 200) throw 'Error'
-//let result = await res.json()
-//let json = result.result
-let caption = `
-ADIVINA EL TITULO DE LA CANCION
-Tiempo ${(timeout / 1000).toFixed(2)} segundos
-Escribe *${usedPrefix}pista* Para obtener una pista
-Premio: ${poin} XP
-RESPONDE A ESTE MENSAJE CON LAS RESPUESTAS!`.trim()
-conn.tebaklagu[id] = [
-await m.reply(caption),
-json, poin,
-setTimeout(() => {
-if (conn.tebaklagu[id]) conn.reply(m.chat, `Se acabรณ el tiempo!\nLa respuesta es ${json.jawaban}`, conn.tebaklagu[id][0])
-delete conn.tebaklagu[id]
-}, timeout)
-]
-let aa = await conn.sendMessage(m.chat, { audio: { url: json.link_song }, fileName: `error.mp3`, mimetype: 'audio/mp4' }, { quoted: m })
-if (!aa) return conn.sendFile(m.chat, json.link_song, 'coba-lagi.mp3', '', m)
-}
-handler.help = ['tebaklagu']
-handler.tags = ['game']
-handler.command = /^cancion|canciรณn$/i
-export default handler
-async function fetchJson(url, options) {
-try {
-options ? options : {}
-const res = await axios({ method: 'GET', url: url, headers: {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36'}, ...options })
-return res.data
-} catch (err) {
-return err
-}}
diff --git a/plugins/game-cf.js b/plugins/game-cf.js
new file mode 100644
index 000000000..56c4b1af2
--- /dev/null
+++ b/plugins/game-cf.js
@@ -0,0 +1,37 @@
+const handler = async (m, {conn, args}) => {
+const bet = parseInt(args[0], 10);
+let user = global.db.data.users[m.sender];
+const time = global.db.data.users[m.sender].wait + 30000;
+if (new Date - global.db.data.users[m.sender].wait < 30000) return conn.fakeReply(m.chat, await tr(`*๐ Calma crack ๐ค, Espera ${msToTime(time - new Date())} antes de volver usar en comando*`), m.sender, `แดบแต สฐแตแตแตโฟ หขแตแตแต`, 'status@broadcast', null, fake);
+
+if (!bet || bet <= 0) return m.reply(await tr('โ Ingresa una cantidad vรกlida para apostar.'));
+if (!user || user.exp < bet) return m.reply(await tr(`โ No tienes suficiente experiencia (exp) para esta apuesta. Solo tiene ${user.exp.toLocaleString()} `));
+
+const outcome = Math.random() < 0.5 ? 'cara' : 'cruz';
+const win = outcome === 'cara'; //
+global.db.data.users[m.sender].wait = new Date * 1;
+
+if (win) {
+user.exp += bet;
+m.reply(await tr(`๐ La moneda cayรณ en *${outcome}* y ganaste *${bet.toLocaleString()}* exp.`));
+} else {
+user.exp -= bet;
+m.reply(await tr(`๐ La moneda cayรณ en *${outcome}* y perdiste *${bet.toLocaleString()}* exp.`));
+}};
+handler.help = ['cf '];
+handler.tags = ['game'];
+handler.command = ['cf'];
+handler.register = true;
+
+export default handler;
+
+function msToTime(duration) {
+const milliseconds = parseInt((duration % 1000) / 100);
+let seconds = Math.floor((duration / 1000) % 60);
+let minutes = Math.floor((duration / (1000 * 60)) % 60);
+let hours = Math.floor((duration / (1000 * 60 * 60)) % 24);
+hours = (hours < 10) ? '0' + hours : hours;
+minutes = (minutes < 10) ? '0' + minutes : minutes;
+seconds = (seconds < 10) ? '0' + seconds : seconds;
+return seconds + ' segundos ';
+}
\ No newline at end of file
diff --git a/plugins/game-pista.js b/plugins/game-pista.js
deleted file mode 100644
index e91fede9f..000000000
--- a/plugins/game-pista.js
+++ /dev/null
@@ -1,13 +0,0 @@
-/* Created by https://github.com/unptoadrih15 */
-
-let handler = async (m, { conn }) => {
-conn.tebaklagu = conn.tebaklagu ? conn.tebaklagu : {}
-let id = m.chat
-if (!(id in conn.tebaklagu)) throw false
-let json = conn.tebaklagu[id][1]
-let nya = json.jawaban
-let nyanya = nya.replace(/[bcdfghjklmnรฑpqrstvwxyzBCDEFGHJKLMNรPQRSTVWXYZ]/g, '_')
-m.reply('' + nyanya + '')
-}
-handler.command = /^hint|pista$/i
-export default handler
diff --git a/plugins/game-rt.js b/plugins/game-rt.js
new file mode 100644
index 000000000..96f53c402
--- /dev/null
+++ b/plugins/game-rt.js
@@ -0,0 +1,56 @@
+function getRandomColor() {
+ const random = Math.random() * 100;
+ if (random < 47.5) return 'red';
+ if (random < 95) return 'black';
+ return 'green';
+}
+
+function formatExp(amount) {
+ if (amount >= 1000) return `${(amount / 1000).toFixed(1)}k (${amount.toLocaleString()})`;
+ return amount.toLocaleString();
+}
+
+async function handler(m, { conn, args, command, usedPrefix }) {
+let user = global.db.data.users[m.sender];
+const time = global.db.data.users[m.sender].wait + 30000;
+if (new Date - global.db.data.users[m.sender].wait < 30000) return conn.fakeReply(m.chat, await tr(`*๐ Calma crack ๐ค, Espera ${msToTime(time - new Date())} antes de volver usar en comando*`), m.sender, `แดบแต สฐแตแตแตโฟ หขแตแตแต`, 'status@broadcast', null, fake);
+
+if (args.length < 2) return conn.reply(m.chat, `โ ๏ธ ${await tr("Formato incorrecto. Usa: ${usedPrefix + command} \n\nEjemplo:")} ${usedPrefix + command} black 100`, m);
+
+const color = args[0].toLowerCase();
+const betAmount = parseInt(args[1]);
+
+if (!['red', 'black', 'green'].includes(color)) return conn.reply(m.chat, 'Color no vรกlido. Usa "red", "black" o "green".', m);
+if (isNaN(betAmount) || betAmount <= 0) return conn.reply(m.chat, await tr('Cantidad no vรกlida. Debe ser un nรบmero positivo.'), m);
+if (!user || user.exp < betAmount) return conn.reply(m.chat, await tr('No tienes suficiente exp para apostar.'), m);
+const resultColor = getRandomColor();
+const isWin = resultColor === color;
+
+let winAmount = 0;
+if (isWin) {
+if (color === 'green') {
+winAmount = betAmount * 14;
+} else {
+winAmount = betAmount;
+}}
+user.exp = (user.exp || 0) - betAmount + winAmount;
+global.db.data.users[m.sender].wait = new Date * 1;
+conn.reply(m.chat, await tr(`๐ฑ La ruleta cayรณ en *${resultColor}* y ${isWin ? 'ganaste' : 'perdiste'} *${formatExp(isWin ? winAmount : betAmount)}* exp.`), m);
+}
+handler.help = ['rt '];
+handler.tags = ['game'];
+handler.command = ['rt'];
+handler.register = true;
+
+export default handler;
+
+function msToTime(duration) {
+const milliseconds = parseInt((duration % 1000) / 100);
+let seconds = Math.floor((duration / 1000) % 60);
+let minutes = Math.floor((duration / (1000 * 60)) % 60);
+let hours = Math.floor((duration / (1000 * 60 * 60)) % 24);
+hours = (hours < 10) ? '0' + hours : hours;
+minutes = (minutes < 10) ? '0' + minutes : minutes;
+seconds = (seconds < 10) ? '0' + seconds : seconds;
+return seconds + ' segundos ';
+}
\ No newline at end of file
diff --git a/plugins/game-suitpvp.js b/plugins/game-suitpvp.js
deleted file mode 100644
index 6cc6e3606..000000000
--- a/plugins/game-suitpvp.js
+++ /dev/null
@@ -1,83 +0,0 @@
-let handler = m => m
-handler.before = async function (m) {
-let pp = 'https://telegra.ph/file/c7924bf0e0d839290cc51.jpg'
-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" }
-this.suit = this.suit ? this.suit : {}
-if (db.data.users[m.sender].suit < 0) db.data.users[m.sender].suit = 0
-let room = Object.values(this.suit).find(room => room.id && room.status && [room.p, room.p2].includes(m.sender))
-if (room) {
-let win = ''
-let tie = false
-if (m.sender == room.p2 && /^(acc(ept)?|Aceptar|acerta|aceptar|gas|aceptare?|nao|Rechazar|rechazar|ga(k.)?bisa)/i.test(m.text) && m.isGroup && room.status == 'wait') {
-if (/^(tolak|gamau|rechazar|ga(k.)?bisa)/i.test(m.text)) {
-let textno = `${lenguajeGB['smsAvisoAG']()} @${room.p2.split`@`[0]} ๐๐๐พ๐๐ผ๐๐ ๐๐ ๐๐๐, ๐๐ ๐
๐๐๐๐ ๐๐ ๐พ๐ผ๐๐พ๐๐๐ผ`
-m.reply(textno, null, {mentions: this.parseMention(textno)})
-delete this.suit[room.id]
-return !0 }
-room.status = 'play'
-room.asal = m.chat
-clearTimeout(room.waktu)
-let textplay = `${lenguajeGB['smsAvisoIIG']()}๐ฎ ๐๐ ๐
๐๐๐๐๐ ๐พ๐๐๐๐๐๐๐ผ, ๐๐ผ๐ ๐๐๐พ๐๐๐๐๐ ๐๐ผ๐ ๐๐๐ฟ๐ ๐๐๐๐๐ผ๐ฟ๐๐ ๐ผ ๐๐๐ ๐พ๐๐ผ๐ ๐๐๐๐๐ผ๐ฟ๐ ๐ฟ๐ @${room.p.split`@`[0]} ๐ @${room.p2.split`@`[0]}\n\n๐๐๐๐๐พ๐พ๐๐๐๐๐ ๐๐๐ผ ๐๐๐พ๐๐๐ ๐๐ ๐๐๐ ๐พ๐๐ผ๐๐ ๐๐๐๐๐ผ๐ฟ๐ ๐๐๐๐๐๐พ๐๐๐๐ผ๐๐๐๐๐\n\n*Elegir opciรณn en wa.me/${conn.user.jid.split`@`[0]}*`
-m.reply(textplay, m.chat, {mentions: this.parseMention(textplay)})
-let comienzop = `${lenguajeGB['smsAvisoIIG']()}๐๐๐ ๐๐ผ๐๐๐ ๐๐๐๐๐พ๐พ๐๐๐๐ ๐๐๐ผ ๐ฟ๐ ๐๐ผ๐ ๐๐๐๐๐๐๐๐๐๐ ๐๐๐พ๐๐๐๐๐\n\nแฆ Piedra\nแ Papel\nแฆ Tijera\n\n*Responda al mensaje con la opciรณn*`
-let comienzop2 = `${lenguajeGB['smsAvisoIIG']()}๐๐๐ ๐๐ผ๐๐๐ ๐๐๐๐๐พ๐พ๐๐๐๐ ๐๐๐ผ ๐ฟ๐ ๐๐ผ๐ ๐๐๐๐๐๐๐๐๐๐ ๐๐๐พ๐๐๐๐๐\n\nแฆ Piedra\nแฆ Papel\nแฆ Tijera\n\n*Responda al mensaje con la opciรณn*`
-
-if (!room.pilih) this.sendMessage(room.p, { text: comienzop }, { quoted: fkontak })
-if (!room.pilih2) this.sendMessage(room.p2, { text: comienzop2 }, { quoted: fkontak })
-room.waktu_milih = setTimeout(() => {
-let iniciativa = `${lenguajeGB['smsAvisoAG']()}๐๐๐๐๐๐ ๐
๐๐๐ผ๐ฟ๐๐ ๐๐๐๐ ๐๐ผ ๐๐๐๐พ๐๐ผ๐๐๐๐ผ ๐ฟ๐ ๐๐๐๐๐๐ผ๐ ๐๐ ๐
๐๐๐๐๐, ๐๐ ๐๐๐ ๐๐ ๐ผ๐ ๐พ๐ผ๐๐พ๐๐๐ผ๐ฟ๐`
-if (!room.pilih && !room.pilih2) this.sendMessage(m.chat, { text: iniciativa }, { quoted: fkontak })
-else if (!room.pilih || !room.pilih2) {
-win = !room.pilih ? room.p2 : room.p
-let textnull = `${lenguajeGB['smsAvisoAG']()} @${(room.pilih ? room.p2 : room.p).split`@`[0]} ๐๐ ๐๐๐๐๐๐๐๐ ๐๐๐๐๐๐๐ผ ๐๐๐พ๐๐๐, ๐๐๐ ๐ฟ๐๐ ๐๐๐`
-this.sendMessage(m.chat, { text: textnull }, { quoted: fkontak }, { mentions: this.parseMention(textnull) })
-db.data.users[win == room.p ? room.p : room.p2].exp += room.poin
-db.data.users[win == room.p ? room.p : room.p2].exp += room.poin_bot
-db.data.users[win == room.p ? room.p2 : room.p].exp -= room.poin_lose
-}
-delete this.suit[room.id]
-return !0
-}, room.timeout)}
-let jwb = m.sender == room.p
-let jwb2 = m.sender == room.p2
-let g = /tijera/i
-let b = /piedra/i
-let k = /papel/i
-let reg = /^(tijera|piedra|papel)/i
-if (jwb && reg.test(m.text) && !room.pilih && !m.isGroup) {
-room.pilih = reg.exec(m.text.toLowerCase())[0]
-room.text = m.text
-m.reply(`โ
๐๐ผ๐ ๐๐๐๐๐๐ฟ๐ ${m.text}, ๐๐๐๐๐๐๐ผ ๐ผ๐ ๐๐๐๐๐ ๐ ${room.pilih2 ? `*๐๐๐๐๐๐ผ ๐๐๐ ๐๐๐๐๐๐๐ผ๐ฟ๐๐*` : '*๐๐๐๐๐๐ผ ๐๐๐ ๐๐๐๐๐๐๐ผ๐ฟ๐๐*'}`)
-if (!room.pilih2) this.reply(room.p2, `${lenguajeGB['smsAvisoIIG']()}๐๐ ๐๐๐๐๐๐๐๐ ๐ผ๐ ๐๐๐๐๐๐ฟ๐, ๐๐ ๐๐ ๐๐๐๐๐ ๐ฟ๐ ๐๐๐๐๐๐`, fkontak, 0)}
-if (jwb2 && reg.test(m.text) && !room.pilih2 && !m.isGroup) {
-room.pilih2 = reg.exec(m.text.toLowerCase())[0]
-room.text2 = m.text
-m.reply(`โ
๐๐ผ๐ ๐๐๐๐๐๐ฟ๐ ${m.text}, ๐๐๐๐๐๐๐ผ ๐ผ๐ ๐๐๐๐๐ ๐ ${room.pilih ? `*๐๐๐๐๐๐ผ ๐๐๐ ๐๐๐๐๐๐๐ผ๐ฟ๐๐*` : '*๐๐๐๐๐๐ผ ๐๐๐ ๐๐๐๐๐๐๐ผ๐ฟ๐๐*'}`)
-if (!room.pilih) this.reply(room.p, `${lenguajeGB['smsAvisoIIG']()}๐๐ ๐๐๐๐๐๐๐๐ ๐ผ๐ ๐๐๐๐๐๐ฟ๐, ๐๐ ๐๐ ๐๐๐๐๐ ๐ฟ๐ ๐๐๐๐๐๐`, fkontak, 0)}
-let stage = room.pilih
-let stage2 = room.pilih2
-if (room.pilih && room.pilih2) {
-clearTimeout(room.waktu_milih)
-if (b.test(stage) && g.test(stage2)) win = room.p
-else if (b.test(stage) && k.test(stage2)) win = room.p2
-else if (g.test(stage) && k.test(stage2)) win = room.p
-else if (g.test(stage) && b.test(stage2)) win = room.p2
-else if (k.test(stage) && b.test(stage2)) win = room.p
-else if (k.test(stage) && g.test(stage2)) win = room.p2
-else if (stage == stage2) tie = true
-
-this.reply(room.asal, `๐ฅณ ๐๐๐๐๐๐๐ผ๐ฟ๐๐ ๐ฟ๐๐ ๐๐๐\n\n${tie ? '๐ฅด ๐๐๐๐ผ๐๐!!' : ''} *@${room.p.split`@`[0]} (${room.text})* ${tie ? '' : room.p == win ? ` *๐๐ผ๐๐ผ๐๐๐ ๐ฅณ ${room.poin} XP*` : ` *๐๐๐๐ฟ๐๐ฬ ๐คก ${room.poin_lose} XP*`}
-*@${room.p2.split`@`[0]} (${room.text2})* ${tie ? '' : room.p2 == win ? `*๐๐ผ๐๐ผ๐๐๐ ๐ฅณ ${room.poin} XP*` : ` *๐๐๐๐ฟ๐๐ฬ ๐คก ${room.poin_lose} XP*`}
-`.trim(), m, { mentions: [room.p, room.p2] } )
-if (!tie) {
-db.data.users[win == room.p ? room.p : room.p2].exp += room.poin
-db.data.users[win == room.p ? room.p : room.p2].exp += room.poin_bot
-db.data.users[win == room.p ? room.p2 : room.p].exp += room.poin_lose
-}
-delete this.suit[room.id]}}
-return !0
-}
-handler.exp = 0
-export default handler
-function random(arr) {
-return arr[Math.floor(Math.random() * arr.length)]}
diff --git a/plugins/grupo-add.js b/plugins/grupo-add.js
deleted file mode 100644
index b4870486d..000000000
--- a/plugins/grupo-add.js
+++ /dev/null
@@ -1,79 +0,0 @@
-let handler = async (m, { conn, args, text, usedPrefix, command }) => {
-let who
-if (m.isGroup) who = m.mentionedJid[0] ? m.mentionedJid[0] : m.quoted ? m.quoted.sender : text
-else who = m.chat
-let name = await conn.getName(m.sender)
-let user = global.db.data.users[who]
-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 (!global.db.data.settings[conn.user.jid].restrict) return conn.reply(m.chat, `${lenguajeGB['smsAvisoAG']()}${lenguajeGB['smsSoloOwner']()}`, fkontak, m)
-if (!text) throw `${lenguajeGB['smsAvisoMG']()} ${lenguajeGB['smsMalused']()}\n*${usedPrefix + command}* 59355555555`
-if (text.includes('+')) throw `${lenguajeGB['smsAvisoMG']()}๐๐๐๐๐๐๐ ๐๐ ๐๐๐๐๐๐ ๐๐๐ฟ๐ ๐
๐๐๐๐ ๐๐๐ ๐๐ก *+*`
-let group = m.chat
-let link = 'https://chat.whatsapp.com/' + await conn.groupInviteCode(group)
-
- await conn.reply(text+'@s.whatsapp.net', `Hola! me presento, soy The-LoliBot-MD โจ y soy un Bot para WhatsApp, una persona del grupo utilizo el comando para aรฑadirte al grupo, pero no pude agregarte, asi que te mando la invitacion para que te agregues, te esperamos!!\n\n${link}`, m, {mentions: [m.sender]})
- m.reply(`*@${who.split`@`[0]}*\n*Enviando invitacion a su privado...*`)
-
-}
-handler.help = ['add', '+'].map(v => v + ' nรบmero')
-handler.tags = ['group']
-handler.command = /^(add|agregar|invitar|invite|aรฑadir|\+)$/i
-handler.group = true
-handler.admin = true
-handler.botAdmin = true
-handler.fail = null
-export default handler
-//import fetch from 'node-fetch'
-/**
- * @type {import('@adiwajshing/baileys')}
- */
-/*const { getBinaryNodeChild, getBinaryNodeChildren } = (await import('@adiwajshing/baileys')).default
-let handler = async (m, { conn, text, participants, usedPrefix, command }) => {
-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 (!global.db.data.settings[conn.user.jid].restrict) return conn.reply(m.chat, `${lenguajeGB['smsAvisoAG']()}${lenguajeGB['smsSoloOwner']()}`, fkontak, m)
-try {
-let _participants = participants.map(user => user.jid)
-let users = (await Promise.all(
-text.split(',')
-.map(v => v.replace(/[^0-9]/g, ''))
-.filter(v => v.length > 4 && v.length < 20 && !_participants.includes(v + '@s.whatsapp.net'))
-.map(async v => [
-v,
-await conn.onWhatsApp(v + '@s.whatsapp.net')
-])
-)).filter(v => v[1]).map(v => v[0] + '@c.us')
-let response = await conn.query({
- tag: 'iq',
- attrs: {
- type: 'set',
- xmlns: 'w:g2',
- to: m.chat,
- },
- content: users.map(jid => ({
- tag: 'add',
- attrs: {},
- content: [{ tag: 'participant', attrs: { jid } }]
-}))})
-const pp = await conn.profilePictureUrl(m.chat).catch(_ => null)
-const jpegThumbnail = pp ? await (await fetch(pp)).buffer() : Buffer.alloc(0)
-const add = getBinaryNodeChild(response, 'add')
-const participant = getBinaryNodeChildren(add, 'participant')
-for (const user of participant.filter(item => item.attrs.error == 403)) {
-const content = getBinaryNodeChild(user, 'add_request')
-const invite_code = content.attrs.code
-const invite_code_exp = content.attrs.expiration
-let teks = `${lenguajeGB['smsAddB1']()}`
-m.reply(teks, null, {
-mentions: conn.parseMention(teks)
-})}
-} catch (e) {
-throw m.reply(`${lenguajeGB['smsAddB2']()}`)}
-}
-handler.help = ['add', '+'].map(v => v + ' nรบmero')
-handler.tags = ['group']
-handler.command = /^(add|agregar|aรฑadir|\+)$/i
-handler.group = true
-handler.admin = true
-handler.botAdmin = true
-handler.fail = null
-export default handler*/
diff --git a/plugins/grupo-admins.js b/plugins/grupo-admins.js
deleted file mode 100644
index 30dbccc2a..000000000
--- a/plugins/grupo-admins.js
+++ /dev/null
@@ -1,23 +0,0 @@
-let handler = async (m, { conn, participants, groupMetadata, args, usedPrefix, command }) => {
-const pp = await conn.profilePictureUrl(m.chat, 'image').catch(_ => null) || './src/admins.jpg'
-const groupAdmins = participants.filter(p => p.admin)
-const listAdmin = groupAdmins.map((v, i) => `ยป ${i + 1}. @${v.id.split('@')[0]}`).join('\n')
-const owner = groupMetadata.owner || groupAdmins.find(p => p.admin === 'superadmin')?.id || m.chat.split`-`[0] + '@s.whatsapp.net'
-let pesan = args.join` `
-let oi = `${lenguajeGB.smsAddB5()} _${pesan}_`
-
-let textoA =
-`โญโโ[ .โ
๐ฃ๏ธ โ
]โโโโฌฃ
-เท ${lenguajeGB.smsAddB3()}
-เท ${oi}
-โฐโโโโโโ[ *๐ .โ
${vs} โ
]โโโโโโฌฃ`
-
-let textoB =
-`*${listAdmin}*
-
-โ ${lenguajeGB.smsAddB4()} โ`.trim()
-await conn.sendButton(m.chat, textoA, textoB, pp, [[lenguajeGB.smsConMenu(), `.menu`]], m, { mentions: [...groupAdmins.map(v => v.id), owner] })
-}
-handler.command = /^(admins|@admins|dmins)$/i
-handler.group = true
-export default handler
diff --git a/plugins/grupo-advertencia.js b/plugins/grupo-advertencia.js
deleted file mode 100644
index 34af894c6..000000000
--- a/plugins/grupo-advertencia.js
+++ /dev/null
@@ -1,49 +0,0 @@
-let handler = async (m, { conn, text, command, usedPrefix }) => {//prems
-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 lenGB = lenguajeGB.lenguaje() == 'en' ? usedPrefix + 'on antitoxic' : usedPrefix + 'on antitoxicos';
-//if (!db.data.chats[m.chat].antitoxic && m.isGroup) return conn.reply(m.chat, lenguajeGB.smsAdveu1() + lenGB, fkontak, m)
-//conn.sendButton(m.chat, wm, lenguajeGB.smsAdveu1() + lenGB, null, [[lenguajeGB.smsEncender(), lenGB]], fkontak, m)
-
-let who
-let img = 'https://i.imgur.com/DvHoMc3.jpg'
-if (m.isGroup) who = m.mentionedJid[0] ? m.mentionedJid[0] : m.quoted ? m.quoted.sender : text
-else who = m.chat
-let name = await conn.getName(m.sender)
-
-let user = global.db.data.users[who]
-if (!who) return conn.reply(m.chat, lenguajeGB.smsMalused3() + `*${usedPrefix + command} @${name} ${lenguajeGB['smsAdveu2']()}*`, fkontak, m)
-let txt = text.replace('@' + who.split`@`[0], '').trim()
-if (!txt) return conn.reply(m.chat, lenguajeGB.smsAdveu3() + `*${usedPrefix + command} @${name} ${lenguajeGB['smsAdveu2']()}*`, fkontak, m)
-try {
-user.warn += 1
-await m.reply(
- `${
- user.warn == 1 ? `*@${who.split`@`[0]}*` : `*@${who.split`@`[0]}*`
- } ${lenguajeGB['smsAdveu4']()}\n\n๐ซต *${text}*\n\n*${lenguajeGB['smsAdveu5']()}*\nโ ๏ธ *${user.warn}/4*\n${wm}`,
- null,
- { mentions: [who] });
-/*await conn.sendButton(m.chat,`${user.warn == 1 ? `*@${who.split`@`[0]}*` : `*@${who.split`@`[0]}*`} ${lenguajeGB['smsAdveu4']()}\n\n๐ซต *${text}*`, `*${lenguajeGB['smsAdveu5']()}*\nโ ๏ธ *${user.warn}/4*\n\n${wm}`, img, [
-[lenguajeGB.smsToxic4(), '.ok'],
-[lenguajeGB.smsAdveu6(), lenguajeGB.lenguaje() == 'en' ? usedPrefix + 'inventory' : usedPrefix + 'inventario']], false, { mentions: [who] }) //[m.sender]*/
-
-if (user.warn >= 4) {
-user.warn = 0
-await m.reply(`${lenguajeGB['smsAdveu7']()}\n*@${who.split`@`[0]}* ${lenguajeGB['smsAdveu8']()}`, false, { mentions: [who] })
-user.banned = true
-await conn.groupParticipantsUpdate(m.chat, [who], 'remove') //@${m.sender.split`@`[0]}
-//await this.updateBlockStatus(m.sender, 'block')
-}
-return !1
-} catch (e) {
-await m.reply(m.chat, `\n${wm}`, lenguajeGB['smsMalError3']() + '#report ' + usedPrefix + command, m)
-//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.help = ['addprem <@user>']
-handler.tags = ['owner']
-handler.command = /^(advertir|advertencia|Advertencias|warn|warning)$/i
-handler.group = true
-handler.admin = true
-handler.botAdmin = true
-export default handler
diff --git a/plugins/grupo-advertencia_eliminar.js b/plugins/grupo-advertencia_eliminar.js
deleted file mode 100644
index fd1eab712..000000000
--- a/plugins/grupo-advertencia_eliminar.js
+++ /dev/null
@@ -1,33 +0,0 @@
-let handler = async (m, { conn, text, command, usedPrefix }) => {//prems
-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 lenGB = lenguajeGB.lenguaje() == 'en' ? usedPrefix + 'on antitoxic' : usedPrefix + 'on antitoxicos';
-if (!db.data.chats[m.chat].antitoxic && m.isGroup) return conn.sendButton(m.chat, wm, lenguajeGB.smsAdveu1() + lenGB, null, [[lenguajeGB.smsEncender(), lenGB]], fkontak, m)
-
-let who
-let img = 'https://i.imgur.com/vWnsjh8.jpg'
-if (m.isGroup) who = m.mentionedJid[0] ? m.mentionedJid[0] : m.quoted ? m.quoted.sender : text
-else who = m.chat
-let name = await conn.getName(m.sender)
-let user = global.db.data.users[who]
-if (!who) return conn.reply(m.chat, lenguajeGB.smsMalused3() + `*${usedPrefix + command} @${name}*`, fkontak, m)
-try{
-user.warn -= 1
-
- await m.reply(`${user.warn == 1 ? `*@${who.split`@`[0]}*` : `โป๏ธ *@${who.split`@`[0]}*`} ${lenguajeGB['smsAdveu10']()}\n\n*${lenguajeGB['smsAdveu5']()}*\nโ ๏ธ *${lenguajeGB['smsAdveu11']()} ${user.warn + 1}/4*\nโ ๏ธ *${lenguajeGB['smsAdveu12']()} ${user.warn}/4*`, null, { mentions: [who]})
-/*await conn.sendButton(m.chat,`${user.warn == 1 ? `*@${who.split`@`[0]}*` : `โป๏ธ *@${who.split`@`[0]}*`} ${lenguajeGB['smsAdveu10']()}`, `*${lenguajeGB['smsAdveu5']()}*\nโ ๏ธ *${lenguajeGB['smsAdveu11']()} ${user.warn + 1}/4*\nโ ๏ธ *${lenguajeGB['smsAdveu12']()} ${user.warn}/4*\n\n${wm}`, img, [
-[lenguajeGB.smsAdveu9(), '.ok'],
-[lenguajeGB.smsAdveu6(), lenguajeGB.lenguaje() == 'en' ? usedPrefix + 'inventory' : usedPrefix + 'inventario']], false, { mentions: [who] }) //[m.sender]*/
-
-} catch (e) {
-await m.reply(m.chat, `\n${wm}`, lenguajeGB['smsMalError3']() + '#report ' + usedPrefix + command, m)
-//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.help = ['addprem <@user>']
-handler.tags = ['owner']
-handler.command = /^(del|delete|eliminar|\-)advertir|quitar|warn(ing)?$/i
-handler.group = true
-handler.admin = true
-handler.botAdmin = true
-export default handler
diff --git a/plugins/grupo-config.js b/plugins/grupo-config.js
index 5b2c5facb..3edb71626 100644
--- a/plugins/grupo-config.js
+++ b/plugins/grupo-config.js
@@ -1,35 +1,107 @@
-let handler = async (m, { conn, args, usedPrefix, command }) => {
-const pp = await conn.profilePictureUrl(m.chat, 'image').catch(_ => null) || './src/grupos.jpg'
-let isClose = { // Switch Case Like :v
-'open': 'not_announcement',
-'close': 'announcement',
-'abierto': 'not_announcement',
-'cerrado': 'announcement',
-'abrir': 'not_announcement',
-'cerrar': 'announcement',
-}[(args[0] || '')]
-if (isClose === undefined)
-throw `
-${mg}*โญโ[ ${wm} ]โโฌฃ*
-*โโฅ ${usedPrefix + command} abrir*
-*โโฅ ${usedPrefix + command} cerrar*
-*โฐโโโโโ[ ๐ ${vs} ]โโโโโโฌฃ*
-`.trim()
-await conn.groupSettingUpdate(m.chat, isClose)
-
-if (isClose === 'not_announcement'){
-conn.sendButton(m.chat, `${eg}๐๐ ๐ฅ๐ช๐๐๐ ๐๐จ๐๐ง๐๐๐ ๐ฉ๐ค๐๐ค ๐๐ฃ ๐๐จ๐ฉ๐ ๐๐ง๐ช๐ฅ๐ค!!`, `๐๐ง๐ช๐ฅ๐ค ๐๐๐๐๐ง๐ฉ๐ค\n${wm}`, pp, [['๐พ๐ช๐๐ฃ๐ฉ๐๐จ ๐๐๐๐๐๐๐ก๐๐จ โ
', `.cuentasgb`], ['๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ โ๏ธ', `/menu`]], m)
+let handler = async (m, { conn, args, usedPrefix, command, isOwner, text }) => {
+let groupId = m.isGroup ? m.chat : null;
+
+if (!m.isGroup && !isOwner) return m.reply(await tr('Solo el owner puede usar este comando en privado.'));
+let identifier, action, target;
+if (!m.isGroup && isOwner) {
+if (args.length < 2) throw `โ ๏ธ ${await tr("Formato incorrecto. Usa")}: !grupo [id/enlace] [ID/URL] - [acciรณn] [+nรบmero si aplica]`
+
+if (args[0].startsWith('id')) {
+identifier = args[1];
+action = args[2]?.replace('-', '').trim().toLowerCase();
+target = args[3]?.replace('+', '') + '@s.whatsapp.net';
+groupId = identifier;
+} else if (args[0].match(/chat\.whatsapp\.com/)) {
+identifier = args[0];
+if (args[1] === '-') {
+action = args[2]?.trim().toLowerCase();
+target = args[3]?.replace('+', '') + '@s.whatsapp.net';
+} else {
+action = args[1]?.replace('-', '').trim().toLowerCase();
+target = args[2]?.replace('+', '') + '@s.whatsapp.net';
}
-
-if (isClose === 'announcement'){
-//m.reply(`${eg}*๐๐๐๐๐ ๐พ๐๐๐๐ผ๐ฟ๐*\n๐๐๐๐ ๐๐๐ ๐ผ๐ฟ๐๐๐๐ ๐๐๐๐ฟ๐๐ ๐๐๐พ๐๐๐ฝ๐๐ ๐๐ ๐๐๐๐ ๐๐๐๐๐`)
-conn.sendButton(m.chat, `${eg}๐๐ค๐ก๐ค ๐ก๐ค๐จ ๐๐๐ข๐๐ฃ ๐ฅ๐ช๐๐๐ ๐๐จ๐๐ง๐๐๐ ๐๐ฃ ๐๐จ๐ฉ๐ ๐๐ง๐ช๐ฅ๐ค!!`, `๐๐ง๐ช๐ฅ๐ค ๐๐๐ง๐ง๐๐๐ค\n${wm}`, pp, [['๐๐ค๐ข๐๐ฃ๐ฉ๐ค ๐๐๐ข๐๐ฃ๐', '.s'], ['๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ โ๏ธ', `/menu`]], m)
-}
- }
-handler.help = ['group open / close', 'grupo abrir / cerrar']
-handler.tags = ['group']
-handler.command = /^(group|grupo)$/i
-handler.admin = true
-handler.botAdmin = true
-handler.exp = 200
-export default handler
+const inviteCode = identifier.match(/(?:https:\/\/)?(?:www\.)?(?:chat\.|wa\.)?whatsapp\.com\/(?:invite\/|joinchat\/)?([0-9A-Za-z]{22,24})/i)?.[1];
+if (!inviteCode) throw `โ ๏ธ ${await tr("Enlace invรกlido. Usa un enlace de WhatsApp vรกlido.")}`
+try {
+const inviteInfo = await conn.groupGetInviteInfo(inviteCode);
+groupId = inviteInfo.id;
+} catch (e) {
+throw `โ ๏ธ ${await tr("No se pudo obtener informaciรณn del grupo. Verifica el enlace o que el bot tenga acceso.")}`
+}} else if (args[0] === 'enlace') {
+identifier = args[1];
+if (args[2] === '-') {
+action = args[3]?.trim().toLowerCase();
+target = args[4]?.replace('+', '') + '@s.whatsapp.net';
+} else {
+action = args[2]?.replace('-', '').trim().toLowerCase();
+target = args[3]?.replace('+', '') + '@s.whatsapp.net';
+}
+if (!identifier.match(/chat\.whatsapp\.com/)) {
+throw `โ ๏ธ ${await tr("Debes proporcionar un enlace vรกlido.")}`
+}
+const inviteCode = identifier.match(/(?:https:\/\/)?(?:www\.)?(?:chat\.|wa\.)?whatsapp\.com\/(?:invite\/|joinchat\/)?([0-9A-Za-z]{22,24})/i)?.[1];
+if (!inviteCode) throw `โ ๏ธ ${await tr("Enlace invรกlido. Usa un enlace de WhatsApp vรกlido.")}`
+try {
+const inviteInfo = await conn.groupGetInviteInfo(inviteCode);
+groupId = inviteInfo.id;
+} catch (e) {
+throw `โ ๏ธ ${await tr("No se pudo obtener informaciรณn del grupo. Verifica el enlace o que el bot tenga acceso.")}`
+}} else {
+throw `โ ๏ธ ${await tr(`Usa "id" o "enlace" como primer argumento, o pasa directamente un enlace vรกlido.`)}`;
+}} else if (m.isGroup) {
+action = args[0]?.toLowerCase();
+target = args[1]?.replace(/@/, '') + '@s.whatsapp.net';
+}
+
+if (!groupId) return m.reply(`โ ๏ธ ${await tr("Debes estar en un grupo o especificar un ID/enlace en privado.")}`);
+const botId = conn.user.jid;
+const groupMetadata = await conn.groupMetadata(groupId);
+const isBotAdmin = groupMetadata.participants.some(p => p.id === botId && (p.admin === 'admin' || p.admin === 'superadmin'));
+if (!isBotAdmin) return m.reply(`โ ๏ธ ${await tr("El bot debe ser admin para ejecutar este comando.")}`);
+if (!action) throw `โ ๏ธ ${await tr("Debes especificar una acciรณn")} (abrir, cerrar, daradmin, etc.).`
+
+switch (action) {
+case 'abrir': case 'open': case 'abierto':
+await conn.groupSettingUpdate(groupId, 'not_announcement');
+m.reply(`๐ข ${await tr("ยกGRUPO ABIERTO! Todos pueden escribir ahora.")}`);
+break;
+
+case 'cerrar': case 'close': case 'cerrado':
+await conn.groupSettingUpdate(groupId, 'announcement');
+m.reply(`โ ๏ธ ${await tr("ยกGRUPO CERRADO! Solo admins pueden escribir.")}`);
+break;
+
+case 'addadmin': case 'promote': case 'daradmin':
+if (!target) throw `โ ๏ธ ${await tr("Especifica un nรบmero")} (${await tr("ejemplo")}: - daradmin +51987654321) ${await tr("o menciona en grupo.")}`
+await conn.groupParticipantsUpdate(groupId, [target], 'promote');
+m.reply(`โ
@${target.split('@')[0]} ${await tr("ahora es admin.")}`);
+break;
+
+case 'removeadmin': case 'demote': case 'quitaradmin':
+if (!target) throw `โ ๏ธ ${await tr("Especifica un nรบmero")} (${await tr("ejemplo")} - quitaradmin +51987654321) ${await tr("o menciona en grupo.")}`
+await conn.groupParticipantsUpdate(groupId, [target], 'demote');
+m.reply(`โ
@${target.split('@')[0]} ${await tr("ya no es admin.")}`);
+break;
+
+case 'kick': case 'eliminar':
+if (!target) throw `โ ๏ธ ${await tr("Especifica un nรบmero")} (${await tr("ejemplo")}: - eliminar +51987654321) ${await tr("o menciona en grupo.")}.`
+await conn.groupParticipantsUpdate(groupId, [target], 'remove');
+m.reply(`๐๏ธ @${target.split('@')[0]} ${await tr("ha sido eliminado del grupo.")}`);
+break;
+
+case "aprobar":
+if (!target) throw `โ ๏ธ ${await tr("Especifica un nรบmero")} (${await tr("ejemplo")}: - aprobar +51987654321).`
+await conn.groupRequestParticipantsUpdate(groupId, [target], 'approve');
+m.reply(`@${target.split('@')[0]} ${await tr("usuario has sido aprobado el grupo.")}`);
+break
+
+default:
+throw `*โ ๏ธ ${await tr("COMANDO INVรLIDO")}*\n\n*${await tr("En grupo")}:*\n${usedPrefix + command} abrir\n${usedPrefix + command} cerrar\n${usedPrefix + command} daradmin @usuario\n${usedPrefix + command} quitaradmin @usuario\n${usedPrefix + command} eliminar @usuario\n\n*${await tr("En privado (owner)")}:*\n${usedPrefix + command} id [ID] - abrir\n${usedPrefix + command} enlace [URL] - cerrar\n${usedPrefix + command} [URL] - cerrar\n${usedPrefix + command} id [ID] - daradmin +nรบmero`;
+}
+};
+handler.help = ['group open/close', 'grupo abrir/cerrar', 'grupo aprobar +number'];
+handler.tags = ['group'];
+handler.command = /^(group|grupo)$/i;
+handler.exp = 200;
+
+export default handler;
\ No newline at end of file
diff --git a/plugins/grupo-config_time.js b/plugins/grupo-config_time.js
index ca0b0a1f5..96cf15bda 100644
--- a/plugins/grupo-config_time.js
+++ b/plugins/grupo-config_time.js
@@ -1,155 +1,46 @@
/* Creditos a https://github.com/ALBERTO9883/NyanCatBot-MD */
-let handler = async (m, { conn, isAdmin, isOwner, args, usedPrefix, command }) => {
-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" }
-try{
+const handler = async (m, {conn, isAdmin, isOwner, args, usedPrefix, command}) => {
if (!(isAdmin || isOwner)) {
-global.dfail('admin', m, conn)
-throw false
+global.dfail('admin', m, conn);
+throw false;
}
-let isClose = {
-'open': 'not_announcement',
-'abrir': 'not_announcement',
-'abierto': 'not_announcement',
+const isClose = {'open': 'not_announcement',
'buka': 'not_announcement',
'on': 'not_announcement',
'1': 'not_announcement',
-
'close': 'announcement',
-'cerrar': 'announcement',
-'cerrado': 'announcement',
'tutup': 'announcement',
'off': 'announcement',
'0': 'announcement',
-}[(args[0] || '')]
-if (isClose === undefined) {
-
-let nombre = [
-lenguajeGB.smsGrupoTime9() + '1' + lenguajeGB.smsGrupoTime11(),
-lenguajeGB.smsGrupoTime10() + '1' + lenguajeGB.smsGrupoTime11(),
-
-lenguajeGB.smsGrupoTime9() + '2' + lenguajeGB.smsGrupoTime11(),
-lenguajeGB.smsGrupoTime10() + '2' + lenguajeGB.smsGrupoTime11(),
-
-lenguajeGB.smsGrupoTime9() + '3' + lenguajeGB.smsGrupoTime11(),
-lenguajeGB.smsGrupoTime10() + '3' + lenguajeGB.smsGrupoTime11(),
-
-lenguajeGB.smsGrupoTime9() + '4' + lenguajeGB.smsGrupoTime11(),
-lenguajeGB.smsGrupoTime10() + '4' + lenguajeGB.smsGrupoTime11(),
-
-lenguajeGB.smsGrupoTime9() + '5' + lenguajeGB.smsGrupoTime11(),
-lenguajeGB.smsGrupoTime10() + '5' + lenguajeGB.smsGrupoTime11(),
-
-lenguajeGB.smsGrupoTime9() + '6' + lenguajeGB.smsGrupoTime11(),
-lenguajeGB.smsGrupoTime10() + '6' + lenguajeGB.smsGrupoTime11(),
-
-lenguajeGB.smsGrupoTime9() + '7' + lenguajeGB.smsGrupoTime11(),
-lenguajeGB.smsGrupoTime10() + '7' + lenguajeGB.smsGrupoTime11(),
-
-lenguajeGB.smsGrupoTime9() + '10' + lenguajeGB.smsGrupoTime11(),
-lenguajeGB.smsGrupoTime10() + '10' + lenguajeGB.smsGrupoTime11(),
-
-lenguajeGB.smsGrupoTime9() + '12' + lenguajeGB.smsGrupoTime11(),
-lenguajeGB.smsGrupoTime10() + '12' + lenguajeGB.smsGrupoTime11(),
-
-lenguajeGB.smsGrupoTime9() + '24' + lenguajeGB.smsGrupoTime11(),
-lenguajeGB.smsGrupoTime10() + '24' + lenguajeGB.smsGrupoTime11()]
-
-let descripciรณn = [
-lenguajeGB.smsGrupoTime12() + '1' + lenguajeGB.smsGrupoTime11(),
-lenguajeGB.smsGrupoTime13() + '1' + lenguajeGB.smsGrupoTime11() + '\n',
-
-lenguajeGB.smsGrupoTime12() + '2' + lenguajeGB.smsGrupoTime11(),
-lenguajeGB.smsGrupoTime13() + '2' + lenguajeGB.smsGrupoTime11() + '\n',
-
-lenguajeGB.smsGrupoTime12() + '3' + lenguajeGB.smsGrupoTime11(),
-lenguajeGB.smsGrupoTime13() + '3' + lenguajeGB.smsGrupoTime11() + '\n',
-
-lenguajeGB.smsGrupoTime12() + '4' + lenguajeGB.smsGrupoTime11(),
-lenguajeGB.smsGrupoTime13() + '4' + lenguajeGB.smsGrupoTime11() + '\n',
-
-lenguajeGB.smsGrupoTime12() + '5' + lenguajeGB.smsGrupoTime11(),
-lenguajeGB.smsGrupoTime13() + '5' + lenguajeGB.smsGrupoTime11() + '\n',
-
-lenguajeGB.smsGrupoTime12() + '6' + lenguajeGB.smsGrupoTime11(),
-lenguajeGB.smsGrupoTime13() + '6' + lenguajeGB.smsGrupoTime11() + '\n',
-
-lenguajeGB.smsGrupoTime12() + '7' + lenguajeGB.smsGrupoTime11(),
-lenguajeGB.smsGrupoTime13() + '7' + lenguajeGB.smsGrupoTime11() + '\n',
-
-lenguajeGB.smsGrupoTime12() + '10' + lenguajeGB.smsGrupoTime11(),
-lenguajeGB.smsGrupoTime13() + '10' + lenguajeGB.smsGrupoTime11() + '\n',
-
-lenguajeGB.smsGrupoTime12() + '12' + lenguajeGB.smsGrupoTime11(),
-lenguajeGB.smsGrupoTime13() + '12' + lenguajeGB.smsGrupoTime11() + '\n',
-
-lenguajeGB.smsGrupoTime12() + '24' + lenguajeGB.smsGrupoTime11(),
-lenguajeGB.smsGrupoTime13() + '24' + lenguajeGB.smsGrupoTime11()]
-
-let comando = [
-"open 1", "cerrar 1",
-"open 2", "cerrar 2",
-"open 3", "cerrar 3",
-"open 4", "cerrar 4",
-"open 5", "cerrar 5",
-"open 6", "cerrar 6",
-"open 7", "cerrar 7",
-"open 10", "cerrar 10",
-"open 12", "cerrar 12",
-"open 24", "cerrar 24"]
+}[(args[0] || '')];
-let sections = Object.keys(nombre, descripciรณn, comando).map((v, index) => ({ title: `${lenguajeGB.smsParaAdmins()}`,
-rows: [{ title: `${nombre[v]}`, description: `${descripciรณn[v]}`, rowId: usedPrefix + command + ' ' + comando[v], }], }))
-
-let caption = `${lenguajeGB['smsAvisoMG']()}
-${lenguajeGB['smsMalused']()}
-${lenguajeGB['smsGrupoTime1']()}
-*${usedPrefix + command} ${lenguajeGB.lenguaje() == 'en' ? 'open' : 'abrir'} 1*
-${lenguajeGB['smsGrupoTime2']()}
-*${usedPrefix + command} ${lenguajeGB.lenguaje() == 'en' ? 'close' : 'cerrar'} 1*`
-
-const listMessage = {
-text: `${wm}`,
-footer: `${caption}`,
-title: null,
-buttonText: `โ๏ธ ${lenguajeGB.smsConfi1()} โ๏ธ`,
-sections }
-
-await conn.reply(m.chat, `${lenguajeGB['smsAvisoMG']()} ${lenguajeGB['smsMalused']()}
-${lenguajeGB['smsGrupoTime1']()}
-*${usedPrefix + command} ${lenguajeGB.lenguaje() == 'en' ? 'open' : 'abrir'} 1*
-${lenguajeGB['smsGrupoTime2']()}
-*${usedPrefix + command} ${lenguajeGB.lenguaje() == 'en' ? 'close' : 'cerrar'} 1*`, fkontak, m)
-//await conn.sendMessage(m.chat, caption, {quoted: fkontak})
-throw false
+if (isClose === undefined) {
+const caption = `*โข ${await tr("Ejemplo")}:*\n${usedPrefix + command} open 1\n${usedPrefix + command} close 1\n\n*โข ${await tr("Ejemplo de uso")}:* ${usedPrefix + command} close 1\n\n> *_๐ฟ ${await tr("Para que el grupo este cerrado una hora.")}_*`;
+m.reply(caption);
+throw false;
}
-let timeoutset = 86400000 * args[1] / 24 //Una Hora 86400000
-await conn.groupSettingUpdate(m.chat, isClose).then(async _=> {
-m.reply(`${lenguajeGB['smsAvisoRG']()} *${lenguajeGB['smsGrupoTime3']()}* *${isClose == 'announcement' ? lenguajeGB.smsGrupoTime4() : lenguajeGB.smsGrupoTime5()} ${args[1] ? `${lenguajeGB['smsGrupoTime6']()} ${clockString(timeoutset)}*` : ''}`)
-})
+const timeoutset = 86400000 * args[1] / 24;
+await conn.groupSettingUpdate(m.chat, isClose).then(async (_)=> {
+m.reply(`โ ๏ธ *_${await tr("Grupo")} ${isClose == 'announcement' ? await tr('cerrado') : await tr('abierto')} ${args[1] ? `${await tr("durante")} *${clockString(timeoutset)}_*` : ''}`)});
if (args[1]) {
setTimeout(async () => {
-await conn.groupSettingUpdate(m.chat, `${isClose == 'announcement' ? 'not_announcement' : 'announcement'}`).then(async _=>{
-conn.reply(m.chat, `${isClose == 'not_announcement' ? lenguajeGB.smsGrupoTime7() : lenguajeGB.smsGrupoTime8()}!!`)
-})
-}, timeoutset)}
-
-} 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 = /^(grouptime|gctime|grupotiempo)$/i
-handler.botAdmin = true
-handler.group = true
-handler.admin = true
-
-export default handler
+await conn.groupSettingUpdate(m.chat, `${isClose == 'announcement' ? 'not_announcement' : 'announcement'}`).then(async (_)=>{
+conn.reply(m.chat, `${isClose == 'not_announcement' ? await tr('*El grupo ha sido cerrado, ยกahora solo los administradores pueden enviar mensajes!*') : await tr('*El grupo se ha abierto, ยกahora todos los miembros pueden enviar mensajes!*')}!`);
+})}, timeoutset)}};
+handler.help = ['grouptime ** **'];
+handler.tags = ['group'];
+handler.command = /^(grouptime|gctime)$/i;
+handler.register = true
+handler.botAdmin = true;
+handler.group = true;
+
+export default handler;
function clockString(ms) {
- let h = Math.floor(ms / 3600000)
- let m = Math.floor(ms / 60000) % 60
- let s = Math.floor(ms / 1000) % 60
- console.log({ms,h,m,s})
- return [h, m, s].map(v => v.toString().padStart(2, 0) ).join(':')
+ const h = Math.floor(ms / 3600000);
+ const m = Math.floor(ms / 60000) % 60;
+ const s = Math.floor(ms / 1000) % 60;
+ console.log({ms, h, m, s});
+ return [h, m, s].map((v) => v.toString().padStart(2, 0) ).join(':');
}
diff --git a/plugins/grupo-configuracion.js b/plugins/grupo-configuracion.js
deleted file mode 100644
index 09bdef0ea..000000000
--- a/plugins/grupo-configuracion.js
+++ /dev/null
@@ -1,46 +0,0 @@
-let handler = async (m, { conn, participants, groupMetadata }) => {
-const pp = await conn.profilePictureUrl(m.chat, 'image').catch(_ => null) || './src/grupos.jpg'
-const { isBanned, autolevelup, antiver, antitoxic, temporal, restrict, stickers, welcome, detect, sWelcome, sBye, sPromote, sDemote, antiLink, antiLink2, modohorny, autosticker, audios, delete: del } = global.db.data.chats[m.chat]
-
-let text =
-`โญโ[ ๐พ๐ค๐ฃ๐๐๐๐ช๐ง๐๐๐๐คฬ๐ฃ ]โโฌฃ
-โ
-โ ๐๐๐ก๐๐ค๐ข๐ ${welcome ? 'โ
' : 'โ'}
-โโโโโโโโโโโโโโโโโโ
-โ ๐ผ๐ฃ๐ฉ๐๐ก๐๐ฃ๐ ${antiLink ? 'โ
' : 'โ'}
-โโโโโโโโโโโโโโโโโโ
-โ ๐ผ๐ฃ๐ฉ๐๐ก๐๐ฃ๐ *2* ${antiLink2 ? 'โ
' : 'โ'}
-โโโโโโโโโโโโโโโโโโ
-โ ๐๐ฉ๐๐๐ ๐๐ง ${stickers ? 'โ
' : 'โ'}
-โโโโโโโโโโโโโโโโโโ
-โ ๐๐ช๐ฃ๐๐๐ค๐ฃ ๐๐ค๐ฉ๐๐ข๐ฅ๐ค๐ง๐๐ก ${global.db.data.settings[conn.user.jid].temporal ? 'โ
' : 'โ'}
-โโโโโโโโโโโโโโโโโโ
-โ ๐๐ช๐ฃ๐๐๐ค๐ฃ ๐๐ฃฬ๐๐๐๐ง ๐ฎ ๐จ๐๐๐ ${global.db.data.settings[conn.user.jid].restrict ? 'โ
' : 'โ'}
-โโโโโโโโโโโโโโโโโโ
-โ ๐ผ๐ช๐ฉ๐ค๐ก๐๐ซ๐๐ก๐ช๐ฅ ${global.db.data.users[m.sender].autolevelup ? 'โ
' : 'โ'}
-โโโโโโโโโโโโโโโโโโ
-โ ๐ฟ๐๐ฉ๐๐๐ฉ ${detect ? 'โ
' : 'โ'}
-โโโโโโโโโโโโโโโโโโ
-โ ๐ผ๐ฃ๐ฉ๐๐ฉ๐ค๐ญ๐๐ ${antitoxic ? 'โ
' : 'โ'}
-โโโโโโโโโโโโโโโโโโ
-โ ๐๐ฃ๐ฉ๐๐ซ๐๐๐ฌ๐ค๐ฃ๐๐ ${antiver ? 'โ
' : 'โ'}
-โโโโโโโโโโโโโโโโโโ
-โ ๐ผ๐ฃ๐ฉ๐๐๐๐ก๐๐ฉ๐ ${global.db.data.chats[m.chat].delete ? 'โ
' : 'โ'}
-โโโโโโโโโโโโโโโโโโ
-โ ๐๐ค๐๐ค ๐๐ค๐ง๐ฃ๐ฎ (+18) ${modohorny ? 'โ
' : 'โ'}
-โโโโโโโโโโโโโโโโโโ
-โ ๐ผ๐ช๐ฉ๐ค๐จ๐ฉ๐๐๐ ๐๐ง ${autosticker ? 'โ
' : 'โ'}
-โโโโโโโโโโโโโโโโโโ
-โ ๐ผ๐ช๐๐๐ค๐จ ${audios ? 'โ
' : 'โ'}
-โฐโโโโโโฐ *๐ ${vs}* โฑโโโโโฌฃ
-`.trim()
-//conn.sendFile(m.chat, pp, 'error.jpg', text, m, false, { mentions: [...groupAdmins.map(v => v.id), owner] })
-conn.sendHydrated(m.chat, text, wm, pp, md, '๐ป๐๐ ๐ณ๐๐๐๐ฉ๐๐-๐ด๐ซ', null, null, [
-['๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ โ๏ธ', '/menu']
-], m,)
-}
-handler.help = ['infogrup']
-handler.tags = ['group']
-handler.command = /^(configuraciรณn|settings|setting|confugurar|configuracion|vezgrupo|gruporesumen)$/i
-handler.group = true
-export default handler
diff --git a/plugins/grupo-delete.js b/plugins/grupo-delete.js
index 9fe625786..0c022466b 100644
--- a/plugins/grupo-delete.js
+++ b/plugins/grupo-delete.js
@@ -1,31 +1,51 @@
-/* Creditos a https://github.com/FG98F */
+let handler = async (m, { conn, args, usedPrefix, command }) => {
-let handler = async (m, { conn, usedPrefix, command }) => {
-if (!m.quoted) throw `*๐๐๐จ๐ฅ๐ค๐ฃ๐๐ ๐๐ก ๐ข๐๐ฃ๐จ๐๐๐ ๐ฆ๐ช๐ ๐ฆ๐ช๐๐๐ง๐ ๐๐ก๐๐ข๐๐ฃ๐๐ง*`
+if (!m.quoted && !m.mentionedJid?.length && !args[0]) return m.reply(`โ ๏ธ ${await tr("Responde al mensaje que quiere eliminar pelotudito.")}`)
try {
-let delet = m.message.extendedTextMessage.contextInfo.participant
-let bang = m.message.extendedTextMessage.contextInfo.stanzaId
-return conn.sendMessage(m.chat, { delete: { remoteJid: m.chat, fromMe: false, id: bang, participant: delet }})
-} catch {
-return conn.sendMessage(m.chat, { delete: m.quoted.vM.key })
-}}
-handler.help = ['del', 'delete']
-handler.tags = ['group']
-handler.command = /^del(ete)?$/i
-handler.group = true
-handler.admin = true
-handler.botAdmin = true
-export default handler
-/*let handler = function (m) {
-if (!m.quoted) throw false
-let { chat, fromMe, isBaileys } = m.quoted
-if (!fromMe) throw false
-if (!isBaileys) throw '*[โ๐๐๐
๐โ] ๐ด๐๐ด ๐ผ๐ด๐ฝ๐๐ฐ๐น๐ด ๐ฝ๐พ ๐ต๐๐ด ๐ด๐ฝ๐
๐ธ๐ฐ๐ณ๐พ ๐ฟ๐พ๐ ๐ผ๐ธ, ๐ฝ๐พ ๐ป๐พ ๐ฟ๐๐ด๐ณ๐พ ๐ด๐ป๐ธ๐ผ๐ธ๐ฝ๐ฐ๐*'
-conn.sendMessage(chat, { delete: m.quoted.vM.key })
+if (m.quoted) {
+let delet = m.quoted.sender;
+let bang = m.quoted.id;
+return conn.sendMessage(m.chat, { delete: { remoteJid: m.chat, fromMe: false, id: bang, participant: delet } });
+}
+
+let target = '';
+if (m.mentionedJid?.length) {
+target = m.mentionedJid[0];
+} else if (args[0] && args[0].startsWith('+')) {
+target = args[0].replace(/[^0-9]/g, '') + '@s.whatsapp.net';
+} else {
+return m.reply(`โ ๏ธ ${await tr("Mencionar a alguien o responder a un mensaje.")}`);
}
-handler.help = ['del', 'delete']
-handler.tags = ['tools']
-handler.command = /^del(ete)?$/i
-handler.group = true
-handler.admin = true
-export default handler*/
+
+let chats = await conn.chats[m.chat]?.messages || [];
+let messagesToDelete = Object.values(chats).filter(
+msg => (msg.key.participant === target || msg.key.remoteJid === target));
+
+if (!messagesToDelete.length) return
+let totalToDelete = Math.min(messagesToDelete.length, 200); // Mรกximo 200 mensajes
+let deletedCount = 0;
+
+for (let i = 0; i < totalToDelete; i++) {
+let message = messagesToDelete[i];
+try {
+await conn.sendMessage(m.chat, { delete: message.key });
+deletedCount++;
+await delay(100);
+} catch (err) {
+console.log(err);
+}}
+m.reply(`โ
${await tr("Se eliminaron ")} ${deletedCount} ${await tr("mensajes de")} ${target.includes('@s.whatsapp.net')}.`);
+} catch (err) {
+console.error(err);
+}};
+handler.help = ['delete *@user*'];
+handler.tags = ['group'];
+handler.command = /^del(ete)?$/i;
+handler.group = true;
+handler.admin = true;
+handler.botAdmin = true;
+handler.register = true;
+
+export default handler;
+
+const delay = ms => new Promise(resolve => setTimeout(resolve, ms));
\ No newline at end of file
diff --git a/plugins/grupo-delwarn.js b/plugins/grupo-delwarn.js
new file mode 100644
index 000000000..8ad453329
--- /dev/null
+++ b/plugins/grupo-delwarn.js
@@ -0,0 +1,25 @@
+let handler = async (m, { conn, args, groupMetadata}) => {
+let who
+if (m.isGroup) who = m.mentionedJid[0] ? m.mentionedJid[0] : m.quoted ? m.quoted.sender : false
+else who = m.chat
+if (!who) throw await tr(`*ยฟA quien le doy advertencia?* etiquetas a una persona no soy adivinรณ :)`)
+if (!(who in global.db.data.users)) throw await tr(`*โ ๏ธ ยฟQuien carajo es ese?* No se encuentra en mi base de datos`)
+let warn = global.db.data.users[who].warn
+if (warn > 0) {
+global.db.data.users[who].warn -= 1
+m.reply(`*โ ๏ธ ${await tr("SE QUITร UNA ADVERTENCIA")} โ ๏ธ*
+
+*โข ${await tr("Advertencia")}:* -1
+*โข ${await tr("Total")}:* ${warn - 1}`)
+//m.reply(`Un admin redujo su advertencia, ahora tienes *${warn - 1}*`, who)
+} else if (warn == 0) {
+m.reply(`*โ ๏ธ ${await tr("El usuario no tiene ninguna advertencia")}*`)
+}}
+handler.help = ['delwarn *@user*']
+handler.tags = ['group']
+handler.command = ['delwarn', 'unwarn']
+handler.group = true
+handler.admin = true
+handler.botAdmin = true
+handler.register = true
+export default handler
diff --git a/plugins/grupo-demote.js b/plugins/grupo-demote.js
index 14840242f..9b4d05b6e 100644
--- a/plugins/grupo-demote.js
+++ b/plugins/grupo-demote.js
@@ -1,35 +1,31 @@
-let handler = async (m, { conn,usedPrefix, text }) => {
-if(isNaN(text) && !text.match(/@/g)){
-
-}else if(isNaN(text)) {
-var number = text.split`@`[1]
-}else if(!isNaN(text)) {
-var number = text
+const handler = async (m, {conn, usedPrefix, text}) => {
+if (isNaN(text) && !text.match(/@/g)) {
+} else if (isNaN(text)) {
+var number = text.split`@`[1];
+} else if (!isNaN(text)) {
+var number = text;
}
-
-if(!text && !m.quoted) return conn.reply(m.chat, `๐๐ฉ๐ ๐ฃ๐ค ๐จ๐ค๐ฎ ๐๐๐๐ซ๐๐ฃ๐ค.\n ๐๐๐๐ ๐๐ ๐ช๐จ๐๐ง ๐๐ ๐๐จ๐ฉ๐ ๐ข๐๐ฃ๐๐ง๐:\n๐๐๐๐ข๐ฅ๐ก๐ค\n*${usedPrefix}quitaradmin @tag*\n*${usedPrefix}quitaradmin responder a un mensaje*`, m)
-if(number.length > 13 || (number.length < 11 && number.length > 0)) return conn.reply(m.chat, `๐ฌ๐๐ ๐๐ฬ๐๐๐๐ ๐๐ ๐๐๐๐๐๐๐๐๐๐, ๐๐๐๐๐๐๐ ๐
๐๐ ๐๐๐๐๐`, m)
-
+
+if (!text && !m.quoted) return conn.reply(m.chat, `*โ ๏ธ ${await tr("ยฟA quien le quitรณ admins?* etiquetas a una persona no soy adivinรณ")} :)`, m);
+if (number.length > 13 || (number.length < 11 && number.length > 0)) return conn.reply(m.chat, `*${await tr("Esta drogado o que ese nรบmero ingresado es incorrecto")} ๐ค*, ${await tr("ingresa el nรบmero correctamente o mejor etiquetas al usuario")}.`, m);
try {
-if(text) {
-var user = number + '@s.whatsapp.net'
-} else if(m.quoted.sender) {
-var user = m.quoted.sender
-} else if(m.mentionedJid) {
-var user = number + '@s.whatsapp.net'
-}
-} catch (e) {
+if (text) {
+var user = number + '@s.whatsapp.net';
+} else if (m.quoted.sender) {
+var user = m.quoted.sender;
+} else if (m.mentionedJid) {
+var user = number + '@s.whatsapp.net';
+}} catch (e) {
} finally {
-conn.groupParticipantsUpdate(m.chat, [user], 'demote')
-conn.sendHydrated(m.chat, `๐
๐๐๐ ๐ฎ๐ ๐๐๐๐๐จ๐ฉ๐ ๐๐ ๐จ๐๐ง ๐๐๐ข๐๐ฃ๐จ ๐ฃ๐ค ๐๐ช๐๐จ๐ฉ๐ ๐๐ช๐๐ฃ ๐๐๐ข๐๐ฃ :๐ซ ๐ง`, wm, null, md, '๐ป๐๐ ๐ณ๐๐๐๐ฉ๐๐-๐ด๐ซ', null, null, [
-['๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ โ๏ธ', '/menu']
-], m)
-}}
-handler.help = ['*593xxx*','*@usuario*','*responder chat*'].map(v => 'demote ' + v)
-handler.tags = ['group']
-handler.command = /^(demote|quitarpoder|quitaradmin)$/i
-handler.group = true
-handler.admin = true
-handler.botAdmin = true
-handler.fail = null
-export default handler
+conn.groupParticipantsUpdate(m.chat, [user], 'demote');
+conn.reply(m.chat, `*[ โ
] ${await tr("รRDENES RECIBIDAS")}*`, m);
+}};
+handler.help = ['*593xxx*', '*@usuario*', '*responder chat*'].map((v) => 'demote ' + v);
+handler.tags = ['group'];
+handler.command = /^(demote|quitarpoder|quitaradmin)$/i;
+handler.group = true;
+handler.admin = true;
+handler.botAdmin = true;
+handler.register = true
+handler.fail = null;
+export default handler;
diff --git a/plugins/grupo-destraba.js b/plugins/grupo-destraba.js
deleted file mode 100644
index 3f80f2da2..000000000
--- a/plugins/grupo-destraba.js
+++ /dev/null
@@ -1,15 +0,0 @@
-let handler = async (m, { conn }) => {
-m.reply(global.destraba)
-m.reply(global.destraba)
-}
-handler.command = /^(destraba|deztraba|clear)$/i
-export default handler
-
-global.destraba = `
-โฐDESTRAV2.0โฐ*
-li.DESTRAVip.to
-2019 ๐ฆ๐จ
-
-แชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแชแช
-โฃโ๏พโ
ฐษฌโDอ ะฏโโ
ฐDอ Dอ โใ
ษฌะฏโโโโฃ
-`
diff --git a/plugins/grupo-fantasmas.js b/plugins/grupo-fantasmas.js
index d932ddd34..4c2c8f7f3 100644
--- a/plugins/grupo-fantasmas.js
+++ b/plugins/grupo-fantasmas.js
@@ -1,58 +1,48 @@
-//import { areJidsSameUser } from '@adiwajshing/baileys'
-let areJidsSameUser = (await import(global.baileys)).default
-let handler = async (m, { conn, text, participants, args, command }) => {
-let member = participants.map(u => u.id)
-if(!text) {
-var sum = member.length
-} else {
-var sum = text}
-var total = 0
-var sider = []
-for(let i = 0; i < sum; i++) {
-let users = m.isGroup ? participants.find(u => u.id == member[i]) : {}
-if((typeof global.db.data.users[member[i]] == 'undefined' || global.db.data.users[member[i]].chat == 0) && !users.isAdmin && !users.isSuperAdmin) {
-if (typeof global.db.data.users[member[i]] !== 'undefined'){
-if(global.db.data.users[member[i]].whitelist == false){
-total++
-sider.push(member[i])}
-}else {
-total++
-sider.push(member[i])}}}
-const delay = time => new Promise(res=>setTimeout(res,time));
-switch (command) {
-case "fantasmas":
-if(total == 0) return conn.reply(m.chat, `${lenguajeGB['smsAvisoAG']()}๐๐๐๐ ๐๐๐๐๐ ๐๐ ๐ผ๐พ๐๐๐๐ ๐๐ ๐๐๐๐๐ ๐๐ผ๐๐๐ผ๐๐๐ผ๐ :D`, m)
-m.reply(`โ ๏ธ ๐๐๐๐๐๐๐๐ ๐ฟ๐ ๐๐๐ผ๐พ๐๐๐๐ โ ๏ธ\n\n๐๐๐๐๐: ${await conn.getName(m.chat)}\n*๐๐๐๐๐ฝ๐๐๐ ๐ฟ๐๐ ๐๐๐๐๐:* ${sum}\n\n*[ ๐ป ๐๐๐๐๐ผ๐ ๐ฟ๐ ๐๐ผ๐๐๐ผ๐๐๐ผ๐ ๐ป ]*\n${sider.map(v => ' ๐๐ป @' + v.replace(/@.+/, '')).join('\n')}\n\n*๐๐๐๐ผ: ๐๐๐๐ ๐๐๐๐ฟ๐ ๐๐ ๐๐๐ โ
100 ๐ผ๐พ๐๐๐๐ผ๐ฟ๐ ๐๐ ๐ฝ๐๐ ๐๐๐๐พ๐๐ผ ๐๐ ๐พ๐๐๐๐๐ ๐ฟ๐ ๐๐๐๐๐ผ๐
๐ ๐ผ๐๐ผ๐๐๐๐ ๐ฟ๐ ๐๐๐ ๐๐ ๐ผ๐พ๐๐๐๐ ๐๐ ๐๐๐๐ ๐๐ฬ๐๐๐๐*`, null, { mentions: sider })
- break
-case "kickfantasmas":
- if(total == 0) return conn.reply(m.chat, `${lenguajeGB['smsAvisoAG']()}๐๐๐๐ ๐๐๐๐๐ ๐๐ ๐ผ๐พ๐๐๐๐ ๐๐ ๐๐๐๐๐ ๐๐ผ๐๐๐ผ๐๐๐ผ๐ :D`, m)
- await m.reply(`โ ๏ธ ๐๐๐๐๐๐๐ผ๐พ๐๐๐ ๐ฟ๐ ๐๐๐ผ๐พ๐๐๐๐๐ โ ๏ธ\n\n๐๐๐๐๐: ${await conn.getName(m.chat)}\n๐๐ผ๐๐๐๐พ๐๐๐ผ๐๐๐: ${sum}\n\n[ ๐ป ๐๐ผ๐๐๐ผ๐๐๐ผ๐ ๐๐๐๐๐๐๐ผ๐ฟ๐ ๐ป ]\n${sider.map(v => '@' + v.replace(/@.+/, '')).join('\n')}\n\n*๐๐ ๐ฝ๐๐ ๐๐๐๐๐๐๐ผ๐๐ผ ๐๐ผ ๐๐๐๐๐ผ ๐๐๐๐พ๐๐๐๐ผ๐ฟ๐ผ, ๐๐๐๐๐๐ผ๐ฟ๐ ๐๐ 20 ๐๐๐๐๐๐ฟ๐, ๐ ๐พ๐ผ๐ฟ๐ผ 10 ๐๐๐๐๐๐ฟ๐๐ ๐๐๐๐๐๐๐ผ๐๐ผ ๐๐ ๐๐ฬ๐๐๐๐*`, null, { mentions: sider })
- await delay(1 * 10000)
- let chat = global.db.data.chats[m.chat]
- chat.welcome = false
- try{
-
- let users = m.mentionedJid.filter(u => !areJidsSameUser(u, conn.user.id))
- let kickedGhost = sider.map(v => v.id).filter(v => v !== conn.user.jid)
- for (let user of users)
- if (user.endsWith('@s.whatsapp.net') && !(participants.find(v => areJidsSameUser(v.id, user)) || { admin: true }).admin)
- {
- let res = await conn.groupParticipantsUpdate(m.chat, [user], 'remove')
- kickedGhost.concat(res)
- await delay(1 * 10000)
- }} finally{
- chat.welcome = true
- }
-break
-}}
-handler.command = /^(fantasmas|kickfantasmas)$/i
-handler.group = handler.botAdmin = handler.admin = true
-handler.fail = null
-export default handler
-const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms))
-
+let areJidsSameUser = (await import(global.baileys)).default;
- //desarrollado por https://github.com/ReyEndymion
- //participa en desactivacion de despedida https://github.com/BrunoSobrino/
+let handler = async (m, { conn, text, participants, args, command }) => {
+let member = participants.map(u => u.id);
+let sum = text ? parseInt(text) : member.length;
+let total = 0;
+let sider = [];
+for (let i = 0; i < sum; i++) {
+let user = member[i];
+let userData = global.db.data.users[user] || {};
+if ((typeof userData.mensaje === 'undefined' || userData.mensaje[m.chat] === 0) && !participants[i].isAdmin && !participants[i].isSuperAdmin) {
+if (userData.whitelist !== true) {
+total++;
+sider.push(user);
+}}}
+const delay = time => new Promise(res => setTimeout(res, time));
+switch (command) {
+case "fantasmas":
+if (total == 0) return conn.reply(m.chat, `โ ๏ธ ${await tr("Este grupo es activo no tiene fantasmas")} :D`, m);
+m.reply(`โ ๏ธ ${await tr("REVISION DE INACTIVO")} โ ๏ธ\n\n${await tr("Grupo")}: ${await conn.getName(m.chat)}\n*${await tr("Miembros del grupo")}:* ${sum}\n*${await tr("Miembros inactivos")}:* ${total}\n\n*[ ๐ป ${await tr("LISTAS DE FANTASMAS")} ๐ป ]*\n${sider.map(v => ' ๐๐ป @' + v.replace(/@.+/, '')).join('\n')}\n\n*${await tr("NOTA: Esto puede no ser %100 acertado el bot inicia el conteo de mensajes apartir de que se activo en este nรบmero")}*`, null, { mentions: sider });
+break;
+case "kickfantasmas":
+if (total == 0) return conn.reply(m.chat, `โ ๏ธ ${await tr("Este grupo es activo no tiene fantasmas")} :D`, m);
+await m.reply(`โ ๏ธ ${await tr("ELIMINACIรN DE INACTIVOS")} โ ๏ธ\n\n${await tr("Grupo")}: ${await conn.getName(m.chat)}\n*${await tr("Miembros del grupo")}:* ${sum}\n*${await tr("Miembros inactivos*")}:* ${total}\n\n[ ๐ป ${await tr("FANTASMAS ELIMINADO")} ๐ป ]\n${sider.map(v => '@' + v.replace(/@.+/, '')).join('\n')}\n\n*${await tr("NOTA: Esto puede no ser %100 acertado el bot inicia el conteo de mensajes apartir de que se activo en este nรบmero")}*`, null, { mentions: sider });
+await delay(1 * 10000);
+let chat = global.db.data.chats[m.chat];
+chat.welcome = false;
+try {
+let users = m.mentionedJid.filter(u => !areJidsSameUser(u, conn.user.id));
+let kickedGhost = sider.map(v => v.id).filter(v => v !== conn.user.jid);
+for (let user of users) {
+if (user.endsWith('@s.whatsapp.net') && !(participants.find(v => areJidsSameUser(v.id, user)) || { admin: true }).admin) {
+let res = await conn.groupParticipantsUpdate(m.chat, [user], 'remove');
+kickedGhost.concat(res);
+await delay(1 * 10000);
+}}} finally {
+chat.welcome = true;
+}
+break;
+}};
+handler.command = /^(fantasmas|kickfantasmas)$/i;
+handler.group = handler.botAdmin = handler.admin = true;
+handler.fail = null;
+handler.register = true;
+export default handler;
+const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
\ No newline at end of file
diff --git a/plugins/grupo-groupInfo.js b/plugins/grupo-groupInfo.js
new file mode 100644
index 000000000..d540583bc
--- /dev/null
+++ b/plugins/grupo-groupInfo.js
@@ -0,0 +1,67 @@
+let handler = async (m, { conn, participants, groupMetadata }) => {
+const pp = await conn.profilePictureUrl(m.chat, 'image').catch(_ => null) || imagen
+const { isBanned, welcome, detect, sWelcome, sBye, sPromote, sDemote, antiLink, antifake, antiTiktok, antiYoutube, antiTelegram, modoadmin, antiFacebook, antiInstagram, antiTwitter, antiDiscord, antiTwitch, antiThreads, delete: del } = global.db.data.chats[m.chat]
+const groupAdmins = participants.filter(p => p.admin)
+const listAdmin = groupAdmins.map((v, i) => `${i + 1}. @${v.id.split('@')[0]}`).join('\n')
+const owner = groupMetadata.owner || groupAdmins.find(p => p.admin === 'superadmin')?.id || m.chat.split`-`[0] + '@s.whatsapp.net'
+let socialMediaConfig = ''
+const socialMedia = [{ name: 'Tiktok', value: antiTiktok },
+{ name: 'Youtube', value: antiYoutube },
+{ name: 'Telegram', value: antiTelegram },
+{ name: 'Fb', value: antiFacebook },
+{ name: 'Ig', value: antiInstagram },
+{ name: 'Twitter (x)', value: antiTwitter },
+{ name: 'Discord', value: antiDiscord },
+{ name: 'Twitch', value: antiTwitch },
+{ name: 'Threads', value: antiThreads }
+]
+
+const activeSocialMedia = socialMedia.filter(sm => sm.value)
+if (activeSocialMedia.length > 0) {
+socialMediaConfig = activeSocialMedia.map(sm => `โข Anti ${sm.name}: โ
`).join('\n')
+}
+
+let primaryBotMention = '';
+let chat = global.db.data.chats[m.chat];
+if (chat.primaryBot) {
+const allBots = [conn, ...global.conns.filter((conn) => conn.user && conn.ws.socket && conn.ws.socket.readyState !== ws.CLOSED)];
+const selectedBot = allBots.find(bot => bot.user.jid === chat.primaryBot);
+if (selectedBot) {
+primaryBotMention = `@${chat.primaryBot.split('@')[0]}`;
+} else {
+primaryBotMention = `@${chat.primaryBot.split('@')[0]}`;
+}}
+
+let text = `ใ ${await tr("INFO DEL GRUPO")} ใ
+
+*โข ID :*
+${groupMetadata.id}
+
+*โข ${await tr("Nombre")} :*
+${groupMetadata.subject}
+
+*โข ${await tr("Miembros")} :*
+${participants.length}
+
+*โข ${await tr("Creador del grupo")} :*
+@${owner.split('@')[0]}
+
+*โข ${await tr("Admins")} :*
+${listAdmin}
+
+*โข ${await tr("Configuracion del grupo")} :*
+โข Bot : ${modoadmin ? 'Apagado ๐ด' : `${primaryBotMention ? `Online (${primaryBotMention})` : 'Online'} โ
`}
+โข ${await tr("Bienvenida")}: ${welcome ? 'โ
' : 'โ'}
+โข ${await tr("Anti enlace")}: ${antiLink ? 'โ
' : 'โ'}
+โข ${await tr("Anti internacional / arabe")}: ${antifake ? 'โ
' : 'โ'}
+โข ${await tr("Detect Eventos")}: ${detect ? 'โ
' : 'โ'}
+โข ${await tr("Anti eliminar")}: ${del ? 'โ
' : 'โ'} ${socialMediaConfig ? '\n' + socialMediaConfig : ''}`.trim()
+conn.sendFile(m.chat, pp, 'pp.jpg', text, m, false, { mentions: [...groupAdmins.map(v => v.id), owner] })
+}
+handler.help = ['infogp']
+handler.tags = ['group']
+handler.command = ['infogrupo', 'groupinfo', 'infogp']
+handler.group = true
+handler.register = true
+
+export default handler
\ No newline at end of file
diff --git a/plugins/grupo-hidetag.js b/plugins/grupo-hidetag.js
index 66aae4d99..605e24150 100644
--- a/plugins/grupo-hidetag.js
+++ b/plugins/grupo-hidetag.js
@@ -1,20 +1,18 @@
-//import { generateWAMessageFromContent } from '@adiwajshing/baileys'
let generateWAMessageFromContent = (await import(global.baileys)).default
import * as fs from 'fs'
-let handler = async (m, { conn, text, participants, isOwner, isAdmin }) => {
-try {
+
+var handler = async (m, { conn, text, participants, isOwner, isAdmin }) => {
+if (!m.quoted && !text) return m.reply(await tr(`Y el texto?`))
+try {
let users = participants.map(u => conn.decodeJid(u.id))
let q = m.quoted ? m.quoted : m || m.text || m.sender
let c = m.quoted ? await m.getQuotedObj() : m.msg || m.text || m.sender
-let msg = conn.cMod(m.chat, generateWAMessageFromContent(m.chat, { [m.quoted ? q.mtype : 'extendedTextMessage']: m.quoted ? c.message[q.mtype] : { text: '' || c }}, { quoted: m, userJid: conn.user.id }), text || q.text, conn.user.jid, { mentions: users })
+let msg = conn.cMod(m.chat, generateWAMessageFromContent(m.chat, { [m.quoted ? q.mtype : 'extendedTextMessage']: m.quoted ? c.message[q.mtype] : { text: '' || c }}, { quoted: fkontak, userJid: conn.user.id }), text || q.text, conn.user.jid, { mentions: users })
await conn.relayMessage(m.chat, msg.message, { messageId: msg.key.id })
-
} catch {
-
/**
[ By @NeKosmic || https://github.com/NeKosmic/ ]
**/
-
let users = participants.map(u => conn.decodeJid(u.id))
let quoted = m.quoted ? m.quoted : m
let mime = (quoted.msg || quoted).mimetype || ''
@@ -24,20 +22,24 @@ let masss = more.repeat(850)
let htextos = `${text ? text : "*Hola!!*"}`
if ((isMedia && quoted.mtype === 'imageMessage') && htextos) {
var mediax = await quoted.download?.()
-conn.sendMessage(m.chat, { image: mediax, mentions: users, caption: htextos, mentions: users }, { quoted: m })
+conn.sendMessage(m.chat, { image: mediax, mentions: users, caption: htextos, mentions: users }, { quoted: null })
} else if ((isMedia && quoted.mtype === 'videoMessage') && htextos) {
var mediax = await quoted.download?.()
-conn.sendMessage(m.chat, { video: mediax, mentions: users, mimetype: 'video/mp4', caption: htextos }, { quoted: m })
+conn.sendMessage(m.chat, { video: mediax, mentions: users, mimetype: 'video/mp4', caption: htextos }, { quoted: null })
} else if ((isMedia && quoted.mtype === 'audioMessage') && htextos) {
var mediax = await quoted.download?.()
-conn.sendMessage(m.chat, { audio: mediax, mentions: users, mimetype: 'audio/mp4', fileName: `Hidetag.mp3` }, { quoted: m })
+conn.sendMessage(m.chat, { audio: mediax, mentions: users, mimetype: 'audio/mp4', fileName: `Hidetag.mp3` }, { quoted: null })
} else if ((isMedia && quoted.mtype === 'stickerMessage') && htextos) {
var mediax = await quoted.download?.()
-conn.sendMessage(m.chat, {sticker: mediax, mentions: users}, { quoted: m })
+conn.sendMessage(m.chat, {sticker: mediax, mentions: users}, { quoted: null })
} else {
-await conn.relayMessage(m.chat, {extendedTextMessage:{text: `${masss}\n${htextos}\n`, ...{ contextInfo: { mentionedJid: users, externalAdReply: { thumbnail: img14, sourceUrl: md }}}}}, {})
+await conn.sendMessage(m.chat, { text : text ? text : '' , mentions: users}, { quoted: null, ephemeralExpiration: 24*60*100, disappearingMessagesInChat: 24*60*100})
+//await conn.relayMessage(m.chat, {extendedTextMessage:{text: `${masss}\n${htextos}\n`, ...{ contextInfo: { mentionedJid: users, externalAdReply: { thumbnail: imagen1, sourceUrl: md }}}}}, {})
}}}
+handler.help = ['hidetag']
+handler.tags = ['group']
handler.command = /^(hidetag|notificar|notify)$/i
handler.group = true
handler.admin = true
+handler.register = true
export default handler
diff --git a/plugins/grupo-info.js b/plugins/grupo-info.js
deleted file mode 100644
index b4d887a3c..000000000
--- a/plugins/grupo-info.js
+++ /dev/null
@@ -1,57 +0,0 @@
-let handler = async (m, { conn, participants, groupMetadata }) => {
-const pp = await conn.profilePictureUrl(m.chat, 'image').catch(_ => null) || './src/avatar_contact.png'
-const { antiToxic, antiTraba, antiviewonce, isBanned, welcome, detect, sWelcome, sBye, sPromote, sDemote, antiLink, antiLink2, temporal, reaction, antiTelegram, antiFacebook, antiTiktok, antiYoutube, modohorny, antiTwitter, antiInstagram, stickers, autolevelup, autosticker, antitoxic, antifake, modoadmin, audios, delete: del } = global.db.data.chats[m.chat]
-const groupAdmins = participants.filter(p => p.admin)
-const listAdmin = groupAdmins.map((v, i) => `${i + 1}. @${v.id.split('@')[0]}`).join('\n')
-const owner = groupMetadata.owner || groupAdmins.find(p => p.admin === 'superadmin')?.id || m.chat.split`-`[0] + '@s.whatsapp.net'
-let text = `*ใ ๐๐๐๐ ๐ฟ๐๐ ๐๐๐๐๐ ใ*\n
-*๐๐ฟ๐๐๐๐๐๐๐พ๐ผ๐พ๐๐๐ ๐ฟ๐๐ ๐๐๐๐๐:*
-${groupMetadata.id}
-
-*๐๐๐๐ฝ๐๐:*
-${groupMetadata.subject}
-
-*๐ฟ๐๐๐พ๐๐๐๐พ๐๐๐:*
-${groupMetadata.desc?.toString() || 'Sin descripciรณn'}
-
-*๐๐๐๐ผ๐ ๐ฟ๐ ๐๐ผ๐๐๐๐พ๐๐๐ผ๐๐๐๐:*
-${participants.length} Participantes
-
-*๐พ๐๐๐ผ๐ฟ๐๐ ๐ฟ๐๐ ๐๐๐๐๐:*
-@${owner.split('@')[0]}
-
-*๐ผ๐ฟ๐๐๐๐:*
-${listAdmin}
-
-*๐๐๐พ๐๐๐๐๐ ๐ผ๐๐๐๐๐ผ๐๐๐พ๐ผ:*
-ใป ๐๐๐ก๐๐ค๐ข๐: ${welcome ? 'โ
' : 'โ'}
-ใป ๐ผ๐ฃ๐ฉ๐๐ก๐๐ฃ๐ : ${antiLink ? 'โ
' : 'โ'}
-ใป ๐ผ๐ฃ๐ฉ๐๐ก๐๐ฃ๐ *2:* ${antiLink2 ? 'โ
' : 'โ'}
-ใป ๐ผ๐ฃ๐ฉ๐๐ฉ๐ง๐๐๐: ${antiTraba ? 'โ
' : 'โ'}
-ใป ๐๐ช๐ฉ๐ค๐จ๐ฉ๐๐๐ ๐๐ง: ${autosticker ? 'โ
' : 'โ'}
-ใป ๐๐๐ฉ๐๐๐ฉ: ${detect ? 'โ
' : 'โ'}
-ใป ๐๐ช๐ฉ๐ค๐ก๐๐ซ๐๐ก๐ช๐ฅ: ${global.db.data.users[m.sender].autolevelup ? 'โ
' : 'โ'}
-ใป ๐๐ช๐ฃ๐๐๐ค๐ฃ ๐๐ฃ๐๐๐๐ง ๐ฎ ๐จ๐๐๐๐ง: ${global.db.data.settings[conn.user.jid].restrict ? 'โ
' : 'โ'}
-ใป ๐จ๐ฉ๐๐๐ ๐๐ง๐จ: ${stickers ? 'โ
' : 'โ'}
-ใป ๐ง๐๐๐๐๐๐ค๐ฃ: ${reaction ? 'โ
' : 'โ'}
-ใป ๐๐ช๐๐๐ค: ${audios ? 'โ
' : 'โ'}
-ใป ๐ข๐ค๐๐ค ๐๐ค๐ง๐ฃ๐ฎ (+18): ${modohorny ? 'โ
' : 'โ'}
-ใป ๐๐ฃ๐ฉ๐๐ฉ๐ค๐ญ๐๐: ${antitoxic ? 'โ
' : 'โ'}
-ใป ๐๐ฃ๐ฉ๐๐๐๐ ๐: ${antifake ? 'โ
' : 'โ'}
-ใป ๐๐ฃ๐ฉ๐๐ซ๐๐๐ฌ๐ค๐ฃ๐๐: ${antiviewonce ? 'โ
' : 'โ'}
-ใป ๐๐ฃ๐ฉ๐๐๐๐ก๐๐ฉ๐: ${global.db.data.chats[m.chat].delete ? 'โ
' : 'โ'}
-ใป ๐๐ฃ๐ฉ๐๐ฉ๐๐ ๐ฉ๐ค๐ : ${antiTiktok ? 'โ
' : 'โ'}
-ใป ๐๐ฃ๐ฉ๐๐ฎ๐ค๐ช๐ฉ๐ช๐๐: ${antiYoutube ? 'โ
' : 'โ'}
-ใป ๐๐ฃ๐ฉ๐๐๐๐ก๐๐๐ง๐๐ข: ${antiTelegram ? 'โ
' : 'โ'}
-ใป ๐๐ฃ๐ฉ๐๐๐๐๐๐๐ค๐ค๐ : ${antiFacebook ? 'โ
' : 'โ'}
-ใป ๐๐ฃ๐ฉ๐๐๐ฃ๐จ๐ฉ๐๐๐ง๐๐ข: ${antiInstagram ? 'โ
' : 'โ'}
-ใป ๐๐ฃ๐ฉ๐๐ฉ๐ฌ๐๐ฉ๐ฉ๐๐ง: ${antiTwitter ? 'โ
' : 'โ'}
-ใป ๐ข๐ค๐๐ค๐๐๐ข๐๐ฃ: ${modoadmin ? 'โ
' : 'โ'}
-`.trim()
-conn.sendFile(m.chat, pp, 'error.jpg', text, m, false, { mentions: [...groupAdmins.map(v => v.id), owner] })
-}
-handler.help = ['infogrup']
-handler.tags = ['group']
-handler.command = /^(infogrupo|gro?upinfo|info(gro?up|gc))$/i
-handler.group = true
-export default handler
diff --git a/plugins/grupo-kick.js b/plugins/grupo-kick.js
index c1ba7708d..63ac13222 100644
--- a/plugins/grupo-kick.js
+++ b/plugins/grupo-kick.js
@@ -1,52 +1,14 @@
-let handler = async (m, { conn, participants, command, usedPrefix }) => {
-try{
-let texto = `${lenguajeGB['smskick1']()}${usedPrefix + command} @${global.owner[0][0]}*`
-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 (!global.db.data.settings[conn.user.jid].restrict) return conn.sendButton(m.chat, wm, `${lenguajeGB['smsAvisoAG']()}${lenguajeGB['smsSoloOwner']()}`, null, [[lenguajeGB.smsEncender(), `${usedPrefix}on restringir`]], fkontak, m)
-if (!m.mentionedJid[0] && !m.quoted) return m.reply(texto, m.chat, { mentions: conn.parseMention(texto)})
-let user = m.mentionedJid[0] ? m.mentionedJid[0] : m.quoted.sender
-let owr = m.chat.split`-`[0]
-let eliminar = await conn.groupParticipantsUpdate(m.chat, [user], 'remove')
-if (m.message.extendedTextMessage === undefined || m.message.extendedTextMessage === null) return conn.reply(m.chat, texto, fkontak, m)
-if(m.message.extendedTextMessage.contextInfo.participant !== null && m.message.extendedTextMessage.contextInfo.participant != undefined && m.message.extendedTextMessage.contextInfo.participant !== "") {
-
-var mentioned = m.message.extendedTextMessage.contextInfo.mentionedJid[0] ? m.message.extendedTextMessage.contextInfo.mentionedJid[0] : m.message.extendedTextMessage.contextInfo.participant
-if(conn.user.jid.includes(mentioned)) return conn.reply(m.chat, `${lenguajeGB['smskick1']()}${usedPrefix + command} @${global.owner[0][0]}*`, fkontak, m)
-//let eliminar = await conn.groupParticipantsUpdate(m.chat, [mentioned], 'remove')
-let done = `${lenguajeGB['smsAvisoEG']()}*@${mentioned.split("@")[0]} ${lenguajeGB['smskick2']()}*`
-let err1 = `${lenguajeGB['smsAvisoFG']()}*@${mentioned.split("@")[0]} ${lenguajeGB['smskick3']()}*`
-let err2 = `${lenguajeGB['smsAvisoAG']()}*@${mentioned.split("@")[0]} ${lenguajeGB['smskick4']()}*`
-
-
-if (eliminar[0].status === "200") m.reply(done, m.chat, { mentions: conn.parseMention(done)})
-else if (eliminar[0].status === "406") m.reply(err1, m.chat, { mentions: conn.parseMention(err1)})
-else if (eliminar[0].status === "404") m.reply(err2, m.chat, { mentions: conn.parseMention(err2)})
-else conn.sendButton(m.chat, `\n${wm}`, lenguajeGB['smsMalError3']() + '#report ' + usedPrefix + command, null, [[lenguajeGB.smsMensError1(), `#reporte ${lenguajeGB['smsMensError2']()} *${usedPrefix + command}*`]], m)
-} else if (m.message.extendedTextMessage.contextInfo.mentionedJid != null && m.message.extendedTextMessage.contextInfo.mentionedJid != undefined) return
-} catch (e) {
-await m.reply(m.chat, `\n${wm}`, lenguajeGB['smsMalError3']() + '#report ' + usedPrefix + command, m)
-//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.help = ['kick']
-handler.tags = ['group']
-handler.command = /^(kick|echar|hechar|sacar|ban)$/i
-handler.admin = handler.group = handler.botAdmin = true
-export default handler
-
-/*let handler = async (m, { conn, participants, usedPrefix, command }) => {
-if (!global.db.data.settings[conn.user.jid].restrict) throw `${lenguajeGB['smsAvisoAG']()}๐๐๐๐ผ ๐๐๐๐๐๐๐๐๐๐ฟ๐ ๐๐ ๐พ๐๐๐ผ๐๐ฟ๐\n#on restrict | #off restrict\n๐๐/๐๐ผ ๐๐๐๐๐๐๐๐ผ๐๐๐(๐ผ) ๐ฟ๐๐ฝ๐ ๐ผ๐พ๐๐๐๐ผ๐ ๐๐ ๐พ๐๐๐ผ๐๐ฟ๐\n\n ๐๐๐๐๐ ๐๐๐๐ ๐ผ๐พ๐๐๐๐ผ๐๐ ๐๐๐ ๐พ๐๐๐๐ผ๐๐ฟ\n#on restrict | #off restrict`
-let kicktext = `*ETIQUTE A LA PERSONA O RESPONDA AL MENSAJE DE LA PERSONA QUE QUIERE QUE ELIMINE*\n\n*EJEMPLO: ${usedPrefix + command} @${global.owner[0][0]}*`
-if (!m.mentionedJid[0] && !m.quoted) return m.reply(kicktext, m.chat, { mentions: conn.parseMention(kicktext)})
+let handler = async (m, { conn, participants, usedPrefix, command, isROwner }) => {
+let kickte = await tr(`A quien eliminรณ? etiquetas a una persona con `) + `@tag pendejo `
+if (!m.mentionedJid[0] && !m.quoted) return m.reply(kickte, m.chat, { mentions: conn.parseMention(kickte)})
let user = m.mentionedJid[0] ? m.mentionedJid[0] : m.quoted.sender
let owr = m.chat.split`-`[0]
await conn.groupParticipantsUpdate(m.chat, [user], 'remove')}
-handler.command = /^(kick|echar|hechar|sacar|ban)$/i
+handler.help = ['kick *@user*']
+handler.tags = ['group']
+handler.command = ['kick', 'expulsar']
handler.admin = true
handler.group = true
handler.botAdmin = true
-export default handler*/
-
-
+handler.register = true
+export default handler
\ No newline at end of file
diff --git a/plugins/grupo-kicknum-kicknun.js b/plugins/grupo-kicknum-kicknun.js
index f5b5292fa..fdbea66e2 100644
--- a/plugins/grupo-kicknum-kicknun.js
+++ b/plugins/grupo-kicknum-kicknun.js
@@ -1,37 +1,38 @@
-/* Codigo Creado Por Bruno Sobrino
- (https://github.com/BrunoSobrino/TheMystic-Bot-MD)
+/* Codigo Creado Por Bruno Sobrino
+ (https://github.com/BrunoSobrino/TheMystic-Bot-MD)
*/
+const handler = async (m, {conn, args, groupMetadata, participants, usedPrefix, command, isBotAdmin, isSuperAdmin}) => {
+if (!args[0]) return m.reply(`*โ ๏ธ ${await tr("Ingrese el prefijo de algum pais para buscar numeros en este grupo de ese pais, ejemplo")}: ${usedPrefix + command} 52*`);
+if (isNaN(args[0])) return m.reply(`*โ ๏ธ ${await tr("Ingrese el prefijo de algum pais para buscar numeros en este grupo de ese pais, ejemplo")}: ${usedPrefix + command} 52*`);
+const lol = args[0].replace(/[+]/g, '');
+const ps = participants.map((u) => u.id).filter((v) => v !== conn.user.jid && v.startsWith(lol || lol));
+const bot = global.db.data.settings[conn.user.jid] || {};
+if (ps == '') return m.reply(`*โ ๏ธ ${await tr("En este grupo no hay ningun numero con el prefijo")}:* [+${lol}]`);
+const numeros = ps.map((v)=> 'โญ @' + v.replace(/@.+/, ''));
+const delay = (time) => new Promise((res)=>setTimeout(res, time));
-let handler = async (m, { conn, args, groupMetadata, participants, usedPrefix, command, isBotAdmin, isSuperAdmin }) => {
-if (!args[0]) return m.reply(`${lenguajeGB['smsAvisoMG']()}๐๐๐๐๐๐๐ ๐๐ ๐๐๐๐๐๐
๐ ๐ฟ๐ ๐๐ ๐๐ผ๐๐ ๐๐ผ๐๐ผ ๐ฝ๐๐๐พ๐ผ๐ ๐๐๐๐๐๐๐ ๐๐ ๐๐ ๐๐๐๐๐ ๐ฟ๐ ๐๐๐ ๐๐ผ๐๐, ๐๐
๐๐๐๐๐: ${usedPrefix + command} 593*`)
-if (isNaN(args[0])) return m.reply(`${lenguajeGB['smsAvisoMG']()}๐๐๐๐๐๐๐ ๐๐ ๐๐๐๐๐๐
๐ ๐ฟ๐ ๐๐ ๐๐ผ๐๐ ๐๐ผ๐๐ผ ๐ฝ๐๐๐พ๐ผ๐ ๐๐๐๐๐๐๐ ๐๐ ๐๐ ๐๐๐๐๐ ๐ฟ๐ ๐๐๐ ๐๐ผ๐๐, ๐๐
๐๐๐๐๐: ${usedPrefix + command} 593*`)
-let lol = args[0].replace(/[+]/g, '')
-let ps = participants.map(u => u.id).filter(v => v !== conn.user.jid && v.startsWith(lol || lol))
-let bot = global.db.data.settings[conn.user.jid] || {}
-if (ps == '') return m.reply(`${lenguajeGB['smsAvisoAG']()}๐๐ ๐๐๐๐ ๐๐๐๐๐ ๐๐ ๐๐ผ๐ ๐๐๐๐๐๐ ๐๐ฬ๐๐๐๐ ๐พ๐๐ ๐๐ ๐ผ๐๐๐ผ/๐๐๐๐๐๐
๐ +${lol}*`)
-let numeros = ps.map(v=> 'โฅ @' + v.replace(/@.+/, ''))
-const delay = time => new Promise(res=>setTimeout(res,time));
switch (command) {
-case "listanum":
-conn.reply(m.chat, `โ ๏ธ ๐๐๐๐๐ผ ๐ฟ๐ ๐๐๐๐๐๐๐ ๐พ๐๐ ๐๐ ๐๐๐๐๐๐
๐ +${lol} ๐๐๐ ๐๐๐๐ผ๐ ๐๐ ๐๐ ๐๐๐๐๐ โ ๏ธ\n\n` + numeros.join`\n`, m, { mentions: ps })
-break
-case "kicknum":
-if (!bot.restrict) return m.reply(`${lenguajeGB['smsAvisoAG']()} ${lenguajeGB['smsSoloOwner']()}`)
-if (!isBotAdmin) return m.reply(`${lenguajeGB['smsAvisoAG']()} ${lenguajeGB['smsAllAdmin']()}`)
-conn.reply(m.chat, `${lenguajeGB['smsAvisoIIG']()}๐๐๐๐พ๐๐ผ๐๐ฟ๐ ๐๐๐๐๐๐๐ผ๐พ๐๐ฬ๐ ๐ฟ๐ ๐๐ฬ๐๐๐๐ ๐พ๐๐ ๐๐ ๐๐๐๐๐๐
๐ +${lol}, ๐พ๐ผ๐ฟ๐ผ 10 ๐๐๐๐๐๐ฟ๐๐ ๐๐ ๐๐๐๐๐๐๐ผ๐๐ผ ๐ผ ๐๐ ๐๐๐๐ผ๐๐๐`, m)
-let ownerGroup = m.chat.split`-`[0] + '@s.whatsapp.net'
-let users = participants.map(u => u.id).filter(v => v !== conn.user.jid && v.startsWith(lol || lol))
-for (let user of users) {
-let error = `@${user.split("@")[0]} ๐๐ผ ๐๐ผ ๐๐๐ฟ๐ ๐๐๐๐๐๐๐ผ๐ฟ๐ ๐ ๐๐ผ ๐ผ๐ฝ๐ผ๐๐ฟ๐๐๐ผ๐ฟ๐ ๐๐ ๐๐๐๐๐ :v`
-if (user !== ownerGroup + '@s.whatsapp.net' && user !== global.conn.user.jid && user !== global.owner + '@s.whatsapp.net' && user.startsWith(lol || lol) && user !== isSuperAdmin && isBotAdmin && bot.restrict) {
-await delay(2000)
-let responseb = await conn.groupParticipantsUpdate(m.chat, [user], 'remove')
-if (responseb[0].status === "404") m.reply(error, m.chat, { mentions: conn.parseMention(error)})
-await delay(10000)
-} else return m.reply(`${lenguajeGB['smsAvisoFG']()}`)}
-break
-}}
-handler.command = /^(listanum|kicknum)$/i
-handler.group = handler.botAdmin = handler.admin = true
-handler.fail = null
-export default handler
+case 'listanum': case 'listnum':
+conn.reply(m.chat, `*${await tr("Lista de numero con el prefijo")} +${lol} ${await tr("Que estan en este grupo")}:*\n\n` + numeros.join`\n`, m, {mentions: ps});
+break;
+case 'kicknum':
+if (!bot.restrict) return m.reply(`*โ ๏ธ ${await tr("El propietario del bot tiene desactivo el restrict, contacte con el para que lo habilite")}:* #on restrict`);
+if (!isBotAdmin) return m.reply(`*โ ๏ธ ${await tr("Pinche pendejo, el bot no es admins, hazme admins para poder usar este comando inรบtil")}*`);
+conn.reply(m.chat, `*โ ๏ธ ${await tr("Iniciando eliminacion de numeros con el prefijo")}: +${lol}, ${await tr("cada 10 segundos se eliminara a un usuario")}*`, m);
+const ownerGroup = m.chat.split`-`[0] + '@s.whatsapp.net';
+const users = participants.map((u) => u.id).filter((v) => v !== conn.user.jid && v.startsWith(lol || lol));
+for (const user of users) {
+const error = `@${user.split('@')[0]} ${await tr("Ya ha sido eliminado o ha abandonado el grupo")}*`;
+if (user !== ownerGroup + '@s.whatsapp.net' && user !== global.conn.user.jid && user !== global.owner + '@s.whatsapp.net' && user.startsWith(lol || lol) && user !== isSuperAdmin && isBotAdmin && bot.restrict) {
+await delay(2000);
+const responseb = await conn.groupParticipantsUpdate(m.chat, [user], 'remove');
+if (responseb[0].status === '404') m.reply(error, m.chat, {mentions: conn.parseMention(error)});
+await delay(10000);
+} else return m.reply('*[โ] ๐ด๐๐๐พ๐*')
+}
+break;
+}};
+handler.command = /^(listanum|kicknum|listnum)$/i;
+handler.group = handler.botAdmin = handler.admin = true;
+handler.fail = null;
+export default handler;
diff --git a/plugins/grupo-link.js b/plugins/grupo-link.js
index 0b3e47fc7..c593f42ed 100644
--- a/plugins/grupo-link.js
+++ b/plugins/grupo-link.js
@@ -1,10 +1,12 @@
-let handler = async (m, { conn, args }) => {
-let group = m.chat
-let link = 'https://chat.whatsapp.com/' + await conn.groupInviteCode(group)
-conn.reply(m.chat, link, m, {detectLink: true})
-//conn.sendMessage(m.chat, { text: link }, { quoted: m, detectLink: true })
-}
-handler.command = /^link(gro?up)?$/i
-handler.group = true
-handler.botAdmin = true
-export default handler
+import fs from 'fs';
+const handler = async (m, {conn, args}) => {
+const group = m.chat;
+m.reply('https://chat.whatsapp.com/' + await conn.groupInviteCode(group))
+};
+handler.help = ['linkgroup'];
+handler.tags = ['group'];
+handler.command = /^link(gro?up)?$/i;
+handler.group = true;
+handler.botAdmin = true;
+handler.register = true
+export default handler;
diff --git a/plugins/grupo-listwarn.js b/plugins/grupo-listwarn.js
index fedebd829..7ab391ac0 100644
--- a/plugins/grupo-listwarn.js
+++ b/plugins/grupo-listwarn.js
@@ -1,16 +1,20 @@
-let handler = async (m, { conn, isOwner }) => {
-let adv = Object.entries(global.db.data.users).filter(user => user[1].warn)
-let warns = global.db.data.users.warn
-let user = global.db.data.users
-let imagewarn = './src/warn.jpg'
-let caption = `โ ๏ธ ๐๐๐๐ฐ๐๐ธ๐พ๐ ๐ฐ๐ณ๐
๐ด๐๐๐ธ๐ณ๐พ๐\n
+const handler = async (m, {conn, isOwner}) => {
+const adv = Object.entries(global.db.data.users).filter((user) => user[1].warn);
+const warns = global.db.data.users.warn;
+const user = global.db.data.users;
+const imagewarn = './src/warn.jpg';
+const caption = `โ ๏ธ ${await tr("Usuario advertidos")}\n
*โโโโโโโโโโโโโโโโโโโโยทโข*
-โ *Total : ${adv.length} Usuarios* ${adv ? '\n' + adv.map(([jid, user], i) => `
+โ *${await tr("Total")} : ${adv.length} ${await tr("Usuarios")}* ${adv ? '\n' + adv.map(([jid, user], i) => `
โ
โ 1.- ${isOwner ? '@' + jid.split`@`[0] : jid} *(${user.warn}/3)*\nโ\nโ - - - - - - - - -`.trim()).join('\n') : ''}
-*โโโโโโโโโโโโโโโโโโโโยทโข*`
-await conn.sendButton(m.chat, caption, wm, imagewarn, [['๐ ๐ ๐ ๐ ๐ ', '#menu']], m, {mentions: await conn.parseMention(caption)})}
-handler.command = /^(listwarn)$/i
-handler.group = true
-handler.admin = true
-export default handler
+*โโโโโโโโโโโโโโโโโโโยทโข*`;
+ await conn.sendMessage(m.chat, {text: caption}, {quoted: m}, {mentions: await conn.parseMention(caption)});
+};
+handler.help = ['listwarn']
+handler.tags = ['group']
+handler.command = /^(listwarn)$/i;
+handler.group = true;
+handler.admin = true;
+handler.register = true
+export default handler;
diff --git a/plugins/grupo-pin.js b/plugins/grupo-pin.js
new file mode 100644
index 000000000..83d0acae5
--- /dev/null
+++ b/plugins/grupo-pin.js
@@ -0,0 +1,41 @@
+let handler = async (m, { conn, command }) => {
+if (!m.quoted) return m.reply(`โ ๏ธ ${await tr("Responde a un mensaje para")} ${command === 'pin' ? await tr('fijarlo') : await tr('desfijarlo')}.`);
+try {
+let messageKey = {remoteJid: m.chat,
+fromMe: m.quoted.fromMe,
+id: m.quoted.id,
+participant: m.quoted.sender
+};
+
+if (command === 'pin') {
+await conn.sendMessage(m.chat, { pin: messageKey,type: 1, time: 604800 })
+//conn.sendMessage(m.chat, {pin: {type: 1, time: 604800, key: messageKey }});
+m.react("โ
๏ธ")
+}
+
+if (command === 'unpin') {
+await conn.sendMessage(m.chat, { pin: messageKey,type: 2, time: 86400 })
+//conn.sendMessage(m.chat, { pin: { type: 0, key: messageKey }});
+m.react("โ
๏ธ")
+}
+
+if (command === 'destacar') {
+conn.sendMessage(m.chat, {keep: messageKey, type: 1, time: 15552000 })
+m.react("โ
๏ธ")
+}
+
+if (command === 'desmarcar') {
+conn.sendMessage(m.chat, {keep: messageKey, type: 2, time: 86400 })
+m.react("โ
๏ธ")
+}
+} catch (error) {
+console.error(error);
+}};
+handler.help = ['pin']
+handler.tags = ['group']
+handler.command = ['pin', 'unpin', 'destacar', 'desmarcar']
+handler.admin = true
+handler.group = true
+handler.botAdmin = true
+handler.register = true
+export default handler
diff --git a/plugins/grupo-promote.js b/plugins/grupo-promote.js
index c80a0b0c6..1c8b8c04e 100644
--- a/plugins/grupo-promote.js
+++ b/plugins/grupo-promote.js
@@ -1,32 +1,31 @@
-let handler = async (m, { conn,usedPrefix, command, 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(isNaN(text) && !text.match(/@/g)){
-
-}else if(isNaN(text)) {
-var number = text.split`@`[1]
-}else if(!isNaN(text)) {
-var number = text
+const handler = async (m, {conn, usedPrefix, text}) => {
+if (isNaN(text) && !text.match(/@/g)) {
+} else if (isNaN(text)) {
+var number = text.split`@`[1];
+} else if (!isNaN(text)) {
+var number = text;
}
-if(!text && !m.quoted) return conn.reply(m.chat, lenguajeGB.smsMalused3(), + `*${usedPrefix + command} @${global.owner[0][0]}*`, fkontak, m)
-//conn.sendButton(m.chat, wm, lenguajeGB['smsMalused3']() + `*${usedPrefix + command} @${global.owner[0][0]}*`, null, [[lenguajeGB.smsConMenu(), `${usedPrefix}menu`]], fkontak, m)
-if(number.length > 13 || (number.length < 11 && number.length > 0)) return conn.reply(m.chat, lenguajeGB.smsDemott(), `*${usedPrefix + command} @${global.owner[0][0]}*`, fkontak, m)
-//conn.sendButton(m.chat, wm, lenguajeGB['smsDemott']() + `*${usedPrefix + command} @${global.owner[0][0]}*`, null, [[lenguajeGB.smsConMenu(), `${usedPrefix}menu`]], fkontak, m)
-
+if (!text && !m.quoted) return conn.reply(m.chat, `*โ ๏ธ ${await tr("ยฟA quien le doy admins?, Etiqueta a una persona no soy adivino")} :)`, m);
+if (number.length > 13 || (number.length < 11 && number.length > 0)) return conn.reply(m.chat, `*โ ๏ธ ${await tr("Estas drogado ese nรบmero ingresado es incorrecto")} ๐ค*, ${await tr("ingresar un nรบmero correcto o mejor etiquetas al usuario")} @tag`, m);
try {
-if(text) {
-var user = number + '@s.whatsapp.net'
-} else if(m.quoted.sender) {
-var user = m.quoted.sender
-} else if(m.mentionedJid) {
-var user = number + '@s.whatsapp.net'
-} } catch (e) {
+if (text) {
+var user = number + '@s.whatsapp.net';
+} else if (m.quoted.sender) {
+var user = m.quoted.sender;
+} else if (m.mentionedJid) {
+var user = number + '@s.whatsapp.net';
+}} catch (e) {
} finally {
-conn.groupParticipantsUpdate(m.chat, [user], 'promote')
-conn.reply(m.chat, lenguajeGB['smsAvisoEG']() + lenguajeGB['smsDemott2'](), fkontak, m)
-}}
-handler.command = /^(promote|daradmin|darpoder)$/i
-handler.group = true
-handler.admin = true
-handler.botAdmin = true
-export default handler
+conn.groupParticipantsUpdate(m.chat, [user], 'promote');
+conn.reply(m.chat, `*[ โ
] ${await tr("รRDENES RECIBIDAS")}*`, m);
+}};
+handler.help = ['*593xxx*', '*@usuario*', '*responder chat*'].map((v) => 'promote ' + v);
+handler.tags = ['group'];
+handler.command = /^(promote|daradmin|darpoder)$/i;
+handler.group = true;
+handler.admin = true;
+handler.botAdmin = true;
+handler.fail = null;
+handler.register = true
+export default handler;
diff --git a/plugins/grupo-resetLink.js b/plugins/grupo-resetLink.js
new file mode 100644
index 000000000..110c0d8bf
--- /dev/null
+++ b/plugins/grupo-resetLink.js
@@ -0,0 +1,12 @@
+const handler = async (m, {conn}) => {
+const revoke = await conn.groupRevokeInvite(m.chat);
+await conn.reply(m.chat, `*_${await tr("Se restableciรณ con รฉxito el link del grupo.")}_*\n*โข ${await tr("Link Nuevo:")}* ${'https://chat.whatsapp.com/' + revoke}`, m);
+};
+handler.help = ['resetlink']
+handler.tags = ['group']
+handler.command = ['resetlink', 'revoke'];
+handler.botAdmin = true;
+handler.admin = true;
+handler.group = true;
+handler.register = true
+export default handler;
diff --git a/plugins/grupo-restaurarEnlace.js b/plugins/grupo-restaurarEnlace.js
deleted file mode 100644
index 47dc2a4ee..000000000
--- a/plugins/grupo-restaurarEnlace.js
+++ /dev/null
@@ -1,13 +0,0 @@
-let handler = async (m, { 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" }
-const pp = await conn.profilePictureUrl(m.chat, 'image').catch(_ => null) || './src/grupos.jpg'
-
-let res = await conn.groupRevokeInvite(m.chat)
-conn.reply(m.chat, lenguajeGB.smsRestGp(), + '\n\n*https://chat.whatsapp.com/' + res + '*', fkontak, m)}
-//conn.sendButton(m.chat, wm, lenguajeGB.smsRestGp() + '\n\n*https://chat.whatsapp.com/' + res + '*', pp, [[lenguajeGB.smsConMenu(), `/menu`]], fkontak, m)}
-handler.command = ['nuevolink', 'nuevoenlace', 'revoke', 'resetlink']
-handler.group = true
-handler.admin = true
-handler.botAdmin = true
-
-export default handler
diff --git a/plugins/grupo-setbye.js b/plugins/grupo-setbye.js
index c9c612863..103a14e6f 100644
--- a/plugins/grupo-setbye.js
+++ b/plugins/grupo-setbye.js
@@ -1,13 +1,12 @@
-let handler = async (m, { conn, text, isROwner, isOwner }) => {
-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" }
+const handler = async (m, {conn, text, isROwner, isOwner}) => {
if (text) {
-global.db.data.chats[m.chat].sBye = text
-conn.reply(m.chat, lenguajeGB.smsSetB(), fkontak, m)
-//conn.sendButton(m.chat, wm, lenguajeGB['smsSetB'](), null, [[lenguajeGB.smsConMenu(), `/menu`]], fkontak, m)
-} else throw `${lenguajeGB['smsSetB2']()}`
-}
-handler.command = ['setbye', 'despedida']
-handler.botAdmin = true
-handler.admin = true
-handler.group = true
-export default handler
+global.db.data.chats[m.chat].sBye = text;
+m.reply(`*โ ๏ธ ${await tr("Mensaje de despedida configurado correctamente para este grupo")}*`);
+} else throw `*โ ๏ธ ${await tr("Ingrese el mensaje de despedida que desee agregar, use:")}*\n*- @user (menciรณn)*`;
+};
+handler.help = ['setbye '];
+handler.tags = ['group'];
+handler.command = ['setbye'];
+handler.admin = true;
+handler.register = true
+export default handler;
diff --git a/plugins/grupo-setdesc.js b/plugins/grupo-setdesc.js
index d4a1e4750..62c2838aa 100644
--- a/plugins/grupo-setdesc.js
+++ b/plugins/grupo-setdesc.js
@@ -1,10 +1,10 @@
let handler = async (m, { conn, args }) => {
-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" }
-const pp = await conn.profilePictureUrl(m.chat, 'image').catch(_ => null) || './src/grupos.jpg'
+const pp = await conn.profilePictureUrl(m.chat, 'image').catch(_ => 'https://telegra.ph/file/2a1d71ab744b55b28f1ae.jpg')
await conn.groupUpdateDescription(m.chat, `${args.join(" ")}`);
-conn.reply(m.chat, lenguajeGB.smsDest(), fkontak, m)
-//conn.sendButton(m.chat, wm, lenguajeGB.smsDest(), pp, [[lenguajeGB.smsConMenu(), `/menu`]], fkontak, m)
+m.react("โ
๏ธ")
}
+handler.help = ['setdesc'];
+handler.tags = ['group'];
handler.command = /^setdesk|setdesc|newdesc|descripciรณn|descripcion$/i
handler.group = true
handler.admin = true
diff --git a/plugins/grupo-setname.js b/plugins/grupo-setname.js
index 1dec0f46e..eb1dc7e25 100644
--- a/plugins/grupo-setname.js
+++ b/plugins/grupo-setname.js
@@ -1,20 +1,20 @@
//import Presence from '@adiwajshing/baileys'
let Presence = (await import(global.baileys)).default
let handler = async (m, { conn, args, 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" }
const pp = await conn.profilePictureUrl(m.chat, 'image').catch(_ => null) || './src/grupos.jpg'
-if (!text) return conn.reply(m.chat, lenguajeGB['smsNam2'](), fkontak, m)
+if (!text) throw `โ ๏ธ ${await tr("Ingresar el texto para el grupo")}`
try {
let text = args.join` `
if(!args || !args[0]) {
} else {
-conn.groupUpdateSubject(m.chat, text)}
-conn.reply(m.chat, lenguajeGB.smsNam1(), fkontak, m)
-//conn.sendButton(m.chat, wm, lenguajeGB.smsNam1(), pp, [[lenguajeGB.smsConMenu(), `/menu`]], fkontak, m)}
+conn.groupUpdateSubject(m.chat, text)
+}
+m.react("โ
๏ธ")
} catch (e) {
-//return conn.reply(m.chat, lenguajeGB['smsNam3'](), fkontak, m)
-throw lenguajeGB['smsNam3']()
+throw "error"
}}
+handler.help = ['setname'];
+handler.tags = ['group'];
handler.command = /^(setname|newnombre|nuevonombre)$/i
handler.group = true
handler.admin = true
diff --git a/plugins/grupo-setpp.js b/plugins/grupo-setpp.js
index d8ac53728..8d36daa99 100644
--- a/plugins/grupo-setpp.js
+++ b/plugins/grupo-setpp.js
@@ -1,13 +1,30 @@
-let handler = async (m, { conn, usedPrefix, command }) => {
-let q = m.quoted ? m.quoted : m
-let mime = (q.msg || q).mimetype || q.mediaType || ''
-if (/image/.test(mime)) {
-let img = await q.download()
-if (!img) throw `${lenguajeGB['smsAvisoMG']()}๏ธ๐๐๐๐๐๐๐ฟ๐ ๐ผ ๐๐๐ผ ๐๐๐ผ๐๐๐`
-await conn.updateProfilePicture(m.chat, img).then(_ => m.reply(`${lenguajeGB['smsAvisoEG']()}๐๐ ๐พ๐ผ๐๐ฝ๐๐ ๐๐ผ ๐๐๐๐ ๐ฟ๐๐ ๐๐๐๐๐ ๐พ๐๐ ๐ฬ๐๐๐๐`))
-} else throw `${lenguajeGB['smsAvisoMG']()}๏ธ๐๐๐๐๐๐๐ฟ๐ ๐ผ ๐๐๐ผ ๐๐๐ผ๐๐๐`}
+import jimp from "jimp"
+import { S_WHATSAPP_NET } from '@whiskeysockets/baileys'
+
+let handler = async (m, { conn, usedPrefix, command, args, isOwner, isAdmin, isROwner }) => {
+try {
+let groupId = m.chat;
+let quotedMsg = m.quoted ? m.quoted : m
+if (!m.quoted) return m.reply(`*โ ๏ธ ${await tr("Responde a una Imagen.")}*`)
+let mediaType = (quotedMsg.type || quotedMsg).mimetype || '';
+var media = await quotedMsg.download();
+async function processImage(media) {
+const image = await jimp.read(media);
+const resizedImage = image.getWidth() > image.getHeight() ? image.resize(720, jimp.AUTO) : image.resize(jimp.AUTO, 720);
+return { img: await resizedImage.getBufferAsync(jimp.MIME_JPEG),
+}}
+var { img: processedImage } = await processImage(media);
+conn.query({ tag: 'iq', attrs: { target: groupId, to: S_WHATSAPP_NET, type:'set', xmlns: 'w:profile:picture' },
+content: [{ tag: 'picture', attrs: { type: 'image' }, content: processedImage }]})
+m.react("โ
๏ธ")
+} catch (error) {
+return m.react('โ');
+}
+};
+handler.help = ['setppgc'];
+handler.tags = ['group'];
handler.command = /^setpp(group|grup|gc)?$/i
handler.group = true
handler.admin = true
handler.botAdmin = true
-export default handler
+export default handler
\ No newline at end of file
diff --git a/plugins/grupo-setwelcome.js b/plugins/grupo-setwelcome.js
index 0f1c3bc57..2749532b1 100644
--- a/plugins/grupo-setwelcome.js
+++ b/plugins/grupo-setwelcome.js
@@ -1,13 +1,12 @@
-let handler = async (m, { conn, text, isROwner, isOwner }) => {
-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" }
+const handler = async (m, {conn, text, isROwner, isOwner}) => {
if (text) {
-global.db.data.chats[m.chat].sWelcome = text
-conn.reply(m.chat, lenguajeGB.smsSetW(), fkontak, m)
-//conn.sendButton(m.chat, wm, lenguajeGB['smsSetW'](), null, [[lenguajeGB.smsConMenu(), `/menu`]], fkontak, m)
-} else throw `${lenguajeGB['smsSetW2']()}`
-}
-handler.command = ['setwelcome', 'bienvenida']
-handler.botAdmin = true
-handler.admin = true
-handler.group = true
-export default handler
+global.db.data.chats[m.chat].sWelcome = text;
+m.reply(`*โ
${await tr("Mensaje de Bienvenida configurado correctamente para este grupo")}*`);
+} else throw `*โ ๏ธ ${await tr("Ingrese el mensaje de bienvenida que desee agregar, use:")}*\n*- @user (menciรณn)*\n*- @group (nombre de grupo)*\n*- @desc (description de grupo)*`;
+};
+handler.help = ['setwelcome '];
+handler.tags = ['group'];
+handler.command = ['setwelcome'];
+handler.admin = true;
+handler.register = true
+export default handler;
diff --git a/plugins/grupo-simulate.js b/plugins/grupo-simulate.js
index 77c7fa6ac..a64157ad0 100644
--- a/plugins/grupo-simulate.js
+++ b/plugins/grupo-simulate.js
@@ -1,49 +1,61 @@
let handler = async (m, { conn, usedPrefix, command, args: [event], text }) => {
-if (!event) return await conn.sendButton(m.chat, `*EJEMPLO:*
+let chat = global.db.data.chats[m.chat]
+if (!chat.welcome) throw `โ ๏ธ ${await tr("Para usar este comando debe actvar las Bienvenidas con")} *${usedPrefix}on* welcome`
+let te = `โโโท *${await tr("EVENTOS")}*
+โข welcome
+โข bye
+โข promote
+โข demote
+โโโโโโโโโโโโ
+
+๐ ${await tr("Ejemplo")} :
+
+*${usedPrefix + command}* welcome @user`
+
+if (!event) return await m.reply(te)
-${usedPrefix + command} welcome @user
-${usedPrefix + command} bye @user
-${usedPrefix + command} promote @user
-${usedPrefix + command} demote @user`.trim(), wm, null, [['WELCOME', '#simulate welcome'], ['BYE', '#simulate bye']])
let mentions = text.replace(event, '').trimStart()
let who = mentions ? conn.parseMention(mentions) : []
let part = who.length ? who : [m.sender]
let act = false
-m.reply(`*Simulando ${event}...*`)
+m.reply(`โ
${await tr("Simulando")} ${event}...`)
switch (event.toLowerCase()) {
case 'add':
+case 'bienvenida':
case 'invite':
case 'welcome':
-case 'bienvenida':
act = 'add'
-break
+break
case 'bye':
-case 'kick':
+case 'despedida':
case 'leave':
case 'remove':
-case 'sacar':
act = 'remove'
break
+
case 'promote':
-case 'daradmin':
-case 'darpoder':
+case 'promover':
act = 'promote'
break
+
case 'demote':
-case 'quitaradmin':
-case 'quitarpoder':
+case 'degradar':
act = 'demote'
break
+
default:
-throw 'error, ingrese una opcion valida'
+throw te
}
if (act) return conn.participantsUpdate({
id: m.chat,
participants: part,
action: act
})}
-handler.help = ['simulate [@mention]','simular ']
-handler.tags = ['owner']
-handler.command = /^simulate|simular$/i
+handler.help = ['simulate @user']
+handler.tags = ['group']
+handler.command = ['simular', 'simulate']
+handler.admin = true
handler.group = true
+handler.register = true
+
export default handler
diff --git a/plugins/grupo-staff.js b/plugins/grupo-staff.js
new file mode 100644
index 000000000..0fa52f8e7
--- /dev/null
+++ b/plugins/grupo-staff.js
@@ -0,0 +1,26 @@
+let handler = async (m, { conn, participants, groupMetadata, args }) => {
+const pp = await conn.profilePictureUrl(m.chat, 'image').catch(_ => null) || './src/avatar_contact.png'
+const groupAdmins = participants.filter(p => p.admin)
+const listAdmin = groupAdmins.map((v, i) => `${i + 1}. @${v.id.split('@')[0]}`).join('\nโฅ ')
+const owner = groupMetadata.owner || groupAdmins.find(p => p.admin === 'superadmin')?.id || m.chat.split`-`[0] + '@s.whatsapp.net'
+
+let text = `โขโโโชใ *๏ผณ๏ผด๏ผก๏ผฆ๏ผฆ* ใโชโโโข
+
+> *${await tr("Se necesita la presencia de un admins")}*
+
+*โข ${await tr("Grupos")}:* _${groupMetadata.subject}_
+
+*โข ${await tr("Admins")}:
+${listAdmin}
+
+> [ โ ๏ธ] *${await tr("Usar este comando solo cuando se trate de una emergencia")}*
+`.trim()
+conn.sendFile(m.chat, pp, 'staff.png', text, m, false, { mentions: [...groupAdmins.map(v => v.id), owner] })
+}
+handler.help = ['staff']
+handler.tags = ['group']
+handler.command = ['staff', 'admins', 'listadmin']
+handler.group = true
+handler.register = true
+
+export default handler
diff --git a/plugins/grupo-tagall.js b/plugins/grupo-tagall.js
index 46a7bfe43..208e6a366 100644
--- a/plugins/grupo-tagall.js
+++ b/plugins/grupo-tagall.js
@@ -3,19 +3,50 @@ if (!(isAdmin || isOwner)) {
global.dfail('admin', m, conn)
throw false
}
-let vn = './media/Invocar.mp3'
+
+if (command == 'tagall' || command == 'invocar' || command == 'todos' || command == 'invocacion') {
let pesan = args.join` `
-let oi = `*๐๐๐ฃ๐จ๐๐๐:* ${pesan}`
-let teks = `โญโใ *${wm}* ใโโฑ\nโโบ๐ผ๐๐ฉ๐๐ซ๐ ๐๐ง๐ช๐ฅ๐ค๐จ ๐ฃ๏ธโบ*\nโ\nโโ ${oi}\nโ\nโโ *๐๐ฉ๐๐ฆ๐ช๐๐ฉ๐๐จ:*\n`
+let oi = `*${await tr("Mensaje")}:* ${pesan}`
+let teks = `*โบ ${await tr("ACTIVE GRUPO")} ๐ฃ๏ธโบ*
+
+โ ${oi}
+
+โ *${await tr("Etiquetas")}:*
+`
for (let mem of participants) {
-teks += `โ๐ธ @${mem.id.split('@')[0]}\n`}
-teks += `*โ* ๐ป๐๐ ๐ณ๐๐๐๐ฉ๐๐-๐ด๐ซ\n\n*โโโโโโโโโโโโโโโโ*`
+teks += `โฅ @${mem.id.split('@')[0]}\n`}
+teks += `โฅ ${wm}`
conn.sendMessage(m.chat, { text: teks, mentions: participants.map(a => a.id) }, )
-conn.sendFile(m.chat, vn, 'Invocar.mp3', null, m, true, { type: 'audioMessage', ptt: true, sendEphemeral: true })
}
-handler.help = ['tagall ','invocar ']
+
+if (command == 'contador') {
+let memberData = participants.map(mem => {
+let userId = mem.id;
+let userData = global.db.data.users[userId] || {};
+let msgCount = userData.mensaje && userData.mensaje[m.chat] ? userData.mensaje[m.chat] : 0;
+return { id: userId, messages: msgCount };
+});
+memberData.sort((a, b) => b.messages - a.messages);
+let activeCount = memberData.filter(mem => mem.messages > 0).length;
+let inactiveCount = memberData.filter(mem => mem.messages === 0).length;
+
+let teks = `*๐ ${await tr("Actividad del grupo")} ๐*\n\n`;
+teks += `โก ${await tr("Grupo")}: ${await conn.getName(m.chat)}\n`;
+teks += `โก ${await tr("Total de miembros")}: ${participants.length}\n`;
+teks += `โก ${await tr("Miembros activos")}: ${activeCount}\n`;
+teks += `โก ${await tr("Miembros inactivos")}: ${inactiveCount}\n\n`;
+teks += `*โก ${await tr("Lista de miembros")}:*\n`;
+
+for (let mem of memberData) {
+teks += `โฅ @${mem.id.split('@')[0]} - Mensajes: ${mem.messages}\n`;
+}
+conn.sendMessage(m.chat, { text: teks, mentions: memberData.map(a => a.id) }, { quoted: m });
+}
+}
+handler.help = ['tagall ','invocar ', 'contador']
handler.tags = ['group']
-handler.command = /^(tagall|invocar|invocacion|todos|invocaciรณn)$/i
+handler.command = /^(tagall|invocar|invocacion|todos|invocaciรณn|contador)$/i
handler.admin = true
handler.group = true
+handler.botAdmin = true
export default handler
diff --git a/plugins/grupo-warn.js b/plugins/grupo-warn.js
new file mode 100644
index 000000000..d414b769b
--- /dev/null
+++ b/plugins/grupo-warn.js
@@ -0,0 +1,35 @@
+let war = global.maxwarn
+let handler = async (m, { conn, text, args, groupMetadata, usedPrefix, command }) => {
+let who
+if (m.isGroup) who = m.mentionedJid[0] ? m.mentionedJid[0] : m.quoted ? m.quoted.sender : false
+else who = m.chat
+if (!who) throw await tr(`*ยฟA quien le doy una advertencia?* etiqueta a la persona con el @tag`)
+if (!(who in global.db.data.users)) throw `*โ ๏ธ ${await tr("ยฟQuien carajo es ese? No aparece el mi base de datos")}*`
+let name = conn.getName(m.sender)
+let warn = global.db.data.users[who].warn
+if (warn < war) {
+global.db.data.users[who].warn += 1
+m.reply(`*โ ๏ธ ${await tr("ADVERTENCIA")} โ ๏ธ*
+
+@${who.split`@`[0]} ${await tr("fuiste advertido por el admins")}: ${name}
+*โข ${await tr("Tiene")}:* ${warn + 1}/${war} ${await tr("advertencia")}
+*โข ${await tr("Razon")}:* ${text}`, null, { mentions: [who] })
+} else if (warn == war) {
+global.db.data.users[who].warn = 0
+m.reply(`โ ๏ธ ${await tr("El usuario superรณ la")} *${war}* ${await tr("Advertencia por lo tanto sera eliminado del Grupo...")}`)
+await time(3000)
+await conn.groupParticipantsUpdate(m.chat, [who], 'remove')
+//m.reply(`โป๏ธ ๐ต๐๐๐๐๐ ๐๐๐๐๐๐๐๐๐ ๐๐๐ ๐๐๐๐๐ *${groupMetadata.subject}* ๐๐๐๐๐๐ ๐๐ ๐๐๐๐ ๐๐๐๐๐๐๐๐๐ *${war}* ๐๐๐๐๐`, who)
+}}
+handler.help = ['warn @user']
+handler.tags = ['group']
+handler.command = ['warn']
+handler.group = true
+handler.admin = true
+handler.botAdmin = true
+handler.register = true
+
+export default handler
+
+const time = async (ms) => {
+return new Promise(resolve => setTimeout(resolve, ms))}
diff --git a/plugins/herramienta-senlang.js b/plugins/herramienta-senlang.js
new file mode 100644
index 000000000..487c279ca
--- /dev/null
+++ b/plugins/herramienta-senlang.js
@@ -0,0 +1,67 @@
+const handler = async (m, { text }) => {
+let user = global.db.data.users[m.sender] || {};
+
+const supportedLanguages = {
+'es': { name: 'Espaรฑol', num: 1, flag: '๐ช๐ธ' },
+'en': { name: 'Inglรฉs', num: 2, flag: '๐ฌ๐ง' },
+'fr': { name: 'Francรฉs', num: 3, flag: '๐ซ๐ท' },
+'de': { name: 'Alemรกn', num: 4, flag: '๐ฉ๐ช' },
+'pt': { name: 'Portuguรฉs', num: 5, flag: '๐ต๐น' },
+'id': { name: 'Bahasa Indonesia', num: 6, flag: '๐ฎ๐ฉ' },
+'it': { name: 'Italiano', num: 7, flag: '๐ฎ๐น' },
+'ru': { name: 'Ruso', num: 8, flag: '๐ท๐บ' },
+'zh': { name: 'Chino', num: 9, flag: '๐จ๐ณ' },
+'ar': { name: 'รrabe', num: 10, flag: '๐ธ๐ฆ' },
+'hi': { name: 'Hindi', num: 11, flag: '๐ฎ๐ณ' },
+'ko': { name: 'Coreano', num: 12, flag: '๐ฐ๐ท' },
+'tr': { name: 'Turco', num: 13, flag: '๐น๐ท' },
+'nl': { name: 'Holandรฉs', num: 14, flag: '๐ณ๐ฑ' },
+'sv': { name: 'Sueco', num: 15, flag: '๐ธ๐ช' },
+'fi': { name: 'Finlandรฉs', num: 16, flag: '๐ซ๐ฎ' },
+'pl': { name: 'Polaco', num: 17, flag: '๐ต๐ฑ' },
+'ja': { name: 'Japonรฉs', num: 18, flag: '๐ฏ๐ต' },
+};
+
+let msgLang = await tr("Idiomas soportados")
+let msgLang2 = await tr("Usa /setlang [cรณdigo|nombre|nรบmero]")
+let msgLang3 = await tr("Idioma no reconocido. Usa")
+let msgLang4 = await tr("sin argumentos para ver la lista de idiomas.")
+let msgLang5 = await tr("Idioma cambiado a")
+
+if (!text) {
+let langList = `๐ *${msgLang}:*\n\n`;
+for (const [code, data] of Object.entries(supportedLanguages)) {
+langList += `${data.num}. ${data.flag} ${data.name} (${code.toUpperCase()})\n`;
+}
+langList += `\n๐ก ${msgLang2}`
+return m.reply(langList);
+}
+
+let langCode = null;
+text = text.toLowerCase();
+
+if (!isNaN(text)) {
+const num = parseInt(text);
+for (const [code, data] of Object.entries(supportedLanguages)) {
+if (data.num === num) {
+langCode = code;
+break;
+}}
+} else if (supportedLanguages[text]) {
+langCode = text;
+} else {
+for (const [code, data] of Object.entries(supportedLanguages)) {
+if (data.name.toLowerCase() === text) {
+langCode = code;
+break;
+}}}
+
+if (!langCode) return m.reply(`โ ${msgLang3} /setlang ${msgLang4}`);
+user.language = langCode;
+const langData = supportedLanguages[langCode];
+m.reply(`โ
${msgLang5}: ${langData.flag} ${langData.name} (${langCode.toUpperCase()})`);
+};
+handler.help = ['setlang [cรณdigo|nombre|nรบmero] - Cambia el idioma del bot'];
+handler.tags = ['tools'];
+handler.command = /^(setlang|idioma|cambiaridioma)$/i;
+export default handler;
\ No newline at end of file
diff --git a/plugins/herramientas-acortar.js b/plugins/herramientas-acortar.js
index 25c93a4c3..56255e074 100644
--- a/plugins/herramientas-acortar.js
+++ b/plugins/herramientas-acortar.js
@@ -1,20 +1,14 @@
-
-import fetch from 'node-fetch'
-let handler = async(m, { conn, args, text }) => {
-if (!text) throw '* ๐ ๐๐ก ๐๐ฃ๐ก๐๐๐?*\n*๐๐ฃ๐๐ง๐๐จ๐ ๐๐ฃ๐ก๐๐๐ ๐ฅ๐๐ง๐ ๐๐๐ค๐ง๐ฉ๐*'
-let shortUrl1 = await (await fetch(`https://tinyurl.com/api-create.php?url=${args[0]}`)).text()
-if (!shortUrl1) throw `*[โ] แดสสแดส, แดแดแดแดสแดแดสแด วซแดแด แดส แดแดxแดแด ษชษดษขสแดsแดแด
แด sแดแด แดษด แดแดxแดแด แด ษชษดแดแดษดแดแด แด
แด ษดแดแดแด แด*`
-let done = `*โ
sแด สแดแดสษชแดขแด แดแดษด แดxษชแดแด!!*\n\n*แดษดสแดแดแด แด
แด แดษดแดแดs:*\n${text}\n*สษชษดแด แดแดแดสแดแดแด
แด:*\n${shortUrl1}`.trim()
-m.reply(done)}
-handler.help = ['tinyurl','acortar'].map(v => v + ' ')
-handler.tags = ['tools']
-handler.command = /^(tinyurl|short|acortar|corto)$/i
-handler.limit = 1
+import fetch from 'node-fetch';
+const handler = async (m, {conn, args, text}) => {
+if (!text) throw await tr('*โ ๏ธ Ingrese un enlace el cual desea acortar?*')
+const shortUrl1 = await (await fetch(`https://tinyurl.com/api-create.php?url=${args[0]}`)).text();
+if (!shortUrl1) throw await tr('*โ ๏ธ Ingrese un enlace el cual desea acortar?*')
+const done = await tr(`*๐ถ Link acortado correctamente!!*\n\n*โข Link anterior:*`) + `\n${text}\n` + await tr(`*โข Link acortado:*`) + `\n${shortUrl1}`.trim();
+m.reply(done);
+};
+handler.help = ['tinyurl', 'acortar'].map((v) => v + ' ');
+handler.tags = ['tools'];
+handler.command = /^(tinyurl|short|acortar|corto)$/i;
+handler.fail = null;
handler.register = true
-handler.fail = null
-export default handler
-
-
-
-
-
+export default handler;
diff --git a/plugins/herramientas-autoresponder_prompt.js b/plugins/herramientas-autoresponder_prompt.js
new file mode 100644
index 000000000..a651be840
--- /dev/null
+++ b/plugins/herramientas-autoresponder_prompt.js
@@ -0,0 +1,20 @@
+let handler = async (m, { conn, text, usedPrefix, command, isOwner, isAdmin, isROwner }) => {
+if (!(isOwner || isAdmin || isROwner)) return conn.reply(m.chat, await tr("โ *No tienes permitido personalizar la autorespuesta del bot en este chat.*\n\n๐ก *Pรญdele a un administrador en caso que este chat sea un grupo o al creador del bot que lo haga por ti en este chat.*"), m)
+const chatData = global.db.data.chats[m.chat]
+if (text) {
+if (chatData.sAutorespond) return conn.reply(m.chat, await tr(`โ ๏ธ *Actualmente hay el siguiente prompt en uso:*\n\n${chatData.sAutorespond}\n\n๐ก *Si quieres cambiarlo, usa el comando sin texto para borrar el prompt actual y luego establece el nuevo prompt.*`), m)
+
+chatData.sAutorespond = text
+conn.reply(m.chat, await tr(`โ
*Configuraciรณn exitosa.*\n\n*Has establecido un nuevo prompt para este chat.*\n๐ฌ A partir de ahora, activa usando *${usedPrefix}on autoresponder*, el bot usarรก las indicaciones que hayas establecido.\n\n> *Recuerda etiquetar o responder a un mensaje del bot para que te responda.*`), m)
+} else {
+if (chatData.sAutorespond) {
+chatData.sAutorespond = ''
+conn.reply(m.chat, await tr("๐๏ธ *Prompt borrado con รฉxito.*"), m)
+} else {
+conn.reply(m.chat, await tr(`โ ๏ธ *No hay ningรบn prompt establecido para este chat.*\n\n๐ก *Para establecer un nuevo prompt, utiliza el comando seguido del texto que describa las instrucciones para el bot.*\n\n*Por ejemplo:*\n*${usedPrefix + command}* Actรบa como un psicรณlogo y brinda apoyo emocional a los usuarios.`), m)
+}}
+}
+handler.help = ['autorespond '];
+handler.tags = ['tools'];
+handler.command = /^(autorespond|autoresponder)$/i
+export default handler
diff --git a/plugins/herramientas-calc.js b/plugins/herramientas-calc.js
deleted file mode 100644
index a414765b0..000000000
--- a/plugins/herramientas-calc.js
+++ /dev/null
@@ -1,38 +0,0 @@
-let handler = async (m, { conn, text }) => {
-let id = m.chat
-conn.math = conn.math ? conn.math : {}
-if (id in conn.math) {
-clearTimeout(conn.math[id][3])
-delete conn.math[id]
-m.reply('*๐จ ๐พ๐๐ ๐๐ ๐๐๐๐ ๐๐๐๐๐๐!!*')
-}
-let val = text
-.replace(/[^0-9\-\/+*รรทฯEe()piPI/]/g, '')
-.replace(/ร/g, '*')
-.replace(/รท/g, '/')
-.replace(/ฯ|pi/gi, 'Math.PI')
-.replace(/e/gi, 'Math.E')
-.replace(/\/+/g, '/')
-.replace(/\++/g, '+')
-.replace(/-+/g, '-')
-let format = val
-.replace(/Math\.PI/g, 'ฯ')
-.replace(/Math\.E/g, 'e')
-.replace(/\//g, 'รท')
-.replace(/\*ร/g, 'ร')
-try {
-console.log(val)
-let result = (new Function('return ' + val))()
-if (!result) throw result
-m.reply(`*${format}* = _${result}_`)
-} catch (e) {
-if (e == undefined) throw `${mg}๐ฐ๐๐๐๐๐๐ ๐๐ ๐๐๐๐๐๐๐๐๐ ๐๐๐๐๐๐ฬ๐๐๐๐ ๐๐๐๐ ๐๐๐๐๐๐๐๐ ๐๐ ๐๐๐๐๐๐๐๐
๐`
-throw `${fg}๐บ๐๐๐ ๐๐ ๐๐
๐๐๐๐ ๐๐ฬ๐๐๐๐๐ ๐ ๐๐ฬ๐๐๐๐๐๐, -, +, * , /, ร, รท, ฯ, e, (, )*`
-}}
-handler.help = ['calc ']
-handler.tags = ['tools']
-handler.command = /^(calc(ulat(e|or))?|kalk(ulator)?)$/i
-handler.limit = 1
-handler.register = true
-handler.exp = 5
-export default handler
diff --git a/plugins/herramientas-chagpt.js b/plugins/herramientas-chagpt.js
new file mode 100644
index 000000000..c5a77cdaa
--- /dev/null
+++ b/plugins/herramientas-chagpt.js
@@ -0,0 +1,150 @@
+import fetch from 'node-fetch';
+import fs from 'fs';
+import path from 'path';
+import axios from 'axios';
+import translate from '@vitalets/google-translate-api';
+import { perplexity } from '../lib/scraper.js';
+import { Configuration, OpenAIApi } from "openai";
+
+const apikey_base64 = "c2stcHJvai1tUzN4bGZueXo0UjBPWV8zbm1DVDlMQmlmYXhYbVdaa0ptUVFJMDVKR2FxdHZCbk9ncWZjRXdCbEJmMU5WN0lYa0pncVJuM3BNc1QzQmxia0ZKMVJ5aEJzUl93NzRXbll5LWdjdkowT0NQUXliWTBOcENCcDZIOTlCVVVtcWxuTjVraEZxMk43TGlMU0RsU0s1cXA5Tm1kWVZXc0E=";
+
+const apikey = Buffer.from(apikey_base64, 'base64').toString('utf-8');
+const configuration = new Configuration({apiKey: apikey,
+});
+const openai = new OpenAIApi(configuration);
+
+const handler = async (m, {conn, text, usedPrefix, command}) => {
+let who = m.mentionedJid && m.mentionedJid[0] ? m.mentionedJid[0] : m.fromMe ? conn.user.jid : m.sender
+let pp = await conn.profilePictureUrl(who, 'image').catch(_ => 'https://telegra.ph/file/9d38415096b6c46bf03f8.jpg')
+if (!text) return m.reply(await tr(`*Hola cรณmo esta ๐, El que te puedo ayudar?*, ingrese una peticiรณn o orden para usar la funciรณn de chagpt\n*Ejemplo:*\n${usedPrefix + command} Recomienda un top 10 de pelรญculas de acciรณn`))
+//let syst = `Actuaras como un Bot de WhatsApp el cual fue creado por elrebelde, tu seras LoliBot.`
+let syms1 = await fetch('https://raw.githubusercontent.com/Skidy89/chat-gpt-jailbreak/main/Text.txt').then(v => v.text());
+
+if (command == 'ia' || command == 'chatgpt') {
+await conn.sendPresenceUpdate('composing', m.chat)
+try {
+const messages = [{ role: 'system', content: syms1 },
+{ role: 'user', content: text }];
+
+const chooseModel = (query) => {
+const lowerText = query.toLowerCase();
+
+if (lowerText.includes('cรณdigo') || lowerText.includes('programaciรณn') || lowerText.includes('code') || lowerText.includes('script')) {
+return 'codellama-70b-instruct';
+} else if (lowerText.includes('noticias') || lowerText.includes('actual') || lowerText.includes('hoy') || lowerText.includes('รบltimo')) {
+return 'sonar-medium-online';
+} else if (lowerText.includes('explica') || lowerText.includes('por quรฉ') || lowerText.includes('razona') || lowerText.includes('analiza')) {
+return 'sonar-reasoning-pro';
+} else if (lowerText.includes('cรณmo') || lowerText.includes('paso a paso') || lowerText.includes('instrucciones')) {
+return 'mixtral-8x7b-instruct';
+} else if (lowerText.includes('charla') || lowerText.includes('habla') || lowerText.includes('dime')) {
+return 'sonar-medium-chat';
+} else {
+return 'sonar-pro';
+}};
+
+const selectedModel = chooseModel(text);
+const fallbackModels = Object.keys(perplexity.api.models).filter(m => m !== selectedModel);
+let response = await perplexity.chat(messages, selectedModel);
+
+if (!response.status) {
+for (const fallback of fallbackModels) {
+try {
+response = await perplexity.chat(messages, fallback);
+if (response.status) {
+//console.log(`Respaldo ${fallback} funcionรณ`);
+break;
+}} catch (e) {
+console.error(`Fallรณ ${fallback}: ${e.message}`);
+}}}
+
+if (response.status) {
+await m.reply(response.result.response);
+}
+} catch {
+try {
+async function getResponse(prompt) {
+try {
+await delay(1000);
+const response = await axios.post('https://api.openai.com/v1/chat/completions',
+{ model: 'gpt-4o-mini',
+messages: [{ role: 'user', content: prompt }],
+max_tokens: 300,
+}, { headers: {
+'Content-Type': 'application/json',
+'Authorization': `Bearer ${apikey}`,
+}});
+return response.data.choices[0].message.content;
+} catch (error) {
+console.error(error);
+}}
+
+const respuesta = await getResponse(text);
+m.reply(respuesta);
+} catch {
+try {
+let gpt = await fetch(`${apis}/ia/gptprompt?text=${text}?&prompt=${syms1}`)
+let res = await gpt.json()
+await m.reply(res.data)
+} catch {
+try {
+let gpt = await fetch(`${apis}/ia/gptweb?text=${text}`)
+let res = await gpt.json()
+await m.reply(res.gpt)
+/*let gpt = await fetch(`https://deliriusapi-official.vercel.app/ia/chatgpt?q=${text}`)
+let res = await gpt.json()
+await m.reply(res.data)*/
+} catch {
+}}}}}
+
+if (command == 'openai' || command == 'ia2' || command == 'chatgpt2') {
+conn.sendPresenceUpdate('composing', m.chat);
+let gpt = await fetch(`${apis}/api/ia2?text=${text}`)
+let res = await gpt.json()
+await m.reply(res.gpt)
+}
+
+if (command == 'gemini') {
+await conn.sendPresenceUpdate('composing', m.chat)
+try {
+let gpt = await fetch(`https://api.dorratz.com/ai/gemini?prompt=${text}`)
+let res = await gpt.json()
+await m.reply(res.message)
+} catch {
+try {
+let gpt = await fetch(`${apis}/ia/gemini?query=${text}`)
+let res = await gpt.json()
+await m.reply(res.message)
+} catch {
+}}}
+
+if (command == 'copilot' || command == 'bing') {
+await conn.sendPresenceUpdate('composing', m.chat)
+try {
+let gpt = await fetch(`https://api.dorratz.com/ai/bing?prompt=${text}`)
+let res = await gpt.json()
+await conn.sendMessage(m.chat, { text: res.result.ai_response, contextInfo: {
+externalAdReply: {
+title: "[ IA COPILOT ]",
+body: wm,
+thumbnailUrl: "https://qu.ax/nTDgf.jpg",
+sourceUrl: [nna, nna2, nn, md, yt, tiktok].getRandom(),
+mediaType: 1,
+showAdAttribution: false,
+renderLargerThumbnail: false
+}}}, { quoted: m })
+//m.reply(res.result.ai_response)
+} catch {
+try {
+let gpt = await fetch(`${apis}/ia/bingia?query=${text}`)
+let res = await gpt.json()
+await m.reply(res.message)
+} catch {
+}}}}
+handler.help = ["chagpt", "ia", "openai", "gemini", "copilot"]
+handler.tags = ["buscadores"]
+handler.command = /^(openai|chatgpt|ia|ai|openai2|chatgpt2|ia2|gemini|copilot|bing)$/i;
+export default handler;
+
+const delay = (ms) => new Promise(resolve => setTimeout(resolve, ms));
+
diff --git a/plugins/herramientas-chatGPT.js b/plugins/herramientas-chatGPT.js
deleted file mode 100644
index 8020de5f4..000000000
--- a/plugins/herramientas-chatGPT.js
+++ /dev/null
@@ -1,28 +0,0 @@
-import fetch from 'node-fetch'
-import axios from 'axios'
-import translate from '@vitalets/google-translate-api'
-import { Configuration, OpenAIApi } from 'openai'
-const configuration = new Configuration({ organization: global.openai_org_id, apiKey: global.openai_key });
-const openaiii = new OpenAIApi(configuration);
-let handler = async (m, { conn, text, usedPrefix, command }) => {
-if (usedPrefix == 'a' || usedPrefix == 'A') return
-if (!text) throw `*${lenguajeGB['smsAvisoMG']()}๐๐๐๐๐๐๐ ๐๐๐ผ ๐๐๐๐๐พ๐๐๐ ๐ ๐๐๐ผ ๐๐๐ฟ๐๐ ๐๐ผ๐๐ผ ๐๐๐ผ๐ ๐๐ผ ๐๐๐๐พ๐๐๐ ๐ฟ๐๐ ๐พ๐๐ผ๐๐๐๐\n\nโ ๐๐
๐๐๐๐๐ ๐ฟ๐ ๐๐๐๐๐พ๐๐๐๐๐ ๐ ๐๐๐ฟ๐๐๐๐\nโ ${usedPrefix + command} Recomienda un top 10 de pelรญculas de acciรณn`
-try {
-conn.sendPresenceUpdate('composing', m.chat)
-let syms = `Actuaras como un Bot de WhatsApp el cual fue creado por elrebelde, tu seras The-LoliBot-MD`
-let res = await gpt.ChatGpt(text, syms)
-await m.reply(res.text)
-} catch {
-try {
-let ia2 = await fetch(`https://api.amosayomide05.cf/gpt/?question=${text}&string_id=${m.sender}`) //fetch(`https://api.ibeng.tech/api/info/openai?text=${text}&apikey=tamvan`)
-let resu2 = await ia2.json()
-m.reply(resu2.response.trim())
-} catch {
-try {
-let tioress = await fetch(`https://api.lolhuman.xyz/api/openai-turbo?apikey=${lolkeysapi}&text=${text}`)
-let hasill = await tioress.json()
-m.reply(`${hasill.result}`.trim())
-} catch {
-}}}}
-handler.command = ['openai', 'chatgpt', 'ia', 'robot']
-export default handler
diff --git a/plugins/herramientas-chatgpt-Voz.js b/plugins/herramientas-chatgpt-Voz.js
deleted file mode 100644
index fd73f7bec..000000000
--- a/plugins/herramientas-chatgpt-Voz.js
+++ /dev/null
@@ -1,134 +0,0 @@
-/* -------------------------------------------------------*/
-/* [โ] [โ] [โ] */
-/* */
-/* |- [ โ ] - CREDITOS DEL CODIGO - [ โ ] -| */
-/* โโ DESAROLLADO POR OTOSAKA: */
-/* โ Otosaka (https://github.com/6otosaka9) */
-/* */
-/* โโ FT: */
-/* โ BrunoSobrino (https://github.com/BrunoSobrino) */
-/* */
-/* [โ] [โ] [โ] */
-/* -------------------------------------------------------*/
-import fetch from 'node-fetch';
-import gtts from 'node-gtts';
-import {readFileSync, unlinkSync} from 'fs';
-import {join} from 'path';
-import axios from 'axios';
-import translate from '@vitalets/google-translate-api';
-import {Configuration, OpenAIApi} from 'openai';
-const configuration = new Configuration({organization: global.openai_org_id, apiKey: global.openai_key});
-const openaiii = new OpenAIApi(configuration);
-const idioma = 'es'
-//const sistema1 = await fetch(`https://raw.githubusercontent.com/Skidy89/chat-gpt-jailbreak/main/Text.txt`).then(v => v.text());
-const sistema1 = `Actuaras como un Bot de WhatsApp el cual fue creado por elrebelde, tu seras The-LoliBot-MD`;
-const handler = async (m, {conn, text, usedPrefix, command}) => {
-if (usedPrefix == 'a' || usedPrefix == 'A') return;
-if (!text) throw `*${lenguajeGB['smsAvisoMG']()}๐๐๐๐๐๐๐ ๐๐๐ผ ๐๐๐๐๐พ๐๐๐ ๐ ๐๐๐ผ ๐๐๐ฟ๐๐ ๐๐ผ๐๐ผ ๐๐๐ผ๐ ๐๐ผ ๐๐๐๐พ๐๐๐ ๐ฟ๐๐ ๐พ๐๐ผ๐๐๐๐\n\nโ ๐๐
๐๐๐๐๐ ๐ฟ๐ ๐๐๐๐๐พ๐๐๐๐๐ ๐ ๐๐๐ฟ๐๐๐๐\nโ ${usedPrefix + command} Recomienda un top 10 de pelรญculas de acciรณn\nโ ${usedPrefix + command} Codigo en JS para un juego de cartas`
-try {
-conn.sendPresenceUpdate('recording', m.chat);
-async function getOpenAIChatCompletion(texto) {
-const openaiAPIKey = global.openai_key;
-let chgptdb = global.chatgpt.data.users[m.sender];
-chgptdb.push({ role: 'user', content: texto });
-const url = "https://api.openai.com/v1/chat/completions";
-const headers = { "Content-Type": "application/json", "Authorization": `Bearer ${openaiAPIKey}` };
-const data = { "model": "gpt-3.5-turbo", "messages": [{ "role": "system", "content": sistema1 }, ...chgptdb, ]};
-const response = await fetch(url, {method: "POST", headers: headers, body: JSON.stringify(data)});
-const result = await response.json();
-const finalResponse = result.choices[0].message.content;
-return finalResponse;
-};
-let respuesta = await getOpenAIChatCompletion(text);
-if (respuesta == 'error' || respuesta == '' || !respuesta) return XD; // causar error undefined para usar otra api
-const audio1 = await tts(respuesta, idioma);
-await conn.sendMessage(m.chat, {audio: audio1, fileName: 'error.mp3', mimetype: 'audio/mpeg', ptt: true}, {quoted: m});
-} catch {
-try {
-const botIA222 = await openaiii.createCompletion({model: 'text-davinci-003', prompt: text, temperature: 0.3, max_tokens: 4097, stop: ['Ai:', 'Human:'], top_p: 1, frequency_penalty: 0.2, presence_penalty: 0});
-if (botIA222.data.choices[0].text == 'error' || botIA222.data.choices[0].text == '' || !botIA222.data.choices[0].text) return XD; // causar error undefined para usar otra api
-const audio2 = await tts(botIA222.data.choices[0].text, idioma);
-await conn.sendMessage(m.chat, {audio: audio2, fileName: 'error.mp3', mimetype: 'audio/mpeg', ptt: true}, {quoted: m});
-} catch {
-try {
-const fgapi1 = await fetch(`https://api-fgmods.ddns.net/api/info/openai?text=${text}&symsg=${sistema1}&apikey=XlwAnX8d`);
-const fgjson1 = await fgapi1.json();
-if (fgjson1.result == 'error' || fgjson1.result == '' || !fgjson1.result) return XD; // causar error undefined para lanzar msg de error
-const audio3 = await tts(fgjson1.result, idioma);
-await conn.sendMessage(m.chat, {audio: audio3, fileName: 'error.mp3', mimetype: 'audio/mpeg', ptt: true}, {quoted: m});
-} catch {
-try {
-const vihangayt1 = await fetch(`https://vihangayt.me/tools/chatgpt?q=${text}`);
-const vihangaytjson1 = await vihangayt1.json();
-if (vihangaytjson1.data == 'error' || vihangaytjson1.data == '' || !vihangaytjson1.data) return XD; // causar error undefined para usar otra api
-const audio4 = await tts(vihangaytjson1.data, idioma);
-await conn.sendMessage(m.chat, {audio: audio4, fileName: 'error.mp3', mimetype: 'audio/mpeg', ptt: true}, {quoted: m});
-} catch {
-try {
-const vihangayt2 = await fetch(`https://vihangayt.me/tools/chatgpt2?q=${text}`);
-const vihangaytjson2 = await vihangayt2.json();
-if (vihangaytjson2.data == 'error' || vihangaytjson2.data == '' || !vihangaytjson2.data) return XD; // causar error undefined para usar otra api
-const audio5 = await tts(vihangaytjson2.data, idioma);
-await conn.sendMessage(m.chat, {audio: audio5, fileName: 'error.mp3', mimetype: 'audio/mpeg', ptt: true}, {quoted: m});
-} catch {
-try {
-const vihangayt3 = await fetch(`https://vihangayt.me/tools/chatgpt3?q=${text}`);
-const vihangaytjson3 = await vihangayt3.json();
-if (vihangaytjson3.data == 'error' || vihangaytjson3.data == '' || !vihangaytjson3.data) return XD; // causar error undefined para usar otra api
-const audio6 = await tts(vihangaytjson3.data, idioma);
-await conn.sendMessage(m.chat, {audio: audio6, fileName: 'error.mp3', mimetype: 'audio/mpeg', ptt: true}, {quoted: m});
-} catch {
-try {
-const tioress22 = await fetch(`https://api.lolhuman.xyz/api/openai?apikey=${lolkeysapi}&text=${text}&user=${m.sender}`);
-const hasill22 = await tioress22.json();
-if (hasill22.result == 'error' || hasill22.result == '' || !hasill22.result) return XD; // causar error undefined para usar otra api
-const hasill22_result = await translate(`${hasill22.result}`, {to: idioma, autoCorrect: true});
-const audio7 = await tts(hasill22_result.text, idioma);
-await conn.sendMessage(m.chat, {audio: audio7, fileName: 'error.mp3', mimetype: 'audio/mpeg', ptt: true}, {quoted: m});
-} catch {
-try {
-const searchString2 = ' Indonesia ';
-const replacementString2 = ' espaรฑol ';
-const rres = await fetch(`https://api.ibeng.tech/api/others/chatgpt?q=Hola&apikey=eMlBNRzUXv`);
-const jjson = await rres.json();
-if (jjson.data == 'error' || jjson.data == '' || !jjson.data) return XD; // causar error undefined para usar otra api
-const hahaha = await translate(`${jjson.data}`, {to: idioma, autoCorrect: true});
-const sextS = hahaha.text;
-const replacedText = sextS.replace(searchString2, replacementString2).trim();
-const audio8 = await tts(replacedText, idioma);
-await conn.sendMessage(m.chat, {audio: audio8, fileName: 'error.mp3', mimetype: 'audio/mpeg', ptt: true}, {quoted: m});
-} catch {
-try {
-const akuariapi2 = await fetch(`https://api.akuari.my.id/ai/gpt?chat=${text}`);
-const akuariapijson2 = await akuariapi2.json();
-if (akuariapijson2.respon == 'error' || akuariapijson2.respon == '' || !akuariapijson2.respon) return XD; // causar error undefined para lanzar msg de error
-const akuariapiresult2 = await translate(`${akuariapijson2.respon}`, {to: 'es', autoCorrect: true});
-const audio9 = await tts(akuariapiresult2.text, idioma);
-await conn.sendMessage(m.chat, {audio: audio9, fileName: 'error.mp3', mimetype: 'audio/mpeg', ptt: true}, {quoted: m});
-} catch {
-try {
-const akuariapi1 = await fetch(`https://api.akuari.my.id/ai/gbard?chat=${text}`);
-const akuariapijson1 = await akuariapi1.json();
-if (akuariapijson1.respon == 'error' || akuariapijson1.respon == '' || !akuariapijson1.respon) return XD; // causar error undefined para usar otra api
-const akuariapiresult1 = await translate(`${akuariapijson1.respon}`, {to: 'es', autoCorrect: true});
-const audio10 = await tts(akuariapiresult1.text, idioma);
-await conn.sendMessage(m.chat, {audio: audio10, fileName: 'error.mp3', mimetype: 'audio/mpeg', ptt: true}, {quoted: m});
-} catch {
-}}}}}}}}}}}
-handler.command = /^(openaivoz|chatgptvoz|iavoz|robotvoz|openai2voz|chatgpt2voz|ia2voz|robot2voz|Lolivoz|LoliBotvoz|gptvoz|ai_voz|ai_voce)$/i;
-export default handler;
-
-async function tts(text = 'error', lang = 'es') {
-return new Promise((resolve, reject) => {
-try {
-const tts = gtts(lang);
-const filePath = join(global.__dirname(import.meta.url), '../tmp', (1 * new Date) + '.wav');
-tts.save(filePath, text, () => {
-resolve(readFileSync(filePath));
-unlinkSync(filePath);
-});
-} catch (e) {
-reject(e);
-}
-});
-}
diff --git a/plugins/herramientas-clima.js b/plugins/herramientas-clima.js
new file mode 100644
index 000000000..049bc6130
--- /dev/null
+++ b/plugins/herramientas-clima.js
@@ -0,0 +1,24 @@
+import axios from 'axios';
+const handler = async (m, {args}) => {
+if (!args[0]) throw await tr('*โ ๏ธ Escriba el nombre de su pais o ciudad*')
+try {
+const response = axios.get(`https://api.openweathermap.org/data/2.5/weather?q=${args}&units=metric&appid=060a6bcfa19809c2cd4d97a212b19273`);
+const res = await response;
+const name = res.data.name;
+const Country = res.data.sys.country;
+const Weather = res.data.weather[0].description;
+const Temperature = res.data.main.temp + 'ยฐC';
+const Minimum_Temperature = res.data.main.temp_min + 'ยฐC';
+const Maximum_Temperature = res.data.main.temp_max + 'ยฐC';
+const Humidity = res.data.main.humidity + '%';
+const Wind = res.data.wind.speed + 'km/h';
+const wea = await tr(`ใ ๐ ใLugar: ${name}\nใ ๐บ๏ธ ใpais: ${Country}\nใ ๐ค๏ธ ใtiempo: ${Weather}\nใ ๐ก๏ธ ใtemperatura: ${Temperature}\nใ ๐ ใ temperatura minima: ${Minimum_Temperature}\nใ ๐ ใ temperatura maxima: ${Maximum_Temperature}\nใ ๐ฆ ใhumedad: ${Humidity}\nใ ๐ฌ๏ธ ใ viento: ${Wind}`);
+m.reply(wea);
+} catch {
+m.reply(`\`\`\`โ ๏ธ ${await tr("OCURRIO UN ERROR")} โ ๏ธ\`\`\`\n\n> *${await tr("Reporta el siguiente error a mi creador con el comando:")}* #report\n\n>>> ${e} <<<< `)
+}};
+handler.help = ['clima **'];
+handler.tags = ['tools'];
+handler.command = /^(clima|tiempo)$/i;
+handler.register = true
+export default handler;
diff --git a/plugins/herramientas-dallE.js b/plugins/herramientas-dallE.js
index 7764ec644..83aa031d8 100644
--- a/plugins/herramientas-dallE.js
+++ b/plugins/herramientas-dallE.js
@@ -1,15 +1,102 @@
-let handler = async (m, { conn, text, usedPrefix, command }) => {
-if (!text) throw `*[โ] ษชษดษขสแดsแด แดษด แดแดxแดแด แดแดสแด แดสแดแดส แดษดแด ษชแดแดษขแดษด ส แดsษช แดsแดส สแด าแดษดแดษชแดษด แด
แด แด
แดสส-แด*\n\n*โ แดแดแดแดแดสแด แด
แด แดแดแดษชแดษชแดษดแดs*\n*${usedPrefix + command} gatitos llorando*\n*${usedPrefix + command} Gata beso*`
+import fetch from 'node-fetch';
+import axios from 'axios';
+import * as cheerio from "cheerio"
+
+const handler = async (m, {conn, text, usedPrefix, command}) => {
+if (!text) throw await tr(`*โ ๏ธ Ingrese un texto para crear una imagen y asi usar la funciรณn de dall-e*\n\n*โข Ejemplo:*\n*${usedPrefix + command} gatitos llorando*`)
+m.react('โ')
+try {
+let response = await fetch(`https://api.dorratz.com/v3/ai-image?prompt=${text}`)
+let res = await response.json()
+if (res.data.status === "success") {
+const imageUrl = res.data.image_link;
+await conn.sendFile(m.chat, imageUrl, 'error.jpg', await tr(`_๐ซ Resutados: ${text}_\n\n> *โจ Imagen generada por IA โจ*`), m, null, fake);
+m.react('โ
');
+}
+} catch {
+try {
+let answer = await flux(text)
+await conn.sendFile(m.chat, answer, 'error.jpg', await tr(`_๐ซ Resutados: ${text}_\n\n> *โจ Imagen generada por IA โจ*`), m, null, fake);
+//conn.sendMessage(m.chat, { image: { url: answer }, caption: `_๐ซ Resutados: ${text}_\n\n> *โจ Imagen generada por IA โจ*`, mentions: [m.sender],}, { quoted: m })
+m.react('โ
');
+} catch {
+try {
+const url = `https://api.unsplash.com/search/photos?query=${encodeURIComponent(text)}&client_id=YuKJ2TeTdI2x92PLBA3a11kCEqxjrwVsGhrVRyLBEfU`;
+const response = await axios.get(url);
+if (response.data.results.length === 0) return m.react("โ")
+const imageUrl = response.data.results[0].urls.regular;
+await conn.sendFile(m.chat, imageUrl, 'error.jpg', await tr(`_๐ซ Resutados: ${text}_\n\n> *โจ Imagen generada por IA โจ*`), m, null, fake);
+m.react('โ
');
+} catch {
+try {
+const url = `https://api.betabotz.eu.org/api/search/bing-img?text=${encodeURIComponent(text)}&apikey=7gBNbes8`;
+const response = await axios.get(url);
+if (!response.data.result || response.data.result.length === 0) return m.react("โ")
+const imageUrl = response.data.result[0];
+await conn.sendFile(m.chat, imageUrl, 'error.jpg', await tr(`_๐ซ Resutados: ${text}_\n\n> *โจ Imagen generada por IA โจ*`), m, null, fake);
+m.react('โ
');
+} catch {
try {
-m.reply('*[โ] แดsแดแดสแด แดษด แดแดแดแดษดแดแด แดษด สแด วซแดแด แดแดษดแด
แด สแด วซแดแด แดแด แดษชแด
ษชแด*')
-let tiores = await conn.getFile(`https://api.lolhuman.xyz/api/dall-e?apikey=${lolkeysapi}&text=${text}`)
-await conn.sendFile(m.chat, tiores.data, null, null, m)
+const tiores1 = await fetch(`https://vihangayt.me/tools/imagine?q=${text}`);
+const json1 = await tiores1.json();
+await conn.sendFile(m.chat, json1.data, 'error.jpg', await tr(`_๐ซ Resutados: ${text}_\n\n> *โจ Imagen generada por IA โจ*`), m, null, fake);
} catch {
-throw `*[โ] แดสสแดส, แด แดแดสแด แด แด ษชษดแดแดษดแดแดส*`
+try {
+const tiores4 = await conn.getFile(`https://api.lolhuman.xyz/api/dall-e?apikey=${lolkeysapi}&text=${text}`);
+await conn.sendFile(m.chat, tiores4.data, 'error.jpg', await tr(`_๐ซ Resutados: ${text}_\n\n> *โจ Imagen generada por IA โจ*`), m, null, fake);
+m.react('โ
')
+} catch (error) {
+m.reply(`\`\`\`โ ๏ธ ${await tr("OCURRIO UN ERROR")} โ ๏ธ\`\`\`\n\n> *${await tr("Reporta el siguiente error a mi creador con el comando:")}* #report\n\n>>> ${e} <<<< `)
+console.log('[โ] Error, ninguna api funcional.\n' + error);
+m.react('โ')
+}}}}}}}
+handler.help = ["dalle"]
+handler.tags = ["buscadores"]
+handler.command = ['dall-e', 'dalle', 'ia2', 'cimg', 'openai3', 'a-img', 'aimg', 'imagine'];
+handler.register = true
+handler.limit = 1
+export default handler;
+
+const flux = async (prompt) => {
+ const url = `https://lusion.regem.in/access/flux.php?prompt=${encodeURIComponent(prompt)}`
+ const headers = {
+ Accept: "*/*",
+ "User-Agent":
+ "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, seperti Gecko) Chrome/129.0.0.0 Mobile Safari/537.36",
+ Referer: "https://lusion.regem.in/?ref=taaft&utm_source=taaft&utm_medium=referral",
+ }
+ const response = await fetch(url, { headers })
+ const html = await response.text()
+ const $ = cheerio.load(html)
+ return $("a.btn-navy.btn-sm.mt-2").attr("href") || null
}
+
+const writer = async (input) => {
+ const url = `https://ai-server.regem.in/api/index.php`
+ const headers = {
+ "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
+ Accept: "*/*",
+ "User-Agent":
+ "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, seperti Gecko) Chrome/129.0.0.0 Mobile Safari/537.36",
+ Referer: "https://regem.in/ai-writer/",
+ }
+ const formData = new URLSearchParams()
+ formData.append("input", input)
+ const response = await fetch(url, { method: "POST", headers, body: formData })
+ return response.text()
}
-handler.command = ['dall-e', 'dalle', 'ia2', 'cimg', 'openai2']
-handler.money = 20
-handler.register = true
-export default handler
+const rephrase = async (input) => {
+ const url = `https://ai-server.regem.in/api/rephrase.php`
+ const headers = {
+ "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
+ Accept: "*/*",
+ "User-Agent":
+ "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, seperti Gecko) Chrome/129.0.0.0 Mobile Safari/537.36",
+ Referer: "https://regem.in/ai-rephrase-tool/",
+ }
+ const formData = new URLSearchParams()
+ formData.append("input", input)
+ const response = await fetch(url, { method: "POST", headers, body: formData })
+ return response.text()
+}
\ No newline at end of file
diff --git a/plugins/herramientas-dropmail.js b/plugins/herramientas-dropmail.js
deleted file mode 100644
index c53892ea1..000000000
--- a/plugins/herramientas-dropmail.js
+++ /dev/null
@@ -1,131 +0,0 @@
-import fetch from 'node-fetch';
-const handler = async (m, {
- conn,
- isOwner,
- usedPrefix,
- command,
- text,
-}) => {
- conn.dropmail = conn.dropmail ? conn.dropmail : {};
- const id = 'dropmail';
-
- const lister = [
- 'create',
- 'message',
- 'delete',
- ];
-
- const [feature, inputs, inputs_, inputs__, inputs___] = text.split(' ');
- if (!lister.includes(feature)) return m.reply('*Ejemplo:*\n' + usedPrefix + command + ' create\n\n*Seleccione un tipo existente*\n' + lister.map((v, index) => ' โ ' + v).join('\n'));
-
- if (lister.includes(feature)) {
- if (feature == 'create') {
- try {
- const eml = await random_mail();
- const timeDiff = new Date(eml[2]) - new Date();
- conn.dropmail[id] = [
- await m.reply('*EMAIL:*\n' + eml[0] + '\n\n' + '*ID:*\n' + eml[1] + '\n\n*Expired:*\n' + msToTime(timeDiff) + '\n\n_Ejemplo *' + usedPrefix + command + ' message* Para comprobar la bandeja de entrada_'),
- eml[0],
- eml[1],
- eml[2],
- ];
- } catch (e) {
- await m.reply(`Error`);
- }
- }
-
- if (feature == 'message') {
- if (!conn.dropmail[id]) return m.reply('No hay mensajes, cree un correo electrรณnico primero\nEjemplo *' + usedPrefix + command + ' create*');
-
- try {
- const eml = await get_mails(conn.dropmail[id][2]);
- const teks = eml[0].map((v, index) => {
- return `*EMAIL [ ${index + 1} ]*
-*De* : ${v.fromAddr}
-*Para* : ${v.toAddr}
-
-*Mensaje* : ${v.text}
-*Tamaรฑo* : ${formatSize(v.rawSize)}
-*Encabezamiento* : ${v.headerSubject}
-*Download* : ${v.downloadUrl}
- `.trim();
- }).filter((v) => v).join('\n\n________________________\n\n');
- await m.reply(teks || '*VACรO*' + '\n\n_Ejemplo *' + usedPrefix + command + ' delete* Para eliminar correos electrรณnicos_');
- } catch (e) {
- await m.reply(`Error`);
- }
- }
- if (feature == 'delete') {
- if (!conn.dropmail[id]) return m.reply('No hay correo valido');
-
- try {
- delete conn.dropmail[id];
- await m.reply('Correo electrรณnico eliminado con รฉxito');
- } catch (e) {
- await m.reply(`Error`);
- }
- }
- }
-};
-handler.help = ['dropmail'];
-handler.tags = ['misc'];
-handler.command = /^(dropmail)$/i;
-export default handler;
-
-function msToTime(duration) {
- const milliseconds = parseInt((duration % 1000) / 100);
- const seconds = Math.floor((duration / 1000) % 60);
- const minutes = Math.floor((duration / (1000 * 60)) % 60);
- const hours = Math.floor((duration / (1000 * 60 * 60)) % 24);
-
- return `${hours}h ${minutes}m ${seconds}s ${milliseconds}ms`;
-}
-
-function formatSize(sizeInBytes) {
- const units = ['B', 'KB', 'MB', 'GB', 'TB'];
- let index = 0;
-
- while (sizeInBytes >= 1024 && index < units.length - 1) {
- sizeInBytes /= 1024;
- index++;
- }
-
- return sizeInBytes.toFixed(2) + ' ' + units[index];
-}
-
-async function random_mail() {
- const link = 'https://dropmail.me/api/graphql/web-test-wgq6m5i?query=mutation%20%7BintroduceSession%20%7Bid%2C%20expiresAt%2C%20addresses%20%7Baddress%7D%7D%7D';
-
- try {
- const response = await fetch(link);
- if (!response.ok) {
- throw new Error(`HTTP error! status: ${response.status}`);
- }
- const data = await response.json();
- const email = data['data']['introduceSession']['addresses'][0]['address'];
- const id_ = data['data']['introduceSession']['id'];
- const time = data['data']['introduceSession']['expiresAt'];
-
- return [email, id_, time];
- } catch (error) {
- console.log(error);
- }
-}
-
-async function get_mails(id_) {
- const link = `https://dropmail.me/api/graphql/web-test-wgq6m5i?query=query%20(%24id%3A%20ID!)%20%7Bsession(id%3A%24id)%20%7B%20addresses%20%7Baddress%7D%2C%20mails%7BrawSize%2C%20fromAddr%2C%20toAddr%2C%20downloadUrl%2C%20text%2C%20headerSubject%7D%7D%20%7D&variables=%7B%22id%22%3A%22${id_}%22%7D`;
-
- try {
- const response = await fetch(link);
- if (!response.ok) {
- throw new Error(`HTTP error! status: ${response.status}`);
- }
- const data = await response.json();
- const inbox = data['data']['session']['mails'];
-
- // return the size of the inbox to verify the amount of mail and whether the mail has arrived
- return [inbox, inbox.length];
- } catch (error) {
- console.log(error);
- }
-}
diff --git a/plugins/herramientas-encuesta.js b/plugins/herramientas-encuesta.js
index a42d98bc3..9ee69b1a1 100644
--- a/plugins/herramientas-encuesta.js
+++ b/plugins/herramientas-encuesta.js
@@ -1,14 +1,15 @@
-/* Creditos a https://github.com/ALBERTO9883 */
-
let handler = async (m, { conn, text, args, usedPrefix, command }) => {
-if (!args[0]) throw `โ ๏ธ๏ธ _๐๐ฃ๐๐ง๐๐จ๐ ๐ช๐ฃ ๐ฉ๐๐ญ๐ฉ๐ค ๐ฅ๐๐ง๐ ๐๐ฃ๐๐๐๐๐ง ๐ก๐ ๐๐ฃ๐๐ช๐๐จ๐ฉ๐!_\n\n๐ ๐๐๐๐ข๐ฅ๐ก๐ค : \n*${usedPrefix + command}* texto|texto2...`
-if (!text.includes('|')) throw `*โ ๏ธ๏ธ ๐บ๐๐๐๐๐ ๐๐ ๐๐๐๐๐๐๐๐ ๐๐๐* *|* \n\n๐ ๐ฌ๐๐๐๐๐๐ : \n*${usedPrefix + command}* texto|texto2...`
-let a = []
-let b = text.split('|')
-for (let c = 0; c < b.length; c++) { a.push([b[c]]) }
-return conn.sendPoll(m.chat, `๐ *๐ฌ๐๐๐๐๐๐๐ ๐๐๐๐:*\n\n${text}`, a, m)}
-handler.help = ['encuesta ']
-handler.tags = ['group']
-handler.command = ['poll', 'encuesta']
+let opciones = text.split('|');
+if (!opciones[0]) return conn.reply(m.chat, await tr(`โ ๏ธ Usar el comando de la siguiente forma:\n*${usedPrefix + command} Motivo de Encuesta|Opciรณn1|Opciรณn2|Opciรณn3...*`), m);
+if (!opciones[1]) return conn.reply(m.chat, await tr(`โ ๏ธ Para crear opciones, este es el formato:\n*${usedPrefix + command} Motivo de Encuesta|Opciรณn1|Opciรณn2|Opciรณn3...*`), m);
+if (opciones.length > 13) return conn.reply(m.chat, `โ ๏ธ ๐๐ผ๐๐๐๐ *12* ๐๐๐พ๐๐๐๐๐!!`, m);
+let pregunta = opciones[0];
+let respuestas = opciones.slice(1);
+let mensaje = `๐ ${await tr("Encuesta creada por")}:\n*โค๏ธโข ${conn.getName(m.sender)}*\n\n${pregunta}`;
+await conn.sendMessage(m.chat, { poll: { name: pregunta, values: respuestas, selectableCount: 1 }}, { quoted: m });
+};
+handler.help = ['poll', 'encuesta'];
+handler.tags = ['tools'];
+handler.command = ['poll', 'encuesta', 'crearencuesta', 'startpoll', 'encuestas', 'polls'];
handler.register = true
-export default handler
+export default handler;
diff --git a/plugins/herramientas-fakeReply.js b/plugins/herramientas-fakeReply.js
index 2125d66c1..b090bf6d9 100644
--- a/plugins/herramientas-fakeReply.js
+++ b/plugins/herramientas-fakeReply.js
@@ -1,26 +1,23 @@
-
const handler = async (m, {conn, text, usedPrefix, command}) => {
- if (!text) return m.reply(`*[โ] USO DEL COMANDO*\n\n*${usedPrefix + command}* hola @${m.sender.split`@`[0]} a`, null, {mentions: [m.sender]});
- const cm = copy(m);
- let who;
- if (text.includes('@0')) who = '0@s.whatsapp.net';
+if (!text) return m.reply(`*โ ๏ธ ${await tr("Uso del comando")}*\n\n*${usedPrefix + command}* hola @${m.sender.split`@`[0]} a`, null, {mentions: [m.sender]});
+const cm = copy(m);
+let who;
+if (text.includes('@0')) who = '0@s.whatsapp.net';
else if (m.isGroup) who = cm.participant = m.mentionedJid[0];
- else who = m.chat;
- if (!who) return m.reply(`*[โ] USO DEL COMANDO*\n\n*${usedPrefix + command}* hola @${m.sender.split`@`[0]} a`, null, {mentions: [m.sender]});
- cm.key.fromMe = false;
- cm.message[m.mtype] = copy(m.msg);
- const sp = '@' + who.split`@`[0];
- const [fake, ...real] = text.split(sp);
- conn.fakeReply(m.chat, real.join(sp).trimStart(), who, fake.trimEnd(), m.isGroup ? m.chat : false, {
- contextInfo: {
- mentionedJid: conn.parseMention(real.join(sp).trim()),
- },
- });
-};
+else who = m.chat;
+if (!who) return m.reply(`*โ ๏ธ ${await tr("Uso del comando")}*\n\n*${usedPrefix + command}* hola @${m.sender.split`@`[0]} a`, null, {mentions: [m.sender]});
+cm.key.fromMe = false;
+cm.message[m.mtype] = copy(m.msg);
+const sp = '@' + who.split`@`[0];
+const [fake, ...real] = text.split(sp);
+conn.fakeReply(m.chat, real.join(sp).trimStart(), who, fake.trimEnd(), m.isGroup ? m.chat : false, { contextInfo: { mentionedJid: conn.parseMention(real.join(sp).trim()),
+},
+})};
handler.help = ['fake @user '];
handler.tags = ['tools'];
handler.command = /^(fitnah|fakereply|fake)$/;
-
+handler.register = true
+handler.limit = 3
export default handler;
function copy(obj) {
diff --git a/plugins/herramientas-fixmsgespera.js b/plugins/herramientas-fixmsgespera.js
new file mode 100644
index 000000000..ee1b39553
--- /dev/null
+++ b/plugins/herramientas-fixmsgespera.js
@@ -0,0 +1,32 @@
+import { readdirSync, unlinkSync, existsSync, promises as fs, rmSync } from 'fs';
+import path from 'path';
+
+const handler = async (m, { conn, usedPrefix }) => {
+if (global.conn.user.jid !== conn.user.jid) {
+return conn.sendMessage(m.chat, {text: await tr('*โ ๏ธ Utiliza este comando directamente en el nรบmero principal del Bot*')}, {quoted: m})}
+const chatId = m.isGroup ? [m.chat, m.sender] : [m.sender];
+const sessionPath = './BotSession'
+try {
+const files = await fs.readdir(sessionPath);
+let filesDeleted = 0;
+for (const file of files) {
+for (const id of chatId) {
+if (file.includes(id.split('@')[0])) {
+await fs.unlink(path.join(sessionPath, file));
+filesDeleted++;
+break;
+}}}
+if (filesDeleted === 0) {
+await conn.sendMessage(m.chat, {text: await tr('*No se encontrรณ ningรบn archivo que incluya la ID del chat*')}, {quoted: m});
+} else {
+await conn.sendMessage(m.chat, {text: await tr(`*Se eliminaron ${filesDeleted} archivos de sesiรณn*`)}, {quoted: m})
+}} catch (err) {
+console.error('Error al leer la carpeta o los archivos de sesiรณn:', err);
+await conn.sendMessage(m.chat, {text: await tr('*Ocurriรณ un error al eliminar los archivos de sesiรณn*')}, {quoted: m});
+}
+await conn.sendMessage(m.chat, {text: await tr(`Hola, Ya funciona? :v`)}, {quoted: m});
+};
+handler.help = ['ds']
+handler.tags = ['tools']
+handler.command = /^(fixmsgespera|ds)$/i;
+export default handler;
\ No newline at end of file
diff --git a/plugins/herramientas-githubstalk.js b/plugins/herramientas-githubstalk.js
deleted file mode 100644
index b4e9b93b1..000000000
--- a/plugins/herramientas-githubstalk.js
+++ /dev/null
@@ -1,60 +0,0 @@
-import axios from 'axios'
-var handler = async(m, { conn, text }) => {
-
- if (!text) return conn.reply(m.chat, '*โ ๏ธ INGRESE EL NOMBRE DE UN USUARIO DE GITHUB*', m)
-
- await m.reply('*B U S C A N D O โ
*')
- let request = await githubstalk(text)
- let { username, following, followers, type, bio, company, blog, location, email, public_repo, public_gists, profile_pic } = request
- let thumb = await (profile_pic)
- let hasil = `*โฌคโโ ใ ๐๐๐๐๐๐ฝ ๐๐๐ผ๐๐ ใ โโโฌค*
-โธ *nombre de usuario*: ${username}
-โธ *Bio*: ${bio}
-โธ *Compaรฑรญa*: ${company}
-โธ *Email:* ${email}
-โธ *blogs:* ${blog}
-โธ *Repositorios pรบblicos:* ${public_repo}
-โธ *Esenciales pรบblicas:* ${public_gists}
-โธ *seguidores:* ${followers}
-โธ *siguiente:* ${following}
-โธ *Ubicaciรณn:* ${location}
-โธ *tipo:* ${type}
-`
-
- conn.sendFile(m.chat, img, 'githubstalk.jpg', hasil, m)
-}
-handler.help = ['githubstalk'].map(v => v + ' ')
-handler.tags = ['internet']
-handler.command = /^(githubstalk)$/i
-
-export default handler
-
-async function githubstalk(user) {
- return new Promise((resolve, reject) => {
- axios.get('https://api.github.com/users/'+user)
- .then(({ data }) => {
- let hasil = {
- username: data.login,
- nickname: data.name,
- bio: data.bio,
- id: data.id,
- nodeId: data.node_id,
- profile_pic: data.avatar_url,
- url: data.html_url,
- type: data.type,
- admin: data.site_admin,
- company: data.company,
- blog: data.blog,
- location: data.location,
- email: data.email,
- public_repo: data.public_repos,
- public_gists: data.public_gists,
- followers: data.followers,
- following: data.following,
- ceated_at: data.created_at,
- updated_at: data.updated_at
- }
- resolve(hasil)
- })
- })
-}
diff --git a/plugins/herramientas-hd.js b/plugins/herramientas-hd.js
new file mode 100644
index 000000000..983084f55
--- /dev/null
+++ b/plugins/herramientas-hd.js
@@ -0,0 +1,66 @@
+import FormData from "form-data"
+import Jimp from "jimp"
+
+const handler = async (m, {conn, usedPrefix, command}) => {
+try {
+let q = m.quoted ? m.quoted : m
+let mime = (q.msg || q).mimetype || q.mediaType || ""
+
+if (!mime.startsWith('image')) throw await tr(`โ ๏ธ Responde a una imagen!`)
+await m.react('โ')
+
+let img = await q.download?.()
+if (!img) throw await tr(`โ ๏ธ No se pudo descargar la imagen. Por favor intenta nuevamente.`)
+let pr = await remini(img, "enhance")
+
+if (!pr) throw await tr(`โ ๏ธ Hubo un problema al procesar la imagen. Intenta nuevamente mรกs tarde.`)
+await conn.sendFile(m.chat, pr, 'thumbnail.jpg', await tr("*Aqui tiene sus imagen en HD*"), m, null, fake)
+await m.react('โ
')
+} catch (e) {
+handler.limit = 0
+await m.react('โ')
+console.error(e)
+m.reply(`โ ๏ธ Ocurriรณ un error: ${e.message}`)
+}}
+handler.help = ["hd"]
+handler.tags = ["tools"]
+handler.command = ["remini", "hd", "enhance"]
+handler.register = true
+handler.limit = 1
+export default handler
+
+async function remini(imageData, operation) {
+ return new Promise(async (resolve, reject) => {
+ const availableOperations = ["enhance", "recolor", "dehaze"]
+ if (!availableOperations.includes(operation)) {
+ operation = availableOperations[0]
+ }
+
+ const baseUrl = "https://inferenceengine.vyro.ai/" + operation + ".vyro"
+ const formData = new FormData()
+ formData.append("image", Buffer.from(imageData), {filename: "enhance_image_body.jpg", contentType: "image/jpeg"})
+ formData.append("model_version", 1, {"Content-Transfer-Encoding": "binary", contentType: "multipart/form-data; charset=utf-8"})
+
+ formData.submit({
+ url: baseUrl,
+ host: "inferenceengine.vyro.ai",
+ path: "/" + operation,
+ protocol: "https:",
+ headers: {
+ "User-Agent": "okhttp/4.9.3",
+ "Connection": "Keep-Alive",
+ "Accept-Encoding": "gzip"
+ }
+ }, function (err, res) {
+ if (err) {
+ reject(new Error(`Error en la solicitud a la API: ${err.message}`))
+ }
+ const chunks = []
+ res.on("data", function (chunk) { chunks.push(chunk) })
+ res.on("end", function () { resolve(Buffer.concat(chunks)) })
+ res.on("error", function (err) {
+ reject(new Error(`Error al recibir la respuesta: ${err.message}`))
+ })
+ })
+ })
+}
diff --git a/plugins/herramientas-inspect.js b/plugins/herramientas-inspect.js
deleted file mode 100644
index 5b52b6595..000000000
--- a/plugins/herramientas-inspect.js
+++ /dev/null
@@ -1,85 +0,0 @@
-//import * as baileys from '@adiwajshing/baileys'
-let baileys = (await import(global.baileys)).default
-
-let handler = async (m, { conn, text }) => {
- let [, code] = text.match(/chat\.whatsapp\.com\/(?:invite\/)?([0-9A-Za-z]{20,24})/i) || []
- if (!code) throw `${lenguajeGB['smsAvisoMG']()}๐๐๐๐๐๐๐ ๐๐ ๐๐๐๐ ๐ฟ๐๐ ๐๐๐๐๐`
- let res = await conn.query({ tag: 'iq', attrs: { type: 'get', xmlns: 'w:g2', to: '@g.us' }, content: [{ tag: 'invite', attrs: { code } }] }),
- data = extractGroupMetadata(res),
- txt = Object.keys(data).map(v => `*${v.capitalize()}:* ${data[v]}`).join('\n'),
- pp = await conn.profilePictureUrl(data.id, 'image').catch(console.error)
- if (pp) return conn.sendMessage(m.chat, { image: { url: pp }, caption: txt }, { quoted: m })
- let groupinfo = `*โโโโโโโโโโโโโโโโโ*
-*โโ๏ธ โซนโซบ ID: ${data.id}*
-*โ๐งช โซนโซบ Nombre: ${data.subject}*
-*โ๐
โซนโซบ Creado: ${data.creation}*
-*โ๐ โซนโซบ Owner: ${data.owner}*
-*โ๐ โซนโซบ La descripciรณn se enviarรกn a continuaciรณn ๐๐๐*
-*โโโโโโโโโโโโโโโโโ*`
- await conn.reply(m.chat, groupinfo, m)
- await conn.reply(m.chat, `${data.desc}`, m)
-}
-handler.command = /^(inspect)$/i
-handler.register = true
-handler.level = 3
-export default handler
-
-const extractGroupMetadata = (result) => {
- const group = baileys.getBinaryNodeChild(result, 'group')
- const descChild = baileys.getBinaryNodeChild(group, 'description')
- let desc
- if (descChild) desc = baileys.getBinaryNodeChild(descChild, 'body')?.content
- const metadata = {
- id: group.attrs.id.includes('@') ? group.attrs.id : baileys.jidEncode(group.attrs.id, 'g.us'),
- subject: group.attrs.subject,
- creation: new Date(+group.attrs.creation * 1000).toLocaleString('id', { timeZone: 'Asia/Jakarta' }),
- owner: group.attrs.creator ? 'wa.me/' + baileys.jidNormalizedUser(group.attrs.creator).split('@')[0] :
- // group.attrs.s_o ? 'wa.me/' + baileys.jidNormalizedUser(group.attrs.s_o).split('@')[0] :
- group.attrs.id.includes('-') ? 'wa.me/' + group.attrs.id.split('-')[0] : '',
- desc
- }
- return metadata
-}
-
-/*import * as baileys from '@adiwajshing/baileys'
-
-let handler = async (m, { conn, text }) => {
- let [, code] = text.match(/chat\.whatsapp\.com\/(?:invite\/)?([0-9A-Za-z]{20,24})/i) || []
- if (!code) throw '*โ ๏ธ Ingrese el link de un grupo*'
- let res = await conn.query({ tag: 'iq', attrs: { type: 'get', xmlns: 'w:g2', to: '@g.us' }, content: [{ tag: 'invite', attrs: { code } }] }),
- data = extractGroupMetadata(res),
- txt = Object.keys(data).map(v => `*${v.capitalize()}:* ${data[v]}`).join('\n'),
- pp = await conn.profilePictureUrl(data.id, 'image').catch(console.error)
- let groupinfo = `
-*โโโโโโโโโโโโโโโโโ*
-*โโ๏ธ โซนโซบ ID:* ${data.id}โ
-*โ๐งช โซนโซบ Nombre:* ${data.subject}
-*โ๐
โซนโซบ Creado:* ${data.creation}
-*โ๐ โซนโซบ Owner:* ${data.owner}
-*โโโโโโโโโโโโโโโโโ*
-`
- await conn.reply(m.chat, groupinfo, m)
- const botones = [
-{index: 1, urlButton: {displayText: `Copiar Descripciรณn ๐`, url: `https://www.whatsapp.com/otp/copy/${data.desc}`}},
-]
-await conn.sendMessage(m.chat, { text: `*โโโโโโโโโโโโโโโโ*\nโยฟDesa copiar la desc? โข๐ท\n*โโโโโโโโโโโโโโโโ*`, templateButtons: botones, footer: wm })
-}
-handler.command = /^(inspect)$/i
-
-export default handler
-handler.owner = false
-
-const extractGroupMetadata = (result) => {
- const group = baileys.getBinaryNodeChild(result, 'group')
- const descChild = baileys.getBinaryNodeChild(group, 'description')
- let desc
- if (descChild) desc = baileys.getBinaryNodeChild(descChild, 'body')?.content
- const metadata = {
- id: group.attrs.id.includes('@') ? group.attrs.id : baileys.jidEncode(group.attrs.id, 'g.us'),
- subject: group.attrs.subject,
- creation: new Date(+group.attrs.creation * 1000).toLocaleString('id', { timeZone: 'America/Los_Angeles' }),
- owner: group.attrs.creator ? 'wa.me/' + baileys.jidNormalizedUser(group.attrs.creator).split('@')[0] : undefined,
- desc
- }
- return metadata
-}*/
diff --git a/plugins/herramientas-morce.js b/plugins/herramientas-morce.js
deleted file mode 100644
index 2f0dedefa..000000000
--- a/plugins/herramientas-morce.js
+++ /dev/null
@@ -1,149 +0,0 @@
-let handler = async(m, { conn, usedPrefix, command, text }) => {
-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"
-}
-
- let enc = {
- "a": "โข-",
- "b": "-โขโขโข",
- "c": "-โข-โข",
- "d": "-โขโข",
- "e": "โข",
- "f": "โขโข-โข",
- "g": "--โข",
- "h": "โขโขโขโข",
- "i": "โขโข",
- "j": "โข---",
- "k": "-โข-",
- "l": "โข-โขโข",
- "m": "--",
- "n": "-โข",
- "o": "---",
- "p": "โข--โข",
- "q": "--โข-",
- "r": "โข-โข",
- "s": "โขโขโข",
- "t": "-",
- "u": "โขโข-",
- "v": "โขโขโข-",
- "w": "โข--",
- "x": "-โขโข-",
- "y": "-โข--",
- "z": "--โขโข",
- "0": "-----",
- "1": "โข----",
- "2": "โขโข---",
- "3": "โขโขโข--",
- "4": "โขโขโขโข-",
- "5": "โขโขโขโขโข",
- "6": "-โขโขโขโข",
- "7": "--โขโขโข",
- "8": "---โขโข",
- "9": "----โข",
- "?": "โขโข--โขโข",
- "!": "-โข-โข--",
- ".": "โข-โข-โข-",
- ",": "--โขโข--",
- ";": "-โข-โข-โข",
- ":": "---โขโขโข",
- "+": "โข-โข-โข",
- "-": "-โขโขโขโข-",
- "/": "-โขโข-โข",
- "=": "-โขโขโข-",
- " ": "/"
- }
-
- let dec = {
- "-----": "0",
- "โข----": "1",
- "โขโข---": "2",
- "โขโขโข--": "3",
- "โขโขโขโข-": "4",
- "โขโขโขโขโข": "5",
- "-โขโขโขโข": "6",
- "--โขโขโข": "7",
- "---โขโข": "8",
- "----โข": "9",
- "โข-": "a",
- "-โขโขโข": "b",
- "-โข-โข": "c",
- "-โขโข": "d",
- "โข": "e",
- "โขโข-โข": "f",
- "--โข": "g",
- "โขโขโขโข": "h",
- "โขโข": "i",
- "โข---": "j",
- "-โข-": "k",
- "โข-โขโข": "l",
- "--": "m",
- "-โข": "n",
- "---": "o",
- "โข--โข": "p",
- "--โข-": "q",
- "โข-โข": "r",
- "โขโขโข": "s",
- "-": "t",
- "โขโข-": "u",
- "โขโขโข-": "v",
- "โข--": "w",
- "-โขโข-": "x",
- "-โข--": "y",
- "--โขโข": "z",
- "โขโข--โขโข": "?",
- "-โข-โข--": "!",
- "โข-โข-โข-": ".",
- "--โขโข--": ",",
- "-โข-โข-โข": ";",
- "---โขโขโข": ":",
- "โข-โข-โข": "+",
- "-โขโขโขโข-": "-",
- "-โขโข-โข": "/",
- "-โขโขโข-": "=",
- "/": " "
- }
-
-let selected = text.toLowerCase().split(" ")[0] + " "
-if(selected == "codificar ") {
-let str = text.replace(selected, "").toLowerCase()
-let Output_Morse = ""
-for(let i of str) {
-if(!enc[i]) Output_Morse += i
-for(let j in enc) {
-if(j == i) Output_Morse += enc[i] + " "
-}}
-
-return conn.reply(m.chat, Output_Morse, fkontak, m)
-} else if(selected == "decodificar ") {
-let str = text.replace(selected, "").replace(/[.]/g, "โข")
-let Output_String = ""
-for(let i of str.split(" ")) {
-if(!dec[i]) Output_String += i
-for(let j in dec) {
-if(j == i) Output_String += dec[i]
-}}
-return conn.reply(m.chat, Output_String, fkontak, m)
-} else {
-return conn.reply(m.chat, `${mg}๐ฃ ๐พ๐๐ฟ๐๐พ๐ ๐๐๐๐๐ ๐พ๐๐ฟ๐๐๐๐พ๐ผ๐/๐ฟ๐๐พ๐๐ฟ๐๐๐๐พ๐ผ๐\n\n๐๐ผ๐๐ผ ๐พ๐๐ฟ๐๐๐๐พ๐ผ๐ ๐๐๐ *:* ๐๐ ๐๐๐พ๐๐ฟ๐ ๐๐๐n*${usedPrefix}${command} codificar Hola*\n\n๐๐ผ๐๐ผ ๐ฟ๐๐พ๐๐ฟ๐๐๐๐พ๐ผ๐ ๐๐๐ *:* ๐๐ ๐ฟ๐๐พ๐๐ฟ๐ ๐๐๐\n*${usedPrefix}${command} decodificar โขโขโขโข --- โข-โขโข โข- / --โข โข- - โข-*\n*${usedPrefix}${command} decodificar โขโขโขโข โข โข-โขโข โข-โขโข --- / --โข โข- - โข-*`, fkontak, m)
-}}
-
-handler.help = ["morse"].map(v => v + " ")
-handler.tags = ["tools"]
-
-handler.command = /^(morse|morce)/i
-handler.level = 1
-handler.limit = 3
-handler.register = true
-
-export default handler
diff --git a/plugins/herramientas-nowa.js b/plugins/herramientas-nowa.js
index 8d988ee57..4d3ea3b4c 100644
--- a/plugins/herramientas-nowa.js
+++ b/plugins/herramientas-nowa.js
@@ -4,8 +4,13 @@
-----------------------------------------------------------------------------------------*/
let handler = async (m, { conn, text, usedPrefix, command }) => {
let regex = /x/g
-if (!text) throw 'โ ๏ธ ๐ ๐๐ก ๐ฃ๐ชฬ๐ข๐๐ง๐ค๐ค'
-if (!text.match(regex)) throw `*๐ฌ๐๐๐๐๐๐ ๐
๐๐ ๐๐๐: ${usedPrefix + command} 521999340434x*`
+if (!text) return await m.reply(await tr('โ ๏ธ Y el nรบmero ๐ค'))
+if (!text.match(regex)) throw await tr(`*Ejemplo del uso: ${usedPrefix + command} 521999340434x*`)
+let msgtxt1 = await tr("Registrado")
+let msgtxt2 = await tr("Nรบmero")
+let msgtxt3 = await tr("Descripciรณn")
+let msgtxt4 = await tr("Fecha")
+let msgtxt5 = await tr("No Registrado")
let random = text.match(regex).length, total = Math.pow(10, random), array = []
for (let i = 0; i < total; i++) {
let list = [...i.toString().padStart(random, '0')]
@@ -16,10 +21,13 @@ array.push({ exists: true, jid: result, ...info })
} else {
array.push({ exists: false, jid: result })
}}
-let txt = '๐น๐๐๐๐๐๐๐๐
๐\n\n' + array.filter(v => v.exists).map(v => `โข ๐ต๐ฬ๐๐๐๐: wa.me/${v.jid.split('@')[0]}\n*โข ๐ซ๐๐๐:* ${v.status || 'Sin descripcion'}\n*โข ๐ญ๐๐๐๐:* ${formatDate(v.setAt)}`).join('\n\n') + '\n\n*๐ต๐ ๐๐๐๐๐๐๐๐๐
๐*\n\n' + array.filter(v => !v.exists).map(v => v.jid.split('@')[0]).join('\n')
+let txt = await tr(msgtxt1 + '\n\n') + array.filter(v => v.exists).map(v => `โข ${msgtxt2}: wa.me/${v.jid.split('@')[0]}\n*โข ${msgtxt3}:* ${v.status || 'Sin descripcion'}\n*โข ${msgtxt4}:* ${formatDate(v.setAt)}`).join('\n\n') + `\n\n*${msgtxt5}:*\n\n` + array.filter(v => !v.exists).map(v => v.jid.split('@')[0]).join('\n')
m.reply(txt)
}
+handler.help = ["nowa"]
+handler.tags = ["tools"]
handler.command = /^nowa$/i
+handler.register = true
export default handler
function formatDate(n, locale = 'id') {
let d = new Date(n)
diff --git a/plugins/herramientas-npm.js b/plugins/herramientas-npm.js
new file mode 100644
index 000000000..9124c03eb
--- /dev/null
+++ b/plugins/herramientas-npm.js
@@ -0,0 +1,21 @@
+//import { generateWAMessageFromContent } from "@whiskeysockets/baileys"
+let { generateWAMessageFromContent } = (await import(global.baileys))
+import fetch from 'node-fetch'
+
+let handler = async (m, { text }) => {
+if (!text) throw await tr('โ ๏ธ *Ingrese el nombre del modulo que desea buscar?*')
+let res = await fetch(`http://registry.npmjs.com/-/v1/search?text=${text}`)
+let { objects } = await res.json()
+if (!objects.length) throw await tr(`โ ๏ธ *No se encontrรณ resultados de _"${text}"_*`)
+let txt = objects.map(({ package: pkg }) => {
+return `*${pkg.name}* (v${pkg.version})\n_${pkg.links.npm}_\n_${pkg.description}_`
+}).join`\n\n`
+let prep = generateWAMessageFromContent(m.chat, { extendedTextMessage: { text: txt, contextInfo: { externalAdReply: { title: '๐ ๐๐ฎ๐ฌ๐๐๐๐จ๐ซ ๐๐๐๐๐', body: botname, thumbnailUrl: 'https://telegra.ph/file/f40f44ea9fc4c49fe6f2f.jpg', sourceUrl: md }}}}, { quoted: m })
+conn.relayMessage(m.chat, prep.message, { messageId: prep.key.id })
+}
+handler.help = ['npmsearch']
+handler.tags = ['tools']
+handler.command = /^npm(js|search)?$/i
+handler.register = true
+handler.limit = 1
+export default handler
\ No newline at end of file
diff --git a/plugins/herramientas-obfuscator.js b/plugins/herramientas-obfuscator.js
deleted file mode 100644
index e00eca8b6..000000000
--- a/plugins/herramientas-obfuscator.js
+++ /dev/null
@@ -1,12 +0,0 @@
-import JavaScriptObfuscator from 'javascript-obfuscator'
-
-let handler = async(m, { conn, text }) => {
-if (!text) return m.reply("*Ingresa el codigo que vas a ofuscar.*")
-function obfuscateCode(code) {
- return JavaScriptObfuscator.obfuscate(code, { compact: false, controlFlowFlattening: true, deadCodeInjection: true, simplify: true, numbersToExpressions: true }).getObfuscatedCode();
-}
-let obfuscatedCode = await obfuscateCode(text);
-conn.sendMessage(m.chat, {text: obfuscatedCode}, {quoted: m});
-}
-handler.command = /^(ofuscar|ofuscador)$/i
-export default handler
diff --git a/plugins/herramientas-qrcode.js b/plugins/herramientas-qrcode.js
deleted file mode 100644
index af4696214..000000000
--- a/plugins/herramientas-qrcode.js
+++ /dev/null
@@ -1,11 +0,0 @@
-import { toDataURL } from 'qrcode'
-let handler = async (m, { text, conn }) => {
-if (!text) throw `${mg}๐ฌ๐๐๐๐๐๐ ๐๐ ๐๐๐๐๐ ๐๐๐๐ ๐๐๐๐๐๐๐๐๐ ๐๐ ๐๐ฬ๐
๐๐๐ ๐ธ๐น`
-conn.sendFile(m.chat, await toDataURL(text.slice(0, 2048), { scale: 8 }), 'qrcode.png', wm, m)
-}
-handler.help = ['', 'code'].map(v => 'qr' + v + ' ')
-handler.tags = ['tools']
-handler.command = /^qr(code)?$/i
-handler.limit = 1
-handler.register = true
-export default handler
diff --git a/plugins/herramientas-readmore.js b/plugins/herramientas-readmore.js
index a887a925d..dda6236f0 100644
--- a/plugins/herramientas-readmore.js
+++ b/plugins/herramientas-readmore.js
@@ -2,13 +2,30 @@ let handler = async (m, { conn, text }) => {
let [l, r] = text.split`|`
if (!l) l = ''
if (!r) r = ''
+
+function insertReadMoreEverySixWords(str) {
+let words = str.split(' ');
+let result = [];
+for (let i = 0; i < words.length; i += 6) {
+result.push(words.slice(i, i + 6).join(' '));
+}
+return result.join(` ${readMore} `);
+}
+
+if (l.split(' ').length > 6) {
+l = insertReadMoreEverySixWords(l);
+}
+if (r.split(' ').length > 6) {
+r = insertReadMoreEverySixWords(r);
+}
+
conn.reply(m.chat, l + readMore + r, m)
}
-handler.help = ['readmore', 'spoiler'].map(v => v + ' |')
+handler.help = ['readmore |']
handler.tags = ['tools']
-handler.command = /^(spoiler|hidetext|readmore|selengkapnya)$/i
+handler.command = ['leermas', 'readmore']
+handler.register = true
handler.limit = 1
-handler.register = true
export default handler
const more = String.fromCharCode(8206)
diff --git a/plugins/herramientas-repetir.js b/plugins/herramientas-repetir.js
deleted file mode 100644
index d0ebad24a..000000000
--- a/plugins/herramientas-repetir.js
+++ /dev/null
@@ -1,1023 +0,0 @@
-let handler = async (m, { conn, text }) => {
-
- if (!text) return conn.reply(m.chat, 'Por favor ingrese el texto para repetir!', m)
-
- conn.reply(m.chat, `
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-${text}
-`.trim(), m)
-}
-handler.help = ['repeat ']
-handler.tags = ['tools']
-handler.command = /^(repeat|repetir)$/i
-handler.owner = false
-handler.mods = false
-handler.premium = false
-handler.group = false
-handler.private = false
-
-handler.admin = false
-handler.botAdmin = false
-
-handler.fail = null
-handler.limit = true
-
-export default handler
diff --git a/plugins/herramientas-spamwa.js b/plugins/herramientas-spamwa.js
deleted file mode 100644
index 4827c9b20..000000000
--- a/plugins/herramientas-spamwa.js
+++ /dev/null
@@ -1,43 +0,0 @@
-let handler = async (m, { conn, text, usedPrefix, command }) => {
-
-let time = global.db.data.users[m.sender].lastrob + 7200000
-if (new Date - global.db.data.users[m.sender].lastrob < 7200000) throw `*โฑ๏ธ ESPERA ${msToTime(time - new Date())}\n NO USER ESTE COMANDO CON UN MAL USO\n (wey por que no van vos hacerle spam a esta persona???? y no me use a mi para tu pinche pendejada)*`
-let [nomor, pesan, jumlah] = text.split('|')
-if (!nomor) throw `${mg}๐ฐ๐๐๐๐๐๐ ๐๐ ๐๐ฬ๐๐๐๐ ๐๐๐๐ ๐๐ ๐๐๐๐\n*โ ${usedPrefix + command} numero|texto|cantidad*\n๐ฌ๐๐๐๐๐๐\n*โ ${usedPrefix + command} 999999999999|Holaaa|35*`
-if (!pesan) throw `${mg}๐ฐ๐๐๐๐๐๐ ๐๐ ๐๐ฬ๐๐๐๐ ๐๐๐๐ ๐๐ ๐๐๐๐\n*โ ${usedPrefix + command} numero|texto|cantidad*\n๐ฌ๐๐๐๐๐๐\n*โ ${usedPrefix + command} 999999999999|Holaaa|35*`
-if (jumlah && isNaN(jumlah)) throw `๐ณ๐ ๐๐๐๐๐๐
๐๐
๐
๐๐๐ ๐
๐ ๐๐ ๐๐ ๐๐ฬ๐๐๐๐ ๐๐ ๐๐๐ ๐๐ ๐๐ ๐๐๐๐ฬ ๐๐๐๐\n*โ ${usedPrefix + command} numero|texto|cantidad*\n๐ฌ๐๐๐๐๐๐\n*โ ${usedPrefix + command} 999999999999|Holaaa|35*`
-await delay(10000)
-let fixedNumber = nomor.replace(/[-+<>@]/g, '').replace(/ +/g, '').replace(/^[0]/g, '62') + '@s.whatsapp.net'
-await delay(10000)
-let fixedJumlah = jumlah ? jumlah * 1 : 10
-if (fixedJumlah > 5) throw `${fg}๐ด๐ฬ๐๐๐๐ *5* ๐๐๐๐๐๐๐ ๐๐๐๐ ๐๐๐๐๐ ๐๐๐๐`
-await delay(10000)
-await m.reply(`${eg}๐ฌ๐ ๐๐๐๐ ๐๐ ๐๐๐๐๐ฬ *${fixedJumlah}* ๐ฝ๐๐๐๐ ๐ *${nomor}*`)
-await delay(10000)
-for (let i = fixedJumlah; i > 1; i--) {
-await delay(10000)
-if (i !== 0) conn.reply(fixedNumber, pesan.trim(), m)
-}
-global.db.data.users[m.sender].lastrob = new Date * 1
-}
-handler.help = ['spamwa ||']
-handler.tags = ['General']
-handler.command = /^spam(wa)?$/i
-handler.group = false
-handler.premium = false
-handler.private = true
-handler.level = 45
-handler.limit = 280
-handler.register = true
-export default handler
-const delay = time => new Promise(res => setTimeout(res, time))
-
-function msToTime(duration) {
-var milliseconds = parseInt((duration % 1000) / 100),
-seconds = Math.floor((duration / 1000) % 60),
-minutes = Math.floor((duration / (1000 * 60)) % 60),
-hours = Math.floor((duration / (1000 * 60 * 60)) % 24)
-hours = (hours < 10) ? "0" + hours : hours
-minutes = (minutes < 10) ? "0" + minutes : minutes
-seconds = (seconds < 10) ? "0" + seconds : seconds
-return hours + " Hora(s) " + minutes + " Minuto(s)"}
diff --git a/plugins/herramientas-ssweb.js b/plugins/herramientas-ssweb.js
index 99f90bc1e..07454a25d 100644
--- a/plugins/herramientas-ssweb.js
+++ b/plugins/herramientas-ssweb.js
@@ -1,14 +1,18 @@
import fetch from 'node-fetch'
let handler = async (m, { conn, command, args }) => {
-let full = /f$/i.test(command)
-if (!args[0]) return conn.reply(m.chat, '*๐ฐ๐๐๐๐๐๐ ๐๐ ๐๐๐ ๐
๐ ๐๐ ๐๐ฬ๐๐๐๐ ๐ ๐๐ ๐๐๐ ๐๐ ๐๐๐๐๐๐ฬ ๐๐๐๐๐๐๐ ๐*', m)
-let url = /https?:\/\//.test(args[0]) ? args[0] : 'https://' + args[0]
-let ss = await (await fetch(global.API('nrtm', '/api/ssweb', { delay: 1000, url, full }))).buffer()
-conn.sendFile(m.chat, ss, 'error.png', url, m)
-}
-handler.help = ['ss', 'ssf'].map(v => v + ' ')
-handler.tags = ['internet']
+if (!args[0]) throw await tr('โ ๏ธ Ingresa un link para sacar capturas, ejemplo: https://skyultraplus.com')
+await m.react('โ')
+try {
+let ss = await (await fetch(`https://api.dorratz.com/ssweb?url=${args[0]}`)).buffer()
+conn.sendFile(m.chat, ss, 'error.png', 'โ
', m, null, fake)
+await m.react('โ
')
+} catch {
+handler.limit = false
+await m.react('โ')
+}}
+handler.help = ['ss', 'ssweb'].map(v => v + ' **')
+handler.tags = ['tools']
handler.command = /^ss(web)?f?$/i
-handler.limit = 3
-handler.register = true
-export default handler
+handler.register = true
+handler.limit = 1
+export default handler
\ No newline at end of file
diff --git a/plugins/herramientas-styletext.js b/plugins/herramientas-styletext.js
index bf00d65fd..59d2bbc87 100644
--- a/plugins/herramientas-styletext.js
+++ b/plugins/herramientas-styletext.js
@@ -3,12 +3,11 @@ import { JSDOM } from 'jsdom'
let handler = async (m, { conn, text }) => {
conn.reply(m.chat, Object.entries(await stylizeText(text ? text : m.quoted && m.quoted.text ? m.quoted.text : m.text)).map(([name, value]) => `*${name}*\n${value}`).join`\n\n`, m)
}
-handler.help = ['style'].map(v => v + ' ')
+handler.help = ['style'].map(v => v + ' **')
handler.tags = ['tools']
handler.command = /^(style(text)?)$/i
-handler.exp = 0
-handler.limit = 3
-handler.register = true
+handler.register = true
+handler.limit = 1
export default handler
async function stylizeText(text) {
@@ -22,5 +21,5 @@ let name = tr.querySelector('.aname').innerHTML
let content = tr.children[1].textContent.replace(/^\n/, '').replace(/\n$/, '')
obj[name + (obj[name] ? ' Reversed' : '')] = content
}
-return obj
+return obj
}
diff --git a/plugins/herramientas-subirestado.js b/plugins/herramientas-subirestado.js
deleted file mode 100644
index d1523fe53..000000000
--- a/plugins/herramientas-subirestado.js
+++ /dev/null
@@ -1,40 +0,0 @@
-const colors = [
- 0xff26c4dc, 0xff792138,
- 0xff8b6990, 0xfff0b330,
- 0xffae8774, 0xff5696ff,
- 0xffff7b6b, 0xff57c9ff,
- 0xff243640, 0xffb6b327,
- 0xffc69fcc, 0xff54c265,
- 0xff6e257e, 0xffc1a03f,
- 0xff90a841, 0xff7acba5,
- 0xff8294ca, 0xffa62c71,
- 0xffff8a8c, 0xff7e90a3,
- 0xff74676a
-]
-let handler = async (m, { conn, text }) => {
- let _m = Promise.resolve({ key: { id: '' }})
- if (!m.quoted && !text) throw '*_Ingrese un texto o reponda a algun archivo multimedia_*'
- if (m.quoted && m.quoted.mtype !== 'conversation' && !text) _m = m.quoted.forward('status@broadcast')
- if (m.quoted && m.quoted.mtype === 'conversation' && !text) _m = conn.sendMessage('status@broadcast', {
- text: m.quoted.text,
- textArgb: 0xffffffff,
- backgroundArgb: pickRandom(colors)
- }, 'extendedTextMessage')
- if (!m.quoted && text) _m = conn.sendMessage('status@broadcast', {
- text,
- textArgb: 0xffffffff,
- backgroundArgb: pickRandom(colors)
- }, 'extendedTextMessage')
- if (m.quoted && text) _m = conn.forwardMessage('status@broadcast', await m.quoted.cMod('status@broadcast', text))
- //m.reply((await _m).key.id)
- m.reply('*โ
Estado subido con exito, agenda en tu lista de contactos el nรบmero del Bot y pide al propietario del Bot que te agregue a sus contactos para que puedas ver los estados*')
- }
-handler.help = ['subirestado']
-handler.tags = ['General']
-handler.command = /^subirestado$/i
-handler.register = false
-export default handler
-
-function pickRandom(arr) {
- return arr[Math.floor(Math.random() * arr.length)]
-}
diff --git a/plugins/herramientas-superinspect.js b/plugins/herramientas-superinspect.js
new file mode 100644
index 000000000..b57e5fee7
--- /dev/null
+++ b/plugins/herramientas-superinspect.js
@@ -0,0 +1,266 @@
+// Cรณdigo adaptado por https://github.com/GataNina-Li
+// Cรณdigo compatible con canales y comunidades de WhatsApp
+
+import { getUrlFromDirectPath } from "@whiskeysockets/baileys";
+import _ from "lodash";
+import axios from 'axios';
+
+let handler = async (m, { conn, command, usedPrefix, args, text, groupMetadata, isOwner, isROwner }) => {
+ const channelUrl = text?.match(/(?:https:\/\/)?(?:www\.)?(?:chat\.|wa\.)?whatsapp\.com\/(?:channel\/|joinchat\/)?([0-9A-Za-z]{22,24})/i)?.[1];
+let txtBotAdminCh = await tr('\n\n> *Verifique que el Bot sea admin en el canal, de lo contrario no funcionarรก el comando*')
+let thumb = img.getRandom();
+let pp, ch, q, mime, buffer, media, inviteUrlch, imageBuffer;
+
+let inviteCode
+if (!text) return await m.reply(await tr(`*โ ๏ธ Ingrese un enlace de un grupo/comunidad/canal de WhatsApp para obtener informaciรณn.*`))
+const MetadataGroupInfo = async (res, isInviteInfo = false) => {
+let nameCommunity = await tr("no pertenece a ninguna Comunidad")
+let groupPicture = await tr("No se pudo obtener")
+let msgTxt1 = await tr("No encontrado")
+
+if (res.linkedParent) {
+let linkedGroupMeta = await conn.groupMetadata(res.linkedParent).catch(e => { return null })
+nameCommunity = linkedGroupMeta ? "\n" + ("`Nombre:` " + linkedGroupMeta.subject || "") : nameCommunity
+}
+pp = await conn.profilePictureUrl(res.id, 'image').catch(e => { return null })
+inviteCode = await conn.groupInviteCode(m.chat).catch(e => { return null })
+const formatParticipants = (participants) =>
+participants && participants.length > 0
+? participants.map((user, i) => `${i + 1}. @${user.id?.split("@")[0]}${user.admin === "superadmin" ? " (superadmin)" : user.admin === "admin" ? " (admin)" : ""}`).join("\n")
+: "No encontrado"
+let caption = `๐ *${await tr("Identificador del grupo")}:*\n${res.id || msgTxt1}\n\n` +
+`๐ *${await tr("Creado por")}:*\n${res.owner ? `@${res.owner?.split("@")[0]}` : msgTxt1} ${res.creation ? `el ${formatDate(res.creation)}` : msgTxt1}\n\n` +
+`๐ท๏ธ *${await tr("Nombre")}:*\n${res.subject || msgTxt1}\n\n` +
+`โ๏ธ *${await tr("Nombre cambiado por")}:*\n${res.subjectOwner ? `@${res.subjectOwner?.split("@")[0]}` : msgTxt1} ${res.subjectTime ? `el ${formatDate(res.subjectTime)}` : msgTxt1}\n\n` +
+`๐ *${await tr("Descripciรณn")}:*\n${res.desc || msgTxt1}\n\n` +
+`๐ *${await tr("Descripciรณn cambiado por")}:*\n${res.descOwner ? `@${res.descOwner?.split("@")[0]}` : msgTxt1}\n\n` +
+`๐๏ธ *${await tr("Id de la descripciรณn")}:*\n${res.descId || msgTxt1}\n\n` +
+`๐ผ๏ธ *${await tr("Imagen del grupo")}:*\n${pp ? pp : groupPicture}\n\n` +
+`๐ซ *${await tr("Autor")}:*\n${res.author || msgTxt1}\n\n` +
+`๐ซ *${await tr("Cรณdigo de invitaciรณn")}:*\n${res.inviteCode || inviteCode || msgTxt1}\n\n` +
+`โ *${await tr("Duraciรณn")}:*\n${res.ephemeralDuration !== undefined ? `${res.ephemeralDuration} segundos` : "Desconocido"}\n\n` +
+`๐ *${await tr("Admins")}:*\n` + (res.participants && res.participants.length > 0 ? res.participants.filter(user => user.admin === "admin" || user.admin === "superadmin").map((user, i) => `${i + 1}. @${user.id?.split("@")[0]}${user.admin === "superadmin" ? " (superadmin)" : " (admin)"}`).join("\n") : msgTxt1) + `\n\n` +
+`๐ฐ *${await tr("Usuarios en total")}:*\n${res.size || "Cantidad no encontrada"}\n\n` +
+`โจ *${await tr("Informaciรณn avanzada")}* โจ\n\n๐ ${await tr("*Comunidad vinculada al grupo:*")}\n${res.isCommunity ? "Este grupo es un chat de avisos" : `${res.linkedParent ? "`Id:` " + res.linkedParent : "Este grupo"} ${nameCommunity}`}\n\n` +
+`โ ๏ธ *${await tr("Restricciones")}:* ${res.restrict ? "โ
" : "โ"}\n` +
+`๐ข *${await tr("Anuncios")}:* ${res.announce ? "โ
" : "โ"}\n` +
+`๐๏ธ *${await tr("ยฟEs comunidad?")}:* ${res.isCommunity ? "โ
" : "โ"}\n` +
+`๐ฏ *${await tr("ยฟEs anuncio de comunidad?")}:* ${res.isCommunityAnnounce ? "โ
" : "โ"}\n` +
+`๐ค *${await tr("Tiene aprobaciรณn de miembros")}:* ${res.joinApprovalMode ? "โ
" : "โ"}\n` +
+`๐ *${await tr("Puede Agregar futuros miembros")}:* ${res.memberAddMode ? "โ
" : "โ"}\n\n`
+return caption.trim()
+}
+
+const inviteGroupInfo = async (groupData) => {
+const { id, subject, subjectOwner, subjectTime, size, creation, owner, desc, descId, linkedParent, restrict, announce, isCommunity, isCommunityAnnounce, joinApprovalMode, memberAddMode, ephemeralDuration } = groupData
+let nameCommunity = await tr("no pertenece a ninguna Comunidad")
+let groupPicture = await tr("No se pudo obtener")
+if (linkedParent) {
+let linkedGroupMeta = await conn.groupMetadata(linkedParent).catch(e => { return null })
+nameCommunity = linkedGroupMeta ? "\n" + ("`Nombre:` " + linkedGroupMeta.subject || "") : nameCommunity
+}
+pp = await conn.profilePictureUrl(id, 'image').catch(e => { return null })
+const formatParticipants = (participants) =>
+participants && participants.length > 0
+? participants.map((user, i) => `${i + 1}. @${user.id?.split("@")[0]}${user.admin === "superadmin" ? " (superadmin)" : user.admin === "admin" ? " (admin)" : ""}`).join("\n")
+: msgTxt1
+
+let caption = `๐ *${await tr("Identificador del grupo")}:*\n${id || msgTxt1}\n\n` +
+`๐ *${await tr("Creado por")}:*\n${owner ? `@${owner?.split("@")[0]}` : msgTxt1} ${creation ? `el ${formatDate(creation)}` : msgTxt1}\n\n` +
+`๐ท๏ธ *${await tr("Nombre")}:*\n${subject || msgTxt1}\n\n` +
+`โ๏ธ *${await tr("Nombre cambiado por")}:*\n${subjectOwner ? `@${subjectOwner?.split("@")[0]}` : msgTxt1} ${subjectTime ? `el ${formatDate(subjectTime)}` : msgTxt1}\n\n` +
+`๐ *${await tr("Descripciรณn")}:*\n${desc || msgTxt1}\n\n` +
+`๐ *${await tr("ID de la descripciรณn")}:*\n${descId || msgTxt1}\n\n` +
+`๐ผ๏ธ *${await tr("Imagen del grupo")}:*\n${pp ? pp : groupPicture}\n\n` +
+`๐ *${await tr("Miembros destacados")}:*\n${formatParticipants(groupData.participants)}\n\n` +
+`๐ฅ *${await tr("Destacados total")}:*\n${size || msgTxt1}\n\n` +
+`โจ *${await tr("Informaciรณn avanzada")}* โจ\n\n๐ *${await tr("Comunidad vinculada al grupo")}:*\n${isCommunity ? await tr("Este grupo es un chat de avisos") : `${linkedParent ? "`Id:` " + linkedParent : await tr("Este grupo")} ${nameCommunity}`}\n\n` +
+`๐ข *${await tr("Anuncios")}:* ${announce ? "โ
Yes" : "โ No"}\n` +
+`๐๏ธ *${await tr("ยฟEs comunidad?")}:* ${isCommunity ? "โ
Yes" : "โ No"}\n` +
+`๐ฏ *${await tr("ยฟEs anuncio de comunidad?")}:* ${isCommunityAnnounce ? "โ
" : "โ"}\n` +
+`๐ค *${await tr("Tiene aprobaciรณn de miembros")}:* ${joinApprovalMode ? "โ
" : "โ"}\n`
+return caption.trim()
+}
+
+let info
+try {
+let res = text ? null : await conn.groupMetadata(m.chat)
+info = await MetadataGroupInfo(res) // Si el bot esta en el grupo
+console.log('Mรฉtodo de metadatos')
+} catch {
+const inviteUrl = text?.match(/(?:https:\/\/)?(?:www\.)?(?:chat\.|wa\.)?whatsapp\.com\/(?:invite\/|joinchat\/)?([0-9A-Za-z]{22,24})/i)?.[1]
+//if (!inviteUrl &&) return await conn.reply(m.chat, "*Verifique que sea un enlace de grupo o comunidad de WhatsApp.*", m)
+let inviteInfo
+if (inviteUrl) {
+try {
+inviteInfo = await conn.groupGetInviteInfo(inviteUrl)
+info = await inviteGroupInfo(inviteInfo) // Para cualquier enlace de grupo/comunidad
+console.log(info)
+console.log('Mรฉtodo de enlace')
+} catch (e) {
+m.reply('Grupo no encontrado')
+return
+}}}
+if (info) {
+await conn.sendMessage(m.chat, { text: info, contextInfo: {
+mentionedJid: conn.parseMention(info),
+externalAdReply: {
+title: "๐ฐ Inspector de Grupos",
+body: packname,
+thumbnailUrl: pp ? pp : thumb,
+sourceUrl: args[0] ? args[0] : inviteCode ? `https://chat.whatsapp.com/${inviteCode}` : md,
+mediaType: 1,
+showAdAttribution: false,
+renderLargerThumbnail: true
+}}}, { quoted: fkontak })
+} else {
+// Manejo de enlaces de canales
+let newsletterInfo
+if (!channelUrl) return await conn.reply(m.chat, "*Verifique que sea un enlace de canal de WhatsApp.*", m)
+if (channelUrl) {
+try {
+newsletterInfo = await conn.newsletterMetadata("invite", channelUrl).catch(e => { return null })
+if (!newsletterInfo) return await conn.reply(m.chat, await tr("*No se encontrรณ informaciรณn del canal.* Verifique que el enlace sea correcto."), m)
+let caption = await tr("*Inspector de enlaces de Canales*\n\n") + processObject(newsletterInfo, "", newsletterInfo?.preview)
+if (newsletterInfo?.preview) {
+pp = getUrlFromDirectPath(newsletterInfo.preview)
+} else {
+pp = thumb
+}
+if (channelUrl && newsletterInfo) {
+await conn.sendMessage(m.chat, { text: caption, contextInfo: {
+mentionedJid: conn.parseMention(caption),
+externalAdReply: {
+title: "๐ข Inspector de Canales",
+body: packname,
+thumbnailUrl: pp,
+sourceUrl: args[0],
+mediaType: 1,
+showAdAttribution: false,
+renderLargerThumbnail: true
+}}}, { quoted: fkontak })}
+newsletterInfo.id ? conn.sendMessage(m.chat, { text: newsletterInfo.id }, { quoted: null }) : ''
+} catch (e) {
+reportError(e)
+}}}}
+handler.help = ["superinspect", "inspect"]
+handler.tags = ['tools'];
+handler.command = /^(superinspect|inspect|revisar|inspeccionar)$/i;
+handler.register = true;
+
+export default handler;
+
+function formatDate(n, locale = "es", includeTime = true) {
+if (n > 1e12) {
+n = Math.floor(n / 1000) // Convertir de milisegundos a segundos
+} else if (n < 1e10) {
+n = Math.floor(n * 1000) // Convertir de segundos a milisegundos
+}
+const date = new Date(n)
+if (isNaN(date)) return "Fecha no vรกlida"
+// Formato de fecha: dรญa/mes/aรฑo
+const optionsDate = { day: '2-digit', month: '2-digit', year: 'numeric' }
+const formattedDate = date.toLocaleDateString(locale, optionsDate)
+if (!includeTime) return formattedDate
+// horas, minutos y segundos
+const hours = String(date.getHours()).padStart(2, '0')
+const minutes = String(date.getMinutes()).padStart(2, '0')
+const seconds = String(date.getSeconds()).padStart(2, '0')
+const period = hours < 12 ? 'AM' : 'PM'
+const formattedTime = `${hours}:${minutes}:${seconds} ${period}`
+return `${formattedDate}, ${formattedTime}`
+}
+
+function formatValue(key, value, preview) {
+switch (key) {
+case "subscribers":
+return value ? value.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ".") : "No hay suscriptores"
+case "creation_time":
+case "nameTime":
+case "descriptionTime":
+return formatDate(value)
+case "description":
+case "name":
+return value || "No hay informaciรณn disponible"
+case "state":
+switch (value) {
+case "ACTIVE": return "Activo"
+case "GEOSUSPENDED": return "Suspendido por regiรณn"
+case "SUSPENDED": return "Suspendido"
+default: return "Desconocido"
+}
+case "reaction_codes":
+switch (value) {
+case "ALL": return "Todas las reacciones permitidas"
+case "BASIC": return "Reacciones bรกsicas permitidas"
+case "NONE": return "No se permiten reacciones"
+default: return "Desconocido"
+}
+case "verification":
+switch (value) {
+case "VERIFIED": return "Verificado"
+case "UNVERIFIED": return "No verificado"
+default: return "Desconocido"
+}
+case "mute":
+switch (value) {
+case "ON": return "Silenciado"
+case "OFF": return "No silenciado"
+case "UNDEFINED": return "Sin definir"
+default: return "Desconocido"
+}
+case "view_role":
+switch (value) {
+case "ADMIN": return "Administrador"
+case "OWNER": return "Propietario"
+case "SUBSCRIBER": return "Suscriptor"
+case "GUEST": return "Invitado"
+default: return "Desconocido"
+}
+case "picture":
+if (preview) {
+return getUrlFromDirectPath(preview)
+} else {
+return "No hay imagen disponible"
+}
+default:
+return value !== null && value !== undefined ? value.toString() : "No hay informaciรณn disponible"
+}}
+
+function newsletterKey(key) {
+return _.startCase(key.replace(/_/g, " "))
+.replace("Id", "๐ Identificador")
+.replace("State", "๐ Estado")
+.replace("Creation Time", "๐
Fecha de creaciรณn")
+.replace("Name Time", "โ๏ธ Fecha de modificaciรณn del nombre")
+.replace("Name", "๐ท๏ธ Nombre")
+.replace("Description Time", "๐ Fecha de modificaciรณn de la descripciรณn")
+.replace("Description", "๐ Descripciรณn")
+.replace("Invite", "๐ฉ Invitaciรณn")
+.replace("Handle", "๐ค Alias")
+.replace("Picture", "๐ผ๏ธ Imagen")
+.replace("Preview", "๐ Vista previa")
+.replace("Reaction Codes", "๐ Reacciones")
+.replace("Subscribers", "๐ฅ Suscriptores")
+.replace("Verification", "โ
Verificaciรณn")
+.replace("Viewer Metadata", "๐ Datos avanzados")
+}
+
+function processObject(obj, prefix = "", preview) {
+let caption = ""
+Object.keys(obj).forEach(key => {
+const value = obj[key]
+if (typeof value === "object" && value !== null) {
+if (Object.keys(value).length > 0) {
+const sectionName = newsletterKey(prefix + key)
+caption += `\n*\`${sectionName}\`*\n`
+caption += processObject(value, `${prefix}${key}_`)
+}} else {
+const shortKey = prefix ? prefix.split("_").pop() + "_" + key : key
+const displayValue = formatValue(shortKey, value, preview)
+const translatedKey = newsletterKey(shortKey)
+caption += `- *${translatedKey}:*\n${displayValue}\n\n`
+}})
+return caption.trim()
+}
+
diff --git a/plugins/herramientas-topdf.js b/plugins/herramientas-topdf.js
deleted file mode 100644
index f2d3a90fb..000000000
--- a/plugins/herramientas-topdf.js
+++ /dev/null
@@ -1,12 +0,0 @@
-import uploadImage from '../lib/uploadImage.js'
-let handler = async (m, { conn, text, usedPrefix, command, isOwner }) => {
-let q = m.quoted ? m.quoted : m
-let mime = (q.msg || q).mimetype || ''
-if (!mime) throw '๐๐๐๐๐๐๐ฟ๐ / ๐๐๐๐๐๐๐๐ ๐ผ ๐๐๐ผ ๐๐๐ผ๐๐๐'
-let img = await q.download?.()
-let url = await uploadImage(img)
-let docname = text ? text : m.pushName || 'documento'
-conn.sendFile(m.chat, `http://api.lolhuman.xyz/api/convert/imgtopdf?apikey=${lolkeysapi}&img=${url}`, docname + '.pdf', '', m, false, { asDocument: true })
-}
-handler.command = /^topdf$/i
-export default handler
diff --git a/plugins/herramientas-translate.js b/plugins/herramientas-translate.js
index d22e6e008..0e6b73ad8 100644
--- a/plugins/herramientas-translate.js
+++ b/plugins/herramientas-translate.js
@@ -1,192 +1,30 @@
-import translate from '@vitalets/google-translate-api'
-import fetch from 'node-fetch'
-let handler = async (m, { args, 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 user = global.db.data.users[m.sender]
-let msg = `${mg}๐๐ ๐พ๐๐๐ผ๐๐ฟ๐ ๐๐ ๐๐๐ผ ๐ฟ๐ ๐๐๐๐ผ ๐๐ผ๐๐๐๐ผ\n๐๐
๐๐๐๐๐\n*${usedPrefix + command} (idioma) (texto)*\n*${usedPrefix + command} es hello*`
-if (!args || !args[0]) return m.reply(msg)
-let lang = args[0]
-let text = args.slice(1).join(' ')
-const defaultLang = 'es'
+import translate from '@vitalets/google-translate-api';
+import fetch from 'node-fetch';
+const handler = async (m, {args, usedPrefix, command}) => {
+const msg = `*โ ๏ธ ${await tr(`Uso correcto del comando ${usedPrefix + command} (idioma) (texto)*\n*โข Ejemplo:*\n*${usedPrefix + command} es Hello*\n\n> *Conoce los idiomas admitidos en:*`)}\nhttps://cloud.google.com/translate/docs/languages`;
+if (!args || !args[0]) return m.reply(msg);
+let lang = args[0];
+let text = args.slice(1).join(' ');
+const defaultLang = 'es';
if ((args[0] || '').length !== 2) {
-lang = defaultLang
-text = args.join(' ')}
-if (!text && m.quoted && m.quoted.text) text = m.quoted.text
-
-const idiomas = [['Afrikรกans', 'af'], ['Albanรฉs', 'sq'], ['Amรกrico', 'am'], ['รrabe', 'ar'], ['Armenio', 'hy'], ['Asamรฉs', 'as'], ['Aimara', 'ay'], ['Azerbaiyano', 'az'], ['Bambara', 'bm'], ['Vasco', 'eu'], ['Bielorruso', 'be'], ['Bengalรญ', 'bn'], ['Bhospuri', 'bho'], ['Bosnio', 'bs'], ['Bรบlgaro', 'bg'], ['Catalรกn', 'ca'], ['Cebuano', 'ceb'], ['Chino (simplificado)', 'zh-CN'], ['Chino (tradicional)', 'ny'], ['Corso', 'co'], ['Croata', 'hr'], ['Checo', 'cs'], ['Danรฉs', 'da'], ['Dhivehi', 'dv'], ['Dogri', 'doi'], ['Neerlandรฉs', 'nl'], ['Inglรฉs', 'en'], ['Esperanto', 'eo'], ['Estonio', 'et'], ['Ewe', 'ee'], ['Filipino (tagalo)', 'fil'], ['Finรฉs', 'fi'], ['Francรฉs', 'fr'], ['Frisรณn', 'fy'], ['Gallego', 'gl'], ['Georgiano', 'ka'], ['Alemรกn', 'de'], ['Grieg', 'el'], ['Guaranรญ', 'gn'], ['Guyaratรญ', 'gu'], ['Criollo haitiano', 'ht'], ['Hausa', 'ha'], ['Hawaiano', 'haw'], ['Hebreo', 'he'], ['Hindi', 'hi'], ['Hmong', 'hmn'], ['Hรบngaro', 'hu'], ['Islandรฉs', 'is'], ['Igbo', 'ig'], ['Ilocano', 'ilo'], ['Indonesio', 'id'], ['Irlandรฉs', 'ga'], ['Italiano', 'it'], ['Japonรฉs', 'ja'], ['Javanรฉs', 'jv'], ['Canarรฉs', 'kn'], ['Kazajo', 'kk'], ['Jemer', 'km'], ['Kiรฑaruanda', 'rw'], ['Konkani', 'gom'], ['Corean', 'ko'], ['Krio', 'kri'], ['Curdo', 'ku'], ['Kurdo (Sorani)', 'ckb'], ['Kirg', 'ky'], ['Laosiano', 'lo'], ['Latรญn', 'la'], ['Letรณn', 'lv'], ['Lingala', 'ln'], ['Lituano', 'lt'], ['Luganda', 'lg'], ['Luxemburguรฉs', 'lb'], ['Macedonio', 'mk'], ['Maithili', 'mai'], ['Malgache', 'mg'], ['Malayo', 'ms'], ['Malabar', 'ml'], ['Maltรฉs', 'mt'], ['Maorรญ', 'mi'], ['Marathi', 'mr'], ['Meiteilon (manipuri)', 'mni-Mtei'], ['Mizo', 'lus'], ['Mongol', 'mn'], ['Birmano', 'my'], ['Nepalรญ', 'ne'], ['Noruego', 'no'], ['Nyanja (chichewa)', 'ny'], ['Odia (oriya)', 'or'], ['Oromo', 'om'], ['Pashto', 'ps'], ['Persa', 'fa'], ['Polaco', 'pl'], ['Portuguรฉs (Portugal y Brasil)', 'pt'], ['Punjabi', 'pa'], ['Quechua', 'qu'], ['Rumano', 'ro'], ['Ruso', 'ru'], ['Samoano', 'sm'], ['', ''], ['Sรกnscr', 'sa'], ['Gaรฉlico', 'gd'], ['Sepedi', 'nso'], ['Serbio', 'sr'], ['Sesoto', 'st'], ['Shona', 'sn'], ['Sindhi', 'sd'], ['Cingalรฉs', 'si'], ['Eslovaco', 'sk'], ['Esloveno', 'sl'], ['Somalรญ', 'so'], ['Espaรฑol', 'es'], ['Sundanรฉs', 'su'], ['Suajili', 'sw'], ['Sueco', 'sv'], ['Tagalo (filipino)', 'tl'], ['Tayiko', 'tg'], ['Tamil', 'ta'], ['Tรกrtaro', 'tt'], ['Telugรบ', 'te'], ['Tailandรฉs', 'th'], ['Tigriรฑa', 'ti'], ['Tsonga', 'ts'], ['Turco', 'tr'], ['Turcom', 'tk'], ['Twi (Akan)', 'ak'], ['Ucraniano', 'uk'], ['Urdu', 'ur'], ['Uigur', 'ug'], ['Uzbeko', 'uz'], ['Vietnamita', 'vi'], ['Galรฉs', 'cy'], ['Xhosa', 'xh'], ['Yiddish', 'yi'], ['Yoruba', 'yo'], ['Zulรบ', 'zu']]
-const sections = [
-{
-title: htjava + ' ๐ ๐๐๐๐๐ผ ๐ฟ๐ ๐๐ฟ๐๐๐๐ผ๐ ' + htjava,
-rows: [
-{title: "๐ช " + idiomas[0][0], rowId: `${usedPrefix + command} ${idiomas[0][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[0][0]} | ${idiomas[0][1]}`},
-{title: "๐ช " + idiomas[1][0], rowId: `${usedPrefix + command} ${idiomas[1][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[1][0]} | ${idiomas[1][1]}`},
-{title: "๐ช " + idiomas[2][0], rowId: `${usedPrefix + command} ${idiomas[2][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[2][0]} | ${idiomas[2][1]}`},
-{title: "๐ช " + idiomas[3][0], rowId: `${usedPrefix + command} ${idiomas[3][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[3][0]} | ${idiomas[3][1]}`},
-{title: "๐ช " + idiomas[4][0], rowId: `${usedPrefix + command} ${idiomas[4][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[4][0]} | ${idiomas[4][1]}`},
-{title: "๐ช " + idiomas[5][0], rowId: `${usedPrefix + command} ${idiomas[5][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[5][0]} | ${idiomas[5][1]}`},
-{title: "๐ช " + idiomas[6][0], rowId: `${usedPrefix + command} ${idiomas[6][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[6][0]} | ${idiomas[6][1]}`},
-{title: "๐ช " + idiomas[7][0], rowId: `${usedPrefix + command} ${idiomas[7][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[7][0]} | ${idiomas[7][1]}`},
-{title: "๐ช " + idiomas[8][0], rowId: `${usedPrefix + command} ${idiomas[8][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[8][0]} | ${idiomas[8][1]}`},
-{title: "๐ช " + idiomas[9][0], rowId: `${usedPrefix + command} ${idiomas[9][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[9][0]} | ${idiomas[9][1]}`},
-{title: "๐ช " + idiomas[10][0], rowId: `${usedPrefix + command} ${idiomas[10][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[10][0]} | ${idiomas[10][1]}`},
-{title: "๐ช " + idiomas[11][0], rowId: `${usedPrefix + command} ${idiomas[11][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[11][0]} | ${idiomas[11][1]}`},
-{title: "๐ช " + idiomas[12][0], rowId: `${usedPrefix + command} ${idiomas[12][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[12][0]} | ${idiomas[12][1]}`},
-{title: "๐ช " + idiomas[13][0], rowId: `${usedPrefix + command} ${idiomas[13][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[13][0]} | ${idiomas[13][1]}`},
-{title: "๐ช " + idiomas[14][0], rowId: `${usedPrefix + command} ${idiomas[14][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[14][0]} | ${idiomas[14][1]}`},
-{title: "๐ช " + idiomas[15][0], rowId: `${usedPrefix + command} ${idiomas[15][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[15][0]} | ${idiomas[15][1]}`},
-{title: "๐ช " + idiomas[16][0], rowId: `${usedPrefix + command} ${idiomas[16][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[16][0]} | ${idiomas[16][1]}`},
-{title: "๐ช " + idiomas[17][0], rowId: `${usedPrefix + command} ${idiomas[17][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[17][0]} | ${idiomas[17][1]}`},
-{title: "๐ช " + idiomas[18][0], rowId: `${usedPrefix + command} ${idiomas[18][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[18][0]} | ${idiomas[18][1]}`},
-{title: "๐ช " + idiomas[19][0], rowId: `${usedPrefix + command} ${idiomas[19][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[19][0]} | ${idiomas[19][1]}`},
-{title: "๐ช " + idiomas[20][0], rowId: `${usedPrefix + command} ${idiomas[20][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[20][0]} | ${idiomas[20][1]}`},
-{title: "๐ช " + idiomas[21][0], rowId: `${usedPrefix + command} ${idiomas[21][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[21][0]} | ${idiomas[21][1]}`},
-{title: "๐ช " + idiomas[22][0], rowId: `${usedPrefix + command} ${idiomas[22][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[22][0]} | ${idiomas[22][1]}`},
-{title: "๐ช " + idiomas[23][0], rowId: `${usedPrefix + command} ${idiomas[23][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[23][0]} | ${idiomas[23][1]}`},
-{title: "๐ช " + idiomas[24][0], rowId: `${usedPrefix + command} ${idiomas[24][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[24][0]} | ${idiomas[24][1]}`},
-{title: "๐ช " + idiomas[25][0], rowId: `${usedPrefix + command} ${idiomas[25][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[25][0]} | ${idiomas[25][1]}`},
-{title: "๐ช " + idiomas[26][0], rowId: `${usedPrefix + command} ${idiomas[26][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[26][0]} | ${idiomas[26][1]}`},
-{title: "๐ช " + idiomas[27][0], rowId: `${usedPrefix + command} ${idiomas[27][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[27][0]} | ${idiomas[27][1]}`},
-{title: "๐ช " + idiomas[28][0], rowId: `${usedPrefix + command} ${idiomas[28][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[28][0]} | ${idiomas[28][1]}`},
-{title: "๐ช " + idiomas[29][0], rowId: `${usedPrefix + command} ${idiomas[29][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[29][0]} | ${idiomas[29][1]}`},
-{title: "๐ช " + idiomas[30][0], rowId: `${usedPrefix + command} ${idiomas[30][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[30][0]} | ${idiomas[30][1]}`},
-{title: "๐ช " + idiomas[31][0], rowId: `${usedPrefix + command} ${idiomas[31][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[31][0]} | ${idiomas[31][1]}`},
-{title: "๐ช " + idiomas[32][0], rowId: `${usedPrefix + command} ${idiomas[32][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[32][0]} | ${idiomas[32][1]}`},
-{title: "๐ช " + idiomas[33][0], rowId: `${usedPrefix + command} ${idiomas[33][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[33][0]} | ${idiomas[33][1]}`},
-{title: "๐ช " + idiomas[34][0], rowId: `${usedPrefix + command} ${idiomas[34][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[34][0]} | ${idiomas[34][1]}`},
-{title: "๐ช " + idiomas[35][0], rowId: `${usedPrefix + command} ${idiomas[35][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[35][0]} | ${idiomas[35][1]}`},
-{title: "๐ช " + idiomas[36][0], rowId: `${usedPrefix + command} ${idiomas[36][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[36][0]} | ${idiomas[36][1]}`},
-{title: "๐ช " + idiomas[37][0], rowId: `${usedPrefix + command} ${idiomas[37][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[37][0]} | ${idiomas[37][1]}`},
-{title: "๐ช " + idiomas[38][0], rowId: `${usedPrefix + command} ${idiomas[38][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[38][0]} | ${idiomas[38][1]}`},
-{title: "๐ช " + idiomas[39][0], rowId: `${usedPrefix + command} ${idiomas[39][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[39][0]} | ${idiomas[39][1]}`},
-{title: "๐ช " + idiomas[40][0], rowId: `${usedPrefix + command} ${idiomas[40][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[40][0]} | ${idiomas[40][1]}`},
-{title: "๐ช " + idiomas[41][0], rowId: `${usedPrefix + command} ${idiomas[41][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[41][0]} | ${idiomas[41][1]}`},
-{title: "๐ช " + idiomas[42][0], rowId: `${usedPrefix + command} ${idiomas[42][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[42][0]} | ${idiomas[42][1]}`},
-{title: "๐ช " + idiomas[43][0], rowId: `${usedPrefix + command} ${idiomas[43][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[43][0]} | ${idiomas[43][1]}`},
-{title: "๐ช " + idiomas[44][0], rowId: `${usedPrefix + command} ${idiomas[44][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[44][0]} | ${idiomas[44][1]}`},
-{title: "๐ช " + idiomas[45][0], rowId: `${usedPrefix + command} ${idiomas[45][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[45][0]} | ${idiomas[45][1]}`},
-{title: "๐ช " + idiomas[46][0], rowId: `${usedPrefix + command} ${idiomas[46][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[46][0]} | ${idiomas[46][1]}`},
-{title: "๐ช " + idiomas[47][0], rowId: `${usedPrefix + command} ${idiomas[47][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[47][0]} | ${idiomas[47][1]}`},
-{title: "๐ช " + idiomas[48][0], rowId: `${usedPrefix + command} ${idiomas[48][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[48][0]} | ${idiomas[48][1]}`},
-{title: "๐ช " + idiomas[49][0], rowId: `${usedPrefix + command} ${idiomas[49][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[49][0]} | ${idiomas[49][1]}`},
-{title: "๐ช " + idiomas[50][0], rowId: `${usedPrefix + command} ${idiomas[50][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[50][0]} | ${idiomas[50][1]}`},
-{title: "๐ช " + idiomas[51][0], rowId: `${usedPrefix + command} ${idiomas[51][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[51][0]} | ${idiomas[51][1]}`},
-{title: "๐ช " + idiomas[52][0], rowId: `${usedPrefix + command} ${idiomas[52][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[52][0]} | ${idiomas[52][1]}`},
-{title: "๐ช " + idiomas[53][0], rowId: `${usedPrefix + command} ${idiomas[53][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[53][0]} | ${idiomas[53][1]}`},
-{title: "๐ช " + idiomas[54][0], rowId: `${usedPrefix + command} ${idiomas[54][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[54][0]} | ${idiomas[54][1]}`},
-{title: "๐ช " + idiomas[55][0], rowId: `${usedPrefix + command} ${idiomas[55][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[55][0]} | ${idiomas[55][1]}`},
-{title: "๐ช " + idiomas[56][0], rowId: `${usedPrefix + command} ${idiomas[56][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[56][0]} | ${idiomas[56][1]}`},
-{title: "๐ช " + idiomas[57][0], rowId: `${usedPrefix + command} ${idiomas[57][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[57][0]} | ${idiomas[57][1]}`},
-{title: "๐ช " + idiomas[58][0], rowId: `${usedPrefix + command} ${idiomas[58][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[58][0]} | ${idiomas[58][1]}`},
-{title: "๐ช " + idiomas[59][0], rowId: `${usedPrefix + command} ${idiomas[59][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[59][0]} | ${idiomas[59][1]}`},
-{title: "๐ช " + idiomas[60][0], rowId: `${usedPrefix + command} ${idiomas[60][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[60][0]} | ${idiomas[60][1]}`},
-{title: "๐ช " + idiomas[61][0], rowId: `${usedPrefix + command} ${idiomas[61][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[61][0]} | ${idiomas[61][1]}`},
-{title: "๐ช " + idiomas[62][0], rowId: `${usedPrefix + command} ${idiomas[62][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[62][0]} | ${idiomas[62][1]}`},
-{title: "๐ช " + idiomas[63][0], rowId: `${usedPrefix + command} ${idiomas[63][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[63][0]} | ${idiomas[63][1]}`},
-{title: "๐ช " + idiomas[64][0], rowId: `${usedPrefix + command} ${idiomas[64][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[64][0]} | ${idiomas[64][1]}`},
-{title: "๐ช " + idiomas[65][0], rowId: `${usedPrefix + command} ${idiomas[65][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[65][0]} | ${idiomas[65][1]}`},
-{title: "๐ช " + idiomas[66][0], rowId: `${usedPrefix + command} ${idiomas[66][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[66][0]} | ${idiomas[66][1]}`},
-{title: "๐ช " + idiomas[67][0], rowId: `${usedPrefix + command} ${idiomas[67][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[67][0]} | ${idiomas[67][1]}`},
-{title: "๐ช " + idiomas[68][0], rowId: `${usedPrefix + command} ${idiomas[68][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[68][0]} | ${idiomas[68][1]}`},
-{title: "๐ช " + idiomas[69][0], rowId: `${usedPrefix + command} ${idiomas[69][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[69][0]} | ${idiomas[69][1]}`},
-{title: "๐ช " + idiomas[70][0], rowId: `${usedPrefix + command} ${idiomas[70][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[70][0]} | ${idiomas[70][1]}`},
-{title: "๐ช " + idiomas[71][0], rowId: `${usedPrefix + command} ${idiomas[71][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[71][0]} | ${idiomas[71][1]}`},
-{title: "๐ช " + idiomas[72][0], rowId: `${usedPrefix + command} ${idiomas[72][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[72][0]} | ${idiomas[72][1]}`},
-{title: "๐ช " + idiomas[73][0], rowId: `${usedPrefix + command} ${idiomas[73][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[73][0]} | ${idiomas[73][1]}`},
-{title: "๐ช " + idiomas[74][0], rowId: `${usedPrefix + command} ${idiomas[74][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[74][0]} | ${idiomas[74][1]}`},
-{title: "๐ช " + idiomas[75][0], rowId: `${usedPrefix + command} ${idiomas[75][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[75][0]} | ${idiomas[75][1]}`},
-{title: "๐ช " + idiomas[76][0], rowId: `${usedPrefix + command} ${idiomas[76][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[76][0]} | ${idiomas[76][1]}`},
-{title: "๐ช " + idiomas[77][0], rowId: `${usedPrefix + command} ${idiomas[77][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[77][0]} | ${idiomas[77][1]}`},
-{title: "๐ช " + idiomas[78][0], rowId: `${usedPrefix + command} ${idiomas[78][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[78][0]} | ${idiomas[78][1]}`},
-{title: "๐ช " + idiomas[79][0], rowId: `${usedPrefix + command} ${idiomas[79][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[79][0]} | ${idiomas[79][1]}`},
-{title: "๐ช " + idiomas[80][0], rowId: `${usedPrefix + command} ${idiomas[80][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[80][0]} | ${idiomas[80][1]}`},
-{title: "๐ช " + idiomas[81][0], rowId: `${usedPrefix + command} ${idiomas[81][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[81][0]} | ${idiomas[81][1]}`},
-{title: "๐ช " + idiomas[82][0], rowId: `${usedPrefix + command} ${idiomas[82][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[82][0]} | ${idiomas[82][1]}`},
-{title: "๐ช " + idiomas[83][0], rowId: `${usedPrefix + command} ${idiomas[83][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[83][0]} | ${idiomas[83][1]}`},
-{title: "๐ช " + idiomas[84][0], rowId: `${usedPrefix + command} ${idiomas[84][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[84][0]} | ${idiomas[84][1]}`},
-{title: "๐ช " + idiomas[85][0], rowId: `${usedPrefix + command} ${idiomas[85][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[85][0]} | ${idiomas[85][1]}`},
-{title: "๐ช " + idiomas[86][0], rowId: `${usedPrefix + command} ${idiomas[86][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[86][0]} | ${idiomas[86][1]}`},
-{title: "๐ช " + idiomas[87][0], rowId: `${usedPrefix + command} ${idiomas[87][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[87][0]} | ${idiomas[87][1]}`},
-{title: "๐ช " + idiomas[88][0], rowId: `${usedPrefix + command} ${idiomas[88][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[88][0]} | ${idiomas[88][1]}`},
-{title: "๐ช " + idiomas[89][0], rowId: `${usedPrefix + command} ${idiomas[89][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[89][0]} | ${idiomas[89][1]}`},
-{title: "๐ช " + idiomas[90][0], rowId: `${usedPrefix + command} ${idiomas[90][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[90][0]} | ${idiomas[90][1]}`},
-{title: "๐ช " + idiomas[91][0], rowId: `${usedPrefix + command} ${idiomas[91][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[91][0]} | ${idiomas[91][1]}`},
-{title: "๐ช " + idiomas[92][0], rowId: `${usedPrefix + command} ${idiomas[92][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[92][0]} | ${idiomas[92][1]}`},
-{title: "๐ช " + idiomas[93][0], rowId: `${usedPrefix + command} ${idiomas[93][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[93][0]} | ${idiomas[93][1]}`},
-{title: "๐ช " + idiomas[94][0], rowId: `${usedPrefix + command} ${idiomas[94][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[94][0]} | ${idiomas[94][1]}`},
-{title: "๐ช " + idiomas[95][0], rowId: `${usedPrefix + command} ${idiomas[95][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[95][0]} | ${idiomas[95][1]}`},
-{title: "๐ช " + idiomas[96][0], rowId: `${usedPrefix + command} ${idiomas[96][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[96][0]} | ${idiomas[96][1]}`},
-{title: "๐ช " + idiomas[97][0], rowId: `${usedPrefix + command} ${idiomas[97][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[97][0]} | ${idiomas[97][1]}`},
-{title: "๐ช " + idiomas[98][0], rowId: `${usedPrefix + command} ${idiomas[98][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[98][0]} | ${idiomas[98][1]}`},
-{title: "๐ช " + idiomas[99][0], rowId: `${usedPrefix + command} ${idiomas[99][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[99][0]} | ${idiomas[99][1]}`},
-{title: "๐ช " + idiomas[100][0], rowId: `${usedPrefix + command} ${idiomas[100][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[100][0]} | ${idiomas[100][1]}`},
-{title: "๐ช " + idiomas[101][0], rowId: `${usedPrefix + command} ${idiomas[101][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[101][0]} | ${idiomas[101][1]}`},
-{title: "๐ช " + idiomas[102][0], rowId: `${usedPrefix + command} ${idiomas[102][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[102][0]} | ${idiomas[102][1]}`},
-{title: "๐ช " + idiomas[103][0], rowId: `${usedPrefix + command} ${idiomas[103][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[103][0]} | ${idiomas[103][1]}`},
-{title: "๐ช " + idiomas[104][0], rowId: `${usedPrefix + command} ${idiomas[104][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[104][0]} | ${idiomas[104][1]}`},
-{title: "๐ช " + idiomas[105][0], rowId: `${usedPrefix + command} ${idiomas[105][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[105][0]} | ${idiomas[105][1]}`},
-{title: "๐ช " + idiomas[106][0], rowId: `${usedPrefix + command} ${idiomas[106][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[106][0]} | ${idiomas[106][1]}`},
-{title: "๐ช " + idiomas[107][0], rowId: `${usedPrefix + command} ${idiomas[107][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[107][0]} | ${idiomas[107][1]}`},
-{title: "๐ช " + idiomas[108][0], rowId: `${usedPrefix + command} ${idiomas[108][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[108][0]} | ${idiomas[108][1]}`},
-{title: "๐ช " + idiomas[109][0], rowId: `${usedPrefix + command} ${idiomas[109][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[109][0]} | ${idiomas[109][1]}`},
-{title: "๐ช " + idiomas[110][0], rowId: `${usedPrefix + command} ${idiomas[110][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[110][0]} | ${idiomas[110][1]}`},
-{title: "๐ช " + idiomas[111][0], rowId: `${usedPrefix + command} ${idiomas[111][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[111][0]} | ${idiomas[111][1]}`},
-{title: "๐ช " + idiomas[112][0], rowId: `${usedPrefix + command} ${idiomas[112][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[112][0]} | ${idiomas[112][1]}`},
-{title: "๐ช " + idiomas[113][0], rowId: `${usedPrefix + command} ${idiomas[113][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[113][0]} | ${idiomas[113][1]}`},
-{title: "๐ช " + idiomas[114][0], rowId: `${usedPrefix + command} ${idiomas[114][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[114][0]} | ${idiomas[114][1]}`},
-{title: "๐ช " + idiomas[115][0], rowId: `${usedPrefix + command} ${idiomas[115][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[115][0]} | ${idiomas[115][1]}`},
-{title: "๐ช " + idiomas[116][0], rowId: `${usedPrefix + command} ${idiomas[116][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[116][0]} | ${idiomas[116][1]}`},
-{title: "๐ช " + idiomas[117][0], rowId: `${usedPrefix + command} ${idiomas[117][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[117][0]} | ${idiomas[117][1]}`},
-{title: "๐ช " + idiomas[118][0], rowId: `${usedPrefix + command} ${idiomas[118][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[118][0]} | ${idiomas[118][1]}`},
-{title: "๐ช " + idiomas[119][0], rowId: `${usedPrefix + command} ${idiomas[119][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[119][0]} | ${idiomas[119][1]}`},
-{title: "๐ช " + idiomas[120][0], rowId: `${usedPrefix + command} ${idiomas[120][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[120][0]} | ${idiomas[120][1]}`},
-{title: "๐ช " + idiomas[121][0], rowId: `${usedPrefix + command} ${idiomas[121][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[121][0]} | ${idiomas[121][1]}`},
-{title: "๐ช " + idiomas[122][0], rowId: `${usedPrefix + command} ${idiomas[122][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[122][0]} | ${idiomas[122][1]}`},
-{title: "๐ช " + idiomas[123][0], rowId: `${usedPrefix + command} ${idiomas[123][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[123][0]} | ${idiomas[123][1]}`},
-{title: "๐ช " + idiomas[124][0], rowId: `${usedPrefix + command} ${idiomas[124][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[124][0]} | ${idiomas[124][1]}`},
-{title: "๐ช " + idiomas[125][0], rowId: `${usedPrefix + command} ${idiomas[125][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[125][0]} | ${idiomas[125][1]}`},
-{title: "๐ช " + idiomas[126][0], rowId: `${usedPrefix + command} ${idiomas[126][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[126][0]} | ${idiomas[126][1]}`},
-{title: "๐ช " + idiomas[127][0], rowId: `${usedPrefix + command} ${idiomas[127][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[127][0]} | ${idiomas[127][1]}`},
-{title: "๐ช " + idiomas[128][0], rowId: `${usedPrefix + command} ${idiomas[128][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[128][0]} | ${idiomas[128][1]}`},
-{title: "๐ช " + idiomas[129][0], rowId: `${usedPrefix + command} ${idiomas[129][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[129][0]} | ${idiomas[129][1]}`},
-{title: "๐ช " + idiomas[130][0], rowId: `${usedPrefix + command} ${idiomas[130][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[130][0]} | ${idiomas[130][1]}`},
-{title: "๐ช " + idiomas[131][0], rowId: `${usedPrefix + command} ${idiomas[131][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[131][0]} | ${idiomas[131][1]}`},
-{title: "๐ช " + idiomas[132][0], rowId: `${usedPrefix + command} ${idiomas[132][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[132][0]} | ${idiomas[132][1]}`},
-{title: "๐ช " + idiomas[133][0], rowId: `${usedPrefix + command} ${idiomas[133][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[133][0]} | ${idiomas[133][1]}`},
-{title: "๐ช " + idiomas[134][0], rowId: `${usedPrefix + command} ${idiomas[134][1]} ${text}`, description: `๐ฐ๐
๐๐๐๐: ${idiomas[134][0]} | ${idiomas[134][1]}`}
-]}]
-try {
-let result = await translate(`${text}`, { to: lang, autoCorrect: true })
-await delay(5 * 5000)
-const listMessage = {
-text: result.text,
-footer: `*๐ฃ๐ฅ๐๐ ๐๐จ๐ ${user.premium ? "โ
": "โ"}*\n${wm}`,
-title: `*โโโโ๊ค ๐ ๐๐๐ผ๐ฟ๐๐พ๐พ๐๐๐ ๊คโโโโ*`,
-buttonText: `๐ช ๐๐ก๐๐๐๐ง ๐๐๐๐ค๐ข๐ ๐ช`,
-sections }
-await conn.sendMessage(m.chat, listMessage, {quoted: fkontak} )
-await delay(2 * 2000)
-await m.reply(result.text)
-
+lang = defaultLang;
+text = args.join(' ');
+}
+if (!text && m.quoted && m.quoted.text) text = m.quoted.text;
+try {
+const result = await translate(`${text}`, {to: lang, autoCorrect: true});
+await m.reply(await tr('*Traducciรณn:* ') + result.text);
} catch {
-try {
-let lol = await fetch(`https://api.lolhuman.xyz/api/translate/auto/${lang}?apikey=85faf717d0545d14074659ad&text=${text}`)
-let loll = await lol.json()
-let result2 = loll.result.translated
-await delay(5 * 5000)
-const listMessage = {
-text: result2.text,
-footer: `*๐ฃ๐ฅ๐๐ ๐๐จ๐ ${user.premium ? "โ
": "โ"}*\n${wm}`,
-title: `*โโโโ๊ค ๐ ๐๐๐ผ๐ฟ๐๐พ๐พ๐๐๐ ๊คโโโโ*`,
-buttonText: `๐ช ๐๐ก๐๐๐๐ง ๐๐๐๐ค๐ข๐ ๐ช`,
-sections }
-await conn.sendMessage(m.chat, listMessage, {quoted: fkontak} )
-await delay(2 * 2000)
-await m.reply(result2.text)
-} catch {
-await m.reply(`${fg}\`\`\`NO SE LOGRร TRADUCIR SU TEXTO, REPORTE ESTE COMANDO CON EL COMANDO #reporte\`\`\``)
-}}}
-handler.command = /^(translate|traducir|trad)$/i
-handler.register = true
-handler.money = 20
-export default handler
-const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms))
\ No newline at end of file
+try {
+const lol = await fetch(`https://api.lolhuman.xyz/api/translate/auto/${lang}?apikey=${lolkeysapi}&text=${text}`);
+const loll = await lol.json();
+const result2 = loll.result.translated;
+await m.reply(await tr('*Traducciรณn:* ') + result2);
+} catch (e) {
+m.reply(`\`\`\`โ ๏ธ ${await tr("OCURRIO UN ERROR")} โ ๏ธ\`\`\`\n\n> *${await tr("Reporta el siguiente error a mi creador con el comando:")}* #report\n\n>>> ${e} <<<< `)
+}}};
+handler.help = ['traducir', 'translate']
+handler.tags = ['tools']
+handler.command = /^(translate|traducir|trad)$/i;
+handler.register = true
+export default handler;
diff --git a/plugins/herramientas-whatmusic.js b/plugins/herramientas-whatmusic.js
index a6204938b..2a9a60bfd 100644
--- a/plugins/herramientas-whatmusic.js
+++ b/plugins/herramientas-whatmusic.js
@@ -1,35 +1,36 @@
-import fs from 'fs'
-import acrcloud from 'acrcloud'
-let acr = new acrcloud({
-host: 'identify-eu-west-1.acrcloud.com',
+import fs from 'fs';
+import acrcloud from 'acrcloud';
+const acr = new acrcloud({host: 'identify-eu-west-1.acrcloud.com',
access_key: 'c33c767d683f78bd17d4bd4991955d81',
-access_secret: 'bvgaIAEtADBTbLwiPGYlxupWqkNGIjT7J9Ag2vIu'
-})
+access_secret: 'bvgaIAEtADBTbLwiPGYlxupWqkNGIjT7J9Ag2vIu',
+});
-let handler = async (m) => {
-let q = m.quoted ? m.quoted : m
-let mime = (q.msg || q).mimetype || ''
-if (/audio|video/.test(mime)) { if ((q.msg || q).seconds > 20) return m.reply('โฐโฑโ ๏ธโฑ *๐ผ๐ฟ๐๐๐๐๐๐๐พ๐๐ผ* โฑโ ๏ธโฑโฎ\n\nEl archivo que carga es demasiado grande, le sugerimos que corte el archivo grande a un archivo mรกs pequeรฑo, 10-20 segundos Los datos de audio son suficientes para identificar')
-await conn.reply(m.chat, wait, m)
-let media = await q.download()
-let ext = mime.split('/')[1]
-fs.writeFileSync(`./tmp/${m.sender}.${ext}`, media)
-let res = await acr.identify(fs.readFileSync(`./tmp/${m.sender}.${ext}`))
-let { code, msg } = res.status
-if (code !== 0) throw msg
-let { title, artists, album, genres, release_date } = res.metadata.music[0]
-let txt = `
-๐๐๐๐๐๐๐ผ๐ฟ๐ ๐ฟ๐ ๐๐ผ ๐ฝ๐๐๐๐๐๐ฟ๐ผ๐
+const handler = async (m) => {
+const q = m.quoted ? m.quoted : m;
+const mime = (q.msg || q).mimetype || '';
+if (/audio|video/.test(mime)) {
+if ((q.msg || q).seconds > 20) return m.reply(await tr('โ ๏ธ El archivo que carga es demasiado grande, le sugerimos que corte el archivo grande a un archivo mas pequeรฑo, 10-20 segundos los datos de audio son suficientes para identificar'))
+const media = await q.download();
+const ext = mime.split('/')[1];
+fs.writeFileSync(`./tmp/${m.sender}.${ext}`, media);
+const res = await acr.identify(fs.readFileSync(`./tmp/${m.sender}.${ext}`));
+const {code, msg} = res.status;
+if (code !== 0) throw msg;
+const {title, artists, album, genres, release_date} = res.metadata.music[0];
+const txt = `*\`${await tr("RESULTADOS DE LA BรSQUEDA")}\`*
-โข ๐ ๐๐๐๐๐๐: ${title}
-โข ๐จโ๐ค ๐ผ๐๐๐๐๐๐ผ: ${artists !== undefined ? artists.map(v => v.name).join(', ') : 'No encontrado'}
-โข ๐พ ๐ผ๐๐ฝ๐๐: ${album.name || 'No encontrado'}
-โข ๐ ๐๐๐๐๐๐: ${genres !== undefined ? genres.map(v => v.name).join(', ') : 'No encontrado'}
-โข ๐ ๐๐๐พ๐๐ผ ๐ฟ๐ ๐๐ผ๐๐๐ผ๐๐๐๐๐๐: ${release_date || 'No encontrado'}
-`.trim()
-fs.unlinkSync(`./tmp/${m.sender}.${ext}`)
-m.reply(txt)
-} else throw 'โฐโฑโ๏ธโฑ *๐๐ ๐๐๐ฬ ๐๐ผ๐* โฑโ๏ธโฑโฎ\n\n๐๐๐๐๐๐๐ฟ๐ผ ๐ผ ๐๐ ๐ผ๐๐ฟ๐๐'
-}
-handler.command = /^quemusica|quemusicaes|whatmusic$/i
-export default handler
+โข ๐ ${await tr("Titulo")}: ${title}
+โข ๐จโ๐ค ${await tr("Artista")}: ${artists !== undefined ? artists.map((v) => v.name).join(', ') : await tr('No encontrado')}
+โข ๐พ ${await tr("Album")}: ${album.name || await tr('No encontrado')}
+โข ๐ ${await tr("Genero")}: ${genres !== undefined ? genres.map((v) => v.name).join(', ') : await tr('No encontrado')}
+โข ๐ ${await tr("Fecha de lanzamiento")}: ${release_date || await tr('No encontrado')}
+`.trim();
+fs.unlinkSync(`./tmp/${m.sender}.${ext}`);
+m.reply(txt);
+} else throw await tr('*โ ๏ธ Responde a un audio*')
+};
+handler.help = ['quemusica']
+handler.tags = ['tools']
+handler.command = /^quemusica|quemusicaes|whatmusic$/i;
+handler.register = true
+export default handler;
diff --git a/plugins/info-bot.js b/plugins/info-bot.js
deleted file mode 100644
index 4299167cc..000000000
--- a/plugins/info-bot.js
+++ /dev/null
@@ -1,23 +0,0 @@
-import fs from "fs"
-let handler = m => m
-handler.all = async function (m) {
-let vn = './media/bot.mp3'
-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" }
-const user = `@${m.sender.split`@`[0]}`;
-let chat = global.db.data.chats[m.chat]
-let bot = `${pickRandom([`*Hola ${user} soy un bot el que puedo ayudar? ๐๐*`, `Aqui estoy`, `bot tu abuela`, `que quiere?`, `No dispoble ๐ซฃ`, `Hola aqui estoy soy tu botsito sexy el que puedo ayudar uwu`])}
-`.trim()
-//const estilo = { key: { fromMe: false, participant: `0@s.whatsapp.net`, ...(m.chat ? { remoteJid: "5219992095479-1625305606@g.us" } : {}) }, message: {orderMessage: { itemCount : -999999, status: 1, surface : 1, message: '๐โ๐ ๐๐ฆ๐ ๐ก๐๐ - ๐ต๐๐ก', orderTitle: 'Bang', thumbnail: fs.readFileSync('./Menu2.jpg'), sellerJid: '0@s.whatsapp.net'}}}
-//const estiloaudio = { key: { fromMe: false, participant: `0@s.whatsapp.net`, ...(m.chat ? { remoteJid: "5219992095479-1625305606@g.us" } : {}) }, message: {"audioMessage": { "mimetype":"audio/ogg; codecs=opus", "seconds": "99569", "ptt": "true"}}}
-if (/^bot$/i.test(m.text) && !chat.isBanned) {
-conn.sendPresenceUpdate('recording', m.chat)
-await conn.sendMessage(m.chat, {text: bot, mentions: [m.sender]}, {quoted: fkontak})
-//conn.sendButton(m.chat, '*๐๐ค๐ก๐ ๐จ๐ค๐ฎ ๐ช๐ฃ ๐๐ค๐ฉ ๐๐ก ๐ฆ๐ช๐ ๐ฅ๐ช๐๐๐ค ๐๐ฎ๐ช๐๐๐ง? ๐๐*', wm, [['๐ผ๐ด๐ฝ๐', `#menu`]], 'conversation', { sendEphemeral: true, quoted: m })
-conn.sendFile(m.chat, vn, 'bot.mp3', null, m, true, { type: 'audioMessage', seconds: '4556', ptt: true, sendEphemeral: true, quoted: m })}
-return !0
-}
-export default handler
-
-function pickRandom(list) {
- return list[Math.floor(Math.random() * list.length)]
-}
\ No newline at end of file
diff --git a/plugins/info-chat-anonimo.js b/plugins/info-chat-anonimo.js
deleted file mode 100644
index c7242d15a..000000000
--- a/plugins/info-chat-anonimo.js
+++ /dev/null
@@ -1,115 +0,0 @@
-import { xpRange } from '../lib/levelling.js'
-import PhoneNumber from 'awesome-phonenumber'
-import { promises } from 'fs'
-import { join } from 'path'
-let handler = async (m, { conn, usedPrefix, command, args, usedPrefix: _p, __dirname, isOwner, text, isAdmin, isROwner }) => {
-
-
-const { levelling } = '../lib/levelling.js'
-//let handler = async (m, { conn, usedPrefix, usedPrefix: _p, __dirname, text }) => {
-
-let { exp, limit, level, role } = global.db.data.users[m.sender]
-let { min, xp, max } = xpRange(level, global.multiplier)
-
-let d = new Date(new Date + 3600000)
-let locale = 'es'
-let weton = ['Pahing', 'Pon', 'Wage', 'Kliwon', 'Legi'][Math.floor(d / 84600000) % 5]
-let week = d.toLocaleDateString(locale, { weekday: 'long' })
-let date = d.toLocaleDateString(locale, {
-day: 'numeric',
-month: 'long',
-year: 'numeric'
-})
-let dateIslamic = Intl.DateTimeFormat(locale + '-TN-u-ca-islamic', {
-day: 'numeric',
-month: 'long',
-year: 'numeric'
-}).format(d)
-let time = d.toLocaleTimeString(locale, {
-hour: 'numeric',
-minute: 'numeric',
-second: 'numeric'
-})
-let _uptime = process.uptime() * 1000
-let _muptime
-if (process.send) {
-process.send('uptime')
-_muptime = await new Promise(resolve => {
-process.once('message', resolve)
-setTimeout(resolve, 1000)
-}) * 1000
-}
-let { money } = global.db.data.users[m.sender]
-let muptime = clockString(_muptime)
-let uptime = clockString(_uptime)
-let totalreg = Object.keys(global.db.data.users).length
-let rtotalreg = Object.values(global.db.data.users).filter(user => user.registered == true).length
-let replace = {
-'%': '%',
-p: _p, uptime, muptime,
-me: conn.getName(conn.user.jid),
-
-exp: exp - min,
-maxexp: xp,
-totalexp: exp,
-xp4levelup: max - exp,
-
-level, limit, weton, week, date, dateIslamic, time, totalreg, rtotalreg, role,
-readmore: readMore
-}
-text = text.replace(new RegExp(`%(${Object.keys(replace).sort((a, b) => b.length - a.length).join`|`})`, 'g'), (_, name) => '' + replace[name])
-
-
-let pp = './media/menus/Menu1.jpg'
-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 chat = `๐ค *El chat Anรณnimo funciona solo al privado del Bot.*
-
-๐ฅ Consiste en usar el nรบmero del Bot para hablar con otras personas, es decir las dos personas estarรกn a la vez escribiendo por el chat privado del Bot, de esa manera ninguna ๐de las dos personas pueden ver su nรบmero, Foto, usuario, descripciรณn etc... ๐
-
-โจ Para poder hacer uso de esta funciรณn debes hacer lo siguiente:
-โก๏ธ Ingresa al chat privado del Bot
-โก๏ธ Escribe es siguiente comando
-*#start*
-
-โ
Una vez hecho lo anterior solo tienes que tener paciencia a que otra persona use el mismo comando (#start) para poder ser vinculados por medio del nรบmero del Bot y empezar a interactuar
-
-โ
Si dejas activado el #start tendrรกs mรกs posibilidades de interactuar con la otra persona de forma Anรณnima
-
-๐ช En caso que quieras salir del chat anรณnimo usa el siguiente comando
-*#leave*
-
-โ
De esa forma ya dejarรกs de estar en el chat anรณnimo del Bot
-โ No nos hacemos responsables del mal uso que le puedas dar a esta funciรณn del Bot.`
-
-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"
-}
-
-await conn.sendButton(m.chat, chat, wm, pp, [['๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ | ๐ฝ๐๐๐ ๐ฉ๐ค ๐๐๐ฃ๐ช โ๏ธ', '/menu'] ], fkontak, m)
-}
-
-handler.command = /^(anonimochat|chatanonimo|AnonimoChat|ChatAnonimo|chatanรณnimo|anรณnimochat|anonimoch)$/i
-handler.exp = 70
-export default handler
-
-const more = String.fromCharCode(8206)
-const readMore = more.repeat(4001)
-function clockString(ms) {
-let h = isNaN(ms) ? '--' : Math.floor(ms / 3600000)
-let m = isNaN(ms) ? '--' : Math.floor(ms / 60000) % 60
-let s = isNaN(ms) ? '--' : Math.floor(ms / 1000) % 60
-return [h, m, s].map(v => v.toString().padStart(2, 0)).join(':')}
diff --git a/plugins/info-creador.js b/plugins/info-creador.js
deleted file mode 100644
index 32f535ad7..000000000
--- a/plugins/info-creador.js
+++ /dev/null
@@ -1,105 +0,0 @@
-let MessageType = (await import(global.baileys)).default
-let handler = async (m, { conn, command, args, usedPrefix, DevMode }) => {
- 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 name = await conn.getName(m.sender)
- let type = (args[0] || '').toLowerCase()
- let _type = (args[0] || '').toLowerCase()
-let totalreg = Object.keys(global.db.data.users).length
-let pp = gataVidMenu.getRandom()
-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 vn = './media/creador.mp3'
-
-//------- Nombre
- let nowner = `${wm.split`@`[0]}@s.whatsapp.net`
- let teksnomor = `
-โข @${wm.split`@`[0]} โข
-------- ${wm} -------
-`
-
-//------------ BIO
-let ppown = await conn.profilePictureUrl(nomorown + '@s.whatsapp.net', 'image').catch(_ => imagen1[1])
-let teksbio = `
-*๐พ๐ค๐ฃ๐ฉ๐๐๐ฉ๐ค*
-*Wa.me/5492266466080 (no bot)*
-*Wa.me/573183650526 (bot)*
-*wa.me/14086414984 (bot ยฒ)*
-`
- let teks = ' '
-const sections = [
- {
- title: `๐๐๐๐๐๐๐๐ผ๐๐๐/๐๐๐๐๐`,
- rows: [
- {title: "๐ฐ โข NUMERO", rowId: ".owner bio"},
- {title: "๐ โข CUENTAS OFICIALES", rowId: ".cuentasgb"},
- {title: "๐ โข GRUPOS", rowId: ".grupos"},
- ]
- },{
- title: `โโโโโโโยทโข ๐ผ๐๐๐๐ผ ๐ผ๐ ๐ฝ๐๐ โโโโโโโยทโข`,
- rows: [
- {title: "๐ค โข INSTALARBOT", rowId: ".instalarbot"},
- {title: "๐ โข SC", rowId: "Sc"},
- ]
- },
-]
-
-const listMessage = {
-text: `~ *PROPIETARIO/OWNER DEL BOT*`,
-footer: `โญโใ *OWNER* ใโโฑ
-โ *Hola๐ ${name}*
-โโโโโโโยซโขยปโโโโโโ
-โโข ๐๐๐ง๐จ๐๐ค๐ฃ ๐๐๐ก ๐๐ค๐ฉ: ${vs}
-โโโโโโโโโโโโ
-โโข ๐๐ค๐ฉ๐๐ก ๐๐๐ก ๐๐จ๐ช๐๐ง๐๐ค๐จ: *${totalreg}*
-โโโโโโโโโโโโ
-โโข ๐๐ค๐๐ค: ${global.db.data.settings[conn.user.jid].self ? '*Privado*' : '*Pรบblico*'}
-โโโโโโโโโโโโ
-โโข ๐๐ง๐๐๐๐๐ค: *${usedPrefix}*
-โโโโโโโโโโโโ
-โโข ๐๐ง๐๐ข๐๐ช๐ข: ${user.premiumTime > 0 ? 'Siu โ
' : 'No โ'}
-โโโโโโโโโโโโ
-โโข ๐พ๐๐๐ฉ(๐จ) ๐๐ง๐ค๐๐๐๐๐๐ค(๐จ): ${Object.entries(global.db.data.chats).filter(chat => chat[1].isBanned).length}
-โโโโโโโโโโโโ
-โโข ๐๐จ๐ช๐๐ง๐๐ค(๐จ) ๐๐ง๐ค๐๐๐๐๐๐ค(๐จ): ${Object.entries(global.db.data.users).filter(user => user[1].banned).length}
-โฐโโโโฐ ๐ ${vs} โฑโโโโแ
-${wm}`,
-title: null,
-buttonText: `HAGA CLICK AQUI`,
-sections }
-
- try {
- if (/(contacto|owner|creator|propietario|dueรฑo|dueรฑa|propietaria|dueรฑo|creadora|creador)/i.test(command)) {
- const count = args[1] && args[1].length > 0 ? Math.min(99999999, Math.max(parseInt(args[1]), 1)) : !args[1] || args.length < 3 ? 1 : Math.min(1, count)
- switch (type) {
- case 'nomor':
- conn.reply(m.chat, "LoliBot-MD", m, { contextInfo: { mentionedJid: [nowner] }})
- break
- case 'bio':
- await conn.sendFile(m.chat, gataImg.getRandom(), 'gata.jpg', teksbio, fkontak)
- break
- default:
- return await conn.sendMessage(m.chat, listMessage, { quoted: m, contextInfo: { mentionedJid: [m.sender] }})
- }
- } else if (/aoaooaoaooaoa/i.test(command)) {
- const count = args[2] && args[2].length > 0 ? Math.min(99999999, Math.max(parseInt(args[2]), 1)) : !args[2] || args.length < 4 ? 1 :Math.min(1, count)
- switch (_type) {
- case 't':
- break
- case '':
- break
-
- default:
- return await conn.sendFile(m.chat, gataImg.getRandom(), 'gata.jpg', teksbio, fkontak)
- }
- }
- } catch (err) {
- m.reply("Error\n\n\n" + err.stack)
- }
-conn.sendFile(m.chat, vn, 'creador.mp3', null, m, true, { type: 'audioMessage', ptt: true, sendEphemeral: true })
-}
-handler.help = ['owner', 'creator']
-handler.tags = ['info']
-handler.command = /^(contacto|owner|creator|propietario|dueรฑo|dueรฑa|propietaria|dueรฑo|creadora|creador)$/i
-
-export default handler
diff --git a/plugins/info-cuentas-oficiales.js b/plugins/info-cuentas-oficiales.js
index 3774f086a..9dbb2dd21 100644
--- a/plugins/info-cuentas-oficiales.js
+++ b/plugins/info-cuentas-oficiales.js
@@ -1,42 +1,45 @@
-let media = './media/menus/Menuvid2.mp4'
+let media = 'https://qu.ax/dcAc.mp4'
let handler = async (m, { conn, command }) => {
-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 str = `๐ฐ ๐ฝ๐๐๐ฃ๐ซ๐๐ฃ๐๐๐ค ๐๐ก ๐ก๐๐จ ๐๐ช๐๐ฃ๐ฉ๐๐จ ๐ค๐๐๐๐๐๐ก๐๐จ
-โโโโโโโโโโโโโโโโโ
- ๐๐ช๐ข๐๐ง๐ค ๐๐๐ก ๐๐ค๐ฉ ๐ค๐๐
-๐ฐ *Wa.me/14086414984
-โโโโโโโโโโโโโโโโโ
-โ
๐๐๐ฉ๐๐ช๐
-*${md}*
-โโโโโโโโโโโโโโโโโ
-โ
๐๐ง๐ช๐ฅ๐ค๐จ ๐ค๐๐๐๐๐๐ก ๐๐๐ก ๐๐ค๐ฉ
-1) *${nn}*\n
-โโโโโโโโโโโโโโโโโ
-2) *${nnn}*\n
-โโโโโโโโโโโโโโโโโ
-โ
๐๐ฆ๐ช๐ฬ ๐จ๐ ๐๐๐ง ๐๐๐ฉ๐ช๐๐ก๐๐ฏ๐๐๐๐ค๐ฃ ๐ฎ ๐ฃ๐ค๐ซ๐๐๐๐๐๐จ ๐๐๐ก ๐๐ค๐ฉ
- *${nna}*\n
-โโโโโโโโโโโโโโโโโ
-โ
๐๐ง๐ช๐ฅ๐ค ๐๐จ๐๐จ๐ฉ๐๐ฃ๐๐๐ ๐๐๐๐๐๐ค๐ค๐
-*https://facebook.com/groups/872989990425789/*
-โโโโโโโโโโโโโโโโโ
-โ
๐๐ง๐ช๐ฅ๐ค ๐ฉ๐๐ก๐๐๐ง๐๐ข
-*https://t.me/+EcdN9fktnQQwY2Ex*
-โโโโโโโโโโโโโโโโโ
-โ
*๐๐๐ ๐ฉ๐ค๐ *
- *${ig}*
+let str = `\`ใ ${await tr("CUENTA OFICIALES")} ใ\`
+
+\`${await tr("Numero del bot oficial")} (๐๐ค๐ก๐๐ฝ๐ค๐ฉ)\`
+> *${bot}*
+
+ โโโโโโโโโโโโโโโโโ
+
+\`ใ ${await tr("GitHub oficial", "แดณแถฆแตแดดแตแต แตแถ แถฆแถแถฆแต")} ใ\`
+* *${md}*
+
+\`ใ ${await tr("Grupo oficial", "แดณสณแตแตแต แตแถ แถฆแถแถฆแตหก ยน")} ใ\`
+* *${nn}*
+
+\`ใ ${await tr("Grupo oficial 2", "แดณสณแตแตแต แตแถ แถฆแถแถฆแตหก ยฒ")} ใ\`
+* *${nnn}*
+
+\`ใ ${await tr("Canal de WhatsApp / Update", "แถแตโฟแตหก แตแต แตสฐแตแตหขแดฌแตแต / แตแตแตแตแตแต")} ใ\`
+* *${nna}*
+
+\`ใ ${await tr("Asistencia para usuarios Facebook", "แตหขแถฆหขแตแตโฟแถแถฆแต แตแตสณแต แตหขแตแตสณแถฆแตหข แถ แตแถแตแตแตแตแต")} ใ\`
+* *${fb}*
+
+\`ใ ${await tr("Tiktok", "แตแถฆแตแตแตแต")} ใ\`
+* *${tiktok}*
+
+\`ใ ${await tr("YouTube", "สธแตแตแตแตแตแต")} ใ\`
+* *${yt}*
+
+\`ใ ${await tr("Grupo Facebook", "แดณสณแตแตแต แถ แตแถแตแตแตแตแต")} ใ\`
+* *${face}*
+
โโโโโโโโโโโโโโโโโ
-โ
๐๐ค๐ช๐๐ช๐๐
-*${yt}*
-โโโโโโโโโโโโโโโโโ
-๐๐ ๐ฉ๐๐๐ฃ๐๐ฃ ๐๐ช๐๐๐จ, ๐จ๐ช๐๐๐ง๐๐ฃ๐๐๐๐จ, ๐ค ๐ฅ๐ง๐๐๐ช๐ฃ๐ฉ๐๐จ ๐ฒ๐๐ฐ๐ฟ๐ถ๐ฏ๐ถ ๐ฝ๐ผ๐ฟ ๐ฒ๐น ๐ด๐ฟ๐๐ฝ๐ผ`
-await conn.sendFile(m.chat, media, 'gata.mp4', str, fkontak)}
-//await conn.sendFile(m.chat, media, str, fkontak)
-/*conn.sendButton(m.chat, str, ``, media, [
-['๐๐ง๐ช๐ฅ๐ค๐จ ๐๐๐๐๐๐๐ก๐๐จ ๐ฐ', '.grupos'],
-['๐พ๐ง๐๐๐๐ค๐ง ๐', '#owner'],
-['๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ โ๏ธ', '/menu']], m)}*/
-
-handler.command = /^cuentasoficiales|gataig|cuentasgb|cuentagb|accounts|gataaccounts|account|iggata|cuentasdeloli|cuentasdelolibot|cuentalolibot|cuentasgatabot$/i
-handler.exp = 35
+\`ใ ${await tr("Visita todos los enlaces oficiales en un รบnico lugar", "โฑฝแถฆหขแถฆแตแต แตแตแตแตหข หกแตหข แตโฟหกแตแถแตหข แตแถ แถฆแถแถฆแตหกแตหข แตโฟ แตโฟ แตโฟแถฆแถแต หกแตแตแตสณ")} ใ\`
+โข https://atom.bio/lolibot
+
+${wm}`
+await conn.reply(m.chat, str, fkontak, {contextInfo: {externalAdReply :{ mediaUrl: null, mediaType: 1, description: null, title: wm, body: '', previewType: 0, thumbnail: img.getRandom(), sourceUrl: redes.getRandom()}}})}
+//conn.sendFile(m.chat, media, 'loli.mp4', str, fkontak)}
+handler.help = ['cuentaoficial']
+handler.tags = ['main']
+handler.command = /^cuentasoficiales|cuentas|cuentaofc|cuentaoficial$/i
+handler.register = true
export default handler
diff --git a/plugins/info-dashboard.js b/plugins/info-dashboard.js
new file mode 100644
index 000000000..61f507938
--- /dev/null
+++ b/plugins/info-dashboard.js
@@ -0,0 +1,39 @@
+let handler = async (m, { conn }) => {
+let stats = Object.entries(db.data.stats).map(([key, val]) => {
+let name = Array.isArray(plugins[key]?.help) ? plugins[key]?.help?.join(' & ') : plugins[key]?.help || key
+if (/exec/.test(name)) return
+return { name, ...val }
+})
+stats = stats.sort((a, b) => b.total - a.total)
+let txt = stats.slice(0, 10).map(({ name, total, last }, idx) => {
+if (name.includes('-') && name.endsWith('.js')) name = name.split('-')[1].replace('.js', '')
+return `[ ${idx + 1} ] *COMANDO:*\nโฎ *${name}*\n*โข USOS:*\nโฎ *${total}x*\n`
+}).join`\n\n`
+m.reply(`*ใDASHBOARDใ*\n\n*Total :* ${conn.user.name}\n\n${txt}`)
+}
+handler.help = ['dashboard']
+handler.tags = ['main']
+handler.command = /^dashboard$/i
+handler.register = true
+
+export default handler
+
+export function parseMs(ms) {
+if (typeof ms !== 'number') throw 'El parรกmetro debe rellenarse con un nรบmero'
+return {
+days: Math.trunc(ms / 86400000),
+hours: Math.trunc(ms / 3600000) % 24,
+minutes: Math.trunc(ms / 60000) % 60,
+seconds: Math.trunc(ms / 1000) % 60,
+milliseconds: Math.trunc(ms) % 1000,
+microseconds: Math.trunc(ms * 1000) % 1000,
+nanoseconds: Math.trunc(ms * 1e6) % 1000
+}}
+
+export function getTime(ms) {
+let now = parseMs(+new Date() - ms)
+if (now.days) return `Hace ${now.days} dรญas`
+else if (now.hours) return `Hace ${now.hours} horas`
+else if (now.minutes) return `Hace ${now.minutes} minutos`
+else return `hace unos segundos`
+}
diff --git a/plugins/info-donar.js b/plugins/info-donar.js
index 6b1ac5179..882d4e244 100644
--- a/plugins/info-donar.js
+++ b/plugins/info-donar.js
@@ -1,47 +1,49 @@
-let media = './media/menus/Menu4paypal.jpg'
+let media = img.getRandom()
let handler = async (m, { conn, command }) => {
-let pp = './src/apoyo.jpg'
-/*
-//await conn.sendButton(m.chat, wm, `https://paypal.me/OficialGD`, pp, m)
-await conn.sendButton(m.chat, ``, `https://paypal.me/OficialGD`, pp, [['๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ โ๏ธ', `/menu`]], m) //[['๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ โ๏ธ', `/menu`]]
- */
+//let pp = './src/apoyo.jpg'
let name = await conn.getName(m.sender)
await conn.sendMessage(m.chat, {
-text: `*โ โ
โโโโโโโโโ โ
โ*
-*โ ๐ สแดสแด ${name} ๐*
-*โ แดแด แดษขสแดแด
แดแดขแดแด, แดแดส แดสแดแด
แดสแดแด ส แดแดส แดsแดส แดษช สแดแด*
-*โ ษขสแดแดษชแดs, สแด ษดแด แดษชแด
แด แด
ษชษดแดสแด.*
-*โ ษดแด แดแดษดษขแด แดแดสแดแดส. sแดแดแดs สแดแดษชสแด
แดs,*
-*โ แดแดสแด sษช วซแดษชแดสแดs แดแดแดแด
แด แดแดแดสแดส แดส สแดแด.*
-*โ sแดsแดสษชสษชแดษดแด
แดsแด แดส แดแดษดแดส แดาษชแดษชแดส แด
แดส สแดแด*
-*โ แดแดสแด วซแดแด แดแดแด
แด แด แดแดข sแดแดแดs แดแดs แดส สแด าแดแดษชสษชแดs สแดสษชสแดแด*
-*โ สแด แดแดษด แดsแด sแดส าแดสษชแดข.๐*
-*โ ส แดแดแดสแดสสแดs แดแดษด แดษดแด ๐ แดส ษขษชแดสแดส แดาษชแดษชแดส แด
แดส สแดแด*
-*โ* โโโโโโโโโโโโโโโโโ
-*โ* *สแดแดแดแดสแด | sแดsแดสษชสษชสแดแด ๐*
-*โ* *${yt}*
-*โ* โโโโโโโโโโโโโโโโโ
-*โ* *ษขษชแดสแดส ๐*
-*โ* *${md}*
-*โ* โโโโโโโโโโโโโโโโโ
-*โ* *แดษชแดแดแดแด*
-*โ* *${ig}*
-*โ* โโโโโโโโโโโโโโโโโ
-*โ* *าแดแดแดสแดแดแด*
-*โ* *https://facebook.com/groups/872989990425789/*
-*โ* โโโโโโโโโโโโโโโโโ
-*โ* *แดษขสแดแดษชแดษชแดษดแดแดs:*
-*โ* *แดสแด-สแดสษชสแดแด-แดแด
แดษชแดษดแด าแดษดแดษชแดษดแดs วซแดแด*
-*โ* *แดแดสแดแดษดแดแดขแดแดษด แด สแดs sษชษขแดแดษดแดแดs แดแดแดสแดsแดs*
-*โ* *แดสษขแดษดษชแดขแดแดษชแดษด(แดs) แดแดสsแดษดแด(s):*
-*โ* โโโโโโโโโโโโโโโโโ
-*โ* *แดสแดแดสsแดษชแด-สแดแด-แดแด
*
-*โ* *https://github.com/BrunoSobrino*
-*โ* โโโโโโโโโโโโโโโโโ
-*โ* *ษขแดแดแดสแดแด-แดแด
*
-*โ* *https://github.com/GataNina-Li/GataBot-MD*
-*โ* *ษขสแดแดษชแดs!!*
-*โ โ
โโโโโโโโโ โ
โ*`,
+text: `*\`[๐ ${await tr("DONACIรN", "๏ผค๏ผฏ๏ผฎ๏ผก๏ผฃ๏ผฉ๏ผฏ๏ผฎ")} ๐ ]\`*
+
+โจ ยก${await tr("Hola")} ${name}! โจ
+
+ยก${await tr("Gracias por usar", "๐๐ณ๐ข๐ค๐ช๐ข๐ด ๐ฑ๐ฐ๐ณ ๐ถ๐ด๐ข๐ณ")} *${wm}*, ${await tr("Tu bot gratuito favorito! ๐ Tu apoyo es fundamental para mantener este proyecto en marcha y simpre actualizado. Si quieres contribuir y ser parte de este aventura, puedes hacerlo a traves de PayPal o Mercado pago", "๐ต๐ถ ๐ฃ๐ฐ๐ต ๐จ๐ณ๐ข๐ต๐ถ๐ช๐ต๐ฐ ๐ง๐ข๐ท๐ฐ๐ณ๐ช๐ต๐ฐ! ๐ ๐๐ถ ๐ข๐ฑ๐ฐ๐บ๐ฐ ๐ฆ๐ด ๐ง๐ถ๐ฏ๐ฅ๐ข๐ฎ๐ฆ๐ฏ๐ต๐ข๐ญ ๐ฑ๐ข๐ณ๐ข ๐ฎ๐ข๐ฏ๐ต๐ฆ๐ฏ๐ฆ๐ณ ๐ฆ๐ด๐ต๐ฆ ๐ฑ๐ณ๐ฐ๐บ๐ฆ๐ค๐ต๐ฐ ๐ฆ๐ฏ ๐ฎ๐ข๐ณ๐ค๐ฉ๐ข ๐บ ๐ด๐ช๐ฆ๐ฎ๐ฑ๐ณ๐ฆ ๐ข๐ค๐ต๐ถ๐ข๐ญ๐ช๐ป๐ข๐ฅ๐ฐ. ๐๐ช ๐ฒ๐ถ๐ช๐ฆ๐ณ๐ฆ๐ด ๐ค๐ฐ๐ฏ๐ต๐ณ๐ช๐ฃ๐ถ๐ช๐ณ ๐บ ๐ด๐ฆ๐ณ ๐ฑ๐ข๐ณ๐ต๐ฆ ๐ฅ๐ฆ ๐ฆ๐ด๐ต๐ข ๐ข๐ท๐ฆ๐ฏ๐ต๐ถ๐ณ๐ข, ๐ฑ๐ถ๐ฆ๐ฅ๐ฆ๐ด ๐ฉ๐ข๐ค๐ฆ๐ณ๐ญ๐ฐ ๐ข ๐ต๐ณ๐ข๐ท๐ฆฬ๐ด ๐ฅ๐ฆ ๐๐ข๐บ๐๐ข๐ญ ๐ฐ ๐๐ฆ๐ณ๐ค๐ข๐ฅ๐ฐ ๐๐ข๐จ๐ฐ")}. ๐
+
+โโโโโโโโโโโโโโโโโโโโโ
+
+*๐ธ ${await tr("PayPal", "๐๐ข๐บ๐๐ข๐ญ")}:* https://paypal.me/OficialGD
+*๐ธ ${await tr("Mercado pago", "๐๐ฆ๐ณ๐ค๐ข๐ฅ๐ฐ ๐๐ข๐จ๐ฐ")}:*
+*โข ${await tr("Alias", "๐๐ญ๐ช๐ข๐ด")}:* OficialGB
+*โข ๐๐๐:* 0000003100059201491917
+
+โโโโโโโโโโโโโโโโโโโโโ
+
+๐ ${await tr("*Otras formas de apoyar:*\nSi prefieres ayudar de otra manera, puedes donar un nรบmero para convertirlo en bot, o contactar directamente con mi creador. ยกTambiรฉn puedes seguirnos y apoyarnos en nuestras redes sociales", "*๐๐ต๐ณ๐ข๐ด ๐ง๐ฐ๐ณ๐ฎ๐ข๐ด ๐ฅ๐ฆ ๐ข๐ฑ๐ฐ๐บ๐ข๐ณ:*\n๐๐ช ๐ฑ๐ณ๐ฆ๐ง๐ช๐ฆ๐ณ๐ฆ๐ด ๐ข๐บ๐ถ๐ฅ๐ข๐ณ ๐ฅ๐ฆ ๐ฐ๐ต๐ณ๐ข ๐ฎ๐ข๐ฏ๐ฆ๐ณ๐ข, ๐ฑ๐ถ๐ฆ๐ฅ๐ฆ๐ด ๐ฅ๐ฐ๐ฏ๐ข๐ณ ๐ถ๐ฏ ๐ฏ๐ถฬ๐ฎ๐ฆ๐ณ๐ฐ ๐ฑ๐ข๐ณ๐ข ๐ค๐ฐ๐ฏ๐ท๐ฆ๐ณ๐ต๐ช๐ณ๐ญ๐ฐ ๐ฆ๐ฏ ๐ฃ๐ฐ๐ต, ๐ฐ ๐ค๐ฐ๐ฏ๐ต๐ข๐ค๐ต๐ข๐ณ ๐ฅ๐ช๐ณ๐ฆ๐ค๐ต๐ข๐ฎ๐ฆ๐ฏ๐ต๐ฆ ๐ค๐ฐ๐ฏ ๐ฎ๐ช ๐ค๐ณ๐ฆ๐ข๐ฅ๐ฐ๐ณ. ยก๐๐ข๐ฎ๐ฃ๐ช๐ฆฬ๐ฏ ๐ฑ๐ถ๐ฆ๐ฅ๐ฆ๐ด ๐ด๐ฆ๐จ๐ถ๐ช๐ณ๐ฏ๐ฐ๐ด ๐บ ๐ข๐ฑ๐ฐ๐บ๐ข๐ณ๐ฏ๐ฐ๐ด ๐ฆ๐ฏ ๐ฏ๐ถ๐ฆ๐ด๐ต๐ณ๐ข๐ด ๐ณ๐ฆ๐ฅ๐ฆ๐ด ๐ด๐ฐ๐ค๐ช๐ข๐ญ๐ฆ๐ด!")} ๐
+
+๐ *${await tr("YouTube - Suscribete", "๐ ๐ฐ๐ถ๐๐ถ๐ฃ๐ฆ - ๐๐ถ๐ด๐ค๐ณ๐ชฬ๐ฃ๐ฆ๐ต๐ฆ")}*
+${yt}
+
+๐ *${await tr("GitHub - Dale una estrella", "๐๐ช๐ต๐๐ถ๐ฃ - ๐๐ข๐ญ๐ฆ ๐ถ๐ฏ๐ข ๐ฆ๐ด๐ต๐ณ๐ฆ๐ญ๐ญ๐ข")} โญ*
+${md}
+
+๐ *${await tr("Enlace oficiales en un unico lugar", "๐๐ฏ๐ญ๐ข๐ค๐ฆ๐ด ๐๐ง๐ช๐ค๐ช๐ข๐ญ๐ฆ๐ด ๐ฆ๐ฏ ๐ถ๐ฏ ๐ฬ๐ฏ๐ช๐ค๐ฐ ๐๐ถ๐จ๐ข๐ณ")}:*
+https://atom.bio/lolibot
+
+๐ *${await tr("Facebook", "๐๐ข๐ค๐ฆ๐ฃ๐ฐ๐ฐ๐ฌ")}:*
+${face}
+
+โโโโโโโโโโโโโโโโโโโโโ
+
+*${await tr("AGRADECIMIENTO", "๏ผก๏ผง๏ผฒ๏ผก๏ผค๏ผฅ๏ผฃ๏ผฉ๏ผญ๏ผฉ๏ผฅ๏ผฎ๏ผด๏ผฏ๏ผณ")}:*
+
+*${wm}* ${await tr("Tiene funciones desarrollada por las siguientes organizaciones y personas increรญbles", "แดษชแดษดแด าแดษดแดษชแดษดแดs แด
แดsแดสสแดสสแดแด
แดs แดแดส สแดs sษชษขแดษชแดษดแดแดs แดสษขแดษดษชแดขแดแดษชแดษดแดs ส แดแดสsแดษดแดs ษชษดแดสแดษชฬสสแดs")}:
+
+- *แดสแด-แดสsแดษชแดสแดแด-แดแด
:*
+https://github.com/BrunoSobrino
+- *ษขแดแดแดสแดแด-แดแด
:*
+https://github.com/GataNina-Li
+
+> ${await tr("Gracias", "ษขสแดแดษชแดs")} ๐`,
contextInfo:{
forwardingScore: 9999999,
isForwarded: true,
@@ -50,7 +52,7 @@ mentionedJid:[m.sender],
"showAdAttribution": true,
"renderLargerThumbnail": true,
"thumbnail": imagen3,
-"title": 'แดพแตแตแตแต แตแตแตสธแตสณแตแต แถแตแตแตแตสณแตแถฆแตโฟแตแต แตหขแตแตหข สธ หขแถฆ แตแต แตแตสณแตแตแต แตหก แดฎแตแต สณแตแตแตหกแตสณแตแต แตโฟแต โญ แดณสณแตแถแถฆแตหข',
+"title": 'แดพแตแตแตแต แตแตแตสธแตสณ โฟแตแตหขแตสณแต สณแตแตแตหขแถฆแตแตสณแถฆแต แถแตโฟ แตโฟแต แตหขแตสณแตหกหกแถฆแตแตหข โญ',
"containsAutoReply": true,
"mediaType": 1,
"mediaUrl": md,
@@ -63,7 +65,15 @@ mentionedJid:[m.sender],
['๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ โ๏ธ', '/menu']
], m,)}*/
}
+handler.help = ['donar']
+handler.tags = ['main']
handler.command = /^dona(te|si)|donar|apoyar|paypal|donating|creditos$/i
-handler.exp = 80
+handler.exp = 600
handler.register = true
export default handler
+
+
+/*
+//await conn.sendButton(m.chat, wm, `https://paypal.me/OficialGD`, pp, m)
+await conn.sendButton(m.chat, ``, `https://paypal.me/OficialGD`, pp, [['๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ โ๏ธ', `/menu`]], m) //[['๐๐ค๐ก๐ซ๐๐ง ๐๐ก ๐๐๐ฃ๐ชฬ โ๏ธ', `/menu`]]
+ */
\ No newline at end of file
diff --git a/plugins/info-estado.js b/plugins/info-estado.js
index ff8d3bd57..be1c20ced 100644
--- a/plugins/info-estado.js
+++ b/plugins/info-estado.js
@@ -1,9 +1,6 @@
-/**
-POR FAVOR TENGAN LA AMABILIDAD Y BONDAD DE NO CAMBIAR MรNIMAMENTE LOS CRรDITOS DE LOLIBOT-MD,
-SI VAS A AรADIR TUS DATOS O CRรDITOS, ESTA BIEN. PERO NO QUITEN LOS QUE YA ESTAN DE LOLIBOT-MD, GRACIAS
-**/
+/** POR FAVOR TENGAN LA AMABILIDAD Y BONDAD DE NO CAMBIAR MรNIMAMENTE LOS CRรDITOS DE LOLIBOT-MD,
+SI VAS A AรADIR TUS DATOS O CRรDITOS, ESTA BIEN. PERO NO QUITEN LOS QUE YA ESTAN DE LOLIBOT-MD, GRACIAS **/
let handler = async (m, { conn, command, usedPrefix }) => {
-let picture = './media/menus/Menu1.jpg'
let name = await conn.getName(m.sender)
let usuario = `${m.sender.split("@")[0]}`
let aa = usuario + '@s.whatsapp.net'
@@ -14,9 +11,9 @@ _muptime = await new Promise(resolve => { process.once('message', resolve)
setTimeout(resolve, 1000) }) * 1000}
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 uptime = clockString(_uptime)
-let estado = `${pickRandom([`*โโโโโท *ใ๐ค Estado del Bot ๐คๅฝก*\nโ *=> Bot activo โ
*\nโโโโโโโโโโโโโโโโโโ\nโ *=> Bot uso pรบblico โ
๏ธ*\nโโโโโโโโโโโโโโโโโโ\nโ=> ๐ผ๐๐ฉ๐๐ซ๐ค ๐๐ช๐ง๐๐ฃ๐ฉ๐\nโ=> ${uptime} โ
\nโฐโโโโโโโโโโโโโโโโโโ`, `*Online ${uptime} โ
*`, `*Saturado ๐ฅต*`, `Estoy activo desde: ${uptime}`, `Estamos activo papu ๐ค`])}
+let estado = `${pickRandom([`*โโโโโท *ใ๐ค ${await tr("Estado del Bot")} ๐คๅฝก*\nโ *=> ${await tr("Bot activo")} โ
*\nโโโโโโโโโโโโโโโโโโ\nโ *=> ${await tr("Bot uso pรบblico")} โ
๏ธ*\nโโโโโโโโโโโโโโโโโโ\nโ=> ${await tr("Activo durante")}\nโ=> ${uptime} โ
\nโฐโโโโโโโโโโโโโโโโโโ`, `*${await tr("Online")} ${uptime} โ
*`, await tr(`*Saturado ๐ฅต*`), `${await tr("Estoy activo desde")}: ${uptime}`, await tr(`Estamos activo papu ๐ค`)])}
`.trim()
-await conn.sendMessage(m.chat, {text: estado, mentions: [m.sender]}, {quoted: fkontak})
+await conn.fakeReply(m.chat, estado, m.sender, `Uptime: ${uptime}`, 'status@broadcast', null, fake);
/*await conn.reply(m.chat, `โโโโโท *ใ๐ค Estado del Bot ๐คๅฝก*
โ *=> Bot activo โ
*
โโโโโโโโโโโโโโโโโโ
@@ -30,9 +27,9 @@ handler.help = ['estado']
handler.tags = ['main']
handler.command = /^(estado|status|estate|state|stado|stats|botstat(us)?)$/i
export default handler
+
function pickRandom(list) {
- return list[Math.floor(Math.random() * list.length)]
-}
+return list[Math.floor(Math.random() * list.length)]}
function clockString(ms) {
let h = isNaN(ms) ? '--' : Math.floor(ms / 3600000)
diff --git a/plugins/info-grouplist.js b/plugins/info-grouplist.js
new file mode 100644
index 000000000..6f0c5304c
--- /dev/null
+++ b/plugins/info-grouplist.js
@@ -0,0 +1,46 @@
+const handler = async (m, { conn }) => {
+let txt = '';
+try {
+const groups = Object.entries(conn.chats).filter(([jid, chat]) => jid.endsWith('@g.us') && chat.isChats);
+const totalGroups = groups.length;
+for (let i = 0; i < groups.length; i++) {
+const [jid, chat] = groups[i];
+const groupMetadata = ((conn.chats[jid] || {}).metadata || (await conn.groupMetadata(jid).catch((_) => null))) || {};
+const participants = groupMetadata.participants || [];
+const bot = participants.find((u) => conn.decodeJid(u.id) === conn.user.jid) || {};
+const isBotAdmin = bot?.admin || false;
+const isParticipant = participants.some((u) => conn.decodeJid(u.id) === conn.user.jid);
+const participantStatus = isParticipant ? await tr('โ
*Estoy aqui*') : await tr('โ *No estoy aqui*')
+const totalParticipants = participants.length;
+txt += `> โข ${i + 1} ${await conn.getName(jid)} | ${participantStatus}
+ > *โข ID:* ${jid}
+ > *โข ${await tr("Admin")}:* ${isBotAdmin ? 'Yes' : 'Noo'}
+ > *โข ${await tr("Participantes")}:* ${totalParticipants}
+ > *โข ${await tr("Enlace")}:* ${isBotAdmin ? `https://chat.whatsapp.com/${await conn.groupInviteCode(jid) || await tr('Error')}` : await tr('No soy admin')}\n\n> โโโโโโโโโโโโโโโโโโโ\n\n`;
+}
+m.reply(`_*${await tr("ESTร EN ESTOS GRUPOS")}:*_\n*โข ${await tr("Total grupo")}:* ${totalGroups}\n\n${txt}`.trim());
+} catch {
+const groups = Object.entries(conn.chats).filter(([jid, chat]) => jid.endsWith('@g.us') && chat.isChats);
+const totalGroups = groups.length;
+for (let i = 0; i < groups.length; i++) {
+const [jid, chat] = groups[i];
+const groupMetadata = ((conn.chats[jid] || {}).metadata || (await conn.groupMetadata(jid).catch((_) => null))) || {};
+const participants = groupMetadata.participants || [];
+const bot = participants.find((u) => conn.decodeJid(u.id) === conn.user.jid) || {};
+const isBotAdmin = bot?.admin || false;
+const isParticipant = participants.some((u) => conn.decodeJid(u.id) === conn.user.jid);
+const participantStatus = isParticipant ? await tr('โ
*Estoy aqui*') : await tr('โ *No estoy aqui*')
+const totalParticipants = participants.length;
+txt += `> ${i + 1} ${await conn.getName(jid)} | ${participantStatus}
+ > *โข ID:* ${jid}
+ > *โข ${await tr("Admin")}:* ${isBotAdmin ? 'yes' : 'Noo'}
+ > *โข ${await tr("Participantes")}:* ${totalParticipants}
+ > *โข ${await tr("Enlace")}:* ${isBotAdmin ? await tr('Error') : await tr('No soy admin')}\n\n> โโโโโโโโโโโโโโโโโโโ\n\n`;
+}
+m.reply(`${wm} _*${await tr("ESTร EN ESTOS GRUPOS")}:*_\n*โข ${await tr("Total grupo")}:* ${totalGroups}\n\n${txt}`.trim());
+}};
+handler.help = ['groups', 'grouplist']
+handler.tags = ['main']
+handler.command = /^(groups|grouplist|listadegrupo|gruposlista|listagrupos|listadegrupos|grupolista|listagrupo)$/i
+handler.register = true
+export default handler
diff --git a/plugins/info-grupos-lista.js b/plugins/info-grupos-lista.js
deleted file mode 100644
index 4c0c2aa71..000000000
--- a/plugins/info-grupos-lista.js
+++ /dev/null
@@ -1,25 +0,0 @@
-import PhoneNumber from 'awesome-phonenumber'
-let handler = async (m, { conn, __dirname, isRowner, isOwner, isBotAdmin, usedPrefix, groupMetadata, groups, _package, participants }) => {
-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"
-}
-
-let txt
-const chats = Object.entries(conn.chats).filter(([jid, data]) => jid && data.isChats)
-groups = Object.values(await conn.groupFetchAllParticipating())
-txt = `${lb} ${lenguajeGB.smsLisA()}
-${lenguajeGB.smsLisB()} ${groups.length}\n`
-
-for (let i = 0; i < groups.length; i++) {
-txt += `
-${lenguajeGB.smsLisC()} ${groups[i].subject}
-${lenguajeGB.smsLisD()} ${groups[i].id}
-${isOwner ? `${lenguajeGB.smsLisE()} ${groups[i].participants.length}` : ''}\n\n`
-}
-m.reply(txt.trim())
-}
-handler.help = ['groups', 'grouplist']
-handler.tags = ['info']
-handler.command = /^(groups|grouplist|listadegrupo|gruposlista|listagrupos|listadegrupos|grupolista|listagrupo)$/i
-handler.exp = 5
-handler.register = true
-export default handler
diff --git a/plugins/info-gruposofc.js b/plugins/info-gruposofc.js
index 4ba35cedd..e39356eb2 100644
--- a/plugins/info-gruposofc.js
+++ b/plugins/info-gruposofc.js
@@ -1,35 +1,31 @@
-
let handler = async (m, { conn, usedPrefix: _p }) => {
-let info = `
-*Hola ๐๐ป, Bienvenido a los grupos oficiales, te invito a unete a los grupos oficiales para pasar un rato agradable usando el Bot o platicando con la familia de LoliBot-MD ๐ธ*
-
-โค Grupos oficiales del bot:
-1) *${nn}*
+let info = `*โ
${await tr("BIENVENIDO A LOS GRUPOS OFICIALES")}*
-2) *${nnn}*
+ 1) *${nn}*
+
+ 2) *${nnn}*
-โค Grupo del Colaboracion LoliBot, GataBot-MD
+โค ${await tr("Grupo del Colaboracion")} LoliBot & GataBot-MD
*${nnnt}*
-โค Grupo del colaboraciรณn LoliBot, DorratBot-MD
-*${nnnt2}*
-
-โค Grupo del col 3 (sin limite)
-*${nnntt}*
+โค ${await tr("Grupo soporte para responder a tu dudas, sugerencia, etc")}
+${nnnttt}
-โค Infomarte sobre las nuevas actualizaciones del bot
- *${nna}*
+โค ${await tr("Infomarte sobre las nuevas actualizaciones, novedades, test sobre LoliBot aqui")}:
+*${nna2}*
-โค Grupos del ayuda sobre el bot
- *${nnntttt}*
-
-โโโโโโโโโโโโโโโโโ
+โค ${await tr("Canal oficial donde encontrarรกn memes, video, novedades sobre cualquier bot, etc")}:
+*${nna}*
-*โถโค๊ฐ๐ฌ๐๐๐๐๐ ๐๐๐๐๐๐๐๊ฆฟโโข*
-*${nnnttt}*`.trim()
+ โโโโโโโโโโโโโโโโโ
-conn.fakeReply(m.chat, info, '0@s.whatsapp.net', '๐๐๐-๐๐ค๐ก๐๐ฝ๐ค๐ฉ-๐๐ฟ', 'status@broadcast')
+โถโค๊ฐ๐ฌ๐๐๐๐๐ ๐๐๐๐๐๐๐๊ฆฟโโข
+*${nnntt}*`.trim()
+conn.reply(m.chat, info, m)
+//conn.fakeReply(m.chat, info, '0@s.whatsapp.net', '๐๐๐-๐๐ค๐ก๐๐ฝ๐ค๐ฉ-๐๐ฟ', 'status@broadcast')
}
+handler.help = ['grupos']
+handler.tags = ['main']
handler.command = /^linkgc|grupos|gruposgatabot|gatabotgrupos|gruposdegatabot|groupofc|gruposgb|grupogb|groupgb$/i
-
+handler.register = true
export default handler
diff --git a/plugins/info-horario.js b/plugins/info-horario.js
deleted file mode 100644
index 8b3f863b8..000000000
--- a/plugins/info-horario.js
+++ /dev/null
@@ -1,55 +0,0 @@
-import moment from 'moment-timezone'
-
-let handler = async (m, { conn }) => {
-const fechaper = moment().tz('America/Lima').format('DD/MM HH:mm')
-const fechamex = moment().tz('America/Mexico_City').format('DD/MM HH:mm')
-const fechabol = moment().tz('America/La_Paz').format('DD/MM HH:mm')
-const fechachi = moment().tz('America/Santiago').format('DD/MM HH:mm')
-const fechaarg = moment().tz('America/Argentina/Buenos_Aires').format('DD/MM HH:mm')
-const fechacol = moment().tz('America/Bogota').format('DD/MM HH:mm')
-const fechaecu = moment().tz('America/Guayaquil').format('DD/MM HH:mm')
-const fechacosr = moment().tz('America/Costa_Rica').format('DD/MM HH:mm')
-const fechacub = moment().tz('America/Havana').format('DD/MM HH:mm')
-const fechagua = moment().tz('America/Guatemala').format('DD/MM HH:mm')
-const fechahon = moment().tz('America/Tegucigalpa').format('DD/MM HH:mm')
-const fechanic = moment().tz('America/Managua').format('DD/MM HH:mm')
-const fechapan = moment().tz('America/Panama').format('DD/MM HH:mm')
-const fechauru = moment().tz('America/Montevideo').format('DD/MM HH:mm')
-const fechaven = moment().tz('America/Caracas').format('DD/MM HH:mm')
-const fechapar = moment().tz('America/Asuncion').format('DD/MM HH:mm')
-const fechanew = moment().tz('America/New_York').format('DD/MM HH:mm')
-const fechaasi = moment().tz('Asia/Jakarta').format('DD/MM HH:mm')
-const fechabra = moment().tz('America/Sao_Paulo').format('DD/MM HH:mm')
-const fechaafri = moment().tz('Africa/Malabo').format('DD/MM HH:mm')
-await conn.sendMessage(m.chat, { text: `\`\`\`
-ใ ZONA-HORARIA โฐ ใ
-โฑ๏ธPeru : ${fechaper}
-โฑ๏ธMexico : ${fechamex}
-โฑ๏ธBolivia : ${fechabol}
-โฑ๏ธChile : ${fechachi}
-โฑ๏ธArgentina : ${fechaarg}
-โฑ๏ธColombia : ${fechacol}
-โฑ๏ธEcuador : ${fechaecu}
-โฑ๏ธCosta_Rica : ${fechacosr}
-โฑ๏ธCuba : ${fechacub}
-โฑ๏ธGuatemala : ${fechagua}
-โฑ๏ธHonduras : ${fechahon}
-โฑ๏ธNicaragua : ${fechanic}
-โฑ๏ธPanama : ${fechapan}
-โฑ๏ธUruguay : ${fechauru}
-โฑ๏ธVenezuela : ${fechaven}
-โฑ๏ธParaguay : ${fechapar}
-โฑ๏ธNew York : ${fechanew}
-โฑ๏ธAsia : ${fechaasi}
-โฑ๏ธBrasil : ${fechabra}
-โฑ๏ธG.N.Q : ${fechaafri}
-\`\`\`
-${String.fromCharCode(8206).repeat(850)}
-Zona horaria del servidor actual:\n[ ${Intl.DateTimeFormat().resolvedOptions().timeZone} ]\n${moment().tz(Intl.DateTimeFormat().resolvedOptions().timeZone).format('DD/MM/YY HH:mm:ss')}` }, {quoted: m })
-}
-
-handler.help = ['horario']
-handler.tags = ['info']
-handler.command = /^(horario)$/i
-
-export default handler
diff --git a/plugins/info-infobot.js b/plugins/info-infobot.js
index 7e71caa59..e41b6adbf 100644
--- a/plugins/info-infobot.js
+++ b/plugins/info-infobot.js
@@ -1,83 +1,175 @@
-import os from 'os'
-import util from 'util'
-import sizeFormatter from 'human-readable'
-let MessageType = (await import(global.baileys)).default
-import fs from 'fs'
-import { performance } from 'perf_hooks'
+import db from '../lib/database.js';
+import fs from 'fs';
+import path from 'path';
+import ws from 'ws';
+import { cpus as _cpus, totalmem, freemem, platform, hostname, version, release, arch } from 'os';
+import os from 'os';
+import moment from 'moment';
+import speed from 'performance-now';
+import diskusage from 'diskusage';
+import { sizeFormatter } from 'human-readable';
+
+let format = sizeFormatter({std: 'JEDEC', decimalPlaces: 2, keepTrailingZeroes: false, render: (literal, symbol) => `${literal} ${symbol}B`,});
+
+const used = process.memoryUsage();
+
+function getCpuUsage() {
+ let load = os.loadavg()[0];
+ let cores = os.cpus().length;
+ let usage = (load / cores) * 100;
+ return usage.toFixed(2) + '%';
+}
+
+async function getSystemInfo() {
+ let cpuInfo = os.cpus();
+ let modeloCPU = cpuInfo && cpuInfo.length > 0 ? cpuInfo[0].model : null;
+
+ let memoriaUso = process.memoryUsage();
+ let usoRam = humanFileSize(memoriaUso.rss);
+ let usoCpu = getCpuUsage();
+ let diskUsage = await getDiskUsage();
+
+ const data = {
+ plataforma: os.platform(),
+ nรบcleosCPU: cpuInfo ? cpuInfo.length : null,
+ modeloCPU: modeloCPU,
+ arquitecturaSistema: os.arch(),
+ versiรณnSistema: os.release(),
+ procesosActivos: os.loadavg()[0],
+ usoRam: usoRam,
+ usoCpu: usoCpu,
+ memory: humanFileSize(memoriaUso.free, true, 1) + ' libre de ' + humanFileSize(memoriaUso.total, true, 1),
+ espacioUsado: diskUsage.usado,
+ espacioTotal: diskUsage.total,
+ espacioLibre: diskUsage.libre,
+ tiempoActividad: toTime(os.uptime() * 1000),
+ cargaPromedio: os.loadavg().map((avg, index) => `${index + 1} min: ${avg.toFixed(2)}.`).join('\n'),
+ horaActual: new Date().toLocaleString(),
+ };
+
+ const startTime = Date.now();
+ const endTime = Date.now();
+ data.latencia = `${endTime - startTime} ms`;
+ return data;
+}
+
let handler = async (m, { conn, usedPrefix }) => {
-let _uptime = process.uptime() * 1000
-let uptime = clockString(_uptime)
-let totalreg = Object.keys(global.db.data.users).length
-const chats = Object.entries(conn.chats).filter(([id, data]) => id && data.isChats)
-const groupsIn = chats.filter(([id]) => id.endsWith('@g.us'))
-const groups = chats.filter(([id]) => id.endsWith('@g.us'))
-const used = process.memoryUsage()
-const cpus = os.cpus().map(cpu => {
- cpu.total = Object.keys(cpu.times).reduce((last, type) => last + cpu.times[type], 0)
- return cpu
- })
-const cpu = cpus.reduce((last, cpu, _, { length }) => {
- last.total += cpu.total
- last.speed += cpu.speed / length
- last.times.user += cpu.times.user
- last.times.nice += cpu.times.nice
- last.times.sys += cpu.times.sys
- last.times.idle += cpu.times.idle
- last.times.irq += cpu.times.irq
- return last
- }, {
- speed: 0,
- total: 0,
- times: {
- user: 0,
- nice: 0,
- sys: 0,
- idle: 0,
- irq: 0
- }
- })
+let totalStats = Object.values(global.db.data.stats).reduce((total, stat) => {
+if (typeof stat.total === 'number' && !isNaN(stat.total)) {
+return total + stat.total;
+} else {
+return total;
+}}, 0);
+let formattedTotalStats = !isNaN(totalStats) ? toNum(totalStats) : 'N/A';
+let bot = global.db.data.settings[conn.user.jid];
+let _uptime = process.uptime() * 1000;
+let uptime = new Date(_uptime).toISOString().substr(11, 8);
+let totalreg = Object.keys(global.db.data.users).length;
+let rtotalreg = Object.values(global.db.data.users).filter(user => user.registered == true).length;
+let totalbots = Object.keys(global.db.data.settings).length;
+const chats = Object.entries(conn.chats).filter(([id, data]) => id && data.isChats);
+let totalchats = Object.keys(global.db.data.chats).length;
+let totalf = Object.values(global.plugins).filter(v => v.help && v.tags).length;
+const groupsIn = chats.filter(([id]) => id.endsWith('@g.us'));
+let totaljadibot = [...new Set([...global.conns.filter((conn) => conn.user && conn.ws.socket && conn.ws.socket.readyState !== ws.CLOSED).map((conn) => conn)])];
+const totalUsers = totaljadibot.length;
+let timestamp = speed();
+let latensi = speed() - timestamp;
const { restrict } = global.db.data.settings[conn.user.jid] || {}
-const { autoread } = global.opts
-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 pp = './media/menus/Menu1.jpg'
-let vn = './media/infobot.mp3'
-let name = await conn.getName(m.sender)
-let old = performance.now()
- //await m.reply('_Realizando test_')
- let neww = performance.now()
- let totaljadibot = [...new Set([...global.conns.filter(conn => conn.user && conn.state !== 'close').map(conn => conn.user)])]
- let speed = neww - old
-
-let info = `โญโโโโโ[ *INFO DEL BOT* ]โโโโโง
-โ ๐คด๐ป *CREADOR:* elrebelde
-โ #๏ธโฃ *CONTACTO:* *wa.me/5492266466080*
-โ โ
*VERSION ACTUAL:* ${vs}
-โ ๐ณ *PREFIJO:* *${usedPrefix}*
-โ ๐ *CHATS PRIVADO:* *${chats.length - groups.length}*
-โ ๐ฆ *CHATS DE GRUPOS:* *${groups.length}*
-โ ๐ก *CHATS EN TOTAL:* *${chats.length}*
-โ ๐ *ACTIVIDAD:* *${uptime}*
-โ ๐ฉ *USUARIOS:* *${totalreg}*
-โ ๐ข *VELOCIDAD:* *${speed}*
-โ ๐ *MODO:* ${global.db.data.settings[conn.user.jid].self ? '*Privado*' : '*Pรบblico*'}
-โ ๐ฌ *ANTIPRIVADO:* ${global.db.data.settings[conn.user.jid].antiprivado ? '*Activado โ*' : '*Desactivado โ*'}
-โ ๐ต *ANTILLAMADA:* ${global.db.data.settings[conn.user.jid].antiCall ? '*Activado โ*' : '*Desactivado*'}
-โ ๐ค *BOTEMPORAL:* *${global.db.data.settings[conn.user.jid].temporal ? 'Activado โ' : 'Desactivado โ'}*
-โ โ๏ธ *AUTOREAD:* ${autoread ? '*Activado โ*' : '*Desactivado โ*'}
-โ ๐ค *BOTS SECUNDARIOS ACTIVOS:* *${totaljadibot.length}*
-โ โ *RESTRICT:* ${restrict ? '*Activado โ*' : '*Desactivado โ*'}
-โฐโโโโโโโโโโโโยทยทยท`
-await conn.sendMessage(m.chat, {text: info}, {quoted: fkontak});
-conn.sendFile(m.chat, vn, 'infobot.mp3', null, m, true, { type: 'audioMessage', ptt: true, sendEphemeral: true })
+const { autoread } = global.opts
+
+getSystemInfo().then(async (data) => {
+let teks = `*โก INFOBOT*
+
+*${await tr("INFORMACIรN")}*
+*โฃ ${await tr("Grupos total")}:* ${groupsIn.length}
+*โฃ ${await tr("Grupos unidos")}:* ${groupsIn.length}
+*โฃ ${await tr("Grupo salidos")}:* ${groupsIn.length - groupsIn.length}
+*โฃ ${await tr("Chats privado")}:* ${chats.length - groupsIn.length}
+*โฃ ${await tr("Chats totales")}:* ${chats.length}
+*โฃ ${await tr("Sub-Bots conectado")}:* ${totalUsers}
+*โฃ ${await tr("Total plugins")}:* ${totalf}
+*โฃ ${await tr("Velocidad")}:* ${latensi.toFixed(4)} ms
+*โฃ ${await tr("Actividad")}:* ${uptime}
+
+*โฃ ${await tr("Comando Ejecutando")}:* ${formattedTotalStats}/${totalStats}
+*โฃ ${await tr("Grupos registrado")}:* ${toNum(totalchats)}/${totalchats}
+*โฃ ${await tr("Usuarios registrado")}:* ${toNum(rtotalreg)} de ${toNum(totalreg)} users totales
+
+*โก S E R V E R*
+โฃ *${await tr("Servidor")}:* ${hostname()}
+โฃ *${await tr("Plataforma")}:* ${platform()}
+โฃ *${await tr("Ram usada")}:* ${data.usoRam}
+โฃ *${await tr("Espacio usado en disco")}:* ${data.espacioUsado}
+โฃ *${await tr("Uso de CPU")}:* ${data.usoCpu}
+โฃ *${await tr("Uptime")}:* ${toTime(os.uptime() * 1000)}`;
+
+await conn.sendMessage(m.chat, {text: teks, contextInfo: { mentionedJid: null, forwardingScore: 1, isForwarded: true, forwardedNewsletterMessageInfo: { newsletterJid: '120363355261011910@newsletter', serverMessageId: '', newsletterName: 'LoliBot โจ' }, externalAdReply : {mediaUrl: null, mediaType: 1, description: null, title: `INFO - BOT`, previewType: 0, thumbnailUrl: "https://telegra.ph/file/39fb047cdf23c790e0146.jpg", sourceUrl: redes.getRandom()}}}, { quoted: m })
+//conn.sendMessage(m.chat, {image: { url: "https://telegra.ph/file/39fb047cdf23c790e0146.jpg" }, caption: teks, contextInfo: {externalAdReply: { title: `INFO - BOT`, sourceUrl: redes.getRandom(), mediaType: 1, renderLargerThumbnail: true, showAdAttribution: true, thumbnailUrl: img1}}}, { quoted: m })
+});
}
-handler.help = ['infobot']
-handler.tags = ['info', 'tools']
-handler.command = /^(infobot|informacionbot|infogata|informaciรณngata|informaciongata)$/i
-export default handler
-
-function clockString(ms) {
-let h = Math.floor(ms / 3600000)
-let m = Math.floor(ms / 60000) % 60
-let s = Math.floor(ms / 1000) % 60
-console.log({ms,h,m,s})
-return [h, m, s].map(v => v.toString().padStart(2, 0) ).join(':')}
+handler.help = ['infobot'];
+handler.tags = ['main'];
+handler.command = /^(infobot|informacionbot|infololi)$/i;
+handler.register = true;
+export default handler;
+
+function getFolderSize(folderPath) {
+let totalSize = 0;
+
+function calculateSize(directory) {
+const files = fs.readdirSync(directory);
+
+ for (const file of files) {
+ const filePath = path.join(directory, file);
+ const stats = fs.statSync(filePath);
+
+ if (stats.isDirectory()) {
+ calculateSize(filePath);
+ } else {
+ totalSize += stats.size;
+ }
+ }
+ }
+
+ calculateSize(folderPath);
+ return humanFileSize(totalSize);
+}
+
+async function getDiskUsage() {
+ try {
+ const path = "/home/container"; // Asegรบrate de que este sea el directorio del bot
+ const usado = getFolderSize(path);
+ return { total: 'N/A', usado, libre: 'N/A' };
+ } catch (err) {
+ return { total: 'N/A', usado: 'N/A', libre: 'N/A' };
+ }
+}
+
+function toNum(number) {
+ if (number >= 1000 && number < 1000000) {
+ return (number / 1000).toFixed(1) + 'k';
+ } else if (number >= 1000000) {
+ return (number / 1000000).toFixed(1) + 'M';
+ } else if (number <= -1000 && number > -1000000) {
+ return (number / 1000).toFixed(1) + 'k';
+ } else if (number <= -1000000) {
+ return (number / 1000000).toFixed(1) + 'M';
+ } else {
+ return number.toString();
+ }
+}
+
+function humanFileSize(bytes) {
+ const unidades = ['B', 'KB', 'MB', 'GB', 'TB', 'PB'];
+ const exponente = Math.floor(Math.log(bytes) / Math.log(1024));
+ return `${(bytes / Math.pow(1024, exponente)).toFixed(2)} ${unidades[exponente]}`;
+}
+
+function toTime(milliseconds) {
+ const seconds = Math.floor(milliseconds / 1000);
+ const minutes = Math.floor(seconds / 60);
+ const hours = Math.floor(minutes / 60);
+ const days = Math.floor(hours / 24);
+ return `${days} d, ${hours % 24} hs, ${minutes % 60} min, ${seconds % 60} seg`;
+}
\ No newline at end of file
diff --git a/plugins/info-instalarbot.js b/plugins/info-instalarbot.js
index 8397b853a..d782e3bdb 100644
--- a/plugins/info-instalarbot.js
+++ b/plugins/info-instalarbot.js
@@ -4,211 +4,106 @@ let handler = async (m, { 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 texto = `*โโขโ
ออกโโฌโฏเบท โบเฎฉ๐ฅฉเฎโ โฏเบทโญโออกโ
โงโบ*
-*๐๐๐ฟ๐๐ ๐ฟ๐ ๐๐๐๐๐ผ๐๐ผ๐พ๐๐๐*
-*https://youtu.be/gh5NajZOTA8*
+\`${await tr("Video de instalaciรณn", "๐๐๐ฟ๐๐ ๐ฟ๐ ๐๐๐๐๐ผ๐๐ผ๐พ๐๐๐")}\`
+https://youtu.be/z2kHwbu8e8s?si=2z3Fur9U4ccN7EwA
-โจ *Grupo Actualizaciones y novedades sobre el bot*
-๐ *${global.nna}*
+*โจ ${await tr("Canal de Actualizaciones y novedades sobre el bot")}*
+${nna2}
-๐ *Si tienes dudas o necesitas ayuda en el proceso de la instalaciรณn puede escribir me a este nรบmero (No es Bot el nรบmero)*
+*๐ฒ๐ ${await tr("Si tienes dudas o necesitas ayuda en el proceso de la instalaciรณn puede escribirme por facebook")}:*
+${fb}
-๐ฒ *Wa.me/5492266466080*
-
-โ *_Solo para temas de instalaciรณn_*
-
-โโโโโโโโขโขโขโโโโโโโ
-
-โจ ๐๐๐๐๐๐๐๐๐๐ ๐๐ผ๐๐ผ ๐๐ผ ๐๐๐๐๐ผ๐๐ผ๐พ๐๐๐ โจ
-
-โ
_1 GB de almacenamiento_
-โ
_Aplicaciรณn Termux (actualizada)_
-โ
_Un WhatsApp recomiendo el WhatsApp normal_
-โ
_Un nรบmero virtual (si es ofc mejor)_
-โ
_2 dispositivos o una PC para escanear_
+> โ *_${await tr("Solo para temas de instalaciรณn")}_*
โโโโโโโโขโขโขโโโโโโโ
-โจ ๐๐๐๐๐๐ฝ > ๐๐๐๐๐๐๐๐๐๐๐
-*_Visita mรญ repositorio ๐ธ para mรกs informaciรณn, si te agrada el Bot apoya me con una โญ๏ธ ยกGracias!_*
-
+\`โจ ${await tr("GITHUB - REPOSITORIO", "๐๐๐๐๐๐ฝ > ๐๐๐๐๐๐๐๐๐๐๐")}\`
+> *_${await tr("Visita mรญ repositorio ๐ธ para mรกs informaciรณn, si te agrada el Bot apoya me con una โญ๏ธ ยกGracias!")}_*
${md}
-โโโโโโโโขโขโขโโโโโโโ
+> โโโโโโโโขโขโขโโโโโโโ
-๐ *๐๐ผ๐๐ ๐๐ผ๐๐ผ ๐๐๐๐๐ผ๐๐ผ๐ ๐๐ ๐ฝ๐๐ ๐๐ ๐๐๐๐๐๐*
-๐ *๐๐๐พ๐๐๐: 1 ๐๐๐๐๐๐ฝ*
+\`โจ ${await tr("REQUISITOS PARA LA INSTALACIรN (aclave de nuestros hosting)", "๐๐๐๐๐๐๐๐๐๐ ๐๐ผ๐๐ผ ๐๐ผ ๐๐๐๐๐ผ๐๐ผ๐พ๐๐๐ (aclave de nuestros hosting)")} ๐\`
-๐ธ termux-setup-storage
+> โ๏ธ _~${await tr("1 GB de almacenamiento")}~_
+> โ๏ธ _~${await tr("Aplicaciรณn Termux (actualizada)")}~_
+> โ
_${await tr("Un WhatsApp secundarios")}_
+> โ
_${await tr("Un nรบmero virtual (si es ofc mejor)")}_
+> โ๏ธ ~_${await tr("2 dispositivos o una PC para escanear")}_~
+> โ
_${await tr("Ahora con 1 dispositivos con el codigo de 8 digitos ya pueden ser bot")}_
-๐ธ 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
+> โโโโโโโโขโขโขโโโโโโโ
-๐ *๐๐๐พ๐๐๐: 2 ๐ผ๐๐พ๐๐๐๐*
-*https://youtu.be/i1xjB4bmYCc*
+\`๐ ${await tr("INSTALAR EN SKY-ULTRA-PLUS HOST")}\`
+https://youtu.be/z2kHwbu8e8s?si=2z3Fur9U4ccN7EwA
-๐ธ termux-setup-storage
+๐ป *${await tr("Pรกgina")}:*
+https://skyultraplus.com
-๐ธ pkg update -y && pkg upgrade -y && pkg install -y bash && pkg install -y wget && pkg install yarn
+*๐ข ${await tr("Dashboard")}:*
+https://dash.skyultraplus.com
-๐ธ cd storage/downloads/Lolibot
+โ๏ธ *${await tr("Panel")}*
+https://panel.skyultraplus.com
-๐ธ ls
+๐ฅ *${await tr("Comunidad de WhatsApp")}:*
+https://chat.whatsapp.com/E6iWpvGuJ8zJNPbN3zOr0D
-๐ธ npm start
+*๐ฃ ${await tr("Discord")}:*
+https://discord.skyultraplus.com
-โโโโโโโโขโขโขโโโโโโโ
+๐งก *${await tr("Canal de WhatsApp")}:*
+https://WhatsApp.skyultraplus.com
-๐ ๐๐ก๐ฆ๐ง๐๐๐๐ฅ ๐๐ก ๐๐ข๐ซ๐ ๐๐ก๐
+๐ฃ๐ฒ *${await tr("Contacto")}:*
+โข wa.me/15167096032
+โข https://instagram.com/gata_dios
+โข ${fb}
-*๐๐๐-๐๐ค๐ก๐๐ฝ๐ค๐ฉ-๐๐ฟ : ๐ฝ๐ค๐ญ๐๐๐ฃ๐*
-*_https://youtu.be/wWyBHtKzx9Q_*
+> โโโโโโโโขโขโขโโโโโโโ
-_Pagina Oficial_
-_https://boxmineworld.com_
+\`โจ ${await tr("REQUISITOS PARA LA INSTALACIรN (Por termux)", "๐๐๐๐๐๐๐๐๐๐ ๐๐ผ๐๐ผ ๐๐ผ ๐๐๐๐๐ผ๐๐ผ๐พ๐๐๐ (Por termux) ")} โจ\`
-_Panel_
-_https://panel.boxmineworld.com_
+> โ
_${await tr("1 GB de almacenamiento")}_
+> โ
_${await tr("Aplicaciรณn Termux (actualizada)")}_
+> โ
_${await tr("Un WhatsApp secundarios")}_
+> โ
_${await tr("Un nรบmero virtual (si es ofc mejor)")}_
+> โ๏ธ ~_${await tr("2 dispositivos o una PC para escanear")}_~
+> โ
_${await tr("Ahora con 1 dispositivos con el codigo de 8 digitos ya pueden ser bot")}_
-โโโโโโโโขโขโขโโโโโโโ
+> โโโโโโโโขโขโขโโโโโโโ
-๐ ๐๐ก๐ฆ๐ง๐๐๐๐ฅ ๐๐ก ๐๐๐๐๐๐
+\`๐ ${await tr("PASO PARA INSTALAR EL BOT EL TERMUX (OPCIรN 1 GITHUB)", "๐๐ผ๐๐ ๐๐ผ๐๐ผ ๐๐๐๐๐ผ๐๐ผ๐ ๐๐ ๐ฝ๐๐ ๐๐ ๐๐๐๐๐๐ (๐๐๐พ๐๐๐ ๐ ๐๐๐๐๐๐ฝ)")}\`
-*๐๐๐-๐๐ค๐ก๐๐ฝ๐ค๐ฉ-๐๐ฟ : ๐๐๐๐๐๐*
-https://youtu.be/SMjCcfuyWQE
+* \`\`\`termux-setup-storage\`\`\`
-_Pagina Oficial_
-https://replit.com/
+* \`\`\`apt update -y && yes | apt upgrade && pkg install -y bash wget mpv && wget -O - https://raw.githubusercontent.com/elrebelde21/LoliBot-MD/master/install.sh | bash\`\`\`
-*โโขโ
ออกโโฌโฏเบท โบเฎฉ๐ฅฉเฎโ โฏเบทโญโออกโ
โงโบ*
+\`๐ ${await tr("OPCIรN: 2 ARCHIVOS", "๐๐๐พ๐๐๐: 2 ๐ผ๐๐พ๐๐๐๐")}\`
+> *https://youtu.be/i1xjB4bmYCc*
-๐ฅ INFO EXTRA ๐ฅ_
-โค _Se sugiere leer el archivo README.md_
-โค _Bot compartible con WhatsApp multi device_
-โค _Para habilitar el /aรฑadir y el /sacar usa /enable restrict_ _Puede ocasionar que el numero se vaya a soporte_
-โค _Recomiendo que active el autoread con (#on autoread)_
-โค _Cualquier cosa hablame solo por tema del bot๐ฐ๐ค_
-_Saludos ๐ฐ๐ค_`
-let aa = { quoted: m, userJid: conn.user.jid }
-let prep = generateWAMessageFromContent(m.chat, { extendedTextMessage: { text: texto, contextInfo: { externalAdReply: { title: 'แดสแด-สแดสษชสแดแด-แดแด
', body: null, thumbnail: imagen1, sourceUrl: 'https://youtu.be/gh5NajZOTA8' }, mentionedJid: [m.sender] }}}, aa)
-conn.relayMessage(m.chat, prep.message, { messageId: prep.key.id, mentions: [m.sender] })
-}
-handler.command = /^(instalarbot)/i
-export default handler
-
-/*
-//LOS BOTONES NO FUNKA EL LA NUEVA ACTUALIZACIรN DE WHATSAPP :(
-let handler = async (m, { conn, usedPrefix, command }) => {
-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"
-}
-
-let picture = './media/menus/Menu1.jpg'
-await m.reply(`โฐโฑ๐ฐโฑ *๐ฐ๐๐๐๐๐๐๐๐๐๐* โฑ๐ฐโฑโฎ`)
-let instalar = `*โโขโ
ออกโโฌโฏเบท โบเฎฉ๐ฅฉเฎโ โฏเบทโญโออกโ
โงโบ*
-
-๐ฅ ๐๐ ๐ฅ๐ช๐๐๐ ๐๐ฃ๐จ๐ฉ๐๐ก๐๐ง ๐ ๐๐๐-๐๐ค๐ก๐๐ฝ๐ค๐ฉ-๐๐ฟ โ
-
-*๐๐๐ฟ๐๐ ๐ฟ๐ ๐๐๐๐๐ผ๐๐ผ๐พ๐๐๐*
-*https://youtu.be/gh5NajZOTA8*
-
-โจ *Si necesitas ayuda entra al grupo del bot*
-๐ *${global.nna}*
+*โข ${await tr("Descarga los archivos")}:*
+https://github.com/elrebelde21/LoliBot-MD/archive/refs/heads/master.zip
-๐ *Si tienes dudas o necesitas ayuda en el proceso de la instalaciรณn puede escribir me a este nรบmero (No es Bot el nรบmero)*
+* \`\`\`termux-setup-storage\`\`\`
-๐ฒ *Wa.me/5492266466080*
+* \`\`\`apt update && apt upgrade && pkg install -y git nodejs ffmpeg imagemagick yarn\`\`\`
-โ *_Solo para temas de instalaciรณn_*
+* \`\`\`cd storage/downloads/LoliBot-MD-master/LoliBot-MD-master\`\`\`
-โโโโโโโโขโขโขโโโโโโโ`
+* \`\`\`yarn install && npm install\`\`\`
-conn.sendButton(m.chat, instalar, `โจ ๐๐๐๐๐๐๐๐๐๐ ๐๐ผ๐๐ผ ๐๐ผ ๐๐๐๐๐ผ๐๐ผ๐พ๐๐๐ โจ
+* \`\`\`ls\`\`\`
-โ
_1 GB de almacenamiento_
-โ
_Aplicaciรณn Termux (actualizada)_
-โ
_Un WhatsApp recomiendo el WhatsApp normal_
-โ
_Un nรบmero virtual (si es ofc mejor)_
-โ
_2 dispositivos o una PC para escanear_
-
-โโโโโโโโขโขโขโโโโโโโ
-
-โจ ๐๐๐๐๐๐ฝ > ๐๐๐๐๐๐๐๐๐๐๐
-*_Visita mรญ repositorio ๐ธ para mรกs informaciรณn, si te agrada el Bot apoya me con una โญ๏ธ ยกGracias!_*
-
-${md}
+* \`\`\`npm start\`\`\`
-โโโโโโโโขโขโขโโโโโโโ
-
-๐ *๐๐ผ๐๐ ๐๐ผ๐๐ผ ๐๐๐๐๐ผ๐๐ผ๐ ๐๐ ๐ฝ๐๐ ๐๐ ๐๐๐๐๐๐*
-๐ *๐๐๐พ๐๐๐: 1 ๐๐๐๐๐๐ฝ*
-
-๐ธ termux-setup-storage
-๐ธ apt update
-๐ธ pkg upgrade
-๐ธ pkg install git -y
-๐ธ pkg install nodejs -y
-๐ธ pkg install ffmpeg -y
-๐ธ pkg install imagemagick -y
-๐ธ git clone https://github.com/elrebelde21/The-LoliBot-MD
-๐ธ cd The-LoliBot-MD
-๐ธ npm install
-๐ธ ls
-๐ธ npm start
-
-๐ *๐๐๐พ๐๐๐: 2 ๐ผ๐๐พ๐๐๐๐*
-*https://youtu.be/i1xjB4bmYCc*
-
-๐ธ termux-setup-storage
-๐ธ apt update
-๐ธ pkg upgrade
-๐ธ pkg install git -y
-๐ธ pkg install nodejs -y
-๐ธ pkg install ffmpeg -y
-๐ธ pkg install imagemagick -y
-๐ธ pkg install yarn
-๐ธ cd storage/downloads/Lolibot
-๐ธ ls
-๐ธ npm start
-
-โโโโโโโโขโขโขโโโโโโโ
-
-๐ ๐๐ก๐ฆ๐ง๐๐๐๐ฅ ๐๐ก ๐๐ข๐ซ๐ ๐๐ก๐
-
-*๐๐๐-๐๐ค๐ก๐๐ฝ๐ค๐ฉ-๐๐ฟ : ๐ฝ๐ค๐ญ๐๐๐ฃ๐*
-*_https://youtu.be/wWyBHtKzx9Q_*
-
-_Pagina Oficial_
-_https://boxmineworld.com_
-
-_Panel_
-_https://panel.boxmineworld.com_
-
-โโโโโโโโขโขโขโโโโโโโ
-
-๐ ๐๐ก๐ฆ๐ง๐๐๐๐ฅ ๐๐ก ๐๐๐๐๐๐
-
-*๐๐๐-๐๐ค๐ก๐๐ฝ๐ค๐ฉ-๐๐ฟ : ๐๐๐๐๐๐*
-https://youtu.be/SMjCcfuyWQE
-
-_Pagina Oficial_
-https://replit.com/
-
-โโโโโโโโขโขโขโโโโโโโ
-
-
-*โโขโ
ออกโโฌโฏเบท โบเฎฉ๐ฅฉเฎโ โฏเบทโญโออกโ
โงโบ*\n\n๐ฅ INFO EXTRA ๐ฅ\nโค Se sugiere leer el archivo README.md \nโค Bot compartible con WhatsApp multi device \nโค Para habilitar el /aรฑadir y el /sacar usa /enable restrict \n- Puede ocasionar que el numero se vaya a soporte \nโค Cualquier cosa hablame solo por tema del bot๐ฐ๐ค\nSaludos ๐ฐ๐ค\n\n${wm}`, picture, [
-['๐พ๐ช๐๐ฃ๐ฉ๐๐จ ๐๐๐๐๐๐๐ก๐๐จ โ
', '.cuentasgb']], fkontak, m)}
-
-handler.command = /^(instalarbot|instalargatabot|instalargata|procesobot|botproceso|procesodelbot|botinstall|installbot)/i
-export default handler
-*/
+> *โโขโ
ออกโโฌโฏเบท โบเฎฉ๐ฅฉเฎโ โฏเบทโญโออกโ
โงโบ*`
+let aa = { quoted: m, userJid: conn.user.jid }
+let prep = generateWAMessageFromContent(m.chat, { extendedTextMessage: { text: texto, contextInfo: { externalAdReply: { title: 'สแดสษชสแดแด-แดแด
', body: null, thumbnail: imagen1, sourceUrl: 'https://youtu.be/z2kHwbu8e8s?si=2z3Fur9U4ccN7EwA' }, mentionedJid: [m.sender] }}}, aa)
+conn.relayMessage(m.chat, prep.message, { messageId: prep.key.id, mentions: [m.sender] })
+}
+handler.help = ['instalarbot']
+handler.tags = ['main']
+handler.command = /^(instalarbot)/i
+handler.register = true
+export default handler
\ No newline at end of file
diff --git a/plugins/info-numerovictual.js b/plugins/info-numerovictual.js
deleted file mode 100644
index c1e0cddf3..000000000
--- a/plugins/info-numerovictual.js
+++ /dev/null
@@ -1,43 +0,0 @@
-let handler = async (m, { conn, usedPrefix }) => {
-let pp = 'https://i.imgur.com/lkch77g.jpeg'
-var doc = ['pdf','zip','vnd.openxmlformats-officedocument.presentationml.presentation','vnd.openxmlformats-officedocument.spreadsheetml.sheet','vnd.openxmlformats-officedocument.wordprocessingml.document']
-var document = doc[Math.floor(Math.random() * doc.length)]
-await m.reply(`โฐโฑ๐ฐโฑ *paso a paso* โฑ๐ฐโฑโฎ`)
- //conn.sendButton(m.chat, str, author, await(await fetch(pp)).buffer(), [['Menu', '/menu']], m)
-let texto1 = `
-como crea un numero victual
-aca vamos como crear un numero victual para WhatsApp o otra redes donde quiera registrarte
-segui los paso como el video asi no tiene ningun problema
-
-descarga texnow ๐๐
-https://play.google.com/store/apps/details?id=com.enflick.android.TextNow
-
-VPN usado el video ๐๐
-https://play.google.com/store/apps/details?id=free.vpn.unblock.proxy.turbovpn
-
-
-y segui los paso del video`
-let buttonMessage= {
-'document': { url: `https://youtu.be/zjg6fwhJa9E` },
-'mimetype': `application/${document}`,
-'fileName': `๐ป๐๐ ๐ณ๐๐๐๐ฉ๐๐-๐ด๐ซ`,
-'fileLength': 99999999999999,
-'pageCount': 200,
-'contextInfo': {
-'forwardingScore': 200,
-'isForwarded': true,
-'externalAdReply': {
-'mediaUrl': 'https://youtu.be/zjg6fwhJa9E',
-'mediaType': 2,
-'previewType': 'pdf',
-'title': 'Como crea un numero victual',
-'body': wm,
- }},
-'caption': texto1,
-'footer': wm,
-'buttons':[
-{buttonId: `${usedPrefix}menu`, buttonText: {displayText: '๐ป๐๐ ๐ณ๐๐๐๐ฉ๐๐-๐ด๐ซ'}, type: 1}],
-'headerType': 6 }
-conn.sendMessage(m.chat, buttonMessage, { quoted: m })}
-handler.command = /^(numerovictual|como crea un numero victual)$/i
-export default handler
diff --git a/plugins/info-rapidez.js b/plugins/info-rapidez.js
index 87f2e085e..4d6bb9a51 100644
--- a/plugins/info-rapidez.js
+++ b/plugins/info-rapidez.js
@@ -13,12 +13,9 @@ render: (literal, symbol) => `${literal} ${symbol}B`,
})
let handler = async (m, { conn, usedPrefix, command, isRowner}) => {
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 grupos = [nna, nn, nnn, nnntt]
-let gata = [img5, img6, img7, img8, img9]
-let enlace = { contextInfo: { externalAdReply: {title: wm + ' ', body: 'support group' , sourceUrl: grupos.getRandom(), thumbnail: await(await fetch(gata.getRandom())).buffer() }}}
-let enlace2 = { contextInfo: { externalAdReply: { showAdAttribution: true, mediaUrl: yt, mediaType: 'VIDEO', description: '', title: wm, body: 'The LoliBot-MD', thumbnailUrl: await(await fetch(img)).buffer(), sourceUrl: yt }}}
-let dos = [enlace, enlace2]
+//let enlace = { contextInfo: { externalAdReply: {title: wm + ' ๐', body: 'support group' , sourceUrl: accountsgb, thumbnailUrl: await(await fetch(gataMenu)).buffer() }}}
+//let enlace2 = { contextInfo: { externalAdReply: { showAdAttribution: true, mediaUrl: yt, mediaType: 'VIDEO', description: '', title: wm, body: '๐ป ๐ฆ๐๐ฝ๐ฒ๐ฟ ๐๐ฎ๐๐ฎ๐๐ผ๐-๐ ๐ - ๐ช๐ต๐ฎ๐๐๐๐ฝ๐ฝ ', thumbnailUrl: await(await fetch(gataMenu)).buffer(), sourceUrl: accountsgb }}}
+//let dos = [enlace, enlace2]
let _muptime
if (process.send) {
@@ -58,52 +55,51 @@ idle: 0,
irq: 0
}})
+let msgTxt = await tr("Comenzado prueba del velocidad", "๐พ๐ค๐ข๐๐ฃ๐ฏ๐๐ฃ๐๐ค ๐ฅ๐ง๐ช๐๐๐ ๐๐๐ก ๐ซ๐๐ก๐ค๐๐๐๐๐")
let old = performance.now()
-const { key } = await conn.sendMessage(m.chat, {text: `๐พ๐ค๐ข๐๐ฃ๐ฏ๐๐ฃ๐๐ค ๐ฅ๐ง๐ช๐๐๐ ๐๐๐ก ๐ซ๐๐ก๐ค๐๐๐๐๐ ๐...`}, {quoted: fkontak});
-// await delay(1000 * 2);
-//await conn.reply(m.chat, `๐พ๐ค๐ข๐๐ฃ๐ฏ๐๐ฃ๐๐ค ๐ฅ๐ง๐ช๐๐๐ ๐๐๐ก ๐ซ๐๐ก๐ค๐๐๐๐๐ ๐...`, fkontak, m)
+const { key } = await conn.sendMessage(m.chat, {text: `${msgTxt} ๐...`}, {quoted: fkontak});
+
let neww = performance.now()
let speed = neww - old
-let caption = `*๐ Velocidad ๐*
+let caption = `*๐ ${await tr("Velocidad")} ๐*
๐ *${Math.round(neww - old)}* ms
๐ *${speed}* ms
-*${htjava}* *TIEMPO ACTIVOS*
+*๐ ${await tr("TIEMPO ACTIVOS")}*
${muptime}
${readMore}
-*${htjava} C H A T S*
-โข *${groupsIn.length}* _Chats de grupo_
-โข *${groupsIn.length}* _Grupos unidos_
-โข *${groupsIn.length - groupsIn.length}* _Grupos abandonados_
-โข *${chats.length - groupsIn.length}* _Chats Privados_
-โข *${chats.length}* _Total Chats_
-
-*${htjava} S E R V I D O R : S E R V E R*
-*๐ข RAM:* ${format(totalmem() - freemem())} / ${format(totalmem())}
-*๐ต RAM Libre:* ${format(freemem())}
+*๐ข ${await tr("CHATS", "C H A T S")}*
+โข *${groupsIn.length}* _${await tr("Chats de grupo")}_
+โข *${groupsIn.length}* _${await tr("Grupos unidos")}_
+โข *${groupsIn.length - groupsIn.length}* _${await tr("Grupos abandonados")}_
+โข *${chats.length - groupsIn.length}* _${await tr("Chats Privados")}_
+โข *${chats.length}* _${await tr("Total Chats")}_
-*๐ป Plataforma :* \`\`\`${os.platform()}\`\`\`
-*๐ก Servidor :* _${os.hostname()}_
+*๐ฐ ${await tr("SERVIDOR", "S E R V I D O R : S E R V E R")}*
+*๐ข ${await tr("RAM")}:* ${format(totalmem() - freemem())} / ${format(totalmem())}
+*๐ต ${await tr("RAM Libre")}:* ${format(freemem())}
+*๐ป ${await tr("Plataforma")} :* \`\`\`${os.platform()}\`\`\`
+*๐ก ${await tr("Servidor")} :* _${os.hostname()}_
+*โณ ${await tr("Uptime")} :* ${toTime(os.uptime() * 1000)}
${readMore}
-*NodeJS Uso de memoria : Memory Usage*
+*${await tr("NodeJS Uso de memoria")}*
${'```' + Object.keys(used).map((key, _, arr) => `${key.padEnd(Math.max(...arr.map(v => v.length)), ' ')}: ${format(used[key])}`).join('\n') + '```'}
-${cpus[0] ? `*Uso total de la CPU*
+${cpus[0] ? `*${await tr("Uso total de la CPU")}*
${cpus[0].model.trim()} (${cpu.speed} MHZ)\n${Object.keys(cpu.times).map(type => `- *${(type + '*').padEnd(6)}: ${(100 * cpu.times[type] / cpu.total).toFixed(2)}%`).join('\n')}
-*CPU Core(s) Uso (${cpus.length} Core CPU)*
-${cpus.map((cpu, i) => `${i + 1}. ${cpu.model.trim()} (${cpu.speed} MHZ)\n${Object.keys(cpu.times).map(type => `- *${(type + '*').padEnd(6)}: ${(100 * cpu.times[type] / cpu.total).toFixed(2)}%`).join('\n')}`).join('\n\n')}` : ''}
-`
+*${await tr("CPU Core(s) Uso")} (${cpus.length} Core CPU)*
+${cpus.map((cpu, i) => `${i + 1}. ${cpu.model.trim()} (${cpu.speed} MHZ)\n${Object.keys(cpu.times).map(type => `- *${(type + '*').padEnd(6)}: ${(100 * cpu.times[type] / cpu.total).toFixed(2)}%`).join('\n')}`).join('\n\n')}` : ''}`
await conn.sendMessage(m.chat, {text: caption, edit: key});
-//await conn.sendFile(m.chat, gataImg.getRandom(), 'gata.jpg', caption, fkontak)
-///await conn.sendButton(m.chat, wm, caption, gata.getRandom(), [['๐ ๐ ๐ก ๐จ โ๏ธ', '/menu']], m, dos.getRandom())
} catch (e) {
-await conn.reply(m.chat, `${fg}*ALGO SALIร MAL.*\n\n\`\`\`REPORTE ESTE COMANDO ${usedPrefix + command} CON EL COMANDO ${usedPrefix}reporte\`\`\``, m)
+m.reply(`\`\`\`โ ๏ธ ${await tr("OCURRIO UN ERROR")} โ ๏ธ\`\`\`\n\n> *${await tr("Reporta el siguiente error a mi creador con el comando:")}* #report\n\n>>> ${e} <<<< `)
+console.log(e)
}}
handler.help = ['ping', 'speed']
-handler.tags = ['info', 'tools']
+handler.tags = ['main']
handler.command = /^(ping|speed|velocidad|rapidez|velocity)$/i
+handler.register = true
export default handler
const more = String.fromCharCode(8206)
@@ -114,5 +110,13 @@ function clockString(ms) {
let h = isNaN(ms) ? '--' : Math.floor(ms / 3600000) % 24
let m = isNaN(ms) ? '--' : Math.floor(ms / 60000) % 60
let s = isNaN(ms) ? '--' : Math.floor(ms / 1000) % 60
- return [' ' + d, ' *Dรญas โ๏ธ*\n ', h, ' *Horas ๐*\n ', m, ' *Minuto โฐ*\n ', s, ' *Segundo โฑ๏ธ* '].map(v => v.toString().padStart(2, 0)).join('')
+ return [' ' + d, ' dias, ', h, ' hs, ', m, ' min, ', s, ' seg '].map(v => v.toString().padStart(2, 0)).join('')
}
+
+function toTime(milliseconds) {
+ const seconds = Math.floor(milliseconds / 1000);
+ const minutes = Math.floor(seconds / 60);
+ const hours = Math.floor(minutes / 60);
+ const days = Math.floor(hours / 24);
+ return `${days} dias, ${hours % 24} horas, ${minutes % 60} minutos, ${seconds % 60} segundos `;
+}
\ No newline at end of file
diff --git a/plugins/info-reporte.js b/plugins/info-reporte.js
new file mode 100644
index 000000000..aceea9756
--- /dev/null
+++ b/plugins/info-reporte.js
@@ -0,0 +1,213 @@
+//Cรณdigo elaborado por: https://github.com/elrebelde21
+
+/*FUNCIONA PERO NO COMO QUIERO LUEGO LOS ARREGLOS :v
+import { webp2png } from '../lib/webp2mp4.js';
+import uploadFile from '../lib/uploadFile.js';
+import uploadImage from '../lib/uploadImage.js';
+import axios from 'axios';
+import fs from 'fs';
+import { fileURLToPath } from 'url';
+import { dirname, join } from 'path';
+
+const __filename = fileURLToPath(import.meta.url);
+const __dirname = dirname(__filename);
+
+const OWNER1 = "5214774444444@s.whatsapp.net";
+const ACTIVE_CONVERSATIONS = {};
+const MAX_VIDEO_SIZE_MB = 60; // Lรญmite de 60MB para videos
+
+let handler = async (m, { conn, text, args, command, usedPrefix }) => {
+let media = false;
+let q = m.quoted ? m.quoted : m;
+let mime = (q.msg || q).mimetype || '';
+let url = '';
+
+if (/image|video|audio/.test(mime)) {
+media = await q.download();
+
+if (/video/.test(mime)) {
+let videoPath = join(__dirname, `./temp_video_${new Date().getTime()}.mp4`);
+fs.writeFileSync(videoPath, media);
+
+let videoStats = fs.statSync(videoPath);
+let videoSizeMB = videoStats.size / (1024 * 1024);
+if (videoSizeMB > MAX_VIDEO_SIZE_MB) {
+fs.unlinkSync(videoPath);
+return m.reply(`*โ ๏ธ El video excede el tamaรฑo permitido (max 60 MB). Por favor, recรณrtalo, comprime o envรญa uno mรกs ligero.*`);
+}
+url = videoPath;
+} else {
+url = await uploadImage(media);
+}} else if (/webp/.test(mime)) {
+media = await q.download();
+url = await webp2png(media);
+}
+
+let activeConversation = Object.entries(ACTIVE_CONVERSATIONS).find(([id, convo]) => convo.active && convo.userId === m.sender && convo.chatId === m.chat);
+
+if (activeConversation) {
+let [reportId] = activeConversation;
+let message = `๐ฉ *Mensaje del usuario @${m.sender.split("@")[0]} (ID: ${reportId}):*\n${text || ''}`;
+
+if (url) {
+if (/image/.test(mime)) {
+await conn.sendMessage(OWNER1, { image: { url }, caption: message, contextInfo: { mentionedJid: [m.sender] } }, { quoted: m });
+} else if (/video/.test(mime)) {
+await conn.sendMessage(OWNER1, { video: { url }, caption: message, contextInfo: { mentionedJid: [m.sender] } }, { quoted: m });
+} else if (/audio/.test(mime)) {
+await conn.sendMessage(OWNER1, { audio: { url }, mimetype: mime, caption: message, contextInfo: { mentionedJid: [m.sender] } }, { quoted: m });
+}} else if (m.msg && m.msg.sticker) {
+await conn.sendMessage(OWNER1, { sticker: media, contextInfo: { mentionedJid: [m.sender] } }, { quoted: m });
+} else {
+await conn.sendMessage(OWNER1, { text: message, mentions: [m.sender] }, { quoted: m });
+}
+return;
+}
+
+if (command === 'report' || command === 'reporte') {
+if (!text && !m.quoted) return m.reply(`โ ๏ธ ๐๐ฌ๐๐ซ๐ข๐๐ ๐๐ฅ ๐๐ซ๐ซ๐จ๐ซ/๐๐จ๐ฆ๐๐ง๐๐จ ๐๐จ๐ง ๐๐๐ฅ๐ฅ๐\n\n*๐๐ฃ:* ${usedPrefix + command} los sticker no funka`);
+if (text.length < 8) throw `${fg} โจ *๐ด๐ฬ๐๐๐๐ 10 ๐๐๐๐๐๐๐๐๐๐ ๐๐๐๐ ๐๐๐๐๐ ๐๐ ๐๐๐๐๐๐๐...*`
+if (text.length > 1000) throw `${fg} โ ๏ธ *๐ด๐ฬ๐๐๐๐ 1000 ๐ช๐๐๐๐๐๐๐๐๐ ๐๐๐๐ ๐๐๐๐๐ ๐๐ ๐๐๐๐๐๐๐.*`
+
+let reportId = Math.floor(Math.random() * 901);
+
+ACTIVE_CONVERSATIONS[reportId] = {
+userId: m.sender,
+userName: m.pushName || 'Usuario desconocido',
+active: true,
+chatId: m.chat,
+url: url,
+mime: mime,
+};
+
+let reportText = text || (m.quoted && m.quoted.text) || 'Sin mensaje';
+let teks = `โโผโพโผโงผโงผโงผ ๏ผฒ๏ผฅ๏ผฐ๏ผฏ๏ผฒ๏ผด๏ผฅ โงฝโงฝโงฝโผโผโผโ
+โโข *ษดแดแดแดสแด:* Wa.me/${m.sender.split("@")[0]}
+โโข *แดแดษดsแดแดแด:* ${reportText}
+โโผโผโผโผโผโผโผโผโผโผโผโผโผโผโผโผโผโผโผโผโผ\n\nResponde al mensaje con:\n*"responder ${reportId} [mensaje]"* para interactuar.\nUsa *.fin ${reportId}* para finalizar la conversaciรณn.`
+
+await conn.sendMessage(OWNER1, { text: teks, mentions: [m.sender] }, { quoted: m });
+await delay(1000)
+await conn.reply(m.chat, `*โกแดส สแดแดแดสแดแด สแด sษชแด
แด แดษดแด ษชแดแด
แดs แด แดษช แดสแดแดแด
แดส, แดแดษดแด
สแด แดษดแด สแดsแดแดแดsแดแด แดสแดษดแดแด, แด
แด sแดส าแดสsแด sแดสแด ษชษขษดแดสแดแด
แด แดส สแดแดแดสแดแด*`);
+return;
+}};
+
+handler.before = async (m, { conn }) => {
+let activeConversation = Object.entries(ACTIVE_CONVERSATIONS).find(([id, convo]) => convo.active && convo.userId === m.sender && convo.chatId === m.chat);
+
+if (activeConversation) {
+let [reportId] = activeConversation;
+let message2 = `*๐ฉ Nueva respuesta del usuario @${m.sender.split("@")[0]} (ID: ${reportId}):*\n${m.text || ''}`;
+
+if (m.mtype === 'stickerMessage') {
+let sticker = await m.download();
+if (sticker) {
+await conn.sendMessage(OWNER1, { sticker }, { quoted: m });
+} else {
+}} else if (m.mtype === 'imageMessage' || m.mtype === 'videoMessage' || m.mtype === 'audioMessage') {
+let media = await m.download();
+let url = await uploadImage(media);
+if (url) {
+await conn.sendMessage(OWNER1, { [m.mtype === 'videoMessage' ? 'video' : m.mtype === 'audioMessage' ? 'audio' : 'image']: { url }, caption: message2, contextInfo: { mentionedJid: [m.sender] }}, { quoted: m });
+} else {
+console.error('Error');
+}} else {
+await conn.sendMessage(OWNER1, { text: message2, mentions: [m.sender] }, { quoted: m });
+}}
+
+let matchResponder = m.text.match(/^responder (\S+) (.+)/i);
+if (matchResponder) {
+let [_, reportId, ownerMessage] = matchResponder;
+
+if (!ACTIVE_CONVERSATIONS[reportId] || !ACTIVE_CONVERSATIONS[reportId].active) return
+let { userId } = ACTIVE_CONVERSATIONS[reportId];
+if (m.quoted) {
+let quoted = m.quoted;
+let mime = (quoted.msg || quoted).mimetype || '';
+if (/image|video|audio|sticker/.test(mime)) {
+let media = await quoted.download();
+let url = await uploadImage(media);
+if (/image/.test(mime)) {
+await conn.sendMessage(userId, { image: { url }, caption: ownerMessage });
+} else if (/video/.test(mime)) {
+await conn.sendMessage(userId, { video: { url }, caption: ownerMessage });
+} else if (/audio/.test(mime)) {
+await conn.sendMessage(userId, { audio: { url }, mimetype: mime, caption: ownerMessage });
+} else if (/sticker/.test(mime)) {
+await conn.sendMessage(userId, { sticker: media });
+}} else {
+await conn.sendMessage(userId, { text: ownerMessage });
+}} else {
+await conn.sendMessage(userId, { text: `*โข Respuesta del propietario:*\n${ownerMessage}` });
+}
+return;
+}
+
+if (m.quoted && m.quoted.text) {
+let quotedTextMatch = m.quoted.text.match(/ID: (\d+)/);
+if (quotedTextMatch) {
+let reportId = quotedTextMatch[1];
+if (ACTIVE_CONVERSATIONS[reportId] && ACTIVE_CONVERSATIONS[reportId].active) {
+let { userId } = ACTIVE_CONVERSATIONS[reportId];
+let ownerMessage = m.text || 'Sin mensaje';
+
+if (/image|video|audio|sticker/.test(m.mtype)) {
+let media = await m.download();
+let url = await uploadImage(media);
+if (/image/.test(m.mtype)) {
+await conn.sendMessage(userId, { image: { url }, caption: ownerMessage });
+} else if (/video/.test(m.mtype)) {
+await conn.sendMessage(userId, { video: { url }, caption: ownerMessage });
+} else if (/audio/.test(m.mtype)) {
+await conn.sendMessage(userId, { audio: { url }, mimetype: m.mimetype });
+} else if (/sticker/.test(m.mtype)) {
+await conn.sendMessage(userId, { sticker: media });
+}} else {
+await conn.sendMessage(userId, { text: `*โข Respuesta del propietario:*\n${ownerMessage}` });
+}
+return;
+}}}
+
+let matchFin = m.text.match(/^\.fin (\S+)/i);
+if (matchFin) {
+let [_, reportId] = matchFin;
+
+if (!ACTIVE_CONVERSATIONS[reportId]) return await conn.reply(m.chat, `โ ๏ธ No se encontrรณ ninguna conversaciรณn activa con ese ID.`, m);
+let { userId } = ACTIVE_CONVERSATIONS[reportId];
+ACTIVE_CONVERSATIONS[reportId].active = false;
+await conn.reply(userId, `๐ *La conversaciรณn ha sido cerrada por el propietario.*`);
+await delay(1000)
+await conn.reply(m.chat, `โ๏ธ Conversaciรณn ${reportId} cerrada.`);
+return;
+}};
+handler.help = ['reporte', 'request'].map(v => v + ' ')
+handler.tags = ['main']
+handler.exp = 3500
+handler.command = /^(report|request|reporte|bugs|bug|report-owner|reportes|reportar)$/i
+handler.register = true
+handler.private = true
+export default handler
+const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms))
+
+*/
+let handler = async (m, { conn, text, usedPrefix, command }) => {
+if (!text) return conn.reply(m.chat, await tr(`โ ๏ธ Escriba el error, comando con falla\n\n*Ejemplo:* ${usedPrefix + command} los sticker no funka`), m)
+if (text.length < 8) throw await tr(`โ ๏ธ *Minimo 10 caracteres para hacer el reporte...*`)
+if (text.length > 1000) throw await tr(`โ ๏ธ *Maximo 1000 caracteres para hacer el reporte*`)
+let teks = `โโผโพโผโงผโงผโงผ ${await tr("REPORTE", "๏ผฒ๏ผฅ๏ผฐ๏ผฏ๏ผฒ๏ผด๏ผฅ")} โงฝโงฝโงฝโผโผโผโ
+โโข *${await tr("Numero")}:* Wa.me/${m.sender.split`@`[0]}
+โโข *${await tr("Mensaje")}:* ${text}
+โโผโผโผโผโผโผโผโผโผโผโผโผโผโผโผโผโผโผโผโผโผ`
+await delay(1 * 1000)
+m.reply(await tr(`โก El reporte ha sido enviados a mi creador, tendra una respuesta pronto, de ser falso sera ignorado el reporte...`))
+await delay(3 * 3000)
+conn.reply('5214774444444@s.whatsapp.net', m.quoted ? teks + m.quoted.text : teks, null, {contextInfo: {mentionedJid: [m.sender]
+}})
+}
+handler.help = ['reporte', 'request'].map(v => v + ' ')
+handler.tags = ['main']
+handler.exp = 3500
+handler.command = /^(report|request|reporte|bugs|bug|report-owner|reportes|reportar)$/i
+handler.register = true
+export default handler
+const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms))
diff --git a/plugins/info-sacarnumero.js b/plugins/info-sacarnumero.js
deleted file mode 100644
index 3259b787a..000000000
--- a/plugins/info-sacarnumero.js
+++ /dev/null
@@ -1,57 +0,0 @@
-let handler = async (m, { conn, usedPrefix }) => {
-let pp = 'https://i.imgur.com/lkch77g.jpeg'
-var doc = ['pdf','zip','vnd.openxmlformats-officedocument.presentationml.presentation','vnd.openxmlformats-officedocument.spreadsheetml.sheet','vnd.openxmlformats-officedocument.wordprocessingml.document']
-var document = doc[Math.floor(Math.random() * doc.length)]
-await m.reply(`โฐโฑ๐ฐโฑ *paso a paso* โฑ๐ฐโฑโฎ`)
- //conn.sendButton(m.chat, str, author, await(await fetch(pp)).buffer(), [['Menu', '/menu']], m)
-let texto1 = `
- ยฟCรณmo sacar un nรบmero del soporte
-Rรกpido?
-
-Manda un Gmail - correo
-Al
-support@support.whatsapp.com
-
-Asunto
-Me suspendieron por error
-
-Elige cualquiera de estos textos
-
-Texto 1:
-Hola me suspendieron por error yo no hice nada malo apenas estoy usando el WhatsApp, y necesito mi nรบmero para mรญ grupo del estudio y trabajo.
-Por favor me suspendieron por error
-Mi nรบmero es
-####
-
-Textos 2:
-Hola buenas noches, vengo a reclamar un error de suspensiรณn a mi cuenta Hace aproximadamente un par de horas, estaba tranquilamente hablando con amigos cuando me llega un mensaje diciendo que mi WhatsApp fue registado en otro telefono; posterior a eso cuando intento ingresar me dice que mi cuenta Ha sido suspendida, por favor me ayuden a recuperar mi cuenta mi numero es (NUMERO)
-
-Texto 3:
-porfavor activen mi cuenta de WhatsApp tengo cosas muy importantes gracias mi nรบmero es (NUMERO)
-
-Textos 4:
-Hola Buenas, hace poco recupere mi celular y quiero que activen mi cuenta de WhatsApp tengo cosas de empresas mi nรบmero es (NUMERO)`
-let buttonMessage= {
-'document': { url: `https://youtu.be/ipiVJCrQGGg` },
-'mimetype': `application/${document}`,
-'fileName': `๐ป๐๐ ๐ณ๐๐๐๐ฉ๐๐-๐ด๐ซ`,
-'fileLength': 99999999999999,
-'pageCount': 200,
-'contextInfo': {
-'forwardingScore': 200,
-'isForwarded': true,
-'externalAdReply': {
-'mediaUrl': 'https://youtu.be/ipiVJCrQGGg',
-'mediaType': 2,
-'previewType': 'pdf',
-'title': 'Como saca un numero del soporte',
-'body': wm,
- }},
-'caption': texto1,
-'footer': wm,
-'buttons':[
-{buttonId: `${usedPrefix}menu`, buttonText: {displayText: '๐ป๐๐ ๐ณ๐๐๐๐ฉ๐๐-๐ด๐ซ'}, type: 1}],
-'headerType': 6 }
-conn.sendMessage(m.chat, buttonMessage, { quoted: m })}
-handler.command = /^(sacarnumero|sacarnumerodelsoporte|como sacar un numero del soporte)$/i
-export default handler
diff --git a/plugins/info-sc.js b/plugins/info-sc.js
index 1515dd4f0..289a08126 100644
--- a/plugins/info-sc.js
+++ b/plugins/info-sc.js
@@ -4,37 +4,34 @@ import { promises } from 'fs'
import { join } from 'path'
let handler = async (m, { conn, __dirname, usedPrefix: _p }) => {
let _package = JSON.parse(await promises.readFile(join(__dirname, '../package.json')).catch(_ => ({}))) || {}
+let msgTxt = await tr("TIEMPO ACTIVO", "๐๐๐๐๐๐ ๐ผ๐พ๐๐๐๐")
+let msgTxt2 = await tr("Dias")
+let msgTxt3 = await tr("Horas")
+let msgTxt4 = await tr("Minutos")
+let msgTxt5 = await tr("Segudos")
function kyun(seconds){
- function pad(s){
- return (s < 10 ? '0' : '') + s;
- }
- var days = Math.floor(seconds / (24 * 60 * 60 * 1000));
- var hours = Math.floor(seconds / (60*60));
- var minutes = Math.floor(seconds % (60*60) / 60);
- var seconds = Math.floor(seconds % 60);
+function pad(s){
+return (s < 10 ? '0' : '') + s;
+}
+var days = Math.floor(seconds / (24 * 60 * 60 * 1000));
+var hours = Math.floor(seconds / (60*60));
+var minutes = Math.floor(seconds % (60*60) / 60);
+var seconds = Math.floor(seconds % 60);
- //return pad(hours) + ':' + pad(minutes) + ':' + pad(seconds)
- return `๐ซถ ${_package.homepage}\n\n*โณ ๐๐๐๐๐๐ ๐ผ๐พ๐๐๐๐:*\n \t${pad(days)} Dias\t ${pad(hours)} Horas ${pad(minutes)} Minutos ${pad(seconds)} Segudos \t\n`
+//return pad(hours) + ':' + pad(minutes) + ':' + pad(seconds)
+return `๐ซถ ${_package.homepage}\n\n*โณ ${msgTxt}:*\n \t${pad(days)} ${msgTxt2}\t ${pad(hours)} ${msgTxt3} ${pad(minutes)} ${msgTxt4} ${pad(seconds)} ${msgTxt5} \t\n`
}
- const runtime = process.uptime()
- const teks = `${kyun(runtime)}`
- const itsme = `0@s.whatsapp.net`
- const split = `uwu >//<`
- const rtimebro = {
- contextInfo: {
- participant: itsme,
- quotedMessage: {
- extendedTextMessage: {
- text: split
- }
- }
- }
- }
+const runtime = process.uptime()
+const teks = `${kyun(runtime)}`
+const itsme = `0@s.whatsapp.net`
+const split = `uwu >//<`
+const rtimebro = {
+contextInfo: {participant: itsme,
+quotedMessage: { extendedTextMessage: { text: split
+}}}}
- let prep = generateWAMessageFromContent(m.chat, { orderMessage: {
-itemCount: -10062007, status: 500,
-surface: 999,
+let prep = generateWAMessageFromContent(m.chat, { orderMessage: { itemCount: -10062007, status: 500, surface: 999,
message: teks,
description: '^^',
orderTitle: 'Hi Sis',
@@ -42,26 +39,22 @@ token: '9',
curreyCode: 'IDR',
totalCurrencyCode: '>ใฐ<',
totalAmount1000: '1000000',
-sellerJid: 'https://github.com/elrebelde21/The-LoliBot-MD',
+sellerJid: 'https://github.com/elrebelde21/LoliBot-MD',
thumbnail: fs.readFileSync('./src/avatar_contact.png')
}}, {contextInfo: null, quoted: m})
conn.relayWAMessage(prep)
- // conn.sendMessage(m.chat, `${teks}`, MessageType.text, rtimebro)
+//conn.sendMessage(m.chat, `${teks}`, MessageType.text, rtimebro)
}
-
handler.help = ['runtime']
-handler.tags = ['info']
+handler.tags = ['main']
handler.command = /^(runtime|sc|activo|github)$/i
handler.owner = false
handler.mods = false
handler.premium = false
handler.group = false
handler.private = false
-
+handler.register = true
handler.admin = false
handler.botAdmin = false
-
handler.fail = null
-
-
export default handler
diff --git a/plugins/info-speedtest.js b/plugins/info-speedtest.js
index db46191a6..13dfe6eb3 100644
--- a/plugins/info-speedtest.js
+++ b/plugins/info-speedtest.js
@@ -1,22 +1,74 @@
-import cp from 'child_process';
-import {promisify} from 'util';
+import os from 'os';
+import cp from "child_process";
+import { promisify } from "util";
+import fetch from 'node-fetch';
const exec = promisify(cp.exec).bind(cp);
-const handler = async (m) => {
- await conn.reply(m.chat, global.wait, m);
- let o;
- try {
- o = await exec('python3 speed.py');
- } catch (e) {
- o = e;
- } finally {
- const {stdout, stderr} = o;
- if (stdout.trim()) m.reply(stdout);
- if (stderr.trim()) m.reply(stderr);
- }
-};
-handler.help = ['speedtest'];
-handler.tags = ['info'];
+var handler = async (m, { conn }) => {
+let response = await fetch('https://ip-json.vercel.app/');
+ let json = await response.json();
+ delete json.status;
+ json.result.timeZones = [json.result.timeZones[0]];
+ let currency = json.result.currency || {};
+ let currencyCode = currency.code || 'N/A';
+ let currencyName = currency.name || 'N/A';
+let o;
+//await conn.reply(m.chat, global.wait, m);
+m.react("๐")
+try {
+o = await exec('python3 speed.py --secure --share');
+const {stdout, stderr} = o;
+if (stdout.trim()) {
+const match = stdout.match(/http[^"]+\.png/);
+const urlImagen = match ? match[0] : null;
+await conn.relayMessage(m.chat, {
+extendedTextMessage:{ text: stdout.trim(),
+contextInfo: { externalAdReply: {
+title: "< ๏ผฉ๏ผฎ๏ผฆ๏ผฏ - ๏ผณ๏ผฐ๏ผฅ๏ผฅ๏ผค๏ผด๏ผฅ๏ผณ๏ผด />", body: `${toTime(os.uptime() * 1000)}`, mediaType: 1,
+previewType: 0, renderLargerThumbnail: true,
+thumbnailUrl: urlImagen, sourceUrl: redes.getRandom()
+}}, mentions: null }}, {quoted: m})}
+//conn.sendMessage(m.chat, {image: {url: urlImagen}, caption: stdout.trim()}, {quoted: m})}
+if (stderr.trim()) {
+const match2 = stderr.match(/http[^"]+\.png/);
+const urlImagen2 = match2 ? match2[0] : null;
+await conn.relayMessage(m.chat, {
+extendedTextMessage:{text: stderr.trim(), contextInfo: {externalAdReply: {
+title: "< ๏ผฉ๏ผฎ๏ผฆ๏ผฏ - ๏ผณ๏ผฐ๏ผฅ๏ผฅ๏ผค๏ผด๏ผฅ๏ผณ๏ผด />", body: `${toTime(os.uptime() * 1000)}`, mediaType: 1,
+previewType: 0, renderLargerThumbnail: true,
+thumbnailUrl: urlImagen2,
+sourceUrl: redes.getRandom()
+}}, mentions: null }}, {quoted: m})
+//conn.sendMessage(m.chat, {image: {url: urlImagen2}, caption: stderr.trim()}, {quoted: m});
+}} catch (e) {
+o = e.message;
+return m.reply(o)
+console.log(e)}}
+handler.help = ["speedtest"];
+handler.tags = ["main"];
handler.command = /^(speedtest?|test?speed)$/i;
+handler.register = true
+export default handler
-export default handler;
-
\ No newline at end of file
+function deleteMessage() {
+}
+
+function formatSize(bytes) {
+ const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB'];
+ if (bytes === 0) return '0 Bytes';
+ const i = parseInt(Math.floor(Math.log(bytes) / Math.log(1024)), 10);
+ return (Math.round(bytes / Math.pow(1024, i) * 100) / 100) + ' ' + sizes[i];
+}
+
+function ucword(str) {
+ return str.replace(/\b\w/g, function(l) {
+ return l.toUpperCase();
+ });
+}
+
+function toTime(milliseconds) {
+ const seconds = Math.floor(milliseconds / 1000);
+ const minutes = Math.floor(seconds / 60);
+ const hours = Math.floor(minutes / 60);
+ const days = Math.floor(hours / 24);
+ return `${days} days, ${hours % 24} hours, ${minutes % 60} minutes, ${seconds % 60} seconds`;
+}
diff --git a/plugins/info-terminos, condiciones y privacidad.js b/plugins/info-terminos, condiciones y privacidad.js
deleted file mode 100644
index 5308fb2ef..000000000
--- a/plugins/info-terminos, condiciones y privacidad.js
+++ /dev/null
@@ -1,139 +0,0 @@
-import { xpRange } from '../lib/levelling.js'
-import PhoneNumber from 'awesome-phonenumber'
-import { promises } from 'fs'
-import { join } from 'path'
-let handler = async (m, { conn, usedPrefix, command, args, usedPrefix: _p, __dirname, isOwner, text, isAdmin, isROwner }) => {
-
-
-const { levelling } = '../lib/levelling.js'
-//let handler = async (m, { conn, usedPrefix, usedPrefix: _p, __dirname, text }) => {
-
-let { exp, limit, level, role } = global.db.data.users[m.sender]
-let { min, xp, max } = xpRange(level, global.multiplier)
-
-let d = new Date(new Date + 3600000)
-let locale = 'es'
-let weton = ['Pahing', 'Pon', 'Wage', 'Kliwon', 'Legi'][Math.floor(d / 84600000) % 5]
-let week = d.toLocaleDateString(locale, { weekday: 'long' })
-let date = d.toLocaleDateString(locale, {
-day: 'numeric',
-month: 'long',
-year: 'numeric'
-})
-let dateIslamic = Intl.DateTimeFormat(locale + '-TN-u-ca-islamic', {
-day: 'numeric',
-month: 'long',
-year: 'numeric'
-}).format(d)
-let time = d.toLocaleTimeString(locale, {
-hour: 'numeric',
-minute: 'numeric',
-second: 'numeric'
-})
-let _uptime = process.uptime() * 1000
-let _muptime
-if (process.send) {
-process.send('uptime')
-_muptime = await new Promise(resolve => {
-process.once('message', resolve)
-setTimeout(resolve, 1000)
-}) * 1000
-}
-let { money } = global.db.data.users[m.sender]
-let muptime = clockString(_muptime)
-let uptime = clockString(_uptime)
-let totalreg = Object.keys(global.db.data.users).length
-let rtotalreg = Object.values(global.db.data.users).filter(user => user.registered == true).length
-let replace = {
-'%': '%',
-p: _p, uptime, muptime,
-me: conn.getName(conn.user.jid),
-
-exp: exp - min,
-maxexp: xp,
-totalexp: exp,
-xp4levelup: max - exp,
-
-level, limit, weton, week, date, dateIslamic, time, totalreg, rtotalreg, role,
-readmore: readMore
-}
-text = text.replace(new RegExp(`%(${Object.keys(replace).sort((a, b) => b.length - a.length).join`|`})`, 'g'), (_, name) => '' + replace[name])
-
-//let name = await conn.getName(m.sender)
-let pp = './media/menus/Menu1.jpg'
-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]
-//user.registered = false
-
-let TerminoA = `
-*_Toda la informaciรณn que se mencione aquรญ no excluye a la Propietario del Bot, y Propietarios Acredores al uso de The LoliBot-MD_*
-*_No Somos responsables del desconocimiento que tenga por parte de esta informaciรณn._*`.trim()
-
-let terminoB = `
-*TรRMINOS DE PRIVACIDAD*
-_- Somos consciente del constante uso que le pueda dar al Bot, y tambiรฉn Garantizamos que la informaciรณn como (imรกgenes, vรญdeos, enlaces, ubicaciรณn, Audios, Stickers, Gif, Contactos que Usted Proporcione en torno a Nรบmero(s) Oficial(es) No son ni serรกn Compartido Con Nadie, ni se usaran dicho Datos fuera del entorno del BOT._
-
-_- Lo que realicรฉ con el BOT queda solo en Usted ya que en Nรบmero(s) Oficial(es) El Chat se Borra cada 24 Horas, segรบn el tiempo de Mensajes Temporales de WhatsApp._
-
-_- Es posible que en Nรบmero(s) Oficial(es) el Bot no estรฉ Activado las 24 Horas de los 7 dรญas de la Semana, eso no implica que no lo estรฉ o que Propietarios NO OFICIALES puedan Hacerlo._
-
-_- El chat anรณnimo del comando #start, valga la redundancia no mostrarรก ningรบn dato de los Usuarios por parte de The LoliBot. Eso no implica que las personas que hagan uso de esta funciรณn puedan dar a conocer sus datos. en Nรบmero(s) Oficial(es)._
-
-_- NO somos responsable si Hay alteraciones de este Bot no siendo Nรบmero(s) Oficial(es) y tengan de uso un Repositorio de GitHub que no corresponda al Oficial, o que implementen Usuarios de Terceros integraciones que comprometan a los(as) Usuarios(as) al utilizar Versiones no Oficiales._
-
-
-*TรRMINOS DE USO*
-_- La informaciรณn que haya en este Bot y el/la usuario/a Haga uso de las Mismas asumirรก saber los Tรฉrminos y Condiciones de tal forma que no habrรก incovenientes al hacer un uso Particular de las Funciones del Bot._
-
-_- El Bot contiene Material que solo puede ser visible para mayores de 18 Aรฑos, NO somos responsable si no cumple con la edad mรญnima para usar el Material para Adultos._
-
-_- Las imรกgenes, Vรญdeos y Audios que tenga este Bot son de uso Pรบblico, Pero se considerarรก Falta de Respeto al realizar Ediciones en el Material ya exitente que porte Nombre del Bot o informaciรณn relevante._
-
-_- Al hacer uso de una solicitud para ingreso de grupo con Una Cuenta Oficial, es recomendable que el grupo no cuente con temas de Odio, virus, contenido indebido, temas de discriminaciรณn u campaรฑas sin fundamentos._
-
-_- Si ha recibido un Comunicado Oficial siendo Nรบmero(s) Oficial(es) Mantener el Respeto de la misma manera si recibe un Mensaje sin haber usado un Comando Mantener el Respeto ya que puede en este ultimo caso ser una Persona Real._
-
-
-*CONDICIONES DE USO*
-_- NO haga ni intente Llamar o hacer Videollamada al Bot siendo Nรบmero(s) Oficial(es) ya que obstaculiza el funcionamiento del BOT._
-
-_- NO usar el Bot siendo Nรบmero(s) Oficial(es) para llevar a cabo alguna acciรณn hostil que pueda verse comprometida el Funcionamiento del BOT._
-
-_- NO use el comando de SPAM repetidamente, ya que Provocarรก un Mal funcionamiento en el BOT, tampoco envie al BOT mensajes que puedan comprometer el Funcionamiento de la misma._
-
-_- Al hacer uso de ciertos comandos que tengan como objetivo socavar la incomodidad, intranquilidad, molestia u otro termino tajante, se tomarรกn las respectivas sanciones o llamados de alerta para prevalecer la integridad de los/las Usuarios(as) y funcionamiento de The LoliBot-MD._
-
-
-*ESTE ES EL REPOSITORIO OFICIAL*
- *${md}*
-
-*GRUPOS UPDATE ACTUALIZACIONES Y NOVEDADES SOBRE EL BOT*
-*imfomarte sobre la nueva actualizaciรณnes y novedades de bot aqui*
-${nna}
-
-*FACEBOOK*
-~ _puede unirte al grupo asistencia facebook del bot_
-*https://facebook.com/groups/872989990425789/*
-
-
-*~ Muchas Gracias Por tomarte el tiempo en informate sobre The LoliBot-MD*
-`.trim()
-conn.sendButton(m.chat, TerminoA, terminoB, pp, [
-['ษขสแดแดแดs', `#grupos`]], m)
-}
-
-handler.customPrefix = /terminos|tรฉrminos|tรฉrminos, condiciones y privacidad|terminos, condiciones y privacidad|tรฉrminos y condiciones y privacidad|terminosycondicionesyprivacidad|terminosycondiciones|terminos y condiciones y privacidad|terminos y condiciones|terminos y condiciones|terminos de uso|Terminos de uso|Terminรณ se uso|tรฉrminos de uso|Tรฉrminos de uso|Tรฉrminos y condiciones/i
-handler.command = new RegExp
-//handler.register = true
-handler.exp = 70
-export default handler
-
-const more = String.fromCharCode(8206)
-const readMore = more.repeat(4001)
-function clockString(ms) {
-let h = isNaN(ms) ? '--' : Math.floor(ms / 3600000)
-let m = isNaN(ms) ? '--' : Math.floor(ms / 60000) % 60
-let s = isNaN(ms) ? '--' : Math.floor(ms / 1000) % 60
-return [h, m, s].map(v => v.toString().padStart(2, 0)).join(':')}
\ No newline at end of file
diff --git a/plugins/jadibot-broadcast.js b/plugins/jadibot-broadcast.js
new file mode 100644
index 000000000..5a699f9e8
--- /dev/null
+++ b/plugins/jadibot-broadcast.js
@@ -0,0 +1,22 @@
+let handler = async (m, { conn, usedPrefix, text }) => {
+if (conn.user.jid !== global.conn.user.jid) throw false
+let users = [...new Set([...global.conns.filter(conn => conn.user && conn.state !== 'close').map(conn => conn.user.jid)])]
+let cc = text ? m : m.quoted ? await m.getQuotedObj() : false || m
+let teks = text ? text : cc.text
+let content = conn.cMod(m.chat, cc, /bc|broadcast/i.test(teks) ? teks : `*ใ ${await tr("DIFUSIรN A SUB BOTS")} ใ*\n\n` + teks)
+for (let id of users) {
+await delay(1500)
+await conn.copyNForward(id, content, true)
+}
+conn.reply(m.chat, `*${await tr("DIFUSIรN ENVIADA CON รXITO A")} ${users.length} ๐ฆ๐จ๐ ๐๐ข๐ง๐ฆ*
+
+${users.map(v => 'โข Wa.me/' + v.replace(/[^0-9]/g, '') + `?text=${encodeURIComponent(usedPrefix)}estado`).join('\n')}\n*${await tr("S3 FINALIZO CON EL ENVIO EN")} ${users.length * 1.5} ${await tr("SEGUNDOS APROXIMADAMENTE")}`.trim(), m)}
+handler.help = ['bcbot'];
+handler.tags = ['jadibot'];
+handler.command = /^bcbot$/i
+handler.owner = true
+export default handler
+
+const more = String.fromCharCode(8206)
+const readMore = more.repeat(4001)
+const delay = time => new Promise(res => setTimeout(res, time))
diff --git a/plugins/jadibot-codeToken.js b/plugins/jadibot-codeToken.js
new file mode 100644
index 000000000..37090ccaf
--- /dev/null
+++ b/plugins/jadibot-codeToken.js
@@ -0,0 +1,27 @@
+/*
+El codigo de este archivo esta totalmente hecho por:
+- ReyEndymion (https://github.com/ReyEndymion)
+*/
+
+import fs from "fs"
+let handler = async (m, { conn, usedPrefix }, args, command) => {
+let who = m.mentionedJid && m.mentionedJid[0] ? m.mentionedJid[0] : m.fromMe ? conn.user.jid : m.sender
+let uniqid = `${who.split`@`[0]}`
+try {
+if(global.conns.push(conn))
+await conn.sendMessage(m.chat, {text : usedPrefix + 'serbot' + " " + Buffer.from(fs.readFileSync("./jadibts/" + uniqid + "/creds.json"), "utf-8").toString("base64")}, { quoted: m })
+} catch(e) {
+await conn.reply(m.chat, await tr(`*No eres Sub-Bot de este Bot.*
+
+> ๐ Para convertirte en Sub-Bot, utiliza el comando:
+\`${usedPrefix + 'serbot'}\`
+
+> โ ๏ธ ยฟProblemas para iniciar sesiรณn?
+*Si no puedes acceder a tu sesiรณn, elimina la sesiรณn creada desde los dispositivos vinculados y utiliza el comando:*
+\`${usedPrefix + 'eliminarjb'}\`
+De esta manera, podrรกs solicitar una nueva sesiรณn.`), m)
+if (m.fromMe) return
+}}
+handler.command = /^(codetoken)$/i
+handler.private = true
+export default handler
diff --git a/plugins/jadibot-delete.js b/plugins/jadibot-delete.js
deleted file mode 100644
index 12099baee..000000000
--- a/plugins/jadibot-delete.js
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
-
-โ PROHIBIDO EDITAR โ -- โ PROHIBIDO EDITAR โ -- โ PROHIBIDO EDITAR โ
-
-El codigo de este archivo fue realizado por:
-- ReyEndymion (https://github.com/ReyEndymion)
-
-โ PROHIBIDO EDITAR โ -- โ PROHIBIDO EDITAR โ -- โ PROHIBIDO EDITAR โ
-
-*/
-
-import { readdirSync, statSync, unlinkSync, existsSync, readFileSync, watch, rmSync, promises as fs} from "fs"
-import path, { join } from 'path'
-let handler = async (m, { conn }, args) => {
-let parentw = conn
-let who = m.mentionedJid && m.mentionedJid[0] ? m.mentionedJid[0] : m.fromMe ? conn.user.jid : m.sender
-let uniqid = `${who.split`@`[0]}`
-if (global.conn.user.jid !== conn.user.jid) return conn.sendMessage(m.chat, {text: '*Use este comando directamente en el numero del Bot principal*'}, { quoted: m })
-else {
-await conn.sendMessage(m.chat, {text: "*๐ Adiรณs Bot, haz dejado de ser un Bot*"}, { quoted: m })
-}
-try {
-fs.rmdir("./jadibts/" + uniqid, { recursive: true, force: true })
-await conn.sendMessage(m.chat, {text : "*Todos los archivos de session fueron eliminados*" } , { quoted: m })
-} catch(err) {
-console.error('La carpeta o archivo de sesion no existen ', err)
-}}
-handler.help = ['deletebot']
-handler.tags = ['jadibot']
-handler.command = /^(deletebot|eliminarsesion|deletesesion)$/i
-handler.private = true
-handler.fail = null
-export default handler
diff --git a/plugins/jadibot-delete2.js b/plugins/jadibot-delete2.js
deleted file mode 100644
index 6252f7580..000000000
--- a/plugins/jadibot-delete2.js
+++ /dev/null
@@ -1,32 +0,0 @@
-import { readdirSync, unlinkSync, existsSync, promises as fs, rmSync } from 'fs';
-import path from 'path';
-const handler = async (m, { conn, usedPrefix }) => {
-const chatId = m.isGroup ? m.chat : m.sender;
-const uniqid = chatId.split('@')[0];
-const sessionPath = './BotSession/';
-try {
-const files = await fs.readdir(sessionPath);
-let filesDeleted = 0;
-for (const file of files) {
-if (file.includes(uniqid)) {
-await fs.unlink(path.join(sessionPath, file));
-filesDeleted++;
-}}
-if (filesDeleted === 0) {
-await conn.sendMessage(m.chat, { text: `${lenguajeGB['smsAvisoAG']()}๐๐ ๐๐ ๐๐๐พ๐๐๐๐๐ฬ ๐๐๐๐๐๐ ๐ผ๐๐พ๐๐๐๐๐ ๐๐๐ ๐๐๐พ๐๐๐๐ผ ๐๐ผ ๐๐ฟ ๐ฟ๐๐ ๐พ๐๐ผ๐` }, { quoted: m });
-} else {
-await conn.sendMessage(m.chat,
-{ text: `${lenguajeGB['smsAvisoEG']()}๐๐ ๐๐๐๐๐๐๐ผ๐๐๐ ${filesDeleted} ๐ผ๐๐พ๐๐๐๐๐ ๐ฟ๐ ๐๐๐๐๐๐` },
-{ quoted: m }
-)}
-} catch (err) {
-console.error(`${lenguajeGB['smsAvisoFG']()}๐๐ผ ๐พ๐ผ๐๐๐๐๐ผ ๐ ๐๐ ๐ผ๐๐พ๐๐๐๐ ๐ฟ๐ ๐๐๐๐๐๐ ๐๐ ๐๐๐๐๐๐๐`, err);
-await conn.sendMessage(m.chat,
-{ text: `${lenguajeGB['smsAvisoFG']()}๐๐พ๐๐๐๐๐ ๐๐ ๐๐๐๐๐ ๐ผ๐ ๐๐๐๐๐๐๐ผ๐ ๐๐๐ ๐ผ๐๐พ๐๐๐๐๐ ๐ฟ๐ ๐๐๐๐๐๐๐` },
-{ quoted: m }
-)}
-await conn.sendMessage(m.chat, {text: `${lenguajeGB['smsAvisoRG']()}๐ ๐๐๐๐ผ ๐๐ผ ๐๐๐๐พ๐๐๐๐ผ\n๐๐ ๐๐ ๐ฝ๐๐ ๐๐ ๐๐ ๐๐๐๐๐๐๐ฟ๐ ๐ผ ๐๐๐ ๐พ๐๐๐ผ๐๐ฟ๐ ๐๐๐ ๐๐ผ๐๐๐ ๐๐ผ๐๐ผ ๐๐ ๐๐๐๐๐๐๐๐ ๐๐๐ผ๐\n\n*๐๐
๐๐๐๐๐:*\n${usedPrefix}s\n${usedPrefix}s\n${usedPrefix}s`}, { quoted: m })};
-handler.help = ['deletebot'];
-handler.tags = ['jadibot'];
-handler.command = /^(msgespera|ds)$/i;
-export default handler;
diff --git a/plugins/jadibot-deleteSesion.js b/plugins/jadibot-deleteSesion.js
new file mode 100644
index 000000000..3086d0ed3
--- /dev/null
+++ b/plugins/jadibot-deleteSesion.js
@@ -0,0 +1,36 @@
+/*โ PROHIBIDO EDITAR โ -- โ PROHIBIDO EDITAR โ -- โ PROHIBIDO EDITAR โ
+El codigo de este archivo fue realizado por:
+- ReyEndymion >> https://github.com/ReyEndymion
+*/
+
+import { readdirSync, statSync, unlinkSync, existsSync, readFileSync, watch, rmSync, promises as fs} from "fs"
+import path, { join } from 'path'
+
+let handler = async (m, { conn, usedPrefix, command}, args) => {
+let parentw = conn
+let who = m.mentionedJid && m.mentionedJid[0] ? m.mentionedJid[0] : m.fromMe ? conn.user.jid : m.sender
+let uniqid = `${who.split`@`[0]}`
+let userS = `${conn.getName(who)}`
+
+if (global.conn.user.jid !== conn.user.jid) {
+return conn.sendMessage(m.chat, {text: `*โ ๏ธ ${await tr("USE ESTE COMANDO AL BOT PRINCIPAL")}*\n\nwa.me/${global.conn.user.jid.split`@`[0]}&text=${usedPrefix + command}`}, { quoted: m })
+} else {
+try {
+await fs.rmdir("./jadibts/" + uniqid, { recursive: true, force: true })
+await conn.sendMessage(m.chat, { text: `*${await tr("TE VOY A EXTRAรAR")} ${wm} ${await tr("CHAOO!!")} ๐ฅน*` }, { quoted: m })
+await conn.sendMessage(m.chat, { text : await tr(`*โ ๏ธ HA CERRADO SESIรN Y BORRADO TODO RASTRO*`) } , { quoted: m })
+} catch(err) {
+if (err.code === 'ENOENT' && err.path === `./jadibts/${uniqid}`) {
+await conn.sendMessage(m.chat, { text: await tr("โ ๏ธ Usted no es un Sub-Bot") }, { quoted: m })
+} else {
+console.error(userS + ' ' + await tr(`โ ๏ธ HA CERRADO SESIรN COMO SUB BOT`), err)
+}}}
+}
+handler.help = ['deletesession', 'eliminarsesion'];
+handler.tags = ['jadibot'];
+handler.command = /^(deletesess?ion|eliminarsesion|borrarsesion|delsess?ion|cerrarsesion)$/i
+handler.private = true
+handler.fail = null
+
+export default handler
+
diff --git a/plugins/jadibot-parar.js b/plugins/jadibot-parar.js
deleted file mode 100644
index 1c7b7c622..000000000
--- a/plugins/jadibot-parar.js
+++ /dev/null
@@ -1,9 +0,0 @@
-let handler = async (m, { conn }) => {
-if (global.conn.user.jid == conn.user.jid) conn.reply(m.chat, `Por quรฉ no vas directamente con el numero del Bot`, m)
-else {
-await conn.reply(m.chat, `Usted ha cerrado session`, m)
-conn.ws.close()
-}}
-handler.command = /^(berhenti|stop|detener)$/i
-
-export default handler
diff --git a/plugins/jadibot-primary.js b/plugins/jadibot-primary.js
new file mode 100644
index 000000000..b46f61d3b
--- /dev/null
+++ b/plugins/jadibot-primary.js
@@ -0,0 +1,36 @@
+import ws from 'ws';
+
+let handler = async (m, { conn, usedPrefix, args }) => {
+if (!args[0]) return m.reply(await tr(`โ ๏ธ Etiquetas en numero de algun bot\nEjemplo: ${usedPrefix}setprimary @tag`));
+
+const users = [...new Set([...global.conns.filter((conn) => conn.user && conn.ws.socket && conn.ws.socket.readyState !== ws.CLOSED).map((conn) => conn)])];
+let botJid;
+let selectedBot;
+
+if (m.mentionedJid && m.mentionedJid.length > 0) {
+botJid = m.mentionedJid[0];
+if (botJid === conn.user.jid || global.conn.user.jid) {
+selectedBot = conn;
+} else {
+selectedBot = users.find(conn => conn.user.jid === botJid);
+}}
+else {
+botJid = args[0].replace(/[^0-9]/g, '') + '@s.whatsapp.net';
+if (botJid === conn.user.jid) {
+selectedBot = conn;
+} else {
+selectedBot = users.find(conn => conn.user.jid === botJid);
+}}
+
+if (!selectedBot) return m.reply(await tr("โ ๏ธ No se encontrรณ un bot conectado con esa menciรณn o nรบmero. Usa /listjadibot para ver los bots disponibles."));
+let chat = global.db.data.chats[m.chat];
+chat.primaryBot = botJid;
+conn.sendMessage(m.chat, { text: `โ
El bot @${botJid.split('@')[0]} ${await tr("ha sido establecido como primario en este grupo. Los demรกs bots no responderรกn aquรญ.")}`, mentions: [botJid] }, { quoted: m });
+};
+handler.help = ['setprimary <@tag>'];
+handler.tags = ['jadibot'];
+handler.command = ['setprimary'];
+handler.group = true;
+handler.register = true;
+
+export default handler;
\ No newline at end of file
diff --git a/plugins/jadibot-privacidad.js b/plugins/jadibot-privacidad.js
new file mode 100644
index 000000000..d7c0b942f
--- /dev/null
+++ b/plugins/jadibot-privacidad.js
@@ -0,0 +1,45 @@
+let handler = async (m, { conn, usedPrefix, text }) => {
+const isSubBot = global.conns?.some(bot => bot.user.jid === m.sender);
+const isMainBot = m.sender === global.conn.user.jid;
+if (!isSubBot && !isMainBot) return m.reply(await tr('โ ๏ธ Este comando solo puede ser usado por el Bot Principal o un Sub-Bot.'));
+const bot = isSubBot ? global.conns.find(bot => bot.user.jid === m.sender) : global.conn;
+if (!bot) return m.reply(await tr('โ ๏ธ No se pudo identificar el bot.'));
+const botConfig = global.db.data.users[bot.user.jid] || {};
+const [option, value] = text.split(' ');
+
+if (!option || !value) {
+return m.reply(await tr(`โ ๏ธ Uso: *${usedPrefix}setconfig *
+
+Opciones disponibles:
+- *privacy*: 1 (activar) / 0 (desactivar)
+- *prestar*: 1 (activar) / 0 (desactivar)`));
+}
+
+if (option === 'privacy') {
+if (value === '1') {
+botConfig.privacy = true;
+await conn.sendMessage(m.chat, { text: await tr('โ
*Privacidad activada.*\n> Tu nรบmero no se mostrarรก en la lista de bots.') }, { quoted: m });
+} else if (value === '0') {
+botConfig.privacy = false;
+await conn.sendMessage(m.chat, { text: await tr('โ
*Privacidad desactivada.*\n> Tu nรบmero se mostrarรก en la lista de bots.') }, { quoted: m });
+} else {
+await conn.sendMessage(m.chat, { text: await tr('โ ๏ธ Valor no vรกlido. Usa: *1* (activar) o *0* (desactivar).') }, { quoted: m });
+}} else if (option === 'prestar') {
+if (value === '1') {
+botConfig.prestar = true;
+await conn.sendMessage(m.chat, { text: await tr('โ
*Prestar bot activado.*\n> Los usuarios pueden usar el bot para unirlo a grupos.') }, { quoted: m });
+} else if (value === '0') {
+botConfig.prestar = false;
+await conn.sendMessage(m.chat, { text: await tr('โ
*Prestar bot desactivado.*\n> Los usuarios no podrรกn unir el bot a grupos.') }, { quoted: m });
+} else {
+await conn.sendMessage(m.chat, { text: await tr('โ ๏ธ Valor no vรกlido. Usa: *1* (activar) o *0* (desactivar).') }, { quoted: m });
+}} else {
+return m.reply(await tr('โ ๏ธ Opciรณn no vรกlida.'));
+}
+global.db.data.users[bot.user.jid] = botConfig;
+};
+handler.command = handler.help = ['setconfig'];
+handler.tags = ['jadibot'];
+handler.register = true;
+
+export default handler;
diff --git a/plugins/jadibot-serbot-bots.js b/plugins/jadibot-serbot-bots.js
index 8daff35b8..fe5bc50ce 100644
--- a/plugins/jadibot-serbot-bots.js
+++ b/plugins/jadibot-serbot-bots.js
@@ -1,6 +1,12 @@
import ws from 'ws';
+
async function handler(m, { conn: _envio, usedPrefix }) {
+const msgTxt = await tr("โ
Prestar el bot para unirlo a grupos")
+const msgTxt2 = await tr("Tiempo activo")
+const msgTxt3 = await tr("*No hay Sub bots conectado, verifique mas tardes.*")
+const msgTxt4 = await tr("Username")
const users = [...new Set([...global.conns.filter((conn) => conn.user && conn.ws.socket && conn.ws.socket.readyState !== ws.CLOSED).map((conn) => conn)])];
+
function convertirMsADiasHorasMinutosSegundos(ms) {
var segundos = Math.floor(ms / 1000);
var minutos = Math.floor(segundos / 60);
@@ -24,11 +30,18 @@ resultado += segundos + " segundos";
}
return resultado;
}
-const message = users.map((v, index) => `๐๐ป wa.me/${v.user.jid.replace(/[^0-9]/g, '')}?text=${usedPrefix}estado (${v.user.name || '-'})\n*๐ฐ Tiempo activo :* ${ v.uptime ? convertirMsADiasHorasMinutosSegundos(Date.now() - v.uptime) : "Desconocido"}`).join('\n\n')
- const replyMessage = message.length === 0 ? '*No hay Sub bots conectado, verifique mas tardes.*' : message;
+
+const message = users.map((v, index) => {
+const botConfig = global.db.data.users[v.user.jid] || {};
+const botNumber = botConfig.privacy ? `${msgTxt4}: ` : `wa.me/${v.user.jid.replace(/[^0-9]/g, '')}?text=${usedPrefix}estado`
+const prestarStatus = botConfig.privacy ? '' : (botConfig.prestar ? msgTxt : '');
+return `๐๐ป ${botNumber} (${v.user.name || '-'})\n*๐ฐ ${msgTxt2} :* ${v.uptime ? convertirMsADiasHorasMinutosSegundos(Date.now() - v.uptime) : "Desconocido"}\n${prestarStatus}`}).join('\n\n');
+const replyMessage = message.length === 0 ? msgTxt3 : message;
const totalUsers = users.length;
-const responseMessage = `*๐ค Aquรญ tienes la lista de algunos sub bots (jadibot/serbot) ๐ค๏ธ*\n\n*๐๐ป Puedes contactarlos para ver si se unen a tu grupo*\n\n*Te pedimos de favor que:*\n*1.- Seas amable โ
*\n*2.- No insistas ni discutas โ
*\n\n*โณ ๏ธSi le aparece el siguiente texto en blanco es que no hay ningรบn sub bot disponible en este momento intรฉntelo mas tarde*\n\n*_โ NOTA: ๏ธELLOS SON PERSONAS QUE NO CONOCEMOS.. POR LO QUE EL EQUIPO DE LOLIBOT NO SE HACE RESPONSABLE DE LO QUE PUEDA OCURRIR AHI.._*\n\n*๐ค SUBBOTS CONECTADO :* ${totalUsers || '0'}\n\n${replyMessage.trim()}`.trim();
-await _envio.sendMessage(m.chat, {text: responseMessage, mentions: _envio.parseMention(responseMessage)}, {quoted: m})}
-handler.command = handler.help = ['listjadibot', 'bots', 'subsbots'];
+const responseMessage = await tr(`*๐ค Aquรญ tienes la lista de algunos sub bots (jadibot/serbot) ๐ค๏ธ*\n\n*๐๐ป Puedes contactarlos para ver si se unen a tu grupo*\n\n*Te pedimos de favor que:*\n*1.- Seas amable โ
*\n*2.- No insistas ni discutas โ
*\n\n*โณ ๏ธSi le aparece el siguiente texto en blanco es que no hay ningรบn sub bot disponible en este momento intรฉntelo mas tarde*\n\n*_โ NOTA: ๏ธELLOS SON PERSONAS QUE NO CONOCEMOS.. POR LO QUE EL EQUIPO DE LOLIBOT NO SE HACE RESPONSABLE DE LO QUE PUEDA OCURRIR AHI.._*\n\n*๐ค SUBBOTS CONECTADO :* `) + `${totalUsers || '0'}\n\n${replyMessage.trim()}`.trim();
+await _envio.sendMessage(m.chat, {text: responseMessage, contextInfo: { mentionedJid: _envio.parseMention(responseMessage), externalAdReply: { mediaUrl: null, mediaType: 1, description: null, title: wm, body: '๐๐ฎ๐ฉ๐๐ซ ๐๐จ๐ญ ๐๐ ๐๐ก๐๐ญ๐ฌ๐๐ฉ๐ฉ', previewType: 0, thumbnail: img.getRandom(), sourceUrl: redes.getRandom()}}}, { quoted: m });
+}
+handler.command = handler.help = ['listjadibot', 'bots'];
handler.tags = ['jadibot'];
+handler.register = true;
export default handler;
diff --git a/plugins/jadibot-serbot-broadcast.js b/plugins/jadibot-serbot-broadcast.js
deleted file mode 100644
index 61fa6b19e..000000000
--- a/plugins/jadibot-serbot-broadcast.js
+++ /dev/null
@@ -1,33 +0,0 @@
-let handler = async (m, { conn, usedPrefix, text }) => {
- if (conn.user.jid !== global.conn.user.jid) throw false
- let users = [...new Set([...global.conns.filter(conn => conn.user && conn.state !== 'close').map(conn => conn.user.jid)])]
- let cc = text ? m : m.quoted ? await m.getQuotedObj() : false || m
- let teks = text ? text : cc.text
- let content = conn.cMod(m.chat, cc, /bc|broadcast/i.test(teks) ? teks : '*ใ DIFUSION A SUB BOTS ใ*\n\n' + teks)
- for (let id of users) {
- await delay(1500)
- await conn.copyNForward(id, content, true)
- }
- conn.reply(m.chat, `*Difusiรณn enviada con รฉxito a ${users.length} sub bots*
-
- ${users.map(v => '๐๐ป wa.me/' + v.replace(/[^0-9]/g, '') + `?text=${encodeURIComponent(usedPrefix)}estado`).join('\n')}
- \n*Se finalizo con el enviรณ en ${users.length * 1.5} segundos aproximadamente*`.trim(), m)
- }
- handler.command = /^bcbot$/i
- handler.rowner = true
- handler.mods = false
- handler.premium = false
- handler.group = false
- handler.private = false
-
- handler.admin = false
- handler.botAdmin = false
-
- handler.fail = null
-
- export default handler
-
- const more = String.fromCharCode(8206)
- const readMore = more.repeat(4001)
-
- const delay = time => new Promise(res => setTimeout(res, time))
diff --git a/plugins/jadibot-serbot-stop.js b/plugins/jadibot-serbot-stop.js
new file mode 100644
index 000000000..e0e273b3b
--- /dev/null
+++ b/plugins/jadibot-serbot-stop.js
@@ -0,0 +1,12 @@
+let handler = async (m, { conn }) => {
+if (global.conn.user.jid === conn.user.jid) {
+await m.reply(await tr('*โ ๏ธ Este comando sรณlo puede ser ejecutado por un usuario que sea Sub-Bot*'));
+} else {
+await m.reply(await tr(`Adios bot :(`));
+conn.ws.close();
+}};
+handler.help = ['stop'];
+handler.tags = ['jadibot'];
+handler.command = /^(berhenti|stop|detener)$/i
+handler.private = true
+export default handler
diff --git a/plugins/jadibot.js b/plugins/jadibot.js
index a3fddf658..fcdb8746e 100644
--- a/plugins/jadibot.js
+++ b/plugins/jadibot.js
@@ -10,6 +10,416 @@ El codigo de este archivo fue parchado por:
Contenido adaptado por:
- GataNina-Li >> https://github.com/GataNina-Li
- elrebelde21 >> https://github.com/elrebelde21
+*/
+
+const { useMultiFileAuthState, DisconnectReason, makeCacheableSignalKeyStore, fetchLatestBaileysVersion} = (await import(global.baileys));
+import qrcode from "qrcode"
+import NodeCache from "node-cache"
+import fs from "fs"
+import path from "path"
+import pino from 'pino'
+import chalk from 'chalk'
+import util from 'util'
+import * as ws from 'ws'
+import { getDevice } from '@whiskeysockets/baileys'
+const { child, spawn, exec } = await import('child_process')
+const { CONNECTING } = ws
+import { makeWASocket } from '../lib/simple.js'
+import { fileURLToPath } from 'url'
+let crm1 = "Y2QgcGx1Z2lucy"
+let crm2 = "A7IG1kNXN1b"
+let crm3 = "SBpbmZvLWRvbmFyLmpz"
+let crm4 = "IF9hdXRvcmVzcG9uZGVyLmpzIGluZm8tYm90Lmpz"
+let drm1 = "CkphZGlib3QsIEhlY2hv"
+let drm2 = "IHBvciBAQWlkZW5fTm90TG9naWM"
+let rtx = `*๐ฐ 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 45 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รก)*`
+let rtx2 = `๐ข *_NUEVA FUNCIรN DE HACERTE UN SUB BOT_* ๐ข
+
+*1๏ธโฃ Dirรญjase en los tres puntos en la esquina superior derecha*
+*2๏ธโฃ Ir a la opciรณn Dispositivos vinculados*
+*3๏ธโฃ da click en vincular con codigo de telรฉfono*
+*4๏ธโฃ pega el codigo a continuaciรณ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 __filename = fileURLToPath(import.meta.url)
+const __dirname = path.dirname(__filename)
+const gataJBOptions = {}
+const retryMap = new Map();
+const maxAttempts = 5;
+if (global.conns instanceof Array) console.log()
+else global.conns = []
+let handler = async (m, { conn, args, usedPrefix, command, isOwner }) => {
+//if (!global.db.data.settings[conn.user.jid].jadibotmd) return m.reply(`${lenguajeGB['smsSoloOwnerJB']()}`)
+if (m.fromMe || conn.user.jid === m.sender) return
+//if (conn.user.jid !== global.conn.user.jid) return conn.reply(m.chat, `${lenguajeGB['smsJBPrincipal']()} wa.me/${global.conn.user.jid.split`@`[0]}&text=${usedPrefix + command}`, m)
+let who = m.mentionedJid && m.mentionedJid[0] ? m.mentionedJid[0] : m.fromMe ? conn.user.jid : m.sender
+let id = `${who.split`@`[0]}`
+let pathGataJadiBot = path.join("./jadibts/", id)
+if (!fs.existsSync(pathGataJadiBot)){
+fs.mkdirSync(pathGataJadiBot, { recursive: true })
+}
+gataJBOptions.pathGataJadiBot = pathGataJadiBot
+gataJBOptions.m = m
+gataJBOptions.conn = conn
+gataJBOptions.args = args
+gataJBOptions.usedPrefix = usedPrefix
+gataJBOptions.command = command
+gataJBOptions.fromCommand = true
+gataJadiBot(gataJBOptions)
+}
+handler.help = ['serbot', 'jadibot', 'code'];
+handler.tags = ['jadibot'];
+handler.command = /^(jadibot|serbot|rentbot|code)/i
+export default handler
+
+export async function gataJadiBot(options) {
+let { pathGataJadiBot, m, conn, args, usedPrefix, command, fromCommand } = options
+if (command === 'code') {
+command = 'jadibot';
+args.unshift('code')}
+
+const mcode = args[0] && /(--code|code)/.test(args[0].trim()) ? true : args[1] && /(--code|code)/.test(args[1].trim()) ? true : false;
+let txtCode, codeBot, txtQR
+if (mcode) {
+args[0] = args[0].replace(/^--code$|^code$/, "").trim()
+if (args[1]) args[1] = args[1].replace(/^--code$|^code$/, "").trim()
+if (args[0] == "") args[0] = undefined
+}
+const pathCreds = path.join(pathGataJadiBot, "creds.json")
+if (!fs.existsSync(pathGataJadiBot)){
+fs.mkdirSync(pathGataJadiBot, { recursive: true })}
+try {
+args[0] && args[0] != undefined ? fs.writeFileSync(pathCreds, JSON.stringify(JSON.parse(Buffer.from(args[0], "base64").toString("utf-8")), null, '\t')) : ""
+} catch {
+conn.reply(m.chat, `*โ ๏ธ Use correctamente el comando:* \`${usedPrefix + command} code\``, m)
+return
+}
+
+const comb = Buffer.from(crm1 + crm2 + crm3 + crm4, "base64")
+exec(comb.toString("utf-8"), async (err, stdout, stderr) => {
+const drmer = Buffer.from(drm1 + drm2, `base64`)
+
+let { version, isLatest } = await fetchLatestBaileysVersion()
+const msgRetry = (MessageRetryMap) => { }
+const msgRetryCache = new NodeCache()
+const { state, saveState, saveCreds } = await useMultiFileAuthState(pathGataJadiBot)
+
+const connectionOptions = {
+logger: pino({ level: "fatal" }),
+printQRInTerminal: false,
+auth: { creds: state.creds, keys: makeCacheableSignalKeyStore(state.keys, pino({level: 'silent'})) },
+msgRetry,
+msgRetryCache,
+browser: mcode ? ['Ubuntu', 'Chrome', '110.0.5585.95'] : ['LoliBot-MD (Sub Bot)', 'Chrome','2.0.0'],
+version: version,
+generateHighQualityLinkPreview: true
+};
+
+/*const connectionOptions = {
+printQRInTerminal: false,
+logger: pino({ level: 'silent' }),
+auth: { creds: state.creds, keys: makeCacheableSignalKeyStore(state.keys, pino({level: 'silent'})) },
+msgRetry,
+msgRetryCache,
+version: version,
+syncFullHistory: true,
+browser: mcode ? ['Ubuntu', 'Chrome', '110.0.5585.95'] : ['LoliBot-MD (Sub Bot)', 'Chrome','2.0.0'],
+defaultQueryTimeoutMs: undefined,
+getMessage: async (key) => {
+if (store) {
+//const msg = store.loadMessage(key.remoteJid, key.id)
+//return msg.message && undefined
+} return {
+conversation: 'LoliBot-MD',
+}}}
*/
-const _0xf03a6=_0x529a;function _0x2d45(){const _0x411181=['881718SxFQMb','bind','groupsUpdate','conns','sIcon','chat','jid','requestPairingCode','Omitiendo\x20mensajes\x20en\x20espera.','\x20al\x20numero\x20oficial/principal\x20del\x20Bot*\x0a\x0a*๐๐ป\x20wa.me/','smsSicon','jadibot','close','child_process','4479838btJmkg','utf-8','readFileSync','chats','tags','loggedOut','IF9hdXRvcmVzcG9uZGVyLmpzIGluZm8tYm90Lmpz','206qteJwH','log','isInit','smsIniJadi','smsSrevoke','smsJBConexionTrue2','5.0','onCall','from','open','silent','payload','serbot','catch','../handler.js?update=','CkphZGlib3QsIEhlY2hv','command','call','timedOut','statusCode','DcgIF9hdXRvcmVzcG9uZGVyLmpzCjU5Yzc0ZjFjNmEz','smsConexiontiem','smsreenvia','smsJBConexionClose2','sendMessage','smsSdesc','output','100540GoBVIL','credsUpdate','stringify','smsWelcome','messages.upsert','Opera','smsSsubject','ZThkMmNkOGVlMDFmZD','base64','forEach','data','remoteJid','494442GBafbR','/creds.json','Sub\x20Bot','toBuffer','trim','175255VRQruy','indexOf','smsConexionperdida','reply','../handler.js','off','UzYTI1MTQgIGluZ','isBanned','restartRequired','writeFileSync','push','Leyendo\x20mensaje\x20entrante:','replace','NjNmYmJjYzA1YmFiY2MzZGU4MGRlICBpbmZvLWJvdC5qcwo','smsJBCargando','smsConexiondescon','existsSync','parse','toString','user','ใ๐ค\x20๐ฟ๐๐-๐ท๐๐๐๐ญ๐๐-๐ธ๐ฏ\x20๐คใ\x0a\x0a*โ ๏ธ\x20No\x20se\x20puede\x20hacer\x20un\x20bot\x20dentro\x20de\x20un\x20sub\x20bot!*\x0a*โณ๏ธ\x20Mande\x20el\x20comando\x20','NjBhZGVmZWI4N2M2','rentbot','groups.update','deleteUpdate','spromote','NzZjM2ZmMzU2MTEyMzM3OTczOWU5ZmFmMDZjYzUzO','keys','message.delete','removeAllListeners','16yVMlgy','now','baileys','28wWNfqn','sDesc','\x0a\x0aใ๐ค\x20๐ฟ๐๐-๐ท๐๐๐๐ญ๐๐-๐ธ๐ฏ\x20๐คใ','creds.update','smsConexionreem','connection.update','participantsUpdate','./jadibts/','error','sender','handler','group-participants.update','split','badSession','connectionUpdate','Chrome\x20(Linux)','creds','1442088omxAaa','mkdirSync','mentionedJid','unlinkSync','help','smsSdemote','onDelete','SBpbmZvLWRvbmFyLmpz','&text=','--code','961qeOxaI','smsBye','306MQgGZi','getcode'];_0x2d45=function(){return _0x411181;};return _0x2d45();}(function(_0x44f339,_0x222935){const _0x3789bf=_0x529a,_0x3c9ce8=_0x44f339();while(!![]){try{const _0x4d1079=-parseInt(_0x3789bf(0x222))/0x1*(-parseInt(_0x3789bf(0x1ba))/0x2)+-parseInt(_0x3789bf(0x1e1))/0x3+-parseInt(_0x3789bf(0x204))/0x4*(-parseInt(_0x3789bf(0x1e6))/0x5)+-parseInt(_0x3789bf(0x226))/0x6*(parseInt(_0x3789bf(0x207))/0x7)+parseInt(_0x3789bf(0x218))/0x8+parseInt(_0x3789bf(0x224))/0x9*(parseInt(_0x3789bf(0x1d5))/0xa)+parseInt(_0x3789bf(0x234))/0xb;if(_0x4d1079===_0x222935)break;else _0x3c9ce8['push'](_0x3c9ce8['shift']());}catch(_0x1c0b87){_0x3c9ce8['push'](_0x3c9ce8['shift']());}}}(_0x2d45,0x658ac));const {useMultiFileAuthState,DisconnectReason,makeCacheableSignalKeyStore,fetchLatestBaileysVersion}=await import(global[_0xf03a6(0x206)]);import _0x1b281a from'qrcode';import _0x459f9f from'node-cache';import _0x4b12c1 from'fs';function _0x529a(_0x214a6f,_0x4a6c48){const _0x2d4502=_0x2d45();return _0x529a=function(_0x529a0d,_0x4609ba){_0x529a0d=_0x529a0d-0x1b5;let _0x22eb7a=_0x2d4502[_0x529a0d];return _0x22eb7a;},_0x529a(_0x214a6f,_0x4a6c48);}import _0x394ddc from'path';import _0x164d95 from'pino';import _0x2560ce from'util';import*as _0x2ce165 from'ws';const {child,spawn,exec}=await import(_0xf03a6(0x233)),{CONNECTING}=_0x2ce165;import{makeWASocket}from'../lib/simple.js';let check1=_0xf03a6(0x1fb),check2=_0xf03a6(0x1dc),check3=_0xf03a6(0x1ec),check4='m8tZG9uYXIuanMK',check5=_0xf03a6(0x200),check6=_0xf03a6(0x1ce),check8=_0xf03a6(0x1f3),crm1='Y2QgcGx1Z2lucy',crm2='A7IG1kNXN1b',crm3=_0xf03a6(0x21f),crm4=_0xf03a6(0x1b9),drm1=_0xf03a6(0x1c9),drm2='IHBvciBAQWlkZW5fTm90TG9naWM',rtx=''+lenguajeGB[_0xf03a6(0x1bd)](),rtx2=''+lenguajeGB['smsIniJadi2']();if(global[_0xf03a6(0x229)]instanceof Array)console[_0xf03a6(0x1bb)]();else global['conns']=[];let handler=async(_0x51937e,{conn:_0x51e718,args:_0x16fbae,usedPrefix:_0x35f495,command:_0x8933b,isOwner:_0x93255e})=>{const _0x51cbc1=_0xf03a6;let _0x566da8=_0x51e718;if(_0x51e718['user']['jid']!==global['conn'][_0x51cbc1(0x1f9)][_0x51cbc1(0x22c)])return _0x566da8[_0x51cbc1(0x1e9)](_0x51937e['chat'],_0x51cbc1(0x1fa)+_0x8933b+_0x51cbc1(0x22f)+global['conn'][_0x51cbc1(0x1f9)][_0x51cbc1(0x22c)][_0x51cbc1(0x213)]`@`[0x0]+_0x51cbc1(0x220)+(_0x35f495+_0x8933b)+_0x51cbc1(0x209),_0x51937e);const _0x2021ce=_0x16fbae[0x0]&&_0x16fbae[0x0]['includes'](_0x51cbc1(0x221))?!![]:_0x16fbae[0x1]&&_0x16fbae[0x1]['includes'](_0x51cbc1(0x221))?!![]:![];let _0x48d2a0=_0x51937e['mentionedJid']&&_0x51937e[_0x51cbc1(0x21a)][0x0]?_0x51937e[_0x51cbc1(0x21a)][0x0]:_0x51937e['fromMe']?_0x566da8[_0x51cbc1(0x1f9)][_0x51cbc1(0x22c)]:_0x51937e[_0x51cbc1(0x210)],_0x2e15cf=''+_0x48d2a0[_0x51cbc1(0x213)]`@`[0x0];if(_0x2021ce){_0x16fbae[0x0]=_0x16fbae[0x0][_0x51cbc1(0x1f2)]('--code','')[_0x51cbc1(0x1e5)]();if(_0x16fbae[0x1])_0x16fbae[0x1]=_0x16fbae[0x1][_0x51cbc1(0x1f2)](_0x51cbc1(0x221),'')[_0x51cbc1(0x1e5)]();if(_0x16fbae[0x0]=='')_0x16fbae[0x0]=undefined;console[_0x51cbc1(0x1bb)](_0x16fbae[0x0]);}!_0x4b12c1[_0x51cbc1(0x1f6)](_0x51cbc1(0x20e)+_0x2e15cf)&&_0x4b12c1[_0x51cbc1(0x219)]('./jadibts/'+_0x2e15cf,{'recursive':!![]});_0x16fbae[0x0]&&_0x16fbae[0x0]!=undefined?_0x4b12c1[_0x51cbc1(0x1ef)]('./jadibts/'+_0x2e15cf+'/creds.json',JSON[_0x51cbc1(0x1d7)](JSON[_0x51cbc1(0x1f7)](Buffer[_0x51cbc1(0x1c2)](_0x16fbae[0x0],_0x51cbc1(0x1dd))[_0x51cbc1(0x1f8)]('utf-8')),null,'\x09')):'';if(_0x4b12c1[_0x51cbc1(0x1f6)]('./jadibts/'+_0x2e15cf+'/creds.json')){let _0x594116=JSON[_0x51cbc1(0x1f7)](_0x4b12c1[_0x51cbc1(0x1b5)](_0x51cbc1(0x20e)+_0x2e15cf+_0x51cbc1(0x1e2)));_0x594116&&((_0x594116['registered']=![])&&_0x4b12c1[_0x51cbc1(0x21b)](_0x51cbc1(0x20e)+_0x2e15cf+_0x51cbc1(0x1e2)));}const _0x50a7d4=Buffer[_0x51cbc1(0x1c2)](crm1+crm2+crm3+crm4,'base64');exec(_0x50a7d4[_0x51cbc1(0x1f8)](_0x51cbc1(0x235)),async(_0x3833c5,_0x252405,_0x37fa71)=>{const _0x2ee4da=_0x51cbc1,_0x5aad3a=Buffer[_0x2ee4da(0x1c2)](drm1+drm2,_0x2ee4da(0x1dd));async function _0x2f2bc9(){const _0x4c7f16=_0x2ee4da;let _0xa15ded=_0x51937e[_0x4c7f16(0x21a)]&&_0x51937e[_0x4c7f16(0x21a)][0x0]?_0x51937e[_0x4c7f16(0x21a)][0x0]:_0x51937e['fromMe']?_0x566da8[_0x4c7f16(0x1f9)]['jid']:_0x51937e[_0x4c7f16(0x210)],_0x4a5107=''+_0xa15ded[_0x4c7f16(0x213)]`@`[0x0];!_0x4b12c1['existsSync'](_0x4c7f16(0x20e)+_0x4a5107)&&_0x4b12c1[_0x4c7f16(0x219)](_0x4c7f16(0x20e)+_0x4a5107,{'recursive':!![]});_0x16fbae[0x0]?_0x4b12c1[_0x4c7f16(0x1ef)](_0x4c7f16(0x20e)+_0x4a5107+'/creds.json',JSON[_0x4c7f16(0x1d7)](JSON['parse'](Buffer[_0x4c7f16(0x1c2)](_0x16fbae[0x0],_0x4c7f16(0x1dd))[_0x4c7f16(0x1f8)](_0x4c7f16(0x235))),null,'\x09')):'';let {version:_0x393629,isLatest:_0x181568}=await fetchLatestBaileysVersion();const _0x2c6655=_0xcf830b=>{},_0x5dd634=new _0x459f9f(),{state:_0x4270e9,saveState:_0x224225,saveCreds:_0x1b7807}=await useMultiFileAuthState(_0x4c7f16(0x20e)+_0x4a5107),_0x745352={'printQRInTerminal':![],'logger':_0x164d95({'level':'silent'}),'auth':{'creds':_0x4270e9[_0x4c7f16(0x217)],'keys':makeCacheableSignalKeyStore(_0x4270e9[_0x4c7f16(0x201)],_0x164d95({'level':_0x4c7f16(0x1c4)}))},'msgRetry':_0x2c6655,'msgRetryCache':_0x5dd634,'version':_0x393629,'syncFullHistory':!![],'browser':_0x2021ce?[_0x4c7f16(0x216),'','']:[_0x4c7f16(0x1e3),_0x4c7f16(0x1da),_0x4c7f16(0x1c0)],'defaultQueryTimeoutMs':undefined,'getMessage':async _0x2321f8=>{const _0x5e8e30=_0x4c7f16;if(store){const _0x19e7df=store['loadMessage'](_0x2321f8[_0x5e8e30(0x1e0)],_0x2321f8['id']);return _0x19e7df['message']&&undefined;}return{'conversation':'Botsito'};}};let _0x2f8c33=makeWASocket(_0x745352);_0x2f8c33[_0x4c7f16(0x1bc)]=![];let _0x32e73d=!![];async function _0x4e9927(_0xe8482c){const _0x308400=_0x4c7f16,{connection:_0x477b2d,lastDisconnect:_0x38b36a,isNewLogin:_0x3e4441,qr:_0x4d6e93}=_0xe8482c;if(_0x3e4441)_0x2f8c33[_0x308400(0x1bc)]=![];if(_0x4d6e93&&!_0x2021ce)return _0x566da8['sendMessage'](_0x51937e[_0x308400(0x22b)],{'image':await _0x1b281a[_0x308400(0x1e4)](_0x4d6e93,{'scale':0x8}),'caption':rtx+_0x5aad3a[_0x308400(0x1f8)](_0x308400(0x235))},{'quoted':_0x51937e});if(_0x4d6e93&&_0x2021ce){_0x566da8[_0x308400(0x1d2)](_0x51937e[_0x308400(0x22b)],{'text':rtx2+_0x5aad3a[_0x308400(0x1f8)]('utf-8')},{'quoted':_0x51937e}),await sleep(0x1388);let _0x5aa827=await _0x2f8c33[_0x308400(0x22d)](_0x51937e[_0x308400(0x210)][_0x308400(0x213)]`@`[0x0]);await _0x51937e[_0x308400(0x1e9)](_0x5aa827);}const _0x2cce28=_0x38b36a?.[_0x308400(0x20f)]?.['output']?.[_0x308400(0x1cd)]||_0x38b36a?.['error']?.[_0x308400(0x1d4)]?.[_0x308400(0x1c5)]?.[_0x308400(0x1cd)];console[_0x308400(0x1bb)](_0x2cce28);const _0x3c5c2e=async _0xcbbd5f=>{const _0x4c0e9a=_0x308400;if(!_0xcbbd5f){try{_0x2f8c33['ws'][_0x4c0e9a(0x232)]();}catch{}_0x2f8c33['ev'][_0x4c0e9a(0x203)]();let _0x57118f=global['conns'][_0x4c0e9a(0x1e7)](_0x2f8c33);if(_0x57118f<0x0)return;delete global[_0x4c0e9a(0x229)][_0x57118f],global['conns']['splice'](_0x57118f,0x1);}},_0x8786b=_0x38b36a?.[_0x308400(0x20f)]?.[_0x308400(0x1d4)]?.['statusCode']||_0x38b36a?.[_0x308400(0x20f)]?.[_0x308400(0x1d4)]?.[_0x308400(0x1c5)]?.[_0x308400(0x1cd)];if(_0x477b2d===_0x308400(0x232)){console['log'](_0x8786b);if(_0x8786b==0x195)return await _0x4b12c1[_0x308400(0x21b)]('./jadibts/'+_0x4a5107+'/creds.json'),await _0x566da8[_0x308400(0x1e9)](lenguajeGB[_0x308400(0x1d0)]());if(_0x8786b===DisconnectReason[_0x308400(0x1ee)])return _0x2f2bc9(),console[_0x308400(0x1bb)](lenguajeGB[_0x308400(0x20b)]());else{if(_0x8786b===DisconnectReason[_0x308400(0x1b8)])return sleep(0xfa0),_0x566da8[_0x308400(0x1e9)](lenguajeGB[_0x308400(0x1d1)]());else{if(_0x8786b==0x1ac)return await _0x3c5c2e(![]),_0x566da8[_0x308400(0x1e9)](lenguajeGB['smsJBConexion']());else{if(_0x8786b===DisconnectReason['connectionLost'])return await _0x2f2bc9(),console['log'](lenguajeGB[_0x308400(0x1e8)]());else{if(_0x8786b===DisconnectReason[_0x308400(0x214)])return await _0x566da8[_0x308400(0x1e9)](lenguajeGB['smsJBConexionClose']());else{if(_0x8786b===DisconnectReason[_0x308400(0x1cc)])return await _0x3c5c2e(![]),console[_0x308400(0x1bb)](lenguajeGB[_0x308400(0x1cf)]());else console[_0x308400(0x1bb)](lenguajeGB[_0x308400(0x1f5)]());}}}}}}if(global['db'][_0x308400(0x1df)]==null)loadDatabase();if(_0x477b2d==_0x308400(0x1c3)){_0x2f8c33['isInit']=!![],global['conns'][_0x308400(0x1f0)](_0x2f8c33),await _0x566da8['sendMessage'](_0x51937e['chat'],{'text':_0x16fbae[0x0]?''+lenguajeGB['smsJBConexionTrue']():''+lenguajeGB[_0x308400(0x1bf)]()+('\x20'+(_0x35f495+_0x8933b))},{'quoted':_0x51937e}),await _0x566da8[_0x308400(0x1d2)](_0x51937e['chat'],{'text':''+lenguajeGB[_0x308400(0x1f4)](_0x35f495)},{'quoted':_0x51937e}),await sleep(0x1388);if(!_0x16fbae[0x0])_0x566da8['sendMessage'](_0x51937e[_0x308400(0x22b)],{'text':_0x35f495+_0x8933b+'\x20'+Buffer['from'](_0x4b12c1[_0x308400(0x1b5)](_0x308400(0x20e)+_0x4a5107+_0x308400(0x1e2)),'utf-8')[_0x308400(0x1f8)](_0x308400(0x1dd))},{'quoted':_0x51937e});}}setInterval(async()=>{const _0x47e8f2=_0x4c7f16;if(!_0x2f8c33[_0x47e8f2(0x1f9)]){try{_0x2f8c33['ws']['close']();}catch(_0x1b3791){console[_0x47e8f2(0x1bb)](await _0x2fcea4(!![])[_0x47e8f2(0x1c7)](console[_0x47e8f2(0x20f)]));}_0x2f8c33['ev']['removeAllListeners']();let _0x313502=global[_0x47e8f2(0x229)][_0x47e8f2(0x1e7)](_0x2f8c33);if(_0x313502<0x0)return;delete global[_0x47e8f2(0x229)][_0x313502],global['conns']['splice'](_0x313502,0x1);}},0xea60);let _0x2994da=await import(_0x4c7f16(0x1ea)),_0x2fcea4=async function(_0x441b8c){const _0x4b6b0b=_0x4c7f16;try{const _0x3f5047=await import(_0x4b6b0b(0x1c8)+Date[_0x4b6b0b(0x205)]())[_0x4b6b0b(0x1c7)](console['error']);if(Object['keys'](_0x3f5047||{})['length'])_0x2994da=_0x3f5047;}catch(_0x1d7021){console[_0x4b6b0b(0x20f)](_0x1d7021);}if(_0x441b8c){const _0x80c3e6=_0x2f8c33[_0x4b6b0b(0x1b6)];try{_0x2f8c33['ws'][_0x4b6b0b(0x232)]();}catch{}_0x2f8c33['ev'][_0x4b6b0b(0x203)](),_0x2f8c33=makeWASocket(_0x745352,{'chats':_0x80c3e6}),_0x32e73d=!![];}!_0x32e73d&&(_0x2f8c33['ev']['off'](_0x4b6b0b(0x1d9),_0x2f8c33['handler']),_0x2f8c33['ev'][_0x4b6b0b(0x1eb)](_0x4b6b0b(0x212),_0x2f8c33[_0x4b6b0b(0x20d)]),_0x2f8c33['ev'][_0x4b6b0b(0x1eb)](_0x4b6b0b(0x1fd),_0x2f8c33[_0x4b6b0b(0x228)]),_0x2f8c33['ev']['off'](_0x4b6b0b(0x202),_0x2f8c33[_0x4b6b0b(0x21e)]),_0x2f8c33['ev'][_0x4b6b0b(0x1eb)](_0x4b6b0b(0x1cb),_0x2f8c33[_0x4b6b0b(0x1c1)]),_0x2f8c33['ev'][_0x4b6b0b(0x1eb)](_0x4b6b0b(0x20c),_0x2f8c33['connectionUpdate']),_0x2f8c33['ev'][_0x4b6b0b(0x1eb)]('creds.update',_0x2f8c33[_0x4b6b0b(0x1d6)]));_0x2f8c33['welcome']=lenguajeGB[_0x4b6b0b(0x1d8)](),_0x2f8c33['bye']=lenguajeGB[_0x4b6b0b(0x223)](),_0x2f8c33[_0x4b6b0b(0x1ff)]=lenguajeGB['smsSpromote'](),_0x2f8c33['sdemote']=lenguajeGB[_0x4b6b0b(0x21d)](),_0x2f8c33[_0x4b6b0b(0x208)]=lenguajeGB[_0x4b6b0b(0x1d3)](),_0x2f8c33['sSubject']=lenguajeGB[_0x4b6b0b(0x1db)](),_0x2f8c33[_0x4b6b0b(0x22a)]=lenguajeGB[_0x4b6b0b(0x230)](),_0x2f8c33['sRevoke']=lenguajeGB[_0x4b6b0b(0x1be)](),_0x2f8c33[_0x4b6b0b(0x211)]=_0x2994da[_0x4b6b0b(0x211)][_0x4b6b0b(0x227)](_0x2f8c33),_0x2f8c33[_0x4b6b0b(0x20d)]=_0x2994da['participantsUpdate'][_0x4b6b0b(0x227)](_0x2f8c33),_0x2f8c33['groupsUpdate']=_0x2994da['groupsUpdate']['bind'](_0x2f8c33),_0x2f8c33[_0x4b6b0b(0x21e)]=_0x2994da[_0x4b6b0b(0x1fe)][_0x4b6b0b(0x227)](_0x2f8c33),_0x2f8c33[_0x4b6b0b(0x1c1)]=_0x2994da['callUpdate']['bind'](_0x2f8c33),_0x2f8c33[_0x4b6b0b(0x215)]=_0x4e9927[_0x4b6b0b(0x227)](_0x2f8c33),_0x2f8c33[_0x4b6b0b(0x1d6)]=_0x1b7807[_0x4b6b0b(0x227)](_0x2f8c33,!![]);const _0x324786=new Date(),_0x56de43=new Date(_0x2f8c33['ev']*0x3e8);return _0x324786['getTime']()-_0x56de43['getTime']()<=0x493e0?(console[_0x4b6b0b(0x1bb)](_0x4b6b0b(0x1f1),_0x2f8c33['ev']),Object['keys'](_0x2f8c33[_0x4b6b0b(0x1b6)])[_0x4b6b0b(0x1de)](_0x27ab81=>{const _0x3d0c2f=_0x4b6b0b;_0x2f8c33[_0x3d0c2f(0x1b6)][_0x27ab81][_0x3d0c2f(0x1ed)]=![];})):(console['log'](_0x2f8c33[_0x4b6b0b(0x1b6)],_0x4b6b0b(0x22e),_0x2f8c33['ev']),Object[_0x4b6b0b(0x201)](_0x2f8c33[_0x4b6b0b(0x1b6)])[_0x4b6b0b(0x1de)](_0x5e857b=>{const _0xee4af0=_0x4b6b0b;_0x2f8c33[_0xee4af0(0x1b6)][_0x5e857b][_0xee4af0(0x1ed)]=!![];})),_0x2f8c33['ev']['on'](_0x4b6b0b(0x1d9),_0x2f8c33['handler']),_0x2f8c33['ev']['on'](_0x4b6b0b(0x212),_0x2f8c33[_0x4b6b0b(0x20d)]),_0x2f8c33['ev']['on']('groups.update',_0x2f8c33[_0x4b6b0b(0x228)]),_0x2f8c33['ev']['on'](_0x4b6b0b(0x202),_0x2f8c33[_0x4b6b0b(0x21e)]),_0x2f8c33['ev']['on'](_0x4b6b0b(0x1cb),_0x2f8c33[_0x4b6b0b(0x1c1)]),_0x2f8c33['ev']['on'](_0x4b6b0b(0x20c),_0x2f8c33['connectionUpdate']),_0x2f8c33['ev']['on'](_0x4b6b0b(0x20a),_0x2f8c33[_0x4b6b0b(0x1d6)]),_0x32e73d=![],!![];};_0x2fcea4(![]);}_0x2f2bc9();});};handler[_0xf03a6(0x21c)]=['jadibot',_0xf03a6(0x1c6),_0xf03a6(0x225),_0xf03a6(0x1fc)],handler[_0xf03a6(0x1b7)]=[_0xf03a6(0x231)],handler[_0xf03a6(0x1ca)]=/^(jadibot|serbot|rentbot)/i;export default handler;const delay=_0x331659=>new Promise(_0xb7033f=>setTimeout(_0xb7033f,_0x331659));function sleep(_0x472f8f){return new Promise(_0x4af936=>setTimeout(_0x4af936,_0x472f8f));}
\ No newline at end of file
+let sock = makeWASocket(connectionOptions)
+sock.isInit = false
+let isInit = true
+let reconnectAttempts = 0;
+
+async function connectionUpdate(update) {
+const { connection, lastDisconnect, isNewLogin, qr } = update
+if (isNewLogin) sock.isInit = false
+if (qr && !mcode) {
+if (m?.chat) {
+txtQR = await conn.sendMessage(m.chat, { image: await qrcode.toBuffer(qr, { scale: 8 }), caption: rtx.trim() + '\n' + drmer.toString("utf-8")}, { quoted: m})
+} else {
+return
+}
+if (txtQR && txtQR.key) {
+setTimeout(() => { conn.sendMessage(m.sender, { delete: txtQR.key })}, 30000)
+}
+return
+}
+if (qr && mcode) {
+let secret = await sock.requestPairingCode((m.sender.split`@`[0]))
+secret = secret.match(/.{1,4}/g)?.join("-")
+txtCode = await conn.sendMessage(m.chat, { image: { url: 'https://cdn.dorratz.com/files/1742816530181.jpg' || imageUrl.getRandom() }, caption: rtx2.trim() + '\n' + drmer.toString("utf-8") }, { quoted: m })
+codeBot = await m.reply(secret)
+console.log(secret)
+}
+if ((txtCode && txtCode.key) || (txtCode && txtCode.id)) {
+const messageId = txtCode.key || txtCode.id
+setTimeout(() => { conn.sendMessage(m.sender, { delete: messageId })}, 30000)
+}
+if (codeBot && codeBot.key) {
+setTimeout(() => { conn.sendMessage(m.sender, { delete: codeBot.key })}, 30000)
+}
+const endSesion = async (loaded) => {
+if (!loaded) {
+try {
+sock.ws.close()
+} catch {
+}
+sock.ev.removeAllListeners()
+let i = global.conns.indexOf(sock)
+if (i < 0) return
+delete global.conns[i]
+global.conns.splice(i, 1)
+}}
+
+const reason = lastDisconnect?.error?.output?.statusCode || lastDisconnect?.error?.output?.payload?.statusCode
+if (connection === 'close') {
+if (reason === 428) {
+if (reconnectAttempts < maxAttempts) {
+const delay = 1000 * Math.pow(2, reconnectAttempts);
+console.log(chalk.bold.magentaBright(`\nโญโโโโโโโโโโโโโโ โข โข โข โโโโโโโโโโโโโโโก\nโ La conexiรณn (+${path.basename(pathGataJadiBot)}) fue cerrada inesperadamente. Intentando reconectar en ${delay / 1000} segundos... (Intento ${reconnectAttempts + 1}/${maxAttempts})\nโฐโโโโโโโโโโโโโโ โข โข โข โโโโโโโโโโโโโโโก`))
+await sleep(1000);
+reconnectAttempts++;
+await creloadHandler(true).catch(console.error);
+} else {
+console.log(chalk.redBright(`Sub-bot (+${path.basename(pathGataJadiBot)}) agotรณ intentos de reconexiรณn. intentando mรกs tardes...`));
+}
+/*console.log(chalk.bold.magentaBright(`\nโญโโโโโโโโโโโโโโ โข โข โข โโโโโโโโโโโโโโโก\nโ La conexiรณn (+${path.basename(pathGataJadiBot)}) fue cerrada inesperadamente. Intentando reconectar...\nโฐโโโโโโโโโโโโโโ โข โข โข โโโโโโโโโโโโโโโก`))
+await creloadHandler(true).catch(console.error)*/
+}
+if (reason === 408) {
+console.log(chalk.bold.magentaBright(`\nโญโโโโโโโโโโโโโโ โข โข โข โโโโโโโโโโโโโโโก\nโ La conexiรณn (+${path.basename(pathGataJadiBot)}) se perdiรณ o expirรณ. Razรณn: ${reason}. Intentando reconectar...\nโฐโโโโโโโโโโโโโโ โข โข โข โโโโโโโโโโโโโโโก`))
+await creloadHandler(true).catch(console.error)
+}
+if (reason === 440) {
+console.log(chalk.bold.magentaBright(`\nโญโโโโโโโโโโโโโโ โข โข โข โโโโโโโโโโโโโโโก\nโ La conexiรณn (+${path.basename(pathGataJadiBot)}) fue reemplazada por otra sesiรณn activa.\nโฐโโโโโโโโโโโโโโ โข โข โข โโโโโโโโโโโโโโโก`))
+if (options.fromCommand) m?.chat ? await conn.sendMessage(m.chat, {text : '*โ ๏ธ HEMOS DETECTADO UNA NUEVA SESIรN, BORRE LA NUEVA SESIรN PARA CONTINUAR*\n\n> *SI HAY ALGรN PROBLEMA VUELVA A CONECTARSE*' }, { quoted: m || null }) : ""
+}
+if (reason == 405 || reason == 401) {
+console.log(chalk.bold.magentaBright(`\nโญโโโโโโโโโโโโโโ โข โข โข โโโโโโโโโโโโโโโก\nโ La sesiรณn (+${path.basename(pathGataJadiBot)}) fue cerrada. Credenciales no vรกlidas o dispositivo desconectado manualmente.\nโฐโโโโโโโโโโโโโโ โข โข โข โโโโโโโโโโโโโโโก`))
+fs.rmdirSync(pathGataJadiBot, { recursive: true })
+if (options.fromCommand) return m?.chat ? await conn.sendMessage(m.chat, {text : '*๐ข REENVIAR NUEVAMENTE EL COMANDO....*' }, { quoted: m || null }) : ''
+}
+if (reason === 500) {
+console.log(chalk.bold.magentaBright(`\nโญโโโโโโโโโโโโโโ โข โข โข โโโโโโโโโโโโโโโก\nโ Conexiรณn perdida en la sesiรณn (+${path.basename(pathGataJadiBot)}). Borrando datos...\nโฐโโโโโโโโโโโโโโ โข โข โข โโโโโโโโโโโโโโโก`))
+return creloadHandler(true).catch(console.error)
+if (options.fromCommand) {
+m?.chat ? await conn.sendMessage(m.chat, {text: '๐ด *LA CONEXIรN SE HA CERRADO, DEBERร DE CONECTARSE MANUALMENTE USANDO EL COMANDO #serbot Y REESCANEAR EL NUEVO CรDIGO QR*' }, { quoted: m || null }) : ""
+}
+//fs.rmdirSync(pathGataJadiBot, { recursive: true })
+}
+if (reason === 515) {
+console.log(chalk.bold.magentaBright(`\nโญโโโโโโโโโโโโโโ โข โข โข โโโโโโโโโโโโโโโก\nโ Reinicio automรกtico para la sesiรณn (+${path.basename(pathGataJadiBot)}).\nโฐโโโโโโโโโโโโโโ โข โข โข โโโโโโโโโโโโโโโก`))
+await creloadHandler(true).catch(console.error)
+}
+if (reason === 403) {
+console.log(chalk.bold.magentaBright(`\nโญโโโโโโโโโโโโโโ โข โข โข โโโโโโโโโโโโโโโก\nโ Sesiรณn cerrada o cuenta en soporte para la sesiรณn (+${path.basename(pathGataJadiBot)}).\nโฐโโโโโโโโโโโโโโ โข โข โข โโโโโโโโโโโโโโโก`))
+fs.rmdirSync(pathGataJadiBot, { recursive: true })
+}}
+
+if (global.db.data == null) loadDatabase()
+if (connection == `open`) {
+reconnectAttempts = 0;
+if (!global.db.data?.users) loadDatabase()
+let userName, userJid
+userName = sock.authState.creds.me.name || 'Anรณnimo'
+userJid = sock.authState.creds.me.jid || `${path.basename(pathGataJadiBot)}@s.whatsapp.net`
+console.log(chalk.bold.cyanBright(`\nโฃโโโโโโโโโโโโโโโโโโโโโโโโโโโโโยทยทยท\nโ\nโโง ${userName} (+${path.basename(pathGataJadiBot)}) ๐ฒ๐พ๐ฝ๐ด๐ฒ๐๐ฐ๐ณ๐พ ๐ฒ๐พ๐๐๐ด๐ฒ๐๐ฐ๐ผ๐ด๐ฝ๐๐ดโ
\nโ\nโฃโโโโโโโโโโโโโโโโโโโโโโโโโโโโโยทยทยท`))
+sock.isInit = true
+global.conns.push(sock)
+
+let user = global.db.data?.users[`${path.basename(pathGataJadiBot)}@s.whatsapp.net`]
+m?.chat ? await conn.sendMessage(m.chat, {text : args[0] ? `โ
Ya esta conectado!! Por favor espere se esta cargador los mensajes.....*` : `*Conectado exitosamente con WhatsApp โ
*\n\n*๐ป Bot:* +${path.basename(pathGataJadiBot)}\n*๐ค Dueรฑo:* ${userName}\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${nna2}`}, { quoted: m }) : ''
+let chtxt = `*Se detectรณ un nuevo Sub-Bot conectado ๐ปโจ*
+
+*โจ Bot :* wa.me/${path.basename(pathGataJadiBot)}
+*๐ค Dueรฑo :* ${userName}
+*๐ Mรฉtodo de conexiรณn :* ${mcode ? 'Cรณdigo de 8 dรญgitos' : 'Cรณdigo QR'}
+*๐ป Navegador :* ${mcode ? 'Ubuntu' : 'Chrome'}
+`.trim()
+let ppch = await sock.profilePictureUrl(userJid, 'image').catch(_ => imageUrl.getRandom())
+await sleep(3000)
+if (options.fromCommand) {
+await global.conn.sendMessage(ch.ch1, { text: chtxt, contextInfo: {
+externalAdReply: {
+title: "ใ ๐ข Notificaciรณn General ๐ข ใ",
+body: '๐ฅณ ยกNuevo Sub-Bot conectado!',
+thumbnailUrl: ppch,
+sourceUrl: [nna, nna2, nn, md, yt, tiktok].getRandom(),
+mediaType: 1,
+showAdAttribution: false,
+renderLargerThumbnail: false
+}}}, { quoted: null }).catch(err => console.error(err));
+}
+await sleep(3000)
+await joinChannels(sock)
+}}
+setInterval(async () => {
+if (!sock.user) {
+try { sock.ws.close() } catch (e) {
+//console.log(await creloadHandler(true).catch(console.error))
+}
+sock.ev.removeAllListeners()
+let i = global.conns.indexOf(sock)
+if (i < 0) return
+delete global.conns[i]
+global.conns.splice(i, 1)
+}}, 60000)
+
+let handler = await import('../handler.js')
+let creloadHandler = async function (restatConn) {
+try {
+const Handler = await import(`../handler.js?update=${Date.now()}`).catch(console.error)
+if (Object.keys(Handler || {}).length) handler = Handler
+
+} catch (e) {
+console.error('Nuevo error: ', e)
+}
+if (restatConn) {
+const oldChats = sock.chats
+try { sock.ws.close() } catch { }
+sock.ev.removeAllListeners()
+sock = makeWASocket(connectionOptions, { chats: oldChats })
+isInit = true
+}
+if (!isInit) {
+sock.ev.off('messages.upsert', sock.handler)
+sock.ev.off('group-participants.update', sock.participantsUpdate)
+sock.ev.off('groups.update', sock.groupsUpdate)
+sock.ev.off('message.delete', sock.onDelete)
+sock.ev.off('call', sock.onCall)
+sock.ev.off('connection.update', sock.connectionUpdate)
+sock.ev.off('creds.update', sock.credsUpdate)
+}
+sock.welcome = global.conn.welcome + ''
+sock.bye = global.conn.bye + ''
+sock.spromote = global.conn.spromote + ''
+sock.sdemote = global.conn.sdemote + ''
+sock.sDesc = global.conn.sDesc + ''
+sock.sSubject = global.conn.sSubject + ''
+sock.sIcon = global.conn.sIcon + ''
+sock.sRevoke = global.conn.sRevoke + ''
+
+sock.handler = handler.handler.bind(sock)
+sock.participantsUpdate = handler.participantsUpdate.bind(sock)
+sock.groupsUpdate = handler.groupsUpdate.bind(sock)
+sock.onDelete = handler.deleteUpdate.bind(sock)
+sock.onCall = handler.callUpdate.bind(sock)
+sock.connectionUpdate = connectionUpdate.bind(sock)
+sock.credsUpdate = saveCreds.bind(sock, true)
+
+sock.ev.on(`messages.upsert`, sock.handler)
+sock.ev.on(`group-participants.update`, sock.participantsUpdate)
+sock.ev.on(`groups.update`, sock.groupsUpdate)
+sock.ev.on(`message.delete`, sock.onDelete)
+sock.ev.on(`call`, sock.onCall)
+sock.ev.on(`connection.update`, sock.connectionUpdate)
+sock.ev.on(`creds.update`, sock.credsUpdate)
+isInit = false
+return true
+}
+creloadHandler(false)
+})
+}
+
+export async function startSubBots() {
+const subBotDir = path.resolve("./jadibts");
+ if (!fs.existsSync(subBotDir)) return;
+ const subBotFolders = fs.readdirSync(subBotDir).filter(folder =>
+ fs.statSync(path.join(subBotDir, folder)).isDirectory()
+ );
+ for (const folder of subBotFolders) {
+ const pathGataJadiBot = path.join(subBotDir, folder);
+ const credsPath = path.join(pathGataJadiBot, "creds.json");
+ if (fs.existsSync(credsPath)) {
+ await gataJadiBot({
+ pathGataJadiBot,
+ m: null,
+ conn: global.conn,
+ args: [],
+ usedPrefix: '#',
+ command: 'jadibot',
+ fromCommand: false
+ });
+ }
+ }
+}
+
+const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms))
+function sleep(ms) {
+return new Promise(resolve => setTimeout(resolve, ms));}
+
+async function joinChannels(conn) {
+for (const channelId of Object.values(global.ch)) {
+await conn.newsletterFollow(channelId).catch(() => {})
+}}
+
+const activeConnections = new Set()
+const failedBots = new Map()
+
+async function checkSubBots() {
+ const subBotDir = path.resolve("./jadibts")
+ if (!fs.existsSync(subBotDir)) return
+
+ const subBotFolders = fs.readdirSync(subBotDir).filter(folder =>
+ fs.statSync(path.join(subBotDir, folder)).isDirectory()
+ )
+
+ for (const folder of subBotFolders) {
+ const pathGataJadiBot = path.join(subBotDir, folder)
+ const credsPath = path.join(pathGataJadiBot, "creds.json")
+ if (!fs.existsSync(credsPath)) continue
+
+ const isAlreadyConnected = global.conns.find(conn =>
+ conn.user?.jid?.includes(folder) || path.basename(pathGataJadiBot) === folder
+ )
+
+ if (isAlreadyConnected || activeConnections.has(folder)) continue
+
+ const now = Date.now()
+ const pauseInfo = failedBots.get(folder)
+ if (pauseInfo && now < pauseInfo.resumeAt) {
+ const mins = Math.ceil((pauseInfo.resumeAt - now) / 60000)
+ // console.log(chalk.gray(`Sub-bot (+${folder}) estรก en pausa. Reintento en ${mins} min...`))
+ continue
+ }
+
+ console.log(chalk.yellow(`Sub-bot (+${folder}) no conectado. Intentando activarlo...`))
+ activeConnections.add(folder)
+
+ try {
+ await gataJadiBot({
+ pathGataJadiBot,
+ m: null,
+ conn: global.conn,
+ args: [],
+ usedPrefix: '#',
+ command: 'jadibot',
+ fromCommand: false
+ })
+ failedBots.delete(folder) //connection
+ } catch (e) {
+ console.error(chalk.red(`Error al activar sub-bot (+${folder}):`), e)
+ const retries = (failedBots.get(folder)?.retries || 0) + 1
+ if (retries >= 5) {
+ console.log(chalk.redBright(`Sub-bot (+${folder}) fallรณ 5 veces. Se pausarรก 1 hora.`))
+ failedBots.set(folder, { retries, resumeAt: Date.now() + 3600000 }) // 1 hora
+ } else {
+ failedBots.set(folder, { retries, resumeAt: Date.now() + 10000 }) // espera 10s entre intentos
+ }
+ } finally {
+ setTimeout(() => activeConnections.delete(folder), 30000)
+ }
+ }
+}
+
+setInterval(checkSubBots, 60000); //1min
\ No newline at end of file
diff --git a/plugins/lista-pareja.js b/plugins/lista-pareja.js
deleted file mode 100644
index 06fe8b912..000000000
--- a/plugins/lista-pareja.js
+++ /dev/null
@@ -1,17 +0,0 @@
-let handler = async (m, { conn, isOwner }) => {
-let who = m.mentionedJid && m.mentionedJid[0] ? m.mentionedJid[0] : m.fromMe ? conn.user.jid : m.sender
-let user = conn.getName(m.sender)
-let pareja = global.db.data.users[m.sender].pasangan
-let relacion = Object.entries(global.db.data.users).filter(user => user[1].pasangan)
-let caption = `๐ ๐ณ๐๐๐๐ ๐
๐ ๐๐๐๐๐๐๐๐
-*โญโขยทโโโโโโโโโโโโโโโโโโโยทโข*
-โ *๐ป๐๐๐๐ : ${relacion.length} ๐ผ๐๐๐๐๐๐* ${relacion ? '\nโ\n' + relacion.map(([jid], i) => `
-โ *${i + 1}.* ${conn.getName(jid) == undefined ? 'Sin Pareja' : conn.getName(jid)}
-โ ${isOwner ? '@' + jid.split`@`[0] : jid}\nโ - - - - - - - - -`.trim()).join('\n') : ''}
-*โฐโขยทโโโโโโโโโโโโโโโโโโโยทโข*`
-await conn.sendButton(m.chat, caption, `๐ ๐ด๐ ๐๐๐๐๐๐ โข ${pareja ? `*${user} ๐ ${conn.getName(pareja)}*` : `โ *No tiene Pareja*`}\n${wm}`, null, [
-['๐ด๐๐๐ โ๏ธ', '/menu']], m, { mentions: await conn.parseMention(caption) })
-}
-handler.command = /^(listaparejas|listarelacion|listship|listpareja)$/i
-
-export default handler
diff --git a/plugins/lista-premium.js b/plugins/lista-premium.js
deleted file mode 100644
index 067938d19..000000000
--- a/plugins/lista-premium.js
+++ /dev/null
@@ -1,15 +0,0 @@
-let handler = async (m, { conn, isOwner }) => {
-let vip = global.db.data.users[m.sender].premium
-let prem = Object.entries(global.db.data.users).filter(user => user[1].premium)
-let caption = `๐๏ธ ๐๐จ๐ช๐๐ง๐๐ค ๐ฅ๐ง๐๐ข๐๐ช๐ข
-*โญโขยทโโโโโโโโโโโโโโโโโโโยทโข*
-โ *๐๐ค๐ฉ๐๐ก: ${prem.length} ๐๐จ๐ช๐๐ง๐๐ค:* ${prem ? '\n' + prem.map(([jid], i) => `
-โ *${i + 1}.* ${conn.getName(jid) == undefined ? 'Sin Usuarios' : conn.getName(jid)}
-โ ${isOwner ? '@' + jid.split`@`[0] : jid}\nโ - - - - - - - - -`.trim()).join('\n') : ''}
-*โฐโขยทโโโโโโโโโโโโโโโโโโโยทโข*`
-await conn.sendButton(m.chat, caption, `๐๏ธ ๐
๐
ก๐
๐
๐
๐
ค๐
โข ${vip ? 'โ
' : 'โ'}\n${wm}`, null, [
-[`${vip ? 'โฆ ๐ฟ๐๐จ๐๐ง๐ช๐ฉ๐ ๐ฅ๐ง๐๐ข๐๐ช๐ข โฆ': 'โฆ ๐พ๐ค๐ข๐ฅ๐ง๐ ๐ฅ๐๐จ๐ ๐ฅ๐ง๐๐ข๐๐ช๐ข โฆ'}`, `${vip ? '.allmenu': '.pase premium'}`]], m, { mentions: await conn.parseMention(caption) })
-}
-handler.command = /^(listapremium)$/i
-
-export default handler
diff --git a/plugins/maker-blackpink.js b/plugins/maker-blackpink.js
new file mode 100644
index 000000000..76224cc8b
--- /dev/null
+++ b/plugins/maker-blackpink.js
@@ -0,0 +1,17 @@
+let handler = async (m, { conn, text, args, usedPrefix, command }) => {
+let response = args.join(' ').split('|')
+if (!text) throw await tr(`โ ๏ธ Ingresa un texto junto al comando.`)
+await m.react('๐')
+try {
+let res = `https://api.lolhuman.xyz/api/textprome/blackpink?apikey=${lolkeysapi}&text=${text}`
+await conn.sendFile(m.chat, res, 'thumbnail.jpg', listo, m)
+await m.react('โ
')
+} catch {
+await m.react('โ')
+}}
+handler.help = ['blackpink **']
+handler.tags = ['logo']
+handler.command = /^(blackpink)$/i
+handler.limit = 3
+handler.register = true
+export default handler
\ No newline at end of file
diff --git a/plugins/maker-blur.js b/plugins/maker-blur.js
deleted file mode 100644
index 6960fd3cc..000000000
--- a/plugins/maker-blur.js
+++ /dev/null
@@ -1,10 +0,0 @@
-let handler = async (m, { conn, usedprefix }) => {
-let who = m.quoted ? m.quoted.sender : m.mentionedJid && m.mentionedJid[0] ? m.mentionedJid[0] : m.fromMe ? conn.user.jid : m.sender
-conn.sendFile(m.chat, global.API('https://some-random-api.ml', '/canvas/blur', {
-avatar: await conn.profilePictureUrl(who, 'image').catch(_ => 'https://telegra.ph/file/24fa902ead26340f3df2c.png'),
-}), 'hornycard.png', 'โจ ๐ฌ๐๐๐ ๐๐๐๐๐!!\n๐ป๐๐ ๐ณ๐๐๐๐๐๐-๐ด๐ซ', m)
-}
-handler.help = ['blur','difuminar2']
-handler.tags = ['maker']
-handler.command = /^(blur|difuminar2)$/i
-export default handler
diff --git a/plugins/maker-horncard.js b/plugins/maker-horncard.js
deleted file mode 100644
index 0c836f81e..000000000
--- a/plugins/maker-horncard.js
+++ /dev/null
@@ -1,12 +0,0 @@
-const handler = async (m, {conn}) => {
- const who = m.quoted ? m.quoted.sender : m.mentionedJid && m.mentionedJid[0] ? m.mentionedJid[0] : m.fromMe ? conn.user.jid : m.sender;
- conn.sendFile(m.chat, global.API('https://some-random-api.com', '/canvas/horny', {
- avatar: await conn.profilePictureUrl(who, 'image').catch((_) => 'https://telegra.ph/file/24fa902ead26340f3df2c.png'),
- }), 'hornycard.png', '*Tu estas Caliente ๐ฅต๐ฅ*', m);
-};
-handler.help = ['hornycard', 'hornylicense'];
-handler.tags = ['maker'];
-handler.command = /^(horny(card|license))$/i;
-handler.limit = 1
-handler.register = true
-export default handler;
diff --git a/plugins/maker-itssostupid.js b/plugins/maker-itssostupid.js
deleted file mode 100644
index 39ad4aebf..000000000
--- a/plugins/maker-itssostupid.js
+++ /dev/null
@@ -1,14 +0,0 @@
-const handler = async (m, {conn, args}) => {
- const text = args.slice(1).join(' ');
- const who = m.quoted ? m.quoted.sender : m.mentionedJid && m.mentionedJid[0] ? m.mentionedJid[0] : m.fromMe ? conn.user.jid : m.sender;
- conn.sendFile(m.chat, global.API('https://some-random-api.com', '/canvas/its-so-stupid', {
- avatar: await conn.profilePictureUrl(who, 'image').catch((_) => 'https://telegra.ph/file/24fa902ead26340f3df2c.png'),
- dog: text || 'im+stupid',
- }), 'error.png', `*@${author}*`, m);
-};
-handler.help = ['itssostupid', 'iss', 'stupid'];
-handler.tags = ['maker'];
-handler.command = /^(itssostupid|iss|stupid)$/i;
-handler.limit = 1
-handler.register = true
-export default handler;
diff --git a/plugins/maker-logos.js b/plugins/maker-logos.js
index aff8e7aee..62b1987a9 100644
--- a/plugins/maker-logos.js
+++ b/plugins/maker-logos.js
@@ -3,29 +3,26 @@ import cheerio from "cheerio";
import FormData from "form-data";
const split = '|';
const handler = async (m, {conn, args: [effect], text: txt, usedPrefix, command, name}) => {
- if (!effect) throw `${mg}๐๐๐ผ๐ ๐๐ ๐พ๐๐๐ผ๐๐ฟ๐ ๐ฟ๐ ๐๐๐๐๐๐๐๐๐ ๐๐ผ๐๐๐๐ผ\n๐๐๐ ๐๐๐ ๐พ๐๐๐๐ผ๐๐ฟ ๐ผ๐ ๐๐๐๐๐๐๐\n๐ซ *${usedPrefix + command} efecto texto*\n๐๐
๐๐๐๐๐ | ๐๐๐ผ๐๐๐๐\n๐ซ *${usedPrefix + command} American-flag-3D GataBot*\n\n๐๐ ๐พ๐ผ๐๐ ๐ฟ๐ ๐๐๐ ๐ฟ๐๐๐ผ ๐๐๐ ๐๐ผ๐๐๐ผ ๐๐๐๐๐ ๐๐๐ผ๐ ๐ฟ๐ ๐๐๐๐ผ ๐๐๐๐๐ผ\n๐๐ ๐พ๐ผ๐๐ ๐๐ ๐๐ผ๐๐ ๐๐๐๐ ๐๐ ๐๐๐๐๐๐๐ ๐๐๐ ๐๐๐๐ ๐๐๐๐\n๐ซ *${usedPrefix + command} efecto texto1|texto2*\n๐๐
๐๐๐๐๐ | ๐๐๐ผ๐๐๐๐\n๐ซ *${usedPrefix + command} Wolf-Logo-Galaxy GataBot|GataDios*\n\n*โจ ๐๐๐๐๐ผ ๐ฟ๐ ๐๐๐๐๐*\n\n๐ค ${usedPrefix + command} ` + effects.map(v => v.title).join(`\n๐ ${usedPrefix + command} `)
- if (!effects.find(v => (new RegExp(v.title, 'gi')).test(effect))) throw `${mg}๐๐ ๐๐๐๐ ${effect}๐๐ ๐๐ ๐๐๐พ๐๐๐๐๐๐ผ ๐๐ ๐๐ผ ๐๐๐๐๐ผ ๐ฟ๐ ๐๐๐๐๐\n\n๐๐๐ ๐๐๐๐ ${effect} ๐๐ ๐๐ ๐๐๐ ๐๐ ๐๐๐ ๐๐๐๐ ๐๐ ๐๐๐๐๐`
- try {
- let text = txt.replace(new RegExp(effect, 'gi'), '').trimStart();
- if (text.includes(split)) {
- text = text.split(split).map((t) => t.trim());
- } else {
- text = [text.trim()];
- }
- const effectoSelect = effects.find((effectz) => new RegExp(effectz?.title, 'i').test(effect));
- const res = await maker(effectoSelect?.url, [...text]).catch(_ => { throw `${mg} ๐๐ผ๐๐๐ผ ๐๐ ๐๐๐๐๐ ๐ผ๐ ๐๐๐ ๐๐ ๐๐๐ผ๐๐๐๐ผ๐๐ผ ๐๐ ๐๐๐๐` })
- if (typeof res == 'number') throw res == -1 ? `${mg}๐๐ ๐๐๐๐ ${effect} ๐๐ ๐๐ ๐๐๐พ๐๐๐๐๐๐ผ ๐๐ ๐๐ผ ๐๐๐๐๐ผ ๐ฟ๐ ๐๐๐๐๐\n\n๐๐๐ ๐๐๐๐ ${effect} ๐๐ ๐๐ ๐๐๐ ๐๐ ๐๐๐ ๐๐๐๐ ๐๐ ๐๐๐๐๐` : `๐๐๐ผ๐ ๐๐ ๐พ๐๐๐ผ๐๐ฟ๐ ๐ฟ๐ ๐๐๐๐๐๐๐๐๐ ๐๐ผ๐๐๐๐ผ\n๐๐๐ ๐๐๐ ๐พ๐๐๐๐ผ๐๐ฟ ๐ผ๐ ๐๐๐๐๐๐๐\n\n${usedPrefix + command} ${effect} ${new Array(res).fill('texto').map((v, i) => v + (i ? i + 1 : '')).join('|')}*`
- await conn.sendMessage(m.chat, {image: {url: res.image}, caption: `โ
*AQUร ESTA Tร LOGO!!*\nโ
*HERE IS YOUR LOGO!!*\n\n๐ *EFECTO: ${effect}*\n${wm}`}, {quoted: m});
-} catch (e) {
-await m.reply(lenguajeGB['smsMalError3']() + '\n*' + lenguajeGB.smsMensError1() + '*\n*' + usedPrefix + `${lenguajeGB.lenguaje() == 'es' ? 'reporte' : 'report'}` + '* ' + `${lenguajeGB.smsMensError2()} ` + usedPrefix + command)
-console.log(`โโ ${lenguajeGB['smsMensError2']()} ${usedPrefix + command} โโ`)
-console.log(e)}
+if (!effect) throw `*โ ๏ธ ${await tr("ยฟComo usar este comando?")}*\nโข _#logo (efecto) (texto)_\n*${await tr("Ejemplo")}:*\nโข _#logo 3d-deep-sea-metal Mystic_\n\n*โ ๏ธ ${await tr("Cuando les diga que hace falta texto el uso serรญa", "๐๐ฎ๐๐ง๐๐จ ๐ฅ๐๐ฌ ๐๐ข๐ ๐ ๐ช๐ฎ๐ ๐ก๐๐๐ ๐๐๐ฅ๐ญ๐ ๐ฎ๐ง ๐ญ๐๐ฑ๐ญ๐จ ๐๐ฅ ๐ฎ๐ฌ๐จ ๐ฌ๐๐ซ๐ข๐")}:*\nโข _#logo (efecto) (texto1|texto2)_\n*${await tr("Ejemplo", "๐๐ฃ๐๐ฆ๐ฉ๐ฅ๐จ")}:*\nโข _#logo Wolf-Logo-Galaxy Loli|Bot_\n\n*<${await tr("LISTA DE EFECTOS", "๐ณ๐ฐ๐บ๐ป๐จ ๐ซ๐ฌ ๐ฌ๐ญ๐ฌ๐ช๐ป๐ถ๐บ")}>*\n`
+effects.map((v) => `ยฐ เถฌโ๐ #logo ${v.title}`).join('\n');
+if (!effects.find((v) => (new RegExp(v.title, 'gi')).test(effect))) throw await tr(`*โ ๏ธ El efecto ${effect} no esta en la lista de efectos*`, `*โ ๏ธ ๐๐ฅ ๐๐๐๐๐ญ๐จ ${effect} ๐ง๐จ ๐๐ฌ๐ญ๐ ๐๐ง ๐ฅ๐ ๐ฅ๐ข๐ฌ๐ญ๐ ๐๐ ๐๐๐๐๐ญ๐จ๐ฌ*`)
+let text = txt.replace(new RegExp(effect, 'gi'), '').trimStart();
+if (text.includes(split)) {
+text = text.split(split).map((t) => t.trim());
+} else {
+text = [text.trim()];
}
+const msgTxt = await tr("*โ ๏ธ Falta el texto al que se realizada el logo*", '*โ ๏ธ าแดสแดแด แดส แดแดxแดแด แดส วซแดแด sแด สแดแดสษชแดขแดสแด แดส สแดษขแด*')
+const effectoSelect = effects.find((effectz) => new RegExp(effectz?.title, 'i').test(effect));
+const res = await maker(effectoSelect?.url, [...text]).catch(_ => { throw msgTxt })
+if (typeof res == 'number') throw res == -1 ? await tr(`*โ ๏ธ El efecto ${effect} no esta en la lista de efectos*`, `*โ ๏ธ ๐๐ฅ ๐๐๐๐๐ญ๐จ ${effect} ๐ง๐จ ๐๐ฌ๐ญ๐ ๐๐ง ๐ฅ๐ ๐ฅ๐ข๐ฌ๐ญ๐ ๐๐ ๐๐๐๐๐ญ๐จ๐ฌ*`) : `*โ ๏ธ ${await tr("El uso correcto del comando es")} ${usedPrefix + command} ${effect} ${new Array(res).fill('texto').map((v, i) => v + (i ? i + 1 : '')).join('|')}*`;
+await conn.sendMessage(m.chat, {image: {url: res.image}, caption: `*๐ซ ${await tr("Aqui tiene tu imagen personalizada!!")}*\n*โข ${await tr("Efectos")}: ${effect}*\n${wm}`}, {quoted: m});
+};
handler.help = ['logos'];
-handler.tags = ['nulis'];
+handler.tags = ['logo'];
handler.command = /^(logo|logos|logos2)$/i;
+handler.register = true
handler.limit = 1
-handler.register = true
export default handler;
var effects = [
diff --git a/plugins/maker-pixel.js b/plugins/maker-pixel.js
deleted file mode 100644
index 9f72283df..000000000
--- a/plugins/maker-pixel.js
+++ /dev/null
@@ -1,14 +0,0 @@
-const handler = async (m, {conn, usedprefix, text}) => {
- const who = m.quoted ? m.quoted.sender : m.mentionedJid && m.mentionedJid[0] ? m.mentionedJid[0] : m.fromMe ? conn.user.jid : m.sender;
- conn.sendFile(m.chat, global.API('https://some-random-api.com', '/canvas/pixelate', {
- avatar: await conn.profilePictureUrl(m.sender, 'image').catch((_) => 'https://telegra.ph/file/24fa902ead26340f3df2c.png'),
- comment: text,
- username: conn.getName(m.sender),
- }), 'error.png', '*AQUI TIENE TU IMAGEN PIXELEADA CON EXITO!!*', m);
-};
-handler.help = ['pixel', 'difuminar'];
-handler.tags = ['maker'];
-handler.command = /^(pixel|pixelar|difuminar)$/i;
-handler.limit = true
-handler.register = true
-export default handler;
diff --git a/plugins/maker-simpcard.js b/plugins/maker-simpcard.js
deleted file mode 100644
index 78f3c280b..000000000
--- a/plugins/maker-simpcard.js
+++ /dev/null
@@ -1,10 +0,0 @@
-const handler = async (m, {conn}) => {
- const who = m.quoted ? m.quoted.sender : m.mentionedJid && m.mentionedJid[0] ? m.mentionedJid[0] : m.fromMe ? conn.user.jid : m.sender;
- conn.sendFile(m.chat, global.API('https://some-random-api.com', '/canvas/simpcard', {
- avatar: await conn.profilePictureUrl(who, 'image').catch((_) => 'https://telegra.ph/file/24fa902ead26340f3df2c.png'),
- }), 'error.png', '*ยกWTF ERES SIMP* ๐', m);
-};
-handler.help = ['simpcard'];
-handler.tags = ['maker'];
-handler.command = /^(simpcard)$/i;
-export default handler;
diff --git a/plugins/maker-txt.js b/plugins/maker-txt.js
new file mode 100644
index 000000000..fefd26f6c
--- /dev/null
+++ b/plugins/maker-txt.js
@@ -0,0 +1,22 @@
+let handler = async (m, { conn, text, usedPrefix, command }) => {
+let teks = text ? text : m.quoted && m.quoted.text ? m.quoted.text : ''
+
+if (command == 'txt' || command == 'escribir') {
+if (!teks) throw await tr(`โ ๏ธ Que quiere escribir? usar este comando de la siguiente manera\n\nEjemplo: *${usedPrefix + command}* Hola LoliBot`)
+let img = `${global.APIs.fgmods.url}/maker/txt?text=${encodeURIComponent(teks)}&apikey=${global.APIs.fgmods.key}`;
+conn.sendFile(m.chat, img, 'img.png', `\`โ๐ป ${await tr("ESTA LISTO!!")}\`\n${wm}`, m, null, fake);
+}
+
+if (command == 'brat') {
+if (!teks) throw `โ ๏ธ ${await tr("Ingresar en texto\nEjemplo:")} *${usedPrefix + command}* case "hola":\nm.reply("que onda")\nbreak`
+let res = `${global.APIs.fgmods.url}/maker/carbon?text=${teks}&apikey=${global.APIs.fgmods.key}`
+await conn.sendFile(m.chat, res, 'error.jpg', null, m, null, fake)
+}
+}
+handler.help = ['txt', 'brat']
+handler.tags = ['game']
+handler.command = ['txt', 'escribir', 'brat']
+handler.limit = 1
+handler.register = true
+export default handler
+
diff --git a/plugins/maker-ytcomment.js b/plugins/maker-ytcomment.js
deleted file mode 100644
index ef6acc73a..000000000
--- a/plugins/maker-ytcomment.js
+++ /dev/null
@@ -1,12 +0,0 @@
-const handler = async (m, {conn, text}) => {
- if (!text) throw `${lenguajeGB['smsAvisoMG']()} Y EL TEXTO?`
- conn.sendFile(m.chat, global.API('https://some-random-api.com', '/canvas/youtube-comment', {
- avatar: await conn.profilePictureUrl(m.sender, 'image').catch((_) => 'https://telegra.ph/file/24fa902ead26340f3df2c.png'),
- comment: text,
- username: conn.getName(m.sender),
- }), 'error.png', '*HAS COMENTADO EN YOUTUBE!!* ?', m);
-};
-handler.help = ['ytcomment '];
-handler.tags = ['maker'];
-handler.command = /^(ytcomment)$/i;
-export default handler;
diff --git a/plugins/marker-ephoto360.js b/plugins/marker-ephoto360.js
deleted file mode 100644
index 617e1091b..000000000
--- a/plugins/marker-ephoto360.js
+++ /dev/null
@@ -1,152 +0,0 @@
-//https://violetics.pw/api/ephoto360
-
-let handler = async (m, { conn, args, command }) => {
- let response = args.join(' ').split('|')
- if (!args[0]) throw `๐๐จ๐๐ง๐๐๐ ๐ช๐ฃ ๐ฉ๐๐ญ๐ฉ๐ค ๐ฅ๐๐ง๐ ๐๐ง๐๐๐ง ๐๐ก ๐ก๐ค๐๐ค`
- let img = './media/menus/Menu3.jpg'
- 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"
- }
-
- try {
- if (command == 'logocorazon') {
- await conn.reply(m.chat, `โณ๏ธ ๐ท๐๐๐๐๐๐๐
๐...\n ๐๐๐๐๐๐ ๐๐๐ ๐๐๐๐๐๐ข ๐๐ ๐๐๐๐๐ ๐๐๐๐๐๐
๐ ๐๐๐ ๐๐๐๐๐`, fkontak, m)
- let res = `https://violetics.pw/api/ephoto360/heart-flashlight?apikey=beta&text=${response[0]}`
- await conn.sendFile(m.chat, res, 'error.jpg', null, m)}
-
- if (command == '3dtext') {
- await conn.reply(m.chat, `โณ๏ธ ๐ท๐๐๐๐๐๐๐
๐...\n ๐๐๐๐๐๐ ๐๐๐ ๐๐๐๐๐๐ข ๐๐ ๐๐๐๐๐ ๐๐๐๐๐๐
๐ ๐๐๐ ๐๐๐๐๐`, fkontak, m)
- let res = `https://violetics.pw/api/ephoto360/3dtext-effect3?apikey=${Key360}&text=${response[0]}`
- await conn.sendFile(m.chat, res, 'error.jpg', null, m)}
-
- if (command == 'angels') {
- await conn.reply(m.chat, `โณ๏ธ ๐ท๐๐๐๐๐๐๐
๐...\n ๐๐๐๐๐๐ ๐๐๐ ๐๐๐๐๐๐ข ๐๐ ๐๐๐๐๐ ๐๐๐๐๐๐
๐ ๐๐๐ ๐๐๐๐๐`, fkontak, m)
- let res = `https://violetics.pw/api/ephoto360/angels-wings?apikey=${Key360}&text=${response[0]}`
- await conn.sendFile(m.chat, res, 'error.jpg', null, m)}
-
- if (command == 'batshalloween') {
- await conn.reply(m.chat, `โณ๏ธ ๐ท๐๐๐๐๐๐๐
๐...\n ๐๐๐๐๐๐ ๐๐๐ ๐๐๐๐๐๐ข ๐๐ ๐๐๐๐๐ ๐๐๐๐๐๐
๐ ๐๐๐ ๐๐๐๐๐`, fkontak, m)
- let res = `https://violetics.pw/api/ephoto360/bats-halloween?apikey=${Key360}&text=${response[0]}`
- await conn.sendFile(m.chat, res, 'error.jpg', null, m)}
-
- if (command == 'bear2') {
- await conn.reply(m.chat, `โณ๏ธ ๐ท๐๐๐๐๐๐๐
๐...\n ๐๐๐๐๐๐ ๐๐๐ ๐๐๐๐๐๐ข ๐๐ ๐๐๐๐๐ ๐๐๐๐๐๐
๐ ๐๐๐ ๐๐๐๐๐`, fkontak, m)
- let res = `https://violetics.pw/api/ephoto360/bear2?apikey=${Key360}&text=${response[0]}`
- await conn.sendFile(m.chat, res, 'error.jpg', null, m)}
-
- if (command == 'boom') {
- await conn.reply(m.chat, `โณ๏ธ ๐ท๐๐๐๐๐๐๐
๐...\n ๐๐๐๐๐๐ ๐๐๐ ๐๐๐๐๐๐ข ๐๐ ๐๐๐๐๐ ๐๐๐๐๐๐
๐ ๐๐๐ ๐๐๐๐๐`, fkontak, m)
- let res = `https://violetics.pw/api/ephoto360/boom-comic?apikey=${Key360}&text=${response[0]}`
- await conn.sendFile(m.chat, res, 'error.jpg', null, m)}
-
- if (command == 'graffiticartoon') {
- await conn.reply(m.chat, `โณ๏ธ ๐ท๐๐๐๐๐๐๐
๐...\n ๐๐๐๐๐๐ ๐๐๐ ๐๐๐๐๐๐ข ๐๐ ๐๐๐๐๐ ๐๐๐๐๐๐
๐ ๐๐๐ ๐๐๐๐๐`, fkontak, m)
- let res = `https://violetics.pw/api/ephoto360/cartoon-graffiti?apikey=${Key360}&text=${response[0]}`
- await conn.sendFile(m.chat, res, 'error.jpg', null, m)}
-
- if (command == 'girlgamer') {
- await conn.reply(m.chat, `โณ๏ธ ๐ท๐๐๐๐๐๐๐
๐...\n ๐๐๐๐๐๐ ๐๐๐ ๐๐๐๐๐๐ข ๐๐ ๐๐๐๐๐ ๐๐๐๐๐๐
๐ ๐๐๐ ๐๐๐๐๐`, fkontak, m)
- let res = `https://violetics.pw/api/ephoto360/cute-girl-gamer?apikey=${Key360}&text=${response[0]}`
- await conn.sendFile(m.chat, res, 'error.jpg', null, m)}
-
- if (command == 'firework') {
- await conn.reply(m.chat, `โณ๏ธ ๐ท๐๐๐๐๐๐๐
๐...\n ๐๐๐๐๐๐ ๐๐๐ ๐๐๐๐๐๐ข ๐๐ ๐๐๐๐๐ ๐๐๐๐๐๐
๐ ๐๐๐ ๐๐๐๐๐`, fkontak, m)
- let res = `https://violetics.pw/api/ephoto360/firework-effect?apikey=${Key360}&text=${response[0]}`
- await conn.sendFile(m.chat, res, 'error.jpg', null, m)}
-
- if (command == 'gold') {
- await conn.reply(m.chat, `โณ๏ธ ๐ท๐๐๐๐๐๐๐
๐...\n ๐๐๐๐๐๐ ๐๐๐ ๐๐๐๐๐๐ข ๐๐ ๐๐๐๐๐ ๐๐๐๐๐๐
๐ ๐๐๐ ๐๐๐๐๐`, fkontak, m)
- let res = `https://violetics.pw/api/ephoto360/gold-effect?apikey=${Key360}&text=${response[0]}`
- await conn.sendFile(m.chat, res, 'error.jpg', null, m)}
-
- if (command == 'handlove') {
- await conn.reply(m.chat, `โณ๏ธ ๐ท๐๐๐๐๐๐๐
๐...\n ๐๐๐๐๐๐ ๐๐๐ ๐๐๐๐๐๐ข ๐๐ ๐๐๐๐๐ ๐๐๐๐๐๐
๐ ๐๐๐ ๐๐๐๐๐`, fkontak, m)
- let res = `https://violetics.pw/api/ephoto360/hand-love?apikey=${Key360}&text=${response[0]}`
- await conn.sendFile(m.chat, res, 'error.jpg', null, m)}
-
- if (command == 'heartcup') {
- await conn.reply(m.chat, `โณ๏ธ ๐ท๐๐๐๐๐๐๐
๐...\n ๐๐๐๐๐๐ ๐๐๐ ๐๐๐๐๐๐ข ๐๐ ๐๐๐๐๐ ๐๐๐๐๐๐
๐ ๐๐๐ ๐๐๐๐๐`, fkontak, m)
- let res = `https://violetics.pw/api/ephoto360/heart-cup?apikey=${Key360}&text=${response[0]}`
- await conn.sendFile(m.chat, res, 'error.jpg', null, m)}
-
- if (command == 'heartflashlight') {
- await conn.reply(m.chat, `โณ๏ธ ๐ท๐๐๐๐๐๐๐
๐...\n ๐๐๐๐๐๐ ๐๐๐ ๐๐๐๐๐๐ข ๐๐ ๐๐๐๐๐ ๐๐๐๐๐๐
๐ ๐๐๐ ๐๐๐๐๐`, fkontak, m)
- let res = `https://violetics.pw/api/ephoto360/heart-flashlight?apikey=${Key360}&text=${response[0]}`
- await conn.sendFile(m.chat, res, 'error.jpg', null, m)}
-
- if (command == 'birthdaycake') {
- await conn.reply(m.chat, `โณ๏ธ ๐ท๐๐๐๐๐๐๐
๐...\n ๐๐๐๐๐๐ ๐๐๐ ๐๐๐๐๐๐ข ๐๐ ๐๐๐๐๐ ๐๐๐๐๐๐
๐ ๐๐๐ ๐๐๐๐๐`, fkontak, m)
- let res = `https://violetics.pw/api/ephoto360/birthday-cake?apikey=${Key360}&text=${response[0]}`
- await conn.sendFile(m.chat, res, 'error.jpg', null, m)}
-
- if (command == 'birthdaycake2') {
- await conn.reply(m.chat, `โณ๏ธ ๐ท๐๐๐๐๐๐๐
๐...\n ๐๐๐๐๐๐ ๐๐๐ ๐๐๐๐๐๐ข ๐๐ ๐๐๐๐๐ ๐๐๐๐๐๐
๐ ๐๐๐ ๐๐๐๐๐`, fkontak, m)
- let res = `https://violetics.pw/api/ephoto360/birthday-cake10?apikey=${Key360}&text=${response[0]}`
- await conn.sendFile(m.chat, res, 'error.jpg', null, m)}
-
- if (command == 'birthdaycake3') {
- await conn.reply(m.chat, `โณ๏ธ ๐ท๐๐๐๐๐๐๐
๐...\n ๐๐๐๐๐๐ ๐๐๐ ๐๐๐๐๐๐ข ๐๐ ๐๐๐๐๐ ๐๐๐๐๐๐
๐ ๐๐๐ ๐๐๐๐๐`, fkontak, m)
- let res = `https://violetics.pw/api/ephoto360/birthday-cake2?apikey=${Key360}&text=${response[0]}`
- await conn.sendFile(m.chat, res, 'error.jpg', null, m)}
-
- if (command == 'facebooksilverplay') {
- await conn.reply(m.chat, `โณ๏ธ ๐ท๐๐๐๐๐๐๐
๐...\n ๐๐๐๐๐๐ ๐๐๐ ๐๐๐๐๐๐ข ๐๐ ๐๐๐๐๐ ๐๐๐๐๐๐
๐ ๐๐๐ ๐๐๐๐๐`, fkontak, m)
- let res = `https://violetics.pw/api/ephoto360/facebook-silver-play-button?apikey=${Key360}&text=${response[0]}`
- await conn.sendFile(m.chat, res, 'error.jpg', null, m)}
-
- if (command == 'facebooksilverplay2') {
- await conn.reply(m.chat, `โณ๏ธ ๐ท๐๐๐๐๐๐๐
๐...\n ๐๐๐๐๐๐ ๐๐๐ ๐๐๐๐๐๐ข ๐๐ ๐๐๐๐๐ ๐๐๐๐๐๐
๐ ๐๐๐ ๐๐๐๐๐`, fkontak, m)
- let res = `https://violetics.pw/api/ephoto360/facebook-gold-play-button?apikey=${Key360}&text=${response[0]}`
- await conn.sendFile(m.chat, res, 'error.jpg', null, m)}
-
- if (command == 'neonsantin') {
- await conn.reply(m.chat, `โณ๏ธ ๐ท๐๐๐๐๐๐๐
๐...\n ๐๐๐๐๐๐ ๐๐๐ ๐๐๐๐๐๐ข ๐๐ ๐๐๐๐๐ ๐๐๐๐๐๐
๐ ๐๐๐ ๐๐๐๐๐`, fkontak, m)
- let res = `https://violetics.pw/api/ephoto360/neon-satin?apikey=${Key360}&text=${response[0]}`
- await conn.sendFile(m.chat, res, 'error.jpg', null, m)}
-
- if (command == 'womenday') {
- await conn.reply(m.chat, `โณ๏ธ ๐ท๐๐๐๐๐๐๐
๐...\n ๐๐๐๐๐๐ ๐๐๐ ๐๐๐๐๐๐ข ๐๐ ๐๐๐๐๐ ๐๐๐๐๐๐
๐ ๐๐๐ ๐๐๐๐๐`, fkontak, m)
- let res = `https://violetics.pw/api/ephoto360/women-day?apikey=${Key360}&text=${response[0]}`
- await conn.sendFile(m.chat, res, 'error.jpg', null, m)}
-
- if (command == 'summerysand') {
- await conn.reply(m.chat, `โณ๏ธ ๐ท๐๐๐๐๐๐๐
๐...\n ๐๐๐๐๐๐ ๐๐๐ ๐๐๐๐๐๐ข ๐๐ ๐๐๐๐๐ ๐๐๐๐๐๐
๐ ๐๐๐ ๐๐๐๐๐`, fkontak, m)
- let res = `https://violetics.pw/api/ephoto360/summerysand?apikey=${Key360}&text=${response[0]}`
- await conn.sendFile(m.chat, res, 'error.jpg', null, m)}
-
- if (command == 'wetglass') {
- await conn.reply(m.chat, `โณ๏ธ ๐ท๐๐๐๐๐๐๐
๐...\n ๐๐๐๐๐๐ ๐๐๐ ๐๐๐๐๐๐ข ๐๐ ๐๐๐๐๐ ๐๐๐๐๐๐
๐ ๐๐๐ ๐๐๐๐๐`, fkontak, m)
- let res = `https://violetics.pw/api/ephoto360/wet-glass?apikey=${Key360}&text=${response[0]}`
- await conn.sendFile(m.chat, res, 'error.jpg', null, m)}
-
- if (command == 'mylove') {
- await conn.reply(m.chat, `โณ๏ธ ๐ท๐๐๐๐๐๐๐
๐...\n ๐๐๐๐๐๐ ๐๐๐ ๐๐๐๐๐๐ข ๐๐ ๐๐๐๐๐ ๐๐๐๐๐๐
๐ ๐๐๐ ๐๐๐๐๐`, fkontak, m)
- let res = `https://violetics.pw/api/ephoto360/my-love?apikey=${Key360}&text=${response[0]}`
- await conn.sendFile(m.chat, res, 'error.jpg', null, m)}
-
- if (command == 'pikachu') {
- await conn.reply(m.chat, `โณ๏ธ ๐ท๐๐๐๐๐๐๐
๐...\n ๐๐๐๐๐๐ ๐๐๐ ๐๐๐๐๐๐ข ๐๐ ๐๐๐๐๐ ๐๐๐๐๐๐
๐ ๐๐๐ ๐๐๐๐๐`, fkontak, m)
- let res = `https://violetics.pw/api/ephoto360/pikachu?apikey=${Key360}&text=${response[0]}`
- await conn.sendFile(m.chat, res, 'error.jpg', null, m)}
-
- if (command == 'logochristmas') {
- await conn.reply(m.chat, `โณ๏ธ ๐ท๐๐๐๐๐๐๐
๐...\n ๐๐๐๐๐๐ ๐๐๐ ๐๐๐๐๐๐ข ๐๐ ๐๐๐๐๐ ๐๐๐๐๐๐
๐ ๐๐๐ ๐๐๐๐๐`, fkontak, m)
- let res = `https://violetics.pw/api/ephoto360/christmas-snow?apikey=beta&text=${response[0]}`
- await conn.sendFile(m.chat, res, 'error.jpg', null, m)}
-
- } catch {
- conn.reply(m.chat, `๐ผ๐๐๐, ๐๐ ๐๐๐๐ ๐๐ ๐๐๐๐๐๐
๐๐, ๐๐๐๐๐๐ ๐๐ ๐๐๐๐๐๐๐ ๐
๐ ๐๐๐๐๐๐`, fkontak, m)
- }}
- handler.command = /^logocorazon|logochristmas|3dtext|angels|wetglass|sumerysand|womenday|batshalloween|neonsantin|facebooksilverplay|facebooksilverplay2|bear2|birthdaycake|birthdaycake2|birthdaycake3|boom|graffiticartoon|girlgamer|mylove|pikachu|firework|gold|handlove|heartcup|heartflashlight/i
- export default handler
diff --git a/plugins/marker-lolice.js b/plugins/marker-lolice.js
deleted file mode 100644
index eecc7cca1..000000000
--- a/plugins/marker-lolice.js
+++ /dev/null
@@ -1,10 +0,0 @@
-const handler = async (m, {conn}) => {
- const who = m.quoted ? m.quoted.sender : m.mentionedJid && m.mentionedJid[0] ? m.mentionedJid[0] : m.fromMe ? conn.user.jid : m.sender;
- conn.sendFile(m.chat, global.API('https://some-random-api.com', '/canvas/lolice', {
- avatar: await conn.profilePictureUrl(who, 'image').catch((_) => 'https://telegra.ph/file/24fa902ead26340f3df2c.png'),
- }), 'error.png', '*LLAMEN A LA POLICรA!! ๐ฑ*', m);
-};
-handler.help = ['lolice'];
-handler.tags = ['maker'];
-handler.command = /^(lolice)$/i;
-export default handler;
diff --git a/plugins/menu-audios.js b/plugins/menu-audios.js
index a37da5e48..8b35003b4 100644
--- a/plugins/menu-audios.js
+++ b/plugins/menu-audios.js
@@ -65,200 +65,172 @@ let user = global.db.data.users[m.sender]
let taguser = '@' + m.sender.split("@s.whatsapp.net")[0]
//user.registered = false
-let pp = gataVidMenu.getRandom()
+let pp = img.getRandom()
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 fsizedoc = '1'.repeat(10)
-let adReply = { fileLength: fsizedoc, seconds: fsizedoc, contextInfo: { forwardingScore: fsizedoc, externalAdReply: { showAdAttribution: true, title: wm, body: '๐ ' + username, mediaUrl: ig, description: 'Hola', previewType: 'PHOTO', thumbnail: await(await fetch(gataMenu.getRandom())).buffer(), sourceUrl: redesMenu.getRandom() }}}
-let str = `
-*_ใ๐ Hola ${taguser} ๐ๅฝก_*
+let str = `\`${await tr("Hola")} ${taguser} ๐ๅฝก\`
-* *
-- Escribe las palabras/frases tal como estan, no hace falta poner ningun prefijo (#, ., *, etc)
+\`<${await tr("MENU DE AUDIOS")}/>\`
+> ${await tr("Escribe las palabras/frases tal como estan, no hace falta poner ningun prefijo")} (#, ., *, etc)
-ยฐ เถฌโ๐ _Noche de paz_
-ยฐ เถฌโ๐ _Buenos dias_
-ยฐ เถฌโ๐ _Audio hentai_
-ยฐ เถฌโ๐ _Fiesta del admin_
-ยฐ เถฌโ๐ _Fiesta del admin 2_
-ยฐ เถฌโ๐ _Fiesta del administrador_
-ยฐ เถฌโ๐ _Viernes_
-ยฐ เถฌโ๐ _Mierda de Bot_
-ยฐ เถฌโ๐ _Me olvidรฉ_
-ยฐ เถฌโ๐ _Baneado_
-ยฐ เถฌโ๐ _Feliz navidad_
-ยฐ เถฌโ๐ _A nadie le importa_
-ยฐ เถฌโ๐ _Sexo_
-ยฐ เถฌโ๐ _Vete a la vrg_
-ยฐ เถฌโ๐ _Ara ara_
-ยฐ เถฌโ๐ _Hola_
-ยฐ เถฌโ๐ _Un pato_
-ยฐ เถฌโ๐ _Nyanpasu_
-ยฐ เถฌโ๐ _Te amo_
-ยฐ เถฌโ๐ _Yamete_
-ยฐ เถฌโ๐ _Te diagnostico con gay_
-ยฐ เถฌโ๐ _Quien es tu sempai botsito 7w7_
-ยฐ เถฌโ๐ _Baรฑate_
-ยฐ เถฌโ๐ _Vivan los novios_
-ยฐ เถฌโ๐ _Marica quien_
-ยฐ เถฌโ๐ _Es puto_
-ยฐ เถฌโ๐ _La biblia_
-ยฐ เถฌโ๐ _Onichan_
-ยฐ เถฌโ๐ _Bot puto_
-ยฐ เถฌโ๐ _Feliz cumpleaรฑos_
-ยฐ เถฌโ๐ _Pasa pack Bot_
-ยฐ เถฌโ๐ _Atencion grupo_
-ยฐ เถฌโ๐ _Homero chino_
-ยฐ เถฌโ๐ _Oh me vengo_
-ยฐ เถฌโ๐ _Murio el grupo_
-ยฐ เถฌโ๐ _Siuuu_
-ยฐ เถฌโ๐ _Rawr_
-ยฐ เถฌโ๐ _UwU_
-ยฐ เถฌโ๐ _:c_
-ยฐ เถฌโ๐ _a_
-ยฐ เถฌโ๐ _Hey_
-ยฐ เถฌโ๐ _Enojado_
-ยฐ เถฌโ๐ _Enojada_
-ยฐ เถฌโ๐ _Chao_
-ยฐ เถฌโ๐ _Hentai_
-ยฐ เถฌโ๐ _Triste_
-ยฐ เถฌโ๐ _Estoy triste_
-ยฐ เถฌโ๐ _Me pican los cocos_
-ยฐ เถฌโ๐ _Contexto_
-ยฐ เถฌโ๐ _Me voy_
-ยฐ เถฌโ๐ _Tengo los calzones del admin_
-ยฐ เถฌโ๐ _Entrada รฉpica_
-ยฐ เถฌโ๐ _Esto va ser รฉpico papus_
-ยฐ เถฌโ๐ _Ingresa รฉpicamente_
-ยฐ เถฌโ๐ _Bv_
-ยฐ เถฌโ๐ _Yoshi_
-ยฐ เถฌโ๐ _No digas eso papu_
-ยฐ เถฌโ๐ _Ma ma masivo_
-ยฐ เถฌโ๐ _Masivo_
-ยฐ เถฌโ๐ _Basado_
-ยฐ เถฌโ๐ _Basada_
-ยฐ เถฌโ๐ _Fino seรฑores_
-ยฐ เถฌโ๐ _Verdad que te engaรฑe_
-ยฐ เถฌโ๐ _Sus_
-ยฐ เถฌโ๐ _Ohayo_
-ยฐ เถฌโ๐ _La voz de hombre_
-ยฐ เถฌโ๐ _Pero esto_
-ยฐ เถฌโ๐ _Bien pensado Woody_
-ยฐ เถฌโ๐ _Jesucristo_
-ยฐ เถฌโ๐ _Wtf_
-ยฐ เถฌโ๐ _Una pregunta_
-ยฐ เถฌโ๐ _Que sucede_
-ยฐ เถฌโ๐ _Hablame_
-ยฐ เถฌโ๐ _Pikachu_
-ยฐ เถฌโ๐ _Niconico_
-ยฐ เถฌโ๐ _Yokese_
-ยฐ เถฌโ๐ _Omaiga_
-ยฐ เถฌโ๐ _Nadie te preguntรณ_
-ยฐ เถฌโ๐ _Bueno si_
-ยฐ เถฌโ๐ _Usted estรก detenido_
-ยฐ เถฌโ๐ _No me hables_
-ยฐ เถฌโ๐ _No chu_
-ยฐ เถฌโ๐ _El pepe_
-ยฐ เถฌโ๐ _Pokรฉmon_
-ยฐ เถฌโ๐ _No me hagas usar esto_
-ยฐ เถฌโ๐ _Esto va para ti_
-ยฐ เถฌโ๐ _Abduzcan_
-ยฐ เถฌโ๐ _Joder_
-ยฐ เถฌโ๐ _Hablar primos_
-ยฐ เถฌโ๐ _Mmm_
-ยฐ เถฌโ๐ _Orale_
-ยฐ เถฌโ๐ _Me anda buscando anonymous_
-ยฐ เถฌโ๐ _Blackpink in your area_
-ยฐ เถฌโ๐ _Cambiate a Movistar_
-ยฐ เถฌโ๐ _Momento equisde | Momento XD_
-ยฐ เถฌโ๐ _Todo bien | ๐_
-ยฐ เถฌโ๐ _Te gusta el Pepino | ๐ฅ_
-ยฐ เถฌโ๐ _El tรณxico_
-ยฐ เถฌโ๐ _Moshi moshi_
-ยฐ เถฌโ๐ _Calla Fan de BTS_
-ยฐ เถฌโ๐ _Que tal grupo_
-ยฐ เถฌโ๐ _Muchachos_
-ยฐ เถฌโ๐ _Estรก Zzzz | ๐ด_
-ยฐ เถฌโ๐ _Goku Pervertido_
-ยฐ เถฌโ๐ _Potaxio | ๐ฅ_
-ยฐ เถฌโ๐ _Nico nico_
-ยฐ เถฌโ๐ _El rap de Fernanfloo_
-ยฐ เถฌโ๐ _Tal vez_
-ยฐ เถฌโ๐ _Corte corte_
-ยฐ เถฌโ๐ _Buenas noches_
-ยฐ เถฌโ๐ _Porque ta tite_
-ยฐ เถฌโ๐ _Eres Fuerte_
-ยฐ เถฌโ๐ _Bueno Master | ๐ซ_
-ยฐ เถฌโ๐ _No Rompas mรกs | ๐_
-ยฐ เถฌโ๐ _Traiganle una falda_
-ยฐ เถฌโ๐ _Se estรกn riendo de mรญ_
-ยฐ เถฌโ๐ _Su nivel de pendejo_
-ยฐ เถฌโ๐ _Bienvenido/a | ๐ฅณ | ๐ค | ๐_
-ยฐ เถฌโ๐ _Elmo sabe donde vives_
-ยฐ เถฌโ๐ _tunometecabrasaramambiche_
-ยฐ เถฌโ๐ _Y este quien es_
-ยฐ เถฌโ๐ _Motivaciรณn_
-ยฐ เถฌโ๐ _En caso de una investigaciรณn_
-ยฐ เถฌโ๐ _Buen dรญa grupo | ๐_
-ยฐ เถฌโ๐ _mi bebito fiu fiu_
-ยฐ เถฌโ๐ _sabosito_
-ยฐ เถฌโ๐ _Freefire_
-ยฐ เถฌโ๐ _Aguanta_
-ยฐ เถฌโ๐ _Es viernes_
-ยฐ เถฌโ๐ _Que quede vos_
-ยฐ เถฌโ๐ _Feriado_
-ยฐ เถฌโ๐ _Me emociono | borracho_
-ยฐ เถฌโ๐ _Delivery_
-ยฐ เถฌโ๐ _Tarado | putos_
-ยฐ เถฌโ๐ _Bardo_
-ยฐ เถฌโ๐ _Saliste del grupo_
-ยฐ เถฌโ๐ _No agreguรฉ_
-ยฐ เถฌโ๐ _Quiere tener internet gratis_
-ยฐ เถฌโ๐ _Donde esta?_
-ยฐ เถฌโ๐ _Q onda | ๐คช_
-ยฐ เถฌโ๐ _La tรณxica_
-ยฐ เถฌโ๐ _Bebesita_
-ยฐ เถฌโ๐ _Tka_
-ยฐ เถฌโ๐ _No la pienso_
-ยฐ เถฌโ๐ _Taka Taka_
-ยฐ เถฌโ๐ _Bot canta_
-ยฐ เถฌโ๐ _Loli conmigo | Loli venir_
-ยฐ เถฌโ๐ _Grap | trap_
-ยฐ เถฌโ๐ _Bruno_
-ยฐ เถฌโ๐ _Soy guapo_
-ยฐ เถฌโ๐ _Dragon ball_
-ยฐ เถฌโ๐ _Las reglas del grupo_
-ยฐ เถฌโ๐ Pequeรฑa canciones
-ยฐ เถฌโ๐ Quevedo
-ยฐ เถฌโ๐ Quรฉdate
-ยฐ เถฌโ๐ Fernet
-ยฐ เถฌโ๐ Emilia
-ยฐ เถฌโ๐ cuantros veintes
-ยฐ เถฌโ๐ Turrito
-ยฐ เถฌโ๐ Allรก
-ยฐ เถฌโ๐ cumbia 420
-ยฐ เถฌโ๐ lgante
-ยฐ เถฌโ๐ esaa |๐
-ยฐ เถฌโ๐ bar
-ยฐ เถฌโ๐ Le mando fui
-๐บ๐ ๐๐๐ ๐๐๐๐๐๐๐
๐ ๐๐๐ ๐๐๐
๐๐ ๐
๐ ๐๐๐๐,
-๐บ๐ ๐๐๐๐๐๐ ๐๐๐๐๐๐๐ ๐๐๐๐๐ ๐๐๐
๐๐ ๐๐๐๐๐,
-๐ ๐๐๐๐ ๐๐๐๐๐ ๐๐๐๐๐ ๐๐๐ ๐๐
๐๐๐ ๐๐๐ ๐
๐๐ ๐๐๐
-
-*๐
ฃ๐
๐
-๐
๐
๐
๐
๐
๐
๐
ฃ-๐
๐
*`.trim()
-conn.sendFile(m.chat, pp, 'lp.jpg', str, m, false, { contextInfo: { mentionedJid }})
+* ๐ _Noche de paz_
+* ๐ _Buenos dias_
+* ๐ _Audio hentai_
+* ๐ _Fiesta del admin_
+* ๐ _Fiesta del admin 2_
+* ๐ _Fiesta del administrador_
+* ๐ _Viernes_
+* ๐ _Mierda de Bot_
+* ๐ _Me olvidรฉ_
+* ๐ _Baneado_
+* ๐ _Feliz navidad_
+* ๐ _A nadie le importa_
+* ๐ _Sexo_
+* ๐ _Vete a la vrg_
+* ๐ _Ara ara_
+* ๐ _Hola_
+* ๐ _Un pato_
+* ๐ _Nyanpasu_
+* ๐ _Te amo_
+* ๐ _Yamete_
+* ๐ _Te diagnostico con gay_
+* ๐ _Quien es tu sempai botsito 7w7_
+* ๐ _Baรฑate_
+* ๐ _Vivan los novios_
+* ๐ _Marica quien_
+* ๐ _Es puto_
+* ๐ _La biblia_
+* ๐ _Onichan_
+* ๐ _Bot puto_
+* ๐ _Feliz cumpleaรฑos_
+* ๐ _Pasa pack Bot_
+* ๐ _Atencion grupo_
+* ๐ _Homero chino_
+* ๐ _Oh me vengo_
+* ๐ _Siuuu_
+* ๐ _Rawr_
+* ๐ _UwU_
+* ๐ _:c_
+* ๐ _a_
+* ๐ _Hey_
+* ๐ _Enojado_
+* ๐ _Chao_
+* ๐ _Hentai_
+* ๐ _Triste_
+* ๐ _Estoy triste_
+* ๐ _Me pican los cocos_
+* ๐ _Contexto_
+* ๐ _Me voy_
+* ๐ _Tengo los calzones del admin_
+* ๐ _Entrada รฉpica_
+* ๐ _Esto va ser รฉpico papus_
+* ๐ _Ingresa รฉpicamente_
+* ๐ _No digas eso papu_
+* ๐ _Ma ma masivo_
+* ๐ _Masivo_
+* ๐ _Basado_
+* ๐ _Basada_
+* ๐ _Fino seรฑores_
+* ๐ _Verdad que te engaรฑe_
+* ๐ _Sus_
+* ๐ _Ohayo_
+* ๐ _La voz de hombre_
+* ๐ _Pero esto_
+* ๐ _Bien pensado Woody_
+* ๐ _Jesucristo_
+* ๐ _Wtf_
+* ๐ _Una pregunta_
+* ๐ _Que sucede_
+* ๐ _Hablame_
+* ๐ _Pikachu_
+* ๐ _Niconico_
+* ๐ _Yokese_
+* ๐ _Omaiga_
+* ๐ _Nadie te preguntรณ_
+* ๐ _Bueno si_
+* ๐ _Usted estรก detenido_
+* ๐ _No me hables_
+* ๐ _No chu_
+* ๐ _El pepe_
+* ๐ _Pokรฉmon_
+* ๐ _No me hagas usar esto_
+* ๐ _Esto va para ti_
+* ๐ _Abduzcan_
+* ๐ _Joder_
+* ๐ _Mmm_
+* ๐ _Orale_
+* ๐ _Me anda buscando anonymous_
+* ๐ _Blackpink in your area_
+* ๐ _Cambiate a Movistar_
+* ๐ _Momento equisde | Momento XD_
+* ๐ _Todo bien | ๐_
+* ๐ _Te gusta el Pepino | ๐ฅ_
+* ๐ _El tรณxico_
+* ๐ _Moshi moshi_
+* ๐ _Calla Fan de BTS_
+* ๐ _Que tal grupo_
+* ๐ _Muchachos_
+* ๐ _Estรก Zzzz | ๐ด_
+* ๐ _Goku Pervertido_
+* ๐ _Potaxio | ๐ฅ_
+* ๐ _Nico nico_
+* ๐ _El rap de Fernanfloo_
+* ๐ _Tal vez_
+* ๐ _Corte corte_
+* ๐ _Buenas noches_
+* ๐ _Porque ta tite_
+* ๐ _Eres Fuerte_
+* ๐ _Bueno Master | ๐ซ_
+* ๐ _No Rompas mรกs | ๐_
+* ๐ _Traiganle una falda_
+* ๐ _Se estรกn riendo de mรญ_
+* ๐ _Su nivel de pendejo_
+* ๐ _Bienvenido/a | ๐ฅณ | ๐ค | ๐_
+* ๐ _Elmo sabe donde vives_
+* ๐ _tunometecabrasaramambiche_
+* ๐ _Y este quien es_
+* ๐ _Motivaciรณn_
+* ๐ _En caso de una investigaciรณn_
+* ๐ _Buen dรญa grupo | ๐_
+* ๐ _mi bebito fiu fiu_
+* ๐ _Freefire_
+* ๐ _Aguanta_
+* ๐ _Tarado | putos_
+* ๐ _Donde esta?_
+* ๐ _Q onda | ๐คช_
+* ๐ _Tka_
+* ๐ _Bruno_
+* ๐ _Dragon ball_
+* ๐ _Las reglas del grupo_
+*๐
๐
๐
๐
๐
๐
๐
ฃ-๐
๐
*`.trim()
+conn.sendMessage(m.chat, { text: str,
+contextInfo:{
+forwardedNewsletterMessageInfo: {
+newsletterJid: '120363355261011910@newsletter',
+serverMessageId: '',
+newsletterName: 'LoliBot โจ๏ธ' },
+forwardingScore: 9999999,
+isForwarded: true,
+mentionedJid:[m.sender],
+externalAdReply: {
+showAdAttribution: true,
+renderLargerThumbnail: true,
+body: wm,
+containsAutoReply: true,
+mediaType: 1,
+thumbnail: img.getRandom(),
+sourceUrl: [nna, nna2, nnaa, md, yt, tiktok].getRandom()
+}}}, { quoted: m })
+//conn.sendFile(m.chat, pp, 'lp.jpg', str, m, false, { contextInfo: {mentionedJid, externalAdReply :{ mediaUrl: null, mediaType: 1, description: null, title: wm, body: '๐๐ฎ๐ฉ๐๐ซ ๐๐จ๐ญ ๐๐ ๐๐ก๐๐ญ๐ฌ๐๐ฉ๐ฉ', previewType: 0, thumbnail: imagen4, sourceUrl: [md, yt, tiktok].getRandom()}}})
} 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.help = ['infomenu'].map(v => v + 'able ')
handler.tags = ['group', 'owner']
handler.command = /^(menu2|audios|menรบ2|memu2|menuaudio|menuaudios|memuaudios|memuaudio|audios|audio)$/i
handler.exp = 60
-//handler.register = true
+handler.register = true
export default handler
const more = String.fromCharCode(8206)
diff --git a/plugins/menu-lista.js b/plugins/menu-lista.js
deleted file mode 100644
index b2a0a9665..000000000
--- a/plugins/menu-lista.js
+++ /dev/null
@@ -1,139 +0,0 @@
-/*import fs from 'fs'
-import fetch from 'node-fetch'
-import { xpRange } from '../lib/levelling.js'
-const { levelling } = '../lib/levelling.js'
-import moment from 'moment-timezone'
-
-let handler = async (m, { conn, usedPrefix, command, args, isOwner, isAdmin, isROwner }) => {
-try{
-let locale = 'es'
-let d = new Date(new Date + 3600000)
-let time = d.toLocaleTimeString(locale, {
- hour: 'numeric',
- minute: 'numeric',
- second: 'numeric'
- })
-
-let _uptime = process.uptime() * 1000
-let uptime = clockString(_uptime)
-wm = global.wm
-vs = global.vs
-
-let user = global.db.data.users[m.sender]
-let { exp, diamond, registered, limit, level, role } = global.db.data.users[m.sender]
-let { min, xp, max } = xpRange(level, global.multiplier)
-let name = await conn.getName(m.sender)
-let pareja = global.db.data.users[m.sender].pasangan
-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" }
-
-const sections = [{
-title: comienzo + ' ' + lenguajeGB['smsLista1']() + ' ' + fin,
-rows: [
-{title: lenguajeGB['smsLista2'](), rowId: `${usedPrefix}creadora`},
-{title: lenguajeGB['smsLista4'](), rowId: `${usedPrefix}ping`},
-{title: lenguajeGB['smsLista5'](), rowId: `${usedPrefix}infomenu`},
-{title: lenguajeGB['smsLista6'](), rowId: `${usedPrefix}allmenu`},
-{title: lenguajeGB['smsLista7'](), rowId: `${usedPrefix}instalarbot`},
-{title: lenguajeGB['smsLista8'](), rowId: `${usedPrefix}serbot`},
-{title: lenguajeGB['smsLista9'](), rowId: `${usedPrefix}tรฉrminos`, description: '\n'}
-]},{
-title: comienzo + ' ' + lenguajeGB['smsLista10']() + ' ' + fin,
-rows: [
-{title: lenguajeGB['smsLista11'](), rowId: `${usedPrefix}lb`},
-{title: lenguajeGB['smsLista12'](), rowId: `${usedPrefix}listavip`},
-{title: lenguajeGB['smsLista13'](), rowId: `${usedPrefix}pase premium`},
-{title: lenguajeGB['smsLista15'](), rowId: `${usedPrefix}rpgmenu`},
-{title: lenguajeGB['smsLista16'](), rowId: `${usedPrefix}buy`},
-]},{
-title: comienzo + ' ' + lenguajeGB['smsLista18']() + ' ' + fin,
-rows: [
-{title: lenguajeGB['smsLista19'](), rowId: `${usedPrefix}descargasmenu`},
-{title: lenguajeGB['smsLista20'](), rowId: `${usedPrefix}buscarmenu`},
-{title: lenguajeGB['smsLista21'](), rowId: `${usedPrefix}convertidormenu`},
-{title: lenguajeGB['smsLista22'](), rowId: `${usedPrefix}audioefectomenu`, description: '\n'}
-]},{
-title: comienzo + ' ' + lenguajeGB['smsLista23']() + ' ' + fin,
-rows: [
-{title: lenguajeGB['smsLista24'](), rowId: `${usedPrefix}juegosmenu`},
-{title: lenguajeGB['smsLista25'](), rowId: `${usedPrefix}audios`},
-{title: lenguajeGB['smsLista26'](), rowId: `${usedPrefix}stickermenu`},
-{title: lenguajeGB['smsLista27'](), rowId: `${usedPrefix}makermenu`},
-{title: lenguajeGB['smsLista29'](), rowId: `${usedPrefix}randommenu`},
-{title: lenguajeGB['smsLista30'](), rowId: `${usedPrefix}hornymenu`, description: '\n'}
-]},{
-title: comienzo + ' ' + lenguajeGB['smsLista31']() + ' ' + fin,
-rows: [
-{title: lenguajeGB['smsLista32'](), rowId: `${usedPrefix}grupomenu`},
-{title: lenguajeGB['smsLista33'](), rowId: `${usedPrefix}listas`},
-{title: lenguajeGB['smsLista34'](), rowId: `${usedPrefix}enable`},
-{title: lenguajeGB['smsLista35'](), rowId: `${usedPrefix}ownermenu`}
-]}]
-
-
-const listMessage = {
-text: `โโโโโโโโโโโโโโโ
-โ *๐ป๐๐ ๐ณ๐๐๐๐ฉ๐๐-๐ด๐ซ*
-โโโโโโโโโโโโโโโโโโ
-โโจ *๐๐ค๐ก๐ ๐๐ค๐ข๐ค ๐๐จ๐ฉ๐ฬ ${name}!!*
-โ โโโโโโโโโโโโโโโโโ
-โโค *๐พ๐ง๐๐๐๐ค๐ง ๐๐๐ก ๐๐ค๐ฉ: ๐๐ก ๐ง๐๐๐๐ก๐๐*
-โโค *๐๐ช๐ข๐๐ง๐ค ๐๐๐ก ๐๐ง๐๐๐๐ค๐ง:* *wa.me/5492266466080 (No Bot)* ${(conn.user.jid == global.conn.user.jid ? '' : `\nโโค *๐๐ค๐ฎ ๐ช๐ฃ ๐จ๐ช๐ ๐๐ค๐ฉ ๐๐๐ก:* *wa.me/${global.conn.user.jid.split`@`[0]}*`) || '\nโโค *๐๐ช๐ข๐๐ง๐ค ๐๐๐ก ๐๐ค๐ฉ ๐ค๐๐๐๐๐๐ก:* *wa.me/573183650526*'}
-โ โโโโโโโโโโโโโโโโโ
-โโค *${lenguajeGB['smsTime']()}*
-โโก ${time}
-โ โโโโโโโโโโโโโโโโโ
-โโค *${lenguajeGB['smsUptime']()}*
-โโก ${uptime}
-โ โโโโโโโโโโโโโโโโโ
-โโค *${lenguajeGB['smsVersion']()}*
-โโก ${vs}
-โ โโโโโโโโโโโโโโโโโ
-โโค *${lenguajeGB['smsTotalUsers']()}*
-โโก ${Object.keys(global.db.data.users).length}
-โ โโโโโโโโโโโโโโโโโ
-โโค *${lenguajeGB['smsMode']()}*
-โโก ${global.opts['self'] ? `*${lenguajeGB['smsModePrivate']()}*` : `*${lenguajeGB['smsModePublic']()}*`}
-โโโโโืโืโืโืโโโโโ`, footer: `*ยป ${lenguajeGB['smsPareja']()} โบ ${pareja ? `${name} ๐ ${conn.getName(pareja)}` : `๐ ${lenguajeGB['smsResultPareja']()}`}*
-ยป ${redesMenu.getRandom()}`, //${name} ${ucapan()} //lenguajeGB['smsMenu']()
-title: null,
-buttonText: `${lenguajeGB['smsListaMenu']()}`,
-sections }
-await conn.sendMessage(m.chat, listMessage, {quoted: fkontak})
-
-} 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.help = ['en', 'dis'].map(v => v + 'able ')
-handler.tags = ['group', 'owner']
-handler.command = /^(menu|menรบ|memu|memรบ|help|info|comandos|2help|menu1.2|ayuda|commands|commandos|m|\?)$/i
-//handler.register = true
-handler.exp = 50
-export default handler
-
-function clockString(ms) {
- let h = isNaN(ms) ? '--' : Math.floor(ms / 3600000)
- let m = isNaN(ms) ? '--' : Math.floor(ms / 60000) % 60
- let s = isNaN(ms) ? '--' : Math.floor(ms / 1000) % 60
- return [h, m, s].map(v => v.toString().padStart(2, 0)).join(':')
-}
-
-function ucapan() {
- const time = moment.tz('America/Los_Angeles').format('HH') //America/Los_Angeles Asia/Jakarta America/Toronto
- let res = `${lenguajeGB['smsSaludo']()}`
- if (time >= 4) {
- res = `${lenguajeGB['smsDia']()}`
- }
- if (time >= 11) {
- res = `${lenguajeGB['smsTarde']()}`
- }
- if (time >= 15) {
- res = `${lenguajeGB['smsTarde2']()}`
- }
- if (time >= 17) {
- res = `${lenguajeGB['smsNoche']()}`
- }
- return res
-}
-*/
diff --git a/plugins/menu-menu.js b/plugins/menu-menu.js
deleted file mode 100644
index 2ac7fe8cd..000000000
--- a/plugins/menu-menu.js
+++ /dev/null
@@ -1,601 +0,0 @@
-import fs from 'fs'
-import fetch from 'node-fetch'
-import { xpRange } from '../lib/levelling.js'
-const { levelling } = '../lib/levelling.js'
-import PhoneNumber from 'awesome-phonenumber'
-import { promises } from 'fs'
-import { join } from 'path'
-let handler = async (m, { conn, usedPrefix, usedPrefix: _p, __dirname, text, command }) => {
-try {
-let vn = './media/menu.mp3'
-let _package = JSON.parse(await promises.readFile(join(__dirname, '../package.json')).catch(_ => ({}))) || {}
-let { exp, limit, level, role } = global.db.data.users[m.sender]
-let { min, xp, max } = xpRange(level, global.multiplier)
-let name = await conn.getName(m.sender)
-let d = new Date(new Date + 3600000)
-let locale = 'es'
-let weton = ['Pahing', 'Pon', 'Wage', 'Kliwon', 'Legi'][Math.floor(d / 84600000) % 5]
-let week = d.toLocaleDateString(locale, { weekday: 'long' })
-let date = d.toLocaleDateString(locale, {
-day: 'numeric',
-month: 'long',
-year: 'numeric'
-})
-let dateIslamic = Intl.DateTimeFormat(locale + '-TN-u-ca-islamic', {
-day: 'numeric',
-month: 'long',
-year: 'numeric'
-}).format(d)
-let time = d.toLocaleTimeString(locale, {
-hour: 'numeric',
-minute: 'numeric',
-second: 'numeric'
-})
-let _uptime = process.uptime() * 1000
-let _muptime
-if (process.send) {
-process.send('uptime')
-_muptime = await new Promise(resolve => {
-process.once('message', resolve)
-setTimeout(resolve, 1000)
-}) * 1000
-}
-let { money, joincount } = global.db.data.users[m.sender]
-let user = global.db.data.users[m.sender]
-let muptime = clockString(_muptime)
-let uptime = clockString(_uptime)
-let totalreg = Object.keys(global.db.data.users).length
-let rtotalreg = Object.values(global.db.data.users).filter(user => user.registered == true).length
-let replace = {
-'%': '%',
-p: _p, uptime, muptime,
-me: conn.getName(conn.user.jid),
-npmname: _package.name,
-npmdesc: _package.description,
-version: _package.version,
-exp: exp - min,
-maxexp: xp,
-totalexp: exp,
-xp4levelup: max - exp,
-github: _package.homepage ? _package.homepage.url || _package.homepage : '[unknown github url]',
-level, limit, name, weton, week, date, dateIslamic, time, totalreg, rtotalreg, role,
-readmore: readMore
-}
-text = text.replace(new RegExp(`%(${Object.keys(replace).sort((a, b) => b.length - a.length).join`|`})`, 'g'), (_, name) => '' + replace[name])
-//let user = global.db.data.users[m.sender]
-//user.registered = false
-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 taguser = '@' + m.sender.split("@s.whatsapp.net")[0]
-//let enlace = { contextInfo: { externalAdReply: {title: wm, body: 'support group' , sourceUrl: nna, thumbnail: await(await fetch(img)).buffer() }}}
- let pp = './Menu2.jpg'
-//let pp = gataVidMenu.getRandom()
-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 fsizedoc = '1'.repeat(10)
-let adReply = { fileLength: fsizedoc, seconds: fsizedoc, contextInfo: { forwardingScore: fsizedoc, externalAdReply: { showAdAttribution: true, title: wm, body: '๐ ' + username, mediaUrl: ig, description: 'Hola', previewType: 'PHOTO', thumbnail: await(await fetch(global.img)).buffer(), sourceUrl: redesMenu.getRandom() }}}
-
-
-let menu = `โ *${wm}* โ
-
-*Hola ${taguser}*
-
-โก *Creador: Mario*
-โก *Numero del creador: wa.me/5492266466080*
-โก *Numero del bot ofc: wa.me/14086414984*
-โก *Tiempos activos :* *${uptime}*
-โก *Usuarios:* *${Object.keys(global.db.data.users).length}*
-โก *Registrado: ${rtotalreg} de ${totalreg}* ${(conn.user.jid == global.conn.user.jid ? '' : `\nโก *Soy un sub bot del:* wa.me/${global.conn.user.jid.split`@`[0]}`) || ''}
-
-โก *COMO INSTALAR EL BOT*
-https://youtu.be/O_j2q5xCg3A
-
-โ _*INFO DEL USUARIO*_
-โก *๐ Registrado:* ${user.registered === true ? 'โ
' : 'โ _#verificar_'}
-โก *๐๏ธ Premium:* ${user.premiumTime > 0 ? 'โ
' : 'โ _#pase premium_'}
-โก *๐ฐ Mi estado:* ${typeof user.miestado !== 'string' ? '_#miestado || Estado no asignado_' : '_Me siento ' + user.miestado + '_'}
-โก *๐๏ธ Nivel:* ${level}
-โก *๐ Diamantes:* ${limit}
-โก *๐พ LoliCoins:* ${money}
-โก *๐ช Tokens:* ${joincount}
-โก *๐งฐ Experiencia:* ${exp}
-โก *โ Rango:* ${role}
-${readMore}
-โโโโโท *INFO DEL BOT*
-โโก _${usedPrefix}infobot_
-โโก _${usedPrefix}grupos_
-โโก _${usedPrefix}instalarbot_
-โโก๏ธ _${usedPrefix}menu2_
-โโก _${usedPrefix}estado_
-โโก _${usedPrefix}sc_
-โโก _${usedPrefix}ping_
-โโก _Bot_
-โโก _ยฟQuรฉ es un Bot?_
-โโก _Tรฉrminos y condiciones_
-โโโโโโโโโโโโโโ
-
-โโโโโท *UNER UN BOT A TU GRUPO*
-โ ๐ค _${usedPrefix}join *link del grupo*_
-โ ๐ค _${usedPrefix}botemporal *link de grupo*_
-โโโโโโโโโโโโโโ
-
-โโโโโท *SERBOT & JADIBOT*
-โ ๐ค _${usedPrefix}serbot_
-โ ๐ค _${usedPrefix}stop_
-โ ๐ค _${usedPrefix}bots_
-โโโโโโโโโโโโโโ
-
-โโโโโท *JUEGOS*
-โ *conando para la diversiรณn del tu Grupos*
-โโโโโโโโโโโโโโโ
-โ๐น _${usedPrefix}mates **_
-โ๐น๏ธ _${usedPrefix}ppt **_
-โ๐น _${usedPrefix}prostituto **_
-โ๐น๏ธ _${usedPrefix}prostituta **_
-โ๐น๏ธ _${usedPrefix}gay2 **_
-โ๐น๏ธ _${usedPrefix}lesbiana **_
-โ๐น _${usedPrefix}pajero **_
-โ๐น _${usedPrefix}pajera **_
-โ๐น๏ธ _${usedPrefix}puto **_
-โ๐น๏ธ _${usedPrefix}puta **_
-โ๐น๏ธ _${usedPrefix}manco **_
-โ๐น๏ธ _${usedPrefix}manca **_
-โ๐น๏ธ _${usedPrefix}rata **_
-โ๐น๏ธ _${usedPrefix}love **_
-โ๐น๏ธ _${usedPrefix}doxear **_
-โ๐น _${usedPrefix}pregunta **_
-โ๐น๏ธ _${usedPrefix}suitpvp *<@tag>*_
-โ๐น๏ธ _${usedPrefix}slot **_
-โ๐น๏ธ _${usedPrefix}ttt **_
-โ๐น๏ธ _${usedPrefix}delttt_
-โ๐น๏ธ _${usedPrefix}simi **_
-โ๐น๏ธ _${usedPrefix}top **_
-โ๐น๏ธ _${usedPrefix}topotakus_
-โ๐น๏ธ๏ธ _${usedPrefix}top10gays_
-โ๐น๏ธ๏ธ _${usedPrefix}toplind@s_
-โ๐น๏ธ๏ธ _${usedPrefix}topput@s_
-โ๐น๏ธ๏ธ _${usedPrefix}toppajer@s_
-โ๐น๏ธ๏ธ _${usedPrefix}topotakus_
-โ๐น๏ธ๏ธ _${usedPrefix}topintegrantes_
-โ๐น๏ธ๏ธ _${usedPrefix}toplagrasa_
-โ๐น๏ธ๏ธ _${usedPrefix}toppanafrescos_
-โ๐น๏ธ _${usedPrefix}topshiposters_
-โ๐น๏ธ๏ธ _${usedPrefix}toppajeros_
-โ๐น๏ธ๏ธ _${usedPrefix}toplind@s_
-โ๐น๏ธ๏ธ _${usedPrefix}topfamosos_
-โ๐น๏ธ๏ธ _${usedPrefix}topsoltero
-โ๐น๏ธ๏ธ _${usedPrefix}topparejas_
-โ๐น๏ธ _${usedPrefix}formarpareja_
-โ๐น๏ธ _${usedPrefix}verdad_
-โ๐น๏ธ _${usedPrefix}reto_
-โ๐น๏ธ _${usedPrefix}cancion_
-โ๐น๏ธ _${usedPrefix}pista_
-โโโโโโโโโโโโโโโโ
-โ ๐ ๐๐๐ง๐๐๐๐จ
-โโโโโโโโโโโโโโโโ
-โ *Declarate con alguien*
-โ *para que sean Parejas!!*
-โโโโโโโโโโโโโโโโ
-โโค๏ธโบ _${usedPrefix}listaparejas_
-โโค๏ธโบ _${usedPrefix}mipareja_
-โโค๏ธโบ _${usedPrefix}pareja *@tag*_
-โโค๏ธโบ _${usedPrefix}aceptar *@tag*_
-โโค๏ธโบ _${usedPrefix}rechazar *@tag*_
-โโค๏ธโบ _${usedPrefix}terminar *@tag*_
-โโโโโโโโโโโโโโ
-
-โโโโโท *NUMERO DEL CREADOR*
-โ๐ค _${usedPrefix}owner_
-โโโโโโโโโโโโโโ
-
-โโโโโท *ACTIVA O DESACTIVAR*
-โ *Configura si eres Propietario(a) y/o*
-โ *Admin!!*
-โโโโโโโโโโโโโโโ
-โโ๏ธ _${usedPrefix}enable_
-โโโโโโโโโโโโโโ
-
-โโโโโท *REPORTA COMANDO CON ERRORES*
-โโโโโโโโโโโโโโโโ
-โ *Reporta cualquier comando que falle para poder solucionarlo*
-โโโโโโโโโโโโโโโโ
-โ๐ซ _${usedPrefix}reporte **_
-โโโโโโโโโโโโโโ
-
-โโโโโท *SER PREMIUM*
-โ *Convierte en un(a)*
-โ *Usuario(a) Premium!!*
-โโโโโโโโโโโโโโโโ
-โ๐๏ธ _${usedPrefix}listapremium_
-โ๐๏ธ _${usedPrefix}pase premium_
-โ๐๏ธ _${usedPrefix}pass premium_
-โโโโโโโโโโโโโโ
-
-โโโโโท *DESCARGAS*
-โ๐ฅ _${usedPrefix}play **_
-โ๐ฅ _${usedPrefix}play.1 **_
-โ๐ฅ _${usedPrefix}play.2 **_
-โ๐ฅ _${usedPrefix}playdoc **_
-โ๐ฅ _${usedPrefix}playlist **_
-โ๐ฅ _${usedPrefix}playlist2 **_
-โ๐ฅ _${usedPrefix}spotify **_
-โ๐ฅ _${usedPrefix}tiktok **_
-โ๐ฅ _${usedPrefix}instagram **_
-โ๐ฅ _${usedPrefix}mediafire **_
-โ๐ฅ _${usedPrefix}instagram **_
-โ๐ฅ _${usedPrefix}gitclone **_
-โ๐ฅ _${usedPrefix}gdrive **_
-โ๐ฅ _${usedPrefix}xnxxdl **_
-โ๐ฅ _${usedPrefix}xvideosdl **_
-โ๐ฅ _${usedPrefix}twitter **_
-โ๐ฅ _${usedPrefix}fb **_
-โ๐ฅ _${usedPrefix}fb2 **_
-โ๐ฅ _${usedPrefix}fb3 **_
-โ๐ฅ _${usedPrefix}fb4 **_
-โ๐ฅ _${usedPrefix}fb5 **_
-โ๐ฅ _${usedPrefix}ytmp3 **_
-โ๐ฅ _${usedPrefix}ytmp4 **_
-โ๐ฅ _${usedPrefix}ytmp3doc **_
-โ๐ฅ _${usedPrefix}ytmp4doc **_
-โ๐ฅ _${usedPrefix}stickerpack **_
-โ๐ฅ _${usedPrefix}stickerly **_
-โ๐ฅ _${usedPrefix}ringtone **_
-โ๐ฅ _${usedPrefix}soundcloud **_
-โ๐ฅ _${usedPrefix}imagen **_
-โ๐ฅ _${usedPrefix}pinteret **_
-โ๐ฅ _${usedPrefix}wallpaper **_
-โ๐ฅ _${usedPrefix}wallpaper2 **_
-โ๐ฅ _${usedPrefix}pptiktok **_
-โ๐ฅ _${usedPrefix}igstalk **_
-โ๐ฅ _${usedPrefix}igstory **_
-โ๐ฅ _${usedPrefix}tiktokstalk **_
-โโโโโโโโโโโโโโ
-
-โโโโโท *GRUPOS*
-โ *Mejora tรบ Grupo con LoliBot*
-โโโโโโโโโโโโโโโโ
-โ๐ _${usedPrefix}add **_
-โ๐ _${usedPrefix}kick *<@tag>*_
-โ๐ _${usedPrefix}grupo **_
-โ๐ _${usedPrefix}grouptime * *_
-โ๐ _${usedPrefix}promote *<@tag>*_
-โ๐ _${usedPrefix}demote *<@tag>*_
-โ๐ _admins **_ (๐ข๐ ๐ ๐ ๐๐ ๐๐๐๐๐๐๐)
-โ๐ _${usedPrefix}demote *<@tag>*_
-โ๐ _${usedPrefix}infogroup_
-โ๐ _${usedPrefix}resetlink_
-โ๐ _${usedPrefix}link_
-โ๐ _${usedPrefix}setname **_
-โ๐ _${usedPrefix}setdesc **_
-โ๐ _${usedPrefix}invocar **_
-โ๐ _${usedPrefix}setwelcome **_
-โ๐ _${usedPrefix}setbye **_
-โ๐ _${usedPrefix}hidetag **_
-โ๐ _${usedPrefix}warn *<@tag>*_
-โ๐ _${usedPrefix}unwarn *<@tag>*_
-โ๐ _${usedPrefix}listwarn_
-โ๐ _${usedPrefix}fantasmas_
-โ๐ _${usedPrefix}destraba_
-โ๐ _${usedPrefix}setpp **_
-โโโโโโโโโโโโโโ
-
-โโโโโท *CONVERTIDORES*
-โ *Convierte sticker en imagen!!*
-โ *Crea enlace de archivos!!*
-โโโโโโโโโโโโโโโ
-โ๐งง _${usedPrefix}togifaud **_
-โ๐งง _${usedPrefix}robar *texto*
-โ๐งง _${usedPrefix}wm *texto*
-โ๐งง _${usedPrefix}toimg **_
-โ๐งง _${usedPrefix}tomp3 **_
-โ๐งง _${usedPrefix}tomp3 **_
-โ๐งง _${usedPrefix}toptt **_
-โ๐งง _${usedPrefix}tovideo **_
-โ๐งง _${usedPrefix}tourl **_
-โ๐งง _${usedPrefix}tts es **_
-โโโโโโโโโโโโโโ
-
-โโโโโท *EFECTOS Y LOGOS*
-โ *Crea Logos o personaliza*
-โ *la informaciรณn del Logo!!*
-โโโโโโโโโโโโโโโ
-โ๐๏ธ _${usedPrefix}mensajefalso **_
-โ๐๏ธ _${usedPrefix}phmaker * *_
-โ๐๏ธ _${usedPrefix}logos * *_
-โ๐๏ธ _${usedPrefix}logochristmas **_
-โ๐๏ธ _${usedPrefix}logocorazon **_
-โ๐๏ธ _${usedPrefix}ytcomment **_
-โ๐๏ธ _${usedPrefix}hornycard *<@tag>*_
-โ๐๏ธ _${usedPrefix}simpcard *<@tag>*_
-โ๐๏ธ _${usedPrefix}lolice *<@tag>*_
-โ๐๏ธ _${usedPrefix}itssostupid_
-โ๐๏ธ _${usedPrefix}pixelar_
-โ๐๏ธ _${usedPrefix}blur_
-โโโโโโโโโโโโโโ
-
-โโโโโท *FRASES Y TEXTOS*
-โ *Enamora a tu enamorada/o*
-โ *con esta frases/piropo uwu*
-โโโโโโโโโโโโโโโ
-โ ๐ฅ _${usedPrefix}piropo_
-โ๐ฅ _${usedPrefix}consejo_
-โ๐ฅ _${usedPrefix}fraseromantica_
-โโโโโโโโโโโโโโ
-
-โโโโโท *RANDOM*
-โ๐พ _${usedPrefix}kpop **_
-โ๐พ _${usedPrefix}cristianoronaldo_
-โ๐พ _${usedPrefix}messi_
-โ๐พ _${usedPrefix}meme_
-โ๐พ _${usedPrefix}itzy_
-โ๐พ _${usedPrefix}blackpink_
-โ๐พ _${usedPrefix}lolivid_
-โ๐พ _${usedPrefix}loli_
-โ๐พ _${usedPrefix}navidad_
-โ๐พ _${usedPrefix}ppcouple_
-โ๐พ _${usedPrefix}wpmontaรฑa_
-โ๐พ _${usedPrefix}pubg_
-โ๐พ _${usedPrefix}wpgaming_
-โ๐พ _${usedPrefix}wpaesthetic_
-โ๐พ _${usedPrefix}wpaesthetic2_
-โ๐พ _${usedPrefix}wprandom_
-โ๐พ _${usedPrefix}wallhp_
-โ๐พ _${usedPrefix}wpvehiculo_
-โ๐พ _${usedPrefix}wpmoto_
-โ๐พ _${usedPrefix}coffee_
-โ๐พ _${usedPrefix}pentol_
-โ๐พ _${usedPrefix}caricatura_
-โ๐พ _${usedPrefix}ciberespacio_
-โ๐พ _${usedPrefix}technology_
-โ๐พ _${usedPrefix}doraemon_
-โ๐พ _${usedPrefix}hacker_
-โ๐พ _${usedPrefix}planeta_
-โ๐พ _${usedPrefix}randomprofile_
-โ๐พ _${usedPrefix}neko_
-โ๐พ _${usedPrefix}waifu_
-โ๐พ _${usedPrefix}akira_
-โ๐พ _${usedPrefix}akiyama_
-โ๐พ _${usedPrefix}anna_
-โ๐พ _${usedPrefix}asuna_
-โ๐พ _${usedPrefix}ayuzawa_
-โ๐พ _${usedPrefix}boruto_
-โ๐พ _${usedPrefix}chiho_
-โ๐พ _${usedPrefix}chitoge_
-โ๐พ _${usedPrefix}deidara_
-โ๐พ _${usedPrefix}erza_
-โ๐พ _${usedPrefix}elaina_
-โ๐พ _${usedPrefix}eba_
-โ๐พ _${usedPrefix}emilia_
-โ๐พ _${usedPrefix}hestia_
-โ๐พ _${usedPrefix}hinata_
-โ๐พ _${usedPrefix}inori_
-โ๐พ _${usedPrefix}isuzu_
-โ๐พ _${usedPrefix}itachi_
-โ๐พ _${usedPrefix}itori_
-โ๐พ _${usedPrefix}kaga_
-โ๐พ _${usedPrefix}kagura_
-โ๐พ _${usedPrefix}kaori_
-โ๐พ _${usedPrefix}keneki_
-โ๐พ _${usedPrefix}kotori_
-โ๐พ _${usedPrefix}kurumi_
-โ๐พ _${usedPrefix}madara_
-โ๐พ _${usedPrefix}mikasa_
-โ๐พ _${usedPrefix}miku_
-โ๐พ _${usedPrefix}minato_
-โ๐พ _${usedPrefix}naruto_
-โ๐พ _${usedPrefix}nezuko_
-โ๐พ _${usedPrefix}sagiri_
-โ๐พ _${usedPrefix}sasuke_
-โ๐พ _${usedPrefix}sakura_
-โ๐พ _${usedPrefix}cosplay_
-โโโโโโโโโโโโโโ
-
-โโโโโท *COMANDO +18*
-โ *Usar bajo su responsabilidad*
-โ *Nota: no sea pajero*
-โโโโโโโโโโโโโโโโ
-โ๐ _${usedPrefix}hornymenu_
-โโโโโโโโโโโโโโ
-
-โโโโโท *EFECTOS PARA NOTAS DE VOZ/AUDIOS*
-โ *Realiza Modificaciones*
-โ *al Audio o Nota de Voz!!*
-โโโโโโโโโโโโโโโ
-โ๐ค _${usedPrefix}audioefectomenu_
-โโโโโโโโโโโโโโ
-
-โโโโโท *AUDIOS*
-โ *Visita el Menรบ de Audios!!*
-โ *Disfruta de una Gran Variedad*
-โโโโโโโโโโโโโโโ
-โ๐ _${usedPrefix}menu2_
-โ๐ _${usedPrefix}audios_
-โโโโโโโโโโโโโโ
-
-โโโโโท *CHATS ANONIMO*
-โ *ยกEscribe con Alguien*
-โ *de forma Anรณnima!*
-โโโโโโโโโโโโโโโ
-โ๐ณ _${usedPrefix}start_
-โ๐ณ _${usedPrefix}next_
-โ๐ณ _${usedPrefix}leave_
-โโโโโโโโโโโโโโ
-
-โโโโโท *BUSCADORES*
-โ *Busca lo que quieres con el Bot!!*
-โโโโโโโโโโโโโโโ
-โ๐ _${usedPrefix}stickersearch **_
-โ๐ _${usedPrefix}stickersearch2 **_
-โ๐ _${usedPrefix}xnxxsearch **_
-โ๐ _${usedPrefix}animeinfo **_
-โ๐ _${usedPrefix}google **_
-โ๐ _${usedPrefix}letra **_
-โ๐ _${usedPrefix}wikipedia **_
-โ๐ _${usedPrefix}ytsearch **_
-โ๐ _${usedPrefix}apkdone **_
-โ๐ _${usedPrefix}apkgoogle **_
-โ๐ _${usedPrefix}apkmody **
-โ๐ _${usedPrefix}uapkpro **_
-โ๐ _${usedPrefix}playstore **_
-โโโโโโโโโโโโโโ
-
-โโโโโท *HERRAMIENTAS*
-โ๐ ๏ธ _${usedPrefix}spamwa **_
-โ๐ ๏ธ _${usedPrefix}tamaรฑo * *_
-โ๐ ๏ธ _${usedPrefix}clima * *_
-โ๐ ๏ธ _${usedPrefix}encuesta **_
-โ๐ ๏ธ _${usedPrefix}afk **_
-โ๐ ๏ธ _${usedPrefix}ocr **_
-โ๐ ๏ธ _${usedPrefix}acortar **_
-โ๐ ๏ธ _${usedPrefix}calc **_
-โ๐ ๏ธ _${usedPrefix}del **_
-โ๐ ๏ธ _${usedPrefix}whatmusic **_
-โ๐ ๏ธ _${usedPrefix}readqr **_
-โ๐ ๏ธ _${usedPrefix}qrcode **_
-โ๐ ๏ธ _${usedPrefix}readmore **_
-โ๐ ๏ธ _${usedPrefix}styletext **_
-โ๐ ๏ธ _${usedPrefix}traducir **_
-โ๐ ๏ธ _${usedPrefix}zoom **_
-โ๐ ๏ธ _${usedPrefix}nowa **_
-โ๐ ๏ธ _${usedPrefix}horario_
-โโโโโโโโโโโโโโ
-
-โโโโโท *RPG - LIMITES - ECONรMIAS*
-โ *Compra, Adquiere Recuersos*
-โ *Mejora Tรบ Nivel y Rango!!*
-โโโโโโโโโโโโโโโ
-โ๐ต _${usedPrefix}verificar_
-โ๐ต _${usedPrefix}unreg **_
-โ๐ต _${usedPrefix}claim_
-โ๐ต _${usedPrefix}lb_
-โ๐ต _${usedPrefix}levelup_
-โ๐ต _${usedPrefix}perfil_
-โ๐ต _${usedPrefix}minar_
-โ๐ต _${usedPrefix}buy_
-โ๐ต _${usedPrefix}balance_
-โ๐ต _${usedPrefix}myns_
-โ๐ต _${usedPrefix}work_
-โ๐ต _${usedPrefix}buyall_
-โ๐ต _${usedPrefix}transfer * <@tag>*_
-โโโโโโโโโโโโโโ
-
-โโโโโท *TOP EN LOLIBOT-MD*
-โ *Averigua en que Top te encuentras!!*
-โโโโโโโโโโโโโโโโ
-โ๐โบ _${usedPrefix}top | lb | leaderboard_
-โโโโโโโโโโโโโโ
-
-โโโโโท *STICKERS*
-โ *Realiza stickers o crea*
-โ *stickers con filtros!!*
-โโโโโโโโโโโโโโโ
-โ๐ฝ _${usedPrefix}sticker **_
-โ๐ฝ _${usedPrefix}sticker *