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.
Files changed (157) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +24 -0
  3. data/README.md +3 -3
  4. data/lib/x_twitter_scraper/models/credit_topup_balance_response.rb +5 -5
  5. data/lib/x_twitter_scraper/models/draw_export_params.rb +8 -3
  6. data/lib/x_twitter_scraper/models/draw_list_params.rb +2 -2
  7. data/lib/x_twitter_scraper/models/error.rb +8 -0
  8. data/lib/x_twitter_scraper/models/event_list_params.rb +13 -5
  9. data/lib/x_twitter_scraper/models/extraction_estimate_cost_params.rb +731 -82
  10. data/lib/x_twitter_scraper/models/extraction_estimate_cost_response.rb +1 -0
  11. data/lib/x_twitter_scraper/models/extraction_export_results_params.rb +145 -1
  12. data/lib/x_twitter_scraper/models/extraction_list_params.rb +2 -2
  13. data/lib/x_twitter_scraper/models/extraction_retrieve_params.rb +70 -3
  14. data/lib/x_twitter_scraper/models/extraction_run_params.rb +662 -1
  15. data/lib/x_twitter_scraper/models/extraction_run_response.rb +27 -48
  16. data/lib/x_twitter_scraper/models/guest_wallet_create_response.rb +8 -8
  17. data/lib/x_twitter_scraper/models/guest_wallet_topup_response.rb +9 -9
  18. data/lib/x_twitter_scraper/models/monitor.rb +29 -1
  19. data/lib/x_twitter_scraper/models/paginated_tweets.rb +4 -4
  20. data/lib/x_twitter_scraper/models/paginated_users.rb +5 -5
  21. data/lib/x_twitter_scraper/models/support/attachment_download_params.rb +28 -0
  22. data/lib/x_twitter_scraper/models/x/community_retrieve_members_params.rb +113 -1
  23. data/lib/x_twitter_scraper/models/x/community_retrieve_moderators_params.rb +117 -1
  24. data/lib/x_twitter_scraper/models/x/list_retrieve_followers_params.rb +117 -6
  25. data/lib/x_twitter_scraper/models/x/list_retrieve_members_params.rb +116 -1
  26. data/lib/x_twitter_scraper/models/x/tweet_get_favoriters_params.rb +117 -6
  27. data/lib/x_twitter_scraper/models/x/tweet_get_quotes_params.rb +153 -1
  28. data/lib/x_twitter_scraper/models/x/tweet_get_replies_params.rb +246 -16
  29. data/lib/x_twitter_scraper/models/x/tweet_get_replies_response.rb +3 -2
  30. data/lib/x_twitter_scraper/models/x/tweet_get_retweeters_params.rb +117 -6
  31. data/lib/x_twitter_scraper/models/x/tweet_search_params.rb +187 -14
  32. data/lib/x_twitter_scraper/models/x/tweet_search_response.rb +299 -0
  33. data/lib/x_twitter_scraper/models/x/user_retrieve_followers_params.rb +143 -10
  34. data/lib/x_twitter_scraper/models/x/user_retrieve_followers_response.rb +241 -0
  35. data/lib/x_twitter_scraper/models/x/user_retrieve_followers_you_know_params.rb +117 -6
  36. data/lib/x_twitter_scraper/models/x/user_retrieve_following_params.rb +143 -10
  37. data/lib/x_twitter_scraper/models/x/user_retrieve_following_response.rb +241 -0
  38. data/lib/x_twitter_scraper/models/x/user_retrieve_likes_params.rb +153 -1
  39. data/lib/x_twitter_scraper/models/x/user_retrieve_media_params.rb +153 -1
  40. data/lib/x_twitter_scraper/models/x/user_retrieve_mentions_params.rb +153 -1
  41. data/lib/x_twitter_scraper/models/x/user_retrieve_replies_params.rb +159 -7
  42. data/lib/x_twitter_scraper/models/x/user_retrieve_search_params.rb +116 -1
  43. data/lib/x_twitter_scraper/models/x/user_retrieve_tweets_params.rb +159 -7
  44. data/lib/x_twitter_scraper/models/x/user_retrieve_verified_followers_params.rb +157 -8
  45. data/lib/x_twitter_scraper/models/x/user_retrieve_verified_followers_response.rb +245 -0
  46. data/lib/x_twitter_scraper/models/x/x_account.rb +7 -11
  47. data/lib/x_twitter_scraper/resources/credits.rb +2 -2
  48. data/lib/x_twitter_scraper/resources/draws.rb +5 -2
  49. data/lib/x_twitter_scraper/resources/events.rb +10 -4
  50. data/lib/x_twitter_scraper/resources/extractions.rb +383 -84
  51. data/lib/x_twitter_scraper/resources/guest_wallets.rb +9 -13
  52. data/lib/x_twitter_scraper/resources/support/attachments.rb +42 -0
  53. data/lib/x_twitter_scraper/resources/support.rb +5 -0
  54. data/lib/x_twitter_scraper/resources/x/communities.rb +95 -4
  55. data/lib/x_twitter_scraper/resources/x/lists.rb +96 -5
  56. data/lib/x_twitter_scraper/resources/x/tweets.rb +286 -28
  57. data/lib/x_twitter_scraper/resources/x/users.rb +531 -41
  58. data/lib/x_twitter_scraper/version.rb +1 -1
  59. data/lib/x_twitter_scraper.rb +7 -1
  60. data/rbi/x_twitter_scraper/models/credit_topup_balance_response.rbi +6 -6
  61. data/rbi/x_twitter_scraper/models/draw_export_params.rbi +6 -3
  62. data/rbi/x_twitter_scraper/models/draw_list_params.rbi +2 -2
  63. data/rbi/x_twitter_scraper/models/error.rbi +40 -0
  64. data/rbi/x_twitter_scraper/models/event_list_params.rbi +15 -4
  65. data/rbi/x_twitter_scraper/models/extraction_estimate_cost_params.rbi +1338 -86
  66. data/rbi/x_twitter_scraper/models/extraction_estimate_cost_response.rbi +5 -0
  67. data/rbi/x_twitter_scraper/models/extraction_export_results_params.rbi +198 -0
  68. data/rbi/x_twitter_scraper/models/extraction_list_params.rbi +2 -2
  69. data/rbi/x_twitter_scraper/models/extraction_retrieve_params.rbi +194 -2
  70. data/rbi/x_twitter_scraper/models/extraction_run_params.rbi +1221 -0
  71. data/rbi/x_twitter_scraper/models/extraction_run_response.rbi +35 -162
  72. data/rbi/x_twitter_scraper/models/guest_wallet_create_response.rbi +8 -6
  73. data/rbi/x_twitter_scraper/models/guest_wallet_topup_response.rbi +9 -7
  74. data/rbi/x_twitter_scraper/models/monitor.rbi +54 -3
  75. data/rbi/x_twitter_scraper/models/paginated_tweets.rbi +4 -4
  76. data/rbi/x_twitter_scraper/models/paginated_users.rbi +5 -5
  77. data/rbi/x_twitter_scraper/models/support/attachment_download_params.rbi +51 -0
  78. data/rbi/x_twitter_scraper/models/x/community_retrieve_members_params.rbi +154 -0
  79. data/rbi/x_twitter_scraper/models/x/community_retrieve_moderators_params.rbi +154 -0
  80. data/rbi/x_twitter_scraper/models/x/list_retrieve_followers_params.rbi +160 -8
  81. data/rbi/x_twitter_scraper/models/x/list_retrieve_members_params.rbi +154 -0
  82. data/rbi/x_twitter_scraper/models/x/tweet_get_favoriters_params.rbi +160 -8
  83. data/rbi/x_twitter_scraper/models/x/tweet_get_quotes_params.rbi +209 -0
  84. data/rbi/x_twitter_scraper/models/x/tweet_get_replies_params.rbi +403 -20
  85. data/rbi/x_twitter_scraper/models/x/tweet_get_replies_response.rbi +3 -2
  86. data/rbi/x_twitter_scraper/models/x/tweet_get_retweeters_params.rbi +160 -8
  87. data/rbi/x_twitter_scraper/models/x/tweet_search_params.rbi +279 -16
  88. data/rbi/x_twitter_scraper/models/x/tweet_search_response.rbi +543 -0
  89. data/rbi/x_twitter_scraper/models/x/user_retrieve_followers_params.rbi +228 -12
  90. data/rbi/x_twitter_scraper/models/x/user_retrieve_followers_response.rbi +440 -0
  91. data/rbi/x_twitter_scraper/models/x/user_retrieve_followers_you_know_params.rbi +160 -8
  92. data/rbi/x_twitter_scraper/models/x/user_retrieve_following_params.rbi +228 -12
  93. data/rbi/x_twitter_scraper/models/x/user_retrieve_following_response.rbi +440 -0
  94. data/rbi/x_twitter_scraper/models/x/user_retrieve_likes_params.rbi +209 -0
  95. data/rbi/x_twitter_scraper/models/x/user_retrieve_media_params.rbi +209 -0
  96. data/rbi/x_twitter_scraper/models/x/user_retrieve_mentions_params.rbi +209 -0
  97. data/rbi/x_twitter_scraper/models/x/user_retrieve_replies_params.rbi +217 -8
  98. data/rbi/x_twitter_scraper/models/x/user_retrieve_search_params.rbi +154 -0
  99. data/rbi/x_twitter_scraper/models/x/user_retrieve_tweets_params.rbi +217 -8
  100. data/rbi/x_twitter_scraper/models/x/user_retrieve_verified_followers_params.rbi +248 -10
  101. data/rbi/x_twitter_scraper/models/x/user_retrieve_verified_followers_response.rbi +440 -0
  102. data/rbi/x_twitter_scraper/models/x/x_account.rbi +9 -15
  103. data/rbi/x_twitter_scraper/resources/credits.rbi +2 -2
  104. data/rbi/x_twitter_scraper/resources/draws.rbi +3 -2
  105. data/rbi/x_twitter_scraper/resources/events.rbi +5 -2
  106. data/rbi/x_twitter_scraper/resources/extractions.rbi +525 -83
  107. data/rbi/x_twitter_scraper/resources/guest_wallets.rbi +9 -13
  108. data/rbi/x_twitter_scraper/resources/support/attachments.rbi +35 -0
  109. data/rbi/x_twitter_scraper/resources/support.rbi +4 -0
  110. data/rbi/x_twitter_scraper/resources/x/communities.rbi +84 -0
  111. data/rbi/x_twitter_scraper/resources/x/lists.rbi +87 -4
  112. data/rbi/x_twitter_scraper/resources/x/tweets.rbi +307 -31
  113. data/rbi/x_twitter_scraper/resources/x/users.rbi +558 -34
  114. data/sig/x_twitter_scraper/models/error.rbs +16 -0
  115. data/sig/x_twitter_scraper/models/event_list_params.rbs +7 -0
  116. data/sig/x_twitter_scraper/models/extraction_estimate_cost_params.rbs +605 -1
  117. data/sig/x_twitter_scraper/models/extraction_estimate_cost_response.rbs +2 -0
  118. data/sig/x_twitter_scraper/models/extraction_export_results_params.rbs +127 -1
  119. data/sig/x_twitter_scraper/models/extraction_retrieve_params.rbs +74 -1
  120. data/sig/x_twitter_scraper/models/extraction_run_params.rbs +611 -1
  121. data/sig/x_twitter_scraper/models/extraction_run_response.rbs +29 -67
  122. data/sig/x_twitter_scraper/models/guest_wallet_create_response.rbs +4 -4
  123. data/sig/x_twitter_scraper/models/guest_wallet_topup_response.rbs +4 -4
  124. data/sig/x_twitter_scraper/models/monitor.rbs +29 -3
  125. data/sig/x_twitter_scraper/models/support/attachment_download_params.rbs +32 -0
  126. data/sig/x_twitter_scraper/models/x/community_retrieve_members_params.rbs +103 -1
  127. data/sig/x_twitter_scraper/models/x/community_retrieve_moderators_params.rbs +102 -1
  128. data/sig/x_twitter_scraper/models/x/list_retrieve_followers_params.rbs +103 -1
  129. data/sig/x_twitter_scraper/models/x/list_retrieve_members_params.rbs +103 -1
  130. data/sig/x_twitter_scraper/models/x/tweet_get_favoriters_params.rbs +103 -1
  131. data/sig/x_twitter_scraper/models/x/tweet_get_quotes_params.rbs +134 -1
  132. data/sig/x_twitter_scraper/models/x/tweet_get_replies_params.rbs +207 -2
  133. data/sig/x_twitter_scraper/models/x/tweet_get_retweeters_params.rbs +103 -1
  134. data/sig/x_twitter_scraper/models/x/tweet_search_params.rbs +154 -1
  135. data/sig/x_twitter_scraper/models/x/tweet_search_response.rbs +258 -0
  136. data/sig/x_twitter_scraper/models/x/user_retrieve_followers_params.rbs +119 -1
  137. data/sig/x_twitter_scraper/models/x/user_retrieve_followers_response.rbs +216 -0
  138. data/sig/x_twitter_scraper/models/x/user_retrieve_followers_you_know_params.rbs +103 -1
  139. data/sig/x_twitter_scraper/models/x/user_retrieve_following_params.rbs +119 -1
  140. data/sig/x_twitter_scraper/models/x/user_retrieve_following_response.rbs +216 -0
  141. data/sig/x_twitter_scraper/models/x/user_retrieve_likes_params.rbs +134 -1
  142. data/sig/x_twitter_scraper/models/x/user_retrieve_media_params.rbs +134 -1
  143. data/sig/x_twitter_scraper/models/x/user_retrieve_mentions_params.rbs +134 -1
  144. data/sig/x_twitter_scraper/models/x/user_retrieve_replies_params.rbs +134 -1
  145. data/sig/x_twitter_scraper/models/x/user_retrieve_search_params.rbs +102 -1
  146. data/sig/x_twitter_scraper/models/x/user_retrieve_tweets_params.rbs +134 -1
  147. data/sig/x_twitter_scraper/models/x/user_retrieve_verified_followers_params.rbs +137 -1
  148. data/sig/x_twitter_scraper/models/x/user_retrieve_verified_followers_response.rbs +216 -0
  149. data/sig/x_twitter_scraper/resources/events.rbs +1 -0
  150. data/sig/x_twitter_scraper/resources/extractions.rbs +137 -0
  151. data/sig/x_twitter_scraper/resources/support/attachments.rbs +15 -0
  152. data/sig/x_twitter_scraper/resources/support.rbs +2 -0
  153. data/sig/x_twitter_scraper/resources/x/communities.rbs +28 -0
  154. data/sig/x_twitter_scraper/resources/x/lists.rbs +28 -0
  155. data/sig/x_twitter_scraper/resources/x/tweets.rbs +93 -1
  156. data/sig/x_twitter_scraper/resources/x/users.rbs +173 -3
  157. metadata +19 -1
@@ -24,6 +24,18 @@ module XTwitterScraper
24
24
  # @return [String, nil]
25
25
  optional :any_words, String
26
26
 
27
+ # @!attribute blue_verified_only
28
+ # Only return tweets from Blue-verified authors.
29
+ #
30
+ # @return [Boolean, nil]
31
+ optional :blue_verified_only, XTwitterScraper::Internal::Type::Boolean
32
+
33
+ # @!attribute card_name
34
+ # Match the Tweet card name.
35
+ #
36
+ # @return [String, nil]
37
+ optional :card_name, String
38
+
27
39
  # @!attribute cashtags
28
40
  # Cashtags separated by spaces, commas, or lines.
29
41
  #
@@ -48,6 +60,12 @@ module XTwitterScraper
48
60
  # @return [String, nil]
49
61
  optional :exact_phrase, String
50
62
 
63
+ # @!attribute exclude_source
64
+ # Exclude a source application.
65
+ #
66
+ # @return [String, nil]
67
+ optional :exclude_source, String
68
+
51
69
  # @!attribute exclude_words
52
70
  # Words or quoted phrases to exclude. Separate with spaces, commas, or lines.
53
71
  #
@@ -60,6 +78,12 @@ module XTwitterScraper
60
78
  # @return [String, nil]
61
79
  optional :from_user, String
62
80
 
81
+ # @!attribute geocode
82
+ # Match latitude, longitude, and radius.
83
+ #
84
+ # @return [String, nil]
85
+ optional :geocode, String
86
+
63
87
  # @!attribute hashtags
64
88
  # Hashtags separated by spaces, commas, or lines.
65
89
  #
@@ -84,6 +108,36 @@ module XTwitterScraper
84
108
  # @return [String, nil]
85
109
  optional :language, String
86
110
 
111
+ # @!attribute max_faves
112
+ # Maximum likes threshold. maxLikes is also accepted.
113
+ #
114
+ # @return [Integer, nil]
115
+ optional :max_faves, Integer
116
+
117
+ # @!attribute max_id
118
+ # Return Tweets older than this Tweet ID.
119
+ #
120
+ # @return [String, nil]
121
+ optional :max_id, String
122
+
123
+ # @!attribute max_quotes
124
+ # Maximum quotes threshold.
125
+ #
126
+ # @return [Integer, nil]
127
+ optional :max_quotes, Integer
128
+
129
+ # @!attribute max_replies
130
+ # Maximum replies threshold.
131
+ #
132
+ # @return [Integer, nil]
133
+ optional :max_replies, Integer
134
+
135
+ # @!attribute max_retweets
136
+ # Maximum retweets threshold.
137
+ #
138
+ # @return [Integer, nil]
139
+ optional :max_retweets, Integer
140
+
87
141
  # @!attribute media_type
88
142
  # Filter by media type.
89
143
  #
@@ -96,6 +150,12 @@ module XTwitterScraper
96
150
  # @return [String, nil]
97
151
  optional :mentioning, String
98
152
 
153
+ # @!attribute min_bookmarks
154
+ # Minimum bookmark count threshold.
155
+ #
156
+ # @return [Integer, nil]
157
+ optional :min_bookmarks, Integer
158
+
99
159
  # @!attribute min_faves
100
160
  # Minimum likes threshold.
101
161
  #
@@ -120,6 +180,30 @@ module XTwitterScraper
120
180
  # @return [Integer, nil]
121
181
  optional :min_retweets, Integer
122
182
 
183
+ # @!attribute min_views
184
+ # Minimum view count threshold.
185
+ #
186
+ # @return [Integer, nil]
187
+ optional :min_views, Integer
188
+
189
+ # @!attribute native_retweets
190
+ # Only return native reposts.
191
+ #
192
+ # @return [Boolean, nil]
193
+ optional :native_retweets, XTwitterScraper::Internal::Type::Boolean
194
+
195
+ # @!attribute near
196
+ # Match a place name.
197
+ #
198
+ # @return [String, nil]
199
+ optional :near, String
200
+
201
+ # @!attribute news
202
+ # Only return news results.
203
+ #
204
+ # @return [Boolean, nil]
205
+ optional :news, XTwitterScraper::Internal::Type::Boolean
206
+
123
207
  # @!attribute page_size
124
208
  # Maximum page items (1-100, default 20). Source, filters, or credits can reduce
125
209
  # results. Continue while has_next_page is true. Deprecated limit and count
@@ -158,18 +242,36 @@ module XTwitterScraper
158
242
  # @return [String, nil]
159
243
  optional :retweets_of_tweet_id, String
160
244
 
245
+ # @!attribute safe
246
+ # Enable the safe-search filter.
247
+ #
248
+ # @return [Boolean, nil]
249
+ optional :safe, XTwitterScraper::Internal::Type::Boolean
250
+
161
251
  # @!attribute since_date
162
252
  # Start date in YYYY-MM-DD format.
163
253
  #
164
254
  # @return [Date, nil]
165
255
  optional :since_date, Date
166
256
 
257
+ # @!attribute since_id
258
+ # Return Tweets newer than this Tweet ID.
259
+ #
260
+ # @return [String, nil]
261
+ optional :since_id, String
262
+
167
263
  # @!attribute since_time
168
264
  # Unix timestamp - return quotes posted after this time
169
265
  #
170
266
  # @return [String, nil]
171
267
  optional :since_time, String
172
268
 
269
+ # @!attribute source
270
+ # Match the source application.
271
+ #
272
+ # @return [String, nil]
273
+ optional :source, String
274
+
173
275
  # @!attribute to_user
174
276
  # Filter replies sent to a username.
175
277
  #
@@ -200,7 +302,19 @@ module XTwitterScraper
200
302
  # @return [Boolean, nil]
201
303
  optional :verified_only, XTwitterScraper::Internal::Type::Boolean
202
304
 
203
- # @!method initialize(id:, any_words: nil, cashtags: nil, conversation_id: nil, cursor: nil, exact_phrase: nil, exclude_words: nil, from_user: nil, hashtags: nil, include_replies: nil, in_reply_to_tweet_id: nil, language: nil, media_type: nil, mentioning: nil, min_faves: nil, min_quotes: nil, min_replies: nil, min_retweets: nil, page_size: nil, quotes: nil, quotes_of_tweet_id: nil, replies: nil, retweets: nil, retweets_of_tweet_id: nil, since_date: nil, since_time: nil, to_user: nil, until_date: nil, until_time: nil, url: nil, verified_only: nil, request_options: {})
305
+ # @!attribute within
306
+ # Set the radius for the near filter.
307
+ #
308
+ # @return [String, nil]
309
+ optional :within, String
310
+
311
+ # @!attribute within_time
312
+ # Match Tweets inside a recent time window.
313
+ #
314
+ # @return [String, nil]
315
+ optional :within_time, String
316
+
317
+ # @!method initialize(id:, any_words: nil, blue_verified_only: nil, card_name: nil, cashtags: nil, conversation_id: nil, cursor: nil, exact_phrase: nil, exclude_source: nil, exclude_words: nil, from_user: nil, geocode: nil, hashtags: nil, include_replies: nil, in_reply_to_tweet_id: nil, language: nil, max_faves: nil, max_id: nil, max_quotes: nil, max_replies: nil, max_retweets: nil, media_type: nil, mentioning: nil, min_bookmarks: nil, min_faves: nil, min_quotes: nil, min_replies: nil, min_retweets: nil, min_views: nil, native_retweets: nil, near: nil, news: nil, page_size: nil, quotes: nil, quotes_of_tweet_id: nil, replies: nil, retweets: nil, retweets_of_tweet_id: nil, safe: nil, since_date: nil, since_id: nil, since_time: nil, source: nil, to_user: nil, until_date: nil, until_time: nil, url: nil, verified_only: nil, within: nil, within_time: nil, request_options: {})
204
318
  # Some parameter documentations has been truncated, see
205
319
  # {XTwitterScraper::Models::X::TweetGetQuotesParams} for more details.
206
320
  #
@@ -208,6 +322,10 @@ module XTwitterScraper
208
322
  #
209
323
  # @param any_words [String] Words or quoted phrases where any one can match. Separate with spaces, commas, o
210
324
  #
325
+ # @param blue_verified_only [Boolean] Only return tweets from Blue-verified authors.
326
+ #
327
+ # @param card_name [String] Match the Tweet card name.
328
+ #
211
329
  # @param cashtags [String] Cashtags separated by spaces, commas, or lines.
212
330
  #
213
331
  # @param conversation_id [String] Conversation ID filter.
@@ -216,10 +334,14 @@ module XTwitterScraper
216
334
  #
217
335
  # @param exact_phrase [String] Exact phrase to match.
218
336
  #
337
+ # @param exclude_source [String] Exclude a source application.
338
+ #
219
339
  # @param exclude_words [String] Words or quoted phrases to exclude. Separate with spaces, commas, or lines.
220
340
  #
221
341
  # @param from_user [String] Filter by author username.
222
342
  #
343
+ # @param geocode [String] Match latitude, longitude, and radius.
344
+ #
223
345
  # @param hashtags [String] Hashtags separated by spaces, commas, or lines.
224
346
  #
225
347
  # @param include_replies [Boolean] Include reply quotes (default false)
@@ -228,10 +350,22 @@ module XTwitterScraper
228
350
  #
229
351
  # @param language [String] Language code filter, e.g. en or tr.
230
352
  #
353
+ # @param max_faves [Integer] Maximum likes threshold. maxLikes is also accepted.
354
+ #
355
+ # @param max_id [String] Return Tweets older than this Tweet ID.
356
+ #
357
+ # @param max_quotes [Integer] Maximum quotes threshold.
358
+ #
359
+ # @param max_replies [Integer] Maximum replies threshold.
360
+ #
361
+ # @param max_retweets [Integer] Maximum retweets threshold.
362
+ #
231
363
  # @param media_type [Symbol, XTwitterScraper::Models::X::TweetGetQuotesParams::MediaType] Filter by media type.
232
364
  #
233
365
  # @param mentioning [String] Filter tweets mentioning a username.
234
366
  #
367
+ # @param min_bookmarks [Integer] Minimum bookmark count threshold.
368
+ #
235
369
  # @param min_faves [Integer] Minimum likes threshold.
236
370
  #
237
371
  # @param min_quotes [Integer] Minimum quote count threshold.
@@ -240,6 +374,14 @@ module XTwitterScraper
240
374
  #
241
375
  # @param min_retweets [Integer] Minimum retweets threshold.
242
376
  #
377
+ # @param min_views [Integer] Minimum view count threshold.
378
+ #
379
+ # @param native_retweets [Boolean] Only return native reposts.
380
+ #
381
+ # @param near [String] Match a place name.
382
+ #
383
+ # @param news [Boolean] Only return news results.
384
+ #
243
385
  # @param page_size [Integer] Maximum page items (1-100, default 20). Source, filters, or credits can reduce r
244
386
  #
245
387
  # @param quotes [Symbol, XTwitterScraper::Models::X::TweetGetQuotesParams::Quotes] Quote mode.
@@ -252,10 +394,16 @@ module XTwitterScraper
252
394
  #
253
395
  # @param retweets_of_tweet_id [String] Only retweets of this tweet ID.
254
396
  #
397
+ # @param safe [Boolean] Enable the safe-search filter.
398
+ #
255
399
  # @param since_date [Date] Start date in YYYY-MM-DD format.
256
400
  #
401
+ # @param since_id [String] Return Tweets newer than this Tweet ID.
402
+ #
257
403
  # @param since_time [String] Unix timestamp - return quotes posted after this time
258
404
  #
405
+ # @param source [String] Match the source application.
406
+ #
259
407
  # @param to_user [String] Filter replies sent to a username.
260
408
  #
261
409
  # @param until_date [Date] End date in YYYY-MM-DD format.
@@ -266,6 +414,10 @@ module XTwitterScraper
266
414
  #
267
415
  # @param verified_only [Boolean] Only return tweets from verified authors.
268
416
  #
417
+ # @param within [String] Set the radius for the near filter.
418
+ #
419
+ # @param within_time [String] Match Tweets inside a recent time window.
420
+ #
269
421
  # @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}]
270
422
 
271
423
  # Filter by media type.
@@ -24,6 +24,18 @@ module XTwitterScraper
24
24
  # @return [String, nil]
25
25
  optional :any_words, String
26
26
 
27
+ # @!attribute blue_verified_only
28
+ # Only return tweets from Blue-verified authors.
29
+ #
30
+ # @return [Boolean, nil]
31
+ optional :blue_verified_only, XTwitterScraper::Internal::Type::Boolean
32
+
33
+ # @!attribute card_name
34
+ # Match the Tweet card name.
35
+ #
36
+ # @return [String, nil]
37
+ optional :card_name, String
38
+
27
39
  # @!attribute cashtags
28
40
  # Cashtags separated by spaces, commas, or lines.
29
41
  #
@@ -37,7 +49,8 @@ module XTwitterScraper
37
49
  optional :conversation_id, String
38
50
 
39
51
  # @!attribute cursor
40
- # Pagination cursor for tweet replies
52
+ # Cursor from the previous response. Xquik cursors resume automatic coverage.
53
+ # Existing unprefixed cursors keep legacy standard behavior.
41
54
  #
42
55
  # @return [String, nil]
43
56
  optional :cursor, String
@@ -48,6 +61,18 @@ module XTwitterScraper
48
61
  # @return [String, nil]
49
62
  optional :exact_phrase, String
50
63
 
64
+ # @!attribute exclude_original_author
65
+ # Exclude replies written by the source-post author.
66
+ #
67
+ # @return [Boolean, nil]
68
+ optional :exclude_original_author, XTwitterScraper::Internal::Type::Boolean
69
+
70
+ # @!attribute exclude_source
71
+ # Exclude a source application.
72
+ #
73
+ # @return [String, nil]
74
+ optional :exclude_source, String
75
+
51
76
  # @!attribute exclude_words
52
77
  # Words or quoted phrases to exclude. Separate with spaces, commas, or lines.
53
78
  #
@@ -60,12 +85,30 @@ module XTwitterScraper
60
85
  # @return [String, nil]
61
86
  optional :from_user, String
62
87
 
88
+ # @!attribute geocode
89
+ # Match latitude, longitude, and radius.
90
+ #
91
+ # @return [String, nil]
92
+ optional :geocode, String
93
+
63
94
  # @!attribute hashtags
64
95
  # Hashtags separated by spaces, commas, or lines.
65
96
  #
66
97
  # @return [String, nil]
67
98
  optional :hashtags, String
68
99
 
100
+ # @!attribute has_media_only
101
+ # Only return replies containing media.
102
+ #
103
+ # @return [Boolean, nil]
104
+ optional :has_media_only, XTwitterScraper::Internal::Type::Boolean
105
+
106
+ # @!attribute include_original_post
107
+ # Include the source post and count it toward limit.
108
+ #
109
+ # @return [Boolean, nil]
110
+ optional :include_original_post, XTwitterScraper::Internal::Type::Boolean
111
+
69
112
  # @!attribute in_reply_to_tweet_id
70
113
  # Only replies to this tweet ID.
71
114
  #
@@ -79,13 +122,49 @@ module XTwitterScraper
79
122
  optional :language, String
80
123
 
81
124
  # @!attribute limit
82
- # With mode=complete, maximum combined direct and nested reply rows (1-25000).
83
- # Without complete mode, this is the deprecated pageSize alias and uses the normal
84
- # 1-100 page range.
125
+ # With mode=complete, maximum combined direct and nested reply rows (1-25000,
126
+ # default 25000). Automatic pages accept 1-300. Standard pages accept 1-100.
127
+ # Prefer pageSize outside complete mode.
85
128
  #
86
129
  # @return [Integer, nil]
87
130
  optional :limit, Integer
88
131
 
132
+ # @!attribute max_depth
133
+ # Maximum reply depth from the source post.
134
+ #
135
+ # @return [Integer, nil]
136
+ optional :max_depth, Integer
137
+
138
+ # @!attribute max_faves
139
+ # Maximum likes threshold. maxLikes is also accepted.
140
+ #
141
+ # @return [Integer, nil]
142
+ optional :max_faves, Integer
143
+
144
+ # @!attribute max_id
145
+ # Return Tweets older than this Tweet ID.
146
+ #
147
+ # @return [String, nil]
148
+ optional :max_id, String
149
+
150
+ # @!attribute max_quotes
151
+ # Maximum quotes threshold.
152
+ #
153
+ # @return [Integer, nil]
154
+ optional :max_quotes, Integer
155
+
156
+ # @!attribute max_replies
157
+ # Maximum replies threshold.
158
+ #
159
+ # @return [Integer, nil]
160
+ optional :max_replies, Integer
161
+
162
+ # @!attribute max_retweets
163
+ # Maximum retweets threshold.
164
+ #
165
+ # @return [Integer, nil]
166
+ optional :max_retweets, Integer
167
+
89
168
  # @!attribute media_type
90
169
  # Filter by media type.
91
170
  #
@@ -98,6 +177,12 @@ module XTwitterScraper
98
177
  # @return [String, nil]
99
178
  optional :mentioning, String
100
179
 
180
+ # @!attribute min_bookmarks
181
+ # Minimum bookmark count threshold.
182
+ #
183
+ # @return [Integer, nil]
184
+ optional :min_bookmarks, Integer
185
+
101
186
  # @!attribute min_faves
102
187
  # Minimum likes threshold.
103
188
  #
@@ -122,17 +207,42 @@ module XTwitterScraper
122
207
  # @return [Integer, nil]
123
208
  optional :min_retweets, Integer
124
209
 
210
+ # @!attribute min_views
211
+ # Minimum view count threshold.
212
+ #
213
+ # @return [Integer, nil]
214
+ optional :min_views, Integer
215
+
125
216
  # @!attribute mode
126
- # Set complete for maximum-coverage collection. Complete mode accepts only limit.
127
- # Remove cursor, pageSize, count, time ranges, and tweet filters.
217
+ # Optional advanced override. Omit mode for automatic maximum direct reply
218
+ # coverage with pagination. Standard keeps legacy pagination. Complete returns
219
+ # direct and nested replies with diagnostics, scope, depth, sorting, and
220
+ # original-post controls.
128
221
  #
129
222
  # @return [Symbol, XTwitterScraper::Models::X::TweetGetRepliesParams::Mode, nil]
130
223
  optional :mode, enum: -> { XTwitterScraper::X::TweetGetRepliesParams::Mode }
131
224
 
225
+ # @!attribute native_retweets
226
+ # Only return native reposts.
227
+ #
228
+ # @return [Boolean, nil]
229
+ optional :native_retweets, XTwitterScraper::Internal::Type::Boolean
230
+
231
+ # @!attribute near
232
+ # Match a place name.
233
+ #
234
+ # @return [String, nil]
235
+ optional :near, String
236
+
237
+ # @!attribute news
238
+ # Only return news results.
239
+ #
240
+ # @return [Boolean, nil]
241
+ optional :news, XTwitterScraper::Internal::Type::Boolean
242
+
132
243
  # @!attribute page_size
133
- # Maximum page items (1-100, default 20). Source, filters, or credits can reduce
134
- # results. Continue while has_next_page is true. Deprecated limit and count
135
- # aliases remain accepted.
244
+ # Automatic pages accept 1-300 Tweets. Standard pages keep 1-100. Default 20.
245
+ # Continue while has_next_page is true. Deprecated aliases remain accepted.
136
246
  #
137
247
  # @return [Integer, nil]
138
248
  optional :page_size, Integer
@@ -167,18 +277,48 @@ module XTwitterScraper
167
277
  # @return [String, nil]
168
278
  optional :retweets_of_tweet_id, String
169
279
 
280
+ # @!attribute safe
281
+ # Enable the safe-search filter.
282
+ #
283
+ # @return [Boolean, nil]
284
+ optional :safe, XTwitterScraper::Internal::Type::Boolean
285
+
286
+ # @!attribute scope
287
+ # Select all replies, direct replies, or nested replies.
288
+ #
289
+ # @return [Symbol, XTwitterScraper::Models::X::TweetGetRepliesParams::Scope, nil]
290
+ optional :scope, enum: -> { XTwitterScraper::X::TweetGetRepliesParams::Scope }
291
+
170
292
  # @!attribute since_date
171
293
  # Start date in YYYY-MM-DD format.
172
294
  #
173
295
  # @return [Date, nil]
174
296
  optional :since_date, Date
175
297
 
298
+ # @!attribute since_id
299
+ # Return Tweets newer than this Tweet ID.
300
+ #
301
+ # @return [String, nil]
302
+ optional :since_id, String
303
+
176
304
  # @!attribute since_time
177
305
  # Unix timestamp - return replies posted after this time
178
306
  #
179
307
  # @return [String, nil]
180
308
  optional :since_time, String
181
309
 
310
+ # @!attribute sort
311
+ # Sort the selected replies before applying limit.
312
+ #
313
+ # @return [Symbol, XTwitterScraper::Models::X::TweetGetRepliesParams::Sort, nil]
314
+ optional :sort, enum: -> { XTwitterScraper::X::TweetGetRepliesParams::Sort }
315
+
316
+ # @!attribute source
317
+ # Match the source application.
318
+ #
319
+ # @return [String, nil]
320
+ optional :source, String
321
+
182
322
  # @!attribute to_user
183
323
  # Filter replies sent to a username.
184
324
  #
@@ -209,7 +349,19 @@ module XTwitterScraper
209
349
  # @return [Boolean, nil]
210
350
  optional :verified_only, XTwitterScraper::Internal::Type::Boolean
211
351
 
212
- # @!method initialize(id:, any_words: nil, cashtags: nil, conversation_id: nil, cursor: nil, exact_phrase: nil, exclude_words: nil, from_user: nil, hashtags: nil, in_reply_to_tweet_id: nil, language: nil, limit: nil, media_type: nil, mentioning: nil, min_faves: nil, min_quotes: nil, min_replies: nil, min_retweets: nil, mode: nil, page_size: nil, quotes: nil, quotes_of_tweet_id: nil, replies: nil, retweets: nil, retweets_of_tweet_id: nil, since_date: nil, since_time: nil, to_user: nil, until_date: nil, until_time: nil, url: nil, verified_only: nil, request_options: {})
352
+ # @!attribute within
353
+ # Set the radius for the near filter.
354
+ #
355
+ # @return [String, nil]
356
+ optional :within, String
357
+
358
+ # @!attribute within_time
359
+ # Match Tweets inside a recent time window.
360
+ #
361
+ # @return [String, nil]
362
+ optional :within_time, String
363
+
364
+ # @!method initialize(id:, any_words: nil, blue_verified_only: nil, card_name: nil, cashtags: nil, conversation_id: nil, cursor: nil, exact_phrase: nil, exclude_original_author: nil, exclude_source: nil, exclude_words: nil, from_user: nil, geocode: nil, hashtags: nil, has_media_only: nil, include_original_post: nil, in_reply_to_tweet_id: nil, language: nil, limit: nil, max_depth: nil, max_faves: nil, max_id: nil, max_quotes: nil, max_replies: nil, max_retweets: nil, media_type: nil, mentioning: nil, min_bookmarks: nil, min_faves: nil, min_quotes: nil, min_replies: nil, min_retweets: nil, min_views: nil, mode: nil, native_retweets: nil, near: nil, news: nil, page_size: nil, quotes: nil, quotes_of_tweet_id: nil, replies: nil, retweets: nil, retweets_of_tweet_id: nil, safe: nil, scope: nil, since_date: nil, since_id: nil, since_time: nil, sort: nil, source: nil, to_user: nil, until_date: nil, until_time: nil, url: nil, verified_only: nil, within: nil, within_time: nil, request_options: {})
213
365
  # Some parameter documentations has been truncated, see
214
366
  # {XTwitterScraper::Models::X::TweetGetRepliesParams} for more details.
215
367
  #
@@ -217,30 +369,58 @@ module XTwitterScraper
217
369
  #
218
370
  # @param any_words [String] Words or quoted phrases where any one can match. Separate with spaces, commas, o
219
371
  #
372
+ # @param blue_verified_only [Boolean] Only return tweets from Blue-verified authors.
373
+ #
374
+ # @param card_name [String] Match the Tweet card name.
375
+ #
220
376
  # @param cashtags [String] Cashtags separated by spaces, commas, or lines.
221
377
  #
222
378
  # @param conversation_id [String] Conversation ID filter.
223
379
  #
224
- # @param cursor [String] Pagination cursor for tweet replies
380
+ # @param cursor [String] Cursor from the previous response. Xquik cursors resume automatic coverage. Exis
225
381
  #
226
382
  # @param exact_phrase [String] Exact phrase to match.
227
383
  #
384
+ # @param exclude_original_author [Boolean] Exclude replies written by the source-post author.
385
+ #
386
+ # @param exclude_source [String] Exclude a source application.
387
+ #
228
388
  # @param exclude_words [String] Words or quoted phrases to exclude. Separate with spaces, commas, or lines.
229
389
  #
230
390
  # @param from_user [String] Filter by author username.
231
391
  #
392
+ # @param geocode [String] Match latitude, longitude, and radius.
393
+ #
232
394
  # @param hashtags [String] Hashtags separated by spaces, commas, or lines.
233
395
  #
396
+ # @param has_media_only [Boolean] Only return replies containing media.
397
+ #
398
+ # @param include_original_post [Boolean] Include the source post and count it toward limit.
399
+ #
234
400
  # @param in_reply_to_tweet_id [String] Only replies to this tweet ID.
235
401
  #
236
402
  # @param language [String] Language code filter, e.g. en or tr.
237
403
  #
238
- # @param limit [Integer] With mode=complete, maximum combined direct and nested reply rows (1-25000). Wit
404
+ # @param limit [Integer] With mode=complete, maximum combined direct and nested reply rows (1-25000, defa
405
+ #
406
+ # @param max_depth [Integer] Maximum reply depth from the source post.
407
+ #
408
+ # @param max_faves [Integer] Maximum likes threshold. maxLikes is also accepted.
409
+ #
410
+ # @param max_id [String] Return Tweets older than this Tweet ID.
411
+ #
412
+ # @param max_quotes [Integer] Maximum quotes threshold.
413
+ #
414
+ # @param max_replies [Integer] Maximum replies threshold.
415
+ #
416
+ # @param max_retweets [Integer] Maximum retweets threshold.
239
417
  #
240
418
  # @param media_type [Symbol, XTwitterScraper::Models::X::TweetGetRepliesParams::MediaType] Filter by media type.
241
419
  #
242
420
  # @param mentioning [String] Filter tweets mentioning a username.
243
421
  #
422
+ # @param min_bookmarks [Integer] Minimum bookmark count threshold.
423
+ #
244
424
  # @param min_faves [Integer] Minimum likes threshold.
245
425
  #
246
426
  # @param min_quotes [Integer] Minimum quote count threshold.
@@ -249,9 +429,17 @@ module XTwitterScraper
249
429
  #
250
430
  # @param min_retweets [Integer] Minimum retweets threshold.
251
431
  #
252
- # @param mode [Symbol, XTwitterScraper::Models::X::TweetGetRepliesParams::Mode] Set complete for maximum-coverage collection. Complete mode accepts only limit.
432
+ # @param min_views [Integer] Minimum view count threshold.
433
+ #
434
+ # @param mode [Symbol, XTwitterScraper::Models::X::TweetGetRepliesParams::Mode] Optional advanced override. Omit mode for automatic maximum direct reply coverag
435
+ #
436
+ # @param native_retweets [Boolean] Only return native reposts.
437
+ #
438
+ # @param near [String] Match a place name.
439
+ #
440
+ # @param news [Boolean] Only return news results.
253
441
  #
254
- # @param page_size [Integer] Maximum page items (1-100, default 20). Source, filters, or credits can reduce r
442
+ # @param page_size [Integer] Automatic pages accept 1-300 Tweets. Standard pages keep 1-100. Default 20. Cont
255
443
  #
256
444
  # @param quotes [Symbol, XTwitterScraper::Models::X::TweetGetRepliesParams::Quotes] Quote mode.
257
445
  #
@@ -263,10 +451,20 @@ module XTwitterScraper
263
451
  #
264
452
  # @param retweets_of_tweet_id [String] Only retweets of this tweet ID.
265
453
  #
454
+ # @param safe [Boolean] Enable the safe-search filter.
455
+ #
456
+ # @param scope [Symbol, XTwitterScraper::Models::X::TweetGetRepliesParams::Scope] Select all replies, direct replies, or nested replies.
457
+ #
266
458
  # @param since_date [Date] Start date in YYYY-MM-DD format.
267
459
  #
460
+ # @param since_id [String] Return Tweets newer than this Tweet ID.
461
+ #
268
462
  # @param since_time [String] Unix timestamp - return replies posted after this time
269
463
  #
464
+ # @param sort [Symbol, XTwitterScraper::Models::X::TweetGetRepliesParams::Sort] Sort the selected replies before applying limit.
465
+ #
466
+ # @param source [String] Match the source application.
467
+ #
270
468
  # @param to_user [String] Filter replies sent to a username.
271
469
  #
272
470
  # @param until_date [Date] End date in YYYY-MM-DD format.
@@ -277,6 +475,10 @@ module XTwitterScraper
277
475
  #
278
476
  # @param verified_only [Boolean] Only return tweets from verified authors.
279
477
  #
478
+ # @param within [String] Set the radius for the near filter.
479
+ #
480
+ # @param within_time [String] Match Tweets inside a recent time window.
481
+ #
280
482
  # @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}]
281
483
 
282
484
  # Filter by media type.
@@ -294,11 +496,14 @@ module XTwitterScraper
294
496
  # @return [Array<Symbol>]
295
497
  end
296
498
 
297
- # Set complete for maximum-coverage collection. Complete mode accepts only limit.
298
- # Remove cursor, pageSize, count, time ranges, and tweet filters.
499
+ # Optional advanced override. Omit mode for automatic maximum direct reply
500
+ # coverage with pagination. Standard keeps legacy pagination. Complete returns
501
+ # direct and nested replies with diagnostics, scope, depth, sorting, and
502
+ # original-post controls.
299
503
  module Mode
300
504
  extend XTwitterScraper::Internal::Type::Enum
301
505
 
506
+ STANDARD = :standard
302
507
  COMPLETE = :complete
303
508
 
304
509
  # @!method self.values
@@ -340,6 +545,31 @@ module XTwitterScraper
340
545
  # @!method self.values
341
546
  # @return [Array<Symbol>]
342
547
  end
548
+
549
+ # Select all replies, direct replies, or nested replies.
550
+ module Scope
551
+ extend XTwitterScraper::Internal::Type::Enum
552
+
553
+ ALL = :all
554
+ DIRECT = :direct
555
+ NESTED = :nested
556
+
557
+ # @!method self.values
558
+ # @return [Array<Symbol>]
559
+ end
560
+
561
+ # Sort the selected replies before applying limit.
562
+ module Sort
563
+ extend XTwitterScraper::Internal::Type::Enum
564
+
565
+ RELEVANCE = :relevance
566
+ LATEST = :latest
567
+ OLDEST = :oldest
568
+ LIKES = :likes
569
+
570
+ # @!method self.values
571
+ # @return [Array<Symbol>]
572
+ end
343
573
  end
344
574
  end
345
575
  end