From 0fd17f1af040e59ccf1d9028b9516e521cbbcbb6 Mon Sep 17 00:00:00 2001 From: Alessio Date: Sun, 14 Jul 2024 12:52:07 -0700 Subject: [PATCH] Fix getting tweets from deleted accounts --- cmd/tests.sh | 4 ++-- pkg/scraper/tweet.go | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/cmd/tests.sh b/cmd/tests.sh index 9e9951a..0730c5f 100755 --- a/cmd/tests.sh +++ b/cmd/tests.sh @@ -309,8 +309,8 @@ test $(sqlite3 twitter.db "select is_id_fake from users where handle = '_selfopt test $(sqlite3 twitter.db "select count(*) from tweets where user_id = (select id from users where handle = '_selfoptimizer')") = 1 # Test a tweet which is itself from a deleted account -tw fetch_tweet https://twitter.com/lndian_Bronson/status/1569875562784608256 -test $(sqlite3 twitter.db "select is_stub, user_id = 0x4000000000000000 from tweets where id = 1569875562784608256") = "1|1" +tw fetch_tweet https://x.com/agnisterion/status/1569727165268393986 +test $(sqlite3 twitter.db "select is_stub, user_id = 0x4000000000000000 from tweets where id = 1569727165268393986") = "1|1" # Test fetching a banned user diff --git a/pkg/scraper/tweet.go b/pkg/scraper/tweet.go index e259169..7588a82 100644 --- a/pkg/scraper/tweet.go +++ b/pkg/scraper/tweet.go @@ -332,7 +332,9 @@ func GetTweetFullAPIV2(id TweetID, how_many int) (TweetTrove, error) { trove, err := the_api.GetPaginatedQuery(PaginatedTweetReplies{id}, how_many) if errors.Is(err, ErrDoesntExist) { trove := NewTweetTrove() - trove.Tweets[id] = Tweet{ID: id, TombstoneType: "deleted", IsConversationScraped: true, IsStub: true} + fake_user := GetUnknownUser() + trove.Users[fake_user.ID] = fake_user + trove.Tweets[id] = Tweet{ID: id, UserID: fake_user.ID, TombstoneType: "deleted", IsConversationScraped: true, IsStub: true} return trove, nil } else if err != nil { return trove, err