aboutsummaryrefslogtreecommitdiffstats
path: root/src/slack.rs
diff options
context:
space:
mode:
authorGustav Sörnäs <gustav@sornas.net>2020-11-11 18:23:16 +0100
committerGustav Sörnäs <gustav@sornas.net>2020-11-11 19:14:37 +0100
commit8ff5e1295ce9e6c670dd097ab801e4ff35e94632 (patch)
treebf248729c258bf4c73bb9e3b1fde1d764b17955e /src/slack.rs
parent233b1b39a9ea5b622148c00558fa98082d1ae184 (diff)
downloadkodapa-8ff5e1295ce9e6c670dd097ab801e4ff35e94632.tar.gz
move service values to correct file and read more from env
Diffstat (limited to 'src/slack.rs')
-rw-r--r--src/slack.rs15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/slack.rs b/src/slack.rs
index e13ac3d..b460925 100644
--- a/src/slack.rs
+++ b/src/slack.rs
@@ -13,6 +13,9 @@ use tokio::{
},
};
+const TOKEN: Option<&str> = None;
+const CHANNEL: Option<&str> = None;
+
struct Handler {
sender: mpsc::UnboundedSender<AgendaPoint>,
}
@@ -58,13 +61,12 @@ impl slack::EventHandler for Handler {
}
pub async fn handle(
- token: Option<String>,
sender: mpsc::UnboundedSender<AgendaPoint>,
receiver: mpsc::UnboundedReceiver<AgendaPoint>,
) {
println!("Setting up Slack");
- let token = std::env::var("SLACK_API_TOKEN").unwrap_or(token.unwrap());
+ let token = std::env::var("SLACK_API_TOKEN").unwrap_or_else(|_| TOKEN.expect("Missing slack token").to_string());
let client = spawn_blocking(move || {
slack::RtmClient::login(&token).unwrap()
}).await.unwrap();
@@ -90,12 +92,11 @@ async fn receive_from_discord(
sender: slack::Sender,
) {
while let Some(point) = receiver.recv().await {
- println!("Slack received '{}'", point);
//TODO Sending messages is very slow sometimes. Have seen delays
// from 5 up to 20(!) seconds.
- sender.send_typing("CPBAA5FA7").unwrap();
- println!("Typing");
- sender.send_message("CPBAA5FA7", &point.to_add_message()).unwrap();
- println!("Sent");
+ let channel = std::env::var("SLACK_CHANNEL").unwrap_or_else(|_| CHANNEL.expect("Missing slack channel").to_string());
+ sender.send_typing(&channel).unwrap();
+ sender.send_message(&channel, &point.to_add_message()).unwrap();
+ println!("Slack message sent");
}
}