diff options
Diffstat (limited to 'degesch.c')
-rw-r--r-- | degesch.c | 16 |
1 files changed, 11 insertions, 5 deletions
@@ -11920,11 +11920,17 @@ static bool handle_command_channel_mode (struct handler_args *a, bool adding, char mode_char) { - if (!*a->arguments) - return false; + const char *targets = a->arguments; + if (!*targets) + { + if (adding) + return false; + + targets = a->s->irc_user->nickname; + } struct strv v = strv_make (); - cstr_split (a->arguments, " ", true, &v); + cstr_split (targets, " ", true, &v); mass_channel_mode (a->s, a->channel_name, adding, mode_char, &v); strv_free (&v); return true; @@ -12031,13 +12037,13 @@ g_command_handlers[] = "<nick>...", handle_command_op, HANDLER_SERVER | HANDLER_CHANNEL_FIRST }, { "deop", "Remove channel operator status", - "<nick>...", + "[<nick>...]", handle_command_deop, HANDLER_SERVER | HANDLER_CHANNEL_FIRST }, { "voice", "Give voice", "<nick>...", handle_command_voice, HANDLER_SERVER | HANDLER_CHANNEL_FIRST }, { "devoice", "Remove voice", - "<nick>...", + "[<nick>...]", handle_command_devoice, HANDLER_SERVER | HANDLER_CHANNEL_FIRST }, { "mode", "Change mode", |