aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar lancebord 2026-03-08 14:32:25 -0400
committerGravatar lancebord 2026-03-08 14:32:25 -0400
commit2d572574f6bcece9001f2bf3001e3a1a5e7db5c4 (patch)
tree93c6ac7705b1669c082586c49b3b79bf3e7b73ed
parentclear chat on join (diff)
add display for motd on connect
-rw-r--r--src/client/event.rs3
-rw-r--r--src/client/handler.rs9
-rw-r--r--src/main.rs4
3 files changed, 16 insertions, 0 deletions
diff --git a/src/client/event.rs b/src/client/event.rs
index 26e3f86..2c06d98 100644
--- a/src/client/event.rs
+++ b/src/client/event.rs
@@ -13,6 +13,9 @@ pub enum Event {
is_notice: bool,
},
+ /// A system message like MOTD
+ SysMessage { text: String },
+
/// We joined a channel
Joined { channel: String, nick: String },
diff --git a/src/client/handler.rs b/src/client/handler.rs
index 334240c..63baf87 100644
--- a/src/client/handler.rs
+++ b/src/client/handler.rs
@@ -79,6 +79,15 @@ pub fn handle(msg: IrcMessage, state: &mut ClientState, sender: &Sender) -> Vec<
}
}
+ // MOTD commands
+ Command::Numeric(375) | Command::Numeric(376) | Command::Numeric(372) => {
+ if let Some(message) = msg.params.get(1) {
+ events.push(Event::SysMessage {
+ text: message.clone(),
+ });
+ }
+ }
+
Command::Join => {
let nick = nick_from_prefix(&msg.prefix);
if let Some(channel) = msg.params.first() {
diff --git a/src/main.rs b/src/main.rs
index db1922f..fc373d6 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -226,6 +226,10 @@ fn handle_irc_event(event: IrcEvent, app: &mut AppState) {
}
}
+ IrcEvent::SysMessage { text } => {
+ app.push_system(text.as_str());
+ }
+
IrcEvent::Parted {
channel,
nick,
ss='logsubject'>improved installation instructionsGravatar BanceDev 1-3/+3 2024-09-12v0.1.1Gravatar BanceDev 1-1/+1 2024-09-12fixed bug in input buffer handling due to misplaced printGravatar BanceDev 2-5/+8 2024-09-12Update build.yml checkout v4Gravatar Lance Borden 1-1/+1 2024-09-12Update build.yml to artifact v4Gravatar Lance Borden 1-1/+1 2024-09-12fixed exit status issue with non interative modeGravatar BanceDev 1-1/+1 2024-09-12added non interative mode for running lua scriptsGravatar BanceDev 2-4/+28 2024-09-12temporary github action fix until non-interactive mode is implementedGravatar BanceDev 1-2/+2 2024-09-12attempt to update build script to accept input into lush shellGravatar BanceDev 2-4/+6 2024-09-12prevent lush workflow from getting stuck in testsGravatar Lance Borden 1-1/+4 2024-09-12removed chsh in workflowGravatar Lance Borden 1-4/+1