Documentação IRC · Avançado
Batch: agrupar eventos IRC relacionados
batch indica que várias mensagens IRC pertencem ao mesmo conjunto. O tipo de lote explica a sua relação: um netsplit ou um excerto do histórico, por exemplo. Um batch não é automaticamente uma conversa com várias linhas.
A equipa do Dialova · Verificado em
Abrir um lote, associar mensagens e fechá-lo #
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 -lot1O servidor abre o lote com + seguido de um identificador opaco e de um tipo. As mensagens associadas têm a etiqueta batch correspondente. O lote termina com - seguido do mesmo identificador. O identificador distingue maiúsculas e minúsculas; não lhe atribuas um significado funcional.
Negociação e tipo de lote #
O cliente pede a capacidade batch e espera ACK. Tem de compreender o formato das etiquetas. Os tipos de batch não são uma lista negociada por CAP: cada extensão define o significado do seu tipo. Um tipo desconhecido não autoriza a descartar o seu conteúdo.
Um lote pode estar vazio. Vários lotes podem intercalar-se ou estar aninhados. Um único buffer global, ou assumir que todas as mensagens seguintes pertencem ao lote, interpretaria mal trocas válidas.
Histórico e estado atual #
O tipo chathistory agrupa eventos passados. Não retires um membro atualmente presente só porque um antigo QUIT aparece num lote histórico: a apresentação visual e as alterações do estado atual têm funções diferentes.
À data de verificação, a capacidade de pedido de histórico continua a ser draft/chathistory, enquanto o tipo de lote chathistory está finalizado. A extensão draft/multiline descreve ainda outra utilização. Suportar batch não basta para prometer estas funcionalidades.
Limitar e terminar o processamento #
- Manter uma tabela de lotes por identificador, não uma única variável.
- Manter a ligação a um eventual lote principal.
- Limitar o tamanho e o número de lotes e tratar as interrupções de transporte.
- Não apresentar uma reprodução do histórico como uma nova ação nem responder automaticamente a eventos históricos.
Fontes e verificação
Os exemplos usam alcunhas e domínios fictícios, salvo os pontos de ligação expressamente documentados. As extensões e definições específicas de uma rede são assinaladas no texto.
- IRCv3 — Message Tags ↗Fonte da especificação · consultada em 2026-10-29
- IRCv3 — batch ↗Fonte da especificação · consultada em 2026-10-29
- IRCv3 — chathistory, spécification en développement ↗Fonte da especificação · consultada em 2026-10-29