diff options
| author | Gustav Sörnäs <gustav@sornas.net> | 2020-11-13 16:33:23 +0100 |
|---|---|---|
| committer | Gustav Sörnäs <gustav@sornas.net> | 2020-11-13 16:33:23 +0100 |
| commit | 1d4fcb47451a9154c215c4b3bba4e559d691f7fb (patch) | |
| tree | 35f3dd4840a15d78ff7dc8519555f1281e4b29b2 /src | |
| parent | e5b6afd09283e1fc18cd46914e6af9ba0a101f33 (diff) | |
| download | kodapa-1d4fcb47451a9154c215c4b3bba4e559d691f7fb.tar.gz | |
only listen to channels we write to
Diffstat (limited to 'src')
| -rw-r--r-- | src/discord.rs | 44 | ||||
| -rw-r--r-- | src/slack.rs | 29 |
2 files changed, 37 insertions, 36 deletions
diff --git a/src/discord.rs b/src/discord.rs index 3933aba..a41b96a 100644 --- a/src/discord.rs +++ b/src/discord.rs @@ -64,31 +64,35 @@ fn receive_events( loop { match connection.recv_event() { Ok(Event::ServerCreate(server)) => { - if let PossibleServer::Online(server) = server { - println!("Discord channels in {}: {:#?}", - server.name, - server - .channels - .iter() - .map(|channel| format!("{}: {} ({:?})", - channel.name, - channel.id, - channel.kind)) - .collect::<Vec<_>>()); + if channel.is_none() { + if let PossibleServer::Online(server) = server { + println!("Discord channels in {}: {:#?}", + server.name, + server + .channels + .iter() + .map(|channel| format!("{}: {} ({:?})", + channel.name, + channel.id, + channel.kind)) + .collect::<Vec<_>>()); + } } } Ok(Event::MessageCreate(message)) => { if let Some(channel) = channel { - if let Ok(Some(s)) = parse_message( - &message.content, - &message.author.name, - &sender, - ) { - client.lock().unwrap().send_message(channel, - &s, - "", - false).unwrap(); + if channel == message.channel_id { + if let Ok(Some(s)) = parse_message( + &message.content, + &message.author.name, + &sender, + ) { + client.lock().unwrap().send_message(channel, + &s, + "", + false).unwrap(); + } } } } diff --git a/src/slack.rs b/src/slack.rs index 6ed60c4..1c272cf 100644 --- a/src/slack.rs +++ b/src/slack.rs @@ -43,7 +43,6 @@ impl Handler { impl slack::EventHandler for Handler { fn on_event(&mut self, cli: &slack::RtmClient, event: slack::Event) { - println!("on_event: {:#?}", event); match event { Event::Hello => { if self.print_channels { @@ -57,7 +56,7 @@ impl slack::EventHandler for Handler { .iter() .map(|channel| format!("{}: {}", channel.name.as_ref().unwrap_or(&"??".to_string()), //TODO &"".to_string() ? - channel.id.as_ref().unwrap_or(&"??".to_string()))) + channel.id.as_ref().unwrap_or(&"??".to_string()))) //TODO .collect::<Vec<_>>()) })); } @@ -66,29 +65,27 @@ impl slack::EventHandler for Handler { if let Some(channel) = &self.slack_channel { match *msg { Message::Standard(msg) => { - if let Ok(Some(s)) = parse_message( - &msg.text.unwrap_or("".to_string()), - &msg.user.unwrap_or("??".to_string()), - &self.sender, - ) { - self.slack_sender.send_message(channel.as_str(), &s).unwrap(); + if msg.channel.is_some() && *channel == msg.channel.unwrap() { //TODO + if let Ok(Some(s)) = parse_message( + &msg.text.unwrap_or("".to_string()), + &msg.user.unwrap_or("??".to_string()), + &self.sender, + ) { + self.slack_sender.send_message(channel.as_str(), &s).unwrap(); + } } } - _ => {} + _ => {} // message type } } } - _ => {} + _ => {} // event type } } - fn on_close(&mut self, _cli: &slack::RtmClient) { - println!("on_close") - } + fn on_close(&mut self, _cli: &slack::RtmClient) {} - fn on_connect(&mut self, _cli: &slack::RtmClient) { - println!("on_connect"); - } + fn on_connect(&mut self, _cli: &slack::RtmClient) {} } pub async fn handle( |
