IRCCD-TEMPLATES(7) Miscellaneous Information Manual IRCCD-TEMPLATES(7)

irccd-templates
irccd formatting and common patterns

Plugins can be configured using a powerful template syntax, this allows editing the plugin messages to override them.

The syntax is ?{} where ? is replaced by one of the token defined below. Braces are mandatory and cannot be ommited. To write a literal template construct, prepend the token twice.

The following templates are available:

%
date and time (see Time section).
#{name}
name will be substituted from the keywords (see Keywords section).
${name}
name will be substituted from the environment variable (see Environment variables).
@{attributes}
the attributes will be substituted to IRC colors (see Attributes).

The date and time format may be used just like strftime(3) so for the hours and minutes, you can write %H:%M.

If supported, you can use environment variables like ${HOME}. Please note that braces are mandatory.

The attribute format is composed of three parts, foreground, background and modifiers, each separated by a comma.

Note: attributes and colors are not supported by all IRC clients.

Warning: do not use colors and attributes outside IRC (e.g. for storing text in files) because escape codes are only valid in IRC context.

  • white
  • black
  • blue
  • green
  • red
  • brown
  • purple
  • orange
  • yellow
  • lightgreen
  • cyan
  • lightcyan
  • lightblue
  • pink
  • grey
  • lightgrey

  • bold
  • italic
  • strike
  • reset
  • underline
  • underline2
  • reverse

Like IRC attributes, it's possible to specify colors and attributes in some places such as logger configuration.

Warning: colors are not supported on all platforms.

  • black
  • red
  • green
  • orange
  • blue
  • purple
  • cyan
  • white
  • default

  • bold
  • dim
  • underline
  • blink
  • reverse
  • hidden

Keywords are arbitrary names that are replaced depending on the context. They are usually available to configure plugins.

Here's the list of keywords that a lot of plugins uses:
#{channel}
the channel name,
#{command}
the command to invoke the plugin, e.g. `!ask`,
#{message}
a message (depending on context),
#{origin}
the full user, e.g. `markand!~mkd@localhost`,
#{nickname}
the short nickname,
#{plugin}
the plugin name,
#{server}
the current server name,
#{topic}
the topic,
#{target}
a target, e.g. a person who gets kicked.

Warning: these keywords can be overriden by plugins.

Valid constructs:
#{target}, welcome
if target is set to "irccd", becomes “irccd, welcome”.
@{red}#{target}
if target is specified, it is written in red.

Invalid or literals constructs:

##{target}
will output “#{target}”.
abc##xyz
will output “abc#xyz”.
#target
will output “#target”.
#{target
will cause an error.
@#{message}
will output “@bar” if message keyword is set to “bar”.

Colors & attributes:

@{red,blue}
will write text red on blue background,
@{default,yellow}
will write default color text on yellow background,
@{white,black,bold,underline}
will write white text on black in both bold and underline.

For instance, using the logger plugin, it's possible to customize the pattern to use when someone joins a channel like that:

#{origin} joined #{channel}

The keyword #{origin} will be substituted to the nickname and #{channel} to the channel name.

irccd(1), irccd.conf(5)
October 6, 2019 Linux 5.3.1-arch1-1-ARCH