Documentation Index
Fetch the complete documentation index at: https://docs.flumeirc.io/llms.txt
Use this file to discover all available pages before exploring further.
Every message and event in Flume uses a configurable format string. You can customize the display of any message type in the [formats] section of config.toml.
Variables
Use ${variable} to insert values:
[formats]
message = "<${nick}> ${text}"
join = "--> ${nick} has joined ${channel}"
Conditionals
Use ${?variable|text} to only render when the variable is non-empty:
part = "<-- ${nick} has left ${channel}${?message| (${message})}"
If message is empty, the (message) part is omitted entirely.
[formats]
# Regular channel/PM messages
message = "<${nick}> ${text}"
own_message = "<${nick}> ${text}"
# /me actions
action = "* ${nick} ${text}"
# NOTICE messages
notice = "[notice] <${nick}> ${text}"
server_notice = "[notice] ${text}"
# System messages (joins, parts, etc.)
system = "-- ${text} --"
# Server replies (WHOIS, numerics, etc.)
server = "[${label}] ${text}"
Available Variables (Messages)
| Variable | Description |
|---|
${nick} | Sender’s nickname |
${text} | Message content |
${label} | Label for server messages (whois, error, etc.) |
[formats]
join = "--> ${nick} (${userhost}) has joined ${channel}"
part = "<-- ${nick} has left ${channel}${?message| (${message})}"
quit = "<-- ${nick} has quit${?message| (${message})}"
kick = "<<< ${target} was kicked from ${channel} by ${nick}${?reason| (${reason})}"
nick_change = "*** ${old_nick} is now known as ${new_nick}"
topic = "${nick} changed topic of ${channel}: ${topic}"
mode = "mode/${target} [${modes}] by ${nick}"
Available Variables (Events)
| Variable | Description |
|---|
${nick} | The user performing the action |
${channel} | Channel name |
${userhost} | user@host (on join) |
${message} | Part/quit message (optional) |
${target} | Target user (kick) or mode target |
${reason} | Kick reason (optional) |
${old_nick} | Previous nickname (nick change) |
${new_nick} | New nickname (nick change) |
${topic} | New topic text |
${modes} | Mode string (e.g., +o user) |
[formats]
# Status bar
status_bar = "${time} | [${nick}(${user_modes})] | [${channel}(${chan_modes})] | [${user_count}]"
# Buffer list entries
buffer_entry = " ${index}.${name}"
buffer_entry_unread = " ${index}.${name}(${unread})"
buffer_entry_highlight = " ${index}.${name}(${unread}!)"
/set formats.join --> ${nick} joined ${channel}
/set formats.quit <-- ${nick} has quit
/set formats.message [${nick}] ${text}
Examples
Compact Style
[formats]
message = "${nick}: ${text}"
join = "+ ${nick}"
part = "- ${nick}"
quit = "- ${nick} (quit)"
nick_change = "${old_nick} -> ${new_nick}"
Verbose Style
[formats]
message = "[${nick}] ${text}"
join = ">>> ${nick} (${userhost}) has joined ${channel}"
part = "<<< ${nick} has left ${channel}${?message| — ${message}}"
quit = "<<< ${nick} has quit the network${?message| — ${message}}"
kick = "!!! ${target} was kicked from ${channel} by ${nick}${?reason| — ${reason}}"
[formats]
join = "-!- ${nick} [${userhost}] has joined ${channel}"
part = "-!- ${nick} [${userhost}] has left ${channel}${?message| [${message}]}"
quit = "-!- ${nick} has quit [${message}]"
nick_change = "-!- ${old_nick} is now known as ${new_nick}"
mode = "-!- mode/${channel} [${modes}] by ${nick}"