2 * Channel creation notices
15 static const char sno_desc
[] =
16 "Adds server notice mask +l that allows operators to receive channel creation notices";
18 static int _modinit(void);
19 static void _moddeinit(void);
20 static void h_scc_channel_join(void *);
22 mapi_hfn_list_av1 scc_hfnlist
[] = {
23 { "channel_join", (hookfn
) h_scc_channel_join
},
27 DECLARE_MODULE_AV2(sno_channelcreate
, _modinit
, _moddeinit
, NULL
, NULL
, scc_hfnlist
, NULL
, NULL
, sno_desc
);
32 /* add the snomask to the available slot */
33 snomask_modes
['l'] = find_snomask_slot();
41 /* disable the snomask and remove it from the available list */
42 snomask_modes
['l'] = 0;
47 h_scc_channel_join(void *vdata
)
49 hook_data_channel_activity
*data
= (hook_data_channel_activity
*)vdata
;
50 struct Channel
*chptr
= data
->chptr
;
51 struct Client
*source_p
= data
->client
;
53 /* If they just joined a channel, and it only has one member, then they just created it. */
54 if(rb_dlink_list_length(&chptr
->members
) == 1 && is_chanop(find_channel_membership(chptr
, source_p
)))
56 sendto_realops_snomask(snomask_modes
['l'], L_NETWIDE
, "%s is creating new channel %s",
57 source_p
->name
, chptr
->chname
);