From 00491c8005fe75a8cdf9dc06288affd2ec50fb61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gustav=20S=C3=B6rn=C3=A4s?= Date: Fri, 13 Nov 2020 16:05:54 +0100 Subject: print available channels if unspecified --- src/agenda.rs | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'src/agenda.rs') diff --git a/src/agenda.rs b/src/agenda.rs index 39b07a7..1ca7bfb 100644 --- a/src/agenda.rs +++ b/src/agenda.rs @@ -6,8 +6,9 @@ use std::{ fmt, fs, }; +use tokio::sync::mpsc; -#[derive(Debug, Deserialize, Serialize)] +#[derive(Clone, Debug, Deserialize, Serialize)] pub struct AgendaPoint { title: String, adder: String, @@ -42,13 +43,19 @@ pub enum ParseError { NoSuchCommand, } -pub fn parse_message(message: &str, sender: &str) -> Result, ParseError> { +pub fn parse_message( + message: &str, + sender: &str, + point_sender: &mpsc::UnboundedSender +) -> Result, ParseError> { if message.starts_with("!add ") { let mut agenda = read_agenda(); - agenda.points.push(AgendaPoint { + let agenda_point = AgendaPoint { title: message[5..].to_string(), adder: sender.to_string(), - }); + }; + point_sender.send(agenda_point.clone()).unwrap(); + agenda.points.push(agenda_point); agenda.write(); Ok(None) } else if message.starts_with("!agenda") { -- cgit v1.2.1