diff --git a/spectrum/src/frontends/slack/SlackRTM.cpp b/spectrum/src/frontends/slack/SlackRTM.cpp index bbaf42846e41a6ddb3e5a8a9ea386ff74006758d..5d28bc5472890cf3a35f44fa71fea7e80c2c29ae 100644 --- a/spectrum/src/frontends/slack/SlackRTM.cpp +++ b/spectrum/src/frontends/slack/SlackRTM.cpp @@ -56,12 +56,6 @@ SlackRTM::SlackRTM(Component *component, StorageBackend *storageBackend, SlackId m_storageBackend->getUserSetting(m_uinfo.id, "bot_token", type, m_token); m_api = new SlackAPI(component, m_idManager, m_token); - - std::string url = "https://slack.com/api/rtm.start?"; - url += "token=" + Util::urlencode(m_token); - - HTTPRequest *req = new HTTPRequest(THREAD_POOL(m_component), HTTPRequest::Get, url, boost::bind(&SlackRTM::handleRTMStart, this, _1, _2, _3, _4)); - req->execute(); } SlackRTM::~SlackRTM() { @@ -70,6 +64,14 @@ SlackRTM::~SlackRTM() { m_pingTimer->stop(); } +void SlackRTM::start() { + std::string url = "https://slack.com/api/rtm.start?"; + url += "token=" + Util::urlencode(m_token); + + HTTPRequest *req = new HTTPRequest(THREAD_POOL(m_component), HTTPRequest::Get, url, boost::bind(&SlackRTM::handleRTMStart, this, _1, _2, _3, _4)); + req->execute(); +} + #define STORE_STRING(FROM, NAME) rapidjson::Value &NAME##_tmp = FROM[#NAME]; \ if (!NAME##_tmp.IsString()) { \ LOG4CXX_ERROR(logger, "No '" << #NAME << "' string in the reply."); \