x-twitter-scraper 0.4.3 → 0.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +14 -0
- data/LICENSE +201 -0
- data/README.md +10 -12
- data/lib/x_twitter_scraper/client.rb +30 -26
- data/lib/x_twitter_scraper/internal/transport/base_client.rb +5 -0
- data/lib/x_twitter_scraper/internal/type/base_model.rb +4 -3
- data/lib/x_twitter_scraper/internal/util.rb +3 -1
- data/lib/x_twitter_scraper/models/account_retrieve_response.rb +138 -23
- data/lib/x_twitter_scraper/models/content_disclosure.rb +66 -0
- data/lib/x_twitter_scraper/models/credit_redirect_topup_checkout_params.rb +22 -0
- data/lib/x_twitter_scraper/models/credit_retrieve_balance_response.rb +37 -10
- data/lib/x_twitter_scraper/models/credit_retrieve_topup_status_params.rb +22 -0
- data/lib/x_twitter_scraper/models/credit_retrieve_topup_status_response.rb +45 -0
- data/lib/x_twitter_scraper/models/credit_topup_balance_params.rb +13 -5
- data/lib/x_twitter_scraper/models/credit_topup_balance_response.rb +18 -5
- data/lib/x_twitter_scraper/models/draft_list_params.rb +8 -2
- data/lib/x_twitter_scraper/models/draw_detail.rb +15 -1
- data/lib/x_twitter_scraper/models/draw_export_params.rb +3 -3
- data/lib/x_twitter_scraper/models/draw_list_item.rb +8 -1
- data/lib/x_twitter_scraper/models/draw_list_params.rb +13 -7
- data/lib/x_twitter_scraper/models/draw_run_response.rb +13 -2
- data/lib/x_twitter_scraper/models/embedded_tweet.rb +202 -0
- data/lib/x_twitter_scraper/models/error.rb +203 -34
- data/lib/x_twitter_scraper/models/event.rb +48 -6
- data/lib/x_twitter_scraper/models/event_detail.rb +46 -7
- data/lib/x_twitter_scraper/models/event_list_params.rb +13 -7
- data/lib/x_twitter_scraper/models/event_type.rb +17 -2
- data/lib/x_twitter_scraper/models/extraction_estimate_cost_params.rb +308 -7
- data/lib/x_twitter_scraper/models/extraction_estimate_cost_response.rb +38 -14
- data/lib/x_twitter_scraper/models/extraction_export_results_params.rb +3 -3
- data/lib/x_twitter_scraper/models/extraction_job.rb +3 -0
- data/lib/x_twitter_scraper/models/extraction_list_params.rb +16 -7
- data/lib/x_twitter_scraper/models/extraction_retrieve_params.rb +5 -5
- data/lib/x_twitter_scraper/models/extraction_retrieve_response.rb +2 -2
- data/lib/x_twitter_scraper/models/extraction_run_params.rb +304 -7
- data/lib/x_twitter_scraper/models/extraction_run_response.rb +3 -0
- data/lib/x_twitter_scraper/models/guest_wallet_amount.rb +25 -0
- data/lib/x_twitter_scraper/models/guest_wallet_create_params.rb +36 -0
- data/lib/x_twitter_scraper/models/guest_wallet_create_response.rb +161 -0
- data/lib/x_twitter_scraper/models/{integration_list_params.rb → guest_wallet_retrieve_status_params.rb} +2 -2
- data/lib/x_twitter_scraper/models/guest_wallet_retrieve_status_response.rb +196 -0
- data/lib/x_twitter_scraper/models/guest_wallet_topup_params.rb +36 -0
- data/lib/x_twitter_scraper/models/guest_wallet_topup_response.rb +172 -0
- data/lib/x_twitter_scraper/models/monitor.rb +9 -1
- data/lib/x_twitter_scraper/models/monitor_create_response.rb +16 -1
- data/lib/x_twitter_scraper/models/monitors/keyword_create_params.rb +34 -0
- data/lib/x_twitter_scraper/models/monitors/keyword_create_response.rb +59 -0
- data/lib/x_twitter_scraper/models/monitors/keyword_deactivate_params.rb +22 -0
- data/lib/x_twitter_scraper/models/monitors/keyword_deactivate_response.rb +18 -0
- data/lib/x_twitter_scraper/models/monitors/keyword_list_params.rb +16 -0
- data/lib/x_twitter_scraper/models/monitors/keyword_list_response.rb +76 -0
- data/lib/x_twitter_scraper/models/monitors/keyword_retrieve_params.rb +22 -0
- data/lib/x_twitter_scraper/models/monitors/keyword_retrieve_response.rb +59 -0
- data/lib/x_twitter_scraper/models/monitors/keyword_update_params.rb +40 -0
- data/lib/x_twitter_scraper/models/monitors/keyword_update_response.rb +59 -0
- data/lib/x_twitter_scraper/models/paginated_tweets.rb +8 -4
- data/lib/x_twitter_scraper/models/paginated_users.rb +8 -4
- data/lib/x_twitter_scraper/models/radar_item.rb +99 -6
- data/lib/x_twitter_scraper/models/radar_retrieve_trending_topics_params.rb +39 -14
- data/lib/x_twitter_scraper/models/radar_retrieve_trending_topics_response.rb +14 -5
- data/lib/x_twitter_scraper/models/search_tweet.rb +236 -0
- data/lib/x_twitter_scraper/models/subscribe_create_params.rb +21 -1
- data/lib/x_twitter_scraper/models/subscribe_create_response.rb +10 -10
- data/lib/x_twitter_scraper/models/trend_list_params.rb +7 -4
- data/lib/x_twitter_scraper/models/tweet_media.rb +77 -0
- data/lib/x_twitter_scraper/models/user_profile.rb +258 -0
- data/lib/x_twitter_scraper/models/webhook.rb +46 -1
- data/lib/x_twitter_scraper/models/webhook_create_response.rb +2 -1
- data/lib/x_twitter_scraper/models/{api_key_revoke_params.rb → webhook_resume_params.rb} +2 -2
- data/lib/x_twitter_scraper/models/webhook_resume_response.rb +31 -0
- data/lib/x_twitter_scraper/models/x/account_connection_challenge_submit_params.rb +31 -0
- data/lib/x_twitter_scraper/models/x/account_connection_challenge_submit_response.rb +66 -0
- data/lib/x_twitter_scraper/models/x/account_create_params.rb +1 -9
- data/lib/x_twitter_scraper/models/x/account_create_response.rb +30 -1
- data/lib/x_twitter_scraper/models/x/account_reauth_params.rb +9 -1
- data/lib/x_twitter_scraper/models/x/account_reauth_response.rb +36 -1
- data/lib/x_twitter_scraper/models/x/bookmark_retrieve_folders_response.rb +6 -2
- data/lib/x_twitter_scraper/models/x/communities/join_create_response.rb +20 -0
- data/lib/x_twitter_scraper/models/x/communities/join_delete_all_response.rb +20 -0
- data/lib/x_twitter_scraper/models/x/communities/tweet_list_by_community_params.rb +17 -1
- data/lib/x_twitter_scraper/models/x/communities/tweet_list_params.rb +43 -9
- data/lib/x_twitter_scraper/models/x/community_retrieve_info_response.rb +69 -1
- data/lib/x_twitter_scraper/models/x/community_retrieve_members_params.rb +14 -1
- data/lib/x_twitter_scraper/models/x/community_retrieve_search_params.rb +38 -4
- data/lib/x_twitter_scraper/models/x/dm_retrieve_history_params.rb +13 -1
- data/lib/x_twitter_scraper/models/x/dm_retrieve_history_response.rb +26 -9
- data/lib/x_twitter_scraper/models/x/dm_send_params.rb +3 -9
- data/lib/x_twitter_scraper/models/x/follower_check_params.rb +4 -4
- data/lib/x_twitter_scraper/models/x/list_retrieve_followers_params.rb +15 -1
- data/lib/x_twitter_scraper/models/x/list_retrieve_members_params.rb +9 -1
- data/lib/x_twitter_scraper/models/x/list_retrieve_tweets_params.rb +16 -1
- data/lib/x_twitter_scraper/models/x/media_download_params.rb +19 -3
- data/lib/x_twitter_scraper/models/x/media_upload_params.rb +8 -15
- data/lib/x_twitter_scraper/models/x/media_upload_response.rb +10 -1
- data/lib/x_twitter_scraper/models/x/profile_update_avatar_params.rb +8 -8
- data/lib/x_twitter_scraper/models/x/profile_update_banner_params.rb +8 -8
- data/lib/x_twitter_scraper/models/x/tweet_author.rb +4 -21
- data/lib/x_twitter_scraper/models/x/tweet_create_params.rb +18 -11
- data/lib/x_twitter_scraper/models/x/tweet_create_response.rb +28 -1
- data/lib/x_twitter_scraper/models/x/tweet_detail.rb +109 -43
- data/lib/x_twitter_scraper/models/x/tweet_get_favoriters_params.rb +15 -1
- data/lib/x_twitter_scraper/models/x/tweet_get_quotes_params.rb +268 -1
- data/lib/x_twitter_scraper/models/x/tweet_get_replies_params.rb +268 -1
- data/lib/x_twitter_scraper/models/x/tweet_get_retweeters_params.rb +15 -1
- data/lib/x_twitter_scraper/models/x/tweet_get_thread_params.rb +16 -1
- data/lib/x_twitter_scraper/models/x/tweet_retrieve_response.rb +9 -4
- data/lib/x_twitter_scraper/models/x/tweet_search_params.rb +314 -8
- data/lib/x_twitter_scraper/models/x/user_remove_follower_params.rb +31 -0
- data/lib/x_twitter_scraper/models/x/user_remove_follower_response.rb +18 -0
- data/lib/x_twitter_scraper/models/x/user_retrieve_batch_params.rb +6 -2
- data/lib/x_twitter_scraper/models/x/user_retrieve_batch_response.rb +83 -0
- data/lib/x_twitter_scraper/models/x/user_retrieve_followers_params.rb +25 -3
- data/lib/x_twitter_scraper/models/x/user_retrieve_followers_you_know_params.rb +16 -1
- data/lib/x_twitter_scraper/models/x/user_retrieve_following_params.rb +25 -3
- data/lib/x_twitter_scraper/models/x/user_retrieve_likes_params.rb +268 -1
- data/lib/x_twitter_scraper/models/x/user_retrieve_media_params.rb +268 -1
- data/lib/x_twitter_scraper/models/x/user_retrieve_mentions_params.rb +268 -1
- data/lib/x_twitter_scraper/models/x/user_retrieve_replies_params.rb +306 -0
- data/lib/x_twitter_scraper/models/x/user_retrieve_tweets_params.rb +268 -1
- data/lib/x_twitter_scraper/models/x/user_retrieve_verified_followers_params.rb +16 -1
- data/lib/x_twitter_scraper/models/x/write_action_retrieve_params.rb +22 -0
- data/lib/x_twitter_scraper/models/x/write_action_retrieve_response.rb +173 -0
- data/lib/x_twitter_scraper/models/x/x_account.rb +56 -2
- data/lib/x_twitter_scraper/models/x/x_account_detail.rb +23 -8
- data/lib/x_twitter_scraper/models/x_get_article_response.rb +189 -11
- data/lib/x_twitter_scraper/models/x_get_home_timeline_params.rb +2 -2
- data/lib/x_twitter_scraper/models/x_get_notifications_params.rb +3 -3
- data/lib/x_twitter_scraper/models/x_get_trends_params.rb +17 -1
- data/lib/x_twitter_scraper/models.rb +21 -21
- data/lib/x_twitter_scraper/resources/account.rb +1 -3
- data/lib/x_twitter_scraper/resources/compose.rb +1 -1
- data/lib/x_twitter_scraper/resources/credits.rb +54 -4
- data/lib/x_twitter_scraper/resources/drafts.rb +7 -4
- data/lib/x_twitter_scraper/resources/draws.rb +14 -8
- data/lib/x_twitter_scraper/resources/events.rb +7 -5
- data/lib/x_twitter_scraper/resources/extractions.rb +145 -20
- data/lib/x_twitter_scraper/resources/guest_wallets.rb +108 -0
- data/lib/x_twitter_scraper/resources/monitors/keywords.rb +128 -0
- data/lib/x_twitter_scraper/resources/monitors.rb +13 -5
- data/lib/x_twitter_scraper/resources/radar.rb +8 -6
- data/lib/x_twitter_scraper/resources/styles.rb +1 -1
- data/lib/x_twitter_scraper/resources/subscribe.rb +9 -4
- data/lib/x_twitter_scraper/resources/support/tickets.rb +3 -3
- data/lib/x_twitter_scraper/resources/trends.rb +7 -4
- data/lib/x_twitter_scraper/resources/webhooks.rb +25 -5
- data/lib/x_twitter_scraper/resources/x/account_connection_challenges.rb +41 -0
- data/lib/x_twitter_scraper/resources/x/accounts.rb +7 -13
- data/lib/x_twitter_scraper/resources/x/bookmarks.rb +1 -1
- data/lib/x_twitter_scraper/resources/x/communities/join.rb +6 -6
- data/lib/x_twitter_scraper/resources/x/communities/tweets.rb +27 -10
- data/lib/x_twitter_scraper/resources/x/communities.rb +27 -11
- data/lib/x_twitter_scraper/resources/x/dm.rb +9 -6
- data/lib/x_twitter_scraper/resources/x/followers.rb +4 -4
- data/lib/x_twitter_scraper/resources/x/lists.rb +22 -9
- data/lib/x_twitter_scraper/resources/x/media.rb +11 -9
- data/lib/x_twitter_scraper/resources/x/profile.rb +6 -6
- data/lib/x_twitter_scraper/resources/x/tweets.rb +282 -28
- data/lib/x_twitter_scraper/resources/x/users.rb +485 -34
- data/lib/x_twitter_scraper/resources/x/write_actions.rb +37 -0
- data/lib/x_twitter_scraper/resources/x.rb +33 -13
- data/lib/x_twitter_scraper/version.rb +1 -1
- data/lib/x_twitter_scraper.rb +41 -27
- data/rbi/x_twitter_scraper/client.rbi +14 -22
- data/rbi/x_twitter_scraper/models/account_retrieve_response.rbi +181 -23
- data/rbi/x_twitter_scraper/models/content_disclosure.rbi +149 -0
- data/rbi/x_twitter_scraper/models/{integration_retrieve_params.rbi → credit_redirect_topup_checkout_params.rbi} +14 -6
- data/rbi/x_twitter_scraper/models/credit_retrieve_balance_response.rbi +35 -9
- data/rbi/x_twitter_scraper/models/{integration_list_deliveries_params.rbi → credit_retrieve_topup_status_params.rbi} +8 -17
- data/rbi/x_twitter_scraper/models/credit_retrieve_topup_status_response.rbi +107 -0
- data/rbi/x_twitter_scraper/models/credit_topup_balance_params.rbi +20 -6
- data/rbi/x_twitter_scraper/models/credit_topup_balance_response.rbi +19 -5
- data/rbi/x_twitter_scraper/models/draft_list_params.rbi +8 -2
- data/rbi/x_twitter_scraper/models/draw_detail.rbi +2 -0
- data/rbi/x_twitter_scraper/models/draw_export_params.rbi +3 -12
- data/rbi/x_twitter_scraper/models/draw_list_item.rbi +2 -0
- data/rbi/x_twitter_scraper/models/draw_list_params.rbi +16 -10
- data/rbi/x_twitter_scraper/models/draw_run_response.rbi +15 -1
- data/rbi/x_twitter_scraper/models/embedded_tweet.rbi +255 -0
- data/rbi/x_twitter_scraper/models/error.rbi +865 -87
- data/rbi/x_twitter_scraper/models/event.rbi +63 -4
- data/rbi/x_twitter_scraper/models/event_detail.rbi +73 -5
- data/rbi/x_twitter_scraper/models/event_list_params.rbi +16 -10
- data/rbi/x_twitter_scraper/models/event_type.rbi +58 -4
- data/rbi/x_twitter_scraper/models/extraction_estimate_cost_params.rbi +580 -2
- data/rbi/x_twitter_scraper/models/extraction_estimate_cost_response.rbi +98 -14
- data/rbi/x_twitter_scraper/models/extraction_export_results_params.rbi +3 -13
- data/rbi/x_twitter_scraper/models/extraction_job.rbi +15 -0
- data/rbi/x_twitter_scraper/models/extraction_list_params.rbi +31 -10
- data/rbi/x_twitter_scraper/models/extraction_retrieve_params.rbi +8 -8
- data/rbi/x_twitter_scraper/models/extraction_retrieve_response.rbi +2 -2
- data/rbi/x_twitter_scraper/models/extraction_run_params.rbi +546 -2
- data/rbi/x_twitter_scraper/models/extraction_run_response.rbi +15 -0
- data/rbi/x_twitter_scraper/models/guest_wallet_amount.rbi +39 -0
- data/rbi/x_twitter_scraper/models/guest_wallet_create_params.rbi +58 -0
- data/rbi/x_twitter_scraper/models/guest_wallet_create_response.rbi +243 -0
- data/rbi/x_twitter_scraper/models/{integration_list_params.rbi → guest_wallet_retrieve_status_params.rbi} +2 -2
- data/rbi/x_twitter_scraper/models/guest_wallet_retrieve_status_response.rbi +402 -0
- data/rbi/x_twitter_scraper/models/guest_wallet_topup_params.rbi +58 -0
- data/rbi/x_twitter_scraper/models/guest_wallet_topup_response.rbi +293 -0
- data/rbi/x_twitter_scraper/models/monitor.rbi +8 -0
- data/rbi/x_twitter_scraper/models/monitor_create_response.rbi +14 -0
- data/rbi/x_twitter_scraper/models/monitors/keyword_create_params.rbi +56 -0
- data/rbi/x_twitter_scraper/models/monitors/keyword_create_response.rbi +75 -0
- data/rbi/x_twitter_scraper/models/monitors/keyword_deactivate_params.rbi +40 -0
- data/rbi/x_twitter_scraper/models/monitors/keyword_deactivate_response.rbi +28 -0
- data/rbi/x_twitter_scraper/models/monitors/keyword_list_params.rbi +34 -0
- data/rbi/x_twitter_scraper/models/monitors/keyword_list_response.rbi +123 -0
- data/rbi/x_twitter_scraper/models/monitors/keyword_retrieve_params.rbi +40 -0
- data/rbi/x_twitter_scraper/models/monitors/keyword_retrieve_response.rbi +75 -0
- data/rbi/x_twitter_scraper/models/monitors/keyword_update_params.rbi +72 -0
- data/rbi/x_twitter_scraper/models/monitors/keyword_update_response.rbi +75 -0
- data/rbi/x_twitter_scraper/models/paginated_tweets.rbi +8 -4
- data/rbi/x_twitter_scraper/models/paginated_users.rbi +8 -4
- data/rbi/x_twitter_scraper/models/radar_item.rbi +131 -6
- data/rbi/x_twitter_scraper/models/radar_retrieve_trending_topics_params.rbi +109 -20
- data/rbi/x_twitter_scraper/models/radar_retrieve_trending_topics_response.rbi +22 -5
- data/rbi/x_twitter_scraper/models/search_tweet.rbi +316 -0
- data/rbi/x_twitter_scraper/models/subscribe_create_params.rbi +62 -2
- data/rbi/x_twitter_scraper/models/subscribe_create_response.rbi +10 -23
- data/rbi/x_twitter_scraper/models/trend_list_params.rbi +4 -4
- data/rbi/x_twitter_scraper/models/tweet_media.rbi +130 -0
- data/rbi/x_twitter_scraper/models/user_profile.rbi +346 -0
- data/rbi/x_twitter_scraper/models/webhook.rbi +57 -0
- data/rbi/x_twitter_scraper/models/webhook_create_response.rbi +2 -0
- data/rbi/x_twitter_scraper/models/{api_key_revoke_params.rbi → webhook_resume_params.rbi} +2 -2
- data/rbi/x_twitter_scraper/models/webhook_resume_response.rbi +55 -0
- data/rbi/x_twitter_scraper/models/x/account_connection_challenge_submit_params.rbi +54 -0
- data/rbi/x_twitter_scraper/models/x/account_connection_challenge_submit_response.rbi +131 -0
- data/rbi/x_twitter_scraper/models/x/account_create_params.rbi +0 -11
- data/rbi/x_twitter_scraper/models/x/account_create_response.rbi +79 -1
- data/rbi/x_twitter_scraper/models/x/account_reauth_params.rbi +11 -0
- data/rbi/x_twitter_scraper/models/x/account_reauth_response.rbi +96 -5
- data/rbi/x_twitter_scraper/models/x/bookmark_retrieve_folders_response.rbi +9 -1
- data/rbi/x_twitter_scraper/models/x/communities/join_create_response.rbi +30 -0
- data/rbi/x_twitter_scraper/models/x/communities/join_delete_all_response.rbi +30 -0
- data/rbi/x_twitter_scraper/models/x/communities/tweet_list_by_community_params.rbi +19 -0
- data/rbi/x_twitter_scraper/models/x/communities/tweet_list_params.rbi +85 -10
- data/rbi/x_twitter_scraper/models/x/community_retrieve_info_response.rbi +115 -0
- data/rbi/x_twitter_scraper/models/x/community_retrieve_members_params.rbi +15 -0
- data/rbi/x_twitter_scraper/models/x/community_retrieve_search_params.rbi +79 -4
- data/rbi/x_twitter_scraper/models/x/dm_retrieve_history_params.rbi +10 -0
- data/rbi/x_twitter_scraper/models/x/dm_retrieve_history_response.rbi +20 -13
- data/rbi/x_twitter_scraper/models/x/dm_send_params.rbi +2 -9
- data/rbi/x_twitter_scraper/models/x/follower_check_params.rbi +4 -4
- data/rbi/x_twitter_scraper/models/x/list_retrieve_followers_params.rbi +17 -0
- data/rbi/x_twitter_scraper/models/x/list_retrieve_members_params.rbi +11 -0
- data/rbi/x_twitter_scraper/models/x/list_retrieve_tweets_params.rbi +19 -0
- data/rbi/x_twitter_scraper/models/x/media_download_params.rbi +24 -2
- data/rbi/x_twitter_scraper/models/x/media_upload_params.rbi +9 -18
- data/rbi/x_twitter_scraper/models/x/media_upload_response.rbi +20 -5
- data/rbi/x_twitter_scraper/models/x/profile_update_avatar_params.rbi +9 -9
- data/rbi/x_twitter_scraper/models/x/profile_update_banner_params.rbi +9 -9
- data/rbi/x_twitter_scraper/models/x/tweet_author.rbi +8 -39
- data/rbi/x_twitter_scraper/models/x/tweet_create_params.rbi +23 -12
- data/rbi/x_twitter_scraper/models/x/tweet_create_response.rbi +41 -5
- data/rbi/x_twitter_scraper/models/x/tweet_detail.rbi +156 -115
- data/rbi/x_twitter_scraper/models/x/tweet_get_favoriters_params.rbi +17 -0
- data/rbi/x_twitter_scraper/models/x/tweet_get_quotes_params.rbi +508 -0
- data/rbi/x_twitter_scraper/models/x/tweet_get_replies_params.rbi +512 -0
- data/rbi/x_twitter_scraper/models/x/tweet_get_retweeters_params.rbi +17 -0
- data/rbi/x_twitter_scraper/models/x/tweet_get_thread_params.rbi +19 -0
- data/rbi/x_twitter_scraper/models/x/tweet_retrieve_response.rbi +8 -4
- data/rbi/x_twitter_scraper/models/x/tweet_search_params.rbi +557 -7
- data/rbi/x_twitter_scraper/models/x/user_remove_follower_params.rbi +54 -0
- data/rbi/x_twitter_scraper/models/x/user_remove_follower_response.rbi +28 -0
- data/rbi/x_twitter_scraper/models/x/user_retrieve_batch_params.rbi +4 -2
- data/rbi/x_twitter_scraper/models/x/user_retrieve_batch_response.rbi +102 -0
- data/rbi/x_twitter_scraper/models/x/user_retrieve_followers_params.rbi +30 -2
- data/rbi/x_twitter_scraper/models/x/user_retrieve_followers_you_know_params.rbi +17 -0
- data/rbi/x_twitter_scraper/models/x/user_retrieve_following_params.rbi +30 -2
- data/rbi/x_twitter_scraper/models/x/user_retrieve_likes_params.rbi +520 -0
- data/rbi/x_twitter_scraper/models/x/user_retrieve_media_params.rbi +520 -0
- data/rbi/x_twitter_scraper/models/x/user_retrieve_mentions_params.rbi +523 -0
- data/rbi/x_twitter_scraper/models/x/user_retrieve_replies_params.rbi +591 -0
- data/rbi/x_twitter_scraper/models/x/user_retrieve_tweets_params.rbi +523 -0
- data/rbi/x_twitter_scraper/models/x/user_retrieve_verified_followers_params.rbi +17 -0
- data/rbi/x_twitter_scraper/models/x/write_action_retrieve_params.rbi +40 -0
- data/rbi/x_twitter_scraper/models/x/write_action_retrieve_response.rbi +313 -0
- data/rbi/x_twitter_scraper/models/x/x_account.rbi +87 -4
- data/rbi/x_twitter_scraper/models/x/x_account_detail.rbi +58 -10
- data/rbi/x_twitter_scraper/models/x_get_article_response.rbi +308 -12
- data/rbi/x_twitter_scraper/models/x_get_home_timeline_params.rbi +2 -2
- data/rbi/x_twitter_scraper/models/x_get_notifications_params.rbi +3 -3
- data/rbi/x_twitter_scraper/models/x_get_trends_params.rbi +30 -2
- data/rbi/x_twitter_scraper/models.rbi +24 -22
- data/rbi/x_twitter_scraper/resources/account.rbi +1 -1
- data/rbi/x_twitter_scraper/resources/compose.rbi +1 -1
- data/rbi/x_twitter_scraper/resources/credits.rbi +37 -5
- data/rbi/x_twitter_scraper/resources/drafts.rbi +7 -4
- data/rbi/x_twitter_scraper/resources/draws.rbi +14 -8
- data/rbi/x_twitter_scraper/resources/events.rbi +8 -5
- data/rbi/x_twitter_scraper/resources/extractions.rbi +210 -11
- data/rbi/x_twitter_scraper/resources/guest_wallets.rbi +76 -0
- data/rbi/x_twitter_scraper/resources/monitors/keywords.rbi +95 -0
- data/rbi/x_twitter_scraper/resources/monitors.rbi +12 -5
- data/rbi/x_twitter_scraper/resources/radar.rbi +12 -8
- data/rbi/x_twitter_scraper/resources/styles.rbi +1 -1
- data/rbi/x_twitter_scraper/resources/subscribe.rbi +9 -3
- data/rbi/x_twitter_scraper/resources/support/tickets.rbi +3 -3
- data/rbi/x_twitter_scraper/resources/trends.rbi +4 -4
- data/rbi/x_twitter_scraper/resources/webhooks.rbi +19 -5
- data/rbi/x_twitter_scraper/resources/x/account_connection_challenges.rbi +36 -0
- data/rbi/x_twitter_scraper/resources/x/accounts.rbi +6 -6
- data/rbi/x_twitter_scraper/resources/x/bookmarks.rbi +1 -1
- data/rbi/x_twitter_scraper/resources/x/communities/join.rbi +8 -4
- data/rbi/x_twitter_scraper/resources/x/communities/tweets.rbi +25 -7
- data/rbi/x_twitter_scraper/resources/x/communities.rbi +23 -7
- data/rbi/x_twitter_scraper/resources/x/dm.rbi +5 -2
- data/rbi/x_twitter_scraper/resources/x/followers.rbi +4 -4
- data/rbi/x_twitter_scraper/resources/x/lists.rbi +20 -4
- data/rbi/x_twitter_scraper/resources/x/media.rbi +13 -9
- data/rbi/x_twitter_scraper/resources/x/profile.rbi +8 -8
- data/rbi/x_twitter_scraper/resources/x/tweets.rbi +309 -16
- data/rbi/x_twitter_scraper/resources/x/users.rbi +520 -18
- data/rbi/x_twitter_scraper/resources/x/write_actions.rbi +31 -0
- data/rbi/x_twitter_scraper/resources/x.rbi +30 -12
- data/sig/x_twitter_scraper/client.rbs +2 -6
- data/sig/x_twitter_scraper/models/account_retrieve_response.rbs +106 -19
- data/sig/x_twitter_scraper/models/content_disclosure.rbs +78 -0
- data/sig/x_twitter_scraper/models/{api_key_create_params.rbs → credit_redirect_topup_checkout_params.rbs} +7 -8
- data/sig/x_twitter_scraper/models/credit_retrieve_balance_response.rbs +22 -12
- data/sig/x_twitter_scraper/models/{integration_list_deliveries_params.rbs → credit_retrieve_topup_status_params.rbs} +6 -12
- data/sig/x_twitter_scraper/models/credit_retrieve_topup_status_response.rbs +45 -0
- data/sig/x_twitter_scraper/models/credit_topup_balance_params.rbs +11 -4
- data/sig/x_twitter_scraper/models/credit_topup_balance_response.rbs +6 -4
- data/sig/x_twitter_scraper/models/draw_export_params.rbs +2 -6
- data/sig/x_twitter_scraper/models/draw_list_params.rbs +5 -5
- data/sig/x_twitter_scraper/models/embedded_tweet.rbs +187 -0
- data/sig/x_twitter_scraper/models/error.rbs +341 -54
- data/sig/x_twitter_scraper/models/event.rbs +34 -2
- data/sig/x_twitter_scraper/models/event_detail.rbs +34 -2
- data/sig/x_twitter_scraper/models/event_list_params.rbs +5 -5
- data/sig/x_twitter_scraper/models/event_type.rbs +34 -4
- data/sig/x_twitter_scraper/models/extraction_estimate_cost_params.rbs +269 -1
- data/sig/x_twitter_scraper/models/extraction_estimate_cost_response.rbs +46 -12
- data/sig/x_twitter_scraper/models/extraction_export_results_params.rbs +2 -6
- data/sig/x_twitter_scraper/models/extraction_job.rbs +6 -0
- data/sig/x_twitter_scraper/models/extraction_list_params.rbs +11 -5
- data/sig/x_twitter_scraper/models/extraction_retrieve_params.rbs +5 -5
- data/sig/x_twitter_scraper/models/extraction_run_params.rbs +269 -1
- data/sig/x_twitter_scraper/models/extraction_run_response.rbs +6 -0
- data/sig/x_twitter_scraper/models/guest_wallet_amount.rbs +15 -0
- data/sig/x_twitter_scraper/models/guest_wallet_create_params.rbs +32 -0
- data/sig/x_twitter_scraper/models/guest_wallet_create_response.rbs +125 -0
- data/sig/x_twitter_scraper/models/{api_key_list_params.rbs → guest_wallet_retrieve_status_params.rbs} +2 -2
- data/sig/x_twitter_scraper/models/guest_wallet_retrieve_status_response.rbs +163 -0
- data/sig/x_twitter_scraper/models/guest_wallet_topup_params.rbs +32 -0
- data/sig/x_twitter_scraper/models/guest_wallet_topup_response.rbs +146 -0
- data/sig/x_twitter_scraper/models/monitor.rbs +5 -0
- data/sig/x_twitter_scraper/models/monitor_create_response.rbs +10 -0
- data/sig/x_twitter_scraper/models/monitors/keyword_create_params.rbs +33 -0
- data/sig/x_twitter_scraper/models/monitors/keyword_create_response.rbs +47 -0
- data/sig/x_twitter_scraper/models/monitors/keyword_deactivate_params.rbs +25 -0
- data/sig/x_twitter_scraper/models/monitors/keyword_deactivate_response.rbs +15 -0
- data/sig/x_twitter_scraper/models/monitors/keyword_list_params.rbs +19 -0
- data/sig/x_twitter_scraper/models/monitors/keyword_list_response.rbs +69 -0
- data/sig/x_twitter_scraper/models/monitors/keyword_retrieve_params.rbs +25 -0
- data/sig/x_twitter_scraper/models/monitors/keyword_retrieve_response.rbs +47 -0
- data/sig/x_twitter_scraper/models/monitors/keyword_update_params.rbs +44 -0
- data/sig/x_twitter_scraper/models/monitors/keyword_update_response.rbs +47 -0
- data/sig/x_twitter_scraper/models/paginated_tweets.rbs +4 -4
- data/sig/x_twitter_scraper/models/paginated_users.rbs +4 -4
- data/sig/x_twitter_scraper/models/radar_item.rbs +81 -8
- data/sig/x_twitter_scraper/models/radar_retrieve_trending_topics_params.rbs +44 -10
- data/sig/x_twitter_scraper/models/radar_retrieve_trending_topics_response.rbs +14 -4
- data/sig/x_twitter_scraper/models/search_tweet.rbs +205 -0
- data/sig/x_twitter_scraper/models/subscribe_create_params.rbs +28 -3
- data/sig/x_twitter_scraper/models/subscribe_create_response.rbs +10 -16
- data/sig/x_twitter_scraper/models/tweet_media.rbs +72 -0
- data/sig/x_twitter_scraper/models/user_profile.rbs +247 -0
- data/sig/x_twitter_scraper/models/webhook.rbs +27 -0
- data/sig/x_twitter_scraper/models/{api_key_revoke_params.rbs → webhook_resume_params.rbs} +2 -2
- data/sig/x_twitter_scraper/models/webhook_resume_response.rbs +26 -0
- data/sig/x_twitter_scraper/models/x/account_connection_challenge_submit_params.rbs +30 -0
- data/sig/x_twitter_scraper/models/x/account_connection_challenge_submit_response.rbs +68 -0
- data/sig/x_twitter_scraper/models/x/account_create_params.rbs +0 -7
- data/sig/x_twitter_scraper/models/x/account_create_response.rbs +37 -1
- data/sig/x_twitter_scraper/models/x/account_reauth_params.rbs +7 -1
- data/sig/x_twitter_scraper/models/x/account_reauth_response.rbs +51 -3
- data/sig/x_twitter_scraper/models/x/communities/join_create_response.rbs +17 -0
- data/sig/x_twitter_scraper/models/x/communities/join_delete_all_response.rbs +17 -0
- data/sig/x_twitter_scraper/models/x/communities/tweet_list_by_community_params.rbs +7 -1
- data/sig/x_twitter_scraper/models/x/communities/tweet_list_params.rbs +34 -5
- data/sig/x_twitter_scraper/models/x/community_retrieve_info_response.rbs +66 -0
- data/sig/x_twitter_scraper/models/x/community_retrieve_members_params.rbs +7 -1
- data/sig/x_twitter_scraper/models/x/community_retrieve_search_params.rbs +34 -5
- data/sig/x_twitter_scraper/models/x/dm_retrieve_history_params.rbs +5 -1
- data/sig/x_twitter_scraper/models/x/dm_retrieve_history_response.rbs +13 -10
- data/sig/x_twitter_scraper/models/x/dm_send_params.rbs +1 -8
- data/sig/x_twitter_scraper/models/x/list_retrieve_followers_params.rbs +7 -1
- data/sig/x_twitter_scraper/models/x/list_retrieve_members_params.rbs +7 -1
- data/sig/x_twitter_scraper/models/x/list_retrieve_tweets_params.rbs +7 -0
- data/sig/x_twitter_scraper/models/x/media_download_params.rbs +18 -1
- data/sig/x_twitter_scraper/models/x/media_upload_params.rbs +4 -14
- data/sig/x_twitter_scraper/models/x/media_upload_response.rbs +10 -3
- data/sig/x_twitter_scraper/models/x/profile_update_avatar_params.rbs +4 -4
- data/sig/x_twitter_scraper/models/x/profile_update_banner_params.rbs +4 -4
- data/sig/x_twitter_scraper/models/x/tweet_author.rbs +8 -31
- data/sig/x_twitter_scraper/models/x/tweet_create_params.rbs +13 -11
- data/sig/x_twitter_scraper/models/x/tweet_create_response.rbs +30 -3
- data/sig/x_twitter_scraper/models/x/tweet_detail.rbs +99 -61
- data/sig/x_twitter_scraper/models/x/tweet_get_favoriters_params.rbs +7 -1
- data/sig/x_twitter_scraper/models/x/tweet_get_quotes_params.rbs +242 -1
- data/sig/x_twitter_scraper/models/x/tweet_get_replies_params.rbs +247 -1
- data/sig/x_twitter_scraper/models/x/tweet_get_retweeters_params.rbs +7 -1
- data/sig/x_twitter_scraper/models/x/tweet_get_thread_params.rbs +7 -1
- data/sig/x_twitter_scraper/models/x/tweet_search_params.rbs +277 -1
- data/sig/x_twitter_scraper/models/x/user_remove_follower_params.rbs +30 -0
- data/sig/x_twitter_scraper/models/x/user_remove_follower_response.rbs +15 -0
- data/sig/x_twitter_scraper/models/x/user_retrieve_batch_response.rbs +57 -0
- data/sig/x_twitter_scraper/models/x/user_retrieve_followers_params.rbs +19 -1
- data/sig/x_twitter_scraper/models/x/user_retrieve_followers_you_know_params.rbs +7 -1
- data/sig/x_twitter_scraper/models/x/user_retrieve_following_params.rbs +19 -1
- data/sig/x_twitter_scraper/models/x/user_retrieve_likes_params.rbs +245 -1
- data/sig/x_twitter_scraper/models/x/user_retrieve_media_params.rbs +245 -1
- data/sig/x_twitter_scraper/models/x/user_retrieve_mentions_params.rbs +247 -1
- data/sig/x_twitter_scraper/models/x/user_retrieve_replies_params.rbs +283 -0
- data/sig/x_twitter_scraper/models/x/user_retrieve_tweets_params.rbs +242 -1
- data/sig/x_twitter_scraper/models/x/user_retrieve_verified_followers_params.rbs +7 -1
- data/sig/x_twitter_scraper/models/x/write_action_retrieve_params.rbs +25 -0
- data/sig/x_twitter_scraper/models/x/write_action_retrieve_response.rbs +177 -0
- data/sig/x_twitter_scraper/models/x/x_account.rbs +41 -3
- data/sig/x_twitter_scraper/models/x/x_account_detail.rbs +26 -7
- data/sig/x_twitter_scraper/models/x_get_article_response.rbs +193 -6
- data/sig/x_twitter_scraper/models/x_get_trends_params.rbs +20 -3
- data/sig/x_twitter_scraper/models.rbs +21 -21
- data/sig/x_twitter_scraper/resources/credits.rbs +12 -1
- data/sig/x_twitter_scraper/resources/draws.rbs +2 -2
- data/sig/x_twitter_scraper/resources/events.rbs +1 -1
- data/sig/x_twitter_scraper/resources/extractions.rbs +61 -3
- data/sig/x_twitter_scraper/resources/guest_wallets.rbs +25 -0
- data/sig/x_twitter_scraper/resources/monitors/keywords.rbs +36 -0
- data/sig/x_twitter_scraper/resources/monitors.rbs +2 -0
- data/sig/x_twitter_scraper/resources/radar.rbs +3 -2
- data/sig/x_twitter_scraper/resources/subscribe.rbs +1 -0
- data/sig/x_twitter_scraper/resources/webhooks.rbs +5 -0
- data/sig/x_twitter_scraper/resources/x/account_connection_challenges.rbs +15 -0
- data/sig/x_twitter_scraper/resources/x/accounts.rbs +1 -1
- data/sig/x_twitter_scraper/resources/x/communities/join.rbs +2 -2
- data/sig/x_twitter_scraper/resources/x/communities/tweets.rbs +4 -1
- data/sig/x_twitter_scraper/resources/x/communities.rbs +4 -1
- data/sig/x_twitter_scraper/resources/x/dm.rbs +1 -1
- data/sig/x_twitter_scraper/resources/x/lists.rbs +3 -0
- data/sig/x_twitter_scraper/resources/x/media.rbs +3 -2
- data/sig/x_twitter_scraper/resources/x/profile.rbs +2 -2
- data/sig/x_twitter_scraper/resources/x/tweets.rbs +88 -2
- data/sig/x_twitter_scraper/resources/x/users.rbs +151 -2
- data/sig/x_twitter_scraper/resources/x/write_actions.rbs +14 -0
- data/sig/x_twitter_scraper/resources/x.rbs +6 -0
- metadata +125 -82
- data/lib/x_twitter_scraper/models/api_key.rb +0 -47
- data/lib/x_twitter_scraper/models/api_key_create_params.rb +0 -20
- data/lib/x_twitter_scraper/models/api_key_create_response.rb +0 -40
- data/lib/x_twitter_scraper/models/api_key_list_params.rb +0 -14
- data/lib/x_twitter_scraper/models/api_key_list_response.rb +0 -16
- data/lib/x_twitter_scraper/models/api_key_revoke_response.rb +0 -16
- data/lib/x_twitter_scraper/models/integration.rb +0 -93
- data/lib/x_twitter_scraper/models/integration_create_params.rb +0 -58
- data/lib/x_twitter_scraper/models/integration_delete_params.rb +0 -20
- data/lib/x_twitter_scraper/models/integration_delete_response.rb +0 -16
- data/lib/x_twitter_scraper/models/integration_delivery.rb +0 -71
- data/lib/x_twitter_scraper/models/integration_list_deliveries_params.rb +0 -29
- data/lib/x_twitter_scraper/models/integration_list_deliveries_response.rb +0 -17
- data/lib/x_twitter_scraper/models/integration_list_response.rb +0 -16
- data/lib/x_twitter_scraper/models/integration_retrieve_params.rb +0 -20
- data/lib/x_twitter_scraper/models/integration_send_test_params.rb +0 -20
- data/lib/x_twitter_scraper/models/integration_send_test_response.rb +0 -16
- data/lib/x_twitter_scraper/models/integration_update_params.rb +0 -77
- data/lib/x_twitter_scraper/models/x/community_action_result.rb +0 -31
- data/lib/x_twitter_scraper/models/x/search_tweet.rb +0 -119
- data/lib/x_twitter_scraper/models/x/user_profile.rb +0 -80
- data/lib/x_twitter_scraper/resources/api_keys.rb +0 -77
- data/lib/x_twitter_scraper/resources/bot/platform_links.rb +0 -16
- data/lib/x_twitter_scraper/resources/bot.rb +0 -18
- data/lib/x_twitter_scraper/resources/integrations.rb +0 -182
- data/rbi/x_twitter_scraper/models/api_key.rbi +0 -69
- data/rbi/x_twitter_scraper/models/api_key_create_params.rbi +0 -41
- data/rbi/x_twitter_scraper/models/api_key_create_response.rbi +0 -56
- data/rbi/x_twitter_scraper/models/api_key_list_params.rbi +0 -32
- data/rbi/x_twitter_scraper/models/api_key_list_response.rbi +0 -30
- data/rbi/x_twitter_scraper/models/api_key_revoke_response.rbi +0 -26
- data/rbi/x_twitter_scraper/models/integration.rbi +0 -117
- data/rbi/x_twitter_scraper/models/integration_create_params.rbi +0 -95
- data/rbi/x_twitter_scraper/models/integration_delete_params.rbi +0 -38
- data/rbi/x_twitter_scraper/models/integration_delete_response.rbi +0 -26
- data/rbi/x_twitter_scraper/models/integration_delivery.rbi +0 -108
- data/rbi/x_twitter_scraper/models/integration_list_deliveries_response.rbi +0 -34
- data/rbi/x_twitter_scraper/models/integration_list_response.rbi +0 -34
- data/rbi/x_twitter_scraper/models/integration_send_test_params.rbi +0 -38
- data/rbi/x_twitter_scraper/models/integration_send_test_response.rbi +0 -26
- data/rbi/x_twitter_scraper/models/integration_update_params.rbi +0 -115
- data/rbi/x_twitter_scraper/models/x/community_action_result.rbi +0 -49
- data/rbi/x_twitter_scraper/models/x/search_tweet.rbi +0 -181
- data/rbi/x_twitter_scraper/models/x/user_profile.rbi +0 -125
- data/rbi/x_twitter_scraper/resources/api_keys.rbi +0 -46
- data/rbi/x_twitter_scraper/resources/bot/platform_links.rbi +0 -16
- data/rbi/x_twitter_scraper/resources/bot.rbi +0 -15
- data/rbi/x_twitter_scraper/resources/integrations.rbi +0 -133
- data/sig/x_twitter_scraper/models/api_key.rbs +0 -47
- data/sig/x_twitter_scraper/models/api_key_create_response.rbs +0 -40
- data/sig/x_twitter_scraper/models/api_key_list_response.rbs +0 -13
- data/sig/x_twitter_scraper/models/api_key_revoke_response.rbs +0 -13
- data/sig/x_twitter_scraper/models/integration.rbs +0 -78
- data/sig/x_twitter_scraper/models/integration_create_params.rbs +0 -51
- data/sig/x_twitter_scraper/models/integration_delete_params.rbs +0 -23
- data/sig/x_twitter_scraper/models/integration_delete_response.rbs +0 -13
- data/sig/x_twitter_scraper/models/integration_delivery.rbs +0 -75
- data/sig/x_twitter_scraper/models/integration_list_deliveries_response.rbs +0 -18
- data/sig/x_twitter_scraper/models/integration_list_params.rbs +0 -15
- data/sig/x_twitter_scraper/models/integration_list_response.rbs +0 -16
- data/sig/x_twitter_scraper/models/integration_retrieve_params.rbs +0 -23
- data/sig/x_twitter_scraper/models/integration_send_test_params.rbs +0 -23
- data/sig/x_twitter_scraper/models/integration_send_test_response.rbs +0 -13
- data/sig/x_twitter_scraper/models/integration_update_params.rbs +0 -77
- data/sig/x_twitter_scraper/models/x/community_action_result.rbs +0 -28
- data/sig/x_twitter_scraper/models/x/search_tweet.rbs +0 -121
- data/sig/x_twitter_scraper/models/x/user_profile.rbs +0 -88
- data/sig/x_twitter_scraper/resources/api_keys.rbs +0 -21
- data/sig/x_twitter_scraper/resources/bot/platform_links.rbs +0 -9
- data/sig/x_twitter_scraper/resources/bot.rbs +0 -9
- data/sig/x_twitter_scraper/resources/integrations.rbs +0 -52
|
@@ -36,6 +36,26 @@ module XTwitterScraper
|
|
|
36
36
|
sig { returns(Integer) }
|
|
37
37
|
attr_accessor :view_count
|
|
38
38
|
|
|
39
|
+
# Tweet author profile. The lookup route always includes follower count and
|
|
40
|
+
# verification state. Other profile fields appear when available.
|
|
41
|
+
sig { returns(T.nilable(XTwitterScraper::X::TweetAuthor)) }
|
|
42
|
+
attr_reader :author
|
|
43
|
+
|
|
44
|
+
sig { params(author: XTwitterScraper::X::TweetAuthor::OrHash).void }
|
|
45
|
+
attr_writer :author
|
|
46
|
+
|
|
47
|
+
# Content disclosure metadata shown by X when a tweet is labeled as paid
|
|
48
|
+
# partnership content or AI-generated media.
|
|
49
|
+
sig { returns(T.nilable(XTwitterScraper::ContentDisclosure)) }
|
|
50
|
+
attr_reader :content_disclosure
|
|
51
|
+
|
|
52
|
+
sig do
|
|
53
|
+
params(
|
|
54
|
+
content_disclosure: XTwitterScraper::ContentDisclosure::OrHash
|
|
55
|
+
).void
|
|
56
|
+
end
|
|
57
|
+
attr_writer :content_disclosure
|
|
58
|
+
|
|
39
59
|
# ID of the root tweet in the conversation thread
|
|
40
60
|
sig { returns(T.nilable(String)) }
|
|
41
61
|
attr_reader :conversation_id
|
|
@@ -49,6 +69,13 @@ module XTwitterScraper
|
|
|
49
69
|
sig { params(created_at: String).void }
|
|
50
70
|
attr_writer :created_at
|
|
51
71
|
|
|
72
|
+
# Start and end offsets for rendered tweet text
|
|
73
|
+
sig { returns(T.nilable(T::Array[Integer])) }
|
|
74
|
+
attr_reader :display_text_range
|
|
75
|
+
|
|
76
|
+
sig { params(display_text_range: T::Array[Integer]).void }
|
|
77
|
+
attr_writer :display_text_range
|
|
78
|
+
|
|
52
79
|
# Parsed entities from the tweet text (URLs, mentions, hashtags, media)
|
|
53
80
|
sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
|
|
54
81
|
attr_reader :entities
|
|
@@ -56,6 +83,34 @@ module XTwitterScraper
|
|
|
56
83
|
sig { params(entities: T::Hash[Symbol, T.anything]).void }
|
|
57
84
|
attr_writer :entities
|
|
58
85
|
|
|
86
|
+
# Tweet ID being replied to
|
|
87
|
+
sig { returns(T.nilable(String)) }
|
|
88
|
+
attr_reader :in_reply_to_id
|
|
89
|
+
|
|
90
|
+
sig { params(in_reply_to_id: String).void }
|
|
91
|
+
attr_writer :in_reply_to_id
|
|
92
|
+
|
|
93
|
+
# User ID being replied to
|
|
94
|
+
sig { returns(T.nilable(String)) }
|
|
95
|
+
attr_reader :in_reply_to_user_id
|
|
96
|
+
|
|
97
|
+
sig { params(in_reply_to_user_id: String).void }
|
|
98
|
+
attr_writer :in_reply_to_user_id
|
|
99
|
+
|
|
100
|
+
# Username being replied to
|
|
101
|
+
sig { returns(T.nilable(String)) }
|
|
102
|
+
attr_reader :in_reply_to_username
|
|
103
|
+
|
|
104
|
+
sig { params(in_reply_to_username: String).void }
|
|
105
|
+
attr_writer :in_reply_to_username
|
|
106
|
+
|
|
107
|
+
# Whether replies are limited for this tweet
|
|
108
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
109
|
+
attr_reader :is_limited_reply
|
|
110
|
+
|
|
111
|
+
sig { params(is_limited_reply: T::Boolean).void }
|
|
112
|
+
attr_writer :is_limited_reply
|
|
113
|
+
|
|
59
114
|
# Whether this is a Note Tweet (long-form post, up to 25,000 characters)
|
|
60
115
|
sig { returns(T.nilable(T::Boolean)) }
|
|
61
116
|
attr_reader :is_note_tweet
|
|
@@ -77,26 +132,44 @@ module XTwitterScraper
|
|
|
77
132
|
sig { params(is_reply: T::Boolean).void }
|
|
78
133
|
attr_writer :is_reply
|
|
79
134
|
|
|
135
|
+
# Tweet language code
|
|
136
|
+
sig { returns(T.nilable(String)) }
|
|
137
|
+
attr_reader :lang
|
|
138
|
+
|
|
139
|
+
sig { params(lang: String).void }
|
|
140
|
+
attr_writer :lang
|
|
141
|
+
|
|
80
142
|
# Attached media items, omitted when the tweet has no media
|
|
81
|
-
sig
|
|
82
|
-
returns(T.nilable(T::Array[XTwitterScraper::X::TweetDetail::Media]))
|
|
83
|
-
end
|
|
143
|
+
sig { returns(T.nilable(T::Array[XTwitterScraper::TweetMedia])) }
|
|
84
144
|
attr_reader :media
|
|
85
145
|
|
|
86
146
|
sig do
|
|
87
|
-
params(
|
|
88
|
-
media: T::Array[XTwitterScraper::X::TweetDetail::Media::OrHash]
|
|
89
|
-
).void
|
|
147
|
+
params(media: T::Array[XTwitterScraper::TweetMedia::OrHash]).void
|
|
90
148
|
end
|
|
91
149
|
attr_writer :media
|
|
92
150
|
|
|
93
|
-
#
|
|
94
|
-
|
|
151
|
+
# Quoted or retweeted tweet context. Every object includes id, text, and
|
|
152
|
+
# engagement metrics. A zero metric can mean X did not report the count. Author,
|
|
153
|
+
# media, and conversation fields appear when available.
|
|
154
|
+
sig { returns(T.nilable(XTwitterScraper::EmbeddedTweet)) }
|
|
95
155
|
attr_reader :quoted_tweet
|
|
96
156
|
|
|
97
|
-
sig
|
|
157
|
+
sig do
|
|
158
|
+
params(quoted_tweet: XTwitterScraper::EmbeddedTweet::OrHash).void
|
|
159
|
+
end
|
|
98
160
|
attr_writer :quoted_tweet
|
|
99
161
|
|
|
162
|
+
# Quoted or retweeted tweet context. Every object includes id, text, and
|
|
163
|
+
# engagement metrics. A zero metric can mean X did not report the count. Author,
|
|
164
|
+
# media, and conversation fields appear when available.
|
|
165
|
+
sig { returns(T.nilable(XTwitterScraper::EmbeddedTweet)) }
|
|
166
|
+
attr_reader :retweeted_tweet
|
|
167
|
+
|
|
168
|
+
sig do
|
|
169
|
+
params(retweeted_tweet: XTwitterScraper::EmbeddedTweet::OrHash).void
|
|
170
|
+
end
|
|
171
|
+
attr_writer :retweeted_tweet
|
|
172
|
+
|
|
100
173
|
# Client application used to post this tweet
|
|
101
174
|
sig { returns(T.nilable(String)) }
|
|
102
175
|
attr_reader :source
|
|
@@ -104,7 +177,22 @@ module XTwitterScraper
|
|
|
104
177
|
sig { params(source: String).void }
|
|
105
178
|
attr_writer :source
|
|
106
179
|
|
|
107
|
-
#
|
|
180
|
+
# Tweet result type
|
|
181
|
+
sig { returns(T.nilable(String)) }
|
|
182
|
+
attr_reader :type
|
|
183
|
+
|
|
184
|
+
sig { params(type: String).void }
|
|
185
|
+
attr_writer :type
|
|
186
|
+
|
|
187
|
+
# Tweet permalink URL
|
|
188
|
+
sig { returns(T.nilable(String)) }
|
|
189
|
+
attr_reader :url
|
|
190
|
+
|
|
191
|
+
sig { params(url: String).void }
|
|
192
|
+
attr_writer :url
|
|
193
|
+
|
|
194
|
+
# Full tweet with text, engagement metrics, media, and metadata. A zero metric can
|
|
195
|
+
# mean X did not report the count.
|
|
108
196
|
sig do
|
|
109
197
|
params(
|
|
110
198
|
id: String,
|
|
@@ -115,15 +203,26 @@ module XTwitterScraper
|
|
|
115
203
|
retweet_count: Integer,
|
|
116
204
|
text: String,
|
|
117
205
|
view_count: Integer,
|
|
206
|
+
author: XTwitterScraper::X::TweetAuthor::OrHash,
|
|
207
|
+
content_disclosure: XTwitterScraper::ContentDisclosure::OrHash,
|
|
118
208
|
conversation_id: String,
|
|
119
209
|
created_at: String,
|
|
210
|
+
display_text_range: T::Array[Integer],
|
|
120
211
|
entities: T::Hash[Symbol, T.anything],
|
|
212
|
+
in_reply_to_id: String,
|
|
213
|
+
in_reply_to_user_id: String,
|
|
214
|
+
in_reply_to_username: String,
|
|
215
|
+
is_limited_reply: T::Boolean,
|
|
121
216
|
is_note_tweet: T::Boolean,
|
|
122
217
|
is_quote_status: T::Boolean,
|
|
123
218
|
is_reply: T::Boolean,
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
219
|
+
lang: String,
|
|
220
|
+
media: T::Array[XTwitterScraper::TweetMedia::OrHash],
|
|
221
|
+
quoted_tweet: XTwitterScraper::EmbeddedTweet::OrHash,
|
|
222
|
+
retweeted_tweet: XTwitterScraper::EmbeddedTweet::OrHash,
|
|
223
|
+
source: String,
|
|
224
|
+
type: String,
|
|
225
|
+
url: String
|
|
127
226
|
).returns(T.attached_class)
|
|
128
227
|
end
|
|
129
228
|
def self.new(
|
|
@@ -135,23 +234,51 @@ module XTwitterScraper
|
|
|
135
234
|
retweet_count:,
|
|
136
235
|
text:,
|
|
137
236
|
view_count:,
|
|
237
|
+
# Tweet author profile. The lookup route always includes follower count and
|
|
238
|
+
# verification state. Other profile fields appear when available.
|
|
239
|
+
author: nil,
|
|
240
|
+
# Content disclosure metadata shown by X when a tweet is labeled as paid
|
|
241
|
+
# partnership content or AI-generated media.
|
|
242
|
+
content_disclosure: nil,
|
|
138
243
|
# ID of the root tweet in the conversation thread
|
|
139
244
|
conversation_id: nil,
|
|
140
245
|
created_at: nil,
|
|
246
|
+
# Start and end offsets for rendered tweet text
|
|
247
|
+
display_text_range: nil,
|
|
141
248
|
# Parsed entities from the tweet text (URLs, mentions, hashtags, media)
|
|
142
249
|
entities: nil,
|
|
250
|
+
# Tweet ID being replied to
|
|
251
|
+
in_reply_to_id: nil,
|
|
252
|
+
# User ID being replied to
|
|
253
|
+
in_reply_to_user_id: nil,
|
|
254
|
+
# Username being replied to
|
|
255
|
+
in_reply_to_username: nil,
|
|
256
|
+
# Whether replies are limited for this tweet
|
|
257
|
+
is_limited_reply: nil,
|
|
143
258
|
# Whether this is a Note Tweet (long-form post, up to 25,000 characters)
|
|
144
259
|
is_note_tweet: nil,
|
|
145
260
|
# Whether this tweet quotes another tweet
|
|
146
261
|
is_quote_status: nil,
|
|
147
262
|
# Whether this tweet is a reply to another tweet
|
|
148
263
|
is_reply: nil,
|
|
264
|
+
# Tweet language code
|
|
265
|
+
lang: nil,
|
|
149
266
|
# Attached media items, omitted when the tweet has no media
|
|
150
267
|
media: nil,
|
|
151
|
-
#
|
|
268
|
+
# Quoted or retweeted tweet context. Every object includes id, text, and
|
|
269
|
+
# engagement metrics. A zero metric can mean X did not report the count. Author,
|
|
270
|
+
# media, and conversation fields appear when available.
|
|
152
271
|
quoted_tweet: nil,
|
|
272
|
+
# Quoted or retweeted tweet context. Every object includes id, text, and
|
|
273
|
+
# engagement metrics. A zero metric can mean X did not report the count. Author,
|
|
274
|
+
# media, and conversation fields appear when available.
|
|
275
|
+
retweeted_tweet: nil,
|
|
153
276
|
# Client application used to post this tweet
|
|
154
|
-
source: nil
|
|
277
|
+
source: nil,
|
|
278
|
+
# Tweet result type
|
|
279
|
+
type: nil,
|
|
280
|
+
# Tweet permalink URL
|
|
281
|
+
url: nil
|
|
155
282
|
)
|
|
156
283
|
end
|
|
157
284
|
|
|
@@ -166,117 +293,31 @@ module XTwitterScraper
|
|
|
166
293
|
retweet_count: Integer,
|
|
167
294
|
text: String,
|
|
168
295
|
view_count: Integer,
|
|
296
|
+
author: XTwitterScraper::X::TweetAuthor,
|
|
297
|
+
content_disclosure: XTwitterScraper::ContentDisclosure,
|
|
169
298
|
conversation_id: String,
|
|
170
299
|
created_at: String,
|
|
300
|
+
display_text_range: T::Array[Integer],
|
|
171
301
|
entities: T::Hash[Symbol, T.anything],
|
|
302
|
+
in_reply_to_id: String,
|
|
303
|
+
in_reply_to_user_id: String,
|
|
304
|
+
in_reply_to_username: String,
|
|
305
|
+
is_limited_reply: T::Boolean,
|
|
172
306
|
is_note_tweet: T::Boolean,
|
|
173
307
|
is_quote_status: T::Boolean,
|
|
174
308
|
is_reply: T::Boolean,
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
309
|
+
lang: String,
|
|
310
|
+
media: T::Array[XTwitterScraper::TweetMedia],
|
|
311
|
+
quoted_tweet: XTwitterScraper::EmbeddedTweet,
|
|
312
|
+
retweeted_tweet: XTwitterScraper::EmbeddedTweet,
|
|
313
|
+
source: String,
|
|
314
|
+
type: String,
|
|
315
|
+
url: String
|
|
178
316
|
}
|
|
179
317
|
)
|
|
180
318
|
end
|
|
181
319
|
def to_hash
|
|
182
320
|
end
|
|
183
|
-
|
|
184
|
-
class Media < XTwitterScraper::Internal::Type::BaseModel
|
|
185
|
-
OrHash =
|
|
186
|
-
T.type_alias do
|
|
187
|
-
T.any(
|
|
188
|
-
XTwitterScraper::X::TweetDetail::Media,
|
|
189
|
-
XTwitterScraper::Internal::AnyHash
|
|
190
|
-
)
|
|
191
|
-
end
|
|
192
|
-
|
|
193
|
-
sig { returns(T.nilable(String)) }
|
|
194
|
-
attr_reader :media_url
|
|
195
|
-
|
|
196
|
-
sig { params(media_url: String).void }
|
|
197
|
-
attr_writer :media_url
|
|
198
|
-
|
|
199
|
-
sig do
|
|
200
|
-
returns(
|
|
201
|
-
T.nilable(
|
|
202
|
-
XTwitterScraper::X::TweetDetail::Media::Type::TaggedSymbol
|
|
203
|
-
)
|
|
204
|
-
)
|
|
205
|
-
end
|
|
206
|
-
attr_reader :type
|
|
207
|
-
|
|
208
|
-
sig do
|
|
209
|
-
params(
|
|
210
|
-
type: XTwitterScraper::X::TweetDetail::Media::Type::OrSymbol
|
|
211
|
-
).void
|
|
212
|
-
end
|
|
213
|
-
attr_writer :type
|
|
214
|
-
|
|
215
|
-
sig { returns(T.nilable(String)) }
|
|
216
|
-
attr_reader :url
|
|
217
|
-
|
|
218
|
-
sig { params(url: String).void }
|
|
219
|
-
attr_writer :url
|
|
220
|
-
|
|
221
|
-
sig do
|
|
222
|
-
params(
|
|
223
|
-
media_url: String,
|
|
224
|
-
type: XTwitterScraper::X::TweetDetail::Media::Type::OrSymbol,
|
|
225
|
-
url: String
|
|
226
|
-
).returns(T.attached_class)
|
|
227
|
-
end
|
|
228
|
-
def self.new(media_url: nil, type: nil, url: nil)
|
|
229
|
-
end
|
|
230
|
-
|
|
231
|
-
sig do
|
|
232
|
-
override.returns(
|
|
233
|
-
{
|
|
234
|
-
media_url: String,
|
|
235
|
-
type:
|
|
236
|
-
XTwitterScraper::X::TweetDetail::Media::Type::TaggedSymbol,
|
|
237
|
-
url: String
|
|
238
|
-
}
|
|
239
|
-
)
|
|
240
|
-
end
|
|
241
|
-
def to_hash
|
|
242
|
-
end
|
|
243
|
-
|
|
244
|
-
module Type
|
|
245
|
-
extend XTwitterScraper::Internal::Type::Enum
|
|
246
|
-
|
|
247
|
-
TaggedSymbol =
|
|
248
|
-
T.type_alias do
|
|
249
|
-
T.all(Symbol, XTwitterScraper::X::TweetDetail::Media::Type)
|
|
250
|
-
end
|
|
251
|
-
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
252
|
-
|
|
253
|
-
PHOTO =
|
|
254
|
-
T.let(
|
|
255
|
-
:photo,
|
|
256
|
-
XTwitterScraper::X::TweetDetail::Media::Type::TaggedSymbol
|
|
257
|
-
)
|
|
258
|
-
VIDEO =
|
|
259
|
-
T.let(
|
|
260
|
-
:video,
|
|
261
|
-
XTwitterScraper::X::TweetDetail::Media::Type::TaggedSymbol
|
|
262
|
-
)
|
|
263
|
-
ANIMATED_GIF =
|
|
264
|
-
T.let(
|
|
265
|
-
:animated_gif,
|
|
266
|
-
XTwitterScraper::X::TweetDetail::Media::Type::TaggedSymbol
|
|
267
|
-
)
|
|
268
|
-
|
|
269
|
-
sig do
|
|
270
|
-
override.returns(
|
|
271
|
-
T::Array[
|
|
272
|
-
XTwitterScraper::X::TweetDetail::Media::Type::TaggedSymbol
|
|
273
|
-
]
|
|
274
|
-
)
|
|
275
|
-
end
|
|
276
|
-
def self.values
|
|
277
|
-
end
|
|
278
|
-
end
|
|
279
|
-
end
|
|
280
321
|
end
|
|
281
322
|
end
|
|
282
323
|
end
|
|
@@ -25,10 +25,21 @@ module XTwitterScraper
|
|
|
25
25
|
sig { params(cursor: String).void }
|
|
26
26
|
attr_writer :cursor
|
|
27
27
|
|
|
28
|
+
# Maximum user profiles requested from this page (20-200, default 200). The
|
|
29
|
+
# response can contain fewer profiles because the source returned fewer or
|
|
30
|
+
# remaining credits cover fewer results. Keep requesting next_cursor while
|
|
31
|
+
# has_next_page is true. The deprecated limit and count aliases remain accepted.
|
|
32
|
+
sig { returns(T.nilable(Integer)) }
|
|
33
|
+
attr_reader :page_size
|
|
34
|
+
|
|
35
|
+
sig { params(page_size: Integer).void }
|
|
36
|
+
attr_writer :page_size
|
|
37
|
+
|
|
28
38
|
sig do
|
|
29
39
|
params(
|
|
30
40
|
id: String,
|
|
31
41
|
cursor: String,
|
|
42
|
+
page_size: Integer,
|
|
32
43
|
request_options: XTwitterScraper::RequestOptions::OrHash
|
|
33
44
|
).returns(T.attached_class)
|
|
34
45
|
end
|
|
@@ -36,6 +47,11 @@ module XTwitterScraper
|
|
|
36
47
|
id:,
|
|
37
48
|
# Pagination cursor for favoriters
|
|
38
49
|
cursor: nil,
|
|
50
|
+
# Maximum user profiles requested from this page (20-200, default 200). The
|
|
51
|
+
# response can contain fewer profiles because the source returned fewer or
|
|
52
|
+
# remaining credits cover fewer results. Keep requesting next_cursor while
|
|
53
|
+
# has_next_page is true. The deprecated limit and count aliases remain accepted.
|
|
54
|
+
page_size: nil,
|
|
39
55
|
request_options: {}
|
|
40
56
|
)
|
|
41
57
|
end
|
|
@@ -45,6 +61,7 @@ module XTwitterScraper
|
|
|
45
61
|
{
|
|
46
62
|
id: String,
|
|
47
63
|
cursor: String,
|
|
64
|
+
page_size: Integer,
|
|
48
65
|
request_options: XTwitterScraper::RequestOptions
|
|
49
66
|
}
|
|
50
67
|
)
|