import requests def obtener_hora_zona(zona): """Obtiene la hora actual de una zona horaria usando una API.""" try: response = requests.get(f"http://worldtimeapi.org/api/timezone/{zona}", timeout=10) if response.status_code == 200: data = response.json() datetime_str = data.get("datetime", "").split(".")[0] return f" La hora en {zona} es {datetime_str.replace('T', ' ')}" elif response.status_code == 404: return " Zona horaria no encontrada. Usa `.timezone list` para ver opciones." else: return "️ Error al obtener la hora." except requests.exceptions.RequestException as e: return f" Error de conexión: {e}" def listar_zonas(): """Lista las zonas horarias disponibles.""" try: response = requests.get("http://worldtimeapi.org/api/timezone", timeout=10) if response.status_code == 200: zonas = response.json() return " Zonas horarias disponibles:\n" + ", ".join(zonas[:10]) + "...\nUsa `.timezone ` para consultar una." else: return "️ No se pudieron obtener las zonas horarias." except requests.exceptions.RequestException as e: return f" Error de conexión: {e}" def run(sender, *args): """Función principal que será ejecutada por el bot.""" if not args: return " Debes especificar una zona horaria. Usa `.timezone list` para ver opciones." zona = " ".join(args) if zona.lower() == "list": return listar_zonas() return obtener_hora_zona(zona) def help(): """Descripción del plugin para el comando .help""" return (" Consulta la hora en cualquier zona horaria.\n" "Uso: `.timezone `\n" "**Ejemplo:** `.timezone Europe/Madrid`\n" "**Otras opciones:**\n" "- `.timezone list` → Lista algunas zonas horarias disponibles.")