mirror of
https://github.com/cheveguerra/whaticket-community.git
synced 2026-04-18 03:39:29 +00:00
87 lines
1.9 KiB
JavaScript
87 lines
1.9 KiB
JavaScript
const Sentry = require("@sentry/node");
|
|
|
|
const wbotMessageListener = require("./wbotMessageListener");
|
|
|
|
const { getIO } = require("../libs/socket");
|
|
const { getWbot, initWbot } = require("../libs/wbot");
|
|
|
|
const wbotMonitor = whatsapp => {
|
|
const io = getIO();
|
|
const sessionName = whatsapp.name;
|
|
const wbot = getWbot(whatsapp.id);
|
|
|
|
try {
|
|
wbot.on("change_state", async newState => {
|
|
console.log("Monitor session:", sessionName, newState);
|
|
try {
|
|
await whatsapp.update({ status: newState });
|
|
} catch (err) {
|
|
Sentry.captureException(err);
|
|
console.log(err);
|
|
}
|
|
|
|
io.emit("session", {
|
|
action: "update",
|
|
session: whatsapp,
|
|
});
|
|
});
|
|
|
|
wbot.on("change_battery", async batteryInfo => {
|
|
const { battery, plugged } = batteryInfo;
|
|
console.log(
|
|
`Battery session: ${sessionName} ${battery}% - Charging? ${plugged}`
|
|
);
|
|
|
|
try {
|
|
await whatsapp.update({ battery, plugged });
|
|
} catch (err) {
|
|
Sentry.captureException(err);
|
|
console.log(err);
|
|
}
|
|
|
|
io.emit("session", {
|
|
action: "update",
|
|
session: whatsapp,
|
|
});
|
|
});
|
|
|
|
wbot.on("disconnected", async reason => {
|
|
console.log("Disconnected session:", sessionName, reason);
|
|
try {
|
|
await whatsapp.update({ status: "disconnected" });
|
|
} catch (err) {
|
|
Sentry.captureException(err);
|
|
console.log(err);
|
|
}
|
|
|
|
io.emit("session", {
|
|
action: "update",
|
|
session: whatsapp,
|
|
});
|
|
|
|
setTimeout(
|
|
() =>
|
|
initWbot(whatsapp)
|
|
.then(() => {
|
|
wbotMessageListener(whatsapp);
|
|
wbotMonitor(whatsapp);
|
|
})
|
|
.catch(err => {
|
|
Sentry.captureException(err);
|
|
console.log(err);
|
|
}),
|
|
2000
|
|
);
|
|
});
|
|
|
|
// setInterval(() => {
|
|
// wbot.resetState();
|
|
// }, 20000);
|
|
} catch (err) {
|
|
Sentry.captureException(err);
|
|
console.log(err);
|
|
}
|
|
};
|
|
|
|
module.exports = wbotMonitor;
|