IRCCD-TEMPLATES(7) - Miscellaneous Information Manual

NAME

irccd-templates - irccd formatting and common patterns

DESCRIPTION

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).

TIME

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

ENVIRONMENT VARIABLES

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

IRC ATTRIBUTES

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.

Available colors

Available attributes

SHELL ATTRIBUTES

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.

Available colors

Available attributes

KEYWORDS

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

Predefined keywords

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.

EXAMPLES

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.

SEE ALSO

irccd(1), irccd.conf(5)

macOS 11.2 - @IRCCD_MAN_DATE@