feat: detect subscriber-only tweets via tweetInterstitial (#33)

Extract visibility metadata from TweetWithVisibilityResults wrapper
before unwrapping. Adds is_subscriber_only field to Tweet model,
with full serialization roundtrip and test coverage.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Tao BAI
2026-03-17 18:09:15 +08:00
committed by GitHub
parent 90f0635c50
commit 66115a4837
8 changed files with 29 additions and 5 deletions

View File

@@ -77,3 +77,11 @@ def test_tweet_roundtrip_preserves_article_fields(tweet_factory) -> None:
assert restored.article_title == "Long-form title"
assert restored.article_text == "Intro\n\n## Details"
def test_tweet_roundtrip_preserves_subscriber_only(tweet_factory) -> None:
tweet = tweet_factory("99", is_subscriber_only=True)
payload = tweet_to_dict(tweet)
assert payload["isSubscriberOnly"] is True
restored = tweet_from_dict(payload)
assert restored.is_subscriber_only is True