Mercurial > rsstweet
diff app/lib/legit_client.rb @ 238:a04b4830eef2 legit-client
Filter out non-own tweets included for replies
author | nanaya <me@nanaya.net> |
---|---|
date | Sat, 15 Jul 2023 01:53:05 +0900 |
parents | 961d362e42c7 |
children | c454ea4f7b34 |
line wrap: on
line diff
--- a/app/lib/legit_client.rb Sat Jul 15 01:47:34 2023 +0900 +++ b/app/lib/legit_client.rb Sat Jul 15 01:53:05 2023 +0900 @@ -5,7 +5,7 @@ begin json = JSON.parse(resp) { - timeline: normalize_timeline(json['data']['user']['result']['timeline_v2']['timeline']['instructions']), + timeline: normalize_timeline(json['data']['user']['result']['timeline_v2']['timeline']['instructions'], user_id), raw: resp, } rescue => e @@ -102,7 +102,7 @@ ret end - def self.normalize_timeline(json) + def self.normalize_timeline(json, user_id) json.find { |instruction| instruction['type'] == 'TimelineAddEntries' }['entries'] .filter { |entry| entry['entryId'] =~ /\A(profile-conversation|tweet)-/ } .reduce([]) do |acc, entry| @@ -115,6 +115,7 @@ end acc end.map { |rawTweet| normalize_tweet(rawTweet['itemContent']['tweet_results']['result']) } + .filter { |tweet| !tweet.nil? && tweet.dig(:user, :id) == user_id } end def self.normalize_tweet(json)