Open source · Bibliothèque
tmi.js
Une bibliothèque JavaScript pour le chat Twitch. Je l'ai démarrée en 2015, et l'écosystème des développeurs Twitch s'appuie encore dessus.
Ce que c'est
Le chat Twitch fonctionne via IRC au-dessus de WebSockets. tmi.js encapsule ce protocole dans une petite API événementielle afin qu'un développeur puisse se connecter, écouter les messages et événements, puis répondre en quelques lignes de code, sans devoir apprendre le protocole sous-jacent.
La bibliothèque alimente des chatbots, overlays, outils de modération et tout autre système devant lire ou écrire dans le chat Twitch. Pendant longtemps, c'était la solution par défaut pour faire cela en JavaScript.
Pourquoi ça a duré
L'API est restée petite et les comportements par défaut sont restés raisonnables. La bibliothèque gère discrètement les parties auxquelles personne ne veut penser, comme l'authentification, la reconnexion et les limites de taux.
La leçon la plus difficile a été de maintenir un outil largement utilisé sur une plateforme que je ne contrôle pas. Twitch modifie son authentification, déprécie des endpoints et change certains comportements, et une bibliothèque dont dépendent des milliers de projets doit absorber ces changements sans casser les outils en aval. Dix ans de cela, c'est une forme d'ingénierie en soi.
- Configuration minimale. Se connecter et gérer les événements du chat en quelques lignes.
- API événementielle. Une couche propre par-dessus IRC et WebSockets de Twitch.
- Gère l'ingrat. L'authentification, la reconnexion et les limites de débit, hors de vue.
- Une décennie de maintien. Maintenue fonctionnelle à travers des années de changements sur Twitch.