IRCCDCTL.CONF(5) - File Formats Manual


irccdctl.conf - irccdctl configuration file


The irccdctl utility use the same configuration file syntax and paths, see the manual of irccd.conf file for more information.


Configuration are always stored in dedicated section in the form [name] where name is one of the section defined below and are case-sensitive.


This section defines the global irccdctl parameters.

Available options:

verbose (bool)

Enable verbose message (Optional, default: false).


The section socket permit irccdctl to connect to a specific irccd transport, only one must be defined. Just like transports you can connect to Unix or internet sockets.

Available options:

type (string)

Connection type, must be set to “ip” or “unix”.

password (string)

An authentication password (Optional, default: none).

The following options are available for the ip type:

hostname (string)

Host to connect.

port (int)

Port number.

ipv4 (bool)

Try to connect with ipv4 (Optional: default true).

ipv6 (bool)

Try to connect with ipv6 (Optional: default true).

The following options are available for the unix type:

path (string)

The file path to the socket.


The alias section can be used to define custom user commands.

To define an alias, just add a new section named [] where name is your desired alias name.

Then, add any option you like to execute commands you want. The option name is ignored and serves as auto-documentation only.


say-hello = ( "server-message", "localhost", "#staff", "hello world!" )
warning = ( "server-me", "localhost", "#staff", "is a bot")

This alias present will do:

  1. Send a message on the channel #staff in the server localhost

  2. Send an action emote on the same channel

To use this alias, call irccdctl present.

Sometimes, you want to pass parameters to your alias. The placeholder syntax allows you to define where your command line arguments will be replaced before being sent to irccd.

The syntax uses %n where n is an integer starting from 0.

As you have seen in the present alias example above, the channel and server are hardcoded so the user is not able to use this alias for different channels. Let’s update this alias with placeholders to make it more generic.


say-hello = ( "server-message", "%0", "%1", "hello world!" )
warning = ( "server-me", "%0", "%1", "is a bot")

Now, the present alias will except two arguments from the command line when the user invokes irccdctl as following:

irccdctl present

Thus if you want to use this alias on the #staff@localhost, you call the alias using:

irccdctl present localhost "#staff"


Example for internet transports.

type = "internet"
hostname = "localhost"
port = "9999"

Example for unix transports.

type = "unix"
path = "/tmp/irccd.sock"

# inspired by irssi /cycle
leave = ( "server-part", "%0", "%1" )
join = ( "server-join", "%0", "%1" )


irccd(1), irccdctl(1)


irccdctl was written by David Demelier <>

macOS 11.2 - @IRCCD_MAN_DATE@