diff --git a/spectrum/src/frontends/slack/SlackUser.cpp b/spectrum/src/frontends/slack/SlackUser.cpp index 13216ce39e2940a80affc879076b2e249c6caaae..ed45bf2e7a6881ad357540815cf0aa9c354ddf85 100644 --- a/spectrum/src/frontends/slack/SlackUser.cpp +++ b/spectrum/src/frontends/slack/SlackUser.cpp @@ -55,7 +55,19 @@ SlackUser::~SlackUser(){ } void SlackUser::disconnectUser(const std::string &error, Swift::SpectrumErrorPayload::Error e) { + if (!m_session) { + return; + } + if (!error.empty()) { + m_session->sendMessageToAll(error); + } + else { + m_session->sendMessageToAll("Disconnected from 3rd-party network for unknown reason."); + } + m_session->sendMessageToAll("Try using ```.spectrum2 reconnect``` to reconnect."); + static_cast(m_userManager)->moveTempSession(m_jid.toString(), m_session); + m_session = NULL; }