x-twitter-scraper 0.7.3 → 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 +16 -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
|
@@ -10,24 +10,39 @@ module XTwitterScraper
|
|
|
10
10
|
q: String,
|
|
11
11
|
advanced_query: String,
|
|
12
12
|
any_words: String,
|
|
13
|
+
blue_verified_only: bool,
|
|
13
14
|
bounding_box: String,
|
|
15
|
+
card_name: String,
|
|
14
16
|
cashtags: String,
|
|
15
17
|
conversation_id: String,
|
|
16
18
|
cursor: String,
|
|
17
19
|
exact_phrase: String,
|
|
20
|
+
exclude_source: String,
|
|
18
21
|
exclude_words: String,
|
|
19
22
|
from_user: String,
|
|
23
|
+
geocode: String,
|
|
20
24
|
hashtags: String,
|
|
21
25
|
in_reply_to_tweet_id: String,
|
|
22
26
|
language: String,
|
|
23
27
|
limit: Integer,
|
|
24
28
|
list_id: String,
|
|
29
|
+
max_faves: Integer,
|
|
30
|
+
max_id: String,
|
|
31
|
+
max_quotes: Integer,
|
|
32
|
+
max_replies: Integer,
|
|
33
|
+
max_retweets: Integer,
|
|
25
34
|
media_type: XTwitterScraper::Models::X::TweetSearchParams::media_type,
|
|
26
35
|
mentioning: String,
|
|
36
|
+
min_bookmarks: Integer,
|
|
27
37
|
min_faves: Integer,
|
|
28
38
|
min_quotes: Integer,
|
|
29
39
|
min_replies: Integer,
|
|
30
40
|
min_retweets: Integer,
|
|
41
|
+
min_views: Integer,
|
|
42
|
+
mode: XTwitterScraper::Models::X::TweetSearchParams::mode,
|
|
43
|
+
native_retweets: bool,
|
|
44
|
+
near: String,
|
|
45
|
+
news: bool,
|
|
31
46
|
place: String,
|
|
32
47
|
place_country: String,
|
|
33
48
|
point_radius: String,
|
|
@@ -37,13 +52,18 @@ module XTwitterScraper
|
|
|
37
52
|
replies: XTwitterScraper::Models::X::TweetSearchParams::replies,
|
|
38
53
|
retweets: XTwitterScraper::Models::X::TweetSearchParams::retweets,
|
|
39
54
|
retweets_of_tweet_id: String,
|
|
55
|
+
safe: bool,
|
|
40
56
|
since_date: Date,
|
|
57
|
+
since_id: String,
|
|
41
58
|
since_time: String,
|
|
59
|
+
source: String,
|
|
42
60
|
to_user: String,
|
|
43
61
|
until_date: Date,
|
|
44
62
|
until_time: String,
|
|
45
63
|
url: String,
|
|
46
|
-
verified_only: bool
|
|
64
|
+
verified_only: bool,
|
|
65
|
+
within: String,
|
|
66
|
+
within_time: String
|
|
47
67
|
}
|
|
48
68
|
& XTwitterScraper::Internal::Type::request_parameters
|
|
49
69
|
|
|
@@ -61,10 +81,18 @@ module XTwitterScraper
|
|
|
61
81
|
|
|
62
82
|
def any_words=: (String) -> String
|
|
63
83
|
|
|
84
|
+
attr_reader blue_verified_only: bool?
|
|
85
|
+
|
|
86
|
+
def blue_verified_only=: (bool) -> bool
|
|
87
|
+
|
|
64
88
|
attr_reader bounding_box: String?
|
|
65
89
|
|
|
66
90
|
def bounding_box=: (String) -> String
|
|
67
91
|
|
|
92
|
+
attr_reader card_name: String?
|
|
93
|
+
|
|
94
|
+
def card_name=: (String) -> String
|
|
95
|
+
|
|
68
96
|
attr_reader cashtags: String?
|
|
69
97
|
|
|
70
98
|
def cashtags=: (String) -> String
|
|
@@ -81,6 +109,10 @@ module XTwitterScraper
|
|
|
81
109
|
|
|
82
110
|
def exact_phrase=: (String) -> String
|
|
83
111
|
|
|
112
|
+
attr_reader exclude_source: String?
|
|
113
|
+
|
|
114
|
+
def exclude_source=: (String) -> String
|
|
115
|
+
|
|
84
116
|
attr_reader exclude_words: String?
|
|
85
117
|
|
|
86
118
|
def exclude_words=: (String) -> String
|
|
@@ -89,6 +121,10 @@ module XTwitterScraper
|
|
|
89
121
|
|
|
90
122
|
def from_user=: (String) -> String
|
|
91
123
|
|
|
124
|
+
attr_reader geocode: String?
|
|
125
|
+
|
|
126
|
+
def geocode=: (String) -> String
|
|
127
|
+
|
|
92
128
|
attr_reader hashtags: String?
|
|
93
129
|
|
|
94
130
|
def hashtags=: (String) -> String
|
|
@@ -109,6 +145,26 @@ module XTwitterScraper
|
|
|
109
145
|
|
|
110
146
|
def list_id=: (String) -> String
|
|
111
147
|
|
|
148
|
+
attr_reader max_faves: Integer?
|
|
149
|
+
|
|
150
|
+
def max_faves=: (Integer) -> Integer
|
|
151
|
+
|
|
152
|
+
attr_reader max_id: String?
|
|
153
|
+
|
|
154
|
+
def max_id=: (String) -> String
|
|
155
|
+
|
|
156
|
+
attr_reader max_quotes: Integer?
|
|
157
|
+
|
|
158
|
+
def max_quotes=: (Integer) -> Integer
|
|
159
|
+
|
|
160
|
+
attr_reader max_replies: Integer?
|
|
161
|
+
|
|
162
|
+
def max_replies=: (Integer) -> Integer
|
|
163
|
+
|
|
164
|
+
attr_reader max_retweets: Integer?
|
|
165
|
+
|
|
166
|
+
def max_retweets=: (Integer) -> Integer
|
|
167
|
+
|
|
112
168
|
attr_reader media_type: XTwitterScraper::Models::X::TweetSearchParams::media_type?
|
|
113
169
|
|
|
114
170
|
def media_type=: (
|
|
@@ -119,6 +175,10 @@ module XTwitterScraper
|
|
|
119
175
|
|
|
120
176
|
def mentioning=: (String) -> String
|
|
121
177
|
|
|
178
|
+
attr_reader min_bookmarks: Integer?
|
|
179
|
+
|
|
180
|
+
def min_bookmarks=: (Integer) -> Integer
|
|
181
|
+
|
|
122
182
|
attr_reader min_faves: Integer?
|
|
123
183
|
|
|
124
184
|
def min_faves=: (Integer) -> Integer
|
|
@@ -135,6 +195,28 @@ module XTwitterScraper
|
|
|
135
195
|
|
|
136
196
|
def min_retweets=: (Integer) -> Integer
|
|
137
197
|
|
|
198
|
+
attr_reader min_views: Integer?
|
|
199
|
+
|
|
200
|
+
def min_views=: (Integer) -> Integer
|
|
201
|
+
|
|
202
|
+
attr_reader mode: XTwitterScraper::Models::X::TweetSearchParams::mode?
|
|
203
|
+
|
|
204
|
+
def mode=: (
|
|
205
|
+
XTwitterScraper::Models::X::TweetSearchParams::mode
|
|
206
|
+
) -> XTwitterScraper::Models::X::TweetSearchParams::mode
|
|
207
|
+
|
|
208
|
+
attr_reader native_retweets: bool?
|
|
209
|
+
|
|
210
|
+
def native_retweets=: (bool) -> bool
|
|
211
|
+
|
|
212
|
+
attr_reader near: String?
|
|
213
|
+
|
|
214
|
+
def near=: (String) -> String
|
|
215
|
+
|
|
216
|
+
attr_reader news: bool?
|
|
217
|
+
|
|
218
|
+
def news=: (bool) -> bool
|
|
219
|
+
|
|
138
220
|
attr_reader place: String?
|
|
139
221
|
|
|
140
222
|
def place=: (String) -> String
|
|
@@ -179,14 +261,26 @@ module XTwitterScraper
|
|
|
179
261
|
|
|
180
262
|
def retweets_of_tweet_id=: (String) -> String
|
|
181
263
|
|
|
264
|
+
attr_reader safe: bool?
|
|
265
|
+
|
|
266
|
+
def safe=: (bool) -> bool
|
|
267
|
+
|
|
182
268
|
attr_reader since_date: Date?
|
|
183
269
|
|
|
184
270
|
def since_date=: (Date) -> Date
|
|
185
271
|
|
|
272
|
+
attr_reader since_id: String?
|
|
273
|
+
|
|
274
|
+
def since_id=: (String) -> String
|
|
275
|
+
|
|
186
276
|
attr_reader since_time: String?
|
|
187
277
|
|
|
188
278
|
def since_time=: (String) -> String
|
|
189
279
|
|
|
280
|
+
attr_reader source: String?
|
|
281
|
+
|
|
282
|
+
def source=: (String) -> String
|
|
283
|
+
|
|
190
284
|
attr_reader to_user: String?
|
|
191
285
|
|
|
192
286
|
def to_user=: (String) -> String
|
|
@@ -207,28 +301,51 @@ module XTwitterScraper
|
|
|
207
301
|
|
|
208
302
|
def verified_only=: (bool) -> bool
|
|
209
303
|
|
|
304
|
+
attr_reader within: String?
|
|
305
|
+
|
|
306
|
+
def within=: (String) -> String
|
|
307
|
+
|
|
308
|
+
attr_reader within_time: String?
|
|
309
|
+
|
|
310
|
+
def within_time=: (String) -> String
|
|
311
|
+
|
|
210
312
|
def initialize: (
|
|
211
313
|
q: String,
|
|
212
314
|
?advanced_query: String,
|
|
213
315
|
?any_words: String,
|
|
316
|
+
?blue_verified_only: bool,
|
|
214
317
|
?bounding_box: String,
|
|
318
|
+
?card_name: String,
|
|
215
319
|
?cashtags: String,
|
|
216
320
|
?conversation_id: String,
|
|
217
321
|
?cursor: String,
|
|
218
322
|
?exact_phrase: String,
|
|
323
|
+
?exclude_source: String,
|
|
219
324
|
?exclude_words: String,
|
|
220
325
|
?from_user: String,
|
|
326
|
+
?geocode: String,
|
|
221
327
|
?hashtags: String,
|
|
222
328
|
?in_reply_to_tweet_id: String,
|
|
223
329
|
?language: String,
|
|
224
330
|
?limit: Integer,
|
|
225
331
|
?list_id: String,
|
|
332
|
+
?max_faves: Integer,
|
|
333
|
+
?max_id: String,
|
|
334
|
+
?max_quotes: Integer,
|
|
335
|
+
?max_replies: Integer,
|
|
336
|
+
?max_retweets: Integer,
|
|
226
337
|
?media_type: XTwitterScraper::Models::X::TweetSearchParams::media_type,
|
|
227
338
|
?mentioning: String,
|
|
339
|
+
?min_bookmarks: Integer,
|
|
228
340
|
?min_faves: Integer,
|
|
229
341
|
?min_quotes: Integer,
|
|
230
342
|
?min_replies: Integer,
|
|
231
343
|
?min_retweets: Integer,
|
|
344
|
+
?min_views: Integer,
|
|
345
|
+
?mode: XTwitterScraper::Models::X::TweetSearchParams::mode,
|
|
346
|
+
?native_retweets: bool,
|
|
347
|
+
?near: String,
|
|
348
|
+
?news: bool,
|
|
232
349
|
?place: String,
|
|
233
350
|
?place_country: String,
|
|
234
351
|
?point_radius: String,
|
|
@@ -238,13 +355,18 @@ module XTwitterScraper
|
|
|
238
355
|
?replies: XTwitterScraper::Models::X::TweetSearchParams::replies,
|
|
239
356
|
?retweets: XTwitterScraper::Models::X::TweetSearchParams::retweets,
|
|
240
357
|
?retweets_of_tweet_id: String,
|
|
358
|
+
?safe: bool,
|
|
241
359
|
?since_date: Date,
|
|
360
|
+
?since_id: String,
|
|
242
361
|
?since_time: String,
|
|
362
|
+
?source: String,
|
|
243
363
|
?to_user: String,
|
|
244
364
|
?until_date: Date,
|
|
245
365
|
?until_time: String,
|
|
246
366
|
?url: String,
|
|
247
367
|
?verified_only: bool,
|
|
368
|
+
?within: String,
|
|
369
|
+
?within_time: String,
|
|
248
370
|
?request_options: XTwitterScraper::request_opts
|
|
249
371
|
) -> void
|
|
250
372
|
|
|
@@ -252,24 +374,39 @@ module XTwitterScraper
|
|
|
252
374
|
q: String,
|
|
253
375
|
advanced_query: String,
|
|
254
376
|
any_words: String,
|
|
377
|
+
blue_verified_only: bool,
|
|
255
378
|
bounding_box: String,
|
|
379
|
+
card_name: String,
|
|
256
380
|
cashtags: String,
|
|
257
381
|
conversation_id: String,
|
|
258
382
|
cursor: String,
|
|
259
383
|
exact_phrase: String,
|
|
384
|
+
exclude_source: String,
|
|
260
385
|
exclude_words: String,
|
|
261
386
|
from_user: String,
|
|
387
|
+
geocode: String,
|
|
262
388
|
hashtags: String,
|
|
263
389
|
in_reply_to_tweet_id: String,
|
|
264
390
|
language: String,
|
|
265
391
|
limit: Integer,
|
|
266
392
|
list_id: String,
|
|
393
|
+
max_faves: Integer,
|
|
394
|
+
max_id: String,
|
|
395
|
+
max_quotes: Integer,
|
|
396
|
+
max_replies: Integer,
|
|
397
|
+
max_retweets: Integer,
|
|
267
398
|
media_type: XTwitterScraper::Models::X::TweetSearchParams::media_type,
|
|
268
399
|
mentioning: String,
|
|
400
|
+
min_bookmarks: Integer,
|
|
269
401
|
min_faves: Integer,
|
|
270
402
|
min_quotes: Integer,
|
|
271
403
|
min_replies: Integer,
|
|
272
404
|
min_retweets: Integer,
|
|
405
|
+
min_views: Integer,
|
|
406
|
+
mode: XTwitterScraper::Models::X::TweetSearchParams::mode,
|
|
407
|
+
native_retweets: bool,
|
|
408
|
+
near: String,
|
|
409
|
+
news: bool,
|
|
273
410
|
place: String,
|
|
274
411
|
place_country: String,
|
|
275
412
|
point_radius: String,
|
|
@@ -279,13 +416,18 @@ module XTwitterScraper
|
|
|
279
416
|
replies: XTwitterScraper::Models::X::TweetSearchParams::replies,
|
|
280
417
|
retweets: XTwitterScraper::Models::X::TweetSearchParams::retweets,
|
|
281
418
|
retweets_of_tweet_id: String,
|
|
419
|
+
safe: bool,
|
|
282
420
|
since_date: Date,
|
|
421
|
+
since_id: String,
|
|
283
422
|
since_time: String,
|
|
423
|
+
source: String,
|
|
284
424
|
to_user: String,
|
|
285
425
|
until_date: Date,
|
|
286
426
|
until_time: String,
|
|
287
427
|
url: String,
|
|
288
428
|
verified_only: bool,
|
|
429
|
+
within: String,
|
|
430
|
+
within_time: String,
|
|
289
431
|
request_options: XTwitterScraper::RequestOptions
|
|
290
432
|
}
|
|
291
433
|
|
|
@@ -304,6 +446,17 @@ module XTwitterScraper
|
|
|
304
446
|
def self?.values: -> ::Array[XTwitterScraper::Models::X::TweetSearchParams::media_type]
|
|
305
447
|
end
|
|
306
448
|
|
|
449
|
+
type mode = :standard | :coverage
|
|
450
|
+
|
|
451
|
+
module Mode
|
|
452
|
+
extend XTwitterScraper::Internal::Type::Enum
|
|
453
|
+
|
|
454
|
+
STANDARD: :standard
|
|
455
|
+
COVERAGE: :coverage
|
|
456
|
+
|
|
457
|
+
def self?.values: -> ::Array[XTwitterScraper::Models::X::TweetSearchParams::mode]
|
|
458
|
+
end
|
|
459
|
+
|
|
307
460
|
type query_type = :Latest | :Top
|
|
308
461
|
|
|
309
462
|
module QueryType
|
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
module XTwitterScraper
|
|
2
|
+
module Models
|
|
3
|
+
module X
|
|
4
|
+
type tweet_search_response =
|
|
5
|
+
XTwitterScraper::PaginatedTweets
|
|
6
|
+
| XTwitterScraper::Models::X::TweetSearchResponse::TweetSearchCoverageResponse
|
|
7
|
+
|
|
8
|
+
module TweetSearchResponse
|
|
9
|
+
extend XTwitterScraper::Internal::Type::Union
|
|
10
|
+
|
|
11
|
+
type tweet_search_coverage_response =
|
|
12
|
+
{
|
|
13
|
+
diagnostic: XTwitterScraper::Models::X::TweetSearchResponse::TweetSearchCoverageResponse::Diagnostic,
|
|
14
|
+
has_next_page: XTwitterScraper::Models::X::TweetSearchResponse::TweetSearchCoverageResponse::has_next_page,
|
|
15
|
+
next_cursor: XTwitterScraper::Models::X::TweetSearchResponse::TweetSearchCoverageResponse::next_cursor
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
class TweetSearchCoverageResponse < XTwitterScraper::Models::PaginatedTweets
|
|
19
|
+
def diagnostic: -> XTwitterScraper::Models::X::TweetSearchResponse::TweetSearchCoverageResponse::Diagnostic
|
|
20
|
+
|
|
21
|
+
def diagnostic=: (
|
|
22
|
+
XTwitterScraper::Models::X::TweetSearchResponse::TweetSearchCoverageResponse::Diagnostic _
|
|
23
|
+
) -> XTwitterScraper::Models::X::TweetSearchResponse::TweetSearchCoverageResponse::Diagnostic
|
|
24
|
+
|
|
25
|
+
def has_next_page: -> XTwitterScraper::Models::X::TweetSearchResponse::TweetSearchCoverageResponse::has_next_page?
|
|
26
|
+
|
|
27
|
+
def has_next_page=: (
|
|
28
|
+
XTwitterScraper::Models::X::TweetSearchResponse::TweetSearchCoverageResponse::has_next_page _
|
|
29
|
+
) -> XTwitterScraper::Models::X::TweetSearchResponse::TweetSearchCoverageResponse::has_next_page
|
|
30
|
+
|
|
31
|
+
def next_cursor: -> XTwitterScraper::Models::X::TweetSearchResponse::TweetSearchCoverageResponse::next_cursor?
|
|
32
|
+
|
|
33
|
+
def next_cursor=: (
|
|
34
|
+
XTwitterScraper::Models::X::TweetSearchResponse::TweetSearchCoverageResponse::next_cursor _
|
|
35
|
+
) -> XTwitterScraper::Models::X::TweetSearchResponse::TweetSearchCoverageResponse::next_cursor
|
|
36
|
+
|
|
37
|
+
def initialize: (
|
|
38
|
+
diagnostic: XTwitterScraper::Models::X::TweetSearchResponse::TweetSearchCoverageResponse::Diagnostic,
|
|
39
|
+
?has_next_page: XTwitterScraper::Models::X::TweetSearchResponse::TweetSearchCoverageResponse::has_next_page,
|
|
40
|
+
?next_cursor: XTwitterScraper::Models::X::TweetSearchResponse::TweetSearchCoverageResponse::next_cursor
|
|
41
|
+
) -> void
|
|
42
|
+
|
|
43
|
+
def to_hash: -> {
|
|
44
|
+
diagnostic: XTwitterScraper::Models::X::TweetSearchResponse::TweetSearchCoverageResponse::Diagnostic,
|
|
45
|
+
has_next_page: XTwitterScraper::Models::X::TweetSearchResponse::TweetSearchCoverageResponse::has_next_page,
|
|
46
|
+
next_cursor: XTwitterScraper::Models::X::TweetSearchResponse::TweetSearchCoverageResponse::next_cursor
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
type diagnostic =
|
|
50
|
+
{
|
|
51
|
+
complete: bool,
|
|
52
|
+
cursor_failure_count: Integer,
|
|
53
|
+
deadline_reached: bool,
|
|
54
|
+
duplicate_count: Integer,
|
|
55
|
+
failed_strategy_count: Integer,
|
|
56
|
+
malformed_count: Integer,
|
|
57
|
+
pages_fetched: Integer,
|
|
58
|
+
partitioned: bool,
|
|
59
|
+
response_truncated: bool,
|
|
60
|
+
result_limit_reached: bool,
|
|
61
|
+
returned_tweets: Integer,
|
|
62
|
+
stalled_strategy_count: Integer,
|
|
63
|
+
strategies: ::Array[XTwitterScraper::Models::X::TweetSearchResponse::TweetSearchCoverageResponse::Diagnostic::Strategy],
|
|
64
|
+
strategy_count: Integer,
|
|
65
|
+
unique_tweets: Integer
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
class Diagnostic < XTwitterScraper::Internal::Type::BaseModel
|
|
69
|
+
attr_accessor complete: bool
|
|
70
|
+
|
|
71
|
+
attr_accessor cursor_failure_count: Integer
|
|
72
|
+
|
|
73
|
+
attr_accessor deadline_reached: bool
|
|
74
|
+
|
|
75
|
+
attr_accessor duplicate_count: Integer
|
|
76
|
+
|
|
77
|
+
attr_accessor failed_strategy_count: Integer
|
|
78
|
+
|
|
79
|
+
attr_accessor malformed_count: Integer
|
|
80
|
+
|
|
81
|
+
attr_accessor pages_fetched: Integer
|
|
82
|
+
|
|
83
|
+
attr_accessor partitioned: bool
|
|
84
|
+
|
|
85
|
+
attr_accessor response_truncated: bool
|
|
86
|
+
|
|
87
|
+
attr_accessor result_limit_reached: bool
|
|
88
|
+
|
|
89
|
+
attr_accessor returned_tweets: Integer
|
|
90
|
+
|
|
91
|
+
attr_accessor stalled_strategy_count: Integer
|
|
92
|
+
|
|
93
|
+
attr_accessor strategies: ::Array[XTwitterScraper::Models::X::TweetSearchResponse::TweetSearchCoverageResponse::Diagnostic::Strategy]
|
|
94
|
+
|
|
95
|
+
attr_accessor strategy_count: Integer
|
|
96
|
+
|
|
97
|
+
attr_accessor unique_tweets: Integer
|
|
98
|
+
|
|
99
|
+
def initialize: (
|
|
100
|
+
complete: bool,
|
|
101
|
+
cursor_failure_count: Integer,
|
|
102
|
+
deadline_reached: bool,
|
|
103
|
+
duplicate_count: Integer,
|
|
104
|
+
failed_strategy_count: Integer,
|
|
105
|
+
malformed_count: Integer,
|
|
106
|
+
pages_fetched: Integer,
|
|
107
|
+
partitioned: bool,
|
|
108
|
+
response_truncated: bool,
|
|
109
|
+
result_limit_reached: bool,
|
|
110
|
+
returned_tweets: Integer,
|
|
111
|
+
stalled_strategy_count: Integer,
|
|
112
|
+
strategies: ::Array[XTwitterScraper::Models::X::TweetSearchResponse::TweetSearchCoverageResponse::Diagnostic::Strategy],
|
|
113
|
+
strategy_count: Integer,
|
|
114
|
+
unique_tweets: Integer
|
|
115
|
+
) -> void
|
|
116
|
+
|
|
117
|
+
def to_hash: -> {
|
|
118
|
+
complete: bool,
|
|
119
|
+
cursor_failure_count: Integer,
|
|
120
|
+
deadline_reached: bool,
|
|
121
|
+
duplicate_count: Integer,
|
|
122
|
+
failed_strategy_count: Integer,
|
|
123
|
+
malformed_count: Integer,
|
|
124
|
+
pages_fetched: Integer,
|
|
125
|
+
partitioned: bool,
|
|
126
|
+
response_truncated: bool,
|
|
127
|
+
result_limit_reached: bool,
|
|
128
|
+
returned_tweets: Integer,
|
|
129
|
+
stalled_strategy_count: Integer,
|
|
130
|
+
strategies: ::Array[XTwitterScraper::Models::X::TweetSearchResponse::TweetSearchCoverageResponse::Diagnostic::Strategy],
|
|
131
|
+
strategy_count: Integer,
|
|
132
|
+
unique_tweets: Integer
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
type strategy =
|
|
136
|
+
{
|
|
137
|
+
duplicate_count: Integer,
|
|
138
|
+
pages_fetched: Integer,
|
|
139
|
+
query_type: XTwitterScraper::Models::X::TweetSearchResponse::TweetSearchCoverageResponse::Diagnostic::Strategy::query_type,
|
|
140
|
+
stop_reason: XTwitterScraper::Models::X::TweetSearchResponse::TweetSearchCoverageResponse::Diagnostic::Strategy::stop_reason,
|
|
141
|
+
strategy: Integer,
|
|
142
|
+
unique_added: Integer,
|
|
143
|
+
window: XTwitterScraper::Models::X::TweetSearchResponse::TweetSearchCoverageResponse::Diagnostic::Strategy::Window
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
class Strategy < XTwitterScraper::Internal::Type::BaseModel
|
|
147
|
+
attr_accessor duplicate_count: Integer
|
|
148
|
+
|
|
149
|
+
attr_accessor pages_fetched: Integer
|
|
150
|
+
|
|
151
|
+
attr_accessor query_type: XTwitterScraper::Models::X::TweetSearchResponse::TweetSearchCoverageResponse::Diagnostic::Strategy::query_type
|
|
152
|
+
|
|
153
|
+
attr_accessor stop_reason: XTwitterScraper::Models::X::TweetSearchResponse::TweetSearchCoverageResponse::Diagnostic::Strategy::stop_reason
|
|
154
|
+
|
|
155
|
+
attr_accessor strategy: Integer
|
|
156
|
+
|
|
157
|
+
attr_accessor unique_added: Integer
|
|
158
|
+
|
|
159
|
+
attr_reader window: XTwitterScraper::Models::X::TweetSearchResponse::TweetSearchCoverageResponse::Diagnostic::Strategy::Window?
|
|
160
|
+
|
|
161
|
+
def window=: (
|
|
162
|
+
XTwitterScraper::Models::X::TweetSearchResponse::TweetSearchCoverageResponse::Diagnostic::Strategy::Window
|
|
163
|
+
) -> XTwitterScraper::Models::X::TweetSearchResponse::TweetSearchCoverageResponse::Diagnostic::Strategy::Window
|
|
164
|
+
|
|
165
|
+
def initialize: (
|
|
166
|
+
duplicate_count: Integer,
|
|
167
|
+
pages_fetched: Integer,
|
|
168
|
+
query_type: XTwitterScraper::Models::X::TweetSearchResponse::TweetSearchCoverageResponse::Diagnostic::Strategy::query_type,
|
|
169
|
+
stop_reason: XTwitterScraper::Models::X::TweetSearchResponse::TweetSearchCoverageResponse::Diagnostic::Strategy::stop_reason,
|
|
170
|
+
strategy: Integer,
|
|
171
|
+
unique_added: Integer,
|
|
172
|
+
?window: XTwitterScraper::Models::X::TweetSearchResponse::TweetSearchCoverageResponse::Diagnostic::Strategy::Window
|
|
173
|
+
) -> void
|
|
174
|
+
|
|
175
|
+
def to_hash: -> {
|
|
176
|
+
duplicate_count: Integer,
|
|
177
|
+
pages_fetched: Integer,
|
|
178
|
+
query_type: XTwitterScraper::Models::X::TweetSearchResponse::TweetSearchCoverageResponse::Diagnostic::Strategy::query_type,
|
|
179
|
+
stop_reason: XTwitterScraper::Models::X::TweetSearchResponse::TweetSearchCoverageResponse::Diagnostic::Strategy::stop_reason,
|
|
180
|
+
strategy: Integer,
|
|
181
|
+
unique_added: Integer,
|
|
182
|
+
window: XTwitterScraper::Models::X::TweetSearchResponse::TweetSearchCoverageResponse::Diagnostic::Strategy::Window
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
type query_type = :Latest | :Top
|
|
186
|
+
|
|
187
|
+
module QueryType
|
|
188
|
+
extend XTwitterScraper::Internal::Type::Enum
|
|
189
|
+
|
|
190
|
+
LATEST: :Latest
|
|
191
|
+
TOP: :Top
|
|
192
|
+
|
|
193
|
+
def self?.values: -> ::Array[XTwitterScraper::Models::X::TweetSearchResponse::TweetSearchCoverageResponse::Diagnostic::Strategy::query_type]
|
|
194
|
+
end
|
|
195
|
+
|
|
196
|
+
type stop_reason =
|
|
197
|
+
:cursor_failure
|
|
198
|
+
| :deadline
|
|
199
|
+
| :exhausted
|
|
200
|
+
| :failed
|
|
201
|
+
| :page_limit
|
|
202
|
+
| :result_limit
|
|
203
|
+
| :stalled
|
|
204
|
+
|
|
205
|
+
module StopReason
|
|
206
|
+
extend XTwitterScraper::Internal::Type::Enum
|
|
207
|
+
|
|
208
|
+
CURSOR_FAILURE: :cursor_failure
|
|
209
|
+
DEADLINE: :deadline
|
|
210
|
+
EXHAUSTED: :exhausted
|
|
211
|
+
FAILED: :failed
|
|
212
|
+
PAGE_LIMIT: :page_limit
|
|
213
|
+
RESULT_LIMIT: :result_limit
|
|
214
|
+
STALLED: :stalled
|
|
215
|
+
|
|
216
|
+
def self?.values: -> ::Array[XTwitterScraper::Models::X::TweetSearchResponse::TweetSearchCoverageResponse::Diagnostic::Strategy::stop_reason]
|
|
217
|
+
end
|
|
218
|
+
|
|
219
|
+
type window = { since_time: Time, until_time: Time }
|
|
220
|
+
|
|
221
|
+
class Window < XTwitterScraper::Internal::Type::BaseModel
|
|
222
|
+
attr_accessor since_time: Time
|
|
223
|
+
|
|
224
|
+
attr_accessor until_time: Time
|
|
225
|
+
|
|
226
|
+
def initialize: (since_time: Time, until_time: Time) -> void
|
|
227
|
+
|
|
228
|
+
def to_hash: -> { since_time: Time, until_time: Time }
|
|
229
|
+
end
|
|
230
|
+
end
|
|
231
|
+
end
|
|
232
|
+
|
|
233
|
+
type has_next_page = false
|
|
234
|
+
|
|
235
|
+
module HasNextPage
|
|
236
|
+
extend XTwitterScraper::Internal::Type::Enum
|
|
237
|
+
|
|
238
|
+
FALSE: false
|
|
239
|
+
|
|
240
|
+
def self?.values: -> ::Array[XTwitterScraper::Models::X::TweetSearchResponse::TweetSearchCoverageResponse::has_next_page]
|
|
241
|
+
end
|
|
242
|
+
|
|
243
|
+
type next_cursor = :""
|
|
244
|
+
|
|
245
|
+
module NextCursor
|
|
246
|
+
extend XTwitterScraper::Internal::Type::Enum
|
|
247
|
+
|
|
248
|
+
EMPTY: :""
|
|
249
|
+
|
|
250
|
+
def self?.values: -> ::Array[XTwitterScraper::Models::X::TweetSearchResponse::TweetSearchCoverageResponse::next_cursor]
|
|
251
|
+
end
|
|
252
|
+
end
|
|
253
|
+
|
|
254
|
+
def self?.variants: -> ::Array[XTwitterScraper::Models::X::tweet_search_response]
|
|
255
|
+
end
|
|
256
|
+
end
|
|
257
|
+
end
|
|
258
|
+
end
|