aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGustav Sörnäs <gustav@sornas.net>2020-11-18 01:09:18 +0100
committerGustav Sörnäs <gustav@sornas.net>2020-11-18 01:09:18 +0100
commit48f6f5a32e71b19894c93402030a97746eec6e93 (patch)
tree5c06ff03115cce834cb5251da2bc6321a3df318e
parentd4927eae2ad6ffb3b5bf1807a37f937ea639f54a (diff)
downloadkodapa-48f6f5a32e71b19894c93402030a97746eec6e93.tar.gz
small scale refactoring
-rw-r--r--src/discord.rs21
-rw-r--r--src/slack.rs16
2 files changed, 21 insertions, 16 deletions
diff --git a/src/discord.rs b/src/discord.rs
index 2410a3f..6970759 100644
--- a/src/discord.rs
+++ b/src/discord.rs
@@ -35,7 +35,8 @@ pub async fn handle(
) {
println!("Setting up Discord");
- let token = std::env::var("DISCORD_API_TOKEN").unwrap_or_else(|_| TOKEN.expect("Missing Discord token").to_string());
+ let token = std::env::var("DISCORD_API_TOKEN")
+ .unwrap_or_else(|_| TOKEN.expect("Missing Discord token").to_string());
let client = Discord::from_bot_token(&token);
if let Ok(client) = client {
@@ -43,12 +44,11 @@ pub async fn handle(
let our_id = client.get_current_user().unwrap().id;
let client = Arc::new(Mutex::new(client));
- let channel = match std::env::var("DISCORD_CHANNEL") {
- Ok(channel) => Some(ChannelId(channel.parse::<u64>().unwrap())),
- Err(_) => CHANNEL,
- };
+ let channel = std::env::var("DISCORD_CHANNEL")
+ .map(|id| Some(ChannelId(id.parse::<u64>().unwrap())))
+ .unwrap_or(CHANNEL);
- let (_, _) = join!( //TODO?
+ let (_, _) = join!(
spawn(receive_from_slack(receiver, Arc::clone(&client), channel)),
spawn_blocking(move || receive_events(our_id, connection, sender, client, channel)),
);
@@ -65,8 +65,8 @@ fn receive_events(
loop {
match connection.recv_event() {
Ok(Event::ServerCreate(server)) => {
- if channel.is_none() {
- if let PossibleServer::Online(server) = server {
+ match (channel, server) {
+ (None, PossibleServer::Online(server)) => {
println!("Discord channels in {}: {:#?}",
server.name,
server
@@ -79,6 +79,10 @@ fn receive_events(
channel.kind))
.collect::<Vec<_>>());
}
+ (None, PossibleServer::Offline(server)) => {
+ println!("Server {} is offline", server);
+ }
+ (Some(_), _) => {}
}
}
@@ -105,7 +109,6 @@ fn receive_events(
message.id,
ReactionEmoji::Unicode("👍".to_string())
).unwrap();
-
}
Err(_) => {}
}
diff --git a/src/slack.rs b/src/slack.rs
index 750f071..bb80ff1 100644
--- a/src/slack.rs
+++ b/src/slack.rs
@@ -57,13 +57,15 @@ impl slack::EventHandler for Handler {
.start_response()
.channels
.as_ref()
- .and_then(|channels| {
- Some(channels
- .iter()
- .map(|channel| format!("{}: {}",
- channel.name.as_ref().unwrap_or(&"??".to_string()), //TODO &"".to_string() ?
- channel.id.as_ref().unwrap_or(&"??".to_string()))) //TODO
- .collect::<Vec<_>>())
+ .map(|channels| {
+ channels
+ .iter()
+ .map(|channel| format!(
+ "{}: {}",
+ channel.name.as_deref().unwrap_or("??"),
+ channel.id.as_deref().unwrap_or("??"),
+ ))
+ .collect::<Vec<_>>()
}));
}
}