socialnetworknews-api

git clone git://archive.git.mtrnord.blog/SocialNetworkNews/socialnetworknews-api.git
Log | Files | Refs | LICENSE

commit c7e484674044c521253419f430bd26350824dd69
parent 6ee2478e0d653e0d2785b8b6563864c2b7e15172
Author: MTRNord <mtrnord1@gmail.com>
Date:   Sat, 17 Feb 2018 12:43:53 +0100

Skip retweets if they occur more than once

Diffstat:
Mtwitter/twitter.go | 15++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/twitter/twitter.go b/twitter/twitter.go @@ -182,6 +182,7 @@ func (t *TwitterAPI) getListMembersS(lists []anaconda.List) (string, error) { func (t *TwitterAPI) GetTweets(tweets []int64) ([]byte, error) { v := url.Values{} v.Set("include_entities", "true") + retweets := make(map[string]bool) var divided [][]int64 @@ -208,6 +209,15 @@ func (t *TwitterAPI) GetTweets(tweets []int64) ([]byte, error) { for _, t := range tweetsR { //fmt.Printf("%+v\n\n\n", t) JT := Tweet{} + if t.RetweetedStatus != nil { + JT.Retweet = true + if retweets[t.RetweetedStatus.IdStr] { + continue + } + retweets[t.RetweetedStatus.IdStr] = true + } else { + JT.Retweet = false + } JT.Username = t.User.ScreenName JT.UserID = t.User.IdStr JT.DisplayName = t.User.Name @@ -230,11 +240,6 @@ func (t *TwitterAPI) GetTweets(tweets []int64) ([]byte, error) { JT.CreatedAt = tweetTime.Format("02.01.2006") JT.Favorites = strconv.Itoa(t.FavoriteCount) JT.Retweets = strconv.Itoa(t.RetweetCount) - if t.RetweetedStatus != nil { - JT.Retweet = true - } else { - JT.Retweet = false - } for _, i := range t.ExtendedEntities.Media { if i.Type == "photo" {