diff --git a/spectrum/src/frontends/slack/SlackRTM.cpp b/spectrum/src/frontends/slack/SlackRTM.cpp index 98a19205b6d4525d8926ced88c695e21eefe2632..34825636ce1fd752a0d80eb6d54e19010fda1702 100644 --- a/spectrum/src/frontends/slack/SlackRTM.cpp +++ b/spectrum/src/frontends/slack/SlackRTM.cpp @@ -184,6 +184,15 @@ void SlackRTM::handleRTMStart(HTTPRequest *req, bool ok, rapidjson::Document &re m_selfName = selfName.GetString(); + rapidjson::Value &selfId = self["id"]; + if (!selfId.IsString()) { + LOG4CXX_ERROR(logger, "No 'id' string in the reply."); + LOG4CXX_ERROR(logger, data); + return; + } + + m_selfId = selfId.GetString(); + SlackAPI::getSlackChannelInfo(req, ok, resp, data, m_channels); SlackAPI::getSlackImInfo(req, ok, resp, data, m_ims); SlackAPI::getSlackUserInfo(req, ok, resp, data, m_users);