ircu2.10.12 pk910 fork
[ircu2.10.12-pk.git] / doc / api / motd.txt
1 The server has a Message of the Day (MOTD) which is often used for
2 describing the Acceptable Usage Policy, where to get help if you have
3 problems, and so on.  Older versions of ircd had a lot of duplicated
4 code, as well as some inefficiencies, all related to sending the
5 MOTD.  As of u2.10.11, there is an API specifically for MOTDs.  This
6 API caches the MOTDs in memory for efficiency.  Sending a MOTD to a
7 client is as simple as calling a single function.
8
9 <function>
10 void motd_init(void);
11
12 This function initializes the MOTD subsystem.  It will also read in
13 the default MOTD (usually ircd.motd) and the remote MOTD (usually
14 remote.motd) files.
15 </function>
16
17 <function>
18 int motd_send(struct Client* cptr);
19
20 This function sends an appropriate MOTD to the client specified by
21 _cptr_.  If _cptr_ is not a local client, the remote MOTD will be
22 sent; otherwise, an attempt will be made to find a Motd entry in the
23 configuration file that matches the client.  If no Motd entry can be
24 found, the default MOTD will be sent to the client.  This function
25 returns 0 for the convenience of other functions that must have an
26 integer return value.  </function>
27
28 <function>
29 void motd_signon(struct Client* cptr);
30
31 This function is similar to motd_send(), described above, except that
32 it will only send a message to the client indicating when the MOTD was
33 last modified if the FEAT_NODEFAULTMOTD feature is set to TRUE.
34 </function>
35
36 <function>
37 void motd_recache(void);
38
39 The MOTD system will not automatically detect when MOTD files have
40 been modified.  This function causes the MOTD system to clear the MOTD
41 cache and re-read the files.
42 </function>
43
44 <function>
45 void motd_add(const char *hostmask, const char *path);
46
47 This function is used to add a MOTD to be sent to clients possessing a
48 given _hostmask_.  If _hostmask_ is a numerical string, it is
49 interpreted as a connection class.
50 </function>
51
52 <function>
53 void motd_clear(void);
54
55 This function clears the list of special MOTDs.  Only the default MOTD
56 and remote MOTD are not affected by this function.
57 </function>
58
59 <function>
60 void motd_report(struct Client *to);
61
62 The motd_report() function sends a list of the Motd entries stored in
63 memory to the client specified by _to_.  Access control should be
64 handled by the caller.
65 </function>
66
67 <authors>
68 Kev <klmitch@mit.edu>
69 </authors>
70
71 <changelog>
72 [2001-6-15 Kev] Initial documentation of the MOTD interface.
73 </changelog>