File size: 1,325 Bytes
c23f777 | 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 | const { Client, LocalAuth } = require("whatsapp-web.js");
const qrcode = require("qrcode-terminal");
const { write, clean } = require("./manage");
const readline = require("readline");
const app = require("express")();
clean();
const client = new Client({
puppeteer: { headless: true, args: ["--no-sandbox"] },
authStrategy: new LocalAuth({ clientId: "whatsbot" }),
});
let password = null;
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
rl.question(
"Enter password to encrypt session (You need to put this in ENV): ",
(answer) => {
password = answer;
console.log("Password set to:", password);
console.log("Generating QR Code...");
rl.close();
client.initialize();
}
);
client.on("qr", (qr) => {
console.log(`Scan this QR Code and copy the JSON\n`);
qrcode.generate(qr, { small: true });
});
client.on("ready", () => {
client.destroy();
console.log("Please wait...");
// wait because filesystem is busy
setTimeout(async () => {
console.log("Session has been created");
await write(password);
app.listen(8080, () => {
console.log(
"Go to http://{app_url}/session.secure to download the session"
);
});
}, 3000);
});
app.get("*", async (req, res) => {
res.download("./session.secure");
});
|