]> jfr.im git - solanum.git/blob - extensions/sno_globalnickchange.c
Stop using chm_nosuch as a sentinel value (#53)
[solanum.git] / extensions / sno_globalnickchange.c
1 /*
2 * Remote client nick change notices.
3 */
4
5 #include "stdinc.h"
6 #include "modules.h"
7 #include "client.h"
8 #include "hook.h"
9 #include "ircd.h"
10 #include "send.h"
11 #include "s_conf.h"
12 #include "snomask.h"
13
14 static const char sno_desc[] =
15 "Adds server notices for remote nick changes";
16
17 static int _modinit(void);
18 static void h_gnc_nick_change(hook_data *data);
19
20 mapi_hfn_list_av1 gcn_hfnlist[] = {
21 { "remote_nick_change", (hookfn) h_gnc_nick_change },
22 { NULL, NULL }
23 };
24
25 DECLARE_MODULE_AV2(globalnickchange, _modinit, NULL, NULL, NULL, gcn_hfnlist, NULL, NULL, sno_desc);
26
27 static int
28 _modinit(void)
29 {
30 /* show the fact that we are showing user information in /version */
31 opers_see_all_users = true;
32
33 return 0;
34 }
35
36 static void
37 h_gnc_nick_change(hook_data *data)
38 {
39 struct Client *source_p = data->client;
40 const char *oldnick = data->arg1;
41 const char *newnick = data->arg2;
42
43 sendto_realops_snomask_from(SNO_NCHANGE, L_ALL, source_p->servptr,
44 "Nick change: From %s to %s [%s@%s]",
45 oldnick, newnick, source_p->username, source_p->host);
46 }