| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221 |
- import { promises } from 'fs'
- import { join } from 'path'
- import fetch from 'node-fetch'
- import moment from 'moment-timezone'
- import { xpRange } from '../lib/levelling.js'
- //import { plugins } from '../lib/plugins.js'
- let tags = {'main': 'โก INFOBOT',
- 'jadibot': '๐ฝ SER SUB BOT',
- 'downloader': '๐ DESCARGAS',
- 'game': '๐ JUEGOS',
- 'gacha': '๐๏ธ NEW - RPG GACHA',
- 'rg': '๐ฐ REGISTRO',
- 'group': 'โ๏ธ GRUPO',
- 'nable': '๐น ENABLE/DISABLE',
- 'nsfw': '๐ฅต COMANDO +18',
- 'buscadores': '๐ BUSCADORES',
- 'sticker': '๐ STICKER',
- 'econ': '๐ RPG',
- 'convertidor': 'โ๏ธ CONVERTIDORES',
- 'logo': '๐ป LOGOS',
- // 'prem': 'PREMIUM',
- 'tools': '๐ง HERRAMIENTA',
- 'randow': '๐ RANDOW',
- 'efec': '๐ EFECTO NOTA DE VOZ',
- 'cmd': 'DATABASE',
- 'ansfw': 'NSFW ANIME',
- 'owner': '๐ OWNER',
- }
- const defaultMenu = {
- before: `> ใ %wm ใ
-
- โฐโโค ๐๐๐ง๐ญ๐ฎ - ๐๐จ๐ญ
-
- โโโโโโโโโโโโโโโ
- โ ใ *Info User* ใ
- โ ใ ๊ ใ ๐ซ๐๐ ๐ฉ๐ ๐ช๐๐๐๐ด๐๐
๐
- โโโโโโโโโโโโโโโ
- โแโดฐ๐คโ *Usuario:* %name
- โแโดฐ๐โ *Hora:* %hora
- โแโดฐโกโ *Exp:* %totalexp XP
- โแโดฐ๐ฐโ *Tu limite:* %limit
- โแโดฐโญ๏ธโ *Rango:* %role
- โแโดฐ๐งโ *Nivel ยป* %level
- โฐืโื
โืโโญโืโื
โืโโญโืโื
โืโโญโืโื
โืโโญ
- โโโโโโโโโโโโโโโ
- โ ใ *Info Bot* ใ
- โ ใ ๊ ใ ๐ซ๐๐ ๐ฉ๐ ๐ช๐๐๐๐ด๐๐
๐
- โโโโโโโโโโโโโโโ
- โแโดฐ๐โ *Author* ยป ๐ช๐๐๐๐ด๐๐
๐
- โแโดฐ๐โ *Tiempo activo:* %muptime
- %botOfc
- โแโดฐโ๏ธโ *Librerรญa ยป Baileys
- โแโดฐ๐โ *Fecha:* %fecha
- โแโดฐ๐ฅ๏ธ๏ธโ *Usuarios ยป* %rtotalreg de %totalreg
- โฐโืโื
โืโโญโืโื
โืโโญโืโื
โืโโญโืโื
โืโโญ
- ${[`*\`โ
Streaming Barato:\`*\nhttps://hackstorex.com`, `Prefieres scrips para tu web?\nhttps://MexSpin.fun`].getRandom()}
- `.trimStart(),
- header: 'โโโโโโโโโโโโโโโ\nโ\nโ `ใ *%category* ใ`\nโ\nโ ใ ๊ ใ ๐ซ๐๐ ๐ช๐๐๐๐ด๐๐
๐\nโโโโโโโโโโโโโโโ ',
- body: ' โแโดฐ๐โ %cmd %islimit %isPremium',
- footer: `โโข \n`,
- after: `
- `,
- }
- let handler = async (m, { conn, usedPrefix: _p, __dirname }) => {
- try {
- 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 fecha = moment.tz('America/Bogota').format('DD/MM/YYYY')
- let hora = moment.tz('America/Mexico_City').format('LT')
- 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 taguser = '@' + m.sender.split('@s.whatsapp.net')[0];
- let totalreg = Object.keys(global.db.data.users).length
- let rtotalreg = Object.values(global.db.data.users).filter(user => user.registered == true).length
- let toUsers = `${toNum(totalreg)}`
- let toUserReg = `${toNum(rtotalreg)}`
- let botOfc = (conn.user.jid == global.conn.user.jid) ? `*โข Bot Ofc:* wa.me/${global.conn.user.jid.split`@`[0]}` : `*โข Soy un sub bot del:* wa.me/${global.conn.user.jid.split`@`[0]}`
- let help = Object.values(global.plugins).filter(plugin => !plugin.disabled).map(plugin => {
- return {
- help: Array.isArray(plugin.tags) ? plugin.help : [plugin.help],
- tags: Array.isArray(plugin.tags) ? plugin.tags : [plugin.tags],
- prefix: 'customPrefix' in plugin,
- limit: plugin.limit,
- premium: plugin.premium,
- enabled: !plugin.disabled,
- }})
- for (let plugin of help)
- if (plugin && 'tags' in plugin)
- for (let tag of plugin.tags)
- if (!(tag in tags) && tag) tags[tag] = tag
- conn.menu = conn.menu ? conn.menu : {}
- let before = conn.menu.before || defaultMenu.before
- let header = conn.menu.header || defaultMenu.header
- let body = conn.menu.body || defaultMenu.body
- let footer = conn.menu.footer || defaultMenu.footer
- let after = conn.menu.after || (conn.user.jid == conn.user.jid ? '' : `Powered by https://wa.me/${conn.user.jid.split`@`[0]}`) + defaultMenu.after
- let _text = [before, ...Object.keys(tags).map(tag => {
- return header.replace(/%category/g, tags[tag]) + '\n' + [...help.filter(menu => menu.tags && menu.tags.includes(tag) && menu.help).map(menu => {
- return menu.help.map(help => {
- return body.replace(/%cmd/g, menu.prefix ? help : '%p' + help)
- .replace(/%islimit/g, menu.limit ? '(๐ฃ)' : '')
- .replace(/%isPremium/g, menu.premium ? '(๐)' : '')
- .trim()}).join('\n')
- }),
- footer
- ].join('\n')}),
- after
- ].join('\n')
- let text = typeof conn.menu == 'string' ? conn.menu : typeof conn.menu == 'object' ? _text : ''
- 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, toUsers, toUserReg, role,
- readmore: readMore,
- fecha,
- hora,
- botOfc,
- wm
- }
- text = text.replace(new RegExp(`%(${Object.keys(replace).sort((a, b) => b.length - a.length).join`|`})`, 'g'), (_, name) => '' + replace[name])
- let pp = './menu.jpg'
- conn.sendMessage(m.chat, { text: text,
- contextInfo:{
- forwardedNewsletterMessageInfo: {
- newsletterJid: '120363371008200788@newsletter',
- serverMessageId: '',
- newsletterName: 'Kantu Bot โจ๏ธ' },
- forwardingScore: 9999999,
- isForwarded: true,
- mentionedJid:[m.sender],
- externalAdReply: {
- showAdAttribution: true,
- renderLargerThumbnail: true,
- title: `${name} ๐`,
- body: wm,
- containsAutoReply: true,
- mediaType: 1,
- thumbnail: imagen2,
- sourceUrl: [nna, nna2, nnaa].getRandom()
- }}}, { quoted: m })
- //conn.sendFile(m.chat, pp, 'menu.jpg', text.trim(), m, null, fake2)
- m.react('๐ฃ')
- } catch (e) {
- m.react(`โ`)
- throw e
- }}
- handler.help = ['help']
- handler.tags = ['main']
- //handler.command = ['menucompleto', 'help', 'fullmenu']
- handler.command = /^(menu|menรบ|memu|memรบ|help|info|comandos|2help|menu1.2|ayuda|commands|commandos|m|\?)$/i
- handler.register = false
- handler.exp = 3
- 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(':')
- }
- 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();
- }
- }
|