view doc/procs/20.options.md @ 158:52affa4ade71

Plugin roulette: style
author David Demelier <markand@malikania.fr>
date Mon, 23 May 2016 13:15:23 +0200
parents 4cb417fd4e18
children
line wrap: on
line source

Irccd configuration file (irccd.conf)
=====================================

This file describes how to add new options in the irccd configuration file.

# Current options

## general

  - **uid**: (string or number) the user id to use (Optional, default: none),
  - **gid**: (string or number) the group id to use (Optional, default: none),
  - **foreground**: (bool) set to true to not daemonize (Optional, default: false),
  - **pidfile**: (string) path to a file where to store the irccd pid (Optional, default: none).

## format

  - **debug**: (string) template to use to format debug messages (Optional, default: none),
  - **info**: (string) template to use to format information messages (Optional, default: none),
  - **warning**: (string) template to use to format warnings (Optional, default: none).

## logs

  - **verbose**: (bool) be verbose (Optional, default: false),
  - **type**: (string) which kind of logging, console, file or syslog (Optional, default: console).

The options for **file** type:

  - **path-logs**: (string) path to the normal messages,
  - **path-errors**: (string) path to the error messages.

## identity

  - **name**: (id) the identity unique id,
  - **nickname**: (string) the nickname (Optional, default: irccd),
  - **realname**: (string) the realname (Optional, default: IRC Client daemon),
  - **username**: (string) the username name (Optional, default: irccd),
  - **ctcp-version**: (string) what version to respond to CTCP VERSION (Optional, default: IRC Client Daemon),
  - **ctcp-autoreply**: (bool) enable auto CTCP VERSION reply, (Optional, default: true).

## server

  - **name**: (id) the unique id,
  - **host**: (string) the server address,
  - **port**: (int) the server port (Optional, default: 6667),
  - **identity**: (string) an identity to use (Optional, default: irccd's default),
  - **password**: (string) an optional password (Optional, default: none),
  - **auto-rejoin**: (bool) auto rejoin a channel after being kicked (Optional, default: false),
  - **join-invite**: (bool) join channels upon invitation (Optional, default: false),
  - **channels**: (list) list of channels to auto join, (Optional, default: empty),
  - **command-char**: (string) the prefix for invoking special commands (Optional, default: !),
  - **ssl**: (bool) enable or disable SSL (Optional, default: false),
  - **ssl-verify**: (bool) verify the SSL certificates (Optional, default: true),
  - **reconnect**: (bool) enable reconnection after failure (Optional, default: true),
  - **reconnect-tries**: (int) number of tries before giving up. A value of 0 means indefinitely (Optional, default: 0),
  - **reconnect-timeout**: (int) number of seconds to wait before retrying (Optional, default: 30).

## plugins

No options.

## transport

  - **type**: (string) type of listener "ip" or "unix"

The options for **ip** type:

  - **port**: (int) port number,
  - **address**: (string) address to bind or "*" for any (Optional, default: *),
  - **family**: (list) ipv6, ipv4. Both are accepted (Optional, default: ipv4).

The options for **unix** type:

  - **path**: (string) the file path to the socket.

## rule

  - **servers**, (list) a list of servers that will match the rule (Optional, default: empty),
  - **channels**, (list) a list of channel (Optional, default: empty),
  - **plugins**, (list) which plugins (Optional, default: empty),
  - **events**, (list) which events (e.g onCommand, onMessage, ...) (Optional, default: empty),
  - **action**, (string) set to **accept** or **drop**.

# Add a new option

  1. Update this file,
  2. Open irccd/config.cpp and load your option into the appropriate function,
  3. Update doc/html/guide/04-irccd/01-config.md,
  4. Update doc/examples/irccd.conf,
  5. Update doc/man/irccd.conf.5.in.