diff options
| author | Gustav Sörnäs <gustav@sornas.net> | 2020-12-01 07:44:15 +0100 |
|---|---|---|
| committer | Gustav Sörnäs <gustav@sornas.net> | 2020-12-01 07:44:15 +0100 |
| commit | c1b9d90f2f81f7acb0f4a88acf7056874e9cbe2f (patch) | |
| tree | b4c58b75879c701828df569af99930837222bab6 | |
| parent | 8e2c03be2f331e2548276e6683f21f1ffd5980a7 (diff) | |
| download | kodapa-c1b9d90f2f81f7acb0f4a88acf7056874e9cbe2f.tar.gz | |
restart slack websocket on error
| -rw-r--r-- | src/slack.rs | 14 |
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)) |
