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
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
module XTwitterScraper
|
|
4
4
|
module Resources
|
|
5
|
-
#
|
|
5
|
+
# AI tweet composition, drafts, writing styles, and radar
|
|
6
6
|
class Drafts
|
|
7
7
|
# Save a tweet draft
|
|
8
8
|
sig do
|
|
@@ -24,7 +24,7 @@ module XTwitterScraper
|
|
|
24
24
|
).returns(XTwitterScraper::DraftDetail)
|
|
25
25
|
end
|
|
26
26
|
def retrieve(
|
|
27
|
-
# Resource ID
|
|
27
|
+
# Resource ID returned by the matching create or list endpoint.
|
|
28
28
|
id,
|
|
29
29
|
request_options: {}
|
|
30
30
|
)
|
|
@@ -41,7 +41,10 @@ module XTwitterScraper
|
|
|
41
41
|
def list(
|
|
42
42
|
# Cursor for pagination
|
|
43
43
|
after_cursor: nil,
|
|
44
|
-
# Maximum number of items to return (1-100, default 50)
|
|
44
|
+
# Maximum number of items to return (1-100, default 50). For paid per-result
|
|
45
|
+
# endpoints, the returned count may be lower when remaining credits cannot cover
|
|
46
|
+
# the requested page. If zero paid results are affordable, the endpoint returns
|
|
47
|
+
# 402 insufficient_credits.
|
|
45
48
|
limit: nil,
|
|
46
49
|
request_options: {}
|
|
47
50
|
)
|
|
@@ -55,7 +58,7 @@ module XTwitterScraper
|
|
|
55
58
|
).void
|
|
56
59
|
end
|
|
57
60
|
def delete(
|
|
58
|
-
# Resource ID
|
|
61
|
+
# Resource ID returned by the matching create or list endpoint.
|
|
59
62
|
id,
|
|
60
63
|
request_options: {}
|
|
61
64
|
)
|
|
@@ -12,7 +12,7 @@ module XTwitterScraper
|
|
|
12
12
|
).returns(XTwitterScraper::Models::DrawRetrieveResponse)
|
|
13
13
|
end
|
|
14
14
|
def retrieve(
|
|
15
|
-
#
|
|
15
|
+
# Draw public ID returned by create and list draw responses.
|
|
16
16
|
id,
|
|
17
17
|
request_options: {}
|
|
18
18
|
)
|
|
@@ -21,15 +21,18 @@ module XTwitterScraper
|
|
|
21
21
|
# List draws
|
|
22
22
|
sig do
|
|
23
23
|
params(
|
|
24
|
-
|
|
24
|
+
cursor: String,
|
|
25
25
|
limit: Integer,
|
|
26
26
|
request_options: XTwitterScraper::RequestOptions::OrHash
|
|
27
27
|
).returns(XTwitterScraper::Models::DrawListResponse)
|
|
28
28
|
end
|
|
29
29
|
def list(
|
|
30
|
-
# Cursor for keyset pagination
|
|
31
|
-
|
|
32
|
-
# Maximum number of items to return (1-100, default 50)
|
|
30
|
+
# Cursor for keyset pagination from prior response next_cursor
|
|
31
|
+
cursor: nil,
|
|
32
|
+
# Maximum number of items to return (1-100, default 50). For paid per-result
|
|
33
|
+
# endpoints, the returned count may be lower when remaining credits cannot cover
|
|
34
|
+
# the requested page. If zero paid results are affordable, the endpoint returns
|
|
35
|
+
# 402 insufficient_credits.
|
|
33
36
|
limit: nil,
|
|
34
37
|
request_options: {}
|
|
35
38
|
)
|
|
@@ -45,17 +48,20 @@ module XTwitterScraper
|
|
|
45
48
|
).returns(StringIO)
|
|
46
49
|
end
|
|
47
50
|
def export(
|
|
48
|
-
#
|
|
51
|
+
# Draw public ID returned by create and list draw responses.
|
|
49
52
|
id,
|
|
50
53
|
# Export output format
|
|
51
|
-
format_
|
|
54
|
+
format_:,
|
|
52
55
|
# Export winners or all entries
|
|
53
56
|
type: nil,
|
|
54
57
|
request_options: {}
|
|
55
58
|
)
|
|
56
59
|
end
|
|
57
60
|
|
|
58
|
-
#
|
|
61
|
+
# Runs a giveaway draw from a source tweet. The draw first checks the minimum
|
|
62
|
+
# credits needed to inspect the source tweet and at least one candidate. Remaining
|
|
63
|
+
# credits cap how many replies and retweeters can be inspected before filters and
|
|
64
|
+
# winner selection run.
|
|
59
65
|
sig do
|
|
60
66
|
params(
|
|
61
67
|
tweet_url: String,
|
|
@@ -12,7 +12,7 @@ module XTwitterScraper
|
|
|
12
12
|
).returns(XTwitterScraper::EventDetail)
|
|
13
13
|
end
|
|
14
14
|
def retrieve(
|
|
15
|
-
# Resource ID
|
|
15
|
+
# Resource ID returned by the matching create or list endpoint.
|
|
16
16
|
id,
|
|
17
17
|
request_options: {}
|
|
18
18
|
)
|
|
@@ -21,7 +21,7 @@ module XTwitterScraper
|
|
|
21
21
|
# List events
|
|
22
22
|
sig do
|
|
23
23
|
params(
|
|
24
|
-
|
|
24
|
+
cursor: String,
|
|
25
25
|
event_type: XTwitterScraper::EventType::OrSymbol,
|
|
26
26
|
limit: Integer,
|
|
27
27
|
monitor_id: String,
|
|
@@ -29,11 +29,14 @@ module XTwitterScraper
|
|
|
29
29
|
).returns(XTwitterScraper::Models::EventListResponse)
|
|
30
30
|
end
|
|
31
31
|
def list(
|
|
32
|
-
# Cursor for keyset pagination
|
|
33
|
-
|
|
32
|
+
# Cursor for keyset pagination from prior response next_cursor
|
|
33
|
+
cursor: nil,
|
|
34
34
|
# Filter events by type
|
|
35
35
|
event_type: nil,
|
|
36
|
-
# Maximum number of items to return (1-100, default 50)
|
|
36
|
+
# Maximum number of items to return (1-100, default 50). For paid per-result
|
|
37
|
+
# endpoints, the returned count may be lower when remaining credits cannot cover
|
|
38
|
+
# the requested page. If zero paid results are affordable, the endpoint returns
|
|
39
|
+
# 402 insufficient_credits.
|
|
37
40
|
limit: nil,
|
|
38
41
|
# Filter events by monitor ID
|
|
39
42
|
monitor_id: nil,
|
|
@@ -2,13 +2,13 @@
|
|
|
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
|
sig do
|
|
9
9
|
params(
|
|
10
10
|
id: String,
|
|
11
|
-
|
|
11
|
+
cursor: String,
|
|
12
12
|
limit: Integer,
|
|
13
13
|
request_options: XTwitterScraper::RequestOptions::OrHash
|
|
14
14
|
).returns(XTwitterScraper::Models::ExtractionRetrieveResponse)
|
|
@@ -16,8 +16,8 @@ module XTwitterScraper
|
|
|
16
16
|
def retrieve(
|
|
17
17
|
# Extraction public ID (UUID)
|
|
18
18
|
id,
|
|
19
|
-
# Cursor for keyset pagination
|
|
20
|
-
|
|
19
|
+
# Cursor for keyset pagination from prior response next_cursor
|
|
20
|
+
cursor: nil,
|
|
21
21
|
# Maximum number of results to return (1-1000, default 100)
|
|
22
22
|
limit: nil,
|
|
23
23
|
request_options: {}
|
|
@@ -27,7 +27,7 @@ module XTwitterScraper
|
|
|
27
27
|
# List extraction jobs
|
|
28
28
|
sig do
|
|
29
29
|
params(
|
|
30
|
-
|
|
30
|
+
cursor: String,
|
|
31
31
|
limit: Integer,
|
|
32
32
|
status: XTwitterScraper::ExtractionListParams::Status::OrSymbol,
|
|
33
33
|
tool_type: XTwitterScraper::ExtractionListParams::ToolType::OrSymbol,
|
|
@@ -35,9 +35,12 @@ module XTwitterScraper
|
|
|
35
35
|
).returns(XTwitterScraper::Models::ExtractionListResponse)
|
|
36
36
|
end
|
|
37
37
|
def list(
|
|
38
|
-
# Cursor for keyset pagination
|
|
39
|
-
|
|
40
|
-
# Maximum number of items to return (1-100, default 50)
|
|
38
|
+
# Cursor for keyset pagination from prior response next_cursor
|
|
39
|
+
cursor: nil,
|
|
40
|
+
# Maximum number of items to return (1-100, default 50). For paid per-result
|
|
41
|
+
# endpoints, the returned count may be lower when remaining credits cannot cover
|
|
42
|
+
# the requested page. If zero paid results are affordable, the endpoint returns
|
|
43
|
+
# 402 insufficient_credits.
|
|
41
44
|
limit: nil,
|
|
42
45
|
# Filter by job status
|
|
43
46
|
status: nil,
|
|
@@ -53,14 +56,47 @@ module XTwitterScraper
|
|
|
53
56
|
tool_type:
|
|
54
57
|
XTwitterScraper::ExtractionEstimateCostParams::ToolType::OrSymbol,
|
|
55
58
|
advanced_query: String,
|
|
59
|
+
any_words: String,
|
|
60
|
+
bounding_box: String,
|
|
61
|
+
cashtags: String,
|
|
62
|
+
conversation_id: String,
|
|
56
63
|
exact_phrase: String,
|
|
57
64
|
exclude_words: String,
|
|
65
|
+
from_user: String,
|
|
66
|
+
hashtags: String,
|
|
67
|
+
in_reply_to_tweet_id: String,
|
|
68
|
+
language: String,
|
|
69
|
+
list_id: String,
|
|
70
|
+
media_type:
|
|
71
|
+
XTwitterScraper::ExtractionEstimateCostParams::MediaType::OrSymbol,
|
|
72
|
+
mentioning: String,
|
|
73
|
+
min_faves: Integer,
|
|
74
|
+
min_quotes: Integer,
|
|
75
|
+
min_replies: Integer,
|
|
76
|
+
min_retweets: Integer,
|
|
77
|
+
place: String,
|
|
78
|
+
place_country: String,
|
|
79
|
+
point_radius: String,
|
|
80
|
+
quotes:
|
|
81
|
+
XTwitterScraper::ExtractionEstimateCostParams::Quotes::OrSymbol,
|
|
82
|
+
quotes_of_tweet_id: String,
|
|
83
|
+
replies:
|
|
84
|
+
XTwitterScraper::ExtractionEstimateCostParams::Replies::OrSymbol,
|
|
85
|
+
results_limit: Integer,
|
|
86
|
+
retweets:
|
|
87
|
+
XTwitterScraper::ExtractionEstimateCostParams::Retweets::OrSymbol,
|
|
88
|
+
retweets_of_tweet_id: String,
|
|
58
89
|
search_query: String,
|
|
90
|
+
since_date: Date,
|
|
59
91
|
target_community_id: String,
|
|
60
92
|
target_list_id: String,
|
|
61
93
|
target_space_id: String,
|
|
62
94
|
target_tweet_id: String,
|
|
63
95
|
target_username: String,
|
|
96
|
+
to_user: String,
|
|
97
|
+
until_date: Date,
|
|
98
|
+
url: String,
|
|
99
|
+
verified_only: T::Boolean,
|
|
64
100
|
request_options: XTwitterScraper::RequestOptions::OrHash
|
|
65
101
|
).returns(XTwitterScraper::Models::ExtractionEstimateCostResponse)
|
|
66
102
|
end
|
|
@@ -69,16 +105,84 @@ module XTwitterScraper
|
|
|
69
105
|
tool_type:,
|
|
70
106
|
# Raw advanced query string appended to the estimate (tweet_search_extractor)
|
|
71
107
|
advanced_query: nil,
|
|
108
|
+
# Alternative words or quoted phrases for estimated results. Separate with spaces,
|
|
109
|
+
# commas, or lines.
|
|
110
|
+
any_words: nil,
|
|
111
|
+
# Geo bounding box used for estimation, e.g. -74.1 40.6 -73.9 40.8
|
|
112
|
+
# (tweet_search_extractor)
|
|
113
|
+
bounding_box: nil,
|
|
114
|
+
# Cashtags applied to the estimate, separated by spaces, commas, or lines.
|
|
115
|
+
cashtags: nil,
|
|
116
|
+
# Conversation ID filter used for estimation (tweet_search_extractor)
|
|
117
|
+
conversation_id: nil,
|
|
72
118
|
# Exact phrase filter for search estimation
|
|
73
119
|
exact_phrase: nil,
|
|
74
|
-
# Words excluded from estimated
|
|
120
|
+
# Words or quoted phrases excluded from estimated results. Separate with spaces,
|
|
121
|
+
# commas, or lines.
|
|
75
122
|
exclude_words: nil,
|
|
123
|
+
# Estimate only tweets from this author username (tweet_search_extractor)
|
|
124
|
+
from_user: nil,
|
|
125
|
+
# Hashtags applied to the estimate, separated by spaces, commas, or lines.
|
|
126
|
+
hashtags: nil,
|
|
127
|
+
# Estimate only replies to this tweet ID (tweet_search_extractor)
|
|
128
|
+
in_reply_to_tweet_id: nil,
|
|
129
|
+
# Language code used for estimate filtering (tweet_search_extractor)
|
|
130
|
+
language: nil,
|
|
131
|
+
# Estimate search results within this list ID (tweet_search_extractor)
|
|
132
|
+
list_id: nil,
|
|
133
|
+
# Media type used for estimate filtering (tweet_search_extractor)
|
|
134
|
+
media_type: nil,
|
|
135
|
+
# Estimate tweets mentioning this username (tweet_search_extractor)
|
|
136
|
+
mentioning: nil,
|
|
137
|
+
# Minimum likes threshold for estimated results (tweet_search_extractor)
|
|
138
|
+
min_faves: nil,
|
|
139
|
+
# Minimum quote count threshold for estimated results (tweet_search_extractor)
|
|
140
|
+
min_quotes: nil,
|
|
141
|
+
# Minimum replies threshold for estimated results (tweet_search_extractor)
|
|
142
|
+
min_replies: nil,
|
|
143
|
+
# Minimum retweets threshold for estimated results (tweet_search_extractor)
|
|
144
|
+
min_retweets: nil,
|
|
145
|
+
# Estimate search results within this place ID (tweet_search_extractor)
|
|
146
|
+
place: nil,
|
|
147
|
+
# Estimate search results within this country code (tweet_search_extractor)
|
|
148
|
+
place_country: nil,
|
|
149
|
+
# Geo point radius used for estimation, e.g. -73.99 40.73 25mi
|
|
150
|
+
# (tweet_search_extractor)
|
|
151
|
+
point_radius: nil,
|
|
152
|
+
# Quote mode used for estimation (tweet_search_extractor)
|
|
153
|
+
quotes: nil,
|
|
154
|
+
# Estimate only quotes of this tweet ID (tweet_search_extractor)
|
|
155
|
+
quotes_of_tweet_id: nil,
|
|
156
|
+
# Reply mode used for estimation (tweet_search_extractor)
|
|
157
|
+
replies: nil,
|
|
158
|
+
# Maximum number of results to estimate. When set, the estimate caps projected
|
|
159
|
+
# results to this value.
|
|
160
|
+
results_limit: nil,
|
|
161
|
+
# Retweet mode used for estimation (tweet_search_extractor)
|
|
162
|
+
retweets: nil,
|
|
163
|
+
# Estimate only retweets of this tweet ID (tweet_search_extractor)
|
|
164
|
+
retweets_of_tweet_id: nil,
|
|
165
|
+
# Required for tweet_search_extractor & community_search.
|
|
76
166
|
search_query: nil,
|
|
167
|
+
# Estimate start date in YYYY-MM-DD format (tweet_search_extractor)
|
|
168
|
+
since_date: nil,
|
|
169
|
+
# Required for community_post_extractor & community_search.
|
|
77
170
|
target_community_id: nil,
|
|
171
|
+
# Required for list_follower_explorer, list_member_extractor &
|
|
172
|
+
# list_post_extractor.
|
|
78
173
|
target_list_id: nil,
|
|
174
|
+
# Required for space_explorer.
|
|
79
175
|
target_space_id: nil,
|
|
80
176
|
target_tweet_id: nil,
|
|
81
177
|
target_username: nil,
|
|
178
|
+
# Estimate replies sent to this username (tweet_search_extractor)
|
|
179
|
+
to_user: nil,
|
|
180
|
+
# Estimate end date in YYYY-MM-DD format (tweet_search_extractor)
|
|
181
|
+
until_date: nil,
|
|
182
|
+
# URL substring or domain filter used for estimation (tweet_search_extractor)
|
|
183
|
+
url: nil,
|
|
184
|
+
# Estimate only verified authors (tweet_search_extractor)
|
|
185
|
+
verified_only: nil,
|
|
82
186
|
request_options: {}
|
|
83
187
|
)
|
|
84
188
|
end
|
|
@@ -96,7 +200,7 @@ module XTwitterScraper
|
|
|
96
200
|
# Extraction public ID
|
|
97
201
|
id,
|
|
98
202
|
# Export file format
|
|
99
|
-
format_
|
|
203
|
+
format_:,
|
|
100
204
|
request_options: {}
|
|
101
205
|
)
|
|
102
206
|
end
|
|
@@ -106,14 +210,43 @@ module XTwitterScraper
|
|
|
106
210
|
params(
|
|
107
211
|
tool_type: XTwitterScraper::ExtractionRunParams::ToolType::OrSymbol,
|
|
108
212
|
advanced_query: String,
|
|
213
|
+
any_words: String,
|
|
214
|
+
bounding_box: String,
|
|
215
|
+
cashtags: String,
|
|
216
|
+
conversation_id: String,
|
|
109
217
|
exact_phrase: String,
|
|
110
218
|
exclude_words: String,
|
|
219
|
+
from_user: String,
|
|
220
|
+
hashtags: String,
|
|
221
|
+
in_reply_to_tweet_id: String,
|
|
222
|
+
language: String,
|
|
223
|
+
list_id: String,
|
|
224
|
+
media_type: XTwitterScraper::ExtractionRunParams::MediaType::OrSymbol,
|
|
225
|
+
mentioning: String,
|
|
226
|
+
min_faves: Integer,
|
|
227
|
+
min_quotes: Integer,
|
|
228
|
+
min_replies: Integer,
|
|
229
|
+
min_retweets: Integer,
|
|
230
|
+
place: String,
|
|
231
|
+
place_country: String,
|
|
232
|
+
point_radius: String,
|
|
233
|
+
quotes: XTwitterScraper::ExtractionRunParams::Quotes::OrSymbol,
|
|
234
|
+
quotes_of_tweet_id: String,
|
|
235
|
+
replies: XTwitterScraper::ExtractionRunParams::Replies::OrSymbol,
|
|
236
|
+
results_limit: Integer,
|
|
237
|
+
retweets: XTwitterScraper::ExtractionRunParams::Retweets::OrSymbol,
|
|
238
|
+
retweets_of_tweet_id: String,
|
|
111
239
|
search_query: String,
|
|
240
|
+
since_date: Date,
|
|
112
241
|
target_community_id: String,
|
|
113
242
|
target_list_id: String,
|
|
114
243
|
target_space_id: String,
|
|
115
244
|
target_tweet_id: String,
|
|
116
245
|
target_username: String,
|
|
246
|
+
to_user: String,
|
|
247
|
+
until_date: Date,
|
|
248
|
+
url: String,
|
|
249
|
+
verified_only: T::Boolean,
|
|
117
250
|
request_options: XTwitterScraper::RequestOptions::OrHash
|
|
118
251
|
).returns(XTwitterScraper::Models::ExtractionRunResponse)
|
|
119
252
|
end
|
|
@@ -122,16 +255,82 @@ module XTwitterScraper
|
|
|
122
255
|
tool_type:,
|
|
123
256
|
# Raw advanced search query appended as-is (tweet_search_extractor)
|
|
124
257
|
advanced_query: nil,
|
|
258
|
+
# Words or quoted phrases where any one can match. Separate with spaces, commas,
|
|
259
|
+
# or lines. (tweet_search_extractor)
|
|
260
|
+
any_words: nil,
|
|
261
|
+
# Geo bounding box, e.g. -74.1 40.6 -73.9 40.8 (tweet_search_extractor)
|
|
262
|
+
bounding_box: nil,
|
|
263
|
+
# Cashtags separated by spaces, commas, or lines. (tweet_search_extractor)
|
|
264
|
+
cashtags: nil,
|
|
265
|
+
# Conversation ID filter (tweet_search_extractor)
|
|
266
|
+
conversation_id: nil,
|
|
125
267
|
# Exact phrase to match (tweet_search_extractor)
|
|
126
268
|
exact_phrase: nil,
|
|
127
|
-
# Words to exclude
|
|
269
|
+
# Words or quoted phrases to exclude. Separate with spaces, commas, or lines.
|
|
270
|
+
# (tweet_search_extractor)
|
|
128
271
|
exclude_words: nil,
|
|
272
|
+
# Filter by author username (tweet_search_extractor)
|
|
273
|
+
from_user: nil,
|
|
274
|
+
# Hashtags separated by spaces, commas, or lines. (tweet_search_extractor)
|
|
275
|
+
hashtags: nil,
|
|
276
|
+
# Only replies to this tweet ID (tweet_search_extractor)
|
|
277
|
+
in_reply_to_tweet_id: nil,
|
|
278
|
+
# Language code filter (tweet_search_extractor)
|
|
279
|
+
language: nil,
|
|
280
|
+
# Search within a list ID (tweet_search_extractor)
|
|
281
|
+
list_id: nil,
|
|
282
|
+
# Media type filter (tweet_search_extractor)
|
|
283
|
+
media_type: nil,
|
|
284
|
+
# Filter tweets mentioning a username (tweet_search_extractor)
|
|
285
|
+
mentioning: nil,
|
|
286
|
+
# Minimum likes threshold (tweet_search_extractor)
|
|
287
|
+
min_faves: nil,
|
|
288
|
+
# Minimum quote count threshold (tweet_search_extractor)
|
|
289
|
+
min_quotes: nil,
|
|
290
|
+
# Minimum replies threshold (tweet_search_extractor)
|
|
291
|
+
min_replies: nil,
|
|
292
|
+
# Minimum retweets threshold (tweet_search_extractor)
|
|
293
|
+
min_retweets: nil,
|
|
294
|
+
# Search within a place ID (tweet_search_extractor)
|
|
295
|
+
place: nil,
|
|
296
|
+
# Search within a country code (tweet_search_extractor)
|
|
297
|
+
place_country: nil,
|
|
298
|
+
# Geo point radius, e.g. -73.99 40.73 25mi (tweet_search_extractor)
|
|
299
|
+
point_radius: nil,
|
|
300
|
+
# Quote mode (tweet_search_extractor)
|
|
301
|
+
quotes: nil,
|
|
302
|
+
# Only quotes of this tweet ID (tweet_search_extractor)
|
|
303
|
+
quotes_of_tweet_id: nil,
|
|
304
|
+
# Reply mode (tweet_search_extractor)
|
|
305
|
+
replies: nil,
|
|
306
|
+
# Maximum number of results to extract. When set, the extraction stops after
|
|
307
|
+
# reaching this limit.
|
|
308
|
+
results_limit: nil,
|
|
309
|
+
# Retweet mode (tweet_search_extractor)
|
|
310
|
+
retweets: nil,
|
|
311
|
+
# Only retweets of this tweet ID (tweet_search_extractor)
|
|
312
|
+
retweets_of_tweet_id: nil,
|
|
313
|
+
# Required for tweet_search_extractor & community_search.
|
|
129
314
|
search_query: nil,
|
|
315
|
+
# Start date YYYY-MM-DD (tweet_search_extractor)
|
|
316
|
+
since_date: nil,
|
|
317
|
+
# Required for community_post_extractor & community_search.
|
|
130
318
|
target_community_id: nil,
|
|
319
|
+
# Required for list_follower_explorer, list_member_extractor &
|
|
320
|
+
# list_post_extractor.
|
|
131
321
|
target_list_id: nil,
|
|
322
|
+
# Required for space_explorer.
|
|
132
323
|
target_space_id: nil,
|
|
133
324
|
target_tweet_id: nil,
|
|
134
325
|
target_username: nil,
|
|
326
|
+
# Filter replies sent to a username (tweet_search_extractor)
|
|
327
|
+
to_user: nil,
|
|
328
|
+
# End date YYYY-MM-DD (tweet_search_extractor)
|
|
329
|
+
until_date: nil,
|
|
330
|
+
# URL substring or domain filter (tweet_search_extractor)
|
|
331
|
+
url: nil,
|
|
332
|
+
# Only verified authors (tweet_search_extractor)
|
|
333
|
+
verified_only: nil,
|
|
135
334
|
request_options: {}
|
|
136
335
|
)
|
|
137
336
|
end
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module XTwitterScraper
|
|
4
|
+
module Resources
|
|
5
|
+
# Accountless prepaid access for paid read endpoints
|
|
6
|
+
class GuestWallets
|
|
7
|
+
# Create a one-use Stripe-hosted checkout after the user explicitly confirms a
|
|
8
|
+
# $10-$250 USD amount. This request creates no charge by itself. The user opens
|
|
9
|
+
# checkout_url on Stripe. This endpoint returns the paid-read API key without
|
|
10
|
+
# requiring an Xquik account, email, dashboard, or Xquik web page. An idempotent
|
|
11
|
+
# replay returns the same key.
|
|
12
|
+
sig do
|
|
13
|
+
params(
|
|
14
|
+
amount_minor: Integer,
|
|
15
|
+
idempotency_key: String,
|
|
16
|
+
currency: Symbol,
|
|
17
|
+
request_options: XTwitterScraper::RequestOptions::OrHash
|
|
18
|
+
).returns(XTwitterScraper::Models::GuestWalletCreateResponse)
|
|
19
|
+
end
|
|
20
|
+
def create(
|
|
21
|
+
# Body param: Confirmed USD amount in cents.
|
|
22
|
+
amount_minor:,
|
|
23
|
+
# Header param: Generate a cryptographically random UUID v4. Reuse it only to
|
|
24
|
+
# retry the same wallet and amount request. Initial wallet creation can recover
|
|
25
|
+
# the API key from this value, so store it as a secret and never log it.
|
|
26
|
+
idempotency_key:,
|
|
27
|
+
# Body param
|
|
28
|
+
currency: :usd,
|
|
29
|
+
request_options: {}
|
|
30
|
+
)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# Poll after Stripe payment. Use usable to decide whether paid reads can run. An
|
|
34
|
+
# active wallet can remain usable while a top-up is pending. A new wallet becomes
|
|
35
|
+
# usable only after verified webhook fulfillment. Send the guest key as
|
|
36
|
+
# Authorization: Bearer.
|
|
37
|
+
sig do
|
|
38
|
+
params(
|
|
39
|
+
request_options: XTwitterScraper::RequestOptions::OrHash
|
|
40
|
+
).returns(XTwitterScraper::Models::GuestWalletRetrieveStatusResponse)
|
|
41
|
+
end
|
|
42
|
+
def retrieve_status(request_options: {})
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# Create a one-use Stripe-hosted checkout for an existing paid-read guest key
|
|
46
|
+
# after the user explicitly confirms a $10-$250 USD amount. The key remains the
|
|
47
|
+
# same. This request creates no charge by itself and never redirects through an
|
|
48
|
+
# Xquik web page.
|
|
49
|
+
sig do
|
|
50
|
+
params(
|
|
51
|
+
amount_minor: Integer,
|
|
52
|
+
idempotency_key: String,
|
|
53
|
+
currency: Symbol,
|
|
54
|
+
request_options: XTwitterScraper::RequestOptions::OrHash
|
|
55
|
+
).returns(XTwitterScraper::Models::GuestWalletTopupResponse)
|
|
56
|
+
end
|
|
57
|
+
def topup(
|
|
58
|
+
# Body param: Confirmed USD amount in cents.
|
|
59
|
+
amount_minor:,
|
|
60
|
+
# Header param: Generate a cryptographically random UUID v4. Reuse it only to
|
|
61
|
+
# retry the same wallet and amount request. Initial wallet creation can recover
|
|
62
|
+
# the API key from this value, so store it as a secret and never log it.
|
|
63
|
+
idempotency_key:,
|
|
64
|
+
# Body param
|
|
65
|
+
currency: :usd,
|
|
66
|
+
request_options: {}
|
|
67
|
+
)
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
# @api private
|
|
71
|
+
sig { params(client: XTwitterScraper::Client).returns(T.attached_class) }
|
|
72
|
+
def self.new(client:)
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
end
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# typed: strong
|
|
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
|
+
sig do
|
|
13
|
+
params(
|
|
14
|
+
event_types: T::Array[XTwitterScraper::EventType::OrSymbol],
|
|
15
|
+
query: String,
|
|
16
|
+
request_options: XTwitterScraper::RequestOptions::OrHash
|
|
17
|
+
).returns(XTwitterScraper::Models::Monitors::KeywordCreateResponse)
|
|
18
|
+
end
|
|
19
|
+
def create(
|
|
20
|
+
# Array of event types to subscribe to.
|
|
21
|
+
event_types:,
|
|
22
|
+
# X search query to monitor. Whitespace is normalized.
|
|
23
|
+
query:,
|
|
24
|
+
request_options: {}
|
|
25
|
+
)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
# Get keyword monitor
|
|
29
|
+
sig do
|
|
30
|
+
params(
|
|
31
|
+
id: String,
|
|
32
|
+
request_options: XTwitterScraper::RequestOptions::OrHash
|
|
33
|
+
).returns(XTwitterScraper::Models::Monitors::KeywordRetrieveResponse)
|
|
34
|
+
end
|
|
35
|
+
def retrieve(
|
|
36
|
+
# Resource ID returned by the matching create or list endpoint.
|
|
37
|
+
id,
|
|
38
|
+
request_options: {}
|
|
39
|
+
)
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# Update keyword monitor
|
|
43
|
+
sig do
|
|
44
|
+
params(
|
|
45
|
+
id: String,
|
|
46
|
+
event_types: T::Array[XTwitterScraper::EventType::OrSymbol],
|
|
47
|
+
is_active: T::Boolean,
|
|
48
|
+
request_options: XTwitterScraper::RequestOptions::OrHash
|
|
49
|
+
).returns(XTwitterScraper::Models::Monitors::KeywordUpdateResponse)
|
|
50
|
+
end
|
|
51
|
+
def update(
|
|
52
|
+
# Resource ID returned by the matching create or list endpoint.
|
|
53
|
+
id,
|
|
54
|
+
# Array of event types to subscribe to.
|
|
55
|
+
event_types: nil,
|
|
56
|
+
is_active: nil,
|
|
57
|
+
request_options: {}
|
|
58
|
+
)
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
# List keyword monitors
|
|
62
|
+
sig do
|
|
63
|
+
params(
|
|
64
|
+
request_options: XTwitterScraper::RequestOptions::OrHash
|
|
65
|
+
).returns(XTwitterScraper::Models::Monitors::KeywordListResponse)
|
|
66
|
+
end
|
|
67
|
+
def list(request_options: {})
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
# Delete keyword monitor
|
|
71
|
+
sig do
|
|
72
|
+
params(
|
|
73
|
+
id: String,
|
|
74
|
+
request_options: XTwitterScraper::RequestOptions::OrHash
|
|
75
|
+
).returns(
|
|
76
|
+
XTwitterScraper::Models::Monitors::KeywordDeactivateResponse
|
|
77
|
+
)
|
|
78
|
+
end
|
|
79
|
+
def deactivate(
|
|
80
|
+
# Resource ID returned by the matching create or list endpoint.
|
|
81
|
+
id,
|
|
82
|
+
request_options: {}
|
|
83
|
+
)
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
# @api private
|
|
87
|
+
sig do
|
|
88
|
+
params(client: XTwitterScraper::Client).returns(T.attached_class)
|
|
89
|
+
end
|
|
90
|
+
def self.new(client:)
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
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
|
+
sig { returns(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
|
sig do
|
|
9
16
|
params(
|
|
10
17
|
event_types: T::Array[XTwitterScraper::EventType::OrSymbol],
|
|
@@ -29,7 +36,7 @@ module XTwitterScraper
|
|
|
29
36
|
).returns(XTwitterScraper::Monitor)
|
|
30
37
|
end
|
|
31
38
|
def retrieve(
|
|
32
|
-
# Resource ID
|
|
39
|
+
# Resource ID returned by the matching create or list endpoint.
|
|
33
40
|
id,
|
|
34
41
|
request_options: {}
|
|
35
42
|
)
|
|
@@ -45,7 +52,7 @@ module XTwitterScraper
|
|
|
45
52
|
).returns(XTwitterScraper::Monitor)
|
|
46
53
|
end
|
|
47
54
|
def update(
|
|
48
|
-
# Resource ID
|
|
55
|
+
# Resource ID returned by the matching create or list endpoint.
|
|
49
56
|
id,
|
|
50
57
|
# Array of event types to subscribe to.
|
|
51
58
|
event_types: nil,
|
|
@@ -63,7 +70,7 @@ module XTwitterScraper
|
|
|
63
70
|
def list(request_options: {})
|
|
64
71
|
end
|
|
65
72
|
|
|
66
|
-
#
|
|
73
|
+
# Delete monitor
|
|
67
74
|
sig do
|
|
68
75
|
params(
|
|
69
76
|
id: String,
|
|
@@ -71,7 +78,7 @@ module XTwitterScraper
|
|
|
71
78
|
).returns(XTwitterScraper::Models::MonitorDeactivateResponse)
|
|
72
79
|
end
|
|
73
80
|
def deactivate(
|
|
74
|
-
# Resource ID
|
|
81
|
+
# Resource ID returned by the matching create or list endpoint.
|
|
75
82
|
id,
|
|
76
83
|
request_options: {}
|
|
77
84
|
)
|