Después de un largo año y medio, Eggheads ha finalizado otra versión de Eggdrop. ¡Y esta vez es lo suficientemente grande como para justificar la actualización a la siguiente serie de versiones, la 1.10! ¿Qué la hace tan grande?, te preguntarás. ¡Acá te lo contaremos!
La mejora más grande, por lejos, es algo que la gente ha estado pidiendo durante mucho tiempo, y que desde inicios de este año se venía venir: ¡la inclusión de un módulo Python! Gracias a un esfuerzo hercúleo de thommey, el Eggdrop ahora viene con un módulo Python que tiene acceso completo a la API Tcl existente, por lo que tiene todas las características. Requiere Python >= 3.8 y admite tanto subprocesos como Python asíncrono, lo que le permite ejecutarse en paralelo a Eggdrop.
Una notificación de «característica» importante para Python: el equipo de Eggheads todavía está luchando por manejar correctamente la tabla de enlaces en esta versión, por lo que si haces un ‘.rehash’, es posible que encuentres enlaces duplicados. Consulta el script de ejemplo ‘greet.py’ en el directorio del módulo de Python y observa un posible ejemplo sobre cómo codificar la descarga de enlaces después de un rehash. Y para todas tus otras consultas, echa un vistazo a los ejemplos en el directorio src/mod/python.mod/scripts y la documentación en doc/PYTHON para una introducción.
Además, como todos sabemos, no hay mucho material de muestra para extraer como el que hay de los últimos treinta años de scripts Tcl, thommey ha reunido un script un poco más avanzado para analizar. Consulta https://github.com/thommey/eggdrop-github-py para ver un script de Python que interactúa con GitHub para anunciar varios eventos de GitHub como confirmaciones, solicitudes de incorporación de cambios, etc. Todavía es un trabajo en progreso, pero puede servir como una base sólida para crear tus propias aventuras de scripts de Python.
También han agregado una nueva capacidad llamada «autoscripts«: al cargar autoscripts.tcl en tu archivo de configuración, ahora puedes descargar, activar y configurar scripts Tcl especialmente configurados desde la línea compartida. En respuesta a los comentarios de los usuarios que dicen que es difícil encontrar «scripts Tcl que funcionen», Eggheads sigue trabajando para seleccionar y mantener un repositorio de scripts de uso común que se puedan administrar completamente desde la línea compartida. Lea doc/AUTOSCRIPTS para conocer todos los detalles y no duden en enviar sus sugerencias (y scripts) a través del canal #eggdrop en la red Libera. Esta es una capacidad en evolución y agradecen todos sus comentarios (y hallazgos de errores) al respecto.
Otra gran mejora es la capacidad de Eggdrop de identificar a los usuarios en función de sus cuentas de servidor IRC, no solo de sus nombres de host. Si Eggdrop está en un servidor que admite WHOX y la capacidad IRCv3 de seguimiento de cuentas y unión extendida está habilitada, Eggdrop ahora puede usar la cuenta de servidor IRC en la que está conectado un usuario como base para hacer cosas como activar enlaces Tcl y operaciones automáticas, etc.
Otro pequeño cambio «tramposo» para la compilación: Eggdrop ahora requiere que las bibliotecas de desarrollo openssl se instalen de forma predeterminada. Si no tienes openssl y no puedes instalarlo, puedes omitir esta comprobación usando ./configure –disable-tls, pero por supuesto no recomendamos esto. Otros cambios incluyen la incorporación de las capacidades de userhost-in-names y standard-replies de IRCv3, la incorporación de un tipo de enlace EVNT “hidden-host” que se activa cuando el propio host del bot se oculta con éxito a través del modo de usuario +x, un enlace EVNT got-chanlist que se ejecuta una vez que Eggdrop termina de obtener la lista de miembros de un canal cuando se une, y más documentación y tutoriales para ayudar.
También hay que agradecer a DasBrain por su trabajo actualizando el código para que sea compatible con Tcl 9. ¡Tcl 9 finalmente se lanzó después de mucha anticipación! Hasta donde sabemos, estos cambios hacen que Eggdrop 1.10.0 sea compatible con Tcl 9. Estos cambios son “detrás de escena” y no se espera que rompan los scripts existentes. Sin embargo, la buena noticia es que esto debería solucionar el manejo predeterminado de Emoji y otros caracteres UTF-8 que anteriormente causaban problemas con algunos scripts.
Por último, en un esfuerzo por ayudar a los nuevos usuarios con el proceso de instalación, están alojando un archivo de instalación en https://geteggdrop.com/install.sh. Al ejecutar este archivo, el usuario recorrerá el proceso de compilación, comenzando por verificar las bibliotecas requeridas, luego compilando e instalando Eggdrop y, finalmente, configurando un archivo de configuración básico para usar. Todavía no están listos para incluirlo con los archivos de instalación principales, pero puedes descargarlo fácilmente con curl -L geteggdrop.com/install.sh y luego ejecutarlo.
Vaya, esta es una lista bastante larga de nuevas actualizaciones. Recuerda que puedes leer más sobre todas las mejoras y correcciones en el archivo NEWS incluido con el código fuente; es una lectura rápida.
Eggheads agradece a todos aquellos en la comunidad que continúan contribuyendo con nuevas ideas e identificando áreas de mejora; los comentarios de los usuarios son muy importantes para ellos a medida que continúan impulsando el desarrollo en una dirección más útil para sus usuarios.
Invitamos a todos los usuarios a participar en #Ayuda en Undernet, o en #eggdrop en Libera.
Esta nueva versión de Eggdrop, la puedes descargar desde este enlace. Recuerda también contamos con una guía de instalación del Eggdrop disponible en nuestra página web.