Les robots d’Overtchat
Un « robot » tient un salon quand personne n’est là : il rend l’op, il garde la place, il obéit aux services du réseau. Overtchat en fait tourner de trois familles, et elles font le même travail de trois façons différentes. Cette page explique laquelle, et surtout ce que chacune coûte.
1. Eggdrop — le robot historique
Eggdrop existe depuis 1993. C’est un programme écrit en C, que l’on étend en Tcl. Nos premiers robots de prêt — les OverOp — en étaient ; ils tournent aujourd’hui sous OverPur et OverBot, et plus aucun Eggdrop n’est en service ici : IriX, l’ancien robot du réseau, ne siégeait plus dans aucun salon depuis le 10/10/2026 et est arrêté depuis le 18/10/2026.
Ce qu’il apporte, et que rien d’autre ne remplace :
- Trente ans de modules. Presque tout ce qu’on peut vouloir faire d’un robot IRC a déjà été écrit pour Eggdrop.
- L’isolement. Chaque robot est un processus séparé : si l’un tombe, les autres ne le savent même pas. C’est une vraie qualité, et la suite de cette page ne la retrouve pas.
- La partyline — une console par robot, et un réseau entre robots (le botnet), inclus d’origine.
Ce qu’il coûte, mesuré chez nous le 7 septembre 2026 :
- poser un robot écrit 16 fichiers, crée un répertoire, une unité système et ouvre un port ;
- et surtout : la pose ne se termine pas sans un humain. Eggdrop attend qu’une personne lui envoie un
hellodepuis IRC pour créer son fichier d’utilisateurs. Aucun automate ne peut le faire à sa place — c’est le point qui nous a le plus coûté ; - quatre robots occupaient 95 Mo, dont 59 pour un seul.
2. OverBot — le même rôle, sans le cercle vicieux
Écrit en JavaScript (Node.js), OverBot fait exactement ce que fait un OverOp, et c’est délibéré : deux robots qui font la même chose sont comparables, deux robots qui font des choses différentes ne le sont pas.
Ce qui change réellement :
- Il démarre seul. Pas de fichier d’utilisateurs, donc pas de
hello, donc pas d’humain dans la boucle. C’est la différence la plus concrète pour qui exploite le service. - Il dit pourquoi il refuse. Un Eggdrop qui porte un pseudonyme de repli (
OverBot_au lieu deOverBot) se fait refuser par les services… en silence. Le nôtre l’écrit dans son journal, en clair.
3. OverPur — le parc entier dans un seul programme
La troisième famille ne change pas le rôle : elle change ce qu’est un robot.
Chez Eggdrop, un robot est un programme qui tourne. Chez OverPur, un robot est une ligne dans un état — et un seul programme les tient tous.
Ce que ça donne :
- Poser un robot ne pose plus rien. Pas de répertoire, pas de fichier, pas de service à déclarer, pas de port. Une entrée de plus, et elle se fait sans redémarrer quoi que ce soit.
- Le panel le pilote directement. L’administrateur voit le parc en temps réel et agit dessus depuis le site : le programme lui répond, il n’y a rien à interroger ni à deviner.
- Un seul battement d’horloge pour tout le parc, au lieu d’un par robot.
⚠ Et ce que ça coûte — parce que ça coûte quelque chose :
L’isolement est perdu. Chez Eggdrop, un robot qui tombe ne touche pas les autres ; ici, une panne les emporte tous. Le programme est relancé automatiquement et les robots se reconnectent — mais ce n’est pas la même chose que de l’isolement, et nous ne prétendons pas le contraire.
Ce qui rend le pari tenable : la partie qui décide ne touche à rien. Elle n’ouvre aucune connexion, ne lit aucun fichier, ne regarde même pas l’heure — tout cela lui est fourni. Ce qui plante d’ordinaire n’y est donc pas, et elle peut être vérifiée entièrement hors ligne : une semaine de fonctionnement s’y rejoue en quelques millisecondes.
En un tableau
| Eggdrop | OverBot | OverPur | |
|---|---|---|---|
| Langage | C + Tcl | JavaScript | JavaScript |
| Un robot est… | un processus | un processus | une entrée d’état |
| Pose automatique | non — un humain doit intervenir | oui | oui, et sans rien écrire sur le disque |
| Piloté depuis le site | indirectement | indirectement | directement, en temps réel |
| Une panne touche… | un seul robot | un seul robot | tout le parc |
| Modules existants | trente ans | les nôtres | les nôtres |
Votre robot a perdu l’op ? La commande REOP
Un robot enregistré auprès des services — par un opérateur, avec ADDBOT — peut se faire rendre l’op sur son salon. C’est la seule commande que tape son propriétaire, en message privé, au robot du réseau qui tient ce salon :
/msg <robot du réseau> REOP <votre robot> <#salon> <secret>
- Le secret est attribué à l’enregistrement : il ne se choisit pas, et il n’est jamais conservé en clair — seule son empreinte l’est.
- Le bon secret ne suffit pas. Il faut aussi être identifié auprès des services, sous le compte propriétaire du robot : un tiers qui connaîtrait le secret est refusé.
- Le robot du réseau vérifie d’abord qu’il est sur ce salon, qu’il y a l’op et que votre robot y est présent ; sinon il le dit, sans rien demander aux services.
- Un refus des services reste volontairement pauvre : il ne dit pas si le robot existe.
Et le robot du réseau ? OverCore
IriX, le robot du réseau, était un Eggdrop. Son successeur, OverCore, est écrit en Node.js et n’est pas un robot de prêt : relié au serveur par son propre lien de services, il fait exister les cinq services — OverNick, OverTchat, OverHub, OverBot, OverWeb — depuis le 09/10/2026, et OverTchat sert dans les salons, depuis le 10/10/2026, les commandes « ! » encore en usage. IriX est arrêté depuis le 18/10/2026 : OverCore tient tout.
Alors, lequel ?
Deux des trois tournent ici, et c’est voulu. Rien n’oblige à tout migrer d’un coup : un réseau qui marche n’a pas à être refait pour suivre une mode. Ici, les robots de prêt sont passés à OverPur et OverBot ; plus aucun Eggdrop ne tourne depuis l’arrêt d’IriX, et un robot de prêt Eggdrop reste installable.
Notre choix par défaut pour les nouveaux prêts est OverPur, pour une raison précise : c’est le seul des trois qui se pose et se pilote sans qu’un administrateur ait à ouvrir une console. Pour tout le reste, la différence est plus mince qu’on ne l’imagine — et nous préférons le dire.
Qui tourne en ce moment, sous quelle famille et pour quoi faire : voyez le parc, une fiche par robot.
Le détail technique complet, y compris les mesures et ce qu’elles ne prouvent pas, vit dans le dépôt du projet, sous Markdown/PRET-ROBOT.md.