diff --git a/NEWS b/NEWS index 444d4fc..04979e7 100644 --- a/NEWS +++ b/NEWS @@ -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 diff --git a/degesch.c b/degesch.c index e54bdd9..e96b21a 100644 --- a/degesch.c +++ b/degesch.c @@ -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[] = "...", handle_command_op, HANDLER_SERVER | HANDLER_CHANNEL_FIRST }, { "deop", "Remove channel operator status", - "...", + "[...]", handle_command_deop, HANDLER_SERVER | HANDLER_CHANNEL_FIRST }, { "voice", "Give voice", "...", handle_command_voice, HANDLER_SERVER | HANDLER_CHANNEL_FIRST }, { "devoice", "Remove voice", - "...", + "[...]", handle_command_devoice, HANDLER_SERVER | HANDLER_CHANNEL_FIRST }, { "mode", "Change mode",