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
|
@@ -16,38 +16,75 @@ module XTwitterScraper
|
|
|
16
16
|
)
|
|
17
17
|
end
|
|
18
18
|
|
|
19
|
-
#
|
|
19
|
+
# Numeric ID of the community to search
|
|
20
|
+
sig { returns(String) }
|
|
21
|
+
attr_accessor :community_id
|
|
22
|
+
|
|
23
|
+
# Keyword query within the selected community
|
|
20
24
|
sig { returns(String) }
|
|
21
25
|
attr_accessor :q
|
|
22
26
|
|
|
23
|
-
# Pagination cursor for
|
|
27
|
+
# Pagination cursor for community results
|
|
24
28
|
sig { returns(T.nilable(String)) }
|
|
25
29
|
attr_reader :cursor
|
|
26
30
|
|
|
27
31
|
sig { params(cursor: String).void }
|
|
28
32
|
attr_writer :cursor
|
|
29
33
|
|
|
30
|
-
#
|
|
31
|
-
|
|
34
|
+
# Maximum items requested from this page (1-100, default 20). The response can
|
|
35
|
+
# contain fewer items because the source returned fewer, filters removed items, or
|
|
36
|
+
# remaining credits cover fewer results. Keep requesting next_cursor while
|
|
37
|
+
# has_next_page is true, even when a page is empty. The deprecated limit and count
|
|
38
|
+
# aliases remain accepted.
|
|
39
|
+
sig { returns(T.nilable(Integer)) }
|
|
40
|
+
attr_reader :page_size
|
|
41
|
+
|
|
42
|
+
sig { params(page_size: Integer).void }
|
|
43
|
+
attr_writer :page_size
|
|
44
|
+
|
|
45
|
+
# Sort order for community results (Latest or Top)
|
|
46
|
+
sig do
|
|
47
|
+
returns(
|
|
48
|
+
T.nilable(
|
|
49
|
+
XTwitterScraper::X::Communities::TweetListParams::QueryType::OrSymbol
|
|
50
|
+
)
|
|
51
|
+
)
|
|
52
|
+
end
|
|
32
53
|
attr_reader :query_type
|
|
33
54
|
|
|
34
|
-
sig
|
|
55
|
+
sig do
|
|
56
|
+
params(
|
|
57
|
+
query_type:
|
|
58
|
+
XTwitterScraper::X::Communities::TweetListParams::QueryType::OrSymbol
|
|
59
|
+
).void
|
|
60
|
+
end
|
|
35
61
|
attr_writer :query_type
|
|
36
62
|
|
|
37
63
|
sig do
|
|
38
64
|
params(
|
|
65
|
+
community_id: String,
|
|
39
66
|
q: String,
|
|
40
67
|
cursor: String,
|
|
41
|
-
|
|
68
|
+
page_size: Integer,
|
|
69
|
+
query_type:
|
|
70
|
+
XTwitterScraper::X::Communities::TweetListParams::QueryType::OrSymbol,
|
|
42
71
|
request_options: XTwitterScraper::RequestOptions::OrHash
|
|
43
72
|
).returns(T.attached_class)
|
|
44
73
|
end
|
|
45
74
|
def self.new(
|
|
46
|
-
#
|
|
75
|
+
# Numeric ID of the community to search
|
|
76
|
+
community_id:,
|
|
77
|
+
# Keyword query within the selected community
|
|
47
78
|
q:,
|
|
48
|
-
# Pagination cursor for
|
|
79
|
+
# Pagination cursor for community results
|
|
49
80
|
cursor: nil,
|
|
50
|
-
#
|
|
81
|
+
# Maximum items requested from this page (1-100, default 20). The response can
|
|
82
|
+
# contain fewer items because the source returned fewer, filters removed items, or
|
|
83
|
+
# remaining credits cover fewer results. Keep requesting next_cursor while
|
|
84
|
+
# has_next_page is true, even when a page is empty. The deprecated limit and count
|
|
85
|
+
# aliases remain accepted.
|
|
86
|
+
page_size: nil,
|
|
87
|
+
# Sort order for community results (Latest or Top)
|
|
51
88
|
query_type: nil,
|
|
52
89
|
request_options: {}
|
|
53
90
|
)
|
|
@@ -56,15 +93,53 @@ module XTwitterScraper
|
|
|
56
93
|
sig do
|
|
57
94
|
override.returns(
|
|
58
95
|
{
|
|
96
|
+
community_id: String,
|
|
59
97
|
q: String,
|
|
60
98
|
cursor: String,
|
|
61
|
-
|
|
99
|
+
page_size: Integer,
|
|
100
|
+
query_type:
|
|
101
|
+
XTwitterScraper::X::Communities::TweetListParams::QueryType::OrSymbol,
|
|
62
102
|
request_options: XTwitterScraper::RequestOptions
|
|
63
103
|
}
|
|
64
104
|
)
|
|
65
105
|
end
|
|
66
106
|
def to_hash
|
|
67
107
|
end
|
|
108
|
+
|
|
109
|
+
# Sort order for community results (Latest or Top)
|
|
110
|
+
module QueryType
|
|
111
|
+
extend XTwitterScraper::Internal::Type::Enum
|
|
112
|
+
|
|
113
|
+
TaggedSymbol =
|
|
114
|
+
T.type_alias do
|
|
115
|
+
T.all(
|
|
116
|
+
Symbol,
|
|
117
|
+
XTwitterScraper::X::Communities::TweetListParams::QueryType
|
|
118
|
+
)
|
|
119
|
+
end
|
|
120
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
121
|
+
|
|
122
|
+
LATEST =
|
|
123
|
+
T.let(
|
|
124
|
+
:Latest,
|
|
125
|
+
XTwitterScraper::X::Communities::TweetListParams::QueryType::TaggedSymbol
|
|
126
|
+
)
|
|
127
|
+
TOP =
|
|
128
|
+
T.let(
|
|
129
|
+
:Top,
|
|
130
|
+
XTwitterScraper::X::Communities::TweetListParams::QueryType::TaggedSymbol
|
|
131
|
+
)
|
|
132
|
+
|
|
133
|
+
sig do
|
|
134
|
+
override.returns(
|
|
135
|
+
T::Array[
|
|
136
|
+
XTwitterScraper::X::Communities::TweetListParams::QueryType::TaggedSymbol
|
|
137
|
+
]
|
|
138
|
+
)
|
|
139
|
+
end
|
|
140
|
+
def self.values
|
|
141
|
+
end
|
|
142
|
+
end
|
|
68
143
|
end
|
|
69
144
|
end
|
|
70
145
|
end
|
|
@@ -78,6 +78,23 @@ module XTwitterScraper
|
|
|
78
78
|
sig { params(created_at: String).void }
|
|
79
79
|
attr_writer :created_at
|
|
80
80
|
|
|
81
|
+
sig do
|
|
82
|
+
returns(
|
|
83
|
+
T.nilable(
|
|
84
|
+
XTwitterScraper::Models::X::CommunityRetrieveInfoResponse::Community::Creator
|
|
85
|
+
)
|
|
86
|
+
)
|
|
87
|
+
end
|
|
88
|
+
attr_reader :creator
|
|
89
|
+
|
|
90
|
+
sig do
|
|
91
|
+
params(
|
|
92
|
+
creator:
|
|
93
|
+
XTwitterScraper::Models::X::CommunityRetrieveInfoResponse::Community::Creator::OrHash
|
|
94
|
+
).void
|
|
95
|
+
end
|
|
96
|
+
attr_writer :creator
|
|
97
|
+
|
|
81
98
|
# About text for the community
|
|
82
99
|
sig { returns(T.nilable(String)) }
|
|
83
100
|
attr_reader :description
|
|
@@ -85,6 +102,27 @@ module XTwitterScraper
|
|
|
85
102
|
sig { params(description: String).void }
|
|
86
103
|
attr_writer :description
|
|
87
104
|
|
|
105
|
+
# Invitation policy
|
|
106
|
+
sig { returns(T.nilable(String)) }
|
|
107
|
+
attr_reader :invites_policy
|
|
108
|
+
|
|
109
|
+
sig { params(invites_policy: String).void }
|
|
110
|
+
attr_writer :invites_policy
|
|
111
|
+
|
|
112
|
+
# Whether the authenticated viewer is a member
|
|
113
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
114
|
+
attr_reader :is_member
|
|
115
|
+
|
|
116
|
+
sig { params(is_member: T::Boolean).void }
|
|
117
|
+
attr_writer :is_member
|
|
118
|
+
|
|
119
|
+
# Whether the community is marked sensitive
|
|
120
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
121
|
+
attr_reader :is_nsfw
|
|
122
|
+
|
|
123
|
+
sig { params(is_nsfw: T::Boolean).void }
|
|
124
|
+
attr_writer :is_nsfw
|
|
125
|
+
|
|
88
126
|
# Join policy (open or restricted)
|
|
89
127
|
sig { returns(T.nilable(String)) }
|
|
90
128
|
attr_reader :join_policy
|
|
@@ -131,6 +169,13 @@ module XTwitterScraper
|
|
|
131
169
|
end
|
|
132
170
|
attr_writer :primary_topic
|
|
133
171
|
|
|
172
|
+
# Authenticated viewer's community role
|
|
173
|
+
sig { returns(T.nilable(String)) }
|
|
174
|
+
attr_reader :role
|
|
175
|
+
|
|
176
|
+
sig { params(role: String).void }
|
|
177
|
+
attr_writer :role
|
|
178
|
+
|
|
134
179
|
# Community rules
|
|
135
180
|
sig do
|
|
136
181
|
returns(
|
|
@@ -159,13 +204,19 @@ module XTwitterScraper
|
|
|
159
204
|
id: String,
|
|
160
205
|
banner_url: String,
|
|
161
206
|
created_at: String,
|
|
207
|
+
creator:
|
|
208
|
+
XTwitterScraper::Models::X::CommunityRetrieveInfoResponse::Community::Creator::OrHash,
|
|
162
209
|
description: String,
|
|
210
|
+
invites_policy: String,
|
|
211
|
+
is_member: T::Boolean,
|
|
212
|
+
is_nsfw: T::Boolean,
|
|
163
213
|
join_policy: String,
|
|
164
214
|
member_count: Integer,
|
|
165
215
|
moderator_count: Integer,
|
|
166
216
|
name: String,
|
|
167
217
|
primary_topic:
|
|
168
218
|
XTwitterScraper::Models::X::CommunityRetrieveInfoResponse::Community::PrimaryTopic::OrHash,
|
|
219
|
+
role: String,
|
|
169
220
|
rules:
|
|
170
221
|
T::Array[
|
|
171
222
|
XTwitterScraper::Models::X::CommunityRetrieveInfoResponse::Community::Rule::OrHash
|
|
@@ -179,8 +230,15 @@ module XTwitterScraper
|
|
|
179
230
|
banner_url: nil,
|
|
180
231
|
# Community creation timestamp
|
|
181
232
|
created_at: nil,
|
|
233
|
+
creator: nil,
|
|
182
234
|
# About text for the community
|
|
183
235
|
description: nil,
|
|
236
|
+
# Invitation policy
|
|
237
|
+
invites_policy: nil,
|
|
238
|
+
# Whether the authenticated viewer is a member
|
|
239
|
+
is_member: nil,
|
|
240
|
+
# Whether the community is marked sensitive
|
|
241
|
+
is_nsfw: nil,
|
|
184
242
|
# Join policy (open or restricted)
|
|
185
243
|
join_policy: nil,
|
|
186
244
|
# Total member count
|
|
@@ -191,6 +249,8 @@ module XTwitterScraper
|
|
|
191
249
|
name: nil,
|
|
192
250
|
# Primary topic
|
|
193
251
|
primary_topic: nil,
|
|
252
|
+
# Authenticated viewer's community role
|
|
253
|
+
role: nil,
|
|
194
254
|
# Community rules
|
|
195
255
|
rules: nil
|
|
196
256
|
)
|
|
@@ -202,13 +262,19 @@ module XTwitterScraper
|
|
|
202
262
|
id: String,
|
|
203
263
|
banner_url: String,
|
|
204
264
|
created_at: String,
|
|
265
|
+
creator:
|
|
266
|
+
XTwitterScraper::Models::X::CommunityRetrieveInfoResponse::Community::Creator,
|
|
205
267
|
description: String,
|
|
268
|
+
invites_policy: String,
|
|
269
|
+
is_member: T::Boolean,
|
|
270
|
+
is_nsfw: T::Boolean,
|
|
206
271
|
join_policy: String,
|
|
207
272
|
member_count: Integer,
|
|
208
273
|
moderator_count: Integer,
|
|
209
274
|
name: String,
|
|
210
275
|
primary_topic:
|
|
211
276
|
XTwitterScraper::Models::X::CommunityRetrieveInfoResponse::Community::PrimaryTopic,
|
|
277
|
+
role: String,
|
|
212
278
|
rules:
|
|
213
279
|
T::Array[
|
|
214
280
|
XTwitterScraper::Models::X::CommunityRetrieveInfoResponse::Community::Rule
|
|
@@ -219,6 +285,55 @@ module XTwitterScraper
|
|
|
219
285
|
def to_hash
|
|
220
286
|
end
|
|
221
287
|
|
|
288
|
+
class Creator < XTwitterScraper::Internal::Type::BaseModel
|
|
289
|
+
OrHash =
|
|
290
|
+
T.type_alias do
|
|
291
|
+
T.any(
|
|
292
|
+
XTwitterScraper::Models::X::CommunityRetrieveInfoResponse::Community::Creator,
|
|
293
|
+
XTwitterScraper::Internal::AnyHash
|
|
294
|
+
)
|
|
295
|
+
end
|
|
296
|
+
|
|
297
|
+
sig { returns(String) }
|
|
298
|
+
attr_accessor :id
|
|
299
|
+
|
|
300
|
+
sig { returns(String) }
|
|
301
|
+
attr_accessor :username
|
|
302
|
+
|
|
303
|
+
sig { returns(T::Boolean) }
|
|
304
|
+
attr_accessor :verified
|
|
305
|
+
|
|
306
|
+
sig { returns(T.nilable(String)) }
|
|
307
|
+
attr_reader :name
|
|
308
|
+
|
|
309
|
+
sig { params(name: String).void }
|
|
310
|
+
attr_writer :name
|
|
311
|
+
|
|
312
|
+
sig do
|
|
313
|
+
params(
|
|
314
|
+
id: String,
|
|
315
|
+
username: String,
|
|
316
|
+
verified: T::Boolean,
|
|
317
|
+
name: String
|
|
318
|
+
).returns(T.attached_class)
|
|
319
|
+
end
|
|
320
|
+
def self.new(id:, username:, verified:, name: nil)
|
|
321
|
+
end
|
|
322
|
+
|
|
323
|
+
sig do
|
|
324
|
+
override.returns(
|
|
325
|
+
{
|
|
326
|
+
id: String,
|
|
327
|
+
username: String,
|
|
328
|
+
verified: T::Boolean,
|
|
329
|
+
name: String
|
|
330
|
+
}
|
|
331
|
+
)
|
|
332
|
+
end
|
|
333
|
+
def to_hash
|
|
334
|
+
end
|
|
335
|
+
end
|
|
336
|
+
|
|
222
337
|
class PrimaryTopic < XTwitterScraper::Internal::Type::BaseModel
|
|
223
338
|
OrHash =
|
|
224
339
|
T.type_alias do
|
|
@@ -25,10 +25,20 @@ module XTwitterScraper
|
|
|
25
25
|
sig { params(cursor: String).void }
|
|
26
26
|
attr_writer :cursor
|
|
27
27
|
|
|
28
|
+
# Items per page (20-200, default 20). This is an upper bound for paid
|
|
29
|
+
# authenticated calls: remaining credits can reduce the returned page size, and
|
|
30
|
+
# zero affordable results returns 402 insufficient_credits.
|
|
31
|
+
sig { returns(T.nilable(Integer)) }
|
|
32
|
+
attr_reader :page_size
|
|
33
|
+
|
|
34
|
+
sig { params(page_size: Integer).void }
|
|
35
|
+
attr_writer :page_size
|
|
36
|
+
|
|
28
37
|
sig do
|
|
29
38
|
params(
|
|
30
39
|
id: String,
|
|
31
40
|
cursor: String,
|
|
41
|
+
page_size: Integer,
|
|
32
42
|
request_options: XTwitterScraper::RequestOptions::OrHash
|
|
33
43
|
).returns(T.attached_class)
|
|
34
44
|
end
|
|
@@ -36,6 +46,10 @@ module XTwitterScraper
|
|
|
36
46
|
id:,
|
|
37
47
|
# Pagination cursor
|
|
38
48
|
cursor: nil,
|
|
49
|
+
# Items per page (20-200, default 20). This is an upper bound for paid
|
|
50
|
+
# authenticated calls: remaining credits can reduce the returned page size, and
|
|
51
|
+
# zero affordable results returns 402 insufficient_credits.
|
|
52
|
+
page_size: nil,
|
|
39
53
|
request_options: {}
|
|
40
54
|
)
|
|
41
55
|
end
|
|
@@ -45,6 +59,7 @@ module XTwitterScraper
|
|
|
45
59
|
{
|
|
46
60
|
id: String,
|
|
47
61
|
cursor: String,
|
|
62
|
+
page_size: Integer,
|
|
48
63
|
request_options: XTwitterScraper::RequestOptions
|
|
49
64
|
}
|
|
50
65
|
)
|
|
@@ -15,6 +15,10 @@ module XTwitterScraper
|
|
|
15
15
|
)
|
|
16
16
|
end
|
|
17
17
|
|
|
18
|
+
# Numeric ID of the community whose posts to search
|
|
19
|
+
sig { returns(String) }
|
|
20
|
+
attr_accessor :community_id
|
|
21
|
+
|
|
18
22
|
# Search query
|
|
19
23
|
sig { returns(String) }
|
|
20
24
|
attr_accessor :q
|
|
@@ -26,26 +30,59 @@ module XTwitterScraper
|
|
|
26
30
|
sig { params(cursor: String).void }
|
|
27
31
|
attr_writer :cursor
|
|
28
32
|
|
|
33
|
+
# Maximum items requested from this page (1-100, default 20). The response can
|
|
34
|
+
# contain fewer items because the source returned fewer, filters removed items, or
|
|
35
|
+
# remaining credits cover fewer results. Keep requesting next_cursor while
|
|
36
|
+
# has_next_page is true, even when a page is empty. The deprecated limit and count
|
|
37
|
+
# aliases remain accepted.
|
|
38
|
+
sig { returns(T.nilable(Integer)) }
|
|
39
|
+
attr_reader :page_size
|
|
40
|
+
|
|
41
|
+
sig { params(page_size: Integer).void }
|
|
42
|
+
attr_writer :page_size
|
|
43
|
+
|
|
29
44
|
# Sort order (Latest or Top)
|
|
30
|
-
sig
|
|
45
|
+
sig do
|
|
46
|
+
returns(
|
|
47
|
+
T.nilable(
|
|
48
|
+
XTwitterScraper::X::CommunityRetrieveSearchParams::QueryType::OrSymbol
|
|
49
|
+
)
|
|
50
|
+
)
|
|
51
|
+
end
|
|
31
52
|
attr_reader :query_type
|
|
32
53
|
|
|
33
|
-
sig
|
|
54
|
+
sig do
|
|
55
|
+
params(
|
|
56
|
+
query_type:
|
|
57
|
+
XTwitterScraper::X::CommunityRetrieveSearchParams::QueryType::OrSymbol
|
|
58
|
+
).void
|
|
59
|
+
end
|
|
34
60
|
attr_writer :query_type
|
|
35
61
|
|
|
36
62
|
sig do
|
|
37
63
|
params(
|
|
64
|
+
community_id: String,
|
|
38
65
|
q: String,
|
|
39
66
|
cursor: String,
|
|
40
|
-
|
|
67
|
+
page_size: Integer,
|
|
68
|
+
query_type:
|
|
69
|
+
XTwitterScraper::X::CommunityRetrieveSearchParams::QueryType::OrSymbol,
|
|
41
70
|
request_options: XTwitterScraper::RequestOptions::OrHash
|
|
42
71
|
).returns(T.attached_class)
|
|
43
72
|
end
|
|
44
73
|
def self.new(
|
|
74
|
+
# Numeric ID of the community whose posts to search
|
|
75
|
+
community_id:,
|
|
45
76
|
# Search query
|
|
46
77
|
q:,
|
|
47
78
|
# Pagination cursor for community search
|
|
48
79
|
cursor: nil,
|
|
80
|
+
# Maximum items requested from this page (1-100, default 20). The response can
|
|
81
|
+
# contain fewer items because the source returned fewer, filters removed items, or
|
|
82
|
+
# remaining credits cover fewer results. Keep requesting next_cursor while
|
|
83
|
+
# has_next_page is true, even when a page is empty. The deprecated limit and count
|
|
84
|
+
# aliases remain accepted.
|
|
85
|
+
page_size: nil,
|
|
49
86
|
# Sort order (Latest or Top)
|
|
50
87
|
query_type: nil,
|
|
51
88
|
request_options: {}
|
|
@@ -55,15 +92,53 @@ module XTwitterScraper
|
|
|
55
92
|
sig do
|
|
56
93
|
override.returns(
|
|
57
94
|
{
|
|
95
|
+
community_id: String,
|
|
58
96
|
q: String,
|
|
59
97
|
cursor: String,
|
|
60
|
-
|
|
98
|
+
page_size: Integer,
|
|
99
|
+
query_type:
|
|
100
|
+
XTwitterScraper::X::CommunityRetrieveSearchParams::QueryType::OrSymbol,
|
|
61
101
|
request_options: XTwitterScraper::RequestOptions
|
|
62
102
|
}
|
|
63
103
|
)
|
|
64
104
|
end
|
|
65
105
|
def to_hash
|
|
66
106
|
end
|
|
107
|
+
|
|
108
|
+
# Sort order (Latest or Top)
|
|
109
|
+
module QueryType
|
|
110
|
+
extend XTwitterScraper::Internal::Type::Enum
|
|
111
|
+
|
|
112
|
+
TaggedSymbol =
|
|
113
|
+
T.type_alias do
|
|
114
|
+
T.all(
|
|
115
|
+
Symbol,
|
|
116
|
+
XTwitterScraper::X::CommunityRetrieveSearchParams::QueryType
|
|
117
|
+
)
|
|
118
|
+
end
|
|
119
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
120
|
+
|
|
121
|
+
LATEST =
|
|
122
|
+
T.let(
|
|
123
|
+
:Latest,
|
|
124
|
+
XTwitterScraper::X::CommunityRetrieveSearchParams::QueryType::TaggedSymbol
|
|
125
|
+
)
|
|
126
|
+
TOP =
|
|
127
|
+
T.let(
|
|
128
|
+
:Top,
|
|
129
|
+
XTwitterScraper::X::CommunityRetrieveSearchParams::QueryType::TaggedSymbol
|
|
130
|
+
)
|
|
131
|
+
|
|
132
|
+
sig do
|
|
133
|
+
override.returns(
|
|
134
|
+
T::Array[
|
|
135
|
+
XTwitterScraper::X::CommunityRetrieveSearchParams::QueryType::TaggedSymbol
|
|
136
|
+
]
|
|
137
|
+
)
|
|
138
|
+
end
|
|
139
|
+
def self.values
|
|
140
|
+
end
|
|
141
|
+
end
|
|
67
142
|
end
|
|
68
143
|
end
|
|
69
144
|
end
|
|
@@ -18,6 +18,11 @@ module XTwitterScraper
|
|
|
18
18
|
sig { returns(String) }
|
|
19
19
|
attr_accessor :user_id
|
|
20
20
|
|
|
21
|
+
# X handle (without the `@` prefix) of the connected X account used to read the
|
|
22
|
+
# conversation. The account must be a participant in the conversation.
|
|
23
|
+
sig { returns(String) }
|
|
24
|
+
attr_accessor :account
|
|
25
|
+
|
|
21
26
|
# Pagination cursor for DM history
|
|
22
27
|
sig { returns(T.nilable(String)) }
|
|
23
28
|
attr_reader :cursor
|
|
@@ -35,6 +40,7 @@ module XTwitterScraper
|
|
|
35
40
|
sig do
|
|
36
41
|
params(
|
|
37
42
|
user_id: String,
|
|
43
|
+
account: String,
|
|
38
44
|
cursor: String,
|
|
39
45
|
max_id: String,
|
|
40
46
|
request_options: XTwitterScraper::RequestOptions::OrHash
|
|
@@ -42,6 +48,9 @@ module XTwitterScraper
|
|
|
42
48
|
end
|
|
43
49
|
def self.new(
|
|
44
50
|
user_id:,
|
|
51
|
+
# X handle (without the `@` prefix) of the connected X account used to read the
|
|
52
|
+
# conversation. The account must be a participant in the conversation.
|
|
53
|
+
account:,
|
|
45
54
|
# Pagination cursor for DM history
|
|
46
55
|
cursor: nil,
|
|
47
56
|
# Legacy pagination cursor (backward compat)
|
|
@@ -54,6 +63,7 @@ module XTwitterScraper
|
|
|
54
63
|
override.returns(
|
|
55
64
|
{
|
|
56
65
|
user_id: String,
|
|
66
|
+
account: String,
|
|
57
67
|
cursor: String,
|
|
58
68
|
max_id: String,
|
|
59
69
|
request_options: XTwitterScraper::RequestOptions
|
|
@@ -67,23 +67,25 @@ module XTwitterScraper
|
|
|
67
67
|
sig { returns(String) }
|
|
68
68
|
attr_accessor :id
|
|
69
69
|
|
|
70
|
+
sig { returns(String) }
|
|
71
|
+
attr_accessor :receiver_id
|
|
72
|
+
|
|
73
|
+
sig { returns(String) }
|
|
74
|
+
attr_accessor :sender_id
|
|
75
|
+
|
|
70
76
|
sig { returns(T.nilable(String)) }
|
|
71
77
|
attr_reader :created_at
|
|
72
78
|
|
|
73
79
|
sig { params(created_at: String).void }
|
|
74
80
|
attr_writer :created_at
|
|
75
81
|
|
|
82
|
+
# URL of attached media (image, GIF, or video). Omitted when the message has no
|
|
83
|
+
# media attachment.
|
|
76
84
|
sig { returns(T.nilable(String)) }
|
|
77
|
-
attr_reader :
|
|
85
|
+
attr_reader :media_url
|
|
78
86
|
|
|
79
|
-
sig { params(
|
|
80
|
-
attr_writer :
|
|
81
|
-
|
|
82
|
-
sig { returns(T.nilable(String)) }
|
|
83
|
-
attr_reader :sender_id
|
|
84
|
-
|
|
85
|
-
sig { params(sender_id: String).void }
|
|
86
|
-
attr_writer :sender_id
|
|
87
|
+
sig { params(media_url: String).void }
|
|
88
|
+
attr_writer :media_url
|
|
87
89
|
|
|
88
90
|
sig { returns(T.nilable(String)) }
|
|
89
91
|
attr_reader :text
|
|
@@ -94,17 +96,21 @@ module XTwitterScraper
|
|
|
94
96
|
sig do
|
|
95
97
|
params(
|
|
96
98
|
id: String,
|
|
97
|
-
created_at: String,
|
|
98
99
|
receiver_id: String,
|
|
99
100
|
sender_id: String,
|
|
101
|
+
created_at: String,
|
|
102
|
+
media_url: String,
|
|
100
103
|
text: String
|
|
101
104
|
).returns(T.attached_class)
|
|
102
105
|
end
|
|
103
106
|
def self.new(
|
|
104
107
|
id:,
|
|
108
|
+
receiver_id:,
|
|
109
|
+
sender_id:,
|
|
105
110
|
created_at: nil,
|
|
106
|
-
|
|
107
|
-
|
|
111
|
+
# URL of attached media (image, GIF, or video). Omitted when the message has no
|
|
112
|
+
# media attachment.
|
|
113
|
+
media_url: nil,
|
|
108
114
|
text: nil
|
|
109
115
|
)
|
|
110
116
|
end
|
|
@@ -113,9 +119,10 @@ module XTwitterScraper
|
|
|
113
119
|
override.returns(
|
|
114
120
|
{
|
|
115
121
|
id: String,
|
|
116
|
-
created_at: String,
|
|
117
122
|
receiver_id: String,
|
|
118
123
|
sender_id: String,
|
|
124
|
+
created_at: String,
|
|
125
|
+
media_url: String,
|
|
119
126
|
text: String
|
|
120
127
|
}
|
|
121
128
|
)
|
|
@@ -25,25 +25,19 @@ module XTwitterScraper
|
|
|
25
25
|
sig { returns(String) }
|
|
26
26
|
attr_accessor :text
|
|
27
27
|
|
|
28
|
+
# Optional array containing exactly 1 uploaded media ID.
|
|
28
29
|
sig { returns(T.nilable(T::Array[String])) }
|
|
29
30
|
attr_reader :media_ids
|
|
30
31
|
|
|
31
32
|
sig { params(media_ids: T::Array[String]).void }
|
|
32
33
|
attr_writer :media_ids
|
|
33
34
|
|
|
34
|
-
sig { returns(T.nilable(String)) }
|
|
35
|
-
attr_reader :reply_to_message_id
|
|
36
|
-
|
|
37
|
-
sig { params(reply_to_message_id: String).void }
|
|
38
|
-
attr_writer :reply_to_message_id
|
|
39
|
-
|
|
40
35
|
sig do
|
|
41
36
|
params(
|
|
42
37
|
user_id: String,
|
|
43
38
|
account: String,
|
|
44
39
|
text: String,
|
|
45
40
|
media_ids: T::Array[String],
|
|
46
|
-
reply_to_message_id: String,
|
|
47
41
|
request_options: XTwitterScraper::RequestOptions::OrHash
|
|
48
42
|
).returns(T.attached_class)
|
|
49
43
|
end
|
|
@@ -52,8 +46,8 @@ module XTwitterScraper
|
|
|
52
46
|
# X account (@username or ID) sending the DM
|
|
53
47
|
account:,
|
|
54
48
|
text:,
|
|
49
|
+
# Optional array containing exactly 1 uploaded media ID.
|
|
55
50
|
media_ids: nil,
|
|
56
|
-
reply_to_message_id: nil,
|
|
57
51
|
request_options: {}
|
|
58
52
|
)
|
|
59
53
|
end
|
|
@@ -65,7 +59,6 @@ module XTwitterScraper
|
|
|
65
59
|
account: String,
|
|
66
60
|
text: String,
|
|
67
61
|
media_ids: T::Array[String],
|
|
68
|
-
reply_to_message_id: String,
|
|
69
62
|
request_options: XTwitterScraper::RequestOptions
|
|
70
63
|
}
|
|
71
64
|
)
|
|
@@ -15,11 +15,11 @@ module XTwitterScraper
|
|
|
15
15
|
)
|
|
16
16
|
end
|
|
17
17
|
|
|
18
|
-
#
|
|
18
|
+
# Source username, @username, or X or Twitter profile URL
|
|
19
19
|
sig { returns(String) }
|
|
20
20
|
attr_accessor :source
|
|
21
21
|
|
|
22
|
-
# Target username
|
|
22
|
+
# Target username, @username, or X or Twitter profile URL
|
|
23
23
|
sig { returns(String) }
|
|
24
24
|
attr_accessor :target
|
|
25
25
|
|
|
@@ -31,9 +31,9 @@ module XTwitterScraper
|
|
|
31
31
|
).returns(T.attached_class)
|
|
32
32
|
end
|
|
33
33
|
def self.new(
|
|
34
|
-
#
|
|
34
|
+
# Source username, @username, or X or Twitter profile URL
|
|
35
35
|
source:,
|
|
36
|
-
# Target username
|
|
36
|
+
# Target username, @username, or X or Twitter profile URL
|
|
37
37
|
target:,
|
|
38
38
|
request_options: {}
|
|
39
39
|
)
|