diff options
author | Kelly Rauchenberger <fefferburbia@gmail.com> | 2018-08-06 16:16:10 -0400 |
---|---|---|
committer | Kelly Rauchenberger <fefferburbia@gmail.com> | 2018-08-06 16:16:10 -0400 |
commit | d16ccf85c75f34c142736b6e1b7dc491898a1932 (patch) | |
tree | 646346ec617dc1b4bd7397f1029ca4f9112537f0 | |
parent | f605bf346904c18b3ba69c8cf2a624c5905f8cf5 (diff) | |
download | father-d16ccf85c75f34c142736b6e1b7dc491898a1932.tar.gz father-d16ccf85c75f34c142736b6e1b7dc491898a1932.tar.bz2 father-d16ccf85c75f34c142736b6e1b7dc491898a1932.zip |
Ignore locked accounts when syncing followers
Previously, if a locked account was following the bot, it would give up syncing friends after receiving an error from Twitter if it had previously attempted to follow that account and the account hadn't accepted the request yet. Now, the bot does not attempt to follow locked accounts. refs hatkirby/snitch#1
-rw-r--r-- | father.cpp | 14 | ||||
m--------- | vendor/libtwittercpp | 0 |
2 files changed, 10 insertions, 4 deletions
diff --git a/father.cpp b/father.cpp index 4ff4a3c..d95f506 100644 --- a/father.cpp +++ b/father.cpp | |||
@@ -80,22 +80,28 @@ int main(int argc, char** argv) | |||
80 | std::end(followers), | 80 | std::end(followers), |
81 | std::back_inserter(oldFriends)); | 81 | std::back_inserter(oldFriends)); |
82 | 82 | ||
83 | std::list<twitter::user_id> newFollowers; | 83 | std::set<twitter::user_id> newFollowers; |
84 | std::set_difference( | 84 | std::set_difference( |
85 | std::begin(followers), | 85 | std::begin(followers), |
86 | std::end(followers), | 86 | std::end(followers), |
87 | std::begin(friends), | 87 | std::begin(friends), |
88 | std::end(friends), | 88 | std::end(friends), |
89 | std::back_inserter(newFollowers)); | 89 | std::inserter(newFollowers, std::begin(newFollowers))); |
90 | 90 | ||
91 | for (twitter::user_id f : oldFriends) | 91 | for (twitter::user_id f : oldFriends) |
92 | { | 92 | { |
93 | client.unfollow(f); | 93 | client.unfollow(f); |
94 | } | 94 | } |
95 | 95 | ||
96 | for (twitter::user_id f : newFollowers) | 96 | std::list<twitter::user> newFollowerObjs = |
97 | client.hydrateUsers(std::move(newFollowers)); | ||
98 | |||
99 | for (twitter::user f : newFollowerObjs) | ||
97 | { | 100 | { |
98 | client.follow(f); | 101 | if (!f.isProtected()) |
102 | { | ||
103 | client.follow(f); | ||
104 | } | ||
99 | } | 105 | } |
100 | } catch (const twitter::twitter_error& error) | 106 | } catch (const twitter::twitter_error& error) |
101 | { | 107 | { |
diff --git a/vendor/libtwittercpp b/vendor/libtwittercpp | |||
Subproject b7bb942cadfe3d657895af1557b78acc2559947 | Subproject 4963c3dd55b765a33a16a77af432f2bfa12b835 | ||