| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- // by https://github.com/elrebelde21 & https://github.com/GataNina-Li
- import { randomBytes } from 'crypto'
- let handler = async (m, { conn, command, participants, usedPrefix, text }) => {
- let fkontak = { "key": { "participants":"[email protected]", "remoteJid": "status@broadcast", "fromMe": false, "id": "Halo" }, "message": { "contactMessage": { "vcard": `BEGIN:VCARD\nVERSION:3.0\nN:Sy;Bot;;;\nFN:y\nitem1.TEL;waid=${conn.user.jid.split('@')[0]}:${conn.user.jid.split('@')[0]}\nitem1.X-ABLabel:Ponsel\nEND:VCARD` }}, "participant": "[email protected]" }
- if (!text && !m.quoted) return m.reply('*โ ๏ธ ๐๐ง๐ ๐ซ๐๐ฌ๐ ๐๐ฅ ๐ฆ๐๐ง๐ฌ๐๐ฃ๐ ๐ช๐ฎ๐ ๐ช๐ฎ๐ข๐๐ซ๐ ๐ญ๐ซ๐๐ฆ๐ข๐ญ๐*')
- let cc4 = text ? m : m.quoted ? await m.getQuotedObj() : false || m
- let teks4 = text ? text : cc4.text
- let groups2 = Object.keys(await conn.groupFetchAllParticipating())
- let chats2 = Object.keys(global.db.data.users).filter(user => user.endsWith('@s.whatsapp.net'))
- await conn.reply(m.chat, '*Enviando mensaje oficial, espere un momento...*', m);
- let start2 = new Date().getTime()
- let usersTag2 = participants.map(u => conn.decodeJid(u.id))
- let totalPri2 = 0
- for (let i = 0; i < groups2.length; i++) {
- const group = groups2[i];
- const delay = i * 4000; // 4 seg
- setTimeout(async () => {
- await conn.reply(group, `โ
*COMUNICADO OFICIAL* โ
\n\n` + teks4, { mentions: usersTag2 }, { quoted: fkontak });
- }, delay)}
- for (let user of chats2) {
- await new Promise(resolve => setTimeout(resolve, 2000)) // 2 segundos
- await delay(2 * 2000)
- await conn.reply(user, `โ
*COMUNICADO OFICIAL* โ
\n\n` + teks4, fkontak, null)
- totalPri2++
- if (totalPri2 >= 500000) {
- break
- }}
- let end2 = new Date().getTime()
- let totalPrivate2 = chats2.length
- let totalGroups2 = groups2.length
- let total2 = totalPrivate2 + totalGroups2
- let time2 = Math.floor((end2 - start2) / 1000)
- if (time2 >= 60) {
- let minutes = Math.floor(time2 / 60)
- let seconds = time2 % 60
- time2 = `${minutes} minutos y ${seconds} segundos`
- } else {
- time2 = `${time2} segundos`
- }
- await m.reply(`โ
แดแดษดsแดแดแด แดษดแด ษชแดแด
แด แด:
- \`\`\`แดสแดแด แดสษชแด แดแด
แด >> ${totalPrivate2}\`\`\`
- \`\`\`แดสแดแด ษขสแดแดแดs >> ${totalGroups2}\`\`\`
- \`\`\`แดสแดแดs แดแดแดแดสแดs >> ${total2}\`\`\`\n\n*โข แดษชแดแดแดแด แดแดแดแดส แด
แด แดษดแด ษชแด:* ${time2}\n${totalPri2 >= 500000 ? `\n*๐๐๐๐: ๐๐ฌ ๐ฉ๐จ๐ฌ๐ข๐๐ฅ๐ ๐ช๐ฎ๐ ๐ญ๐๐ง๐ ๐ ๐๐๐ฅ๐ฅ๐จ๐ฌ ๐๐ฌ๐ญ๐ ๐๐จ๐ฆ๐๐ง๐๐จ ๐ฒ ๐ง๐จ ๐ฌ๐ ๐๐ง๐ฏ๐ข๐ ๐ ๐ญ๐จ๐๐จ๐ฌ ๐ฅ๐จ๐ฌ ๐๐ก๐๐ญ๐ฌ, ๐๐ข๐ฌ๐๐ฎ๐ฅ๐ฉ๐ ๐ฉ๐จ๐ซ ๐๐ฅ ๐ฆ๐จ๐ฆ๐๐ง๐ญ๐จ*` : ''}`);
- }
- handler.help = ['broadcast', 'bc'].map(v => v + ' <teks>')
- handler.tags = ['owner']
- handler.command = /^(comunicar|comunicado|broadcastall|bc)$/i
- handler.owner = true
- export default handler
- const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms))
- const more = String.fromCharCode(8206)
- const readMore = more.repeat(4001)
- const randomID = length => randomBytes(Math.ceil(length * .5)).toString('hex').slice(0, length)
|