From dae0cb985b72300fce497ed361b58987fcbf22ce Mon Sep 17 00:00:00 2001 From: reverse Date: Fri, 14 Aug 2026 17:42:34 +0000 Subject: [PATCH] =?UTF-8?q?modes:=20render=20the=20full=20channel=20mode?= =?UTF-8?q?=20set=20in=20MODE=20queries=20=E2=80=94=20+P/Q/A/U/D=20and=20p?= =?UTF-8?q?arams=20+B/J/d/K=20were=20set=20but=20never=20shown?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/channels.rs | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/channels.rs b/src/channels.rs index 82c2d4f..eebc17d 100644 --- a/src/channels.rs +++ b/src/channels.rs @@ -280,6 +280,11 @@ impl ChanModes { (self.reg_moderated, 'M'), (self.censor, 'G'), (self.auditorium, 'u'), + (self.permanent, 'P'), + (self.nokicks, 'Q'), + (self.allowinvite, 'A'), + (self.opmoderated, 'U'), + (self.delayjoin, 'D'), ] { if on { s.push(ch); @@ -306,6 +311,18 @@ impl ChanModes { if self.history.is_some() { s.push('H'); } + if self.anticaps.is_some() { + s.push('B'); + } + if self.kicknorejoin.is_some() { + s.push('J'); + } + if self.delaymsg.is_some() { + s.push('d'); + } + if self.repeat.is_some() { + s.push('K'); + } if params { if let Some(k) = &self.key { s.push(' '); @@ -332,6 +349,18 @@ impl ChanModes { if let Some((n, t)) = &self.history { s.push_str(&format!(" {n}:{t}")); } + if let Some(p) = self.anticaps { + s.push_str(&format!(" {p}")); + } + if let Some(secs) = self.kicknorejoin { + s.push_str(&format!(" {secs}")); + } + if let Some(secs) = self.delaymsg { + s.push_str(&format!(" {secs}")); + } + if let Some(n) = self.repeat { + s.push_str(&format!(" {n}")); + } } s }