diff --git a/spectrum/src/frontends/slack/SlackRTM.cpp b/spectrum/src/frontends/slack/SlackRTM.cpp index 493dd70a1a504cfdd6fbda4fe30c1dd2ab0371fc..69da3986f28ce9b36dc7d682a716a48c015f08df 100644 --- a/spectrum/src/frontends/slack/SlackRTM.cpp +++ b/spectrum/src/frontends/slack/SlackRTM.cpp @@ -188,6 +188,16 @@ void SlackRTM::handleRTMStart(HTTPRequest *req, bool ok, rapidjson::Document &re return; } + STORE_STRING_OPTIONAL(resp, error); + if (!error.empty()) { + if (error == "account_inactive") { + LOG4CXX_INFO(logger, "Account inactive, will not try connecting again"); + m_pingTimer->stop(); + m_client->disconnectServer(); + return; + } + } + rapidjson::Value &url = resp["url"]; if (!url.IsString()) { LOG4CXX_ERROR(logger, "No 'url' object in the reply.");