/** * Configurações do Akira Bot * ========================== * Variáveis de ambiente com fallbacks */ const config = { // Diretórios LOG_DIR: process.env.LOG_DIR || './logs', AUTH_DIR: process.env.AUTH_DIR || './data/sessions', // API API_BASE_URL: process.env.API_BASE_URL || 'https://akra35567-akira.hf.space', API_TIMEOUT: parseInt(process.env.API_TIMEOUT) || 30000, API_ROUTE_PREFIX: process.env.API_ROUTE_PREFIX || '/api'.replace(/^\/+|\/+$/g, ''), // Cache CACHE_DURATION: parseInt(process.env.CACHE_DURATION) || 3600000, MAX_CACHE_SIZE: parseInt(process.env.MAX_CACHE_SIZE) || 1000, MAX_QR_ATTEMPTS: parseInt(process.env.MAX_QR_ATTEMPTS) || 10, // Segurança PRIVILEGED_NUMBERS: (process.env.PRIVILEGED_NUMBERS || '244937035662').split(',').map(n => n.trim()), ADMIN_NAME: process.env.ADMIN_NAME || 'Isaac' }; // Helper: verifica número privilegiado config.isPrivilegedNumber = function(number) { if (!number) return false; const normalized = number.toString().replace(/[^0-9]/g, ''); return this.PRIVILEGED_NUMBERS.some(privileged => { const privNormalized = privileged.toString().replace(/[^0-9]/g, ''); return normalized.endsWith(privNormalized) || privNormalized.endsWith(normalized); }); }; module.exports = config;