/* Validate modes */
x[0] = '\0';
switch (*mode_ptr) {
+ case 'b': /* Block private msgs */
case 'C': /* Only messages from clients sharing a channel */
case 'i': /* Invisible */
case 's': /* Server messages */
goto chan_exit;
}
case 'i': /* Invite only */
+ case 'V': /* Invite disallow */
case 'M': /* Only identified nicks can write */
case 'm': /* Moderated */
case 'n': /* Only members can write */
/* --- Channel user modes --- */
case 'q': /* Owner */
case 'a': /* Channel admin */
- if(!is_oper && !is_machine && !is_owner) {
+ if(!is_oper && !is_machine && !is_owner && !is_admin) {
connected = IRC_WriteStrClient(Origin,
- ERR_CHANOPRIVSNEEDED_MSG,
+ ERR_CHANOPPRIVTOOLOW_MSG,
Client_ID(Origin),
Channel_Name(Channel));
goto chan_exit;