comparison man/irccd.1 @ 845:00a4720c4874

doc: rewrite documentation in manual pages, closes #1674 Get rid of markdown documentation and the custom generator tools, instead use raw manual pages.
author David Demelier <markand@malikania.fr>
date Mon, 08 Jul 2019 16:15:57 +0200
parents
children 0028704ab284
comparison
equal deleted inserted replaced
844:dc6b42d7b97a 845:00a4720c4874
1 .\"
2 .\" Copyright (c) 2013-2019 David Demelier <markand@malikania.fr>
3 .\"
4 .\" Permission to use, copy, modify, and/or distribute this software for any
5 .\" purpose with or without fee is hereby granted, provided that the above
6 .\" copyright notice and this permission notice appear in all copies.
7 .\"
8 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 .\"
16 .Dd @IRCCD_MAN_DATE@
17 .Dt IRCCD 1
18 .Os
19 .\" NAME
20 .Sh NAME
21 .Nm irccd
22 .Nd IRC Client Daemon
23 .\" SYNOPSIS
24 .Sh SYNOPSIS
25 .Nm irccd
26 .Op Fl c Ar file
27 .Op Fl v
28 .Nm irccd
29 .Ar version
30 .\" DESCRIPTION
31 .Sh DESCRIPTION
32 The
33 .Nm
34 program is an IRC bot which connects to one or more severs and
35 dispatches events to plugins.
36 .Pp
37 The following options are available:
38 .Bl -tag -width indent-xxx
39 .It Fl c Ar file
40 specify the configuration file.
41 .It Fl v
42 be verbose.
43 .El
44 .\" PLUGINS
45 .Sh PLUGINS
46 The
47 .Nm
48 program can runs plugins once IRC events are received. For example, if someone
49 sends you a private message plugins will be invoked with that event. Both native
50 plugins written in C++ and Javascript are supported (if enabled at compile
51 time).
52 .Pp
53 The following IRC events are supported:
54 .Bl -tag -width 12n
55 .\" onCommand
56 .It onCommand
57 This is a special event that does not exist in IRC context. It calls the plugin
58 special invocation command using
59 .Ar "!name arguments..."
60 syntax. The exclamation mark is configured by default to be the command
61 character prefix, then if the adjacent name is known to be a loaded plugin it is
62 invoked with the additional arguments.
63 .Pp
64 Example: to call the
65 .Nm hangman
66 plugin, one may use !hangman to start a game.
67 .Pp
68 See also
69 .Xr irccd.conf 5
70 on how to change the command character prefix under a
71 .Va [server]
72 section.
73 .\" onConnect
74 .It onConnect
75 When a server successfully connects to an IRC server.
76 .\" onDisconnect
77 .It onDisconnect
78 When a server disconnected from an IRC server both in case of failures or
79 explicit user disconnection.
80 .\" onInvite
81 .It onInvite
82 Event called when the bot itself has been invited to a channel.
83 .\" onJoin
84 .It onJoin
85 When someone joins a channel.
86 .\" onKick
87 .It onKick
88 When someone has been kicked from a channel, irccd may be included.
89 .\" onLoad
90 .It onLoad
91 This is a special event that does not exist in IRC context. It is invoked when
92 the plugin is initialized.
93 .\" onMessage
94 .It onMessage
95 Upon private message.
96 .\" onMe
97 .It onMe
98 On action emote, also most known as
99 .Ar /me
100 command.
101 .\" onMode
102 .It onMode
103 When a user or channel mode change.
104 .\" onNames
105 .It onNames
106 When a list of nicknames has been received.
107 .\" onNick
108 .It onNick
109 On nick change, irccd may be included.
110 .\" onNotice
111 .It onNotice
112 On private notice.
113 .\" onPart
114 .It onPart
115 When someone leaves a channel.
116 .\" onReload
117 .It onReload
118 This is a special event that does not exist in IRC context. It is invoked when
119 the user asks to reload a plugin.
120 .\" onTopic
121 .It onTopic
122 When a channel topic has been changed.
123 .\" onUnload
124 .It onUnload
125 This is a special event that does not exist in IRC context. It is invoked when
126 the user asks to unload a plugin and before exiting.
127 .\" onWhois
128 .It onWhois
129 When a whois information has been received.
130 .El
131 .Pp
132 The following plugins are provided with irccd:
133 .Pp
134 .Bl -bullet -compact
135 .It
136 ask
137 .It
138 auth
139 .It
140 hangman
141 .It
142 history
143 .It
144 joke
145 .It
146 links
147 .It
148 logger
149 .It
150 plugin
151 .It
152 roulette
153 .It
154 tictactoe
155 .El
156 .Pp
157 See additional documentation in their own manual page in the form
158 .Xr irccd-plugin-name 7
159 where name is the actual plugin name.
160 .\" TRANSPORTS
161 .Sh TRANSPORTS
162 The daemon can be controlled at runtime using the dedicated
163 .Nm irccdctl
164 tool or using sockets.
165 .Pp
166 Both TCP/IP and UNIX sockets are supported and SSL layer may be enabled over it
167 for a secure connection. If authentication is desired, it can be enabled too.
168 .Pp
169 See also the
170 .Va [transport]
171 section in the
172 .Xr irccd.conf 5
173 manual page.
174 .\" RULES
175 .Sh RULES
176 .Nm
177 supports a feature called rules which allows you to define a fine-grained set of
178 rules allowed for specific plugins. For instance, you may want to disable some
179 IRC events for some plugins depending on your set of parameters. This is useful
180 for plugins that generates huge traffic.
181 .Pp
182 Rule events are matched using the same name as plugin events described in the
183 section above. For example, to disable a private message event you must use the
184 .Ar onCommand
185 value.
186 .Pp
187 See also the
188 .Va [rule]
189 section in the
190 .Xr irccd.conf 5
191 manual page.
192 .\" DIRECTORIES
193 .Sh DIRECTORIES
194 .Nm
195 uses different types of paths depending on the context.
196 .Pp
197 Paths prefixed by (W) means they are only used on Windows, others prefixed by
198 (U) means they are used on UNIX systems
199 .Pp
200 .Ss Configuration
201 The following directories are searched in the specified order for configuration
202 files. For example, the files
203 .Pa irccd.conf
204 and
205 .Pa irccdctl.conf
206 will be searched there.
207 .Bl -bullet
208 .It
209 (W) %APPDATA%/irccd/config
210 .It
211 (U) ${XDG_CONFIG_HOME}/irccd
212 .It
213 (U) ${HOME}/.config/irccd (if XDG_CONFIG_HOME is not set)
214 .El
215 .\" SEE ALSO
216 .Sh SEE ALSO
217 .Xr irccd-api 7 ,
218 .Xr irccd-templates 7 ,
219 .Xr irccd-ipc 7 ,
220 .Xr irccd-plugin-ask 7 ,
221 .Xr irccd-plugin-auth 7 ,
222 .Xr irccd-plugin-hangman 7 ,
223 .Xr irccd-plugin-history 7 ,
224 .Xr irccd-plugin-joke 7 ,
225 .Xr irccd-plugin-links 7 ,
226 .Xr irccd-plugin-logger 7 ,
227 .Xr irccd-plugin-plugin 7 ,
228 .Xr irccd-plugin-roulette 7 ,
229 .Xr irccd-plugin-tictactoe 7 ,
230 .Xr irccd-test 1 ,
231 .Xr irccd.conf 5 ,
232 .Xr irccdctl 1 ,
233 .Xr irccdctl.conf 5