Bienvenido a un nuevo post. Hoy hablaré de uno de los proyectos hechos por la comunidad MyBOT 2021 (participantes a mencionar ya no interactúan allí) que tiene como objetivo el obtener una librería para la API de Discord sin mucho "bloatware", haciéndolo lo más ligera posible en código y uso de recursos.
Bienvenidos a Biscuit, la librería non-bloated de última generación para la API de Discord.
Antes de contar por qué la librería podría llegar a simplemente desvanecerse de la faz de la tierra, hay que contar un poco de la historia de esta librería.
Nota: Toda la información aquí es verificable si te unes a DAPA ("un servidor donde estamos la mayoría de la comunidad MyBOT 2020 y 2021, resurgimiento de DDPD, servidor que tenía el mismo fin"), allí está toda la conversación relacionada a la librería.
El creador de la librería y la idea detrás se acredita a "Yuzu" ("yuzuru", "vanilla ninja", "nutella").
Yuzu durante mucho tiempo ha querido crear una librería con aquella idea, pero aún no había apoyo de la comunidad para ese entonces.
Después de las "decepciones" de Discordeno (la librería que alguna vez Yuzu le gustó y utilizó), el 15 de junio del 2022, Yuzu aclara al público de DAPA que hará su propia librería de Discord.
El 19 de junio del 2022 aparecen las primeras menciones del nombre.
Se sabe que Biscuit empezó como un fork de Discordeno pero rápidamente cambiaron para que se use 100% código propio.
Sí, primero fue una librería para Deno, pero se decidieron luego de agregar Node.js como objetivo. Después cambió a (únicamente) ser una librería nativa de Node.js usando TypeScript.
Biscuit seguiría un modelo basado en microservicios. La conexión a la gateway es un proceso, las interacciones con la REST sería otro proceso, la caché también tendría otro proceso.
Durante el trayecto de Biscuit, varios de la comunidad empezaron a contribuir a la librería. Aquí los destacables
Miia es un asesor comercial empresarial, con más de 10 años de experiencia en ingeniería de software (principalmente PHP).
De lo que nos cuenta, trabajó alguna vez en Google, también alguna vez en Baidu, actualmente está en hulu.com, y anda en diferentes proyectos gigantes (a lo que él llama "proyectos de amigos"). También anda en proyectos relacionados con inteligencia artificial. También trabajó para el frontend de Hentalia (y proyectos relacionados). Con residencia y seguros en Colombia y Singapur. No le gustan las órdenes.
Por qué te digo todo esto? Es necesario que sepas el perfil de esta persona antes de continuar hablando de Biscuit. Para que veas que literalmente alguien "experto" metió mano a la librería.
Miia se unió a la comunidad MyBOT en 2021 para preguntar de cosas sobre Discord.js, está con nosotros desde la creación de DDPD. Ahora somos amigos entre todos, donde el interés principal son bots de Discord (oh s***, here we go again). Ahora que sabes quién es, continuemos.
Miia entra a este proyecto entre julio del 2022, proponiendo mejoras para que la librería sea más "profesional" y escalable. Por aquí mismo sucede el cambio de objetivo a Node.js, abandonando por completo el código de Discordeno pero no las ideales ("basado en Discord.js y Discordeno pero sin una capa de caché por defecto").
Durante los primeros comienzos la librería iba en buen camino, ya tenían casi toda la API de Discord para bots cubierta. Cada shard de Biscuit usaba como 1 a 10 MB de RAM, cumpliendo su objetivo con ser livianos. Pero no todo es color de rosa en esta vida.
A la librería todavía le falta mucho por hacer para completarse. Aún no es user-friendly y muchas cosas siguen en discusión. Se le ha querido hacer rewrite pero hasta ahora no hay progreso visible.
CactusFire es un bot bastante popular, actualmente en visiones de renovar.
Este bot pasó de estar en Discord.js a Biscuit como forma de probar este proyecto en un caso de vida real.
La optimización respecto a uso de recursos mejoró bastante, ahora ya no usa totalmente los 64 GB de RAM que tiene el dedicado donde se aloja CactusFire.
Los problemas empezaron a aparecer:
Los ánimos para continuar desarrollando la librería se perdieron acá, y es que simplemente no había acuerdos en cómo hacer las cosas, en especial api-types y las bases.
Socram al final simplemente dejó el proyecto y piensa planear su propio fork para continuar con el proyecto, pero por su propia cuenta.
Mientras que Yuzu anda ocupado haciendo otras cosas, Miia reclama de por qué "nadie hace nada", y el proyecto se quedó estancado en ese círculo infinito.
Actualmente la librería pasa a ser conjunto de un set de herramientas llamado "tiramisu", donde se incluyen otros proyectos como webs y frameworks para bots comerciales, Biscuit es "la versión ligera" de la framework.
Quisiera estar equivocado, pero actualmente no parece que Biscuit o Tiramisu lleguen a sus propósitos. Los problemas que actualmente lleva simplemente hace ver que los intereses en el proyecto se perdieron.
Aunque no quiero poner punto final con eso. Estaré revisando la actividad de la librería a ver qué tanto avanzan.