Mercurial > irccd
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 |
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 |