diff options
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | degesch.c | 16 |
2 files changed, 13 insertions, 5 deletions
@@ -9,6 +9,8 @@ * degesch: added support for IRCv3 chghost + * degesch: /deop and /devoice without arguments will use the client's user + * censor.lua: now stripping colours from censored messages; their attributes are also configurable rather than always black on black @@ -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", |