x-twitter-scraper 0.4.2 → 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 +23 -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 +141 -84
- 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
|
@@ -8,7 +8,7 @@ module XTwitterScraper
|
|
|
8
8
|
#
|
|
9
9
|
# @overload retrieve(id, request_options: {})
|
|
10
10
|
#
|
|
11
|
-
# @param id [String] Resource ID
|
|
11
|
+
# @param id [String] Resource ID returned by the matching create or list endpoint.
|
|
12
12
|
#
|
|
13
13
|
# @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
14
14
|
#
|
|
@@ -24,15 +24,18 @@ module XTwitterScraper
|
|
|
24
24
|
)
|
|
25
25
|
end
|
|
26
26
|
|
|
27
|
+
# Some parameter documentations has been truncated, see
|
|
28
|
+
# {XTwitterScraper::Models::EventListParams} for more details.
|
|
29
|
+
#
|
|
27
30
|
# List events
|
|
28
31
|
#
|
|
29
|
-
# @overload list(
|
|
32
|
+
# @overload list(cursor: nil, event_type: nil, limit: nil, monitor_id: nil, request_options: {})
|
|
30
33
|
#
|
|
31
|
-
# @param
|
|
34
|
+
# @param cursor [String] Cursor for keyset pagination from prior response next_cursor
|
|
32
35
|
#
|
|
33
36
|
# @param event_type [Symbol, XTwitterScraper::Models::EventType] Filter events by type
|
|
34
37
|
#
|
|
35
|
-
# @param limit [Integer] Maximum number of items to return (1-100, default 50)
|
|
38
|
+
# @param limit [Integer] Maximum number of items to return (1-100, default 50). For paid per-result endpo
|
|
36
39
|
#
|
|
37
40
|
# @param monitor_id [String] Filter events by monitor ID
|
|
38
41
|
#
|
|
@@ -49,7 +52,6 @@ module XTwitterScraper
|
|
|
49
52
|
path: "events",
|
|
50
53
|
query: query.transform_keys(event_type: "eventType", monitor_id: "monitorId"),
|
|
51
54
|
model: XTwitterScraper::Models::EventListResponse,
|
|
52
|
-
security: {auth_api_key: true},
|
|
53
55
|
options: options
|
|
54
56
|
)
|
|
55
57
|
end
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
module XTwitterScraper
|
|
4
4
|
module Resources
|
|
5
|
-
# Bulk data extraction (
|
|
5
|
+
# Bulk data extraction (23 tool types)
|
|
6
6
|
class Extractions
|
|
7
7
|
# Get extraction results
|
|
8
8
|
#
|
|
9
|
-
# @overload retrieve(id,
|
|
9
|
+
# @overload retrieve(id, cursor: nil, limit: nil, request_options: {})
|
|
10
10
|
#
|
|
11
11
|
# @param id [String] Extraction public ID (UUID)
|
|
12
12
|
#
|
|
13
|
-
# @param
|
|
13
|
+
# @param cursor [String] Cursor for keyset pagination from prior response next_cursor
|
|
14
14
|
#
|
|
15
15
|
# @param limit [Integer] Maximum number of results to return (1-1000, default 100)
|
|
16
16
|
#
|
|
@@ -31,13 +31,16 @@ module XTwitterScraper
|
|
|
31
31
|
)
|
|
32
32
|
end
|
|
33
33
|
|
|
34
|
+
# Some parameter documentations has been truncated, see
|
|
35
|
+
# {XTwitterScraper::Models::ExtractionListParams} for more details.
|
|
36
|
+
#
|
|
34
37
|
# List extraction jobs
|
|
35
38
|
#
|
|
36
|
-
# @overload list(
|
|
39
|
+
# @overload list(cursor: nil, limit: nil, status: nil, tool_type: nil, request_options: {})
|
|
37
40
|
#
|
|
38
|
-
# @param
|
|
41
|
+
# @param cursor [String] Cursor for keyset pagination from prior response next_cursor
|
|
39
42
|
#
|
|
40
|
-
# @param limit [Integer] Maximum number of items to return (1-100, default 50)
|
|
43
|
+
# @param limit [Integer] Maximum number of items to return (1-100, default 50). For paid per-result endpo
|
|
41
44
|
#
|
|
42
45
|
# @param status [Symbol, XTwitterScraper::Models::ExtractionListParams::Status] Filter by job status
|
|
43
46
|
#
|
|
@@ -60,30 +63,91 @@ module XTwitterScraper
|
|
|
60
63
|
)
|
|
61
64
|
end
|
|
62
65
|
|
|
66
|
+
# Some parameter documentations has been truncated, see
|
|
67
|
+
# {XTwitterScraper::Models::ExtractionEstimateCostParams} for more details.
|
|
68
|
+
#
|
|
63
69
|
# Estimate extraction cost
|
|
64
70
|
#
|
|
65
|
-
# @overload estimate_cost(tool_type:, advanced_query: nil, exact_phrase: nil, exclude_words: nil, search_query: nil, target_community_id: nil, target_list_id: nil, target_space_id: nil, target_tweet_id: nil, target_username: nil, request_options: {})
|
|
71
|
+
# @overload estimate_cost(tool_type:, advanced_query: nil, any_words: nil, bounding_box: nil, cashtags: nil, conversation_id: nil, exact_phrase: nil, exclude_words: nil, from_user: nil, hashtags: nil, in_reply_to_tweet_id: nil, language: nil, list_id: nil, media_type: nil, mentioning: nil, min_faves: nil, min_quotes: nil, min_replies: nil, min_retweets: nil, place: nil, place_country: nil, point_radius: nil, quotes: nil, quotes_of_tweet_id: nil, replies: nil, results_limit: nil, retweets: nil, retweets_of_tweet_id: nil, search_query: nil, since_date: nil, target_community_id: nil, target_list_id: nil, target_space_id: nil, target_tweet_id: nil, target_username: nil, to_user: nil, until_date: nil, url: nil, verified_only: nil, request_options: {})
|
|
66
72
|
#
|
|
67
73
|
# @param tool_type [Symbol, XTwitterScraper::Models::ExtractionEstimateCostParams::ToolType] Identifier for the extraction tool used to run a job.
|
|
68
74
|
#
|
|
69
75
|
# @param advanced_query [String] Raw advanced query string appended to the estimate (tweet_search_extractor)
|
|
70
76
|
#
|
|
77
|
+
# @param any_words [String] Alternative words or quoted phrases for estimated results. Separate with spaces,
|
|
78
|
+
#
|
|
79
|
+
# @param bounding_box [String] Geo bounding box used for estimation, e.g. -74.1 40.6 -73.9 40.8 (tweet_search_e
|
|
80
|
+
#
|
|
81
|
+
# @param cashtags [String] Cashtags applied to the estimate, separated by spaces, commas, or lines.
|
|
82
|
+
#
|
|
83
|
+
# @param conversation_id [String] Conversation ID filter used for estimation (tweet_search_extractor)
|
|
84
|
+
#
|
|
71
85
|
# @param exact_phrase [String] Exact phrase filter for search estimation
|
|
72
86
|
#
|
|
73
|
-
# @param exclude_words [String] Words excluded from estimated
|
|
87
|
+
# @param exclude_words [String] Words or quoted phrases excluded from estimated results. Separate with spaces, c
|
|
88
|
+
#
|
|
89
|
+
# @param from_user [String] Estimate only tweets from this author username (tweet_search_extractor)
|
|
90
|
+
#
|
|
91
|
+
# @param hashtags [String] Hashtags applied to the estimate, separated by spaces, commas, or lines.
|
|
92
|
+
#
|
|
93
|
+
# @param in_reply_to_tweet_id [String] Estimate only replies to this tweet ID (tweet_search_extractor)
|
|
94
|
+
#
|
|
95
|
+
# @param language [String] Language code used for estimate filtering (tweet_search_extractor)
|
|
96
|
+
#
|
|
97
|
+
# @param list_id [String] Estimate search results within this list ID (tweet_search_extractor)
|
|
98
|
+
#
|
|
99
|
+
# @param media_type [Symbol, XTwitterScraper::Models::ExtractionEstimateCostParams::MediaType] Media type used for estimate filtering (tweet_search_extractor)
|
|
100
|
+
#
|
|
101
|
+
# @param mentioning [String] Estimate tweets mentioning this username (tweet_search_extractor)
|
|
102
|
+
#
|
|
103
|
+
# @param min_faves [Integer] Minimum likes threshold for estimated results (tweet_search_extractor)
|
|
104
|
+
#
|
|
105
|
+
# @param min_quotes [Integer] Minimum quote count threshold for estimated results (tweet_search_extractor)
|
|
106
|
+
#
|
|
107
|
+
# @param min_replies [Integer] Minimum replies threshold for estimated results (tweet_search_extractor)
|
|
74
108
|
#
|
|
75
|
-
# @param
|
|
109
|
+
# @param min_retweets [Integer] Minimum retweets threshold for estimated results (tweet_search_extractor)
|
|
76
110
|
#
|
|
77
|
-
# @param
|
|
111
|
+
# @param place [String] Estimate search results within this place ID (tweet_search_extractor)
|
|
78
112
|
#
|
|
79
|
-
# @param
|
|
113
|
+
# @param place_country [String] Estimate search results within this country code (tweet_search_extractor)
|
|
80
114
|
#
|
|
81
|
-
# @param
|
|
115
|
+
# @param point_radius [String] Geo point radius used for estimation, e.g. -73.99 40.73 25mi (tweet_search_extra
|
|
116
|
+
#
|
|
117
|
+
# @param quotes [Symbol, XTwitterScraper::Models::ExtractionEstimateCostParams::Quotes] Quote mode used for estimation (tweet_search_extractor)
|
|
118
|
+
#
|
|
119
|
+
# @param quotes_of_tweet_id [String] Estimate only quotes of this tweet ID (tweet_search_extractor)
|
|
120
|
+
#
|
|
121
|
+
# @param replies [Symbol, XTwitterScraper::Models::ExtractionEstimateCostParams::Replies] Reply mode used for estimation (tweet_search_extractor)
|
|
122
|
+
#
|
|
123
|
+
# @param results_limit [Integer] Maximum number of results to estimate. When set, the estimate caps projected res
|
|
124
|
+
#
|
|
125
|
+
# @param retweets [Symbol, XTwitterScraper::Models::ExtractionEstimateCostParams::Retweets] Retweet mode used for estimation (tweet_search_extractor)
|
|
126
|
+
#
|
|
127
|
+
# @param retweets_of_tweet_id [String] Estimate only retweets of this tweet ID (tweet_search_extractor)
|
|
128
|
+
#
|
|
129
|
+
# @param search_query [String] Required for tweet_search_extractor & community_search.
|
|
130
|
+
#
|
|
131
|
+
# @param since_date [Date] Estimate start date in YYYY-MM-DD format (tweet_search_extractor)
|
|
132
|
+
#
|
|
133
|
+
# @param target_community_id [String] Required for community_post_extractor & community_search.
|
|
134
|
+
#
|
|
135
|
+
# @param target_list_id [String] Required for list_follower_explorer, list_member_extractor & list_post_extractor
|
|
136
|
+
#
|
|
137
|
+
# @param target_space_id [String] Required for space_explorer.
|
|
82
138
|
#
|
|
83
139
|
# @param target_tweet_id [String]
|
|
84
140
|
#
|
|
85
141
|
# @param target_username [String]
|
|
86
142
|
#
|
|
143
|
+
# @param to_user [String] Estimate replies sent to this username (tweet_search_extractor)
|
|
144
|
+
#
|
|
145
|
+
# @param until_date [Date] Estimate end date in YYYY-MM-DD format (tweet_search_extractor)
|
|
146
|
+
#
|
|
147
|
+
# @param url [String] URL substring or domain filter used for estimation (tweet_search_extractor)
|
|
148
|
+
#
|
|
149
|
+
# @param verified_only [Boolean] Estimate only verified authors (tweet_search_extractor)
|
|
150
|
+
#
|
|
87
151
|
# @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
88
152
|
#
|
|
89
153
|
# @return [XTwitterScraper::Models::ExtractionEstimateCostResponse]
|
|
@@ -102,7 +166,7 @@ module XTwitterScraper
|
|
|
102
166
|
|
|
103
167
|
# Export extraction results
|
|
104
168
|
#
|
|
105
|
-
# @overload export_results(id, format_
|
|
169
|
+
# @overload export_results(id, format_:, request_options: {})
|
|
106
170
|
#
|
|
107
171
|
# @param id [String] Extraction public ID
|
|
108
172
|
#
|
|
@@ -113,7 +177,7 @@ module XTwitterScraper
|
|
|
113
177
|
# @return [StringIO]
|
|
114
178
|
#
|
|
115
179
|
# @see XTwitterScraper::Models::ExtractionExportResultsParams
|
|
116
|
-
def export_results(id, params
|
|
180
|
+
def export_results(id, params)
|
|
117
181
|
parsed, options = XTwitterScraper::ExtractionExportResultsParams.dump_request(params)
|
|
118
182
|
query = XTwitterScraper::Internal::Util.encode_query_params(parsed)
|
|
119
183
|
@client.request(
|
|
@@ -126,30 +190,91 @@ module XTwitterScraper
|
|
|
126
190
|
)
|
|
127
191
|
end
|
|
128
192
|
|
|
193
|
+
# Some parameter documentations has been truncated, see
|
|
194
|
+
# {XTwitterScraper::Models::ExtractionRunParams} for more details.
|
|
195
|
+
#
|
|
129
196
|
# Run extraction
|
|
130
197
|
#
|
|
131
|
-
# @overload run(tool_type:, advanced_query: nil, exact_phrase: nil, exclude_words: nil, search_query: nil, target_community_id: nil, target_list_id: nil, target_space_id: nil, target_tweet_id: nil, target_username: nil, request_options: {})
|
|
198
|
+
# @overload run(tool_type:, advanced_query: nil, any_words: nil, bounding_box: nil, cashtags: nil, conversation_id: nil, exact_phrase: nil, exclude_words: nil, from_user: nil, hashtags: nil, in_reply_to_tweet_id: nil, language: nil, list_id: nil, media_type: nil, mentioning: nil, min_faves: nil, min_quotes: nil, min_replies: nil, min_retweets: nil, place: nil, place_country: nil, point_radius: nil, quotes: nil, quotes_of_tweet_id: nil, replies: nil, results_limit: nil, retweets: nil, retweets_of_tweet_id: nil, search_query: nil, since_date: nil, target_community_id: nil, target_list_id: nil, target_space_id: nil, target_tweet_id: nil, target_username: nil, to_user: nil, until_date: nil, url: nil, verified_only: nil, request_options: {})
|
|
132
199
|
#
|
|
133
200
|
# @param tool_type [Symbol, XTwitterScraper::Models::ExtractionRunParams::ToolType] Identifier for the extraction tool used to run a job.
|
|
134
201
|
#
|
|
135
202
|
# @param advanced_query [String] Raw advanced search query appended as-is (tweet_search_extractor)
|
|
136
203
|
#
|
|
204
|
+
# @param any_words [String] Words or quoted phrases where any one can match. Separate with spaces, commas, o
|
|
205
|
+
#
|
|
206
|
+
# @param bounding_box [String] Geo bounding box, e.g. -74.1 40.6 -73.9 40.8 (tweet_search_extractor)
|
|
207
|
+
#
|
|
208
|
+
# @param cashtags [String] Cashtags separated by spaces, commas, or lines. (tweet_search_extractor)
|
|
209
|
+
#
|
|
210
|
+
# @param conversation_id [String] Conversation ID filter (tweet_search_extractor)
|
|
211
|
+
#
|
|
137
212
|
# @param exact_phrase [String] Exact phrase to match (tweet_search_extractor)
|
|
138
213
|
#
|
|
139
|
-
# @param exclude_words [String] Words to exclude
|
|
214
|
+
# @param exclude_words [String] Words or quoted phrases to exclude. Separate with spaces, commas, or lines. (twe
|
|
215
|
+
#
|
|
216
|
+
# @param from_user [String] Filter by author username (tweet_search_extractor)
|
|
217
|
+
#
|
|
218
|
+
# @param hashtags [String] Hashtags separated by spaces, commas, or lines. (tweet_search_extractor)
|
|
219
|
+
#
|
|
220
|
+
# @param in_reply_to_tweet_id [String] Only replies to this tweet ID (tweet_search_extractor)
|
|
221
|
+
#
|
|
222
|
+
# @param language [String] Language code filter (tweet_search_extractor)
|
|
223
|
+
#
|
|
224
|
+
# @param list_id [String] Search within a list ID (tweet_search_extractor)
|
|
225
|
+
#
|
|
226
|
+
# @param media_type [Symbol, XTwitterScraper::Models::ExtractionRunParams::MediaType] Media type filter (tweet_search_extractor)
|
|
227
|
+
#
|
|
228
|
+
# @param mentioning [String] Filter tweets mentioning a username (tweet_search_extractor)
|
|
229
|
+
#
|
|
230
|
+
# @param min_faves [Integer] Minimum likes threshold (tweet_search_extractor)
|
|
231
|
+
#
|
|
232
|
+
# @param min_quotes [Integer] Minimum quote count threshold (tweet_search_extractor)
|
|
233
|
+
#
|
|
234
|
+
# @param min_replies [Integer] Minimum replies threshold (tweet_search_extractor)
|
|
140
235
|
#
|
|
141
|
-
# @param
|
|
236
|
+
# @param min_retweets [Integer] Minimum retweets threshold (tweet_search_extractor)
|
|
142
237
|
#
|
|
143
|
-
# @param
|
|
238
|
+
# @param place [String] Search within a place ID (tweet_search_extractor)
|
|
144
239
|
#
|
|
145
|
-
# @param
|
|
240
|
+
# @param place_country [String] Search within a country code (tweet_search_extractor)
|
|
146
241
|
#
|
|
147
|
-
# @param
|
|
242
|
+
# @param point_radius [String] Geo point radius, e.g. -73.99 40.73 25mi (tweet_search_extractor)
|
|
243
|
+
#
|
|
244
|
+
# @param quotes [Symbol, XTwitterScraper::Models::ExtractionRunParams::Quotes] Quote mode (tweet_search_extractor)
|
|
245
|
+
#
|
|
246
|
+
# @param quotes_of_tweet_id [String] Only quotes of this tweet ID (tweet_search_extractor)
|
|
247
|
+
#
|
|
248
|
+
# @param replies [Symbol, XTwitterScraper::Models::ExtractionRunParams::Replies] Reply mode (tweet_search_extractor)
|
|
249
|
+
#
|
|
250
|
+
# @param results_limit [Integer] Maximum number of results to extract. When set, the extraction stops after reach
|
|
251
|
+
#
|
|
252
|
+
# @param retweets [Symbol, XTwitterScraper::Models::ExtractionRunParams::Retweets] Retweet mode (tweet_search_extractor)
|
|
253
|
+
#
|
|
254
|
+
# @param retweets_of_tweet_id [String] Only retweets of this tweet ID (tweet_search_extractor)
|
|
255
|
+
#
|
|
256
|
+
# @param search_query [String] Required for tweet_search_extractor & community_search.
|
|
257
|
+
#
|
|
258
|
+
# @param since_date [Date] Start date YYYY-MM-DD (tweet_search_extractor)
|
|
259
|
+
#
|
|
260
|
+
# @param target_community_id [String] Required for community_post_extractor & community_search.
|
|
261
|
+
#
|
|
262
|
+
# @param target_list_id [String] Required for list_follower_explorer, list_member_extractor & list_post_extractor
|
|
263
|
+
#
|
|
264
|
+
# @param target_space_id [String] Required for space_explorer.
|
|
148
265
|
#
|
|
149
266
|
# @param target_tweet_id [String]
|
|
150
267
|
#
|
|
151
268
|
# @param target_username [String]
|
|
152
269
|
#
|
|
270
|
+
# @param to_user [String] Filter replies sent to a username (tweet_search_extractor)
|
|
271
|
+
#
|
|
272
|
+
# @param until_date [Date] End date YYYY-MM-DD (tweet_search_extractor)
|
|
273
|
+
#
|
|
274
|
+
# @param url [String] URL substring or domain filter (tweet_search_extractor)
|
|
275
|
+
#
|
|
276
|
+
# @param verified_only [Boolean] Only verified authors (tweet_search_extractor)
|
|
277
|
+
#
|
|
153
278
|
# @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
154
279
|
#
|
|
155
280
|
# @return [XTwitterScraper::Models::ExtractionRunResponse]
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module XTwitterScraper
|
|
4
|
+
module Resources
|
|
5
|
+
# Accountless prepaid access for paid read endpoints
|
|
6
|
+
class GuestWallets
|
|
7
|
+
# Some parameter documentations has been truncated, see
|
|
8
|
+
# {XTwitterScraper::Models::GuestWalletCreateParams} for more details.
|
|
9
|
+
#
|
|
10
|
+
# Create a one-use Stripe-hosted checkout after the user explicitly confirms a
|
|
11
|
+
# $10-$250 USD amount. This request creates no charge by itself. The user opens
|
|
12
|
+
# checkout_url on Stripe. This endpoint returns the paid-read API key without
|
|
13
|
+
# requiring an Xquik account, email, dashboard, or Xquik web page. An idempotent
|
|
14
|
+
# replay returns the same key.
|
|
15
|
+
#
|
|
16
|
+
# @overload create(amount_minor:, idempotency_key:, currency: :usd, request_options: {})
|
|
17
|
+
#
|
|
18
|
+
# @param amount_minor [Integer] Body param: Confirmed USD amount in cents.
|
|
19
|
+
#
|
|
20
|
+
# @param idempotency_key [String] Header param: Generate a cryptographically random UUID v4. Reuse it only to retr
|
|
21
|
+
#
|
|
22
|
+
# @param currency [Symbol, :usd] Body param
|
|
23
|
+
#
|
|
24
|
+
# @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
25
|
+
#
|
|
26
|
+
# @return [XTwitterScraper::Models::GuestWalletCreateResponse]
|
|
27
|
+
#
|
|
28
|
+
# @see XTwitterScraper::Models::GuestWalletCreateParams
|
|
29
|
+
def create(params)
|
|
30
|
+
parsed, options = XTwitterScraper::GuestWalletCreateParams.dump_request(params)
|
|
31
|
+
header_params = {idempotency_key: "idempotency-key"}
|
|
32
|
+
@client.request(
|
|
33
|
+
method: :post,
|
|
34
|
+
path: "guest-wallets",
|
|
35
|
+
headers: parsed.slice(*header_params.keys).transform_keys(header_params),
|
|
36
|
+
body: parsed.except(*header_params.keys),
|
|
37
|
+
model: XTwitterScraper::Models::GuestWalletCreateResponse,
|
|
38
|
+
security: {},
|
|
39
|
+
options: options
|
|
40
|
+
)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
# Poll after Stripe payment. Use usable to decide whether paid reads can run. An
|
|
44
|
+
# active wallet can remain usable while a top-up is pending. A new wallet becomes
|
|
45
|
+
# usable only after verified webhook fulfillment. Send the guest key as
|
|
46
|
+
# Authorization: Bearer.
|
|
47
|
+
#
|
|
48
|
+
# @overload retrieve_status(request_options: {})
|
|
49
|
+
#
|
|
50
|
+
# @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
51
|
+
#
|
|
52
|
+
# @return [XTwitterScraper::Models::GuestWalletRetrieveStatusResponse]
|
|
53
|
+
#
|
|
54
|
+
# @see XTwitterScraper::Models::GuestWalletRetrieveStatusParams
|
|
55
|
+
def retrieve_status(params = {})
|
|
56
|
+
@client.request(
|
|
57
|
+
method: :get,
|
|
58
|
+
path: "guest-wallets/status",
|
|
59
|
+
model: XTwitterScraper::Models::GuestWalletRetrieveStatusResponse,
|
|
60
|
+
security: {auth_api_key: true},
|
|
61
|
+
options: params[:request_options]
|
|
62
|
+
)
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
# Some parameter documentations has been truncated, see
|
|
66
|
+
# {XTwitterScraper::Models::GuestWalletTopupParams} for more details.
|
|
67
|
+
#
|
|
68
|
+
# Create a one-use Stripe-hosted checkout for an existing paid-read guest key
|
|
69
|
+
# after the user explicitly confirms a $10-$250 USD amount. The key remains the
|
|
70
|
+
# same. This request creates no charge by itself and never redirects through an
|
|
71
|
+
# Xquik web page.
|
|
72
|
+
#
|
|
73
|
+
# @overload topup(amount_minor:, idempotency_key:, currency: :usd, request_options: {})
|
|
74
|
+
#
|
|
75
|
+
# @param amount_minor [Integer] Body param: Confirmed USD amount in cents.
|
|
76
|
+
#
|
|
77
|
+
# @param idempotency_key [String] Header param: Generate a cryptographically random UUID v4. Reuse it only to retr
|
|
78
|
+
#
|
|
79
|
+
# @param currency [Symbol, :usd] Body param
|
|
80
|
+
#
|
|
81
|
+
# @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
82
|
+
#
|
|
83
|
+
# @return [XTwitterScraper::Models::GuestWalletTopupResponse]
|
|
84
|
+
#
|
|
85
|
+
# @see XTwitterScraper::Models::GuestWalletTopupParams
|
|
86
|
+
def topup(params)
|
|
87
|
+
parsed, options = XTwitterScraper::GuestWalletTopupParams.dump_request(params)
|
|
88
|
+
header_params = {idempotency_key: "idempotency-key"}
|
|
89
|
+
@client.request(
|
|
90
|
+
method: :post,
|
|
91
|
+
path: "guest-wallets/topups",
|
|
92
|
+
headers: parsed.slice(*header_params.keys).transform_keys(header_params),
|
|
93
|
+
body: parsed.except(*header_params.keys),
|
|
94
|
+
model: XTwitterScraper::Models::GuestWalletTopupResponse,
|
|
95
|
+
security: {auth_api_key: true},
|
|
96
|
+
options: options
|
|
97
|
+
)
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
# @api private
|
|
101
|
+
#
|
|
102
|
+
# @param client [XTwitterScraper::Client]
|
|
103
|
+
def initialize(client:)
|
|
104
|
+
@client = client
|
|
105
|
+
end
|
|
106
|
+
end
|
|
107
|
+
end
|
|
108
|
+
end
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module XTwitterScraper
|
|
4
|
+
module Resources
|
|
5
|
+
class Monitors
|
|
6
|
+
# Real-time X account monitoring
|
|
7
|
+
class Keywords
|
|
8
|
+
# Creates an instant keyword monitor. Keyword monitors are unlimited. Active
|
|
9
|
+
# monitors check every 1 second and cost 21 credits per hour. Events and webhook
|
|
10
|
+
# deliveries are included. Creation requires available credits for the first
|
|
11
|
+
# hourly charge.
|
|
12
|
+
#
|
|
13
|
+
# @overload create(event_types:, query:, request_options: {})
|
|
14
|
+
#
|
|
15
|
+
# @param event_types [Array<Symbol, XTwitterScraper::Models::EventType>] Array of event types to subscribe to.
|
|
16
|
+
#
|
|
17
|
+
# @param query [String] X search query to monitor. Whitespace is normalized.
|
|
18
|
+
#
|
|
19
|
+
# @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
20
|
+
#
|
|
21
|
+
# @return [XTwitterScraper::Models::Monitors::KeywordCreateResponse]
|
|
22
|
+
#
|
|
23
|
+
# @see XTwitterScraper::Models::Monitors::KeywordCreateParams
|
|
24
|
+
def create(params)
|
|
25
|
+
parsed, options = XTwitterScraper::Monitors::KeywordCreateParams.dump_request(params)
|
|
26
|
+
@client.request(
|
|
27
|
+
method: :post,
|
|
28
|
+
path: "monitors/keywords",
|
|
29
|
+
body: parsed,
|
|
30
|
+
model: XTwitterScraper::Models::Monitors::KeywordCreateResponse,
|
|
31
|
+
options: options
|
|
32
|
+
)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# Get keyword monitor
|
|
36
|
+
#
|
|
37
|
+
# @overload retrieve(id, request_options: {})
|
|
38
|
+
#
|
|
39
|
+
# @param id [String] Resource ID returned by the matching create or list endpoint.
|
|
40
|
+
#
|
|
41
|
+
# @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
42
|
+
#
|
|
43
|
+
# @return [XTwitterScraper::Models::Monitors::KeywordRetrieveResponse]
|
|
44
|
+
#
|
|
45
|
+
# @see XTwitterScraper::Models::Monitors::KeywordRetrieveParams
|
|
46
|
+
def retrieve(id, params = {})
|
|
47
|
+
@client.request(
|
|
48
|
+
method: :get,
|
|
49
|
+
path: ["monitors/keywords/%1$s", id],
|
|
50
|
+
model: XTwitterScraper::Models::Monitors::KeywordRetrieveResponse,
|
|
51
|
+
options: params[:request_options]
|
|
52
|
+
)
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
# Update keyword monitor
|
|
56
|
+
#
|
|
57
|
+
# @overload update(id, event_types: nil, is_active: nil, request_options: {})
|
|
58
|
+
#
|
|
59
|
+
# @param id [String] Resource ID returned by the matching create or list endpoint.
|
|
60
|
+
#
|
|
61
|
+
# @param event_types [Array<Symbol, XTwitterScraper::Models::EventType>] Array of event types to subscribe to.
|
|
62
|
+
#
|
|
63
|
+
# @param is_active [Boolean]
|
|
64
|
+
#
|
|
65
|
+
# @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
66
|
+
#
|
|
67
|
+
# @return [XTwitterScraper::Models::Monitors::KeywordUpdateResponse]
|
|
68
|
+
#
|
|
69
|
+
# @see XTwitterScraper::Models::Monitors::KeywordUpdateParams
|
|
70
|
+
def update(id, params = {})
|
|
71
|
+
parsed, options = XTwitterScraper::Monitors::KeywordUpdateParams.dump_request(params)
|
|
72
|
+
@client.request(
|
|
73
|
+
method: :patch,
|
|
74
|
+
path: ["monitors/keywords/%1$s", id],
|
|
75
|
+
body: parsed,
|
|
76
|
+
model: XTwitterScraper::Models::Monitors::KeywordUpdateResponse,
|
|
77
|
+
options: options
|
|
78
|
+
)
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
# List keyword monitors
|
|
82
|
+
#
|
|
83
|
+
# @overload list(request_options: {})
|
|
84
|
+
#
|
|
85
|
+
# @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
86
|
+
#
|
|
87
|
+
# @return [XTwitterScraper::Models::Monitors::KeywordListResponse]
|
|
88
|
+
#
|
|
89
|
+
# @see XTwitterScraper::Models::Monitors::KeywordListParams
|
|
90
|
+
def list(params = {})
|
|
91
|
+
@client.request(
|
|
92
|
+
method: :get,
|
|
93
|
+
path: "monitors/keywords",
|
|
94
|
+
model: XTwitterScraper::Models::Monitors::KeywordListResponse,
|
|
95
|
+
options: params[:request_options]
|
|
96
|
+
)
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
# Delete keyword monitor
|
|
100
|
+
#
|
|
101
|
+
# @overload deactivate(id, request_options: {})
|
|
102
|
+
#
|
|
103
|
+
# @param id [String] Resource ID returned by the matching create or list endpoint.
|
|
104
|
+
#
|
|
105
|
+
# @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
106
|
+
#
|
|
107
|
+
# @return [XTwitterScraper::Models::Monitors::KeywordDeactivateResponse]
|
|
108
|
+
#
|
|
109
|
+
# @see XTwitterScraper::Models::Monitors::KeywordDeactivateParams
|
|
110
|
+
def deactivate(id, params = {})
|
|
111
|
+
@client.request(
|
|
112
|
+
method: :delete,
|
|
113
|
+
path: ["monitors/keywords/%1$s", id],
|
|
114
|
+
model: XTwitterScraper::Models::Monitors::KeywordDeactivateResponse,
|
|
115
|
+
options: params[:request_options]
|
|
116
|
+
)
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
# @api private
|
|
120
|
+
#
|
|
121
|
+
# @param client [XTwitterScraper::Client]
|
|
122
|
+
def initialize(client:)
|
|
123
|
+
@client = client
|
|
124
|
+
end
|
|
125
|
+
end
|
|
126
|
+
end
|
|
127
|
+
end
|
|
128
|
+
end
|
|
@@ -4,7 +4,14 @@ module XTwitterScraper
|
|
|
4
4
|
module Resources
|
|
5
5
|
# Real-time X account monitoring
|
|
6
6
|
class Monitors
|
|
7
|
-
#
|
|
7
|
+
# Real-time X account monitoring
|
|
8
|
+
# @return [XTwitterScraper::Resources::Monitors::Keywords]
|
|
9
|
+
attr_reader :keywords
|
|
10
|
+
|
|
11
|
+
# Creates an instant monitor. Monitors are unlimited. Active monitors check every
|
|
12
|
+
# 1 second and cost 21 credits per hour. Events and webhook deliveries are
|
|
13
|
+
# included. Creation requires available credits for the first hourly charge and
|
|
14
|
+
# username lookup.
|
|
8
15
|
#
|
|
9
16
|
# @overload create(event_types:, username:, request_options: {})
|
|
10
17
|
#
|
|
@@ -32,7 +39,7 @@ module XTwitterScraper
|
|
|
32
39
|
#
|
|
33
40
|
# @overload retrieve(id, request_options: {})
|
|
34
41
|
#
|
|
35
|
-
# @param id [String] Resource ID
|
|
42
|
+
# @param id [String] Resource ID returned by the matching create or list endpoint.
|
|
36
43
|
#
|
|
37
44
|
# @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
38
45
|
#
|
|
@@ -52,7 +59,7 @@ module XTwitterScraper
|
|
|
52
59
|
#
|
|
53
60
|
# @overload update(id, event_types: nil, is_active: nil, request_options: {})
|
|
54
61
|
#
|
|
55
|
-
# @param id [String] Resource ID
|
|
62
|
+
# @param id [String] Resource ID returned by the matching create or list endpoint.
|
|
56
63
|
#
|
|
57
64
|
# @param event_types [Array<Symbol, XTwitterScraper::Models::EventType>] Array of event types to subscribe to.
|
|
58
65
|
#
|
|
@@ -92,11 +99,11 @@ module XTwitterScraper
|
|
|
92
99
|
)
|
|
93
100
|
end
|
|
94
101
|
|
|
95
|
-
#
|
|
102
|
+
# Delete monitor
|
|
96
103
|
#
|
|
97
104
|
# @overload deactivate(id, request_options: {})
|
|
98
105
|
#
|
|
99
|
-
# @param id [String] Resource ID
|
|
106
|
+
# @param id [String] Resource ID returned by the matching create or list endpoint.
|
|
100
107
|
#
|
|
101
108
|
# @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
102
109
|
#
|
|
@@ -117,6 +124,7 @@ module XTwitterScraper
|
|
|
117
124
|
# @param client [XTwitterScraper::Client]
|
|
118
125
|
def initialize(client:)
|
|
119
126
|
@client = client
|
|
127
|
+
@keywords = XTwitterScraper::Resources::Monitors::Keywords.new(client: client)
|
|
120
128
|
end
|
|
121
129
|
end
|
|
122
130
|
end
|
|
@@ -2,22 +2,24 @@
|
|
|
2
2
|
|
|
3
3
|
module XTwitterScraper
|
|
4
4
|
module Resources
|
|
5
|
-
#
|
|
5
|
+
# AI tweet composition, drafts, writing styles, and radar
|
|
6
6
|
class Radar
|
|
7
7
|
# Some parameter documentations has been truncated, see
|
|
8
8
|
# {XTwitterScraper::Models::RadarRetrieveTrendingTopicsParams} for more details.
|
|
9
9
|
#
|
|
10
10
|
# Get trending topics from curated sources
|
|
11
11
|
#
|
|
12
|
-
# @overload retrieve_trending_topics(
|
|
12
|
+
# @overload retrieve_trending_topics(after: nil, category: nil, hours: nil, limit: nil, region: nil, source: nil, request_options: {})
|
|
13
13
|
#
|
|
14
|
-
# @param
|
|
14
|
+
# @param after [String] Cursor for pagination (from prior response nextCursor).
|
|
15
15
|
#
|
|
16
|
-
# @param
|
|
16
|
+
# @param category [Symbol, XTwitterScraper::Models::RadarRetrieveTrendingTopicsParams::Category] Filter by category.
|
|
17
17
|
#
|
|
18
|
-
# @param hours [Integer] Lookback window in hours
|
|
18
|
+
# @param hours [Integer] Lookback window in hours (1-72, default 6).
|
|
19
19
|
#
|
|
20
|
-
# @param
|
|
20
|
+
# @param limit [Integer] Number of items to return (1-100, default 50).
|
|
21
|
+
#
|
|
22
|
+
# @param region [String] Region filter. Use `global` or a region code such as `US`, `GB`, `TR`, or `ES`.
|
|
21
23
|
#
|
|
22
24
|
# @param source [Symbol, XTwitterScraper::Models::RadarRetrieveTrendingTopicsParams::Source] Source filter. One of: github, google_trends, hacker_news, polymarket, reddit, t
|
|
23
25
|
#
|
|
@@ -2,11 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
module XTwitterScraper
|
|
4
4
|
module Resources
|
|
5
|
-
# Subscription
|
|
5
|
+
# Subscription, billing, and credits
|
|
6
6
|
class Subscribe
|
|
7
|
-
#
|
|
7
|
+
# Create a subscription checkout or billing-management URL only after the user
|
|
8
|
+
# confirms. The request never completes payment by itself.
|
|
8
9
|
#
|
|
9
|
-
# @overload create(request_options: {})
|
|
10
|
+
# @overload create(tier: nil, request_options: {})
|
|
11
|
+
#
|
|
12
|
+
# @param tier [Symbol, XTwitterScraper::Models::SubscribeCreateParams::Tier] Subscription tier to pre-select.
|
|
10
13
|
#
|
|
11
14
|
# @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
12
15
|
#
|
|
@@ -14,11 +17,13 @@ module XTwitterScraper
|
|
|
14
17
|
#
|
|
15
18
|
# @see XTwitterScraper::Models::SubscribeCreateParams
|
|
16
19
|
def create(params = {})
|
|
20
|
+
parsed, options = XTwitterScraper::SubscribeCreateParams.dump_request(params)
|
|
17
21
|
@client.request(
|
|
18
22
|
method: :post,
|
|
19
23
|
path: "subscribe",
|
|
24
|
+
body: parsed,
|
|
20
25
|
model: XTwitterScraper::Models::SubscribeCreateResponse,
|
|
21
|
-
options:
|
|
26
|
+
options: options
|
|
22
27
|
)
|
|
23
28
|
end
|
|
24
29
|
|