aboutsummaryrefslogtreecommitdiffstats
path: root/mumd/src/state.rs
diff options
context:
space:
mode:
authorGustav Sörnäs <gustav@sornas.net>2020-10-23 01:50:20 +0200
committerGustav Sörnäs <gustav@sornas.net>2020-10-23 01:50:20 +0200
commit8e35c18e2aac958837b2c8fcb782950f86e5f214 (patch)
tree1215c65f89961f3e6ce2e914abda73ef68ad6dd1 /mumd/src/state.rs
parentcd3c1ad6c508a698314ecc59ae6de320263f740d (diff)
downloadmum-8e35c18e2aac958837b2c8fcb782950f86e5f214.tar.gz
add first notification
Diffstat (limited to 'mumd/src/state.rs')
-rw-r--r--mumd/src/state.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/mumd/src/state.rs b/mumd/src/state.rs
index 44d8b21..6180654 100644
--- a/mumd/src/state.rs
+++ b/mumd/src/state.rs
@@ -228,6 +228,21 @@ impl State {
let user = self.server_mut().unwrap().users_mut().get_mut(&sess).unwrap();
let diff = mumlib::state::UserDiff::from(msg);
user.apply_user_diff(&diff);
+ let user = self.server().unwrap().users().get(&sess).unwrap();
+
+ // send notification
+ if let Some(channel_id) = diff.channel_id {
+ if let Some(channel) = self.server().unwrap().channels().get(&channel_id) {
+ libnotify::Notification::new("mumd",
+ Some(format!("{} moved to channel {}",
+ &user.name(),
+ channel.name()).as_str()),
+ None).show().unwrap();
+ } else {
+ warn!("{} moved to invalid channel {}", &user.name(), channel_id);
+ }
+ }
+
Some(diff)
}
}