zimbot-v4
Version:
Multi device wa bot created by Zim Bot Inc.
1,232 lines (1,163 loc) • 310 kB
JavaScript
// ⧈⧈⧈⧈⧈⧈⧈⧈⧈⧈⧈⧈⧈⧈⧈⧈⧈⧈⧈⧈⧈⧈⧈
//▮ZIM BOT INC 2022 ®️ALL RIGHTS RESERVED
//▮
//▮FORK AND DON'T FORGET TO GIVE A STAR
//▮
//▮THIS SOFTWARE IS UNDER UZ COPYRIGHT
//▮
//▮REPORT ABUSE OF THIS SOFTWARE EMAIL US
//▮reinhardtuna@mail.uk
//▮WHATSAPP US : +44 7441 437150
//▮YOUTUBE CHANNELL: https://youtube.com/c/DRIPSOFC
//▮
//╰▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
//
//┏━━━━━━━━━━━━━━━━━━━━━━━━━
//┃THIS SOFTWARE INCLUDES
//┃SOME ENCRYPTED FILES
//┃
//┃THANKS FOR CHOOSING ZIMBOT
//┃THANKS TO DIKA ARDNT
//┗━━━━━━━━━━━━━━━━━━━━━━━━━
//
process.on('uncaughtException', console.error)
require('./bot')
const { BufferJSON, WA_DEFAULT_EPHEMERAL, generateWAMessageFromContent, WAZimBotIncection, MessageType, proto, generateWAMessageContent, generateWAMessage, prepareWAMessageMedia, areJidsSameUser, getContentType, fetchLatestBaileysVersion } = require('@adiwajshing/baileys')
const fs = require('fs')
const util = require('util')
const crypto = require('crypto')
const chalk = require('chalk')
const { exec, spawn, execSync } = require('child_process').exec;
const axios = require('axios')
const { fetchUrl, isUrl, processTime } = require("./lib/myfunc")
const path = require('path')
const url = require('url')
const os = require('os')
const xa = require('xfarr-api')
const hx = require('hxz-api')
const maker = require('mumaker')
const fetch = require('node-fetch')
const { Readability } = require('@mozilla/readability');
const moment = require('moment-timezone')
const { JSDOM } = require('jsdom')
const speed = require('performance-now')
const { performance } = require('perf_hooks')
const { Primbon } = require('scrape-primbon')
const Config = require('./drips');
const simpleGit = require('simple-git');
const git = simpleGit();
const Heroku = require('heroku-client');
const { PassThrough } = require('stream');
const { getLinkPreview, getPreviewFromContent } = require("link-preview-js");
const primbon = new Primbon()
const { smsg, formatp, tanggal, formatDate, getTime, sleep, clockString, fetchJson, getBuffer, jsonformat, format, parseMention, getRandom } = require('./lib/myfunc')
/*let { addLevelingId, addLevelingLevel, addLevelingXp, getLevelingId, getLevelingLevel, getLevelingXp } = require("./lib/lvlfunction")*/
const speedofbot = require("performance-now")
const { mediafireDl } = require('./lib/mediafire.js')
const { lirikLagu } = require('./lib/lirik.js')
const { fromBuffer } = require('file-type')
const mel = require('kitsune-api');
const { Boom } = require("@hapi/boom")
const ffmpeg = require('fluent-ffmpeg')
const { checkPetualangUser, addInventori, addBesi, sellBesi, getBesi, addDm, sellDm, getDm, addEmas, sellEmas, getEmas, addFish, sellFish, getFish } = require('./tez.js')
const { addLevelingId, addLevelingLevel ,addLevelingXp, getLevelingId, getLevelingLevel, getLevelingXp } = require('./level')
const { isLimit, limitAdd, getLimit, giveLimit, addBalance, kurangBalance, getBalance, isGame, gameAdd, givegame, cekGLimit } = require('./limit')
//xp and leveling database⧈⧈⧈⧈
//message type
/* let drips = fs.readFileSync('./Zimbot/drips.jpg')
*/
//database
const dripsno = JSON.parse(fs.readFileSync('./database/antilink.json'))
const _level = JSON.parse(fs.readFileSync('./database/leveluser.json'))
const _petualang = JSON.parse(fs.readFileSync('./database/inventori.json'))
const balance = JSON.parse(fs.readFileSync('./database/balance.json'))
global.db = JSON.parse(fs.readFileSync('./src/database.json'))
if (global.db) global.db = {
sticker: {},
database: {},
game: {},
settings: {},
others: {},
users: {},
chats: {},
...(global.db || {})
}
let tebaklagu = db.game.tebaklagu = []
let _family100 = db.game.family100 = []
let kuismath = db.game.math = []
let tebakgambar = db.game.tebakgambar = []
let tebakkata = db.game.tebakkata = []
let caklontong = db.game.lontong = []
let caklontong_desk = db.game.lontong_desk = []
let tebakkalimat = db.game.kalimat = []
let tebaklirik = db.game.lirik = []
let tebaktebakan = db.game.tebakan = []
let vote = db.others.vote = []
module.exports = ZimBotInc = async (ZimBotInc, m, chatUpdate, store) => {
try {
var body = (m.mtype === 'conversation') ? m.message.conversation : (m.mtype == 'imageMessage') ? m.message.imageMessage.caption : (m.mtype == 'videoMessage') ? m.message.videoMessage.caption : (m.mtype == 'extendedTextMessage') ? m.message.extendedTextMessage.text : (m.mtype == 'buttonsResponseMessage') ? m.message.buttonsResponseMessage.selectedButtonId : (m.mtype == 'listResponseMessage') ? m.message.listResponseMessage.singleSelectReply.selectedRowId : (m.mtype == 'templateButtonReplyMessage') ? m.message.templateButtonReplyMessage.selectedId : (m.mtype === 'messageContextInfo') ? (m.message.buttonsResponseMessage?.selectedButtonId || m.message.listResponseMessage?.singleSelectReply.selectedRowId || m.text) : ''
var budy = (typeof m.text == 'string' ? m.text : '')
var prefix = prefa ? /^[°┊π÷┊¶∆£¢€¥®™+✓_=|~!?@#$%^&.©^]/gi.test(body) ? body.match(/^[°┊π÷┊¶∆£¢€¥®™+✓_=|~!?@#$%^&.©^]/gi)[0] : "" : prefa ?? global.prefix
const isCmd = body.startsWith(prefix)
const command = body.replace(prefix, '').trim().split(/ +/).shift().toLowerCase()
const args = body.trim().split(/ +/).slice(1)
const pushname = m.pushName || "No Name"
const botNumber = await ZimBotInc.decodeJid(ZimBotInc.user.id)
const isCreator = [botNumber, ...global.owner].map(v => v.replace(/[^0-9]/g, '') + '@s.whatsapp.net').includes(m.sender)
const itsMe = m.sender == botNumber ? true : false
const text = q = args.join(" ")
const from = m.chat
const quoted = m.quoted ? m.quoted : m
const mime = (quoted.msg || quoted).mimetype || ''
const isMedia = /image|video|sticker|audio/.test(mime)
const sender = m.isGroup ? (m.key.participant ? m.key.participant : m.participant) : m.key.remoteJid
const isPetualang = checkPetualangUser(sender)
//----GROUP METADATA----\\
const groupMetadata = m.isGroup ? await ZimBotInc.groupMetadata(m.chat).catch(e => {}) : ''
const groupName = m.isGroup ? groupMetadata.subject : ''
const participants = m.isGroup ? await groupMetadata.participants : ''
const groupAdmins = m.isGroup ? await participants.filter(v => v.admin !== null).map(v => v.id) : ''
const groupOwner = m.isGroup ? groupMetadata.owner : ''
const isBotAdmins = m.isGroup ? groupAdmins.includes(botNumber) : false
const isAdmins = m.isGroup ? groupAdmins.includes(m.sender) : false
const isAntinsfw = m.isGroup ? dripsno.includes(m.chat) : false
const isPremium = isCreator || global.premium.map(v => v.replace(/[^0-9]/g, '') + '@s.whatsapp.net').includes(m.sender) || false
//-----END HERE------\\
//rest apis
global.APIs = {
bx: 'https://bx-hunter.herokuapp.com',
dhnjing: 'https://dhnjing.xyz',
hardianto: 'https://hardianto-chan.herokuapp.com',
jonaz: 'https://jonaz-api-v2.herokuapp.com',
neoxr: 'https://neoxr-api.herokuapp.com',
nrtm: 'https://nurutomo.herokuapp.com',
pencarikode: 'https://pencarikode.xyz',
xteam: 'https://api.xteam.xyz',
zahir: 'https://zahirr-web.herokuapp.com',
zekais: 'http://zekais-api.herokuapp.com',
zeks: 'https://api.zeks.xyz',
}
global.APIKeys = {
'https://bx-hunter.herokuapp.com': 'Ikyy69',
'https://hardianto-chan.herokuapp.com': 'hardianto',
'https://neoxr-api.herokuapp.com': 'yntkts',
'https://pencarikode.xyz': 'pais',
'https://api.xteam.xyz': 'apikeymu',
'https://zahirr-web.herokuapp.com': 'zahirgans',
'https://api.zeks.xyz': 'apivinz',
}
const runtime = function (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 ? " day, " : " Day, ") : "";
var hDisplay = h > 0 ? h + (h == 1 ? " hour, " : " Hour, ") : "";
var mDisplay = m > 0 ? m + (m == 1 ? " minute, " : " Minute, ") : "";
var sDisplay = s > 0 ? s + (s == 1 ? " second" : " Second") : "";
return dDisplay + hDisplay + mDisplay + sDisplay;
}
const reply = (teks) => {
ZimBotInc.sendMessage(m.chat, {text: teks, contextInfo: {"externalAdReply": {title: "ZIM BOT V4",mediaType: 3, renderLargerThumbnail: false, showAdAttribution: true, detectLinks: true,body: "DRIPS OFC", thumbnail: fs.readFileSync('./drips.jpg'),sourceUrl: ("https://wa.me/27634090203")}}})
}
const replay = (teks) => {
ZimBotInc.sendMessage(m.chat, {text: teks, contextInfo: {"externalAdReply": {title: "ZIM BOT V4",mediaType: 3, renderLargerThumbnail: false, showAdAttribution: true, body: "DRIPS OFC", thumbnail: fs.readFileSync('./drips.jpg'),sourceUrl: "https://wa.me/27634090203="}}})
}
const drip = {
key : {
fromMe: false,
participant : '0@s.whatsapp.net'
},
contextInfo: {
forwardingScore: 9999,
isForwarded: false, // ini biar ada tulisannya diteruskan berkali-kali, jika ingin di hilangkan ganti true menjadi false
// Bagian ini sesuka kalian berkreasi :'v
showAdAttribution: true,
title: "ZIM BOT V4",
body: "GIVE IT A STAR",
mediaType: "VIDEO",
mediaUrl: `https://githb.com/zim-bot/zimbot-v4`,
description: 'DRIPS OFC',
previewType: "PHOTO",
thumbnail: fs.readFileSync('./drips.jpg'),
sourceUrl: "https://github.com/FahriAdison",
detectLinks: false,
}}
let blessedtuna = {
key : {
fromMe: false,
participant : '0@s.whatsapp.net'
},
message: {
documentMessage: {
showAdAttribution: true,
title: "ZIM BOT V4",
jpegThumbnail: fs.readFileSync('./drips.jpg')
}
}
}
let mudratunha = {
key: {
fromMe: false,
participant: `0@s.whatsapp.net`, ...(m.chat ?
{ remoteJid: "17608914335-1625305606@g.us" } : {})
},
message: {
"extendedTextMessage": {
"text":'SUB DRIPS OFC',
"title": 'ZIM BOT-V4',
'jpegThumbnail': fs.readFileSync('./drips.jpg')
}
}
}
let picaks = [flaming,fluming,flarun,flasmurf,mehk,awog,mohai,mhehe]
let picak = picaks[Math.floor(Math.random() * picaks.length)]
try {
let isNumber = x => typeof x === 'number' && !isNaN(x)
let limitUser = isPremium ? global.limitawal.premium : global.limitawal.free
let user = global.db.users[m.sender]
if (typeof user !== 'object') global.db.users[m.sender] = {}
if (user) {
if (!isNumber(user.afkTime)) user.afkTime = -1
if (!('afkReason' in user)) user.afkReason = ''
if (!isNumber(user.limit)) user.limit = limitUser
} else global.db.users[m.sender] = {
afkTime: -1,
afkReason: '',
limit: limitUser,
}
let chats = global.db.chats[m.chat]
if (typeof chats !== 'object') global.db.chats[m.chat] = {}
if (chats) {
if (!('mute' in chats)) chats.mute = false
if (!('chatbot' in chats)) chats.chatbot = false
if (!('antilink' in chats)) chats.antilink = false
if (!('antilinkyt' in chats)) chats.antilinkyt = false
if (!('autoblock' in chats)) chats.autoblock = false
if (!('isWelcome' in chats)) chats.isWelcome = false
if (!('antilinkall' in chats)) chats.antilinkall = false
if (!('antiytchannel' in chats)) chats.antiytchannel = false
if (!('antitiktok' in chats)) chats.antitiktok = false
if (!('antitelegram' in chats)) chats.antitelegram = false
if (!('antiinstagram' in chats)) chats.antiinstagram = false
if (!('antifb' in chats)) chats.antifb = false
if (!('antibule' in chats)) chats.antibule = false
if (!('antiwame' in chats)) chats.antiwame = false
if (!('wame' in chats)) chats.wame = false
if (!('antitwitter' in chats)) chats.antitwitter = false
if (!('antivn' in chats)) chats.antivn = false
if (!('antiphoto' in chats)) chats.antiphoto = false
if (!('antisticker' in chats)) chats.antisticker = false
if (!('antivideo' in chats)) chats.antivideo = false
} else global.db.chats[m.chat] = {
mute: false,
chatbot: false,
wame: false,
antilink: false,
antilinkyt: false,
isWelcome: false,
antilinkall: false,
antiytchannel: false,
antitiktok: false,
antitelegram: false,
antiinstagram: false,
antifb: false,
antibule: false,
antiwame: false,
antitwitter: false,
antisticker: false,
antiphoto: false,
antivn: false,
antivideo: false,
}
let setting = global.db.settings[botNumber]
if (typeof setting !== 'object') global.db.settings[botNumber] = {}
if (setting) {
if (!isNumber(setting.status)) setting.status = 0
if (!('autobio' in setting)) setting.autobio = true
if (!('templateImage' in setting)) setting.templateImage = false
if (!('templateLocation' in setting)) setting.templateLocation = false
if (!('templateGif' in setting)) setting.templateGif = false
if (!('templateMsg' in setting)) setting.templateMsg = false
if (!('templateList' in setting)) setting.templateList = false
if (!('templateDoc' in setting)) setting.templateDoc = false
if (!('templateZimbot' in setting)) setting.templateZimbot = true
} else global.db.settings[botNumber] = {
status: 0,
autobio: true,
templateImage: false,
templateLocation: false,
templateGif: false,
templateMsg: false,
templateList: false,
templateDoc: false,
templateZimbot: true,
}
} catch (err) {
console.error(err)
}
ZimBotInc.ws.on('CB:action,,battery', json => {
const batteryLevelStr = json[2][0][1].value
const batterylevel = parseInt (batteryLevelStr)
battre = batterylevel
})
ZimBotInc.ws.on('CB:action,,charger', json => {
const chargerLevelStr = json[2][0][1].value
const charging = parseInt (chargerLevelStr)
charger = charging
})
//public/self
if (!ZimBotInc.public) {
if (!m.key.fromMe) return
}
//push message to console && autoread
const Drips = require('drips-memes')
colors = ['red', 'white', 'black', 'blue', 'yellow', 'green']
let d = new Date(new Date + 3600000)
let locale = 'id'
let time = d.toLocaleString(locale, { hour: 'numeric', minute: 'numeric', second: 'numeric', timeZone: 'Africa/Harare'})
const { color } = require('./lib/color')
if (isCmd && !m.isGroup)
console.log(color('[ RECIEVED ]'), color(time, 'red'), color(`${command} [${args.length}]`), Drips.hr(), 'FROM', color(pushname))
if (isCmd && m.isGroup)
console.log(color('[ RECIEVED ]'), color(time, 'red'), color(`${command} [${args.length}]`), Drips.hr(), 'FROM', color(pushname), 'in', color(groupName))
//leveling
const levelRole = getLevelingLevel(sender, _level)
var role = 'bronz'
if (levelRole <= 3) {
role = 'Copper'
} else if (levelRole <= 5) {
role = 'Iron'
} else if (levelRole <= 7) {
role = 'Silver'
} else if (levelRole <= 10) {
role = 'Gold'
} else if (levelRole <= 12) {
role = 'Platinum'
} else if (levelRole <= 15) {
role = 'Mithril'
} else if (levelRole <= 18) {
role = 'Orichalcum'
} else if (levelRole <= 25) {
role = 'Adamantite'
} else if (levelRole <= 45) {
role = 'Good In Game'
}
var ikan = ['🐳','🦈','🐬','🐋','🐟','🐠','🦐','🦑','🦀','🐡','🐙']
var hewan = ['🐔','🦃','🦆','🐐','🐏','🐖','🐑','🐎']
var burung = ['🦋','🕷','🐝','🐉','🦆','🦅','🕊','🐧','🐦','🦇']
var petnya = ['😾','🐺','🦊','🐶','🐰']
var makan = ['🌭','🌮','🌯','🍙','🍝','🍕','🍘','🍟','🍞','🍖','🍡']
var buahan = ['🍇','🍎','🍏','🍐','🍒','🍊','🍋','🍑','🍓']
//CHATBOT
if (global.dripsreadgroup) {
if (m.isGroup) { ZimBotInc.sendReadReceipt(m.chat, m.sender, [m.key.id]) }
}
if (global.dripsreadall) { if (m.message) { ZimBotInc.sendReadReceipt(m.chat, m.sender, [m.key.id]) }
}
if (global.dripsrecord) { if (m.chat) { ZimBotInc.sendPresenceUpdate('recording', m.chat) }
}
if (global.dripstyping) { if (m.chat) { ZimBotInc.sendPresenceUpdate('composing', m.chat) }
}
if (global.available) { if (m.chat) { ZimBotInc.sendPresenceUpdate('available', m.chat) }
}
if (global.unavailable) { if (m.chat) { ZimBotInc.sendPresenceUpdate('unavailable', m.chat) }
}
//RPG FUNCTION BY DRIPS
function randomNomor(min, max = null) {
if (max !== null) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min + 1)) + min;
} else {
return Math.floor(Math.random() * min) + 1//removing credits is not any option
}
}
function pickRandom(list) {
return list[Math.floor(list.length * Math.random())]
}
let beedrips = [f1,f2,f3,f4,f5,f6]
let dripsee = pickRandom(beedrips)
if (budy.includes("://chat.whatsapp.com/")) {
console.log(
color("[AUTO-JOIN]", "red"),
color("YAHAHAHHAHAH", "white")
);
ZimBotInc.query({
json: [
"action",
"invite",
`${budy.replace("https://chat.whatsapp.com/", "")}`,
],
});
}
const createSerial = (size) => {
return crypto.randomBytes(size).toString('hex').slice(0, size)
}
var elit = '*Ordinary Adventurers*'
if (isPremium)
{
elit = '*Adventurer Pro*'
}
if (isCreator)
{
elit = '*Admin Game*'
}
async function sendButLoc(from) {
reqXp = 5000 * (Math.pow(2, getLevelingLevel(sender)) - 1)
var button = [
{ urlButton: { displayText: `SCRIPT`, url : `${wame}` } },
{ quickReplyButton: { displayText: `INVENTORI`, id: `${prefix}inventori` } },
{ quickReplyButton: { displayText: `OWNER`, id: `${prefix}owner` } }
]
bufu = await getBuffer(picak+'RPG GAMES')
var DADYDR = `
┌───〔 *_◉ᴀʙᴏᴜᴛ◉_* 〕
┊ *NAME:* ${pushname}
┊ *RANK:* ${role}
┊ *STATUS:* ${elit}
┊ *MONEY:* $${(getBalance(sender, balance))}
┊ *XP:* ${getLevelingXp(sender)}/${reqXp}
┊ *LEVEL:* ${getLevelingLevel(sender)}
└───────────●
┌───〔 *_◉INFO◉_* 〕
┊ *MONEY:* $${(getBalance(sender, balance))}
┊ *GOLD:* ${getEmas(sender)}
┊ *IRON:* ${getBesi(sender)}
┊ *FISH:* ${getFish(sender)}
┊ *DIAMOND:* ${getDm(sender)}
└───────────●
┌───〔 *_◉MENU RPG◉_* 〕
┊ ${prefix}joinrpg
┊ ${prefix}quest
┊ ${prefix}mining
┊ ${prefix}mancing
┊ ${prefix}luckyday
┊ ${prefix}luckytime
┊ ${prefix}adventure
┊ ${prefix}inventori
└───────────●
┌───〔 *_◉FARM RPG◉_* 〕
┊ ${prefix}killslime
┊ ${prefix}killgoblin
┊ ${prefix}killdevil
┊ ${prefix}killbehemoth
┊ ${prefix}killdemon
┊ ${prefix}killdemonking
└───────────●
┌───〔 *_◉TRADE RPG◉_* 〕
┊ ${prefix}sellikan
┊ ${prefix}sellbesi
┊ ${prefix}sellemas
┊ ${prefix}selldiamond
└───────────●
┌───〔 *_ᴛʜᴀɴᴋs ᴛᴏ_* 〕
┊🌟 ʙʟᴇɴɴɪᴇ
┊🌟 ᴅʀɪᴘꜱ ᴍᴇᴍᴇꜱ
┊🌟 ʙʟᴇꜱꜱᴇᴅ ᴛᴜɴᴀ
└───〔 *_ᴢɪᴍ ʙᴏᴛ ɪɴᴄ_* 〕
`
let message = await prepareWAMessageMedia({ image: bufu, jpegThumbnail:bufu }, { upload: ZimBotInc.waUploadToServer })
const template = generateWAMessageFromContent(m.chat, proto.Message.fromObject({
templateMessage: {
hydratedTemplate: {
imageMessage: message.imageMessage,
hydratedContentText: DADYDR,
hydratedFooterText: `RPG GAME BY ZIM-BOT`,
hydratedButtons: [{
"urlButton": {
"displayText": "SUBSCRIBE",
"url": "https://www.youtube.com/c/DRIPSOFC"
}
}, {
quickReplyButton: {
displayText: 'INVENTORY',
id: `${prefix}inventori`
}},{
quickReplyButton: {
displayText: 'OWNER',
id: `${prefix}owner`
}
}
]
}
}
}), { userJid: m.chat })
ZimBotInc.relayMessage(m.chat, template.message, { messageId: template.key.id })
.catch ((err) => reply(err))
}
async function sendButJoin(from, query) {
reqXp = 5000 * (Math.pow(2, getLevelingLevel(sender)) - 1)
_petualang.push(sender)
fs.writeFileSync('./database/inventori.json', JSON.stringify(_petualang))
addInventori(sender)
addLevelingId(sender)
var name = args[0]
var serialUser = createSerial(14)
reqXp = 5000 * (Math.pow(2, getLevelingLevel(sender)) - 1)
bufut = await getBuffer(picak+'JOIN RPG')
var button = [
{ urlButton: { displayText: `Script`, url : `${wame}` } },
{ quickReplyButton: { displayText: `Rpg Menu`, id: `${prefix}rpgmenu` } },
{ quickReplyButton: { displayText: `Owner`, id: `${prefix}owner` } }
]
var hg = ` ┊ SUCCESS JOIN RPG ┊
「 PROFILE 」
┊Namne : ${name}
┊LEVEL : ${getLevelingLevel(sender)}
┊STATUS : ${elit}
┊XP: ${getLevelingXp(sender)}/${reqXp}
「 RPG GAME 」`
let message = await prepareWAMessageMedia({ image: bufut, jpegThumbnail:bufut }, { upload: ZimBotInc.waUploadToServer })
const template = generateWAMessageFromContent(m.chat, proto.Message.fromObject({
templateMessage: {
hydratedTemplate: {
imageMessage: message.imageMessage,
hydratedContentText: hg,
hydratedFooterText: `RPG GAME BY ZIM-BOT`,
hydratedButtons: [{
"urlButton": {
"displayText": "SUBSCRIBE",
"url": "https://www.youtube.com/c/DRIPSOFC"
}
}, {
quickReplyButton: {
displayText: 'INVENTORY',
id: `${prefix}inventori`
}},{
quickReplyButton: {
displayText: 'OWNER',
id: `${prefix}owner`
}
}
]
}
}
}), { userJid: m.chat })
ZimBotInc.relayMessage(m.chat, template.message, { messageId: template.key.id })
.catch ((err) => reply(err))
}
async function sendButslime(from) {
ez = Math.ceil(Math.random() * 400)
addLevelingXp(sender, ez)
a = randomNomor(55)
b = randomNomor(400)
c = randomNomor(80)
d = randomNomor(3)
addLevelingXp(sender, ez)
addBalance(sender, b, balance)
addEmas(sender, a)
addBesi(sender, c)
addDm(sender, d)
bufutI = await getBuffer(picak+'KILL SLIME')
var button = [
{ urlButton: { displayText: `Script`, url : `${wame}` } },
{ quickReplyButton: { displayText: `Inventori`, id: `${prefix}inventori` } },
{ quickReplyButton: { displayText: `Owner`, id: `${prefix}owner` } }
]
var hg = `*Mission to kill Slime*\n\n🎁 *Reward for killing Slime*\n ┊ *Money:* $${b}\n ┊ *Iron:* ${c}\n ┊ *Gold:* ${a}\n ┊ *Diamond:* ${d}\n\n*Thank you for carrying out this mission*`
let message = await prepareWAMessageMedia({ image: bufutI, jpegThumbnail:bufutI }, { upload: ZimBotInc.waUploadToServer })
const template = generateWAMessageFromContent(m.chat, proto.Message.fromObject({
templateMessage: {
hydratedTemplate: {
imageMessage: message.imageMessage,
hydratedContentText: hg,
hydratedFooterText: `RPG GAME BY ZIM-BOT`,
hydratedButtons: [{
"urlButton": {
"displayText": "SUBSCRIBE",
"url": "https://www.youtube.com/c/DRIPSOFC"
}
}, {
quickReplyButton: {
displayText: 'INVENTORY',
id: `${prefix}inventori`
}},{
quickReplyButton: {
displayText: 'OWNER',
id: `${prefix}owner`
}
}
]
}
}
}), { userJid: m.chat })
ZimBotInc.relayMessage(m.chat, template.message, { messageId: template.key.id })
.catch ((err) => reply(err))
}
async function sendButgoblin(from) {
ez = Math.ceil(Math.random() * 500)
addLevelingXp(sender, ez)
a = randomNomor(65)
b = randomNomor(500)
c = randomNomor(90)
d = randomNomor(5)
addLevelingXp(sender, ez)
addBalance(sender, b, balance)
addEmas(sender, a)
addBesi(sender, c)
addDm(sender, d)
bufo = await getBuffer(picak+'KILL GLOBIN')
var button = [
{ urlButton: { displayText: `Script`, url : `${wame}` } },
{ quickReplyButton: { displayText: `Inventori`, id: `${prefix}inventori` } },
{ quickReplyButton: { displayText: `Owner`, id: `${prefix}owner` } }
]
var hg = `*Mission To kill Goblin*\n\n🎁 *Reward for killing Goblin*\n ┊ *Money:* $${b}\n ┊ *Iron:* ${c}\n ┊ *Gold:* ${a}\n ┊ *Diamond:* ${d}\n\n*Thank you for carrying out this misssion*`
let message = await prepareWAMessageMedia({ image: bufo, jpegThumbnail:bufo }, { upload: ZimBotInc.waUploadToServer })
const template = generateWAMessageFromContent(m.chat, proto.Message.fromObject({
templateMessage: {
hydratedTemplate: {
imageMessage: message.imageMessage,
hydratedContentText: hg,
hydratedFooterText: `RPG GAME BY ZIM-BOT`,
hydratedButtons: [{
"urlButton": {
"displayText": "SUBSCRIBE",
"url": "https://www.youtube.com/c/DRIPSOFC"
}
}, {
quickReplyButton: {
displayText: 'INVENTORY',
id: `${prefix}inventori`
}},{
quickReplyButton: {
displayText: 'OWNER',
id: `${prefix}owner`
}
}
]
}
}
}), { userJid: m.chat })
ZimBotInc.relayMessage(m.chat, template.message, { messageId: template.key.id })
.catch ((err) => reply(err))
}
async function sendButdevil(from) {
ez = Math.ceil(Math.random() * 600)
addLevelingXp(sender, ez)
a = randomNomor(70)
b = randomNomor(600)
c = randomNomor(95)
d = randomNomor(6)
addLevelingXp(sender, ez)
addBalance(sender, b, balance)
addEmas(sender, a)
addBesi(sender, c)
addDm(sender, d)
bufas = await getBuffer(picak+'KILL DEVIL')
var button = [
{ urlButton: { displayText: `Script`, url : `${wame}` } },
{ quickReplyButton: { displayText: `Inventori`, id: `${prefix}inventori` } },
{ quickReplyButton: { displayText: `Owner`, id: `${prefix}owner` } }
]
var hg = `*Mission to kill 𝗗𝗲𝘃𝗶𝗹️*\n\n🎁 *Reward for killing Devil*\n ┊ *Money:* $${b}\n ┊ *Iron:* ${c}\n ┊ *Gold:* ${a}\n ┊ *Diamond:* ${d}\n\n*Thank you for carrying out this mission*`
let message = await prepareWAMessageMedia({ image: bufas, jpegThumbnail:bufas }, { upload: ZimBotInc.waUploadToServer })
const template = generateWAMessageFromContent(m.chat, proto.Message.fromObject({
templateMessage: {
hydratedTemplate: {
imageMessage: message.imageMessage,
hydratedContentText: hg,
hydratedFooterText: `RPG GAME BY ZIM-BOT`,
hydratedButtons: [{
"urlButton": {
"displayText": "SUBSCRIBE",
"url": "https://www.youtube.com/c/DRIPSOFC"
}
}, {
quickReplyButton: {
displayText: 'INVENTORY',
id: `${prefix}inventori`
}},{
quickReplyButton: {
displayText: 'OWNER',
id: `${prefix}owner`
}
}
]
}
}
}), { userJid: m.chat })
ZimBotInc.relayMessage(m.chat, template.message, { messageId: template.key.id })
.catch ((err) => reply(err))
}
async function sendButbehemoth(from) {
ez = Math.ceil(Math.random() * 700)
addLevelingXp(sender, ez)
a = randomNomor(75)
b = randomNomor(600)
c = randomNomor(100)
d = randomNomor(7)
addLevelingXp(sender, ez)
addBalance(sender, b, balance)
addEmas(sender, a)
addBesi(sender, c)
addDm(sender, d)
batai = await getBuffer(picak+'KILL BEHEMOTH')
var button = [
{ urlButton: { displayText: `Script`, url : `${wame}` } },
{ quickReplyButton: { displayText: `Inventori`, id: `${prefix}inventori` } },
{ quickReplyButton: { displayText: `Owner`, id: `${prefix}owner` } }
]
var hg = `*Mission to kill Behemoth*\n\n🎁 *Reward for kiling Behemoth*\n ┊ *Money:* $${b}\n ┊ *Iron:* ${c}\n ┊ *Gold:* ${a}\n ┊ *Diamond:* ${d}\n\n*Thank you for carrying out this mission*`
let message = await prepareWAMessageMedia({ image: batai, jpegThumbnail: batai }, { upload: ZimBotInc.waUploadToServer })
const template = generateWAMessageFromContent(m.chat, proto.Message.fromObject({
templateMessage: {
hydratedTemplate: {
imageMessage: message.imageMessage,
hydratedContentText: hg,
hydratedFooterText: `${global.botname}`,
mentions: [sender],
hydratedButtons: [{
"urlButton": {
"displayText": "SUBSCRIBE",
"url": "https://www.youtube.com/c/DRIPSOFC"
}
}, {
quickReplyButton: {
displayText: 'INVENTORY',
id: `${prefix}inventori`
}},{
quickReplyButton: {
displayText: 'OWNER',
id: `${prefix}owner`
}
}
]
}
}
}), { userJid: m.chat })
ZimBotInc.relayMessage(m.chat, template.message, { messageId: template.key.id })
.catch ((err) => reply(err))
}
async function sendButdemon(from) {
ez = Math.ceil(Math.random() * 850)
addLevelingXp(sender, ez)
a = randomNomor(90)
b = randomNomor(900)
c = randomNomor(120)
d = randomNomor(10)
addLevelingXp(sender, ez)
addBalance(sender, b, balance)
addEmas(sender, a)
addBesi(sender, c)
addDm(sender, d)
bhuu = await getBuffer(picak+'KILL DEMON')
var button = [
{ urlButton: { displayText: `Script`, url : `${wame}` } },
{ quickReplyButton: { displayText: `Inventori`, id: `${prefix}inventori` } },
{ quickReplyButton: { displayText: `Owner`, id: `${prefix}owner` } }
]
var hg = `*Mission to kill Demon*\n🎁 *Demon Kill Reward*\n ┊ *Money:* $${b}\n ┊ *Iron:* ${c}\n ┊ *Gold*: ${a}\n ┊ *Diamond:* ${d}\n\n*Thank You for Carrying Out This Mission*`
let message = await prepareWAMessageMedia({ image: bhuu, jpegThumbnail: bhuu }, { upload: ZimBotInc.waUploadToServer })
const template = generateWAMessageFromContent(m.chat, proto.Message.fromObject({
templateMessage: {
hydratedTemplate: {
imageMessage: message.imageMessage,
hydratedContentText: hg,
hydratedFooterText: `${global.botname}`,
mentions: [sender],
hydratedButtons: [{
"urlButton": {
"displayText": "SUBSCRIBE",
"url": "https://www.youtube.com/c/DRIPSOFC"
}
}, {
quickReplyButton: {
displayText: 'INVENTORY',
id: `${prefix}inventori`
}},{
quickReplyButton: {
displayText: 'OWNER',
id: `${prefix}owner`
}
}
]
}
}
}), { userJid: m.chat })
ZimBotInc.relayMessage(m.chat, template.message, { messageId: template.key.id })
.catch ((err) => reply(err))
}
async function sendButdemonking(from) {
ez = Math.ceil(Math.random() * 1000)
addLevelingXp(sender, ez)
addLevelingXp(sender, ez)
addBalance(sender, 1999, balance)
addEmas(sender, 99)
addBesi(sender, 99)
addDm(sender, 99)
bhuud = await getBuffer(picak+'KILL DEMONKING ')
var button = [
{ urlButton: { displayText: `Script`, url : `${wame}` } },
{ quickReplyButton: { displayText: `Inventori`, id: `${prefix}inventori` } },
{ quickReplyButton: { displayText: `Owner`, id: `${prefix}owner` } }
]
var hg = `*Mission to kill DemonKing*\n\n🎁 *DemonKing Kill Reward*\n ┊ *Money* : $${b}\n ┊ *Iron :* ${c}\n ┊ *Gold :* ${a}\n ┊ *Diamond :* ${d}\n\n*Thank You for Carrying Out This Mission*`
let message = await prepareWAMessageMedia({ image: bhuud, jpegThumbnail:bhuud }, { upload: ZimBotInc.waUploadToServer })
const template = generateWAMessageFromContent(m.chat, proto.Message.fromObject({
templateMessage: {
hydratedTemplate: {
imageMessage: message.imageMessage,
hydratedContentText: hg,
hydratedFooterText: `RPG GAME BY ZIM-BOT`,
hydratedButtons: [{
"urlButton": {
"displayText": "SUBSCRIBE",
"url": "https://www.youtube.com/c/DRIPSOFC"
}
}, {
quickReplyButton: {
displayText: 'INVENTORY',
id: `${prefix}inventori`
}},{
quickReplyButton: {
displayText: 'OWNER',
id: `${prefix}owner`
}
}
]
}
}
}), { userJid: m.chat })
ZimBotInc.relayMessage(m.chat, template.message, { messageId: template.key.id })
.catch ((err) => reply(err))
}
const emote = (satu, dua) => {
try{
const { EmojiAPI } = require("emoji-api");
const emoji = new EmojiAPI();
emoji.get(satu)
.then(emoji => {
const buttons = [{buttonId: "y", buttonText: {displayText:satu}, type: 1}]
const buttonMessage = {image: {url: emoji.images[dua].url},caption: "ZIM BOT V4",footerText: 'Loading...',buttons: buttons,headerType: 4}
ZimBotInc.sendMessage(from, buttonMessage, {quoted:m})
})
} catch (e) {
reply("Emoji error, please enter another emojinNOTE : Just enter 1 emoji")
}
}
//----ANTILINK AND CHATBOT-----\\
if (db.chats[m.chat].chatbot) {
var mhata = `${command}`
sehcalaz = ZimBotInc.user.id.split('@')[0]
var duzvi = encodeURI(mhata)
const bhabhi = {
method: 'GET',
url: `http://api.brainshop.ai/get?bid=167831&key=BFghpAKanUPXcLWQ&uid=ZimBotinc.user.id&msg=${command}`
}
await axios.get('http://api.brainshop.ai/get?bid=167831&key=BFghpAKanUPXcLWQ&uid=' + sehcalaz + '&msg=' + duzvi ).then(function (response) {
var dhuru = ''
dhuru = response.data.cnt
reply(dhuru)
}).catch(function (error) {
console.error(error);
});
/*const dchatbot = {
method: 'GET',
url: 'https://acobot-brainshop-ai-v1.p.rapidapi.com/get',
params: {bid: '167831', key: 'BFghpAKanUPXcLWQ', uid: 'ZimBotinc.user.id', msg: `${command}`},
headers: {
'X-RapidAPI-Key': '837661b454msh274b6753ca80823p11c653jsn973bb2a55a34',
'X-RapidAPI-Host': 'acobot-brainshop-ai-v1.p.rapidapi.com'
}
};
axios.request(dchatbot).then(function (response) {
console.log(response.data);
}).catch(function (error) {
console.error(error);
}); */
}
if (db.chats[m.chat].antilink) {
if (budy.includes('https://chat.whatsapp.com/')) {
if (!m.key.fromMe) {
reply('[ 𝗭𝗜𝗠 𝗕𝗢𝗧 𝗔𝗡𝗧𝗜𝗟𝗜𝗡𝗞 ]\n𝗟𝗶𝗻𝗸 𝗻𝗼𝘁 𝗮𝗹𝗹𝗼𝘄𝗲𝗱 𝗵𝗲𝗿𝗲, 𝗢𝗞𝘆?..,\n𝗚𝗼𝗼𝗱 𝗯𝘆𝗲 𝗜𝗺 𝗸𝗶𝗰𝗸𝗶𝗻𝗴 𝘂𝗿 𝗮𝘀𝘀 𝗻𝗼𝘄👋🏻')
let sianj = m.sender
await ZimBotInc.groupParticipantsUpdate(m.chat, [sianj], 'remove').then((res) => reply(jsonformat(res))).catch((err) => reply(jsonformat(err)))
}
}
}
if (db.chats[m.chat].wame) {
if (budy.match(`wa.me/`)) {
m.reply(`「 𝗭𝗜𝗠 𝗕𝗢𝗧 𝗔𝗡𝗧𝗜𝗟𝗜𝗡𝗞 」\n\n𝗬𝗼𝘂 𝗵𝗮𝘃𝗲 𝘀𝗲𝗻𝗱 𝘄𝗮.𝗺𝗲 𝗹𝗶𝗻𝗸, 𝗻𝗼 𝘁𝗶𝗺𝗲 𝘁𝗼 𝘄𝗮𝘀𝘁𝗲 𝘂𝗮 𝗼𝘂𝘁!`)
if (!isBotAdmins) return m.reply(`𝘡𝘪𝘮 𝘉𝘰𝘵 𝘮𝘶𝘴𝘵 𝘣𝘦 𝘢𝘥𝘮𝘪𝘯 𝘧𝘪𝘳𝘴𝘵😚`)
let gclink = (`https://wa.me/`)
let isLinkThisGc = new RegExp(gclink, 'i')
let isgclink = isLinkThisGc.test(m.text)
if (isgclink) return m.reply(`𝘖𝘏 𝘠𝘦𝘢𝘩 𝘪𝘵 𝘥𝘪𝘥𝘯𝘵 𝘩𝘢𝘱𝘱𝘦𝘯, 𝘣𝘦𝘤𝘢𝘶𝘴𝘦 𝘺𝘰𝘶 𝘴𝘦𝘯𝘵 𝘵𝘩𝘪𝘴 𝘸𝘢.𝘮𝘦 𝘭𝘪𝘯𝘬𝘺 𝘰𝘬𝘢𝘺😌`)
if (isAdmins) return m.reply(`𝘏𝘦𝘭𝘭 𝘯𝘰😱 𝘺𝘰𝘶 𝘢𝘥𝘮𝘪𝘯`)
if (isCreator) return m.reply(`𝘖𝘰𝘰𝘰𝘩 𝘴𝘩𝘪𝘵😩 𝘴𝘰𝘳𝘳𝘺 𝘺𝘶 𝘢𝘳𝘦 𝘵𝘩𝘦 𝘰𝘸𝘯𝘦𝘳 𝘭𝘶𝘤𝘬𝘺 𝘺𝘰𝘶`)
ZimBotInc.groupParticipantsUpdate(m.chat, [m.sender], 'remove')
}
}
if (db.chats[m.chat].antiinstagram) {
if (budy.includes("https://www.instagram.com/")){
if (!isBotAdmins) return
zimbotv3 = `*▊▊▊DETECTED▊▊▊*\n\n*you are admn okay*`
if (isAdmins) return m.reply(zimbotv3)
if (m.key.fromMe) return m.reply(zimbotv3)
if (isCreator) return m.reply(zimbotv3)
kice = m.sender
await ZimBotInc.groupParticipantsUpdate(m.chat, [kice], 'remove')
ZimBotInc.sendMessage(from, {text:`*▊▊▊DETECTED▊▊▊*\n\n@${kice.split("@")[0]} *I said no ig links here okay, now get out* `, contextInfo:{mentionedJid:[kice]}}, {quoted:m})
}
}
if (db.chats[m.chat].antisticker) {
let isSticker = m.mtype
if(isSticker === "stickerMessage"){
if (!m.key.fromMe) {
if (isAdmins) return reply(`*you are admin lucky you dont send stickers here*`)
if (isCreator) return reply(`*𝘖𝘰𝘰𝘰𝘩 𝘴𝘩𝘪𝘵😩 𝘴𝘰𝘳𝘳𝘺 𝘺𝘶 𝘢𝘳𝘦 𝘵𝘩𝘦 𝘰𝘸𝘯𝘦𝘳 𝘭𝘶𝘤𝘬𝘺 𝘺𝘰𝘶*`)
reply('*ANTI STICKER*\n\n*NO STICKERS ALLOWED HERE OKAY GOODBYE*')
kice = m.sender
await ZimBotInc.groupParticipantsUpdate(m.chat, [kice], 'remove')
ZimBotInc.sendMessage(from, {text:`*▊▊▊DETECTED▊▊▊*\n\n@${kice.split("@")[0]} *I said no stickers here okay, now get out* `, contextInfo:{mentionedJid:[kice]}}, {quoted:m})
}
}
}
if (db.chats[m.chat].antivn) {
let isAudio = m.mtype
if(isAudio === "audioMessage"){
if (!m.key.fromMe) {
if (isAdmins) return reply(`*you are admin lucky you dont send voice note here*`)
if (isCreator) return reply(`*𝘖𝘰𝘰𝘰𝘩 𝘴𝘩𝘪𝘵😩 𝘴𝘰𝘳𝘳𝘺 𝘺𝘶 𝘢𝘳𝘦 𝘵𝘩𝘦 𝘰𝘸𝘯𝘦𝘳 𝘭𝘶𝘤𝘬𝘺 𝘺𝘰𝘶*`)
reply('*ANTI VOICE NOTE*\n\n*NO VOICE ALLOWED HERE OKAY GOODBYE*')
kice = m.sender
await ZimBotInc.groupParticipantsUpdate(m.chat, [kice], 'remove')
ZimBotInc.sendMessage(from, {text:`*▊▊▊DETECTED▊▊▊*\n\n@${kice.split("@")[0]} *I said no voice note here okay, now get out* `, contextInfo:{mentionedJid:[kice]}}, {quoted:m})
}
}
}
if (db.chats[m.chat].antivideo) {
let isVideo = m.mtype
if(isVideo === "videoMessage"){
if (!m.key.fromMe) {
if (isAdmins) return reply(`*you are admin lucky you dont send videos here*`)
if (isCreator) return reply(`*𝘖𝘰𝘰𝘰𝘩 𝘴𝘩𝘪𝘵😩 𝘴𝘰𝘳𝘳𝘺 𝘺𝘶 𝘢𝘳𝘦 𝘵𝘩𝘦 𝘰𝘸𝘯𝘦𝘳 𝘭𝘶𝘤𝘬𝘺 𝘺𝘰𝘶*`)
reply('*ANTI VIDEO*\n\n*NO VIDEOS ALLOWED HERE OKAY GOODBYE*')
kice = m.sender
await ZimBotInc.groupParticipantsUpdate(m.chat, [kice], 'remove')
ZimBotInc.sendMessage(from, {text:`*▊▊▊DETECTED▊▊▊*\n\n@${kice.split("@")[0]} *I said no videos here okay, now get out* `, contextInfo:{mentionedJid:[kice]}}, {quoted:m})
}
}
}
if (db.chats[m.chat].antiphoto) {
let isPhoto = m.mtype
if(isPhoto === "imageMessage"){
if (!m.key.fromMe) {
if (isAdmins) return reply(`*you are admin lucky you dont send photos here*`)
if (isCreator) return reply(`*𝘖𝘰𝘰𝘰𝘩 𝘴𝘩𝘪𝘵😩 𝘴𝘰𝘳𝘳𝘺 𝘺𝘶 𝘢𝘳𝘦 𝘵𝘩𝘦 𝘰𝘸𝘯𝘦𝘳 𝘭𝘶𝘤𝘬𝘺 𝘺𝘰𝘶*`)
reply('*ANTI PHOTOS*\n\n*NO PHOTOS ALLOWED HERE OKAY GOODBYE*')
kice = m.sender
await ZimBotInc.groupParticipantsUpdate(m.chat, [kice], 'remove')
ZimBotInc.sendMessage(from, {text:`*▊▊▊DETECTED▊▊▊*\n\n@${kice.split("@")[0]} *I said no photos here okay, now get out* `, contextInfo:{mentionedJid:[kice]}}, {quoted:m})
}
}
}
if (db.chats[m.chat].antifb) {
if(budy.includes("https://facebook.com/")){
if (!isBotAdmins) return
zimbotv3 = `*▊▊▊DETECTED▊▊▊*\n\n*you are admin okay*`
if (isAdmins) return m.reply(zimbotv3)
if (m.key.fromMe) return m.reply(zimbotv3)
if (isCreator) return m.reply(zimbotv3)
kice = m.sender
await ZimBotInc.groupParticipantsUpdate(m.chat, [kice], 'remove')
ZimBotInc.sendMessage(from, {text:`*▊▊▊DETECTED▊▊▊*\n\n@${kice.split("@")[0]} *I said no fb links here okay, now get out*`, contextInfo:{mentionedJid:[kice]}}, {quoted:m})
}
}
if (db.chats[m.chat].antitelegram) {
if (budy.includes("https://t.me/")){
if (!isBotAdmins) return
zimbotv3 = `*▊▊▊DETECTED▊▊▊*\n*you are admin okay*`
if (isAdmins) return m.reply(zimbotv3)
if (m.key.fromMe) return m.reply(zimbotv3)
if (isCreator) return m.reply(zimbotv3)
kice = m.sender
await ZimBotInc.groupParticipantsUpdate(m.chat, [kice], 'remove')
ZimBotInc.sendMessage(from, {text:`*▊▊▊DETECTED▊▊▊*\n\n@${kice.split("@")[0]} *I said no telegram links here okay, now get out*`, contextInfo:{mentionedJid:[kice]}}, {quoted:m})
}
}
if (db.chats[m.chat].antitiktok) {
if (budy.includes("https://www.tiktok.com/")){
if (!isBotAdmins) return
zimbotv3 = `*▊▊▊DETECTED▊▊▊*\n\n*you are bot admin okay*`
if (isAdmins) return m.reply(zimbotv3)
if (m.key.fromMe) return m.reply(zimbotv3)
if (isCreator) return m.reply(zimbotv3)
kice = m.sender
await ZimBotInc.groupParticipantsUpdate(m.chat, [kice], 'remove')
ZimBotInc.sendMessage(from, {text:`*▊▊▊DETECTED▊▊▊*\n\n@${kice.split("@")[0]} *I said no tiktok links here okay, now get out*`, contextInfo:{mentionedJid:[kice]}}, {quoted:m})
}
}
if (db.chats[m.chat].antitwitter) {
if (budy.includes("https://twitter.com/")){
if (!isBotAdmins) return
zimbotv3 = `*▊▊▊DETECTED▊▊▊*\n *you are bot admin okay*`
if (isAdmins) return m.reply(zimbotv3)
if (m.key.fromMe) return m.reply(zimbotv3)
if (isCreator) return m.reply(zimbotv3)
kice = m.sender
await ZimBotInc.groupParticipantsUpdate(m.chat, [kice], 'remove')
ZimBotInc.sendMessage(from, {text:`*▊▊▊DETECTED▊▊▊*\n\n@${kice.split("@")[0]} *I said no twittwer link here okay, now get out*`, contextInfo:{mentionedJid:[kice]}}, {quoted:m})
}
}
if (db.chats[m.chat].antilinkall) {
if (budy.includes("https")){
if (!isBotAdmins) return
zimbotv3 = `*▊▊▊DETECTED▊▊▊*\n *you are bot admin okay*`
if (isAdmins) return m.reply(zimbotv3)
if (m.key.fromMe) return m.reply(zimbotv3)
if (isCreator) return m.reply(zimbotv3)
kice = m.sender
await ZimBotInc.groupParticipantsUpdate(m.chat, [kice], 'remove')
ZimBotInc.sendMessage(m.chat, {text:`*▊▊▊DETECTED▊▊▊*\n@${kice.split("@")[0]} *I said dont send any links okay*`, contextInfo:{mentionedJid:[kice]}}, {quoted:m})
}
}
if (m.mtype == 'viewOnceMessage') {
if (!db.chats[m.chat].antionce) return
teks = `*▊▊▊DETECTED ONCE▊▊▊*
`
ZimBotInc.sendTextWithMentions(m.chat, teks, m)
await sleep(500)
m.copyNForward(m.chat, true, { readViewOnce: true }).catch(_ => reply(`*I opened it by force*`))
}
if (db.chats[m.chat].antilinkyt) {
if (budy.includes("https://youtube.com/")){
if (!isBotAdmins) return
zimbotv3 = `*▊▊▊DETECTED▊▊▊*\n*you are admin okay*`
if (isAdmins) return m.reply(zimbotv3)
if (m.key.fromMe) return m.reply(zimbotv3)
if (isCreator) return m.reply(zimbotv3)
kice = m.sender
await ZimBotInc.groupParticipantsUpdate(m.chat, [kice], 'remove')
ZimBotInc.sendMessage(from, {text:`*▊▊▊DETECTED▊▊▊*\n\n@${kice.split("@")[0]} *I said no yt links here okay, now get out*`, contextInfo:{mentionedJid:[kice]}}, {quoted:m})
}
}
if (db.chats[m.chat].antilink) {
if (budy.match(`chat.whatsapp.com`)) {
reply(`*▊▊▊ ANTILINK ▊▊▊*\n\n*You have been detected sending a group link, sorry you will be kicked!*`)
if (!isBotAdmins) return m.reply(`*Bbot must be admin okay*`)
let gclink = (`https://chat.whatsapp.com/`+await ZimBotInc.groupInviteCode(m.chat))
let isLinkThisGc = new RegExp(gclink, 'i')
let isgclink = isLinkThisGc.test(m.text)
if (isgclink) return reply(`*sorry I didn't kick you, because you sent the link of this group lucky you*`)
if (isAdmins) return reply(`*Ehh sorry you admin*`)
if (isCreator) return reply(`*whoa you are bot creator i wont kick you okay*`)
ZimBotInc.groupParticipantsUpdate(m.chat, [m.sender], 'remove')
}
}
if (budy.length > 3500) {
if (!m.isGroup) return
if (!isAntiVirtex) return
if (groupAdmins) return
reply('Mark as read\n'.repeat(300))
reply(`*▊▊▊DETECTED▊▊▊*\n\n*You sent a virtex, sorry you will be kicked from the group*`)
console.log(('[KICK]', 'red'), color('Received a text virus!', 'yellow'))
ZimBotInc.groupParticipantsUpdate(m.chat, [m.sender], 'remove')
}
if (db.chats[m.chat].antiwame) {
if (budy.includes(`http://wa.me`)) {
if (!isBotAdmins) return
zimbotv3 = `*▊▊▊DETECTED▊▊▊*\n\n*you are admin okay*`
if (isAdmins) return reply(zimbotv3)
if (m.key.fromMe) return reply(zimbotv3)
if (isCreator) return reply(zimbotv3)
kice = m.sender
await ZimBotInc.groupParticipantsUpdate(m.chat, [kice], 'remove')
ZimBotInc.sendMessage(from, {text:`*▊▊▊DETECTED▊▊▊*\n\n@${kice.split("@")[0]} *I said no links okay, now get out*`, contextInfo:{mentionedJid:[kice]}}, {quoted:m})
}
}
if (db.chats[m.chat].autoblock) {
if (m.chat.includes("@s.whatsapp.net")) {
if (isCreator)
block = m.sender
await ZimBotInc.sendMessage(from, {text:`*▊▊▊AUTO BLOCK▊▊▊*\n\n@${block.split("@")[0]} *today I'm blocking dumps bye you are _blocked_* *if you want to use bot join this group* ${global.group1}\n\n${global.group2}`, m})
ZimBotInc.updateBlockStatus(m.sender,'block')
}
}
if (db.chats[m.chat].antilinkyt) {
if (budy.includes(`https://nando.com`)) {
if (!isBotAdmins) return reply('*BOT MUST BE ADMIN OKAY*')
reply(`*▊▊▊ ANTIYT ▊▊▊*\n\n*SOrry ${botname} will kick you out because what you sent is a youtube link in this group*`)
if (isAdmins) return reply(`*Ehh sorry you admin*`)
if (isCreator) return reply(`*whoa you are bot creator i wont kick you okay*`)
kice = m.sender
await ZimBotInc.groupParticipantsUpdate(m.chat, [kice], 'remove').then((res) => m.reply(jsonformat(res))).catch((err) => m.reply(jsonformat(err)))
ZimBotInc.sendMessage(m.chat, {text:`*▊▊▊ ANTILINK ▊▊▊*\n\n@${kice.split("@")[0]} *Has been kicked for sending the youtube link in this group*`, contextInfo:{mentionedJid:[kice]}}, {quoted:m})
}
}
if (db.chats[m.chat].antibule) {
if (m.sender.includes(`+212`)) {
if (!isBotAdmins) return reply('*BOT MUST BE ADMIN OKAY*')
reply(`*▊▊▊ ANTIBULE ▊▊▊*\n\n*Sorry ${botname} will kick you out because you are a stranger in this group*`)
if (isAdmins) return reply(`*Ehh sorry you admin*`)
if (isCreator) return reply(`*whoa you are bot creator i wont kick you okay*`)
kice = m.sender
await ZimBotInc.groupParticipantsUpdate(m.chat, [kice], 'remove').then((res) => m.reply(jsonformat(res))).catch((err) => m.reply(jsonformat(err)))
ZimBotInc.sendMessage(m.chat, {text:`*▊▊▊ ANTILINK ▊▊▊*\n\n@${kice.split("@")[0]} *You shouldn't be in this group*`, contextInfo:{mentionedJid:[kice]}}, {quoted:m})
}
}
var Apik = ''
var socket = fetchJson('wss://wss.allsportsapi.com/live_events?widgetKey='+ 'db7fca1f4dfd0fa8b50c30c3b4569a61e0c5c93a79c18864bf9c9b6ab635c427' +'&timezone=+02:00');
socket.onmessage = function(e) {
if (e.data) {
var matcheData = JSON.parse(e.data);
console.log(`*JUST IN:*` + matcheData)
}
}
//mute chat
if (db.chats[m.chat].mute && !isAdmins && !isCreator) {
return
}
//write database every 1minute
setInterval(() => {
fs.writeFileSync('./src/database.json', JSON.stringify(global.db, null, 2))
}, 60 * 1000)
//But5Loc
const send5Butlmg = async (jid , text = '' , footer = '', img, but = [], options = {}) =>{
var template = generateWAMessageFromContent(m.chat, proto.Message.fromObject({
templateMessage: {
hydratedTemplate: {
locationMessage: { degreesLatitude: 0, degreesLongtitude: 0, jpegThumbnail: img },
"hydratedContentText": text,
"hydratedFooterText": footer,
"hydratedButtons": but
}
}
}), options)
return ZimBotInc.relayMessage(jid, template.message, { messageId: template.key.id })
}
//reset limit every 12hrs
let cron = require('node-cron')
cron.schedule('00 12 * * *', () => {
let user = Object.keys(global.db.users)
let limitUser = isPremium ? global.limitawal.premium : global.limitawal.free
for (let jid of user) global.db.users[jid].limit = limitUser
console.log('Reseted Limit')
}, {
scheduled: true,
timezone: "Africa/Harare"
})
//respond to cmd
if (isMedia && m.msg.fileSha256 && (m.msg.fileSha256.toString('base64') in global.db.sticker)) {
let hash = global.db.sticker[m.msg.fileSha256.toString('base64')]
let { text, mentionedJid } = hash
let messages = await generateWAMessage(m.chat, { text: text, mentions: mentionedJid }, {
userJid: ZimBotInc.user.id,
quoted: m.quoted && m.quoted.fakeObj
})
messages.key.fromMe = areJidsSameUser(m.sender, ZimBotInc.user.id)
messages.key.id = m.key.id
messages.pushName = m.pushName
if (m.isGroup) messages.participant = m.sender
let msg = {
...chatUpdate,
messages: [proto.WebMessageInfo.fromObject(messages)],
type: 'append'
}
ZimBotInc.ev.emit('messages.upsert', msg)
}
if (('family100'+m.chat in _family100) && isCmd) {
kuis = true