Documentation IRC · Intermédiaire
IRCv3 : les extensions de l’IRC moderne
IRCv3 est un ensemble de spécifications qui font évoluer IRC sans exiger que tous les clients changent en même temps. Les capacités sont négociées séparément : il n’existe pas un simple bouton « compatible IRCv3 » qui garantisse toutes les fonctions.
Équipe Dialova · Vérifié le
Dans cette rubrique
- Account-tag : identifier le compte derrière un messageDécouvrez account-tag : tag account ajouté par le serveur, différence entre pseudo et compte, négociation et précautions pour les bots IRC.
- Batch : regrouper des événements IRC liésComprenez les lots IRCv3 BATCH : ouverture, fermeture, tag batch, imbrication et différence entre regroupement, historique et multiline.
- Négocier les capacités avec CAPSuivez une négociation IRCv3 CAP : LS 302, liste fractionnée, REQ, ACK, NAK, END et changements après connexion. Exemples et pièges de mise en œuvre.
- Message tags : les métadonnées des messages IRCApprenez à lire les tags IRCv3 : préfixe @, séparation, échappement, tags clients, TAGMSG et limites. Exemples sans confondre métadonnées et texte.
- SASL sur IRC : authentifier un compteComprenez SASL sur IRC : différence avec TLS et NickServ, mécanismes PLAIN et EXTERNAL, négociation CAP et erreurs d’authentification.
- Server-time : dater les messages avec l’heure du serveurComprenez server-time et le tag time : horodatage UTC, négociation, historique, affichage local et limites de l’ordre des messages.
Une évolution compatible avec les clients existants #
CAP découvre et active les extensions communes au client et au serveur. Le support dépend des versions, modules, services et réglages réellement utilisés. Il faut distinguer une fonctionnalité annoncée, une fonctionnalité demandée et une fonctionnalité effectivement acceptée.
| Famille | Mécanismes à connaître |
|---|---|
| Connexion et identité | CAP, sasl, account-tag, account-notify, extended-join |
| Présentation et suivi | server-time, echo-message, away-notify, multi-prefix |
| Métadonnées et regroupement | message-tags, batch, labeled-response |
| Historique | draft/chathistory et draft/event-playback, encore en développement à la date de vérification |
Lire le statut et les dépendances #
Le catalogue officiel distingue les spécifications finalisées et les travaux en cours. Une extension préfixée draft/ peut évoluer de manière incompatible. Le nom d’une capacité, le nom d’un tag et le type d’un batch sont trois identifiants différents : chathistory est un type de lot, tandis que la capacité en développement utilise draft/chathistory.
Les pages de cette première version détaillent CAP, SASL, message-tags, server-time, account-tag et batch. Les autres capacités figurent ici pour situer leurs usages ; elles ne deviennent pas des pages vides. Consultez les spécifications officielles pour leur texte complet.
Pour un développeur de client #
- Lire entièrement CAP LS, y compris les réponses fractionnées et les valeurs.
- N’activer que les capacités implémentées et attendre ACK.
- Accepter des messages supplémentaires entre les étapes d’un échange.
- Ne pas confondre état courant et événements historiques rejoués.
- Gérer les tags inconnus sans leur inventer un effet.
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 — catalogue des spécifications ↗Source de spécification · consultée le 2026-10-29
- IRCv3 — Client Capability Negotiation ↗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