Files
clinera-site/check-qr-code.js
T

151 lines
5.9 KiB
JavaScript

// Check if QR code needs to be scanned again
async function checkQRCode() {
console.log('📱 CHECKING WHATSAPP WEB CONNECTION STATUS');
console.log('='.repeat(50));
try {
// Check if we can get QR code (means disconnected)
console.log('1️⃣ Checking if QR code is available...');
const qrResponse = await fetch('http://localhost:3005/api/default/auth/qr', {
headers: { 'X-Api-Key': '992659f827564646ba3ab95ead50adc9' }
});
if (qrResponse.ok) {
const qrData = await qrResponse.json();
console.log('🚨 QR CODE IS AVAILABLE - WhatsApp Web is DISCONNECTED!');
console.log('');
console.log('🔧 SOLUTION:');
console.log('1. Open this URL in your browser: http://localhost:3005/api/default/auth/qr');
console.log('2. Open WhatsApp on your phone');
console.log('3. Go to: Menu > Linked Devices > Link a Device');
console.log('4. Scan the QR code shown in the browser');
console.log('5. Wait for "WORKING" status');
console.log('');
console.log('💡 This explains why messages show "sent" but you don\'t receive them!');
console.log(' WAHA can queue messages but can\'t deliver when WhatsApp Web is disconnected.');
return false; // Not connected
} else {
console.log('✅ QR code not available - WhatsApp Web should be connected');
// Let's restart the session to refresh the connection
console.log('\n2️⃣ Restarting session to refresh connection...');
const restartResponse = await fetch('http://localhost:3005/api/sessions/default/restart', {
method: 'POST',
headers: { 'X-Api-Key': '992659f827564646ba3ab95ead50adc9' }
});
if (restartResponse.ok) {
console.log('✅ Session restart initiated');
console.log('⏳ Waiting 10 seconds for reconnection...');
await new Promise(resolve => setTimeout(resolve, 10000));
// Check status again
const statusResponse = await fetch('http://localhost:3005/api/sessions', {
headers: { 'X-Api-Key': '992659f827564646ba3ab95ead50adc9' }
});
if (statusResponse.ok) {
const sessions = await statusResponse.json();
const defaultSession = sessions.find(s => s.name === 'default');
console.log(`📱 New status: ${defaultSession?.status}`);
console.log(`📱 Presence: ${defaultSession?.presence || 'unknown'}`);
if (defaultSession?.status === 'WORKING' && defaultSession?.presence !== 'offline') {
console.log('✅ Connection refreshed successfully!');
// Send another test message
console.log('\n3️⃣ Sending post-restart test message...');
const testMessage = {
session: 'default',
chatId: defaultSession.me?.id,
text: `🔄 POST-RESTART TEST MESSAGE
Connection refreshed at: ${new Date().toLocaleString()}
If you receive this, the WhatsApp Web connection is now working properly!
From: Clinera (Post-Restart Test)`
};
const sendResponse = await fetch('http://localhost:3005/api/sendText', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-Api-Key': '992659f827564646ba3ab95ead50adc9'
},
body: JSON.stringify(testMessage)
});
if (sendResponse.ok) {
const result = await sendResponse.json();
console.log(`✅ Post-restart message sent: ${result.key?.id}`);
console.log('📱 CHECK YOUR WHATSAPP NOW!');
}
return true; // Connected
} else {
console.log('❌ Still not properly connected after restart');
return false;
}
}
} else {
console.log('❌ Session restart failed:', await restartResponse.text());
}
}
} catch (error) {
console.error('❌ QR check failed:', error);
return false;
}
}
// Also provide manual instructions
async function showManualInstructions() {
console.log('\n📋 MANUAL TROUBLESHOOTING STEPS:');
console.log('='.repeat(40));
console.log('');
console.log('If messages still not received:');
console.log('');
console.log('1️⃣ CHECK WHATSAPP APP ON YOUR PHONE:');
console.log(' - Is WhatsApp app running?');
console.log(' - Does phone have internet connection?');
console.log(' - Any pending app updates?');
console.log('');
console.log('2️⃣ CHECK WHATSAPP WEB:');
console.log(' - Open web.whatsapp.com in browser');
console.log(' - Is it connected or showing QR code?');
console.log(' - If QR code: scan it again');
console.log('');
console.log('3️⃣ CHECK MESSAGE SETTINGS:');
console.log(' - WhatsApp > Settings > Privacy');
console.log(' - Check if messages from unknown numbers are blocked');
console.log(' - Check notification settings');
console.log('');
console.log('4️⃣ NUCLEAR OPTION - RESTART EVERYTHING:');
console.log(' docker restart waha');
console.log(' Then scan QR code again: http://localhost:3005/api/default/auth/qr');
console.log('');
console.log('5️⃣ TEST WITH DIFFERENT NUMBER:');
console.log(' - Try sending to a different WhatsApp number');
console.log(' - This will confirm if the issue is specific to your number');
}
checkQRCode()
.then(connected => {
if (!connected) {
console.log('\n🚨 CONNECTION ISSUE DETECTED!');
console.log('The main problem is WhatsApp Web disconnection.');
console.log('Follow the QR code scanning steps above.');
} else {
console.log('\n✅ CONNECTION LOOKS GOOD!');
console.log('If you still don\'t receive messages, try manual troubleshooting.');
}
showManualInstructions();
})
.catch(console.error);