IRCv3 chathistory Batch Type

Copyright © 2015 Peter Powell <>

Unlimited redistribution and modification of this document is allowed provided that the above copyright notice and this permission notice remains intact.

chathistory Batch Type

This document describes the format of the chathistory batch type.

The chathistory batch type takes one parameter. This parameter contains the target of messages within the batch. The target MUST either be the nick of the remote client for private messages or the name of a channel which the local client is in for public messages.

When a client which has enabled the batch capability performs an action which requires chat history to be relayed to it (e.g. joining a channel with InspIRCd’s chanhistory mode enabled) the server SHOULD put all PRIVMSGs and NOTICEs into a single chathistory batch. If the client has also enabled the server-time capability then messages inside the batch MUST be tagged with the time at which they were originally sent.


Channel Message BATCH +sxtUfAeXBgNoD chathistory #channel
@batch=sxtUfAeXBgNoD;time=2015-06-26T19:40:31.230Z :foo! PRIVMSG #channel :I like turtles.
@batch=sxtUfAeXBgNoD;time=2015-06-26T19:43:53.410Z :bar! NOTICE #channel :Tortoises are better.
@batch=sxtUfAeXBgNoD;time=2015-06-26T19:48:18.140Z PRIVMSG #channel :Squishy animals are inferior to computers. BATCH -sxtUfAeXBgNoD

Private Message BATCH +sxtUfAeXBgNoD chathistory remote
@batch=sxtUfAeXBgNoD;time=2015-06-26T19:40:31.230Z :remote! PRIVMSG local :I like turtles.
@batch=sxtUfAeXBgNoD;time=2015-06-26T19:43:53.410Z :local! PRIVMSG remote :Tortoises are better. BATCH -sxtUfAeXBgNoD