import { WacapWrapper, WacapEventType } from 'wacap-wrapper'; /** * Quick Start Example * This is the simplest way to get started with Wacap Wrapper */ async function quickStart() { console.log('šŸš€ Starting Wacap Wrapper...\n'); // Create wrapper instance const wacap = new WacapWrapper({ sessionsPath: './sessions', autoDisplayQR: true, debug: false, }); // Initialize await wacap.init(); console.log('āœ… Wrapper initialized\n'); // Start a session console.log('šŸ“± Starting session...'); const session = await wacap.sessionStart('my-first-session'); // Listen for QR code session.getEventManager().onQRCode((data) => { console.log('\nšŸ“² QR Code received! Scan it with WhatsApp mobile app\n'); }); // Listen for successful connection session.getEventManager().onConnectionOpen((data) => { console.log('\nāœ… Connected successfully!'); console.log('šŸ“± Your WhatsApp is now connected!\n'); }); // Listen for connection close session.getEventManager().onConnectionClose((data) => { console.log('\nāŒ Connection closed'); }); // Listen for incoming messages session.getEventManager().onMessageReceived(async (data) => { console.log('\nšŸ“Ø New message received:'); console.log(' From:', data.from); console.log(' Message:', data.body); console.log(' Type:', data.messageType); // Simple auto-reply example if (data.body?.toLowerCase() === 'ping' && data.from) { console.log(' → Auto-replying with "Pong!"'); await wacap.sendMessage('my-first-session', data.from, 'Pong! šŸ“'); } // Help command if (data.body?.toLowerCase() === 'help' && data.from) { const helpText = ` šŸ¤– Available Commands: • ping - Test bot response • help - Show this help message • info - Get bot information `.trim(); await wacap.sendMessage('my-first-session', data.from, helpText); } // Info command if (data.body?.toLowerCase() === 'info' && data.from) { const info = session.getInfo(); const infoText = ` ā„¹ļø Bot Information: • Session ID: ${info.sessionId} • Status: ${info.isActive ? 'Active' : 'Inactive'} • Phone: ${info.phoneNumber || 'N/A'} `.trim(); await wacap.sendMessage('my-first-session', data.from, infoText); } }); // Listen for sent messages session.getEventManager().onMessageSent((data) => { console.log('\nšŸ“¤ Message sent'); }); // Handle graceful shutdown process.on('SIGINT', async () => { console.log('\n\nšŸ›‘ Shutting down gracefully...'); await wacap.destroy(); console.log('šŸ‘‹ Goodbye!\n'); process.exit(0); }); console.log('\nšŸ’” Waiting for WhatsApp connection...'); console.log('šŸ’” Press Ctrl+C to stop\n'); } // Run the example quickStart().catch((error) => { console.error('āŒ Error:', error); process.exit(1); });