diff --git a/spectrum/src/frontends/slack/SlackSession.cpp b/spectrum/src/frontends/slack/SlackSession.cpp index 8352503ed2a7b0ff58a4302088bd8e8bc4ce0361..1592aafcd8aadab97e20e795d6c12ca63d659736 100644 --- a/spectrum/src/frontends/slack/SlackSession.cpp +++ b/spectrum/src/frontends/slack/SlackSession.cpp @@ -200,6 +200,9 @@ void SlackSession::handleJoinRoomCreated(const std::string &channelId, std::vect } void SlackSession::handleJoinMessage(const std::string &message, std::vector &args, bool quiet) { + if (args[5][0] == '#') { + args[5].erase(0, 1); + } LOG4CXX_INFO(logger, m_uinfo.jid << ": Going to join the room " << args[3] << "@" << args[4] << ", transporting it to channel " << args[5]); m_api->createChannel(args[5], m_idManager->getSelfId(), boost::bind(&SlackSession::handleJoinRoomCreated, this, _1, args)); } @@ -216,7 +219,11 @@ void SlackSession::handleSlackChannelCreated(const std::string &channelId) { m_component->getFrontend()->onPresenceReceived(presence); } -void SlackSession::leaveRoom(const std::string &channel) { +void SlackSession::leaveRoom(const std::string &channel_) { + std::string channel = channel_; + if (channel[0] == '#') { + channel.erase(0, 1); + } std::string channelId = m_idManager->getId(channel); std::string to = m_channel2jid[channelId]; if (to.empty()) {