aboutsummaryrefslogtreecommitdiffstats
path: root/src/slack.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/slack.rs')
-rw-r--r--src/slack.rs14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/slack.rs b/src/slack.rs
index 49c8cfa..45a3dc6 100644
--- a/src/slack.rs
+++ b/src/slack.rs
@@ -1,7 +1,7 @@
use crate::agenda::{parse_message, AgendaPoint, Emoji};
use futures::join;
-use slack::{Event, Message};
+use slack::{error::Error, Event, Message};
use slack_api::{reactions, users};
use std::{
collections::{hash_map::Entry, HashMap},
@@ -188,9 +188,15 @@ pub async fn handle(
let (_, _) = join!(
spawn_blocking(move || {
- match client.run(&mut handler) {
- Ok(_) => {}
- Err(e) => println!("Error: {}", e),
+ loop {
+ match client.run(&mut handler) {
+ Ok(_) => {}
+ Err(Error::WebSocket(_)) => println!("Restart slack socket"),
+ Err(e) => {
+ println!("Error: {}", e);
+ break;
+ }
+ }
}
}),
spawn(receive_from_discord(receiver, slack_sender, channel))