annotate doc/src/irccd.conf.md @ 730:2496ebc42b07

Core: various style changes
author David Demelier <markand@malikania.fr>
date Wed, 18 Jul 2018 13:49:56 +0200
parents 0dd4fb9dfcc8
children bd12709b1975
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
607
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 % irccd.conf
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 % David Demelier
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 % 2017-12-08
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
4
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 Both `irccd` and `irccdctl` use configuration file in a extended [INI][ini]
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 format.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
7
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 # General syntax
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
9
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 The file syntax has following rules:
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
11
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 1. Each option is stored in a section,
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 2. Some sections may be redefined multiple times,
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 3. Empty option must have quotes (e.g. `option = ""`).
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
15
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 # The @include statement
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
17
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
18 Irccd adds an extension to this format by adding an `@include` keyword which
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 let you splitting your configuration file.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
20
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
21 Note: this `@include` statement must be at the beginning of the file and must be
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 surrounded by quotes if the file name has spaces.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
23
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
24 You can use both relative or absolute paths. If relative paths are used, they
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
25 are relative to the current file being parsed.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
26
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
27 ## Example
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
28
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
29 ```ini
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
30 @include "rules.conf"
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
31 @include "servers.conf"
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
32
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 [mysection]
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
34 myoption = "1"
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
35 ```
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
36
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
37 # The list construct
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
38
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
39 When requested, an option can have multiples values in a list. The syntax uses
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
40 parentheses and values are separated by commas.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
41
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
42 If the list have only one value, you can just use a simple string.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
43
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
44 ## Examples
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
45
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
46 ```ini
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
47 [rule]
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
48 servers = ( "server1", "server2" )
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
49 ```
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
50
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
51 ```ini
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
52 [rule]
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
53 servers = "only-one-server"
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
54 ```
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
55
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
56 Note: spaces are completely optional.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
57
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
58 Options that have a default value are optional and can be omitted.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
59
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
60 # Identifiers
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
61
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
62 Some sections require an identifier (specified as id) as parameter. They must be
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
63 unique, not empty and can only contain characters, numbers, '-' and '_'.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
64
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
65 Example:
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
66
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
67 - abc
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
68 - server-tz2
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
69
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
70 # The logs section
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
71
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
72 This section can let you configure how irccd should log the messages.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
73
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
74 The available options:
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
75
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
76 - **verbose**: (bool) be verbose (Optional, default: false),
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
77 - **type**: (string) which kind of logging, console, file or syslog
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
78 (Optional, default: console).
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
79
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
80 The options for **file** type:
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
81
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
82 - **path-logs**: (string) path to the normal messages,
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
83 - **path-errors**: (string) path to the error messages.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
84
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
85 **Note:** syslog is not available on all platforms.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
86
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
87 ## Example
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
88
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
89 ```ini
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
90 [logs]
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
91 type = file
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
92 verbose = true
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
93 path-logs = "/var/log/irccd/log.txt"
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
94 path-errors = "/var/log/irccd/errors.txt"
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
95 ```
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
96
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
97 # The format section
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
98
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
99 The format section let you change the irccd's output. It uses the templates
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
100 system.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
101
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
102 Only one keyword is defined, `message` which contains the message that irccd
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
103 wants to output.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
104
675
168ea30142d9 Irccd: add color support in irccd output, closes #792 @1h
David Demelier <markand@malikania.fr>
parents: 607
diff changeset
105 **Note:** colors and attributes are not supported on Windows.
607
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
106
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
107 The available options:
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
108
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
109 - **debug**: (string) template to use to format debug messages
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
110 (Optional, default: none),
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
111 - **info**: (string) template to use to format information messages
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
112 (Optional, default: none),
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
113 - **warning**: (string) template to use to format warnings
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
114 (Optional, default: none).
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
115
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
116 ## Example
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
117
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
118 ```ini
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
119 [format]
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
120 debug = "%H:%M debug: #{message}"
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
121 info = "%H:%M info: #{message}"
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
122 warning = "%H:%M warning: #{message}"
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
123 ```
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
124
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
125 # The identity section
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
126
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
127 This section is completely optional, if you don't provide one, irccd will use a
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
128 default identity with your system account name as nickname and username. If
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
129 irccd was unable to get your account name, it uses **irccd** as a fallback.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
130
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
131 This section is redefinable, you can create one or more.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
132
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
133 The available options:
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
134
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
135 - **name**: (id) the identity unique id,
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
136 - **nickname**: (string) the nickname
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
137 (Optional, default: system username if available or irccd),
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
138 - **realname**: (string) the realname
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
139 (Optional, default: IRC Client Daemon),
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
140 - **username**: (string) the username name
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
141 (Optional, default: system username if available or irccd),
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
142 - **ctcp-version**: (string) what version to respond to CTCP VERSION
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
143 (Optional, default: IRC Client Daemon).
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
144
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
145 ## Example
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
146
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
147 ```ini
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
148 [identity]
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
149 name = "default"
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
150 nickname = "jean"
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
151
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
152 [identity]
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
153 name = "development"
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
154 nickname = "unstable"
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
155 username = "un"
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
156 ```
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
157
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
158 # The server section
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
159
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
160 This section is used to connect to one or more server.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
161
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
162 This section is redefinable, you can create one or more.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
163
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
164 The available options:
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
165
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
166 - **name**: (id) the unique id,
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
167 - **host**: (string) the server address,
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
168 - **port**: (int) the server port (Optional, default: 6667),
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
169 - **identity**: (string) an identity to use
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
170 (Optional, default: irccd's default),
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
171 - **password**: (string) an optional password
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
172 (Optional, default: none),
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
173 - **join-invite**: (bool) join channels upon invitation
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
174 (Optional, default: false),
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
175 - **channels**: (list) list of channels to auto join
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
176 (Optional, default: empty),
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
177 - **command-char**: (string) the prefix for invoking special commands
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
178 (Optional, default: !),
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
179 - **ssl**: (bool) enable or disable SSL (Optional, default: false),
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
180 - **ssl-verify**: (bool) verify the SSL certificates
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
181 (Optional, default: true),
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
182 - **reconnect**: (bool) enable reconnection after failure
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
183 (Optional, default: true),
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
184 - **reconnect-tries**: (int) number of tries before giving up. A value of
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
185 -1 means indefinitely (Optional, default: -1),
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
186 - **reconnect-timeout**: (int) number of seconds to wait before retrying
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
187 (Optional, default: 30),
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
188 - **ping-timeout** (int) number of seconds before ping timeout
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
189 (Optional, default: 300).
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
190
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
191 **Note:** if a channel requires a password, add it after a colon
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
192 (e.g. "#channel:password").
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
193
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
194 ## Example
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
195
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
196 ```ini
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
197 [server]
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
198 name = "local"
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
199 host = "localhost"
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
200 port = 6667
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
201 channels = ( "#staff", "#club:secret" )
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
202 ```
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
203
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
204 # The paths section
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
205
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
206 The paths section defines common paths used as defaults for all plugins.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
207
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
208 Any option in this section can be defined altough the following are used as
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
209 common convention used in all plugins:
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
210
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
211 - **cache**: (string) path for data files written by the plugin,
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
212 - **data**: (string) path for data files provided by the user,
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
213 - **config**: (string) path for additional configuration from the user.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
214
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
215 For each of these paths, **plugin/name** is appended with the appropriate
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
216 plugin name when loaded.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
217
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
218 The section is redefinable per plugin basis using the `[paths.<plugin>]` syntax.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
219
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
220 ## Example
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
221
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
222 ```ini
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
223 #
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
224 # Common for all plugins.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
225 #
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
226 # Example with ask plugin:
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
227 #
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
228 # cache -> /var/cache/irccd/plugin/ask
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
229 # config -> /usr/local/etc/irccd/plugin/ask
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
230 # data -> /var/data/irccd/plugin/ask
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
231 #
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
232 [paths]
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
233 cache = "/var/cache/irccd"
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
234 config = "/usr/local/etc/irccd"
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
235 data = "/var/data/irccd"
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
236
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
237 #
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
238 # Explicit override for plugin hangman.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
239 #
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
240 [paths.hangman]
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
241 config = "/etc/hangman"
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
242 ```
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
243
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
244 # The plugins section
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
245
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
246 This section is used to load plugins.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
247
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
248 Just add any key you like to load a plugin. If the value is not specified, the
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
249 plugin is searched through the standard directories, otherwise, provide the full
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
250 path (including the .js extension).
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
251
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
252 **Warning:** remember to add an empty string for searching plugins.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
253
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
254 ## Example
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
255
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
256 ```ini
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
257 [plugins]
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
258 history = ""
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
259 myplugin = /tmp/myplugin.js
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
260 ```
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
261
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
262 The `history` plugin will be searched while `myplugin` will be load from
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
263 **/tmp/myplugin.js**.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
264
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
265 # The transport section
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
266
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
267 This section defines transports, you may use sockets to do a basic IPC system
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
268 within irccd.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
269
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
270 With transports, you can may ask `irccd` to send a message, a notice or even
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
271 kicking someone from a channel. Irccd will also notify all clients connected to
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
272 this transport on IRC events.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
273
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
274 There are two type of listeners availables:
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
275
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
276 1. Internet sockets, IPv4 and IPv6,
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
277 2. Unix sockets, based on files (not available on Windows).
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
278
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
279 The available options:
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
280
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
281 - **type**: (string) type of listener "ip" or "unix".
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
282 - **password**: (string) an authentication password (Optional, default: none).
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
283
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
284 The options for **ip** type:
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
285
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
286 - **port**: (int) port number,
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
287 - **address**: (string) address to bind or "\*" for any
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
288 (Optional, default: \*),
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
289 - **family**: (list) ipv6, ipv4. Both are accepted (Optional, default: ipv4),
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
290 - **ssl**: (bool) enable SSL (Optional, default: false),
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
291 - **key**: (string) path to private key file (Optional, default: none),
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
292 - **certificate**: (string) path to certificate (Optional, default: none).
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
293
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
294 The options for **unix** type:
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
295
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
296 - **path**: (string) the file path to the socket.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
297
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
298 ## Example of internet transports
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
299
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
300 ```ini
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
301 [transport]
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
302 type = "ip"
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
303 address = "*"
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
304 family = ( "ipv4", "ipv6" )
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
305 port = 9999
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
306 ```
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
307
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
308 This will let you controlling irccd on port 9999 with both IPv4 and IPv6
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
309 families.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
310
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
311 **Warning**: consider using internet sockets with care, especially if you are
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
312 running your bot on a server with multiple users. If your bot has
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
313 operator rights and you bind on any address, almost every users
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
314 can do a kick or a ban.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
315
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
316 ## Example of unix transports
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
317
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
318 ```ini
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
319 [transport]
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
320 type = "unix"
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
321 path = "/tmp/irccd.sock"
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
322 ```
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
323
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
324 This will let you controlling irccd on path **/tmp/irccd.sock**, the file is
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
325 automatically deleted when irccd starts, but not when it stops.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
326
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
327 # The rule section
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
328
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
329 The rule section is one of the most powerful within irccd configuration. It let
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
330 you enable or disable plugins and IRC events for specific criterias. For
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
331 instance, you may want to disable a plugin only for a specific channel on a
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
332 specific server. And because rules are evaluated in the order they are defined,
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
333 you can override rules.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
334
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
335 The available options:
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
336
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
337 - **servers**, (list) a list of servers that will match the rule
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
338 (Optional, default: empty),
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
339 - **channels**, (list) a list of channel (Optional, default: empty),
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
340 - **plugins**, (list) which plugins (Optional, default: empty),
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
341 - **events**, (list) which events (e.g onCommand, onMessage, ...)
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
342 (Optional, default: empty),
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
343 - **action**, (string) set to **accept** or **drop**.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
344
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
345 ## Basic rules example
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
346
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
347 This first rule disable the plugin reboot on **all** servers and channels.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
348
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
349 ```ini
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
350 [rule]
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
351 plugins = "reboot"
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
352 action = drop
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
353 ```
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
354
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
355 This rule enable the reboot plugin again on the server **localhost**,
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
356 channel **#staff**.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
357
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
358 ```ini
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
359 [rule]
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
360 servers = "localhost"
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
361 channels = "#staff"
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
362 plugins = "reboot"
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
363 action = accept
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
364 ```
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
365
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
366 # Full example of configuration file
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
367
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
368 ```ini
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
369 # Add a transport that bind only to IPv6.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
370 [transport]
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
371 type = ip
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
372 family = ipv6
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
373 port = 12000
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
374
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
375 # A transport that binds to both IPv4 and IPv6.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
376 [transport]
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
377 type = ip
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
378 family = ( ipv4, ipv6 )
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
379 port = 15000
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
380
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
381 # Identity reused by many servers.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
382 [identity]
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
383 name = "myIdentity"
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
384 nickname = "superbot"
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
385 realname = "SuperBot v1.0"
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
386 username = "sp"
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
387
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
388 # A server.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
389 [server]
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
390 name = "foo"
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
391 host = "irc.foo.org"
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
392 port = "6667"
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
393 identity = myIdentity
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
394
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
395 # An other server.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
396 [server]
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
397 name = "wanadoo"
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
398 host = "chat.wanadoo.fr"
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
399 port = "6667"
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
400 identity = myIdentity
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
401
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
402 # Load some plugins.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
403 [plugins]
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
404 ask = "" # Search ask
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
405 myplugin = /path/to/myplugin.js # Use absolute path
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
406 ```
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
407
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
408 [ini]: https://en.wikipedia.org/wiki/INI_file
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
409