Channel history

UnrealIRCd 5 supports channel history playback. This way you can see messages that were posted when you were not in the channel. Note that this requires a modern IRC client.

Short guide
To enable this you have to set channel mode +H, type:. This will make it remember the last 15 lines for the past 1440 minutes (1 day).

Now, talk in the channel a bit and leave and rejoin the channel. You should see history playback:



NOTE: Of course, you must not be the only person in the channel, otherwise the channel will be destroyed when you rejoin.

Client support
History playback works with modern IRC clients that support the server-time capability. Including:
 * AdiIRC
 * Colloquy
 * HexChat
 * IceChat
 * Konversation
 * KVIrc
 * mIRC: since 7.34 (June 2014)
 * Quassel
 * Textual
 * WeeChat: unfortunately server-time is not enabled by default.
 * Swirc
 * Glirc
 * IRCCloud
 * KiwiIRC
 * The Lounge

If it's not working with any of these clients, make sure you are using their latest version and check the client documentation / client support resources.

Notable clients which do NOT currently support it are:
 * irssi: GitHub issue here
 * LimeChat
 * Mibbit.

Long guide
To start recording history, set channel mode +H. The syntax is:.

For example:  means the last 50 messages will be stored and no message will be stored longer than 1440 minutes (1 day).

The channel history is then played back when a user joins such a channel. However, the following restrictions apply: The reason for the maximum 15 lines on-join playback is that this can be quite annoying if you rejoin repeatedly and as to not flood the users screen too much (unwanted).
 * 1) The client must support the 'server-time' CAP ('time' message tag), otherwise history is not shown. Any modern IRC client supports this.
 * 2) Only a maximum of 15 lines are played back on-join by default

In the future we will support a mechanism for clients to "fetch" history - rather than sending it on-join - so they can fetch more than the 15 lines, up to the number of lines and time configured in the +H channel mode.

You can configure the exact number of lines that are played back and all the limits that apply to +H via set::history::channel.

For saving and retrieving history we currently have the following backend options: As you can see there is currently no 'disk' backend. However, in the future more options may be added. Also note that 3rd party modules can add history backends as well.
 * history_backend_mem: channel history is stored in memory. This is very fast but also means history is lost on restart.
 * history_backend_null: don't store channel history at all. This can be useful to load on servers with no users on it, such as a hub server, where storing history is unnecessary.