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
@@ -5,5 +5,5 @@
5
5
  # frozen_string_literal: true
6
6
 
7
7
  module XTwitterScraper
8
- VERSION = "0.7.2"
8
+ VERSION = "0.9.0"
9
9
  end
@@ -58,6 +58,7 @@ require_relative "x_twitter_scraper/internal/transport/pooled_net_requester"
58
58
  require_relative "x_twitter_scraper/client"
59
59
  require_relative "x_twitter_scraper/models/user_profile"
60
60
  require_relative "x_twitter_scraper/models/paginated_tweets"
61
+ require_relative "x_twitter_scraper/models/paginated_users"
61
62
  require_relative "x_twitter_scraper/models/account_retrieve_params"
62
63
  require_relative "x_twitter_scraper/models/account_retrieve_response"
63
64
  require_relative "x_twitter_scraper/models/account_set_x_username_params"
@@ -135,7 +136,6 @@ require_relative "x_twitter_scraper/models/monitors/keyword_retrieve_response"
135
136
  require_relative "x_twitter_scraper/models/monitors/keyword_update_params"
136
137
  require_relative "x_twitter_scraper/models/monitors/keyword_update_response"
137
138
  require_relative "x_twitter_scraper/models/monitor_update_params"
138
- require_relative "x_twitter_scraper/models/paginated_users"
139
139
  require_relative "x_twitter_scraper/models/radar_item"
140
140
  require_relative "x_twitter_scraper/models/radar_retrieve_trending_topics_params"
141
141
  require_relative "x_twitter_scraper/models/radar_retrieve_trending_topics_response"
@@ -154,6 +154,7 @@ require_relative "x_twitter_scraper/models/style_retrieve_params"
154
154
  require_relative "x_twitter_scraper/models/style_update_params"
155
155
  require_relative "x_twitter_scraper/models/subscribe_create_params"
156
156
  require_relative "x_twitter_scraper/models/subscribe_create_response"
157
+ require_relative "x_twitter_scraper/models/support/attachment_download_params"
157
158
  require_relative "x_twitter_scraper/models/support/ticket_create_params"
158
159
  require_relative "x_twitter_scraper/models/support/ticket_create_response"
159
160
  require_relative "x_twitter_scraper/models/support/ticket_list_params"
@@ -258,13 +259,16 @@ require_relative "x_twitter_scraper/models/x/tweets/retweet_create_response"
258
259
  require_relative "x_twitter_scraper/models/x/tweets/retweet_delete_params"
259
260
  require_relative "x_twitter_scraper/models/x/tweets/retweet_delete_response"
260
261
  require_relative "x_twitter_scraper/models/x/tweet_search_params"
262
+ require_relative "x_twitter_scraper/models/x/tweet_search_response"
261
263
  require_relative "x_twitter_scraper/models/x/user_remove_follower_params"
262
264
  require_relative "x_twitter_scraper/models/x/user_remove_follower_response"
263
265
  require_relative "x_twitter_scraper/models/x/user_retrieve_batch_params"
264
266
  require_relative "x_twitter_scraper/models/x/user_retrieve_batch_response"
265
267
  require_relative "x_twitter_scraper/models/x/user_retrieve_followers_params"
268
+ require_relative "x_twitter_scraper/models/x/user_retrieve_followers_response"
266
269
  require_relative "x_twitter_scraper/models/x/user_retrieve_followers_you_know_params"
267
270
  require_relative "x_twitter_scraper/models/x/user_retrieve_following_params"
271
+ require_relative "x_twitter_scraper/models/x/user_retrieve_following_response"
268
272
  require_relative "x_twitter_scraper/models/x/user_retrieve_likes_params"
269
273
  require_relative "x_twitter_scraper/models/x/user_retrieve_media_params"
270
274
  require_relative "x_twitter_scraper/models/x/user_retrieve_mentions_params"
@@ -273,6 +277,7 @@ require_relative "x_twitter_scraper/models/x/user_retrieve_replies_params"
273
277
  require_relative "x_twitter_scraper/models/x/user_retrieve_search_params"
274
278
  require_relative "x_twitter_scraper/models/x/user_retrieve_tweets_params"
275
279
  require_relative "x_twitter_scraper/models/x/user_retrieve_verified_followers_params"
280
+ require_relative "x_twitter_scraper/models/x/user_retrieve_verified_followers_response"
276
281
  require_relative "x_twitter_scraper/models/x/users/follow_create_params"
277
282
  require_relative "x_twitter_scraper/models/x/users/follow_create_response"
278
283
  require_relative "x_twitter_scraper/models/x/users/follow_delete_all_params"
@@ -303,6 +308,7 @@ require_relative "x_twitter_scraper/resources/radar"
303
308
  require_relative "x_twitter_scraper/resources/styles"
304
309
  require_relative "x_twitter_scraper/resources/subscribe"
305
310
  require_relative "x_twitter_scraper/resources/support"
311
+ require_relative "x_twitter_scraper/resources/support/attachments"
306
312
  require_relative "x_twitter_scraper/resources/support/tickets"
307
313
  require_relative "x_twitter_scraper/resources/trends"
308
314
  require_relative "x_twitter_scraper/resources/webhooks"
@@ -15,12 +15,12 @@ module XTwitterScraper
15
15
  )
16
16
  end
17
17
 
18
- # Stable first-party Xquik redirect URL for the active Stripe Checkout session.
18
+ # Stable Xquik redirect URL for the active checkout.
19
19
  sig { returns(String) }
20
20
  attr_accessor :redirect_url
21
21
 
22
- # Same stable first-party Xquik redirect URL as redirect_url. The response never
23
- # exposes a raw Stripe Checkout URL.
22
+ # Same stable Xquik redirect URL as redirect_url. The response never exposes the
23
+ # hosted checkout URL.
24
24
  sig { returns(String) }
25
25
  attr_accessor :url
26
26
 
@@ -28,10 +28,10 @@ module XTwitterScraper
28
28
  params(redirect_url: String, url: String).returns(T.attached_class)
29
29
  end
30
30
  def self.new(
31
- # Stable first-party Xquik redirect URL for the active Stripe Checkout session.
31
+ # Stable Xquik redirect URL for the active checkout.
32
32
  redirect_url:,
33
- # Same stable first-party Xquik redirect URL as redirect_url. The response never
34
- # exposes a raw Stripe Checkout URL.
33
+ # Same stable Xquik redirect URL as redirect_url. The response never exposes the
34
+ # hosted checkout URL.
35
35
  url:
36
36
  )
37
37
  end
@@ -21,7 +21,8 @@ module XTwitterScraper
21
21
  sig { returns(String) }
22
22
  attr_accessor :id
23
23
 
24
- # Export output format
24
+ # Export output format. PDF entry exports include up to 10,000 rows. Other entry
25
+ # formats include up to 100,000 rows.
25
26
  sig { returns(XTwitterScraper::DrawExportParams::Format::OrSymbol) }
26
27
  attr_accessor :format_
27
28
 
@@ -46,7 +47,8 @@ module XTwitterScraper
46
47
  end
47
48
  def self.new(
48
49
  id:,
49
- # Export output format
50
+ # Export output format. PDF entry exports include up to 10,000 rows. Other entry
51
+ # formats include up to 100,000 rows.
50
52
  format_:,
51
53
  # Export winners or all entries
52
54
  type: nil,
@@ -67,7 +69,8 @@ module XTwitterScraper
67
69
  def to_hash
68
70
  end
69
71
 
70
- # Export output format
72
+ # Export output format. PDF entry exports include up to 10,000 rows. Other entry
73
+ # formats include up to 100,000 rows.
71
74
  module Format
72
75
  extend XTwitterScraper::Internal::Type::Enum
73
76
 
@@ -18,7 +18,7 @@ module XTwitterScraper
18
18
  )
19
19
  end
20
20
 
21
- # Cursor for keyset pagination from prior response next_cursor
21
+ # Previous nextCursor.
22
22
  sig { returns(T.nilable(String)) }
23
23
  attr_reader :cursor
24
24
 
@@ -43,7 +43,7 @@ module XTwitterScraper
43
43
  ).returns(T.attached_class)
44
44
  end
45
45
  def self.new(
46
- # Cursor for keyset pagination from prior response next_cursor
46
+ # Previous nextCursor.
47
47
  cursor: nil,
48
48
  # Maximum number of items to return (1-100, default 50). For paid per-result
49
49
  # endpoints, the returned count may be lower when remaining credits cannot cover
@@ -252,6 +252,11 @@ module XTwitterScraper
252
252
  :monitor_already_exists,
253
253
  XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
254
254
  )
255
+ MONITOR_PROFILE_UNAVAILABLE =
256
+ T.let(
257
+ :monitor_profile_unavailable,
258
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
259
+ )
255
260
  NO_MEDIA =
256
261
  T.let(
257
262
  :no_media,
@@ -337,6 +342,16 @@ module XTwitterScraper
337
342
  :connection_challenge_inactive,
338
343
  XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
339
344
  )
345
+ COVERAGE_CURSOR_GONE =
346
+ T.let(
347
+ :coverage_cursor_gone,
348
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
349
+ )
350
+ COVERAGE_CURSOR_UNAVAILABLE =
351
+ T.let(
352
+ :coverage_cursor_unavailable,
353
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
354
+ )
340
355
  DRAFT_NOT_FOUND =
341
356
  T.let(
342
357
  :draft_not_found,
@@ -382,6 +397,11 @@ module XTwitterScraper
382
397
  :invalid_community_id,
383
398
  XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
384
399
  )
400
+ INVALID_COVERAGE_CURSOR =
401
+ T.let(
402
+ :invalid_coverage_cursor,
403
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
404
+ )
385
405
  INVALID_IDEMPOTENCY_KEY =
386
406
  T.let(
387
407
  :invalid_idempotency_key,
@@ -823,6 +843,11 @@ module XTwitterScraper
823
843
  :monitor_already_exists,
824
844
  XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
825
845
  )
846
+ MONITOR_PROFILE_UNAVAILABLE =
847
+ T.let(
848
+ :monitor_profile_unavailable,
849
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
850
+ )
826
851
  NO_MEDIA =
827
852
  T.let(
828
853
  :no_media,
@@ -908,6 +933,16 @@ module XTwitterScraper
908
933
  :connection_challenge_inactive,
909
934
  XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
910
935
  )
936
+ COVERAGE_CURSOR_GONE =
937
+ T.let(
938
+ :coverage_cursor_gone,
939
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
940
+ )
941
+ COVERAGE_CURSOR_UNAVAILABLE =
942
+ T.let(
943
+ :coverage_cursor_unavailable,
944
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
945
+ )
911
946
  DRAFT_NOT_FOUND =
912
947
  T.let(
913
948
  :draft_not_found,
@@ -953,6 +988,11 @@ module XTwitterScraper
953
988
  :invalid_community_id,
954
989
  XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
955
990
  )
991
+ INVALID_COVERAGE_CURSOR =
992
+ T.let(
993
+ :invalid_coverage_cursor,
994
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
995
+ )
956
996
  INVALID_IDEMPOTENCY_KEY =
957
997
  T.let(
958
998
  :invalid_idempotency_key,
@@ -18,7 +18,7 @@ module XTwitterScraper
18
18
  )
19
19
  end
20
20
 
21
- # Cursor for keyset pagination from prior response next_cursor
21
+ # Previous nextCursor.
22
22
  sig { returns(T.nilable(String)) }
23
23
  attr_reader :cursor
24
24
 
@@ -32,6 +32,13 @@ module XTwitterScraper
32
32
  sig { params(event_type: XTwitterScraper::EventType::OrSymbol).void }
33
33
  attr_writer :event_type
34
34
 
35
+ # Keyword monitor ID.
36
+ sig { returns(T.nilable(String)) }
37
+ attr_reader :keyword_monitor_id
38
+
39
+ sig { params(keyword_monitor_id: String).void }
40
+ attr_writer :keyword_monitor_id
41
+
35
42
  # Maximum number of items to return (1-100, default 50). For paid per-result
36
43
  # endpoints, the returned count may be lower when remaining credits cannot cover
37
44
  # the requested page. If zero paid results are affordable, the endpoint returns
@@ -42,7 +49,7 @@ module XTwitterScraper
42
49
  sig { params(limit: Integer).void }
43
50
  attr_writer :limit
44
51
 
45
- # Filter events by monitor ID
52
+ # Account monitor ID.
46
53
  sig { returns(T.nilable(String)) }
47
54
  attr_reader :monitor_id
48
55
 
@@ -53,22 +60,25 @@ module XTwitterScraper
53
60
  params(
54
61
  cursor: String,
55
62
  event_type: XTwitterScraper::EventType::OrSymbol,
63
+ keyword_monitor_id: String,
56
64
  limit: Integer,
57
65
  monitor_id: String,
58
66
  request_options: XTwitterScraper::RequestOptions::OrHash
59
67
  ).returns(T.attached_class)
60
68
  end
61
69
  def self.new(
62
- # Cursor for keyset pagination from prior response next_cursor
70
+ # Previous nextCursor.
63
71
  cursor: nil,
64
72
  # Filter events by type
65
73
  event_type: nil,
74
+ # Keyword monitor ID.
75
+ keyword_monitor_id: nil,
66
76
  # Maximum number of items to return (1-100, default 50). For paid per-result
67
77
  # endpoints, the returned count may be lower when remaining credits cannot cover
68
78
  # the requested page. If zero paid results are affordable, the endpoint returns
69
79
  # 402 insufficient_credits.
70
80
  limit: nil,
71
- # Filter events by monitor ID
81
+ # Account monitor ID.
72
82
  monitor_id: nil,
73
83
  request_options: {}
74
84
  )
@@ -79,6 +89,7 @@ module XTwitterScraper
79
89
  {
80
90
  cursor: String,
81
91
  event_type: XTwitterScraper::EventType::OrSymbol,
92
+ keyword_monitor_id: String,
82
93
  limit: Integer,
83
94
  monitor_id: String,
84
95
  request_options: XTwitterScraper::RequestOptions