diff --git a/backends/twitter/TwitterPlugin.cpp b/backends/twitter/TwitterPlugin.cpp index c112339ff4f744ba756138591b274e1edd658163..4915a4a30d500b810c4269f514c95399b173e77c 100644 --- a/backends/twitter/TwitterPlugin.cpp +++ b/backends/twitter/TwitterPlugin.cpp @@ -108,9 +108,13 @@ void TwitterPlugin::handleMessageSendRequest(const std::string &user, const std: if(legacyName == "twitter-account") { + char ch; std::string cmd = "", data = ""; - std::istringstream in(message.c_str()); - in >> cmd >> data; + + int i; + for(i=0 ; irunAsThread(new DirectMessageRequest(np, sessions[user], user, username, data)); } else if(cmd == "#status") tp->runAsThread(new StatusUpdateRequest(np, sessions[user], user, data)); - else if(cmd == "#timeline") tp->runAsThread(new TimelineRequest(np, sessions[user], user, data)); + else if(cmd == "#timeline") tp->runAsThread(new TimelineRequest(np, sessions[user], user, data, "")); else if(cmd == "#friends") tp->runAsThread(new FetchFriends(np, sessions[user], user)); else handleMessage(user, "twitter-account", "Unknown command! Type #help for a list of available commands."); } @@ -145,7 +149,7 @@ void TwitterPlugin::pollForTweets() std::set::iterator it = onlineUsers.begin(); while(it != onlineUsers.end()) { std::string user = *it; - tp->runAsThread(new TimelineRequest(np, sessions[user], user, "")); + tp->runAsThread(new TimelineRequest(np, sessions[user], user, "", mostRecentTweetID[user])); it++; } m_timer->start(); @@ -237,4 +241,17 @@ void TwitterPlugin::pinExchangeComplete(const std::string user, const std::strin sessions[user]->getOAuth().setOAuthTokenSecret( OAuthAccessTokenSecret ); connectionState[user] = CONNECTED; onlineUsers.insert(user); + mostRecentTweetID[user] = ""; } + +void TwitterPlugin::updateUsersLastTweetID(const std::string user, const std::string ID) +{ + boost::mutex::scoped_lock lock(userlock); + mostRecentTweetID[user] = ID; +} + +std::string TwitterPlugin::getMostRecentTweetID(const std::string user) +{ + boost::mutex::scoped_lock lock(userlock); + return mostRecentTweetID[user]; +}