disconnect twitter user in case of curl error

This commit is contained in:
HanzZ 2012-12-18 21:05:16 +01:00
parent c8f605bbfc
commit 7e9dfbdead
4 changed files with 50 additions and 6 deletions

View file

@ -75,7 +75,7 @@ MyIrcSession *IRCNetworkPlugin::createSession(const std::string &user, const std
session->setRealName(FROM_UTF8(nickname));
session->setHost(FROM_UTF8(hostname));
session->setPort(6667);
session->setEncoding( "utf-8" );
// session->setEncoding("UTF8");
if (!password.empty()) {
std::string identify = m_identify;

View file

@ -580,6 +580,10 @@ std::string TwitterPlugin::getMostRecentDMID(const std::string user)
void TwitterPlugin::statusUpdateResponse(std::string &user, Error &errMsg)
{
if(errMsg.getMessage().length()) {
if (errMsg.isCurlError()) {
handleDisconnected(user, 3, errMsg.getMessage());
return;
}
handleMessage(user, userdb[user].twitterMode == CHATROOM ? adminChatRoom : adminLegacyName,
errMsg.getMessage(), userdb[user].twitterMode == CHATROOM ? adminNickName : "");
} else {
@ -627,8 +631,14 @@ void TwitterPlugin::populateRoster(std::string &user, std::vector<User> &friends
friends[i].getScreenName() + " - " + friends[i].getLastStatus().getTweet(),
userdb[user].twitterMode == CHATROOM ? adminNickName : "");*/
}
} else handleMessage(user, userdb[user].twitterMode == CHATROOM ? adminChatRoom : adminLegacyName,
std::string("Error populating roster - ") + errMsg.getMessage(), userdb[user].twitterMode == CHATROOM ? adminNickName : "");
} else {
if (errMsg.isCurlError()) {
handleDisconnected(user, 3, errMsg.getMessage());
return;
}
handleMessage(user, userdb[user].twitterMode == CHATROOM ? adminChatRoom : adminLegacyName,
std::string("Error populating roster - ") + errMsg.getMessage(), userdb[user].twitterMode == CHATROOM ? adminNickName : "");
}
if(userdb[user].twitterMode == CHATROOM) handleParticipantChanged(user, userdb[user].nickName, adminChatRoom, 0, pbnetwork::STATUS_ONLINE);
}
@ -644,8 +654,14 @@ void TwitterPlugin::displayFriendlist(std::string &user, std::vector<User> &frie
userlist += "***************************************\n";
handleMessage(user, userdb[user].twitterMode == CHATROOM ? adminChatRoom : adminLegacyName,
userlist, userdb[user].twitterMode == CHATROOM ? adminNickName : "");
} else handleMessage(user, userdb[user].twitterMode == CHATROOM ? adminChatRoom : adminLegacyName,
} else {
if (errMsg.isCurlError()) {
handleDisconnected(user, 3, errMsg.getMessage());
return;
}
handleMessage(user, userdb[user].twitterMode == CHATROOM ? adminChatRoom : adminLegacyName,
errMsg.getMessage(), userdb[user].twitterMode == CHATROOM ? adminNickName : "");
}
}
@ -683,8 +699,14 @@ void TwitterPlugin::displayTweets(std::string &user, std::string &userRequested,
if(tweetID != tweets[0].getID()) updateLastTweetID(user, tweets[0].getID());
}
} else handleMessage(user, userdb[user].twitterMode == CHATROOM ? adminChatRoom : adminLegacyName,
} else {
if (errMsg.isCurlError()) {
handleDisconnected(user, 3, errMsg.getMessage());
return;
}
handleMessage(user, userdb[user].twitterMode == CHATROOM ? adminChatRoom : adminLegacyName,
errMsg.getMessage(), userdb[user].twitterMode == CHATROOM ? adminNickName : "");
}
}
void TwitterPlugin::directMessageResponse(std::string &user, std::string &username, std::vector<DirectMessage> &messages, Error &errMsg)
@ -693,6 +715,11 @@ void TwitterPlugin::directMessageResponse(std::string &user, std::string &userna
return;
if(errMsg.getMessage().length()) {
if (errMsg.isCurlError()) {
handleDisconnected(user, 3, errMsg.getMessage());
return;
}
if(username != "")
handleMessage(user, userdb[user].twitterMode == CHATROOM ? adminChatRoom : adminLegacyName,
std::string("Error while sending direct message! - ") + errMsg.getMessage(), userdb[user].twitterMode == CHATROOM ? adminNickName : "");
@ -749,6 +776,10 @@ void TwitterPlugin::directMessageResponse(std::string &user, std::string &userna
void TwitterPlugin::createFriendResponse(std::string &user, User &frnd, std::string &img, Error &errMsg)
{
if(errMsg.getMessage().length()) {
if (errMsg.isCurlError()) {
handleDisconnected(user, 3, errMsg.getMessage());
return;
}
handleMessage(user, userdb[user].twitterMode == CHATROOM ? adminChatRoom : adminLegacyName,
errMsg.getMessage(), userdb[user].twitterMode == CHATROOM ? adminNickName : "");
return;
@ -772,6 +803,10 @@ void TwitterPlugin::createFriendResponse(std::string &user, User &frnd, std::str
void TwitterPlugin::deleteFriendResponse(std::string &user, User &frnd, Error &errMsg)
{
if(errMsg.getMessage().length()) {
if (errMsg.isCurlError()) {
handleDisconnected(user, 3, errMsg.getMessage());
return;
}
handleMessage(user, userdb[user].twitterMode == CHATROOM ? adminChatRoom : adminLegacyName,
errMsg.getMessage(), userdb[user].twitterMode == CHATROOM ? adminNickName : "");
return;
@ -796,6 +831,10 @@ void TwitterPlugin::deleteFriendResponse(std::string &user, User &frnd, Error &e
void TwitterPlugin::RetweetResponse(std::string &user, Error &errMsg)
{
if(errMsg.getMessage().length()) {
if (errMsg.isCurlError()) {
handleDisconnected(user, 3, errMsg.getMessage());
return;
}
handleMessage(user, userdb[user].twitterMode == CHATROOM ? adminChatRoom : adminLegacyName,
errMsg.getMessage(), userdb[user].twitterMode == CHATROOM ? adminNickName : "");
} else {
@ -807,6 +846,10 @@ void TwitterPlugin::RetweetResponse(std::string &user, Error &errMsg)
void TwitterPlugin::profileImageResponse(std::string &user, std::string &buddy, std::string &img, unsigned int reqID, Error &errMsg)
{
if(errMsg.getMessage().length()) {
if (errMsg.isCurlError()) {
handleDisconnected(user, 3, errMsg.getMessage());
return;
}
handleMessage(user, userdb[user].twitterMode == CHATROOM ? adminChatRoom : adminLegacyName,
errMsg.getMessage(), userdb[user].twitterMode == CHATROOM ? adminNickName : "");
} else {

View file

@ -251,7 +251,7 @@ std::vector<std::string> getIDs(std::string &xml)
Error getErrorMessage(std::string &xml)
{
std::string error = "";
std::string code = "";
std::string code = "0";
Error resp;
Swift::ParserElement::ref rootElement = Swift::StringTreeParser::parse(xml);

View file

@ -204,6 +204,7 @@ class Error
Error():code(""),message(""){}
std::string getCode() {return code;}
std::string getMessage() {return message;}
bool isCurlError() { return code.empty(); }
void setCode(std::string &_code) {code = _code;}
void setMessage(std::string &_message) {message = _message;}