rmode: send a usage NOTICE when the list-mode arg has no mode letter (e.g. RMODE #c 3) instead of failing silently

This commit is contained in:
Jean Chevronnet 2026-08-19 01:29:14 +00:00
parent b557c9887f
commit 2851c0a7ab

View file

@ -27,6 +27,14 @@ impl Command for RMode {
let chan = params[0].clone(); let chan = params[0].clone();
let key = chan.to_ascii_lowercase(); let key = chan.to_ascii_lowercase();
let Some(mode) = params[1].chars().find(|c| c.is_ascii_alphabetic()) else { let Some(mode) = params[1].chars().find(|c| c.is_ascii_alphabetic()) else {
let nick = s.users.get(&uid).map(|u| u.nick.clone()).unwrap_or_default();
s.send(
uid,
format!(
":{} NOTICE {nick} :RMODE usage: RMODE <channel> <b|e|I> [pattern]",
s.name
),
);
return CmdResult::Fail; return CmdResult::Fail;
}; };
if !s.channels.contains_key(&key) { if !s.channels.contains_key(&key) {