x-twitter-scraper 0.7.2 → 0.9.0
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 +24 -0
- data/README.md +3 -3
- data/lib/x_twitter_scraper/models/credit_topup_balance_response.rb +5 -5
- data/lib/x_twitter_scraper/models/draw_export_params.rb +8 -3
- data/lib/x_twitter_scraper/models/draw_list_params.rb +2 -2
- data/lib/x_twitter_scraper/models/error.rb +8 -0
- data/lib/x_twitter_scraper/models/event_list_params.rb +13 -5
- data/lib/x_twitter_scraper/models/extraction_estimate_cost_params.rb +731 -82
- data/lib/x_twitter_scraper/models/extraction_estimate_cost_response.rb +1 -0
- data/lib/x_twitter_scraper/models/extraction_export_results_params.rb +145 -1
- data/lib/x_twitter_scraper/models/extraction_list_params.rb +2 -2
- data/lib/x_twitter_scraper/models/extraction_retrieve_params.rb +70 -3
- data/lib/x_twitter_scraper/models/extraction_run_params.rb +662 -1
- data/lib/x_twitter_scraper/models/extraction_run_response.rb +27 -48
- data/lib/x_twitter_scraper/models/guest_wallet_create_response.rb +8 -8
- data/lib/x_twitter_scraper/models/guest_wallet_topup_response.rb +9 -9
- data/lib/x_twitter_scraper/models/monitor.rb +29 -1
- data/lib/x_twitter_scraper/models/paginated_tweets.rb +4 -4
- data/lib/x_twitter_scraper/models/paginated_users.rb +5 -5
- data/lib/x_twitter_scraper/models/support/attachment_download_params.rb +28 -0
- data/lib/x_twitter_scraper/models/x/community_retrieve_members_params.rb +113 -1
- data/lib/x_twitter_scraper/models/x/community_retrieve_moderators_params.rb +117 -1
- data/lib/x_twitter_scraper/models/x/list_retrieve_followers_params.rb +117 -6
- data/lib/x_twitter_scraper/models/x/list_retrieve_members_params.rb +116 -1
- data/lib/x_twitter_scraper/models/x/tweet_get_favoriters_params.rb +117 -6
- data/lib/x_twitter_scraper/models/x/tweet_get_quotes_params.rb +153 -1
- data/lib/x_twitter_scraper/models/x/tweet_get_replies_params.rb +246 -16
- data/lib/x_twitter_scraper/models/x/tweet_get_replies_response.rb +3 -2
- data/lib/x_twitter_scraper/models/x/tweet_get_retweeters_params.rb +117 -6
- data/lib/x_twitter_scraper/models/x/tweet_search_params.rb +187 -14
- data/lib/x_twitter_scraper/models/x/tweet_search_response.rb +299 -0
- data/lib/x_twitter_scraper/models/x/user_retrieve_followers_params.rb +143 -10
- data/lib/x_twitter_scraper/models/x/user_retrieve_followers_response.rb +241 -0
- data/lib/x_twitter_scraper/models/x/user_retrieve_followers_you_know_params.rb +117 -6
- data/lib/x_twitter_scraper/models/x/user_retrieve_following_params.rb +143 -10
- data/lib/x_twitter_scraper/models/x/user_retrieve_following_response.rb +241 -0
- data/lib/x_twitter_scraper/models/x/user_retrieve_likes_params.rb +153 -1
- data/lib/x_twitter_scraper/models/x/user_retrieve_media_params.rb +153 -1
- data/lib/x_twitter_scraper/models/x/user_retrieve_mentions_params.rb +153 -1
- data/lib/x_twitter_scraper/models/x/user_retrieve_replies_params.rb +159 -7
- data/lib/x_twitter_scraper/models/x/user_retrieve_search_params.rb +116 -1
- data/lib/x_twitter_scraper/models/x/user_retrieve_tweets_params.rb +159 -7
- data/lib/x_twitter_scraper/models/x/user_retrieve_verified_followers_params.rb +157 -8
- data/lib/x_twitter_scraper/models/x/user_retrieve_verified_followers_response.rb +245 -0
- data/lib/x_twitter_scraper/models/x/x_account.rb +7 -11
- data/lib/x_twitter_scraper/resources/credits.rb +2 -2
- data/lib/x_twitter_scraper/resources/draws.rb +5 -2
- data/lib/x_twitter_scraper/resources/events.rb +10 -4
- data/lib/x_twitter_scraper/resources/extractions.rb +383 -84
- data/lib/x_twitter_scraper/resources/guest_wallets.rb +9 -13
- data/lib/x_twitter_scraper/resources/support/attachments.rb +42 -0
- data/lib/x_twitter_scraper/resources/support.rb +5 -0
- data/lib/x_twitter_scraper/resources/x/communities.rb +95 -4
- data/lib/x_twitter_scraper/resources/x/lists.rb +96 -5
- data/lib/x_twitter_scraper/resources/x/tweets.rb +286 -28
- data/lib/x_twitter_scraper/resources/x/users.rb +531 -41
- data/lib/x_twitter_scraper/version.rb +1 -1
- data/lib/x_twitter_scraper.rb +7 -1
- data/rbi/x_twitter_scraper/models/credit_topup_balance_response.rbi +6 -6
- data/rbi/x_twitter_scraper/models/draw_export_params.rbi +6 -3
- data/rbi/x_twitter_scraper/models/draw_list_params.rbi +2 -2
- data/rbi/x_twitter_scraper/models/error.rbi +40 -0
- data/rbi/x_twitter_scraper/models/event_list_params.rbi +15 -4
- data/rbi/x_twitter_scraper/models/extraction_estimate_cost_params.rbi +1338 -86
- data/rbi/x_twitter_scraper/models/extraction_estimate_cost_response.rbi +5 -0
- data/rbi/x_twitter_scraper/models/extraction_export_results_params.rbi +198 -0
- data/rbi/x_twitter_scraper/models/extraction_list_params.rbi +2 -2
- data/rbi/x_twitter_scraper/models/extraction_retrieve_params.rbi +194 -2
- data/rbi/x_twitter_scraper/models/extraction_run_params.rbi +1221 -0
- data/rbi/x_twitter_scraper/models/extraction_run_response.rbi +35 -162
- data/rbi/x_twitter_scraper/models/guest_wallet_create_response.rbi +8 -6
- data/rbi/x_twitter_scraper/models/guest_wallet_topup_response.rbi +9 -7
- data/rbi/x_twitter_scraper/models/monitor.rbi +54 -3
- data/rbi/x_twitter_scraper/models/paginated_tweets.rbi +4 -4
- data/rbi/x_twitter_scraper/models/paginated_users.rbi +5 -5
- data/rbi/x_twitter_scraper/models/support/attachment_download_params.rbi +51 -0
- data/rbi/x_twitter_scraper/models/x/community_retrieve_members_params.rbi +154 -0
- data/rbi/x_twitter_scraper/models/x/community_retrieve_moderators_params.rbi +154 -0
- data/rbi/x_twitter_scraper/models/x/list_retrieve_followers_params.rbi +160 -8
- data/rbi/x_twitter_scraper/models/x/list_retrieve_members_params.rbi +154 -0
- data/rbi/x_twitter_scraper/models/x/tweet_get_favoriters_params.rbi +160 -8
- data/rbi/x_twitter_scraper/models/x/tweet_get_quotes_params.rbi +209 -0
- data/rbi/x_twitter_scraper/models/x/tweet_get_replies_params.rbi +403 -20
- data/rbi/x_twitter_scraper/models/x/tweet_get_replies_response.rbi +3 -2
- data/rbi/x_twitter_scraper/models/x/tweet_get_retweeters_params.rbi +160 -8
- data/rbi/x_twitter_scraper/models/x/tweet_search_params.rbi +279 -16
- data/rbi/x_twitter_scraper/models/x/tweet_search_response.rbi +543 -0
- data/rbi/x_twitter_scraper/models/x/user_retrieve_followers_params.rbi +228 -12
- data/rbi/x_twitter_scraper/models/x/user_retrieve_followers_response.rbi +440 -0
- data/rbi/x_twitter_scraper/models/x/user_retrieve_followers_you_know_params.rbi +160 -8
- data/rbi/x_twitter_scraper/models/x/user_retrieve_following_params.rbi +228 -12
- data/rbi/x_twitter_scraper/models/x/user_retrieve_following_response.rbi +440 -0
- data/rbi/x_twitter_scraper/models/x/user_retrieve_likes_params.rbi +209 -0
- data/rbi/x_twitter_scraper/models/x/user_retrieve_media_params.rbi +209 -0
- data/rbi/x_twitter_scraper/models/x/user_retrieve_mentions_params.rbi +209 -0
- data/rbi/x_twitter_scraper/models/x/user_retrieve_replies_params.rbi +217 -8
- data/rbi/x_twitter_scraper/models/x/user_retrieve_search_params.rbi +154 -0
- data/rbi/x_twitter_scraper/models/x/user_retrieve_tweets_params.rbi +217 -8
- data/rbi/x_twitter_scraper/models/x/user_retrieve_verified_followers_params.rbi +248 -10
- data/rbi/x_twitter_scraper/models/x/user_retrieve_verified_followers_response.rbi +440 -0
- data/rbi/x_twitter_scraper/models/x/x_account.rbi +9 -15
- data/rbi/x_twitter_scraper/resources/credits.rbi +2 -2
- data/rbi/x_twitter_scraper/resources/draws.rbi +3 -2
- data/rbi/x_twitter_scraper/resources/events.rbi +5 -2
- data/rbi/x_twitter_scraper/resources/extractions.rbi +525 -83
- data/rbi/x_twitter_scraper/resources/guest_wallets.rbi +9 -13
- data/rbi/x_twitter_scraper/resources/support/attachments.rbi +35 -0
- data/rbi/x_twitter_scraper/resources/support.rbi +4 -0
- data/rbi/x_twitter_scraper/resources/x/communities.rbi +84 -0
- data/rbi/x_twitter_scraper/resources/x/lists.rbi +87 -4
- data/rbi/x_twitter_scraper/resources/x/tweets.rbi +307 -31
- data/rbi/x_twitter_scraper/resources/x/users.rbi +558 -34
- data/sig/x_twitter_scraper/models/error.rbs +16 -0
- data/sig/x_twitter_scraper/models/event_list_params.rbs +7 -0
- data/sig/x_twitter_scraper/models/extraction_estimate_cost_params.rbs +605 -1
- data/sig/x_twitter_scraper/models/extraction_estimate_cost_response.rbs +2 -0
- data/sig/x_twitter_scraper/models/extraction_export_results_params.rbs +127 -1
- data/sig/x_twitter_scraper/models/extraction_retrieve_params.rbs +74 -1
- data/sig/x_twitter_scraper/models/extraction_run_params.rbs +611 -1
- data/sig/x_twitter_scraper/models/extraction_run_response.rbs +29 -67
- data/sig/x_twitter_scraper/models/guest_wallet_create_response.rbs +4 -4
- data/sig/x_twitter_scraper/models/guest_wallet_topup_response.rbs +4 -4
- data/sig/x_twitter_scraper/models/monitor.rbs +29 -3
- data/sig/x_twitter_scraper/models/support/attachment_download_params.rbs +32 -0
- data/sig/x_twitter_scraper/models/x/community_retrieve_members_params.rbs +103 -1
- data/sig/x_twitter_scraper/models/x/community_retrieve_moderators_params.rbs +102 -1
- data/sig/x_twitter_scraper/models/x/list_retrieve_followers_params.rbs +103 -1
- data/sig/x_twitter_scraper/models/x/list_retrieve_members_params.rbs +103 -1
- data/sig/x_twitter_scraper/models/x/tweet_get_favoriters_params.rbs +103 -1
- data/sig/x_twitter_scraper/models/x/tweet_get_quotes_params.rbs +134 -1
- data/sig/x_twitter_scraper/models/x/tweet_get_replies_params.rbs +207 -2
- data/sig/x_twitter_scraper/models/x/tweet_get_retweeters_params.rbs +103 -1
- data/sig/x_twitter_scraper/models/x/tweet_search_params.rbs +154 -1
- data/sig/x_twitter_scraper/models/x/tweet_search_response.rbs +258 -0
- data/sig/x_twitter_scraper/models/x/user_retrieve_followers_params.rbs +119 -1
- data/sig/x_twitter_scraper/models/x/user_retrieve_followers_response.rbs +216 -0
- data/sig/x_twitter_scraper/models/x/user_retrieve_followers_you_know_params.rbs +103 -1
- data/sig/x_twitter_scraper/models/x/user_retrieve_following_params.rbs +119 -1
- data/sig/x_twitter_scraper/models/x/user_retrieve_following_response.rbs +216 -0
- data/sig/x_twitter_scraper/models/x/user_retrieve_likes_params.rbs +134 -1
- data/sig/x_twitter_scraper/models/x/user_retrieve_media_params.rbs +134 -1
- data/sig/x_twitter_scraper/models/x/user_retrieve_mentions_params.rbs +134 -1
- data/sig/x_twitter_scraper/models/x/user_retrieve_replies_params.rbs +134 -1
- data/sig/x_twitter_scraper/models/x/user_retrieve_search_params.rbs +102 -1
- data/sig/x_twitter_scraper/models/x/user_retrieve_tweets_params.rbs +134 -1
- data/sig/x_twitter_scraper/models/x/user_retrieve_verified_followers_params.rbs +137 -1
- data/sig/x_twitter_scraper/models/x/user_retrieve_verified_followers_response.rbs +216 -0
- data/sig/x_twitter_scraper/resources/events.rbs +1 -0
- data/sig/x_twitter_scraper/resources/extractions.rbs +137 -0
- data/sig/x_twitter_scraper/resources/support/attachments.rbs +15 -0
- data/sig/x_twitter_scraper/resources/support.rbs +2 -0
- data/sig/x_twitter_scraper/resources/x/communities.rbs +28 -0
- data/sig/x_twitter_scraper/resources/x/lists.rbs +28 -0
- data/sig/x_twitter_scraper/resources/x/tweets.rbs +93 -1
- data/sig/x_twitter_scraper/resources/x/users.rbs +173 -3
- metadata +19 -1
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module XTwitterScraper
|
|
4
|
+
module Models
|
|
5
|
+
module X
|
|
6
|
+
# Paginated user profiles. No-mode follower, following, and verified follower
|
|
7
|
+
# requests merge independent views automatically. Response fields, page size,
|
|
8
|
+
# aliases, filters, and per-returned-profile billing stay unchanged. Existing
|
|
9
|
+
# unprefixed cursors retain legacy behavior. Follow next_cursor while
|
|
10
|
+
# has_next_page is true.
|
|
11
|
+
#
|
|
12
|
+
# @see XTwitterScraper::Resources::X::Users#retrieve_followers
|
|
13
|
+
module UserRetrieveFollowersResponse
|
|
14
|
+
extend XTwitterScraper::Internal::Type::Union
|
|
15
|
+
|
|
16
|
+
# Paginated user profiles. No-mode follower, following, and verified follower requests merge independent views automatically. Response fields, page size, aliases, filters, and per-returned-profile billing stay unchanged. Existing unprefixed cursors retain legacy behavior. Follow next_cursor while has_next_page is true.
|
|
17
|
+
variant -> { XTwitterScraper::PaginatedUsers }
|
|
18
|
+
|
|
19
|
+
# Paginated user profiles. No-mode follower, following, and verified follower requests merge independent views automatically. Response fields, page size, aliases, filters, and per-returned-profile billing stay unchanged. Existing unprefixed cursors retain legacy behavior. Follow next_cursor while has_next_page is true.
|
|
20
|
+
variant -> { XTwitterScraper::Models::X::UserRetrieveFollowersResponse::UserListCoverageResponse }
|
|
21
|
+
|
|
22
|
+
class UserListCoverageResponse < XTwitterScraper::Models::PaginatedUsers
|
|
23
|
+
# @!attribute diagnostic
|
|
24
|
+
# Coverage evidence across parallel relationship strategies.
|
|
25
|
+
#
|
|
26
|
+
# @return [XTwitterScraper::Models::X::UserRetrieveFollowersResponse::UserListCoverageResponse::Diagnostic]
|
|
27
|
+
required :diagnostic,
|
|
28
|
+
-> { XTwitterScraper::Models::X::UserRetrieveFollowersResponse::UserListCoverageResponse::Diagnostic }
|
|
29
|
+
|
|
30
|
+
# @!attribute has_next_page
|
|
31
|
+
#
|
|
32
|
+
# @return [Boolean, XTwitterScraper::Models::X::UserRetrieveFollowersResponse::UserListCoverageResponse::HasNextPage, nil]
|
|
33
|
+
optional :has_next_page,
|
|
34
|
+
enum: -> { XTwitterScraper::Models::X::UserRetrieveFollowersResponse::UserListCoverageResponse::HasNextPage }
|
|
35
|
+
|
|
36
|
+
# @!attribute next_cursor
|
|
37
|
+
#
|
|
38
|
+
# @return [Symbol, XTwitterScraper::Models::X::UserRetrieveFollowersResponse::UserListCoverageResponse::NextCursor, nil]
|
|
39
|
+
optional :next_cursor,
|
|
40
|
+
enum: -> { XTwitterScraper::Models::X::UserRetrieveFollowersResponse::UserListCoverageResponse::NextCursor }
|
|
41
|
+
|
|
42
|
+
# @!method initialize(diagnostic:, has_next_page: nil, next_cursor: nil)
|
|
43
|
+
# Paginated user profiles. No-mode follower, following, and verified follower
|
|
44
|
+
# requests merge independent views automatically. Response fields, page size,
|
|
45
|
+
# aliases, filters, and per-returned-profile billing stay unchanged. Existing
|
|
46
|
+
# unprefixed cursors retain legacy behavior. Follow next_cursor while
|
|
47
|
+
# has_next_page is true.
|
|
48
|
+
#
|
|
49
|
+
# @param diagnostic [XTwitterScraper::Models::X::UserRetrieveFollowersResponse::UserListCoverageResponse::Diagnostic] Coverage evidence across parallel relationship strategies.
|
|
50
|
+
#
|
|
51
|
+
# @param has_next_page [Boolean, XTwitterScraper::Models::X::UserRetrieveFollowersResponse::UserListCoverageResponse::HasNextPage]
|
|
52
|
+
#
|
|
53
|
+
# @param next_cursor [Symbol, XTwitterScraper::Models::X::UserRetrieveFollowersResponse::UserListCoverageResponse::NextCursor]
|
|
54
|
+
|
|
55
|
+
class Diagnostic < XTwitterScraper::Internal::Type::BaseModel
|
|
56
|
+
# @!attribute complete
|
|
57
|
+
# True when every strategy exhausted its source.
|
|
58
|
+
#
|
|
59
|
+
# @return [Boolean]
|
|
60
|
+
required :complete, XTwitterScraper::Internal::Type::Boolean
|
|
61
|
+
|
|
62
|
+
# @!attribute cursor_failure_count
|
|
63
|
+
#
|
|
64
|
+
# @return [Integer]
|
|
65
|
+
required :cursor_failure_count, Integer, api_name: :cursorFailureCount
|
|
66
|
+
|
|
67
|
+
# @!attribute deadline_reached
|
|
68
|
+
#
|
|
69
|
+
# @return [Boolean]
|
|
70
|
+
required :deadline_reached, XTwitterScraper::Internal::Type::Boolean, api_name: :deadlineReached
|
|
71
|
+
|
|
72
|
+
# @!attribute duplicate_count
|
|
73
|
+
#
|
|
74
|
+
# @return [Integer]
|
|
75
|
+
required :duplicate_count, Integer, api_name: :duplicateCount
|
|
76
|
+
|
|
77
|
+
# @!attribute failed_strategy_count
|
|
78
|
+
#
|
|
79
|
+
# @return [Integer]
|
|
80
|
+
required :failed_strategy_count, Integer, api_name: :failedStrategyCount
|
|
81
|
+
|
|
82
|
+
# @!attribute malformed_count
|
|
83
|
+
#
|
|
84
|
+
# @return [Integer]
|
|
85
|
+
required :malformed_count, Integer, api_name: :malformedCount
|
|
86
|
+
|
|
87
|
+
# @!attribute pages_fetched
|
|
88
|
+
#
|
|
89
|
+
# @return [Integer]
|
|
90
|
+
required :pages_fetched, Integer, api_name: :pagesFetched
|
|
91
|
+
|
|
92
|
+
# @!attribute response_truncated
|
|
93
|
+
# Whether credits or the requested limit reduced output.
|
|
94
|
+
#
|
|
95
|
+
# @return [Boolean]
|
|
96
|
+
required :response_truncated,
|
|
97
|
+
XTwitterScraper::Internal::Type::Boolean,
|
|
98
|
+
api_name: :responseTruncated
|
|
99
|
+
|
|
100
|
+
# @!attribute result_limit_reached
|
|
101
|
+
#
|
|
102
|
+
# @return [Boolean]
|
|
103
|
+
required :result_limit_reached,
|
|
104
|
+
XTwitterScraper::Internal::Type::Boolean,
|
|
105
|
+
api_name: :resultLimitReached
|
|
106
|
+
|
|
107
|
+
# @!attribute returned_users
|
|
108
|
+
#
|
|
109
|
+
# @return [Integer]
|
|
110
|
+
required :returned_users, Integer, api_name: :returnedUsers
|
|
111
|
+
|
|
112
|
+
# @!attribute stalled_strategy_count
|
|
113
|
+
#
|
|
114
|
+
# @return [Integer]
|
|
115
|
+
required :stalled_strategy_count, Integer, api_name: :stalledStrategyCount
|
|
116
|
+
|
|
117
|
+
# @!attribute strategies
|
|
118
|
+
#
|
|
119
|
+
# @return [Array<XTwitterScraper::Models::X::UserRetrieveFollowersResponse::UserListCoverageResponse::Diagnostic::Strategy>]
|
|
120
|
+
required :strategies,
|
|
121
|
+
-> { XTwitterScraper::Internal::Type::ArrayOf[XTwitterScraper::Models::X::UserRetrieveFollowersResponse::UserListCoverageResponse::Diagnostic::Strategy] }
|
|
122
|
+
|
|
123
|
+
# @!attribute strategy_count
|
|
124
|
+
#
|
|
125
|
+
# @return [Integer]
|
|
126
|
+
required :strategy_count, Integer, api_name: :strategyCount
|
|
127
|
+
|
|
128
|
+
# @!attribute unique_users
|
|
129
|
+
#
|
|
130
|
+
# @return [Integer]
|
|
131
|
+
required :unique_users, Integer, api_name: :uniqueUsers
|
|
132
|
+
|
|
133
|
+
# @!method initialize(complete:, cursor_failure_count:, deadline_reached:, duplicate_count:, failed_strategy_count:, malformed_count:, pages_fetched:, response_truncated:, result_limit_reached:, returned_users:, stalled_strategy_count:, strategies:, strategy_count:, unique_users:)
|
|
134
|
+
# Coverage evidence across parallel relationship strategies.
|
|
135
|
+
#
|
|
136
|
+
# @param complete [Boolean] True when every strategy exhausted its source.
|
|
137
|
+
#
|
|
138
|
+
# @param cursor_failure_count [Integer]
|
|
139
|
+
#
|
|
140
|
+
# @param deadline_reached [Boolean]
|
|
141
|
+
#
|
|
142
|
+
# @param duplicate_count [Integer]
|
|
143
|
+
#
|
|
144
|
+
# @param failed_strategy_count [Integer]
|
|
145
|
+
#
|
|
146
|
+
# @param malformed_count [Integer]
|
|
147
|
+
#
|
|
148
|
+
# @param pages_fetched [Integer]
|
|
149
|
+
#
|
|
150
|
+
# @param response_truncated [Boolean] Whether credits or the requested limit reduced output.
|
|
151
|
+
#
|
|
152
|
+
# @param result_limit_reached [Boolean]
|
|
153
|
+
#
|
|
154
|
+
# @param returned_users [Integer]
|
|
155
|
+
#
|
|
156
|
+
# @param stalled_strategy_count [Integer]
|
|
157
|
+
#
|
|
158
|
+
# @param strategies [Array<XTwitterScraper::Models::X::UserRetrieveFollowersResponse::UserListCoverageResponse::Diagnostic::Strategy>]
|
|
159
|
+
#
|
|
160
|
+
# @param strategy_count [Integer]
|
|
161
|
+
#
|
|
162
|
+
# @param unique_users [Integer]
|
|
163
|
+
|
|
164
|
+
class Strategy < XTwitterScraper::Internal::Type::BaseModel
|
|
165
|
+
# @!attribute duplicate_count
|
|
166
|
+
#
|
|
167
|
+
# @return [Integer]
|
|
168
|
+
required :duplicate_count, Integer, api_name: :duplicateCount
|
|
169
|
+
|
|
170
|
+
# @!attribute pages_fetched
|
|
171
|
+
#
|
|
172
|
+
# @return [Integer]
|
|
173
|
+
required :pages_fetched, Integer, api_name: :pagesFetched
|
|
174
|
+
|
|
175
|
+
# @!attribute stop_reason
|
|
176
|
+
#
|
|
177
|
+
# @return [Symbol, XTwitterScraper::Models::X::UserRetrieveFollowersResponse::UserListCoverageResponse::Diagnostic::Strategy::StopReason]
|
|
178
|
+
required :stop_reason,
|
|
179
|
+
enum: -> { XTwitterScraper::Models::X::UserRetrieveFollowersResponse::UserListCoverageResponse::Diagnostic::Strategy::StopReason },
|
|
180
|
+
api_name: :stopReason
|
|
181
|
+
|
|
182
|
+
# @!attribute strategy
|
|
183
|
+
#
|
|
184
|
+
# @return [Integer]
|
|
185
|
+
required :strategy, Integer
|
|
186
|
+
|
|
187
|
+
# @!attribute unique_added
|
|
188
|
+
#
|
|
189
|
+
# @return [Integer]
|
|
190
|
+
required :unique_added, Integer, api_name: :uniqueAdded
|
|
191
|
+
|
|
192
|
+
# @!method initialize(duplicate_count:, pages_fetched:, stop_reason:, strategy:, unique_added:)
|
|
193
|
+
# @param duplicate_count [Integer]
|
|
194
|
+
# @param pages_fetched [Integer]
|
|
195
|
+
# @param stop_reason [Symbol, XTwitterScraper::Models::X::UserRetrieveFollowersResponse::UserListCoverageResponse::Diagnostic::Strategy::StopReason]
|
|
196
|
+
# @param strategy [Integer]
|
|
197
|
+
# @param unique_added [Integer]
|
|
198
|
+
|
|
199
|
+
# @see XTwitterScraper::Models::X::UserRetrieveFollowersResponse::UserListCoverageResponse::Diagnostic::Strategy#stop_reason
|
|
200
|
+
module StopReason
|
|
201
|
+
extend XTwitterScraper::Internal::Type::Enum
|
|
202
|
+
|
|
203
|
+
CURSOR_FAILURE = :cursor_failure
|
|
204
|
+
DEADLINE = :deadline
|
|
205
|
+
EXHAUSTED = :exhausted
|
|
206
|
+
FAILED = :failed
|
|
207
|
+
PAGE_LIMIT = :page_limit
|
|
208
|
+
RESULT_LIMIT = :result_limit
|
|
209
|
+
STALLED = :stalled
|
|
210
|
+
|
|
211
|
+
# @!method self.values
|
|
212
|
+
# @return [Array<Symbol>]
|
|
213
|
+
end
|
|
214
|
+
end
|
|
215
|
+
end
|
|
216
|
+
|
|
217
|
+
module HasNextPage
|
|
218
|
+
extend XTwitterScraper::Internal::Type::Enum
|
|
219
|
+
|
|
220
|
+
FALSE = false
|
|
221
|
+
|
|
222
|
+
# @!method self.values
|
|
223
|
+
# @return [Array<Boolean>]
|
|
224
|
+
end
|
|
225
|
+
|
|
226
|
+
module NextCursor
|
|
227
|
+
extend XTwitterScraper::Internal::Type::Enum
|
|
228
|
+
|
|
229
|
+
EMPTY = :""
|
|
230
|
+
|
|
231
|
+
# @!method self.values
|
|
232
|
+
# @return [Array<Symbol>]
|
|
233
|
+
end
|
|
234
|
+
end
|
|
235
|
+
|
|
236
|
+
# @!method self.variants
|
|
237
|
+
# @return [Array(XTwitterScraper::Models::PaginatedUsers, XTwitterScraper::Models::X::UserRetrieveFollowersResponse::UserListCoverageResponse)]
|
|
238
|
+
end
|
|
239
|
+
end
|
|
240
|
+
end
|
|
241
|
+
end
|
|
@@ -17,31 +17,142 @@ module XTwitterScraper
|
|
|
17
17
|
# @return [String]
|
|
18
18
|
required :id, String
|
|
19
19
|
|
|
20
|
+
# @!attribute bio_contains
|
|
21
|
+
# Match any comma-separated or line-separated bio term, ignoring case.
|
|
22
|
+
#
|
|
23
|
+
# @return [String, nil]
|
|
24
|
+
optional :bio_contains, String
|
|
25
|
+
|
|
20
26
|
# @!attribute cursor
|
|
21
27
|
# Pagination cursor for followers-you-know
|
|
22
28
|
#
|
|
23
29
|
# @return [String, nil]
|
|
24
30
|
optional :cursor, String
|
|
25
31
|
|
|
32
|
+
# @!attribute has_location
|
|
33
|
+
# Only return profiles with a location.
|
|
34
|
+
#
|
|
35
|
+
# @return [Boolean, nil]
|
|
36
|
+
optional :has_location, XTwitterScraper::Internal::Type::Boolean
|
|
37
|
+
|
|
38
|
+
# @!attribute has_website
|
|
39
|
+
# Only return profiles with a website.
|
|
40
|
+
#
|
|
41
|
+
# @return [Boolean, nil]
|
|
42
|
+
optional :has_website, XTwitterScraper::Internal::Type::Boolean
|
|
43
|
+
|
|
44
|
+
# @!attribute location_contains
|
|
45
|
+
# Match a location substring, ignoring case.
|
|
46
|
+
#
|
|
47
|
+
# @return [String, nil]
|
|
48
|
+
optional :location_contains, String
|
|
49
|
+
|
|
50
|
+
# @!attribute max_followers
|
|
51
|
+
# Maximum follower count. Missing counts pass this maximum.
|
|
52
|
+
#
|
|
53
|
+
# @return [Integer, nil]
|
|
54
|
+
optional :max_followers, Integer
|
|
55
|
+
|
|
56
|
+
# @!attribute max_following
|
|
57
|
+
# Maximum following count.
|
|
58
|
+
#
|
|
59
|
+
# @return [Integer, nil]
|
|
60
|
+
optional :max_following, Integer
|
|
61
|
+
|
|
62
|
+
# @!attribute max_statuses
|
|
63
|
+
# Maximum post count. maxPosts is also accepted.
|
|
64
|
+
#
|
|
65
|
+
# @return [Integer, nil]
|
|
66
|
+
optional :max_statuses, Integer
|
|
67
|
+
|
|
68
|
+
# @!attribute min_account_age_days
|
|
69
|
+
# Minimum account age in whole days.
|
|
70
|
+
#
|
|
71
|
+
# @return [Integer, nil]
|
|
72
|
+
optional :min_account_age_days, Integer
|
|
73
|
+
|
|
74
|
+
# @!attribute min_followers
|
|
75
|
+
# Minimum follower count. Filtering happens before billing.
|
|
76
|
+
#
|
|
77
|
+
# @return [Integer, nil]
|
|
78
|
+
optional :min_followers, Integer
|
|
79
|
+
|
|
80
|
+
# @!attribute min_following
|
|
81
|
+
# Minimum following count.
|
|
82
|
+
#
|
|
83
|
+
# @return [Integer, nil]
|
|
84
|
+
optional :min_following, Integer
|
|
85
|
+
|
|
86
|
+
# @!attribute min_statuses
|
|
87
|
+
# Minimum post count. minPosts is also accepted.
|
|
88
|
+
#
|
|
89
|
+
# @return [Integer, nil]
|
|
90
|
+
optional :min_statuses, Integer
|
|
91
|
+
|
|
26
92
|
# @!attribute page_size
|
|
27
|
-
# Maximum user profiles requested from this page (20-200, default 200).
|
|
28
|
-
#
|
|
29
|
-
#
|
|
30
|
-
# has_next_page is true. The deprecated limit and count aliases remain accepted.
|
|
93
|
+
# Maximum user profiles requested from this page (20-200, default 200). Source,
|
|
94
|
+
# filters, or credits can return fewer profiles. Keep requesting next_cursor while
|
|
95
|
+
# has_next_page is true. Deprecated aliases remain accepted.
|
|
31
96
|
#
|
|
32
97
|
# @return [Integer, nil]
|
|
33
98
|
optional :page_size, Integer
|
|
34
99
|
|
|
35
|
-
# @!
|
|
100
|
+
# @!attribute username_contains
|
|
101
|
+
# Match a username substring, ignoring case.
|
|
102
|
+
#
|
|
103
|
+
# @return [String, nil]
|
|
104
|
+
optional :username_contains, String
|
|
105
|
+
|
|
106
|
+
# @!attribute verified_only
|
|
107
|
+
# Only return verified profiles.
|
|
108
|
+
#
|
|
109
|
+
# @return [Boolean, nil]
|
|
110
|
+
optional :verified_only, XTwitterScraper::Internal::Type::Boolean
|
|
111
|
+
|
|
112
|
+
# @!attribute verified_type
|
|
113
|
+
# Match the verification type exactly, ignoring case.
|
|
114
|
+
#
|
|
115
|
+
# @return [String, nil]
|
|
116
|
+
optional :verified_type, String
|
|
117
|
+
|
|
118
|
+
# @!method initialize(id:, bio_contains: nil, cursor: nil, has_location: nil, has_website: nil, location_contains: nil, max_followers: nil, max_following: nil, max_statuses: nil, min_account_age_days: nil, min_followers: nil, min_following: nil, min_statuses: nil, page_size: nil, username_contains: nil, verified_only: nil, verified_type: nil, request_options: {})
|
|
36
119
|
# Some parameter documentations has been truncated, see
|
|
37
120
|
# {XTwitterScraper::Models::X::UserRetrieveFollowersYouKnowParams} for more
|
|
38
121
|
# details.
|
|
39
122
|
#
|
|
40
123
|
# @param id [String]
|
|
41
124
|
#
|
|
125
|
+
# @param bio_contains [String] Match any comma-separated or line-separated bio term, ignoring case.
|
|
126
|
+
#
|
|
42
127
|
# @param cursor [String] Pagination cursor for followers-you-know
|
|
43
128
|
#
|
|
44
|
-
# @param
|
|
129
|
+
# @param has_location [Boolean] Only return profiles with a location.
|
|
130
|
+
#
|
|
131
|
+
# @param has_website [Boolean] Only return profiles with a website.
|
|
132
|
+
#
|
|
133
|
+
# @param location_contains [String] Match a location substring, ignoring case.
|
|
134
|
+
#
|
|
135
|
+
# @param max_followers [Integer] Maximum follower count. Missing counts pass this maximum.
|
|
136
|
+
#
|
|
137
|
+
# @param max_following [Integer] Maximum following count.
|
|
138
|
+
#
|
|
139
|
+
# @param max_statuses [Integer] Maximum post count. maxPosts is also accepted.
|
|
140
|
+
#
|
|
141
|
+
# @param min_account_age_days [Integer] Minimum account age in whole days.
|
|
142
|
+
#
|
|
143
|
+
# @param min_followers [Integer] Minimum follower count. Filtering happens before billing.
|
|
144
|
+
#
|
|
145
|
+
# @param min_following [Integer] Minimum following count.
|
|
146
|
+
#
|
|
147
|
+
# @param min_statuses [Integer] Minimum post count. minPosts is also accepted.
|
|
148
|
+
#
|
|
149
|
+
# @param page_size [Integer] Maximum user profiles requested from this page (20-200, default 200). Source, fi
|
|
150
|
+
#
|
|
151
|
+
# @param username_contains [String] Match a username substring, ignoring case.
|
|
152
|
+
#
|
|
153
|
+
# @param verified_only [Boolean] Only return verified profiles.
|
|
154
|
+
#
|
|
155
|
+
# @param verified_type [String] Match the verification type exactly, ignoring case.
|
|
45
156
|
#
|
|
46
157
|
# @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}]
|
|
47
158
|
end
|
|
@@ -23,28 +23,119 @@ module XTwitterScraper
|
|
|
23
23
|
# @return [String, nil]
|
|
24
24
|
optional :after, String
|
|
25
25
|
|
|
26
|
+
# @!attribute bio_contains
|
|
27
|
+
# Match any comma-separated or line-separated bio term, ignoring case.
|
|
28
|
+
#
|
|
29
|
+
# @return [String, nil]
|
|
30
|
+
optional :bio_contains, String
|
|
31
|
+
|
|
26
32
|
# @!attribute cursor
|
|
27
|
-
#
|
|
33
|
+
# Cursor from the previous response. Xquik cursors resume automatic coverage.
|
|
34
|
+
# Existing unprefixed cursors keep legacy standard behavior.
|
|
28
35
|
#
|
|
29
36
|
# @return [String, nil]
|
|
30
37
|
optional :cursor, String
|
|
31
38
|
|
|
39
|
+
# @!attribute has_location
|
|
40
|
+
# Only return profiles with a location.
|
|
41
|
+
#
|
|
42
|
+
# @return [Boolean, nil]
|
|
43
|
+
optional :has_location, XTwitterScraper::Internal::Type::Boolean
|
|
44
|
+
|
|
45
|
+
# @!attribute has_website
|
|
46
|
+
# Only return profiles with a website.
|
|
47
|
+
#
|
|
48
|
+
# @return [Boolean, nil]
|
|
49
|
+
optional :has_website, XTwitterScraper::Internal::Type::Boolean
|
|
50
|
+
|
|
32
51
|
# @!attribute limit
|
|
33
|
-
# Legacy page
|
|
52
|
+
# Legacy page-size alias outside explicit coverage mode. Coverage accepts 1-10000.
|
|
53
|
+
# Prefer pageSize.
|
|
34
54
|
#
|
|
35
55
|
# @return [Integer, nil]
|
|
36
56
|
optional :limit, Integer
|
|
37
57
|
|
|
58
|
+
# @!attribute location_contains
|
|
59
|
+
# Match a location substring, ignoring case.
|
|
60
|
+
#
|
|
61
|
+
# @return [String, nil]
|
|
62
|
+
optional :location_contains, String
|
|
63
|
+
|
|
64
|
+
# @!attribute max_followers
|
|
65
|
+
# Maximum follower count. Missing counts pass this maximum.
|
|
66
|
+
#
|
|
67
|
+
# @return [Integer, nil]
|
|
68
|
+
optional :max_followers, Integer
|
|
69
|
+
|
|
70
|
+
# @!attribute max_following
|
|
71
|
+
# Maximum following count.
|
|
72
|
+
#
|
|
73
|
+
# @return [Integer, nil]
|
|
74
|
+
optional :max_following, Integer
|
|
75
|
+
|
|
76
|
+
# @!attribute max_statuses
|
|
77
|
+
# Maximum post count. maxPosts is also accepted.
|
|
78
|
+
#
|
|
79
|
+
# @return [Integer, nil]
|
|
80
|
+
optional :max_statuses, Integer
|
|
81
|
+
|
|
82
|
+
# @!attribute min_account_age_days
|
|
83
|
+
# Minimum account age in whole days.
|
|
84
|
+
#
|
|
85
|
+
# @return [Integer, nil]
|
|
86
|
+
optional :min_account_age_days, Integer
|
|
87
|
+
|
|
88
|
+
# @!attribute min_followers
|
|
89
|
+
# Minimum follower count. Filtering happens before billing.
|
|
90
|
+
#
|
|
91
|
+
# @return [Integer, nil]
|
|
92
|
+
optional :min_followers, Integer
|
|
93
|
+
|
|
94
|
+
# @!attribute min_following
|
|
95
|
+
# Minimum following count.
|
|
96
|
+
#
|
|
97
|
+
# @return [Integer, nil]
|
|
98
|
+
optional :min_following, Integer
|
|
99
|
+
|
|
100
|
+
# @!attribute min_statuses
|
|
101
|
+
# Minimum post count. minPosts is also accepted.
|
|
102
|
+
#
|
|
103
|
+
# @return [Integer, nil]
|
|
104
|
+
optional :min_statuses, Integer
|
|
105
|
+
|
|
106
|
+
# @!attribute mode
|
|
107
|
+
# Omit mode for resumable maximum coverage. Standard keeps legacy pagination.
|
|
108
|
+
# Coverage returns diagnostics once and rejects cursors.
|
|
109
|
+
#
|
|
110
|
+
# @return [Symbol, XTwitterScraper::Models::X::UserRetrieveFollowingParams::Mode, nil]
|
|
111
|
+
optional :mode, enum: -> { XTwitterScraper::X::UserRetrieveFollowingParams::Mode }
|
|
112
|
+
|
|
38
113
|
# @!attribute page_size
|
|
39
|
-
# Maximum user profiles
|
|
40
|
-
#
|
|
41
|
-
# remaining credits cover fewer results. Keep requesting next_cursor while
|
|
42
|
-
# has_next_page is true. The deprecated limit and count aliases remain accepted.
|
|
114
|
+
# Maximum user profiles: automatic 300; standard 200. Sources return fewer
|
|
115
|
+
# profiles. Continue with has_next_page.
|
|
43
116
|
#
|
|
44
117
|
# @return [Integer, nil]
|
|
45
118
|
optional :page_size, Integer
|
|
46
119
|
|
|
47
|
-
# @!
|
|
120
|
+
# @!attribute username_contains
|
|
121
|
+
# Match a username substring, ignoring case.
|
|
122
|
+
#
|
|
123
|
+
# @return [String, nil]
|
|
124
|
+
optional :username_contains, String
|
|
125
|
+
|
|
126
|
+
# @!attribute verified_only
|
|
127
|
+
# Only return verified profiles.
|
|
128
|
+
#
|
|
129
|
+
# @return [Boolean, nil]
|
|
130
|
+
optional :verified_only, XTwitterScraper::Internal::Type::Boolean
|
|
131
|
+
|
|
132
|
+
# @!attribute verified_type
|
|
133
|
+
# Match the verification type exactly, ignoring case.
|
|
134
|
+
#
|
|
135
|
+
# @return [String, nil]
|
|
136
|
+
optional :verified_type, String
|
|
137
|
+
|
|
138
|
+
# @!method initialize(id:, after: nil, bio_contains: nil, cursor: nil, has_location: nil, has_website: nil, limit: nil, location_contains: nil, max_followers: nil, max_following: nil, max_statuses: nil, min_account_age_days: nil, min_followers: nil, min_following: nil, min_statuses: nil, mode: nil, page_size: nil, username_contains: nil, verified_only: nil, verified_type: nil, request_options: {})
|
|
48
139
|
# Some parameter documentations has been truncated, see
|
|
49
140
|
# {XTwitterScraper::Models::X::UserRetrieveFollowingParams} for more details.
|
|
50
141
|
#
|
|
@@ -52,13 +143,55 @@ module XTwitterScraper
|
|
|
52
143
|
#
|
|
53
144
|
# @param after [String] Deprecated following cursor alias. Prefer cursor.
|
|
54
145
|
#
|
|
55
|
-
# @param
|
|
146
|
+
# @param bio_contains [String] Match any comma-separated or line-separated bio term, ignoring case.
|
|
147
|
+
#
|
|
148
|
+
# @param cursor [String] Cursor from the previous response. Xquik cursors resume automatic coverage. Exis
|
|
149
|
+
#
|
|
150
|
+
# @param has_location [Boolean] Only return profiles with a location.
|
|
151
|
+
#
|
|
152
|
+
# @param has_website [Boolean] Only return profiles with a website.
|
|
153
|
+
#
|
|
154
|
+
# @param limit [Integer] Legacy page-size alias outside explicit coverage mode. Coverage accepts 1-10000.
|
|
56
155
|
#
|
|
57
|
-
# @param
|
|
156
|
+
# @param location_contains [String] Match a location substring, ignoring case.
|
|
58
157
|
#
|
|
59
|
-
# @param
|
|
158
|
+
# @param max_followers [Integer] Maximum follower count. Missing counts pass this maximum.
|
|
159
|
+
#
|
|
160
|
+
# @param max_following [Integer] Maximum following count.
|
|
161
|
+
#
|
|
162
|
+
# @param max_statuses [Integer] Maximum post count. maxPosts is also accepted.
|
|
163
|
+
#
|
|
164
|
+
# @param min_account_age_days [Integer] Minimum account age in whole days.
|
|
165
|
+
#
|
|
166
|
+
# @param min_followers [Integer] Minimum follower count. Filtering happens before billing.
|
|
167
|
+
#
|
|
168
|
+
# @param min_following [Integer] Minimum following count.
|
|
169
|
+
#
|
|
170
|
+
# @param min_statuses [Integer] Minimum post count. minPosts is also accepted.
|
|
171
|
+
#
|
|
172
|
+
# @param mode [Symbol, XTwitterScraper::Models::X::UserRetrieveFollowingParams::Mode] Omit mode for resumable maximum coverage. Standard keeps legacy pagination. Cove
|
|
173
|
+
#
|
|
174
|
+
# @param page_size [Integer] Maximum user profiles: automatic 300; standard 200. Sources return fewer profile
|
|
175
|
+
#
|
|
176
|
+
# @param username_contains [String] Match a username substring, ignoring case.
|
|
177
|
+
#
|
|
178
|
+
# @param verified_only [Boolean] Only return verified profiles.
|
|
179
|
+
#
|
|
180
|
+
# @param verified_type [String] Match the verification type exactly, ignoring case.
|
|
60
181
|
#
|
|
61
182
|
# @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}]
|
|
183
|
+
|
|
184
|
+
# Omit mode for resumable maximum coverage. Standard keeps legacy pagination.
|
|
185
|
+
# Coverage returns diagnostics once and rejects cursors.
|
|
186
|
+
module Mode
|
|
187
|
+
extend XTwitterScraper::Internal::Type::Enum
|
|
188
|
+
|
|
189
|
+
STANDARD = :standard
|
|
190
|
+
COVERAGE = :coverage
|
|
191
|
+
|
|
192
|
+
# @!method self.values
|
|
193
|
+
# @return [Array<Symbol>]
|
|
194
|
+
end
|
|
62
195
|
end
|
|
63
196
|
end
|
|
64
197
|
end
|