const axios = require('axios'); const getCoordinates = async (city) => { try { const response = await axios.get('https://nominatim.openstreetmap.org/search', { params: { q: city, format: 'json', limit: 1 }, headers: { 'User-Agent': 'WhatsApp-Bot/1.0 (josuedavidvl18@gmail.com)' // Reemplaza con tu email } }); if (response.data.length === 0) { throw new Error('Ciudad no encontrada.'); } const { lat, lon } = response.data[0]; return { latitude: lat, longitude: lon }; } catch (error) { throw new Error(`Error al obtener coordenadas: ${error.message}`); } }; const translateWeatherCode = (code) => { const weatherCodes = { 0: 'Cielo despejado', 1: 'Parcialmente nublado', 2: 'Nublado', 3: 'Cubierto', 45: 'Niebla', 48: 'Depositos de escarcha', 51: 'Llovizna ligera', 53: 'Llovizna moderada', 55: 'Llovizna densa', 56: 'Llovizna helada ligera', 57: 'Llovizna helada densa', 61: 'Lluvia ligera', 63: 'Lluvia moderada', 65: 'Lluvia fuerte', 66: 'Lluvia helada ligera', 67: 'Lluvia helada fuerte', 71: 'Nevada ligera', 73: 'Nevada moderada', 75: 'Nevada fuerte', 77: 'Aguanieve', 80: 'Chubascos ligeros', 81: 'Chubascos moderados', 82: 'Chubascos intensos', 85: 'Aguanieve ligera', 86: 'Aguanieve fuerte', 95: 'Tormenta', 96: 'Tormenta con granizo ligero', 99: 'Tormenta con granizo fuerte' }; return weatherCodes[code] || 'Desconocido'; }; module.exports = { getCoordinates, translateWeatherCode };