48 lines
1.4 KiB
C++
48 lines
1.4 KiB
C++
#include "TimelineRequest.h"
|
|
DEFINE_LOGGER(logger, "TimelineRequest")
|
|
void TimelineRequest::run()
|
|
{
|
|
|
|
if(userRequested != "") success = twitObj->timelineUserGet(false, false, 20, userRequested, false);
|
|
else success = twitObj->timelineHomeGet(since_id);
|
|
|
|
replyMsg = "";
|
|
if(success) {
|
|
LOG4CXX_INFO(logger, "Sending timeline request for user " << user)
|
|
|
|
while(replyMsg.length() == 0) {
|
|
twitObj->getLastWebResponse( replyMsg );
|
|
}
|
|
|
|
LOG4CXX_INFO(logger, user << " - " << replyMsg.length() << " " << replyMsg << "\n" );
|
|
|
|
std::vector<Status> tweets = getTimeline(replyMsg);
|
|
timeline = "";
|
|
|
|
if(tweets.size() && (since_id == "" ||
|
|
(since_id != "" && tweets[0].getID() != np->getMostRecentTweetID(user)) )) {
|
|
for(int i=0 ; i<tweets.size() ; i++) {
|
|
timeline += tweets[i].getTweet() + "\n";
|
|
}
|
|
np->updateUsersLastTweetID(user, tweets[0].getID());
|
|
}
|
|
}
|
|
}
|
|
|
|
void TimelineRequest::finalize()
|
|
{
|
|
if(success && timeline != "") {
|
|
std::string error = getErrorMessage(replyMsg);
|
|
if(error.length()) {
|
|
np->handleMessage(user, "twitter-account", error);
|
|
LOG4CXX_INFO(logger, user << ": " << error);
|
|
} else {
|
|
LOG4CXX_INFO(logger, user << "'s timeline\n" << replyMsg);
|
|
np->handleMessage(user, "twitter-account", timeline); //send timeline
|
|
}
|
|
}
|
|
else {
|
|
twitObj->getLastCurlError( replyMsg );
|
|
LOG4CXX_ERROR(logger, user << " - " << replyMsg );
|
|
}
|
|
}
|