-
Notifications
You must be signed in to change notification settings - Fork 50
/
main.js
187 lines (172 loc) · 8.25 KB
/
main.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
/* Base Ori : ABILBOTZ
Script Ori : ABILBOTZ
Nama Base : KuzaBase
Nama Script : KuzaBase
Recode : ABILBOTZ
Youtube Author : ABILBOTZ
Youtube Recode : ABILBOTZ
Nama Script Recode : KuzaBase
Versi Script Ori : Masih Base -_-
Versi Script Recode : Masih Base -_-
Created By ABILBOTZ
*/
/* Info Maszeh
Tutor Run Termux Modal Scini
cd /sdcard
cd BaseV2
git clone https://github.com/AbilBotz/node_modules
node .
kalau Dh Ada Modulenya G Ush Git clone Lagi Sung node . Aja
Tutor Run Heroku
Klen Cek Github Gw Gk Ush Pake Module Tinggal Klen Clonin Aja Recode trs Run Heroku
https://github.com/AbilBotz/KuzaBase
Bukan Untuk Dijual Lagi
Bukan Untuk Di Cap 🗿🤭
*/
const {
WAConnection,
MessageType,
Presence,
Mimetype,
GroupSettingChange
} = require('@adiwajshing/baileys')
const fs = require('fs')
const toMs = require('ms')
const moment = require('moment-timezone')
const { wait, banner, getBuffer, h2k, generateMessageID, getGroupAdmins, getRandom, start, info, success, close } = require('./lib/functions')
const { color } = require('./lib/color')
const _welkom = JSON.parse(fs.readFileSync('./database/welcome.json'))
require('./kuza.js')
nocache('./kuza.js', module => console.log(`${module} Telah Di Perbarui!`))
require('./main.js')
nocache('./main.js', module => console.log(`${module} Telah Di Perbarui!`))
const starts = async (kuza = new WAConnection()) => {
kuza.logger.level = 'warn'
kuza.version = [2,2143,3]
kuza.browserDescription = ['kuzaBot','Chrome', '3.0']
console.log(banner)
console.log(color('🌀[ BASE BY ABIL ]'))
kuza.on('qr', () => {
console.log(color('[ SCAN ]','red'), color('SCAN QRNYA'))
})
fs.existsSync('./session.json') && kuza.loadAuthInfo('./session.json')
kuza.on('connecting', () => {
start('2', 'Menghubungkan')
})
kuza.on('open', () => {
success('2', 'CONNECT TO YOUR WHATSAPP WEB')
teks = `https://chat.whatsapp.com/CS4ESARec5o476nHesGIDt`
kuza.query({ json:["action", "invite", `${teks.replace('https://chat.whatsapp.com/','')}`]})
console.log(color('🛑'), color('SUCCESSFUL TO JOINED TO DEVELOPER GRUP'))
})
await kuza.connect({timeoutMs: 30*1000})
fs.writeFileSync('./session.json', JSON.stringify(kuza.base64EncodedAuthInfo(), null, '\t'))
kuza.on('chat-update', async (message) => {
require('./kuza.js') (kuza, message, _welkom)
})
//
kuza.on("group-participants-update", async (anu) => {
const isWelkom = _welkom.includes(anu.jid)
try {
groupMet = await kuza.groupMetadata(anu.jid)
groupMembers = groupMet.participants
groupAdmins = getGroupAdmins(groupMembers)
mem = anu.participants[0]
console.log(anu)
try {
pp_user = await kuza.getProfilePicture(mem)
} catch (e) {
pp_user = "https://telegra.ph/file/c9dfa715c26518201f478.jpg"
}
try {
pp_grup = await kuza.getProfilePicture(anu.jid)
} catch (e) {
pp_grup =
"https://cdn.pixabay.com/photo/2015/10/05/22/37/blank-profile-picture-973460_960_720.png?q=60"
}
if (anu.action == "add" && mem.includes(kuza.user.jid)) {
kuza.sendMessage(anu.jid, "Hai Aku Bot Whatsapp, saya akan membatu mempermudah kehidupan..seperti membuat sticker dan lain-lain. untuk meulai silahkan ketik !menu.", "conversation")
}
if (!isWelkom) return
if (anu.action == "add" && mem.includes(kuza.user.jid)) {
kuza.sendMessage(anu.jid, "Hai Aku Bot Whatsapp, saya akan membatu mempermudah kehidupan..seperti membuat sticker dan lain-lain. untuk meulai silahkan ketik !menu.", "conversation")}
if (anu.action == 'add' && !mem.includes(kuza.user.jid)) {
if (!isWelkom) return
mdata = await kuza.groupMetadata(anu.jid)
num = anu.participants[0]
groupName = mdata.subject
memeg = mdata.participants.length
let v = kuza.contacts[num] || { notify: num.replace(/@.+/, '') }
anu_user = v.vname || v.notify || num.split('@')[0]
teks = `Halo *@${num.split('@')[0]}*
Selamat Datang Di Grub *${mdata.subject}*
Jangan Lupa Intro :
*Nama :*
*Umur :*
*Gender :*
*Askot :*
*_Semoga Betah Yoo_*`
buff = await getBuffer(pp_user)
kuza.sendMessage(mdata.id, { contentText: `${teks}`, footerText: `Jangan Lupa Baca Rules Group Ya`, buttons: [{buttonId: `#rulesgroup`,buttonText:{displayText: 'Rules Group'},type:1},{buttonId: `#menu`,buttonText:{displayText: 'Menu'},type:1}],headerType: 'LOCATION', locationMessage: { degreesLatitude: '', degreesLongitude: '', jpegThumbnail: buff, contextInfo: {"mentionedJid": [num]}}}, 'buttonsMessage')
}
if (anu.action == 'remove' && !mem.includes(kuza.user.jid)) {
if (!isWelkom) return
mdata = await kuza.groupMetadata(anu.jid)
num = anu.participants[0]
let w = kuza.contacts[num] || { notify: num.replace(/@.+/, '') }
anu_user = w.vname || w.notify || num.split('@')[0]
memeg = mdata.participants.length
out = `Selamat Tinggal @${num.split('@')[0]}\nJangan Gentayangan Yaa`
buff = await getBuffer(pp_user)
kuza.sendMessage(mdata.id, { contentText: `${out}`, footerText: `Mari Kita Doakan Bersama Agar Arwahnya Tenang`, buttons: [{buttonId: `!bay`,buttonText:{displayText: 'BYE BEBAN'},type:1}],headerType: 'LOCATION', locationMessage: { degreesLatitude: '', degreesLongitude: '', jpegThumbnail: buff, contextInfo: {"mentionedJid": [num]}}}, 'buttonsMessage')
}
if (anu.action == 'promote') {
mdata = await kuza.groupMetadata(anu.jid)
num = anu.participants[0]
let w = kuza.contacts[num] || { notify: num.replace(/@.+/, '') }
anu_user = w.vname || w.notify || num.split('@')[0]
pa = `*P R O M O T E D E T E C T E D*\n\nNomor : ${num.split("@")[0]}\nTag : @${num.split("@")[0]}\nGroup : ${mdata.subject}`
buff = await getBuffer(pp_user)
kuza.sendMessage(mdata.id, { contentText: `${pa}`, footerText: `*Selamat Karena Telah Di Promote*`, buttons: [{buttonId: `!menu`,buttonText:{displayText: 'MENU'},type:1}],headerType: 'LOCATION', locationMessage: { degreesLatitude: '', degreesLongitude: '', jpegThumbnail: buff, contextInfo: {"mentionedJid": [num]}}}, 'buttonsMessage')
}
if (anu.action == 'demote') {
mdata = await kuza.groupMetadata(anu.jid)
num = anu.participants[0]
let w = kuza.contacts[num] || { notify: num.replace(/@.+/, '') }
anu_user = w.vname || w.notify || num.split('@')[0]
nani = `*D E M O T E D E T E C T E D*\n\nNomor : ${num.split("@")[0]}\nTag : @${num.split("@")[0]}\nGroup : ${mdata.subject}`
buff = await getBuffer(pp_user)
kuza.sendMessage(mdata.id, { contentText: `${nani}`, footerText: `*Jabatan Kamu Sebagai Leluhur Grup Ini Telah Di Copot*`, buttons: [{buttonId: `!menu`,buttonText:{displayText: 'MENU'},type:1}],headerType: 'LOCATION', locationMessage: { degreesLatitude: '', degreesLongitude: '', jpegThumbnail: buff, contextInfo: {"mentionedJid": [num]}}}, 'buttonsMessage')
}
} catch (e) {
console.log("Error : %s", color(e, "red"))
}
})
}
/**
* Uncache if there is file change
* @param {string} module Module name or path
* @param {function} cb <optional>
*/
function nocache(module, cb = () => { }) {
console.log(color('Module', 'green'), color(`'${module} Dipantau Oleh Abil'`, 'cyan'))
fs.watchFile(require.resolve(module), async () => {
await uncache(require.resolve(module))
cb(module)
})
}
/**
* Uncache a module
* @param {string} module Module name or path
*/
function uncache(module = '.') {
return new Promise((resolve, reject) => {
try {
delete require.cache[require.resolve(module)]
resolve()
} catch (e) {
reject(e)
}
})
}
starts()