const { default: makeWASocket, useMultiFileAuthState, DisconnectReason, fetchLatestBaileysVersion } = require('@whiskeysockets/baileys');
const pino = require('pino');
const fs = require('fs');
const qrcode = require('qrcode-terminal');
let botName = "DF Store";
async function startBot() {
const { state, saveCreds } = await useMultiFileAuthState('auth_info');
const { version } = await fetchLatestBaileysVersion();
const sock = makeWASocket({
auth: state,
printQRInTerminal: true,
logger: pino({ level: 'silent' }),
version,
browser: [botName, "Chrome", "4.0.0"],
});
sock.ev.on('connection.update', (update) => {
const { connection, lastDisconnect, qr } = update;
if(qr){
qrcode.generate(qr, {small: true});
}
if(connection === 'close') {
if(lastDisconnect.error.output.statusCode !== DisconnectReason.loggedOut) {
startBot();
}
} else if(connection === 'open') {
console.log(`✅ Bot ${botName} Terhubung!`);
}
});
sock.ev.on('messages.upsert', async ({ messages }) => {
const m = messages[0];
if(!m.message) return;
const text = m.message.conversation || m.message.extendedTextMessage?.text || '';
const from = m.key.remoteJid;
// Command sederhana
if(text.toLowerCase() === '.menu') {
sock.sendMessage(from, { text: `Selamat datang di *DF Store*\nSemua fitur sudah unlocked!\n\nKetik .help untuk melihat semua menu.` });
}
});
sock.ev.on('creds.update', saveCreds);
}
startBot();
const { default: makeWASocket, useMultiFileAuthState, DisconnectReason, fetchLatestBaileysVersion } = require('@whiskeysockets/baileys');
const pino = require('pino');
const fs = require('fs');
const qrcode = require('qrcode-terminal');
let botName = "DF Store";
async function startBot() {
const { state, saveCreds } = await useMultiFileAuthState('auth_info');
const { version } = await fetchLatestBaileysVersion();
}
startBot();