From c1b9d90f2f81f7acb0f4a88acf7056874e9cbe2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gustav=20S=C3=B6rn=C3=A4s?= Date: Tue, 1 Dec 2020 07:44:15 +0100 Subject: restart slack websocket on error --- src/slack.rs | 14 ++++++++++---- 1 file 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)) -- cgit v1.2.1