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.
Files changed (157) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -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
@@ -0,0 +1,241 @@
1
+ # frozen_string_literal: true
2
+
3
+ module XTwitterScraper
4
+ module Models
5
+ module X
6
+ # Paginated user profiles. No-mode follower, following, and verified follower
7
+ # requests merge independent views automatically. Response fields, page size,
8
+ # aliases, filters, and per-returned-profile billing stay unchanged. Existing
9
+ # unprefixed cursors retain legacy behavior. Follow next_cursor while
10
+ # has_next_page is true.
11
+ #
12
+ # @see XTwitterScraper::Resources::X::Users#retrieve_following
13
+ module UserRetrieveFollowingResponse
14
+ extend XTwitterScraper::Internal::Type::Union
15
+
16
+ # Paginated user profiles. No-mode follower, following, and verified follower requests merge independent views automatically. Response fields, page size, aliases, filters, and per-returned-profile billing stay unchanged. Existing unprefixed cursors retain legacy behavior. Follow next_cursor while has_next_page is true.
17
+ variant -> { XTwitterScraper::PaginatedUsers }
18
+
19
+ # Paginated user profiles. No-mode follower, following, and verified follower requests merge independent views automatically. Response fields, page size, aliases, filters, and per-returned-profile billing stay unchanged. Existing unprefixed cursors retain legacy behavior. Follow next_cursor while has_next_page is true.
20
+ variant -> { XTwitterScraper::Models::X::UserRetrieveFollowingResponse::UserListCoverageResponse }
21
+
22
+ class UserListCoverageResponse < XTwitterScraper::Models::PaginatedUsers
23
+ # @!attribute diagnostic
24
+ # Coverage evidence across parallel relationship strategies.
25
+ #
26
+ # @return [XTwitterScraper::Models::X::UserRetrieveFollowingResponse::UserListCoverageResponse::Diagnostic]
27
+ required :diagnostic,
28
+ -> { XTwitterScraper::Models::X::UserRetrieveFollowingResponse::UserListCoverageResponse::Diagnostic }
29
+
30
+ # @!attribute has_next_page
31
+ #
32
+ # @return [Boolean, XTwitterScraper::Models::X::UserRetrieveFollowingResponse::UserListCoverageResponse::HasNextPage, nil]
33
+ optional :has_next_page,
34
+ enum: -> { XTwitterScraper::Models::X::UserRetrieveFollowingResponse::UserListCoverageResponse::HasNextPage }
35
+
36
+ # @!attribute next_cursor
37
+ #
38
+ # @return [Symbol, XTwitterScraper::Models::X::UserRetrieveFollowingResponse::UserListCoverageResponse::NextCursor, nil]
39
+ optional :next_cursor,
40
+ enum: -> { XTwitterScraper::Models::X::UserRetrieveFollowingResponse::UserListCoverageResponse::NextCursor }
41
+
42
+ # @!method initialize(diagnostic:, has_next_page: nil, next_cursor: nil)
43
+ # Paginated user profiles. No-mode follower, following, and verified follower
44
+ # requests merge independent views automatically. Response fields, page size,
45
+ # aliases, filters, and per-returned-profile billing stay unchanged. Existing
46
+ # unprefixed cursors retain legacy behavior. Follow next_cursor while
47
+ # has_next_page is true.
48
+ #
49
+ # @param diagnostic [XTwitterScraper::Models::X::UserRetrieveFollowingResponse::UserListCoverageResponse::Diagnostic] Coverage evidence across parallel relationship strategies.
50
+ #
51
+ # @param has_next_page [Boolean, XTwitterScraper::Models::X::UserRetrieveFollowingResponse::UserListCoverageResponse::HasNextPage]
52
+ #
53
+ # @param next_cursor [Symbol, XTwitterScraper::Models::X::UserRetrieveFollowingResponse::UserListCoverageResponse::NextCursor]
54
+
55
+ class Diagnostic < XTwitterScraper::Internal::Type::BaseModel
56
+ # @!attribute complete
57
+ # True when every strategy exhausted its source.
58
+ #
59
+ # @return [Boolean]
60
+ required :complete, XTwitterScraper::Internal::Type::Boolean
61
+
62
+ # @!attribute cursor_failure_count
63
+ #
64
+ # @return [Integer]
65
+ required :cursor_failure_count, Integer, api_name: :cursorFailureCount
66
+
67
+ # @!attribute deadline_reached
68
+ #
69
+ # @return [Boolean]
70
+ required :deadline_reached, XTwitterScraper::Internal::Type::Boolean, api_name: :deadlineReached
71
+
72
+ # @!attribute duplicate_count
73
+ #
74
+ # @return [Integer]
75
+ required :duplicate_count, Integer, api_name: :duplicateCount
76
+
77
+ # @!attribute failed_strategy_count
78
+ #
79
+ # @return [Integer]
80
+ required :failed_strategy_count, Integer, api_name: :failedStrategyCount
81
+
82
+ # @!attribute malformed_count
83
+ #
84
+ # @return [Integer]
85
+ required :malformed_count, Integer, api_name: :malformedCount
86
+
87
+ # @!attribute pages_fetched
88
+ #
89
+ # @return [Integer]
90
+ required :pages_fetched, Integer, api_name: :pagesFetched
91
+
92
+ # @!attribute response_truncated
93
+ # Whether credits or the requested limit reduced output.
94
+ #
95
+ # @return [Boolean]
96
+ required :response_truncated,
97
+ XTwitterScraper::Internal::Type::Boolean,
98
+ api_name: :responseTruncated
99
+
100
+ # @!attribute result_limit_reached
101
+ #
102
+ # @return [Boolean]
103
+ required :result_limit_reached,
104
+ XTwitterScraper::Internal::Type::Boolean,
105
+ api_name: :resultLimitReached
106
+
107
+ # @!attribute returned_users
108
+ #
109
+ # @return [Integer]
110
+ required :returned_users, Integer, api_name: :returnedUsers
111
+
112
+ # @!attribute stalled_strategy_count
113
+ #
114
+ # @return [Integer]
115
+ required :stalled_strategy_count, Integer, api_name: :stalledStrategyCount
116
+
117
+ # @!attribute strategies
118
+ #
119
+ # @return [Array<XTwitterScraper::Models::X::UserRetrieveFollowingResponse::UserListCoverageResponse::Diagnostic::Strategy>]
120
+ required :strategies,
121
+ -> { XTwitterScraper::Internal::Type::ArrayOf[XTwitterScraper::Models::X::UserRetrieveFollowingResponse::UserListCoverageResponse::Diagnostic::Strategy] }
122
+
123
+ # @!attribute strategy_count
124
+ #
125
+ # @return [Integer]
126
+ required :strategy_count, Integer, api_name: :strategyCount
127
+
128
+ # @!attribute unique_users
129
+ #
130
+ # @return [Integer]
131
+ required :unique_users, Integer, api_name: :uniqueUsers
132
+
133
+ # @!method initialize(complete:, cursor_failure_count:, deadline_reached:, duplicate_count:, failed_strategy_count:, malformed_count:, pages_fetched:, response_truncated:, result_limit_reached:, returned_users:, stalled_strategy_count:, strategies:, strategy_count:, unique_users:)
134
+ # Coverage evidence across parallel relationship strategies.
135
+ #
136
+ # @param complete [Boolean] True when every strategy exhausted its source.
137
+ #
138
+ # @param cursor_failure_count [Integer]
139
+ #
140
+ # @param deadline_reached [Boolean]
141
+ #
142
+ # @param duplicate_count [Integer]
143
+ #
144
+ # @param failed_strategy_count [Integer]
145
+ #
146
+ # @param malformed_count [Integer]
147
+ #
148
+ # @param pages_fetched [Integer]
149
+ #
150
+ # @param response_truncated [Boolean] Whether credits or the requested limit reduced output.
151
+ #
152
+ # @param result_limit_reached [Boolean]
153
+ #
154
+ # @param returned_users [Integer]
155
+ #
156
+ # @param stalled_strategy_count [Integer]
157
+ #
158
+ # @param strategies [Array<XTwitterScraper::Models::X::UserRetrieveFollowingResponse::UserListCoverageResponse::Diagnostic::Strategy>]
159
+ #
160
+ # @param strategy_count [Integer]
161
+ #
162
+ # @param unique_users [Integer]
163
+
164
+ class Strategy < XTwitterScraper::Internal::Type::BaseModel
165
+ # @!attribute duplicate_count
166
+ #
167
+ # @return [Integer]
168
+ required :duplicate_count, Integer, api_name: :duplicateCount
169
+
170
+ # @!attribute pages_fetched
171
+ #
172
+ # @return [Integer]
173
+ required :pages_fetched, Integer, api_name: :pagesFetched
174
+
175
+ # @!attribute stop_reason
176
+ #
177
+ # @return [Symbol, XTwitterScraper::Models::X::UserRetrieveFollowingResponse::UserListCoverageResponse::Diagnostic::Strategy::StopReason]
178
+ required :stop_reason,
179
+ enum: -> { XTwitterScraper::Models::X::UserRetrieveFollowingResponse::UserListCoverageResponse::Diagnostic::Strategy::StopReason },
180
+ api_name: :stopReason
181
+
182
+ # @!attribute strategy
183
+ #
184
+ # @return [Integer]
185
+ required :strategy, Integer
186
+
187
+ # @!attribute unique_added
188
+ #
189
+ # @return [Integer]
190
+ required :unique_added, Integer, api_name: :uniqueAdded
191
+
192
+ # @!method initialize(duplicate_count:, pages_fetched:, stop_reason:, strategy:, unique_added:)
193
+ # @param duplicate_count [Integer]
194
+ # @param pages_fetched [Integer]
195
+ # @param stop_reason [Symbol, XTwitterScraper::Models::X::UserRetrieveFollowingResponse::UserListCoverageResponse::Diagnostic::Strategy::StopReason]
196
+ # @param strategy [Integer]
197
+ # @param unique_added [Integer]
198
+
199
+ # @see XTwitterScraper::Models::X::UserRetrieveFollowingResponse::UserListCoverageResponse::Diagnostic::Strategy#stop_reason
200
+ module StopReason
201
+ extend XTwitterScraper::Internal::Type::Enum
202
+
203
+ CURSOR_FAILURE = :cursor_failure
204
+ DEADLINE = :deadline
205
+ EXHAUSTED = :exhausted
206
+ FAILED = :failed
207
+ PAGE_LIMIT = :page_limit
208
+ RESULT_LIMIT = :result_limit
209
+ STALLED = :stalled
210
+
211
+ # @!method self.values
212
+ # @return [Array<Symbol>]
213
+ end
214
+ end
215
+ end
216
+
217
+ module HasNextPage
218
+ extend XTwitterScraper::Internal::Type::Enum
219
+
220
+ FALSE = false
221
+
222
+ # @!method self.values
223
+ # @return [Array<Boolean>]
224
+ end
225
+
226
+ module NextCursor
227
+ extend XTwitterScraper::Internal::Type::Enum
228
+
229
+ EMPTY = :""
230
+
231
+ # @!method self.values
232
+ # @return [Array<Symbol>]
233
+ end
234
+ end
235
+
236
+ # @!method self.variants
237
+ # @return [Array(XTwitterScraper::Models::PaginatedUsers, XTwitterScraper::Models::X::UserRetrieveFollowingResponse::UserListCoverageResponse)]
238
+ end
239
+ end
240
+ end
241
+ end
@@ -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
  #
@@ -78,6 +102,36 @@ module XTwitterScraper
78
102
  # @return [String, nil]
79
103
  optional :language, String
80
104
 
105
+ # @!attribute max_faves
106
+ # Maximum likes threshold. maxLikes is also accepted.
107
+ #
108
+ # @return [Integer, nil]
109
+ optional :max_faves, Integer
110
+
111
+ # @!attribute max_id
112
+ # Return Tweets older than this Tweet ID.
113
+ #
114
+ # @return [String, nil]
115
+ optional :max_id, String
116
+
117
+ # @!attribute max_quotes
118
+ # Maximum quotes threshold.
119
+ #
120
+ # @return [Integer, nil]
121
+ optional :max_quotes, Integer
122
+
123
+ # @!attribute max_replies
124
+ # Maximum replies threshold.
125
+ #
126
+ # @return [Integer, nil]
127
+ optional :max_replies, Integer
128
+
129
+ # @!attribute max_retweets
130
+ # Maximum retweets threshold.
131
+ #
132
+ # @return [Integer, nil]
133
+ optional :max_retweets, Integer
134
+
81
135
  # @!attribute media_type
82
136
  # Filter by media type.
83
137
  #
@@ -90,6 +144,12 @@ module XTwitterScraper
90
144
  # @return [String, nil]
91
145
  optional :mentioning, String
92
146
 
147
+ # @!attribute min_bookmarks
148
+ # Minimum bookmark count threshold.
149
+ #
150
+ # @return [Integer, nil]
151
+ optional :min_bookmarks, Integer
152
+
93
153
  # @!attribute min_faves
94
154
  # Minimum likes threshold.
95
155
  #
@@ -114,6 +174,30 @@ module XTwitterScraper
114
174
  # @return [Integer, nil]
115
175
  optional :min_retweets, Integer
116
176
 
177
+ # @!attribute min_views
178
+ # Minimum view count threshold.
179
+ #
180
+ # @return [Integer, nil]
181
+ optional :min_views, Integer
182
+
183
+ # @!attribute native_retweets
184
+ # Only return native reposts.
185
+ #
186
+ # @return [Boolean, nil]
187
+ optional :native_retweets, XTwitterScraper::Internal::Type::Boolean
188
+
189
+ # @!attribute near
190
+ # Match a place name.
191
+ #
192
+ # @return [String, nil]
193
+ optional :near, String
194
+
195
+ # @!attribute news
196
+ # Only return news results.
197
+ #
198
+ # @return [Boolean, nil]
199
+ optional :news, XTwitterScraper::Internal::Type::Boolean
200
+
117
201
  # @!attribute page_size
118
202
  # Maximum page items (1-100, default 20). Source, filters, or credits can reduce
119
203
  # results. Continue while has_next_page is true. Deprecated limit and count
@@ -152,12 +236,30 @@ module XTwitterScraper
152
236
  # @return [String, nil]
153
237
  optional :retweets_of_tweet_id, String
154
238
 
239
+ # @!attribute safe
240
+ # Enable the safe-search filter.
241
+ #
242
+ # @return [Boolean, nil]
243
+ optional :safe, XTwitterScraper::Internal::Type::Boolean
244
+
155
245
  # @!attribute since_date
156
246
  # Start date in YYYY-MM-DD format.
157
247
  #
158
248
  # @return [Date, nil]
159
249
  optional :since_date, Date
160
250
 
251
+ # @!attribute since_id
252
+ # Return Tweets newer than this Tweet ID.
253
+ #
254
+ # @return [String, nil]
255
+ optional :since_id, String
256
+
257
+ # @!attribute source
258
+ # Match the source application.
259
+ #
260
+ # @return [String, nil]
261
+ optional :source, String
262
+
161
263
  # @!attribute to_user
162
264
  # Filter replies sent to a username.
163
265
  #
@@ -182,7 +284,19 @@ module XTwitterScraper
182
284
  # @return [Boolean, nil]
183
285
  optional :verified_only, XTwitterScraper::Internal::Type::Boolean
184
286
 
185
- # @!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, 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, to_user: nil, until_date: nil, url: nil, verified_only: nil, request_options: {})
287
+ # @!attribute within
288
+ # Set the radius for the near filter.
289
+ #
290
+ # @return [String, nil]
291
+ optional :within, String
292
+
293
+ # @!attribute within_time
294
+ # Match Tweets inside a recent time window.
295
+ #
296
+ # @return [String, nil]
297
+ optional :within_time, String
298
+
299
+ # @!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, 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, source: nil, to_user: nil, until_date: nil, url: nil, verified_only: nil, within: nil, within_time: nil, request_options: {})
186
300
  # Some parameter documentations has been truncated, see
187
301
  # {XTwitterScraper::Models::X::UserRetrieveLikesParams} for more details.
188
302
  #
@@ -190,6 +304,10 @@ module XTwitterScraper
190
304
  #
191
305
  # @param any_words [String] Words or quoted phrases where any one can match. Separate with spaces, commas, o
192
306
  #
307
+ # @param blue_verified_only [Boolean] Only return tweets from Blue-verified authors.
308
+ #
309
+ # @param card_name [String] Match the Tweet card name.
310
+ #
193
311
  # @param cashtags [String] Cashtags separated by spaces, commas, or lines.
194
312
  #
195
313
  # @param conversation_id [String] Conversation ID filter.
@@ -198,20 +316,36 @@ module XTwitterScraper
198
316
  #
199
317
  # @param exact_phrase [String] Exact phrase to match.
200
318
  #
319
+ # @param exclude_source [String] Exclude a source application.
320
+ #
201
321
  # @param exclude_words [String] Words or quoted phrases to exclude. Separate with spaces, commas, or lines.
202
322
  #
203
323
  # @param from_user [String] Filter by author username.
204
324
  #
325
+ # @param geocode [String] Match latitude, longitude, and radius.
326
+ #
205
327
  # @param hashtags [String] Hashtags separated by spaces, commas, or lines.
206
328
  #
207
329
  # @param in_reply_to_tweet_id [String] Only replies to this tweet ID.
208
330
  #
209
331
  # @param language [String] Language code filter, e.g. en or tr.
210
332
  #
333
+ # @param max_faves [Integer] Maximum likes threshold. maxLikes is also accepted.
334
+ #
335
+ # @param max_id [String] Return Tweets older than this Tweet ID.
336
+ #
337
+ # @param max_quotes [Integer] Maximum quotes threshold.
338
+ #
339
+ # @param max_replies [Integer] Maximum replies threshold.
340
+ #
341
+ # @param max_retweets [Integer] Maximum retweets threshold.
342
+ #
211
343
  # @param media_type [Symbol, XTwitterScraper::Models::X::UserRetrieveLikesParams::MediaType] Filter by media type.
212
344
  #
213
345
  # @param mentioning [String] Filter tweets mentioning a username.
214
346
  #
347
+ # @param min_bookmarks [Integer] Minimum bookmark count threshold.
348
+ #
215
349
  # @param min_faves [Integer] Minimum likes threshold.
216
350
  #
217
351
  # @param min_quotes [Integer] Minimum quote count threshold.
@@ -220,6 +354,14 @@ module XTwitterScraper
220
354
  #
221
355
  # @param min_retweets [Integer] Minimum retweets threshold.
222
356
  #
357
+ # @param min_views [Integer] Minimum view count threshold.
358
+ #
359
+ # @param native_retweets [Boolean] Only return native reposts.
360
+ #
361
+ # @param near [String] Match a place name.
362
+ #
363
+ # @param news [Boolean] Only return news results.
364
+ #
223
365
  # @param page_size [Integer] Maximum page items (1-100, default 20). Source, filters, or credits can reduce r
224
366
  #
225
367
  # @param quotes [Symbol, XTwitterScraper::Models::X::UserRetrieveLikesParams::Quotes] Quote mode.
@@ -232,8 +374,14 @@ module XTwitterScraper
232
374
  #
233
375
  # @param retweets_of_tweet_id [String] Only retweets of this tweet ID.
234
376
  #
377
+ # @param safe [Boolean] Enable the safe-search filter.
378
+ #
235
379
  # @param since_date [Date] Start date in YYYY-MM-DD format.
236
380
  #
381
+ # @param since_id [String] Return Tweets newer than this Tweet ID.
382
+ #
383
+ # @param source [String] Match the source application.
384
+ #
237
385
  # @param to_user [String] Filter replies sent to a username.
238
386
  #
239
387
  # @param until_date [Date] End date in YYYY-MM-DD format.
@@ -242,6 +390,10 @@ module XTwitterScraper
242
390
  #
243
391
  # @param verified_only [Boolean] Only return tweets from verified authors.
244
392
  #
393
+ # @param within [String] Set the radius for the near filter.
394
+ #
395
+ # @param within_time [String] Match Tweets inside a recent time window.
396
+ #
245
397
  # @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}]
246
398
 
247
399
  # Filter by media type.