fix nsfw for FetchTweets

This commit is contained in:
Valentine 2024-04-25 23:48:41 +03:00
parent 57f32b03f7
commit 2d646915ff
2 changed files with 13 additions and 10 deletions

View file

@ -39,16 +39,13 @@ func (result *result) parse() *Tweet {
if result.NoteTweet.NoteTweetResults.Result.Text != "" { if result.NoteTweet.NoteTweetResults.Result.Text != "" {
result.Legacy.FullText = result.NoteTweet.NoteTweetResults.Result.Text result.Legacy.FullText = result.NoteTweet.NoteTweetResults.Result.Text
} }
var tweet *legacyTweet var legacy *legacyTweet = &result.Legacy
var user *legacyUser var user *legacyUser = &result.Core.UserResults.Result.Legacy
if result.Typename == "TweetWithVisibilityResults" { if result.Typename == "TweetWithVisibilityResults" {
tweet = &result.Tweet.Legacy legacy = &result.Tweet.Legacy
user = &result.Tweet.Core.UserResults.Result.Legacy user = &result.Tweet.Core.UserResults.Result.Legacy
} else {
tweet = &result.Legacy
user = &result.Core.UserResults.Result.Legacy
} }
tw := parseLegacyTweet(user, tweet) tw := parseLegacyTweet(user, legacy)
if tw == nil { if tw == nil {
return nil return nil
} }
@ -144,7 +141,7 @@ func (timeline *timelineV2) parseTweets() ([]*Tweet, string) {
cursor = entry.Content.Value cursor = entry.Content.Value
continue continue
} }
if entry.Content.ItemContent.TweetResults.Result.Typename == "Tweet" { if entry.Content.ItemContent.TweetResults.Result.Typename == "Tweet" || entry.Content.ItemContent.TweetResults.Result.Typename == "TweetWithVisibilityResults" {
if tweet := entry.Content.ItemContent.TweetResults.Result.parse(); tweet != nil { if tweet := entry.Content.ItemContent.TweetResults.Result.parse(); tweet != nil {
tweets = append(tweets, tweet) tweets = append(tweets, tweet)
} }
@ -159,7 +156,7 @@ func (timeline *timelineV2) parseTweets() ([]*Tweet, string) {
} }
if len(instruction.ModuleItems) > 0 { if len(instruction.ModuleItems) > 0 {
for _, entry := range instruction.ModuleItems { for _, entry := range instruction.ModuleItems {
if entry.Item.ItemContent.TweetResults.Result.Typename == "Tweet" { if entry.Item.ItemContent.TweetResults.Result.Typename == "Tweet" || entry.Item.ItemContent.TweetResults.Result.Typename == "TweetWithVisibilityResults" {
if tweet := entry.Item.ItemContent.TweetResults.Result.parse(); tweet != nil { if tweet := entry.Item.ItemContent.TweetResults.Result.parse(); tweet != nil {
tweets = append(tweets, tweet) tweets = append(tweets, tweet)
} }

View file

@ -194,7 +194,13 @@ func parseLegacyTweet(user *legacyUser, tweet *legacyTweet) *Tweet {
tw.IsRetweet = true tw.IsRetweet = true
tw.RetweetedStatusID = tweet.RetweetedStatusIDStr tw.RetweetedStatusID = tweet.RetweetedStatusIDStr
if tweet.RetweetedStatusResult.Result != nil { if tweet.RetweetedStatusResult.Result != nil {
tw.RetweetedStatus = parseLegacyTweet(&tweet.RetweetedStatusResult.Result.Core.UserResults.Result.Legacy, &tweet.RetweetedStatusResult.Result.Legacy) var legacy *legacyTweet = &tweet.RetweetedStatusResult.Result.Legacy
var user *legacyUser = &tweet.RetweetedStatusResult.Result.Core.UserResults.Result.Legacy
if tweet.RetweetedStatusResult.Result.Typename == "TweetWithVisibilityResults" {
legacy = &tweet.RetweetedStatusResult.Result.Tweet.Legacy
user = &tweet.RetweetedStatusResult.Result.Tweet.Core.UserResults.Result.Legacy
}
tw.RetweetedStatus = parseLegacyTweet(user, legacy)
tw.RetweetedStatusID = tw.RetweetedStatus.ID tw.RetweetedStatusID = tw.RetweetedStatus.ID
} }
} }