-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.js
113 lines (102 loc) · 3.17 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
const {
default: makeWASocket,
useMultiFileAuthState,
jidNormalizedUser,
DisconnectReason,
} = require("@adiwajshing/baileys");
const pino = require("pino");
const { readFile } = require("fs/promises");
async function startBot() {
const { state, saveCreds } = await useMultiFileAuthState("sesi");
try {
const getMessage = async (key) => {
const { id } = key;
console.log("Resending", id);
let tempStore = await readFile("./data/store.json", "utf-8");
tempStore = await JSON.parse(tempStore);
return tempStore[id]?.message;
};
const ws = makeWASocket({
logger: pino({ level: "silent" }),
printQRInTerminal: true,
getMessage,
//work tempelate message
patchMessageBeforeSending: (message) => {
const requiresPatch = !!(
message.buttonsMessage ||
message.templateMessage ||
message.listMessage
);
if (requiresPatch) {
message = {
viewOnceMessage: {
message: {
messageContextInfo: {
deviceListMetadataVersion: 2,
deviceListMetadata: {},
},
...message,
},
},
};
}
return message;
},
browser: ["AlertBot", "AlertBot", "0.9"],
auth: state,
});
ws.ev.on("creds.update", saveCreds);
require("./lib/interactionFunctions.js")(ws);
require("./AlertBot.config.js");
if (ws.user && ws.user.id) ws.user.jid = jidNormalizedUser(ws.user.id);
// _______________________________________________________________
ws.ev.on("connection.update", async (update) => {
const { connection, lastDisconnect } = update;
try {
if (connection === "open") {
console.log("Connection Successful!");
for (let i = 0; i < debugNums.length; ++i) {
const debugJid = `${countryCode}${debugNums[i]}@s.whatsapp.net`;
ws.sendMessage(debugJid, { text: "Connected Successfully" });
}
} else if (connection === "close") {
await require("./lib/disconnectHandler.js")(
DisconnectReason,
lastDisconnect
);
startBot();
}
} catch (e) {
console.log("Restarting!");
startBot();
}
});
// _______________________________________________________________
ws.ev.on("messages.upsert", async (chatUpdate) => {
try {
require("./plugins/commands/handleCommands.js")(ws, chatUpdate);
} catch (err) {
console.log(err);
}
});
// _______________________________________________________________
// require('./plugins/ipHandler/ipHandler.js')(ws, './ip.txt');
// _______________________________________________________________
const { updateHandler } = require("./plugins/updates/updateHandler.js");
// call main every 15 seconds
const x = 60 / 60;
try {
await updateHandler(ws);
setInterval(async () => {
await updateHandler(ws);
}, 10000);
} catch (e) {
console.log(e);
startBot();
}
} catch (e) {
console.log(e);
startBot();
}
}
startBot();