view doc/examples/irccd.conf.sample @ 895:f0d6bc79aa32

irccd: implement hooks, closes #2342 @2h The hook mechanism is an alternative approach to plugins which allow the user to write lightweight scripts in any language.
author David Demelier <markand@malikania.fr>
date Thu, 05 Sep 2019 13:39:32 +0200
parents cb7532847b08
children 32b0397f0992
line wrap: on
line source

#
# irccd.conf -- config file for irccd
#

# Section plugins:
#    Load plugins by name or by paths.
#
# [plugins]
# abc = ""                      # This will search for abc
# ask = /tmp/ask.js             # This use /tmp/ask.js to load the plugin
#
# Specific options for plugins are stored in a dedicated section:
#
# [plugin.hangman]
# collaborative = false
#
# See corresponding manual pages for plugins.

# Section transport:
#    You can use transport to wait for any input you want. UNIX and internet
#    sockets are supported. UNIX are used for file based sockets while internet
#    bind to standard address plus a specific port.
#
# For internet sockets:
#
# [transport]
# type = "ip"
# port = "1234"                 # (int) port number,
# address = "*"                 # (string) address to bind or "*" for any (Optional, default: *),
# ipv6 = true                   # (bool) enable IPv6 (Optional, default: true),
# ipv4 = true                   # (bool )enable IPv4 (Optional, default: true).
#
# For UNIX sockets:
#
# [transport]
# type = "unix"
# path = "/tmp/irccd.sock"      # (string) the file path to the socket.

[transport]
type = "ip"
address = "*"
port = "5980"

# Section server:
#    List of server you want to connect to. A server is registered with a
#    unique id that is needed for irccdctl(1).
#
# [server]
# name = "id"                   # (id) the unique id,
# hostname = "chat.foo.com"     # (string) the server address,
# port = "4321"                 # (int) the server port (Optional, default: 6667),
# nickname = "foo"              # (string) the nickname (Optional, default: irccd),
# username = "bar"              # (string) the realname (Optional, default: IRC Client daemon),
# realname = "Jean"             # (string) the username name (Optional, default: irccd),
# ctcp-version = "irccd"        # (string) what version to respond to CTCP VERSION (Optional, default: IRC Client Daemon),
# password = "secret"           # (string) an optional password (Optional, default: none),
# auto-rejoin = false           # (bool) auto rejoin a channel after being kicked (Optional, default: false),
# join-invite = false           # (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 = false                   # (bool) enable or disable SSL (Optional, default: false),
# auto-reconnect = true         # (bool) enable reconnection after failure (Optional, default: true),
# auto-reconnect-delay = 5      # (int) number of seconds to wait before retrying (Optional, default: 30).

[server]
name = "localhost"
hostname = "localhost"
port = 6667

# Section rule:
#    Add one or more rules to filter IRC events.
#
# 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),
# origins = ""                  # (list) nicknames to match (Optional, default: empty)
# action = ""                   # (string) set to **accept** or **drop**.
#
# Block plugin hangman everywhere.
#
# [rule]
# plugins = "hangman"
# action = drop
#
# Allow it again on #games@localhost
#
# [rule]
# servers = "localhost"
# channels = "#games"
# plugins = "hangman"
# action = accept

# Section paths:
#    This section stores default paths mostly for plugins. For each plugin the
#    string "plugin/NAME" is appended.
#
#    This section is optional and default values are used instead.
#
# [paths]
# cache = "/var/cache"          # (string) data files written by the plugin.
# data = "/share/               # (string) data files provided by the user.
# config = "/etc/"              # (string) additional configuration from the user.
#
# To override paths per plugins:
#
# [paths.hangman]
# cache = "/var"

# Section logs:
#    Define where to store logs. Syslog, file and console are supported.
#
#    This section is optional, by default console is used.
#
# Common options:
#
# [logs]
# verbose = false               # (bool) be verbose.
#
# For syslog:
#
# [logs]
# type = "syslog"
#
# For files:
#
# [logs]
# path-logs                     # (string) Path to the normal messages,
# path-errors                   # (string) Path to the error messages.

# Section templates:
#    This section defines how irccd should format messages for logs and plugins.
#    The syntax is described in details in the irccd-templates(7) manual page.
#    Also, check corresponding information in plugin manual pages for more
#    details.
#
#    This section is optional, default values are used instead.
#
# To format general messages:
#
# [templates]
# debug = "DD #{message}        # (string) debug messages.
# info = "II #{message}         # (string) information messages.
# warning = "WW #{message}      # (string) warning messages.
#
# To format specific plugins:
#
# [templates.hangman]
# win = "you win!"

# Section hooks:
#    This sections lets you define hooks that are executed each time an IRC
#    event arrives.
#
# [hooks]
# mail = "/path/to/mail.py"