From efdedd3619af018c41619cb7e15250a8efe57be2 Mon Sep 17 00:00:00 2001 From: Zed Date: Sat, 20 May 2023 02:10:37 +0200 Subject: [PATCH] Add proper tombstone for subscriber tweets --- src/consts.nim | 19 ++++++++++--------- src/parser.nim | 11 +++++------ 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/consts.nim b/src/consts.nim index fef637e..c06006c 100644 --- a/src/consts.nim +++ b/src/consts.nim @@ -14,13 +14,13 @@ const userSearch* = api / "1.1/users/search.json" graphql = api / "graphql" - graphUser* = graphql / "8mPfHBetXOg-EHAyeVxUoA/UserByScreenName" - graphUserById* = graphql / "nI8WydSd-X-lQIVo6bdktQ/UserByRestId" - graphUserTweets* = graphql / "9rys0A7w1EyqVd2ME0QCJg/UserTweets" - graphUserTweetsAndReplies* = graphql / "ehMCHF3Mkgjsfz_aImqOsg/UserTweetsAndReplies" - graphUserMedia* = graphql / "MA_EP2a21zpzNWKRkaPBMg/UserMedia" - graphTweet* = graphql / "6I7Hm635Q6ftv69L8VrSeQ/TweetDetail" - graphTweetResult* = graphql / "rt-rHeSJ-2H9O9gxWQcPcg/TweetResultByRestId" + graphUser* = graphql / "pVrmNaXcxPjisIvKtLDMEA/UserByScreenName" + graphUserById* = graphql / "1YAM811Q8Ry4XyPpJclURQ/UserByRestId" + graphUserTweets* = graphql / "WzJjibAcDa-oCjCcLOotcg/UserTweets" + graphUserTweetsAndReplies* = graphql / "fn9oRltM1N4thkh5CVusPg/UserTweetsAndReplies" + graphUserMedia* = graphql / "qQoeS7szGavsi8-ehD2AWg/UserMedia" + graphTweet* = graphql / "miKSMGb2R1SewIJv2-ablQ/TweetDetail" + graphTweetResult* = graphql / "0kc0a_7TTr3dvweZlMslsQ/TweetResultByRestId" graphSearchTimeline* = graphql / "gkjsKepM6gl_HmFWoWKfgg/SearchTimeline" graphListById* = graphql / "iTpgCtbdxrsJfyx0cFjHqg/ListByRestId" graphListBySlug* = graphql / "-kmqNvm5Y-cVrfvBy6docg/ListBySlug" @@ -57,9 +57,10 @@ const gqlFeatures* = """{ "blue_business_profile_image_shape_enabled": false, - "creator_subscriptions_tweet_preview_api_enabled": false, + "creator_subscriptions_tweet_preview_api_enabled": true, "freedom_of_speech_not_reach_fetch_enabled": false, "graphql_is_translatable_rweb_tweet_is_translatable_enabled": false, + "highlights_tweets_tab_ui_enabled": false, "interactive_text_enabled": false, "longform_notetweets_consumption_enabled": true, "longform_notetweets_inline_media_enabled": false, @@ -72,7 +73,7 @@ const "responsive_web_graphql_timeline_navigation_enabled": false, "responsive_web_text_conversations_enabled": false, "responsive_web_twitter_blue_verified_badge_is_enabled": true, - "rweb_lists_timeline_redesign_enabled": false, + "rweb_lists_timeline_redesign_enabled": true, "spaces_2022_h2_clipping": true, "spaces_2022_h2_spaces_communities": true, "standardized_nudges_misinfo": false, diff --git a/src/parser.nim b/src/parser.nim index 94ff889..0f302ff 100644 --- a/src/parser.nim +++ b/src/parser.nim @@ -381,16 +381,15 @@ proc parsePhotoRail*(js: JsonNode): PhotoRail = proc parseGraphTweet(js: JsonNode): Tweet = if js.kind == JNull: - return Tweet(available: false) + return Tweet() case js{"__typename"}.getStr of "TweetUnavailable": - return Tweet(available: false) + return Tweet() of "TweetTombstone": - return Tweet( - available: false, - text: js{"tombstone", "text"}.getTombstone - ) + return Tweet(text: js{"tombstone", "text"}.getTombstone) + of "TweetPreviewDisplay": + return Tweet(text: "You're unable to view this Tweet because it's only available to the Subscribers of the account owner.") of "TweetWithVisibilityResults": return parseGraphTweet(js{"tweet"})