diff options
| author | 2026-03-10 11:07:44 -0400 | |
|---|---|---|
| committer | 2026-03-10 11:07:44 -0400 | |
| commit | e9d9766d72740c7d7c9918b4839f3379f57cd6ef (patch) | |
| tree | 3694b83845354af116a77f66ed22931d2d11536e /src/client | |
| parent | handle window resize events since draw is event driven now (diff) | |
merge consecutive join/part messages
Diffstat (limited to '')
| -rw-r--r-- | src/client/event.rs | 13 | ||||
| -rw-r--r-- | src/client/handler.rs | 22 |
2 files changed, 8 insertions, 27 deletions
diff --git a/src/client/event.rs b/src/client/event.rs index 2c06d98..56e133e 100644 --- a/src/client/event.rs +++ b/src/client/event.rs @@ -17,20 +17,13 @@ pub enum Event { SysMessage { text: String }, /// We joined a channel - Joined { channel: String, nick: String }, + Joined { nick: String }, /// We or someone else left a channel - Parted { - channel: String, - nick: String, - reason: Option<String>, - }, + Parted { nick: String }, /// Someone quit the server - Quit { - nick: String, - reason: Option<String>, - }, + Quit { nick: String }, /// A nick change (could be ours) NickChanged { old_nick: String, new_nick: String }, diff --git a/src/client/handler.rs b/src/client/handler.rs index 63baf87..f30260f 100644 --- a/src/client/handler.rs +++ b/src/client/handler.rs @@ -90,40 +90,28 @@ pub fn handle(msg: IrcMessage, state: &mut ClientState, sender: &Sender) -> Vec< Command::Join => { let nick = nick_from_prefix(&msg.prefix); - if let Some(channel) = msg.params.first() { - events.push(Event::Joined { - channel: channel.clone(), - nick: nick.clone(), - }); - if nick != state.nick { - state.channel.members.insert(nick); - } + events.push(Event::Joined { nick: nick.clone() }); + if nick != state.nick { + state.channel.members.insert(nick); } } Command::Part => { let nick = nick_from_prefix(&msg.prefix); - let channel = msg.params.first().cloned().unwrap_or_default(); - let reason = msg.params.get(1).cloned(); if nick != state.nick { state.channel.members.remove(&nick); } - events.push(Event::Parted { - channel, - nick, - reason, - }); + events.push(Event::Parted { nick }); } Command::Quit => { let nick = nick_from_prefix(&msg.prefix); - let reason = msg.params.first().cloned(); state.channel.members.remove(&nick); - events.push(Event::Quit { nick, reason }); + events.push(Event::Quit { nick }); } Command::Nick => { |
