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
|
@@ -11,11 +11,9 @@ module XTwitterScraper
|
|
|
11
11
|
# Some parameter documentations has been truncated, see
|
|
12
12
|
# {XTwitterScraper::Models::GuestWalletCreateParams} for more details.
|
|
13
13
|
#
|
|
14
|
-
# Create a one-use
|
|
15
|
-
#
|
|
16
|
-
#
|
|
17
|
-
# requiring an Xquik account, email, dashboard, or Xquik web page. An idempotent
|
|
18
|
-
# replay returns the same key.
|
|
14
|
+
# Create a one-use hosted checkout after the user confirms $10-$250 USD. The
|
|
15
|
+
# request creates no charge. It returns a paid-read API key without an Xquik
|
|
16
|
+
# account. Replays return the same key.
|
|
19
17
|
#
|
|
20
18
|
# @overload create(amount_minor:, idempotency_key:, currency: :usd, request_options: {})
|
|
21
19
|
#
|
|
@@ -44,10 +42,9 @@ module XTwitterScraper
|
|
|
44
42
|
)
|
|
45
43
|
end
|
|
46
44
|
|
|
47
|
-
# Poll after
|
|
48
|
-
#
|
|
49
|
-
#
|
|
50
|
-
# Authorization: Bearer.
|
|
45
|
+
# Poll after payment. Use usable to decide whether paid reads can run. An active
|
|
46
|
+
# wallet can remain usable while a top-up is pending. A new wallet becomes usable
|
|
47
|
+
# only after payment is verified. Send the guest key as Authorization: Bearer.
|
|
51
48
|
#
|
|
52
49
|
# @overload retrieve_status(request_options: {})
|
|
53
50
|
#
|
|
@@ -69,10 +66,9 @@ module XTwitterScraper
|
|
|
69
66
|
# Some parameter documentations has been truncated, see
|
|
70
67
|
# {XTwitterScraper::Models::GuestWalletTopupParams} for more details.
|
|
71
68
|
#
|
|
72
|
-
# Create a one-use
|
|
73
|
-
#
|
|
74
|
-
#
|
|
75
|
-
# Xquik web page.
|
|
69
|
+
# Create a one-use hosted checkout after the user confirms a $10-$250 USD amount
|
|
70
|
+
# for an existing paid-read guest key. The key remains the same. This request
|
|
71
|
+
# creates no charge and never redirects through Xquik.
|
|
76
72
|
#
|
|
77
73
|
# @overload topup(amount_minor:, idempotency_key:, currency: :usd, request_options: {})
|
|
78
74
|
#
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module XTwitterScraper
|
|
4
|
+
module Resources
|
|
5
|
+
class Support
|
|
6
|
+
# Support ticket management
|
|
7
|
+
class Attachments
|
|
8
|
+
# Streams an authenticated user's support image or video. Video requests support
|
|
9
|
+
# one standard byte range for seeking and resumable playback.
|
|
10
|
+
#
|
|
11
|
+
# @overload download(id, range: nil, request_options: {})
|
|
12
|
+
#
|
|
13
|
+
# @param id [String] Support attachment public ID
|
|
14
|
+
#
|
|
15
|
+
# @param range [String] Optional single byte range
|
|
16
|
+
#
|
|
17
|
+
# @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
18
|
+
#
|
|
19
|
+
# @return [StringIO]
|
|
20
|
+
#
|
|
21
|
+
# @see XTwitterScraper::Models::Support::AttachmentDownloadParams
|
|
22
|
+
def download(id, params = {})
|
|
23
|
+
parsed, options = XTwitterScraper::Support::AttachmentDownloadParams.dump_request(params)
|
|
24
|
+
@client.request(
|
|
25
|
+
method: :get,
|
|
26
|
+
path: ["support/attachments/%1$s", id],
|
|
27
|
+
headers: {"accept" => "application/octet-stream", **parsed}.transform_keys(range: "range"),
|
|
28
|
+
model: StringIO,
|
|
29
|
+
options: options
|
|
30
|
+
)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# @api private
|
|
34
|
+
#
|
|
35
|
+
# @param client [XTwitterScraper::Client]
|
|
36
|
+
def initialize(client:)
|
|
37
|
+
@client = client
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
@@ -7,6 +7,10 @@
|
|
|
7
7
|
module XTwitterScraper
|
|
8
8
|
module Resources
|
|
9
9
|
class Support
|
|
10
|
+
# Support ticket management
|
|
11
|
+
# @return [XTwitterScraper::Resources::Support::Attachments]
|
|
12
|
+
attr_reader :attachments
|
|
13
|
+
|
|
10
14
|
# Support ticket management
|
|
11
15
|
# @return [XTwitterScraper::Resources::Support::Tickets]
|
|
12
16
|
attr_reader :tickets
|
|
@@ -16,6 +20,7 @@ module XTwitterScraper
|
|
|
16
20
|
# @param client [XTwitterScraper::Client]
|
|
17
21
|
def initialize(client:)
|
|
18
22
|
@client = client
|
|
23
|
+
@attachments = XTwitterScraper::Resources::Support::Attachments.new(client: client)
|
|
19
24
|
@tickets = XTwitterScraper::Resources::Support::Tickets.new(client: client)
|
|
20
25
|
end
|
|
21
26
|
end
|
|
@@ -107,14 +107,42 @@ module XTwitterScraper
|
|
|
107
107
|
#
|
|
108
108
|
# List members of a community
|
|
109
109
|
#
|
|
110
|
-
# @overload retrieve_members(id, cursor: nil, page_size: nil, request_options: {})
|
|
110
|
+
# @overload retrieve_members(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: {})
|
|
111
111
|
#
|
|
112
112
|
# @param id [String] Community ID for member lookup
|
|
113
113
|
#
|
|
114
|
+
# @param bio_contains [String] Match any comma-separated or line-separated bio term, ignoring case.
|
|
115
|
+
#
|
|
114
116
|
# @param cursor [String] Pagination cursor
|
|
115
117
|
#
|
|
118
|
+
# @param has_location [Boolean] Only return profiles with a location.
|
|
119
|
+
#
|
|
120
|
+
# @param has_website [Boolean] Only return profiles with a website.
|
|
121
|
+
#
|
|
122
|
+
# @param location_contains [String] Match a location substring, ignoring case.
|
|
123
|
+
#
|
|
124
|
+
# @param max_followers [Integer] Maximum follower count. Missing counts pass this maximum.
|
|
125
|
+
#
|
|
126
|
+
# @param max_following [Integer] Maximum following count.
|
|
127
|
+
#
|
|
128
|
+
# @param max_statuses [Integer] Maximum post count. maxPosts is also accepted.
|
|
129
|
+
#
|
|
130
|
+
# @param min_account_age_days [Integer] Minimum account age in whole days.
|
|
131
|
+
#
|
|
132
|
+
# @param min_followers [Integer] Minimum follower count. Filtering happens before billing.
|
|
133
|
+
#
|
|
134
|
+
# @param min_following [Integer] Minimum following count.
|
|
135
|
+
#
|
|
136
|
+
# @param min_statuses [Integer] Minimum post count. minPosts is also accepted.
|
|
137
|
+
#
|
|
116
138
|
# @param page_size [Integer] Items per page (20-200, default 20). This is an upper bound for paid authenticat
|
|
117
139
|
#
|
|
140
|
+
# @param username_contains [String] Match a username substring, ignoring case.
|
|
141
|
+
#
|
|
142
|
+
# @param verified_only [Boolean] Only return verified profiles.
|
|
143
|
+
#
|
|
144
|
+
# @param verified_type [String] Match the verification type exactly, ignoring case.
|
|
145
|
+
#
|
|
118
146
|
# @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
119
147
|
#
|
|
120
148
|
# @return [XTwitterScraper::Models::PaginatedUsers]
|
|
@@ -126,20 +154,68 @@ module XTwitterScraper
|
|
|
126
154
|
@client.request(
|
|
127
155
|
method: :get,
|
|
128
156
|
path: ["x/communities/%1$s/members", id],
|
|
129
|
-
query: query.transform_keys(
|
|
157
|
+
query: query.transform_keys(
|
|
158
|
+
bio_contains: "bioContains",
|
|
159
|
+
has_location: "hasLocation",
|
|
160
|
+
has_website: "hasWebsite",
|
|
161
|
+
location_contains: "locationContains",
|
|
162
|
+
max_followers: "maxFollowers",
|
|
163
|
+
max_following: "maxFollowing",
|
|
164
|
+
max_statuses: "maxStatuses",
|
|
165
|
+
min_account_age_days: "minAccountAgeDays",
|
|
166
|
+
min_followers: "minFollowers",
|
|
167
|
+
min_following: "minFollowing",
|
|
168
|
+
min_statuses: "minStatuses",
|
|
169
|
+
page_size: "pageSize",
|
|
170
|
+
username_contains: "usernameContains",
|
|
171
|
+
verified_only: "verifiedOnly",
|
|
172
|
+
verified_type: "verifiedType"
|
|
173
|
+
),
|
|
130
174
|
model: XTwitterScraper::PaginatedUsers,
|
|
131
175
|
options: options
|
|
132
176
|
)
|
|
133
177
|
end
|
|
134
178
|
|
|
179
|
+
# Some parameter documentations has been truncated, see
|
|
180
|
+
# {XTwitterScraper::Models::X::CommunityRetrieveModeratorsParams} for more
|
|
181
|
+
# details.
|
|
182
|
+
#
|
|
135
183
|
# List moderators of a community
|
|
136
184
|
#
|
|
137
|
-
# @overload retrieve_moderators(id, cursor: nil, request_options: {})
|
|
185
|
+
# @overload retrieve_moderators(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, username_contains: nil, verified_only: nil, verified_type: nil, request_options: {})
|
|
138
186
|
#
|
|
139
187
|
# @param id [String] Community ID for moderator lookup
|
|
140
188
|
#
|
|
189
|
+
# @param bio_contains [String] Match any comma-separated or line-separated bio term, ignoring case.
|
|
190
|
+
#
|
|
141
191
|
# @param cursor [String] Pagination cursor for community moderators
|
|
142
192
|
#
|
|
193
|
+
# @param has_location [Boolean] Only return profiles with a location.
|
|
194
|
+
#
|
|
195
|
+
# @param has_website [Boolean] Only return profiles with a website.
|
|
196
|
+
#
|
|
197
|
+
# @param location_contains [String] Match a location substring, ignoring case.
|
|
198
|
+
#
|
|
199
|
+
# @param max_followers [Integer] Maximum follower count. Missing counts pass this maximum.
|
|
200
|
+
#
|
|
201
|
+
# @param max_following [Integer] Maximum following count.
|
|
202
|
+
#
|
|
203
|
+
# @param max_statuses [Integer] Maximum post count. maxPosts is also accepted.
|
|
204
|
+
#
|
|
205
|
+
# @param min_account_age_days [Integer] Minimum account age in whole days.
|
|
206
|
+
#
|
|
207
|
+
# @param min_followers [Integer] Minimum follower count. Filtering happens before billing.
|
|
208
|
+
#
|
|
209
|
+
# @param min_following [Integer] Minimum following count.
|
|
210
|
+
#
|
|
211
|
+
# @param min_statuses [Integer] Minimum post count. minPosts is also accepted.
|
|
212
|
+
#
|
|
213
|
+
# @param username_contains [String] Match a username substring, ignoring case.
|
|
214
|
+
#
|
|
215
|
+
# @param verified_only [Boolean] Only return verified profiles.
|
|
216
|
+
#
|
|
217
|
+
# @param verified_type [String] Match the verification type exactly, ignoring case.
|
|
218
|
+
#
|
|
143
219
|
# @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
144
220
|
#
|
|
145
221
|
# @return [XTwitterScraper::Models::PaginatedUsers]
|
|
@@ -151,7 +227,22 @@ module XTwitterScraper
|
|
|
151
227
|
@client.request(
|
|
152
228
|
method: :get,
|
|
153
229
|
path: ["x/communities/%1$s/moderators", id],
|
|
154
|
-
query: query
|
|
230
|
+
query: query.transform_keys(
|
|
231
|
+
bio_contains: "bioContains",
|
|
232
|
+
has_location: "hasLocation",
|
|
233
|
+
has_website: "hasWebsite",
|
|
234
|
+
location_contains: "locationContains",
|
|
235
|
+
max_followers: "maxFollowers",
|
|
236
|
+
max_following: "maxFollowing",
|
|
237
|
+
max_statuses: "maxStatuses",
|
|
238
|
+
min_account_age_days: "minAccountAgeDays",
|
|
239
|
+
min_followers: "minFollowers",
|
|
240
|
+
min_following: "minFollowing",
|
|
241
|
+
min_statuses: "minStatuses",
|
|
242
|
+
username_contains: "usernameContains",
|
|
243
|
+
verified_only: "verifiedOnly",
|
|
244
|
+
verified_type: "verifiedType"
|
|
245
|
+
),
|
|
155
246
|
model: XTwitterScraper::PaginatedUsers,
|
|
156
247
|
options: options
|
|
157
248
|
)
|
|
@@ -14,13 +14,41 @@ module XTwitterScraper
|
|
|
14
14
|
#
|
|
15
15
|
# List followers of an X List
|
|
16
16
|
#
|
|
17
|
-
# @overload retrieve_followers(id, cursor: nil, page_size: nil, request_options: {})
|
|
17
|
+
# @overload retrieve_followers(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: {})
|
|
18
18
|
#
|
|
19
19
|
# @param id [String] List ID
|
|
20
20
|
#
|
|
21
|
+
# @param bio_contains [String] Match any comma-separated or line-separated bio term, ignoring case.
|
|
22
|
+
#
|
|
21
23
|
# @param cursor [String] Pagination cursor for list followers
|
|
22
24
|
#
|
|
23
|
-
# @param
|
|
25
|
+
# @param has_location [Boolean] Only return profiles with a location.
|
|
26
|
+
#
|
|
27
|
+
# @param has_website [Boolean] Only return profiles with a website.
|
|
28
|
+
#
|
|
29
|
+
# @param location_contains [String] Match a location substring, ignoring case.
|
|
30
|
+
#
|
|
31
|
+
# @param max_followers [Integer] Maximum follower count. Missing counts pass this maximum.
|
|
32
|
+
#
|
|
33
|
+
# @param max_following [Integer] Maximum following count.
|
|
34
|
+
#
|
|
35
|
+
# @param max_statuses [Integer] Maximum post count. maxPosts is also accepted.
|
|
36
|
+
#
|
|
37
|
+
# @param min_account_age_days [Integer] Minimum account age in whole days.
|
|
38
|
+
#
|
|
39
|
+
# @param min_followers [Integer] Minimum follower count. Filtering happens before billing.
|
|
40
|
+
#
|
|
41
|
+
# @param min_following [Integer] Minimum following count.
|
|
42
|
+
#
|
|
43
|
+
# @param min_statuses [Integer] Minimum post count. minPosts is also accepted.
|
|
44
|
+
#
|
|
45
|
+
# @param page_size [Integer] Maximum user profiles requested from this page (20-200, default 200). Source, fi
|
|
46
|
+
#
|
|
47
|
+
# @param username_contains [String] Match a username substring, ignoring case.
|
|
48
|
+
#
|
|
49
|
+
# @param verified_only [Boolean] Only return verified profiles.
|
|
50
|
+
#
|
|
51
|
+
# @param verified_type [String] Match the verification type exactly, ignoring case.
|
|
24
52
|
#
|
|
25
53
|
# @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
26
54
|
#
|
|
@@ -33,22 +61,69 @@ module XTwitterScraper
|
|
|
33
61
|
@client.request(
|
|
34
62
|
method: :get,
|
|
35
63
|
path: ["x/lists/%1$s/followers", id],
|
|
36
|
-
query: query.transform_keys(
|
|
64
|
+
query: query.transform_keys(
|
|
65
|
+
bio_contains: "bioContains",
|
|
66
|
+
has_location: "hasLocation",
|
|
67
|
+
has_website: "hasWebsite",
|
|
68
|
+
location_contains: "locationContains",
|
|
69
|
+
max_followers: "maxFollowers",
|
|
70
|
+
max_following: "maxFollowing",
|
|
71
|
+
max_statuses: "maxStatuses",
|
|
72
|
+
min_account_age_days: "minAccountAgeDays",
|
|
73
|
+
min_followers: "minFollowers",
|
|
74
|
+
min_following: "minFollowing",
|
|
75
|
+
min_statuses: "minStatuses",
|
|
76
|
+
page_size: "pageSize",
|
|
77
|
+
username_contains: "usernameContains",
|
|
78
|
+
verified_only: "verifiedOnly",
|
|
79
|
+
verified_type: "verifiedType"
|
|
80
|
+
),
|
|
37
81
|
model: XTwitterScraper::PaginatedUsers,
|
|
38
82
|
options: options
|
|
39
83
|
)
|
|
40
84
|
end
|
|
41
85
|
|
|
86
|
+
# Some parameter documentations has been truncated, see
|
|
87
|
+
# {XTwitterScraper::Models::X::ListRetrieveMembersParams} for more details.
|
|
88
|
+
#
|
|
42
89
|
# List members of an X List
|
|
43
90
|
#
|
|
44
|
-
# @overload retrieve_members(id, cursor: nil, page_size: nil, request_options: {})
|
|
91
|
+
# @overload retrieve_members(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: {})
|
|
45
92
|
#
|
|
46
93
|
# @param id [String] List ID for member lookup
|
|
47
94
|
#
|
|
95
|
+
# @param bio_contains [String] Match any comma-separated or line-separated bio term, ignoring case.
|
|
96
|
+
#
|
|
48
97
|
# @param cursor [String] Pagination cursor for list members
|
|
49
98
|
#
|
|
99
|
+
# @param has_location [Boolean] Only return profiles with a location.
|
|
100
|
+
#
|
|
101
|
+
# @param has_website [Boolean] Only return profiles with a website.
|
|
102
|
+
#
|
|
103
|
+
# @param location_contains [String] Match a location substring, ignoring case.
|
|
104
|
+
#
|
|
105
|
+
# @param max_followers [Integer] Maximum follower count. Missing counts pass this maximum.
|
|
106
|
+
#
|
|
107
|
+
# @param max_following [Integer] Maximum following count.
|
|
108
|
+
#
|
|
109
|
+
# @param max_statuses [Integer] Maximum post count. maxPosts is also accepted.
|
|
110
|
+
#
|
|
111
|
+
# @param min_account_age_days [Integer] Minimum account age in whole days.
|
|
112
|
+
#
|
|
113
|
+
# @param min_followers [Integer] Minimum follower count. Filtering happens before billing.
|
|
114
|
+
#
|
|
115
|
+
# @param min_following [Integer] Minimum following count.
|
|
116
|
+
#
|
|
117
|
+
# @param min_statuses [Integer] Minimum post count. minPosts is also accepted.
|
|
118
|
+
#
|
|
50
119
|
# @param page_size [Integer] Members per page (20-200, default 20)
|
|
51
120
|
#
|
|
121
|
+
# @param username_contains [String] Match a username substring, ignoring case.
|
|
122
|
+
#
|
|
123
|
+
# @param verified_only [Boolean] Only return verified profiles.
|
|
124
|
+
#
|
|
125
|
+
# @param verified_type [String] Match the verification type exactly, ignoring case.
|
|
126
|
+
#
|
|
52
127
|
# @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
53
128
|
#
|
|
54
129
|
# @return [XTwitterScraper::Models::PaginatedUsers]
|
|
@@ -60,7 +135,23 @@ module XTwitterScraper
|
|
|
60
135
|
@client.request(
|
|
61
136
|
method: :get,
|
|
62
137
|
path: ["x/lists/%1$s/members", id],
|
|
63
|
-
query: query.transform_keys(
|
|
138
|
+
query: query.transform_keys(
|
|
139
|
+
bio_contains: "bioContains",
|
|
140
|
+
has_location: "hasLocation",
|
|
141
|
+
has_website: "hasWebsite",
|
|
142
|
+
location_contains: "locationContains",
|
|
143
|
+
max_followers: "maxFollowers",
|
|
144
|
+
max_following: "maxFollowing",
|
|
145
|
+
max_statuses: "maxStatuses",
|
|
146
|
+
min_account_age_days: "minAccountAgeDays",
|
|
147
|
+
min_followers: "minFollowers",
|
|
148
|
+
min_following: "minFollowing",
|
|
149
|
+
min_statuses: "minStatuses",
|
|
150
|
+
page_size: "pageSize",
|
|
151
|
+
username_contains: "usernameContains",
|
|
152
|
+
verified_only: "verifiedOnly",
|
|
153
|
+
verified_type: "verifiedType"
|
|
154
|
+
),
|
|
64
155
|
model: XTwitterScraper::PaginatedUsers,
|
|
65
156
|
options: options
|
|
66
157
|
)
|