Maria-Md / bot.js
Jsjsjj8383's picture
Create bot.js
29b14a4 verified
Raw
History Blame Contribute Delete
1.95 kB
const {
default: makeWASocket,
useMultiFileAuthState,
DisconnectReason
} = require("@whiskeysockets/baileys");
const readline = require("readline");
const { execSync } = require("child_process");
// run() function (as requested)
function run(cmd) {
try {
execSync(cmd, { stdio: "inherit", shell: "/bin/bash" });
} catch (e) {
console.error("Failed:", cmd);
}
}
// Fetch Baileys version
let baileysVersion = "unknown";
try {
baileysVersion = execSync("npm view @whiskeysockets/baileys version")
.toString()
.trim();
} catch (_) {}
console.log("πŸ“¦ Baileys Version:", baileysVersion);
// readline setup
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
async function startBot() {
const { state, saveCreds } = await useMultiFileAuthState("./session");
const sock = makeWASocket({
auth: state,
printQRInTerminal: false
});
sock.ev.on("creds.update", saveCreds);
sock.ev.on("connection.update", (update) => {
const { connection, lastDisconnect } = update;
if (connection === "open") {
console.log("βœ… WhatsApp Connected");
run("echo Bot started successfully");
rl.close();
}
if (connection === "close") {
const code = lastDisconnect?.error?.output?.statusCode;
if (code !== DisconnectReason.loggedOut) {
console.log("πŸ” Connection closed. Reconnecting...");
startBot();
} else {
console.log("❌ Logged out");
}
}
});
// Pairing code login
if (!sock.authState.creds.registered) {
rl.question("πŸ“± Enter WhatsApp number (e.g. 15551234567): ", async (num) => {
try {
const code = await sock.requestPairingCode(num.trim());
console.log("πŸ”‘ Pairing Code:", code);
run("echo Pairing code generated");
} catch (_) {
console.log("⚠️ Failed to generate pairing code");
}
});
}
}
startBot();