aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGustav Sörnäs <gustav@sornas.net>2020-11-13 16:33:23 +0100
committerGustav Sörnäs <gustav@sornas.net>2020-11-13 16:33:23 +0100
commit1d4fcb47451a9154c215c4b3bba4e559d691f7fb (patch)
tree35f3dd4840a15d78ff7dc8519555f1281e4b29b2 /src
parente5b6afd09283e1fc18cd46914e6af9ba0a101f33 (diff)
downloadkodapa-1d4fcb47451a9154c215c4b3bba4e559d691f7fb.tar.gz
only listen to channels we write to
Diffstat (limited to 'src')
-rw-r--r--src/discord.rs44
-rw-r--r--src/slack.rs29
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(