#!/usr/bin/env node // Script untuk test admin functionality const fs = require('fs'); const path = require('path'); // Load settings const settings = require('../settings.json'); console.log('=== Test Admin Functionality ===\n'); // Test admin numbers console.log('๐Ÿ“‹ Admin Configuration:'); console.log(`Admin numbers: ${JSON.stringify(settings.admins)}`); console.log(`Technician numbers: ${JSON.stringify(settings.technician_numbers)}`); console.log(''); // Test isAdminNumber function function testIsAdminNumber(number) { try { const cleanNumber = number.replace(/\D/g, ''); // Cek admin dari settings.json const adminNumbers = settings.admins || []; for (const adminNumber of adminNumbers) { const cleanAdminNumber = adminNumber.replace(/\D/g, ''); if (cleanNumber === cleanAdminNumber) { return true; } } // Cek technician numbers dari settings.json const technicianNumbers = settings.technician_numbers || []; for (const techNumber of technicianNumbers) { const cleanTechNumber = techNumber.replace(/\D/g, ''); if (cleanNumber === cleanTechNumber) { return true; } } return false; } catch (error) { console.error('Error in testIsAdminNumber:', error); return false; } } // Test beberapa nomor const testNumbers = [ '6281947215703', '081947215703', '083807665697', '082218094778', '081234567890' // Nomor test yang bukan admin ]; console.log('๐Ÿ” Testing Admin Number Validation:'); for (const number of testNumbers) { const isAdmin = testIsAdminNumber(number); console.log(`${number}: ${isAdmin ? 'โœ… Admin' : 'โŒ Not Admin'}`); } console.log(''); // Test message const testMessage = `๐Ÿงช *TEST ADMIN BOT*\n\n` + `โœ… Ini adalah pesan test untuk memverifikasi fungsi admin\n` + `๐Ÿ“… Waktu: ${new Date().toLocaleString()}\n\n` + `๐Ÿ”ง Jika Anda menerima pesan ini, berarti:\n` + `โ€ข Fungsi isAdminNumber berfungsi dengan baik\n` + `โ€ข Pengiriman pesan ke admin berhasil\n` + `โ€ข Bot siap digunakan\n\n` + `๐Ÿข *ALIJAYA DIGITAL NETWORK*`; console.log('๐Ÿ“ Test message yang akan dikirim:'); console.log(testMessage); console.log(''); // Cek file superadmin.txt try { const superAdminPath = path.join(__dirname, '../config/superadmin.txt'); if (fs.existsSync(superAdminPath)) { const superAdmin = fs.readFileSync(superAdminPath, 'utf8').trim(); console.log(`๐Ÿ‘‘ Super admin: ${superAdmin}`); } else { console.log('โŒ File superadmin.txt tidak ditemukan'); } } catch (error) { console.log('โŒ Error reading superadmin.txt:', error.message); } console.log(''); console.log('โœ… Script test admin selesai.'); console.log('๐Ÿ’ก Tips: Jalankan aplikasi dengan "node scripts/restart-on-error.js"'); console.log('๐Ÿ“ฑ Test dengan mengirim pesan "menu" atau "admin" ke bot WhatsApp');