13 static void h_can_join(hook_data_channel
*);
14 static const char chm_adminonly_desc
[] =
15 "Enables channel mode +A that blocks non-admins from joining a channel";
17 mapi_hfn_list_av1 adminonly_hfnlist
[] = {
18 { "can_join", (hookfn
) h_can_join
},
22 static unsigned int mymode
;
27 mymode
= cflag_add('A', chm_staff
);
40 DECLARE_MODULE_AV2(chm_adminonly
, _modinit
, _moddeinit
, NULL
, NULL
, adminonly_hfnlist
, NULL
, NULL
, chm_adminonly_desc
);
43 h_can_join(hook_data_channel
*data
)
45 struct Client
*source_p
= data
->client
;
46 struct Channel
*chptr
= data
->chptr
;
48 if((chptr
->mode
.mode
& mymode
) && !IsAdmin(source_p
)) {
49 sendto_one_numeric(source_p
, 519, "%s :Cannot join channel (+A) - you are not an IRC server administrator", chptr
->chname
);
50 data
->approved
= ERR_CUSTOM
;