annotate plugins/joke/joke.md @ 618:5afc0b3a9ad8

Plugin joke: brand new plugin, closes #609 @2h The new joke plugin offers a convenient registry of jokes that are displayed in a random and unique order. It keeps track of displayed jokes per channel/server pairs.
author David Demelier <markand@malikania.fr>
date Tue, 19 Dec 2017 22:02:12 +0100
parents
children ebe561276c33
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
618
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 ---
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 title: "Joke plugin"
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 header: "Joke plugin"
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 guide: yes
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 ---
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
6
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 The plugin **joke** is a convenient command to display jokes in a random order
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 without displaying always the same.
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
9
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 It loads jokes per channel/server pair and display a unique joke each time it is
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 invoked.
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
12
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 # Installation
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
14
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 The plugin **joke** is distributed with irccd. To enable it add the following to
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 your `plugins` section:
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
17
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
18 ```ini
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 [plugins]
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
20 joke = ""
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
21 ```
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
22
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
23 ## Usage
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
24
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
25 The plugin **joke** requires a database of jokes file, it consists of a plain
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
26 JSON file of array of array of strings.
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
27
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
28 Example of **jokes.json** file:
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
29
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
30 ```javascript
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
31 [
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
32 [
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 "Tip to generate a good random password:",
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
34 "Ask a Windows user to quit vim."
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
35 ],
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
36 [
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
37 "Have you tried turning it off and on again?"
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
38 ]
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
39 ]
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
40 ```
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
41
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
42 This file contains two jokes, the first one will be printed on two lines while
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
43 the second only has one.
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
44
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
45 Then, invoke the plugin:
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
46
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
47 ```nohighlight
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
48 markand: !joke
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
49 irccd: Have you tried turning it off and on again?
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
50 markand: !joke
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
51 irccd: Tip to generate a good random password:
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
52 irccd: Ask a Windows user to quit vim.
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
53 ```
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
54
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
55 ## Configuration
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
56
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
57 The following options are available under the `[plugin.history]` section:
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
58
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
59 - **file**: (string) path to the JSON jokes files (Optional: defaults to data
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
60 directory/jokes.json)
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
61
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
62 ### Keywords supported
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
63
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
64 The following keywords are supported:
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
65
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
66 | Parameter | Keywords |
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
67 |-----------|-----------------|
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
68 | **file** | channel, server |
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
69
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
70 Warning: if you use keywords in the **file** parameter, you won't have a default
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
71 joke database anymore.
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
72
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
73 ## Formats
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
74
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
75 The **joke** plugin supports the following formats in `[format.joke]` section:
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
76
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
77 - **error**: (string) format when an internal error occured.
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
78
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
79 ### Keywords supported
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
80
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
81 The following keywords are supported:
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
82
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
83 | Format | Keywords |
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
84 |-----------|-----------------------------------|
5afc0b3a9ad8 Plugin joke: brand new plugin, closes #609 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
85 | **error** | channel, nickname, origin, server |