]> jfr.im git - irc/freenode/web-7.0.git/blob - content/pages/eir.md
merge
[irc/freenode/web-7.0.git] / content / pages / eir.md
1 Title: eir
2 Slug: eir utility bot
3 ---
4 eir is a freenode utility bot platform. Originally written to manage voicing in the social channel, #defocus, subsequent utility components, such as the replacement for dircbot, have since been added. eir is open source; the source code can be found at <a href="https://github.com/freenode/eir">https://github.com/freenode/eir</a>.
5
6 <h2>Commands</h2>
7 <p>These may be sent in PM to the bot, or in any channel in which the bot is present
8 by prefixing them with '!'
9 Note that if commands are sent to the bot in a channel the reply will be sent to the channel.</p>
10
11 <h2>btinfo <em>[index|nick|#channel]</em></h2>
12 <p>This will show you information about one ban if
13 <em>btinfo [index]</em> is used. For example, the following command will show
14 information about a ban with an index of 1058.
15 <blockquote><i>/msg eir btinfo 1058</i></blockquote>
16 </p>
17
18 <p>If <em>btinfo [nick]</em> is used, then it will show all the
19 active bans set by the nick, and how many bans the nick has set in total. For
20 example, the following command will show all active bans set by nhandler.
21
22 <blockquote><i>/msg eir btinfo nhandler</i></blockquote>
23
24 </p>
25
26 <p>If <em>btinfo [#channel]</em> is used, the it will return a list of all the recorded bans
27 set in a channel (warning, this may be a long list). For example, the following
28 command will show a list of all of the recorded bans set in #freenode.
29
30 <blockquote><i>/msg eir btinfo #freenode</i></blockquote>
31
32 </p>
33
34 <h2>btcheck <em>[#channel] [nick|fullMask]</em></h2>
35
36 <p>This will return a list of active bans on the #channel that match the user
37 either by nick or full mask (nick will use the bot's internal list). For
38 example, the following command will show a list of all active bans set in
39 #freenode that match nhandler.
40
41 <blockquote><i>/msg eir btcheck #freenode nhandler!~nhandler@freenode/staff/ubuntu.member.nhandler</i></blockquote>
42
43 </p>
44
45 <h2>btpending <em>[#channel|nick]</em></h2>
46
47
48 <p>This command will list all of the bans that are both active and uncommented
49 for the #channel or set by the specified nick. For example, the following
50 command will show all active and uncommented bans for #freenode.
51
52 <blockquote><i>/msg eir btpending #freenode</i></blockquote>
53
54 </p>
55 <h2>btexpired <em>[#channel]</em></h2>
56
57
58 <p>This command will list all of the bans in #channel that are active and
59 expired. For example, the following command will show all active and expired
60 bans in #freenode.
61
62 <blockquote><i>/msg eir btexpired #freenode</i></blockquote>
63
64 </p>
65
66
67 <h2>btset <em>index [~time]|[reason]</em></h2>
68
69 <p>Sets the ban expiry time and/or the reason for the ban by index. For example,
70 the following command will set a ban with an index of 2634 to expire in 1 week
71 with a reason of 'Trolling'.
72
73 <blockquote><i>/msg eir btset 2634 ~7d Trolling</i></blockquote>
74
75 </p>
76
77 <h2>Reasons</h2>
78
79 <p>When you set a ban, the bot will PM you requesting a comment on the ban. Simply
80 reply to the comment, whatever you send will be recorded. If you have set more
81 than one ban you will be prompted for each in turn.</p>
82
83 <p>If you wish to extend the default ban time (channel dependent, typically 24 hours),
84 type this when you enter your comment: ~time comment - e.g. "~14d Trolling".</p>
85
86 <h2>Time Specification</h2>
87
88 <p>When commenting or using the btset command times can be specified in days, hours, minutes, seconds or any combination.</p>
89
90 <p>Examples:</p>
91
92 <ul>
93 <li>"~1h" For 1 hour from the time set.</li>
94 <li>"~4h1m4s" For 4 hours, 1 minute and 4 seconds from the time set.</li>
95 <li>"~48h" For 48 hours from the time set, (can also use ~2d).</li>
96 <li>"~14d" For 2 weeks (or 14 days) from the time set.</li>
97 </ul>
98
99 <h2>Actions</h2>
100
101 <p>When specifying an expiry time it is also possible to change the action that will be taken when the ban expires by
102 prefixing the time with a special character.</p>
103
104 <ul>
105 <li># Report the ban has expired to the report channel.</li>
106 <li>@ Remove the ban if eir is opped in the channel, otherwise report the expiry to the report channel.</li>
107 <li>% Remove the ban if eir is opped, if not try and obtain ops from chanserv. If neither of these is possible the ban will not be removed and the expiry will not be reported.
108
109 <p>Example:</p></li>
110 <li>"@~1h" Remove the ban in one hour if eir is opped, or report the expiry</li>
111 </ul>
112 </p>