annotate doc/src/irccd.md @ 753:6d09b5fc82e8

CMake: disable CXX only for platform tests
author David Demelier <markand@malikania.fr>
date Sun, 05 Aug 2018 12:14:16 +0200
parents 1b04ffb2b35e
children ebe561276c33
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
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 The `irccd` program is an IRC bot which connects to one or more severs and
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 dispatches events to plugins.
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 # Synopsis
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 $ irccd [options...]
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 # Options
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
13
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 The following options are available:
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 - `-c, --config file`: specify the configuration file,
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 - `-v, --verbose`: be verbose,
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
18 - `--version`: show the version.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
19
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
20 # Paths
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
21
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 Irccd uses different types of paths depending on the context.
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 - Configuration
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
25 - Plugins
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 Paths prefixed by (W) means they are only used on Windows, others prefixed by
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
28 (U) means they are used on Unix systems
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
29
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
30 # Configuration
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
31
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
32 The following directories are searched in the specified order for configuration
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 files. For example, the files `irccd.conf` and `irccdctl.conf` will be searched
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
34 there.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
35
709
1b04ffb2b35e CMake: switch to GNUInstallDirs, closes #873 @1h
David Demelier <markand@malikania.fr>
parents: 708
diff changeset
36 - \(W) %APPDATA%/irccd/config
1b04ffb2b35e CMake: switch to GNUInstallDirs, closes #873 @1h
David Demelier <markand@malikania.fr>
parents: 708
diff changeset
37 - \(U) ${XDG\_CONFIG\_HOME}/irccd
1b04ffb2b35e CMake: switch to GNUInstallDirs, closes #873 @1h
David Demelier <markand@malikania.fr>
parents: 708
diff changeset
38 - \(U) ${HOME}/.config/irccd (if XDG\_CONFIG\_HOME is not set)
1b04ffb2b35e CMake: switch to GNUInstallDirs, closes #873 @1h
David Demelier <markand@malikania.fr>
parents: 708
diff changeset
39 - CMAKE\_INSTALL\_SYSCONFDIR/irccd
607
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
40
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 Examples:
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
42
709
1b04ffb2b35e CMake: switch to GNUInstallDirs, closes #873 @1h
David Demelier <markand@malikania.fr>
parents: 708
diff changeset
43 - /home/john/.config/irccd/irccd.conf
1b04ffb2b35e CMake: switch to GNUInstallDirs, closes #873 @1h
David Demelier <markand@malikania.fr>
parents: 708
diff changeset
44 - /usr/local/etc/irccd.conf
1b04ffb2b35e CMake: switch to GNUInstallDirs, closes #873 @1h
David Demelier <markand@malikania.fr>
parents: 708
diff changeset
45 - C:/Program Files/irccd/etc/irccd/irccd.conf
1b04ffb2b35e CMake: switch to GNUInstallDirs, closes #873 @1h
David Demelier <markand@malikania.fr>
parents: 708
diff changeset
46 - C:/Users/john/AppData/irccd/config
607
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
47
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
48 # Plugins
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 These directories are searched in the following order to load plugins when they
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
51 are not specified by full paths.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
52
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
53 - current working directory
709
1b04ffb2b35e CMake: switch to GNUInstallDirs, closes #873 @1h
David Demelier <markand@malikania.fr>
parents: 708
diff changeset
54 - \(W) %APPDATA%/irccd/share/plugins
1b04ffb2b35e CMake: switch to GNUInstallDirs, closes #873 @1h
David Demelier <markand@malikania.fr>
parents: 708
diff changeset
55 - \(U) ${XDG\_DATA\_HOME}/irccd/plugins
1b04ffb2b35e CMake: switch to GNUInstallDirs, closes #873 @1h
David Demelier <markand@malikania.fr>
parents: 708
diff changeset
56 - \(U) ${HOME}/.local/share/irccd/plugins (if XDG\_DATA\_HOME is not set)
1b04ffb2b35e CMake: switch to GNUInstallDirs, closes #873 @1h
David Demelier <markand@malikania.fr>
parents: 708
diff changeset
57 - CMAKE\_INSTALL\_LIBDIR/irccd (both native and Javascript)
607
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
58
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
59 Examples:
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
60
709
1b04ffb2b35e CMake: switch to GNUInstallDirs, closes #873 @1h
David Demelier <markand@malikania.fr>
parents: 708
diff changeset
61 - /home/john/.local/share/irccd/plugins/ask.js
1b04ffb2b35e CMake: switch to GNUInstallDirs, closes #873 @1h
David Demelier <markand@malikania.fr>
parents: 708
diff changeset
62 - /usr/local/lib/irccd/plugins/ask.js
1b04ffb2b35e CMake: switch to GNUInstallDirs, closes #873 @1h
David Demelier <markand@malikania.fr>
parents: 708
diff changeset
63 - C:/Users/john/AppData/irccd/share/plugins/ask.js
1b04ffb2b35e CMake: switch to GNUInstallDirs, closes #873 @1h
David Demelier <markand@malikania.fr>
parents: 708
diff changeset
64 - C:/Program Files/irccd/lib/irccd/plugins/ask.js
607
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
65
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
66 # Templates and formatting
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
67
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
68 Plugins can be configured using a powerful template syntax, this allows editing
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
69 the plugin messages to override them.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
70
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
71 The syntax is `?{}` where `?` is replaced by one of the token defined below.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
72 Braces are mandatory and cannot be ommited. To write a literal template
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
73 construct, prepend the token twice.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
74
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
75 ## Availables templates
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
76
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
77 The following templates are available:
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
78
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
79 - `%`, date and time (see [Time](#time)),
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
80 - `#{name}`, name will be substituted from the keywords
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
81 (see [Keywords](#keywords)),
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
82 - `${name}`, name will be substituted from the environment variable
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
83 (see [Environment variables](#environment-variables)),
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
84 - `@{attributes}`, the attributes will be substituted to IRC colors
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
85 (see [Attributes](#attributes)),
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 ## Time
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 When you can use patterns, the date and time may be used just like `strftime(3)`
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
90 so for the hours and minutes, you can use **%H:%M**.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
91
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
92 ## Environment variables
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
93
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
94 If supported, you can use environment variables like **${HOME}**. Please note
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
95 that braces are mandatory.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
96
675
168ea30142d9 Irccd: add color support in irccd output, closes #792 @1h
David Demelier <markand@malikania.fr>
parents: 607
diff changeset
97 ## IRC attributes
607
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 attribute format is composed of three parts, foreground, background and
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
100 modifiers, each separated by a comma.
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 Note: attributes and colors are not supported by all IRC clients.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
103
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
104 Warning: do not use colors and attributes outside IRC (e.g. for storing text in
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
105 files) because escape codes are only valid in IRC context.
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 ### Available colors
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 - white,
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
110 - black,
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
111 - blue,
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
112 - green,
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
113 - red,
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
114 - brown,
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
115 - purple,
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
116 - orange,
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
117 - yellow,
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
118 - lightgreen,
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
119 - cyan,
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
120 - lightcyan,
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
121 - lightblue,
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
122 - pink,
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
123 - grey,
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
124 - lightgrey.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
125
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
126 ### Available attributes
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
127
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
128 - bold,
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
129 - italic,
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
130 - strike,
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
131 - reset,
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
132 - underline,
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
133 - underline2,
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
134 - reverse.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
135
675
168ea30142d9 Irccd: add color support in irccd output, closes #792 @1h
David Demelier <markand@malikania.fr>
parents: 607
diff changeset
136 ## Shell attributes
168ea30142d9 Irccd: add color support in irccd output, closes #792 @1h
David Demelier <markand@malikania.fr>
parents: 607
diff changeset
137
168ea30142d9 Irccd: add color support in irccd output, closes #792 @1h
David Demelier <markand@malikania.fr>
parents: 607
diff changeset
138 Like IRC attributes, it's possible to specify colors and attributes in some
168ea30142d9 Irccd: add color support in irccd output, closes #792 @1h
David Demelier <markand@malikania.fr>
parents: 607
diff changeset
139 places such as logger configuration.
168ea30142d9 Irccd: add color support in irccd output, closes #792 @1h
David Demelier <markand@malikania.fr>
parents: 607
diff changeset
140
168ea30142d9 Irccd: add color support in irccd output, closes #792 @1h
David Demelier <markand@malikania.fr>
parents: 607
diff changeset
141 Warning: colors are not supported on all platforms.
168ea30142d9 Irccd: add color support in irccd output, closes #792 @1h
David Demelier <markand@malikania.fr>
parents: 607
diff changeset
142
168ea30142d9 Irccd: add color support in irccd output, closes #792 @1h
David Demelier <markand@malikania.fr>
parents: 607
diff changeset
143 ### Available colors
168ea30142d9 Irccd: add color support in irccd output, closes #792 @1h
David Demelier <markand@malikania.fr>
parents: 607
diff changeset
144
168ea30142d9 Irccd: add color support in irccd output, closes #792 @1h
David Demelier <markand@malikania.fr>
parents: 607
diff changeset
145 - black,
168ea30142d9 Irccd: add color support in irccd output, closes #792 @1h
David Demelier <markand@malikania.fr>
parents: 607
diff changeset
146 - red,
168ea30142d9 Irccd: add color support in irccd output, closes #792 @1h
David Demelier <markand@malikania.fr>
parents: 607
diff changeset
147 - green,
168ea30142d9 Irccd: add color support in irccd output, closes #792 @1h
David Demelier <markand@malikania.fr>
parents: 607
diff changeset
148 - orange,
168ea30142d9 Irccd: add color support in irccd output, closes #792 @1h
David Demelier <markand@malikania.fr>
parents: 607
diff changeset
149 - blue,
168ea30142d9 Irccd: add color support in irccd output, closes #792 @1h
David Demelier <markand@malikania.fr>
parents: 607
diff changeset
150 - purple,
168ea30142d9 Irccd: add color support in irccd output, closes #792 @1h
David Demelier <markand@malikania.fr>
parents: 607
diff changeset
151 - cyan,
168ea30142d9 Irccd: add color support in irccd output, closes #792 @1h
David Demelier <markand@malikania.fr>
parents: 607
diff changeset
152 - white,
168ea30142d9 Irccd: add color support in irccd output, closes #792 @1h
David Demelier <markand@malikania.fr>
parents: 607
diff changeset
153 - default.
168ea30142d9 Irccd: add color support in irccd output, closes #792 @1h
David Demelier <markand@malikania.fr>
parents: 607
diff changeset
154
168ea30142d9 Irccd: add color support in irccd output, closes #792 @1h
David Demelier <markand@malikania.fr>
parents: 607
diff changeset
155 ### Available attributes
168ea30142d9 Irccd: add color support in irccd output, closes #792 @1h
David Demelier <markand@malikania.fr>
parents: 607
diff changeset
156
168ea30142d9 Irccd: add color support in irccd output, closes #792 @1h
David Demelier <markand@malikania.fr>
parents: 607
diff changeset
157 - bold,
168ea30142d9 Irccd: add color support in irccd output, closes #792 @1h
David Demelier <markand@malikania.fr>
parents: 607
diff changeset
158 - dim,
168ea30142d9 Irccd: add color support in irccd output, closes #792 @1h
David Demelier <markand@malikania.fr>
parents: 607
diff changeset
159 - underline,
168ea30142d9 Irccd: add color support in irccd output, closes #792 @1h
David Demelier <markand@malikania.fr>
parents: 607
diff changeset
160 - blink,
168ea30142d9 Irccd: add color support in irccd output, closes #792 @1h
David Demelier <markand@malikania.fr>
parents: 607
diff changeset
161 - reverse,
168ea30142d9 Irccd: add color support in irccd output, closes #792 @1h
David Demelier <markand@malikania.fr>
parents: 607
diff changeset
162 - hidden.
168ea30142d9 Irccd: add color support in irccd output, closes #792 @1h
David Demelier <markand@malikania.fr>
parents: 607
diff changeset
163
607
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
164 ## Keywords
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 Keywords are arbitrary names that are replaced depending on the context. They
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
167 are usually available to configure plugins.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
168
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
169 ### Predefined keywords
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
170
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
171 Here's the list of keywords that a lot of plugins uses:
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
172
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
173 - **#{channel}**, the channel name,
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
174 - **#{command}**, the command to invoke the plugin, e.g. `!ask`,
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
175 - **#{message}**, a message (depending on context),
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
176 - **#{origin}**, the full user, e.g. `markand!~mkd@localhost`,
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
177 - **#{nickname}**, the short nickname,
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
178 - **#{plugin}**, the plugin name,
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
179 - **#{server}**, the current server name,
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
180 - **#{topic}**, the topic,
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
181 - **#{target}**, a target, e.g. a person who gets kicked.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
182
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
183 Warning: these keywords can be overriden by plugins.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
184
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
185 ## Examples
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
186
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
187 ### Valid constructs
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
188
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
189 - `#{target}, welcome`: if target is set to "irccd", becomes "irccd, welcome",
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
190 - `@{red}#{target}`: if target is specified, it is written in red.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
191
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
192 ### Invalid or literals constructs
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 - `##{target}`: will output "#{target}",
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
195 - `##`: will output "##",
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
196 - `#target`: will output "#target",
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
197 - `#{target`: will throw an error.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
198
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
199 ### Colors & attributes
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
200
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
201 - `@{red,blue}`: will write text red on blue background,
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
202 - `@{default,yellow}`: will write default color text on yellow background,
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
203 - `@{white,black,bold,underline}`: will write white text on black in both bold
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
204 and underline.
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 ### In the logger plugin
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 For instance, using the **logger** plugin, it's possible to customize the
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
209 pattern to use when someone joins a channel like that:
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 #{origin} joined #{channel}
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
212
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
213 The keyword **#{origin}** will be substituted to the nickname and **#{channel}**
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
214 to the channel name.
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
215
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
216 # See also
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 - irccd.conf(5)
bb9771fb5f44 Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff changeset
219 - irccdctl(1)