File size: 2,135 Bytes
eed270f 29f52ca eed270f 29f52ca eed270f 2ba79da eed270f eefda52 29f52ca eefda52 29f52ca eefda52 29f52ca eefda52 29f52ca eed270f 29f52ca eed270f 29f52ca eefda52 29f52ca eefda52 29f52ca | 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 | require("dotenv").config();
const {
default: makeWASocket,
DisconnectReason,
useMultiFileAuthState,
} = require("@whiskeysockets/baileys");
const qrcode = require("qrcode-terminal");
const pino = require("pino");
async function startWhatsApp() {
try {
console.log("π Starting WhatsApp...");
const { state, saveCreds } =
await useMultiFileAuthState("./auth");
const sock = makeWASocket({
auth: state,
logger: pino({ level: "debug" }),
printQRInTerminal: false,
});
sock.ev.on("creds.update", saveCreds);
sock.ev.on("connection.update", async (update) => {
console.log("\n========== CONNECTION UPDATE ==========");
console.log(JSON.stringify(update, null, 2));
const { connection, lastDisconnect, qr } = update;
if (qr) {
console.log("\nπ± QR RECEIVED\n");
qrcode.generate(qr, { small: true });
}
if (connection === "open") {
console.log("β
WhatsApp Connected");
}
if (connection === "connecting") {
console.log("π Connecting...");
}
if (connection === "close") {
const statusCode =
lastDisconnect?.error?.output?.statusCode;
console.log(
`β Connection Closed. Status Code: ${statusCode}`
);
console.error(
"Disconnect Error:",
lastDisconnect?.error
);
const loggedOut =
statusCode === DisconnectReason.loggedOut ||
statusCode === 401;
if (!loggedOut) {
console.log("π Reconnecting in 5 seconds...");
setTimeout(startWhatsApp, 5000);
} else {
console.log(
"π« Logged out. Delete auth folder and rescan."
);
}
}
});
sock.ev.on("messages.upsert", (msg) => {
console.log(
"π¨ Message Event:",
JSON.stringify(msg, null, 2)
);
});
} catch (err) {
console.error("π₯ Fatal Error");
console.error(err);
console.log("π Restarting in 10 seconds...");
setTimeout(startWhatsApp, 10000);
}
}
startWhatsApp(); |