Documentation IRC · Avancé
Batch : regrouper des événements IRC liés
batch permet de signaler que plusieurs messages IRC appartiennent à un même ensemble. Le type du lot explique leur relation : un netsplit ou un extrait d’historique, par exemple. Un batch n’est pas automatiquement une conversation multiligne.
Équipe Dialova · Vérifié le
Ouvrir, rattacher et fermer un lot #
S: :irc.example BATCH +lot1 netsplit irc-a.example irc-b.example
S: @batch=lot1 :Bob!u@cloak.example QUIT :Connexion interrompue
S: @batch=lot1 :Chloe!u@cloak.example QUIT :Connexion interrompue
S: :irc.example BATCH -lot1Le serveur ouvre le lot avec + suivi d’un identifiant opaque, puis un type. Les messages associés portent le tag batch correspondant. Le lot se termine par - suivi du même identifiant. L’identifiant est sensible à la casse ; il ne faut pas lui attribuer une signification métier.
Négociation et type de lot #
Le client demande la capacité batch et attend ACK. Il doit comprendre le format des tags. Les types de batch ne sont pas, eux, une liste négociée par CAP : chaque extension décrit le sens de son type. Un type inconnu n’autorise pas à supprimer son contenu.
Un lot vide est possible. Plusieurs lots peuvent s’entrelacer et des lots peuvent être imbriqués. Un seul tampon global ou une hypothèse « tous les messages suivants appartiennent au lot » interpréterait mal des échanges valides.
Historique et état courant #
Le type chathistory regroupe des événements passés. Ne faites pas quitter un membre actuellement présent simplement parce qu’un ancien QUIT figure dans un lot historique : la restitution visuelle et les mutations d’état courant n’ont pas la même fonction.
À la date de vérification, la capacité de demande d’historique reste draft/chathistory, alors que le type de lot chathistory est finalisé. L’extension draft/multiline décrit encore un autre usage. Le support de batch ne suffit pas à promettre ces fonctionnalités.
Borner et terminer le traitement #
- Conserver une table de lots par identifiant, pas une variable unique.
- Garder le lien avec un éventuel lot parent.
- Borner taille et nombre de lots, puis gérer les interruptions de transport.
- Ne pas afficher un replay comme une nouvelle action utilisateur ni répondre automatiquement à des événements historiques.
Sources et vérification
Les exemples utilisent des pseudos et domaines fictifs, sauf les points de connexion explicitement documentés. Les extensions et réglages propres à un réseau sont signalés dans le texte.
- IRCv3 — Message Tags ↗Source de spécification · consultée le 2026-10-29
- IRCv3 — batch ↗Source de spécification · consultée le 2026-10-29
- IRCv3 — chathistory, spécification en développement ↗Source de spécification · consultée le 2026-10-29