diff options
Diffstat (limited to 'src/slack.rs')
| -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 2a4c155..0b02fac 100644 --- a/src/slack.rs +++ b/src/slack.rs @@ -2,7 +2,7 @@ use crate::agenda::{self, parse_message, AgendaPoint, Emoji}; use crate::reminder::ReminderType; 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}, @@ -196,9 +196,15 @@ pub async fn handle( )), spawn(handle_reminders(reminder, slack_sender, channel)), 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; + } + } } }), ); |
