Skip to content
This repository has been archived by the owner on May 3, 2023. It is now read-only.

Commit

Permalink
Update v2.4.0-core-2.5
Browse files Browse the repository at this point in the history
  • Loading branch information
anubiskun committed Oct 30, 2022
1 parent 7180eee commit 802613a
Show file tree
Hide file tree
Showing 11 changed files with 1,150 additions and 2,665 deletions.
16 changes: 13 additions & 3 deletions anubis.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ const mongoDB = require('./library/mongoDB')
const database = new Low(opts['test'] ? new JSONFileSync(`database.json`) : new mongoDB(mongoUser))
const store = makeInMemoryStore({ logger: pino().child({ level: 'silent', stream: 'store' }) })
const sleep = ms => new Promise(resolve => setTimeout(resolve, ms))
let exec = require('util').promisify(require('child_process').exec).bind(require('child_process'))

async function loadDatabase() {
await database.read()
Expand Down Expand Up @@ -83,9 +84,9 @@ global.reload = (_event, filename) => {
async function reloadConnector() {
let { anubisFunc, smsg } = require('./library/lib')
const { version, error } = await fetchLatestWaWebVersion()
const { state, anuCreds } = await jsonFileAuth(database.data.auth, global.sesName) // uncomment this line if you want to use database cloud
// const {state, anuCreds} = await jsonFileAuth(global.sesName + '.json') // uncomment this line if you want to use database local
// const {state, anuCreds} = await useMultiFileAuthState(global.sesName) // uncomment this line if you want to use multi file auth state
const { state, anuCreds, type } = jsonFileAuth(database.data.auth, global.sesName) // uncomment this line if you want to use database cloud
// const {state, anuCreds, type} = jsonFileAuth(global.sesName + '.json') // uncomment this line if you want to use database local
// const {state, anuCreds, type} = await useMultiFileAuthState(global.sesName) // uncomment this line if you want to use multi file auth state
await database.write()
const anubis = WAConnection({
version: (error) ? [2, 2234, 13] : version,
Expand All @@ -99,6 +100,15 @@ async function reloadConnector() {
connectTimeoutMs: 5000,
})
anubis.db = database
if (!type) {
let { stdout } = exec('npm i github:anubiskun/Baileys')
if (stdout){
return await reloadConnector();
} else {
return new Error('Please update anubiskun/Baileys manual')
}
}
anubis.type = type
anubis.anubiskun = S_WHATSAPP_NET
Object.freeze(global.reload)
fs.watch(Path.join(__dirname, 'plugins'), global.reload)
Expand Down
41 changes: 31 additions & 10 deletions library/conector.js
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,8 @@ module.exports = {
if (typeof database.note !== "object") database.note = {};
if (!("lastRestart" in database)) database.lastRestart = false;
if (!("banUrl" in database)) database.banUrl = ['chat.whatsapp.com'];
if (!("banWords" in database)) database.banWords = ['kontol','memek','meki'];
if (!("banWords" in database)) database.banWords = ['kontol', 'memek', 'meki'];
if (!("banSticker" in database)) database.banSticker = [];

if (m.isGroup) {
if (typeof database.note[m.chat] !== "object") database.note[m.chat] = {};
Expand All @@ -104,17 +105,24 @@ module.exports = {
if (!("antiviewonce" in chats)) chats.antiviewonce = false;
if (!("antibadword" in chats)) chats.antibadword = false;
if (!("antilink" in chats)) chats.antilink = false;
if (!("antisticker" in chats)) chats.antisticker = false;
if (!("welcomer" in chats)) chats.welcomer = false;
if (!("banWords" in chats)) chats.banWords = [];
if (!("banUrl" in chats)) chats.banUrl = [];
if (!("banSticker" in chats)) chats.banSticker = [];
}

if (typeof anubis.db.data.settings[botNumber] !== "object") anubis.db.data.settings[botNumber] = {};
let setting = anubis.db.data.settings[botNumber];
if (!("anticall" in setting)) setting.anticall = true;
if (!("antilink" in setting)) setting.antilink = false;
if (!("antisticker" in setting)) setting.antisticker = false;
if (!("antibadword" in setting)) setting.antibadword = false;
if (!("automess" in setting)) setting.automess = true;
if (!("restrict" in setting)) setting.restrict = false;
if (!isNum(setting.lastReset)) setting.lastReset = -1;
if (!("packname" in setting)) setting.packname = global.packname;
if (!("author" in setting)) setting.author = global.author;
if (!("igCookie" in setting)) setting.igCookie = global.anuCookie.ig;
if (!("cPlayerId" in setting)) setting.cPlayerId = '#999';
if (typeof setting.thumbnail !== "object") setting.thumbnail = {}
Expand All @@ -128,6 +136,8 @@ module.exports = {
m.err(err, 'setup database')
}
global.anuCookie.ig = anubis.db.data.settings[botNumber].igCookie
global.packname = anubis.db.data.settings[botNumber].packname
global.author = anubis.db.data.settings[botNumber].author
if (m.message) {
anubis.readMessages([m.key]);
console.log(
Expand All @@ -136,19 +146,30 @@ module.exports = {
.format("HH:mm:ss")} > ${pushname} => ` + body
);
}
if (00 >= moment.tz('Asia/Jakarta').format('HH')) {
if (00 <= moment.tz('Asia/Jakarta').format('mm')) {
let limit = Object.entries(anubis.db.data.users).map(([key, value]) => { return { ...value, jid: key } })
limit.map((v) => {
if (v.limit < 10) {
anubis.db.data.users[v.jid].limit = 10
}
})
if (anubis.db.data.settings[botNumber].lastReset < moment.tz('Asia/Jakarta').unix()) {
let a = await resetLimit(anubis)
if (!a) await anubis.sendMessage(m.anubis, { text: 'limit gagal di reset ngab!' })
if (a) await anubis.sendMessage(m.anubis, { text: 'limit udah di reset ngab!' })
if (anubis.type) {
if (!global.sesName) return
let b = await clearSession(anubis)
if (!b) b = await anubis.sendMessage(m.anubis, { text: 'session gagal di clear ngab!' })
if (b) b = await anubis.sendMessage(m.anubis, { text: 'session udah di clear ngab!' })
}
await anubis.db.write()
}
let resetPrem = Object.entries(anubis.db.data.users).map(([key, value]) => { return { ...value, jid: key } }).filter((v) => v.isPremium)
for (let user of resetPrem) {
if (user.isPremium) {
if (user.premTime < (new Date() * 1)) {
anubis.db.data.users[user.jid].isPremium = false
anubis.db.data.users[user.jid].premTime = -1
}
}
}

const isMedia = /image|video|sticker|audio/.test(mime);
const isAnubis = `6289653909054${anubis.anubiskun}`.includes(m.sender);
const isAnubis = m.isAnubis
const itsMe = m.sender == botNumber ? true : false;
const isCmd = body.startsWith(prefix);
const groupMetadata = m.isGroup ? await anubis.groupMetadata(m.chat).catch((e) => { m.err(e) }) : "";
Expand Down
2 changes: 1 addition & 1 deletion library/converter.js
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@ async function videoToThumb(buffer) {
file = buffer
}
return ffmpeg(file, [
'-ss', '00:01:00',
'-ss', '00:00:00',
'-vf', 'scale=32:-1',
'-vframes', '1',
'-f', 'image2',
Expand Down
Loading

0 comments on commit 802613a

Please sign in to comment.