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
@@ -6,7 +6,28 @@ module XTwitterScraper
6
6
  module Models
7
7
  module X
8
8
  type user_retrieve_verified_followers_params =
9
- { id: String, cursor: String, page_size: Integer }
9
+ {
10
+ id: String,
11
+ after: String,
12
+ bio_contains: String,
13
+ cursor: String,
14
+ has_location: bool,
15
+ has_website: bool,
16
+ limit: Integer,
17
+ location_contains: String,
18
+ max_followers: Integer,
19
+ max_following: Integer,
20
+ max_statuses: Integer,
21
+ min_account_age_days: Integer,
22
+ min_followers: Integer,
23
+ min_following: Integer,
24
+ min_statuses: Integer,
25
+ mode: XTwitterScraper::Models::X::UserRetrieveVerifiedFollowersParams::mode,
26
+ page_size: Integer,
27
+ username_contains: String,
28
+ verified_only: bool,
29
+ verified_type: String
30
+ }
10
31
  & XTwitterScraper::Internal::Type::request_parameters
11
32
 
12
33
  class UserRetrieveVerifiedFollowersParams < XTwitterScraper::Internal::Type::BaseModel
@@ -15,27 +36,142 @@ module XTwitterScraper
15
36
 
16
37
  attr_accessor id: String
17
38
 
39
+ attr_reader after: String?
40
+
41
+ def after=: (String) -> String
42
+
43
+ attr_reader bio_contains: String?
44
+
45
+ def bio_contains=: (String) -> String
46
+
18
47
  attr_reader cursor: String?
19
48
 
20
49
  def cursor=: (String) -> String
21
50
 
51
+ attr_reader has_location: bool?
52
+
53
+ def has_location=: (bool) -> bool
54
+
55
+ attr_reader has_website: bool?
56
+
57
+ def has_website=: (bool) -> bool
58
+
59
+ attr_reader limit: Integer?
60
+
61
+ def limit=: (Integer) -> Integer
62
+
63
+ attr_reader location_contains: String?
64
+
65
+ def location_contains=: (String) -> String
66
+
67
+ attr_reader max_followers: Integer?
68
+
69
+ def max_followers=: (Integer) -> Integer
70
+
71
+ attr_reader max_following: Integer?
72
+
73
+ def max_following=: (Integer) -> Integer
74
+
75
+ attr_reader max_statuses: Integer?
76
+
77
+ def max_statuses=: (Integer) -> Integer
78
+
79
+ attr_reader min_account_age_days: Integer?
80
+
81
+ def min_account_age_days=: (Integer) -> Integer
82
+
83
+ attr_reader min_followers: Integer?
84
+
85
+ def min_followers=: (Integer) -> Integer
86
+
87
+ attr_reader min_following: Integer?
88
+
89
+ def min_following=: (Integer) -> Integer
90
+
91
+ attr_reader min_statuses: Integer?
92
+
93
+ def min_statuses=: (Integer) -> Integer
94
+
95
+ attr_reader mode: XTwitterScraper::Models::X::UserRetrieveVerifiedFollowersParams::mode?
96
+
97
+ def mode=: (
98
+ XTwitterScraper::Models::X::UserRetrieveVerifiedFollowersParams::mode
99
+ ) -> XTwitterScraper::Models::X::UserRetrieveVerifiedFollowersParams::mode
100
+
22
101
  attr_reader page_size: Integer?
23
102
 
24
103
  def page_size=: (Integer) -> Integer
25
104
 
105
+ attr_reader username_contains: String?
106
+
107
+ def username_contains=: (String) -> String
108
+
109
+ attr_reader verified_only: bool?
110
+
111
+ def verified_only=: (bool) -> bool
112
+
113
+ attr_reader verified_type: String?
114
+
115
+ def verified_type=: (String) -> String
116
+
26
117
  def initialize: (
27
118
  id: String,
119
+ ?after: String,
120
+ ?bio_contains: String,
28
121
  ?cursor: String,
122
+ ?has_location: bool,
123
+ ?has_website: bool,
124
+ ?limit: Integer,
125
+ ?location_contains: String,
126
+ ?max_followers: Integer,
127
+ ?max_following: Integer,
128
+ ?max_statuses: Integer,
129
+ ?min_account_age_days: Integer,
130
+ ?min_followers: Integer,
131
+ ?min_following: Integer,
132
+ ?min_statuses: Integer,
133
+ ?mode: XTwitterScraper::Models::X::UserRetrieveVerifiedFollowersParams::mode,
29
134
  ?page_size: Integer,
135
+ ?username_contains: String,
136
+ ?verified_only: bool,
137
+ ?verified_type: String,
30
138
  ?request_options: XTwitterScraper::request_opts
31
139
  ) -> void
32
140
 
33
141
  def to_hash: -> {
34
142
  id: String,
143
+ after: String,
144
+ bio_contains: String,
35
145
  cursor: String,
146
+ has_location: bool,
147
+ has_website: bool,
148
+ limit: Integer,
149
+ location_contains: String,
150
+ max_followers: Integer,
151
+ max_following: Integer,
152
+ max_statuses: Integer,
153
+ min_account_age_days: Integer,
154
+ min_followers: Integer,
155
+ min_following: Integer,
156
+ min_statuses: Integer,
157
+ mode: XTwitterScraper::Models::X::UserRetrieveVerifiedFollowersParams::mode,
36
158
  page_size: Integer,
159
+ username_contains: String,
160
+ verified_only: bool,
161
+ verified_type: String,
37
162
  request_options: XTwitterScraper::RequestOptions
38
163
  }
164
+
165
+ type mode = :standard | :coverage
166
+
167
+ module Mode
168
+ extend XTwitterScraper::Internal::Type::Enum
169
+
170
+ STANDARD: :standard
171
+ COVERAGE: :coverage
172
+
173
+ def self?.values: -> ::Array[XTwitterScraper::Models::X::UserRetrieveVerifiedFollowersParams::mode]
174
+ end
39
175
  end
40
176
  end
41
177
  end
@@ -0,0 +1,216 @@
1
+ module XTwitterScraper
2
+ module Models
3
+ module X
4
+ type user_retrieve_verified_followers_response =
5
+ XTwitterScraper::PaginatedUsers
6
+ | XTwitterScraper::Models::X::UserRetrieveVerifiedFollowersResponse::UserListCoverageResponse
7
+
8
+ module UserRetrieveVerifiedFollowersResponse
9
+ extend XTwitterScraper::Internal::Type::Union
10
+
11
+ type user_list_coverage_response =
12
+ {
13
+ diagnostic: XTwitterScraper::Models::X::UserRetrieveVerifiedFollowersResponse::UserListCoverageResponse::Diagnostic,
14
+ has_next_page: XTwitterScraper::Models::X::UserRetrieveVerifiedFollowersResponse::UserListCoverageResponse::has_next_page,
15
+ next_cursor: XTwitterScraper::Models::X::UserRetrieveVerifiedFollowersResponse::UserListCoverageResponse::next_cursor
16
+ }
17
+
18
+ class UserListCoverageResponse < XTwitterScraper::Models::PaginatedUsers
19
+ def diagnostic: -> XTwitterScraper::Models::X::UserRetrieveVerifiedFollowersResponse::UserListCoverageResponse::Diagnostic
20
+
21
+ def diagnostic=: (
22
+ XTwitterScraper::Models::X::UserRetrieveVerifiedFollowersResponse::UserListCoverageResponse::Diagnostic _
23
+ ) -> XTwitterScraper::Models::X::UserRetrieveVerifiedFollowersResponse::UserListCoverageResponse::Diagnostic
24
+
25
+ def has_next_page: -> XTwitterScraper::Models::X::UserRetrieveVerifiedFollowersResponse::UserListCoverageResponse::has_next_page?
26
+
27
+ def has_next_page=: (
28
+ XTwitterScraper::Models::X::UserRetrieveVerifiedFollowersResponse::UserListCoverageResponse::has_next_page _
29
+ ) -> XTwitterScraper::Models::X::UserRetrieveVerifiedFollowersResponse::UserListCoverageResponse::has_next_page
30
+
31
+ def next_cursor: -> XTwitterScraper::Models::X::UserRetrieveVerifiedFollowersResponse::UserListCoverageResponse::next_cursor?
32
+
33
+ def next_cursor=: (
34
+ XTwitterScraper::Models::X::UserRetrieveVerifiedFollowersResponse::UserListCoverageResponse::next_cursor _
35
+ ) -> XTwitterScraper::Models::X::UserRetrieveVerifiedFollowersResponse::UserListCoverageResponse::next_cursor
36
+
37
+ def initialize: (
38
+ diagnostic: XTwitterScraper::Models::X::UserRetrieveVerifiedFollowersResponse::UserListCoverageResponse::Diagnostic,
39
+ ?has_next_page: XTwitterScraper::Models::X::UserRetrieveVerifiedFollowersResponse::UserListCoverageResponse::has_next_page,
40
+ ?next_cursor: XTwitterScraper::Models::X::UserRetrieveVerifiedFollowersResponse::UserListCoverageResponse::next_cursor
41
+ ) -> void
42
+
43
+ def to_hash: -> {
44
+ diagnostic: XTwitterScraper::Models::X::UserRetrieveVerifiedFollowersResponse::UserListCoverageResponse::Diagnostic,
45
+ has_next_page: XTwitterScraper::Models::X::UserRetrieveVerifiedFollowersResponse::UserListCoverageResponse::has_next_page,
46
+ next_cursor: XTwitterScraper::Models::X::UserRetrieveVerifiedFollowersResponse::UserListCoverageResponse::next_cursor
47
+ }
48
+
49
+ type diagnostic =
50
+ {
51
+ complete: bool,
52
+ cursor_failure_count: Integer,
53
+ deadline_reached: bool,
54
+ duplicate_count: Integer,
55
+ failed_strategy_count: Integer,
56
+ malformed_count: Integer,
57
+ pages_fetched: Integer,
58
+ response_truncated: bool,
59
+ result_limit_reached: bool,
60
+ returned_users: Integer,
61
+ stalled_strategy_count: Integer,
62
+ strategies: ::Array[XTwitterScraper::Models::X::UserRetrieveVerifiedFollowersResponse::UserListCoverageResponse::Diagnostic::Strategy],
63
+ strategy_count: Integer,
64
+ unique_users: Integer
65
+ }
66
+
67
+ class Diagnostic < XTwitterScraper::Internal::Type::BaseModel
68
+ attr_accessor complete: bool
69
+
70
+ attr_accessor cursor_failure_count: Integer
71
+
72
+ attr_accessor deadline_reached: bool
73
+
74
+ attr_accessor duplicate_count: Integer
75
+
76
+ attr_accessor failed_strategy_count: Integer
77
+
78
+ attr_accessor malformed_count: Integer
79
+
80
+ attr_accessor pages_fetched: Integer
81
+
82
+ attr_accessor response_truncated: bool
83
+
84
+ attr_accessor result_limit_reached: bool
85
+
86
+ attr_accessor returned_users: Integer
87
+
88
+ attr_accessor stalled_strategy_count: Integer
89
+
90
+ attr_accessor strategies: ::Array[XTwitterScraper::Models::X::UserRetrieveVerifiedFollowersResponse::UserListCoverageResponse::Diagnostic::Strategy]
91
+
92
+ attr_accessor strategy_count: Integer
93
+
94
+ attr_accessor unique_users: Integer
95
+
96
+ def initialize: (
97
+ complete: bool,
98
+ cursor_failure_count: Integer,
99
+ deadline_reached: bool,
100
+ duplicate_count: Integer,
101
+ failed_strategy_count: Integer,
102
+ malformed_count: Integer,
103
+ pages_fetched: Integer,
104
+ response_truncated: bool,
105
+ result_limit_reached: bool,
106
+ returned_users: Integer,
107
+ stalled_strategy_count: Integer,
108
+ strategies: ::Array[XTwitterScraper::Models::X::UserRetrieveVerifiedFollowersResponse::UserListCoverageResponse::Diagnostic::Strategy],
109
+ strategy_count: Integer,
110
+ unique_users: Integer
111
+ ) -> void
112
+
113
+ def to_hash: -> {
114
+ complete: bool,
115
+ cursor_failure_count: Integer,
116
+ deadline_reached: bool,
117
+ duplicate_count: Integer,
118
+ failed_strategy_count: Integer,
119
+ malformed_count: Integer,
120
+ pages_fetched: Integer,
121
+ response_truncated: bool,
122
+ result_limit_reached: bool,
123
+ returned_users: Integer,
124
+ stalled_strategy_count: Integer,
125
+ strategies: ::Array[XTwitterScraper::Models::X::UserRetrieveVerifiedFollowersResponse::UserListCoverageResponse::Diagnostic::Strategy],
126
+ strategy_count: Integer,
127
+ unique_users: Integer
128
+ }
129
+
130
+ type strategy =
131
+ {
132
+ duplicate_count: Integer,
133
+ pages_fetched: Integer,
134
+ stop_reason: XTwitterScraper::Models::X::UserRetrieveVerifiedFollowersResponse::UserListCoverageResponse::Diagnostic::Strategy::stop_reason,
135
+ strategy: Integer,
136
+ unique_added: Integer
137
+ }
138
+
139
+ class Strategy < XTwitterScraper::Internal::Type::BaseModel
140
+ attr_accessor duplicate_count: Integer
141
+
142
+ attr_accessor pages_fetched: Integer
143
+
144
+ attr_accessor stop_reason: XTwitterScraper::Models::X::UserRetrieveVerifiedFollowersResponse::UserListCoverageResponse::Diagnostic::Strategy::stop_reason
145
+
146
+ attr_accessor strategy: Integer
147
+
148
+ attr_accessor unique_added: Integer
149
+
150
+ def initialize: (
151
+ duplicate_count: Integer,
152
+ pages_fetched: Integer,
153
+ stop_reason: XTwitterScraper::Models::X::UserRetrieveVerifiedFollowersResponse::UserListCoverageResponse::Diagnostic::Strategy::stop_reason,
154
+ strategy: Integer,
155
+ unique_added: Integer
156
+ ) -> void
157
+
158
+ def to_hash: -> {
159
+ duplicate_count: Integer,
160
+ pages_fetched: Integer,
161
+ stop_reason: XTwitterScraper::Models::X::UserRetrieveVerifiedFollowersResponse::UserListCoverageResponse::Diagnostic::Strategy::stop_reason,
162
+ strategy: Integer,
163
+ unique_added: Integer
164
+ }
165
+
166
+ type stop_reason =
167
+ :cursor_failure
168
+ | :deadline
169
+ | :exhausted
170
+ | :failed
171
+ | :page_limit
172
+ | :result_limit
173
+ | :stalled
174
+
175
+ module StopReason
176
+ extend XTwitterScraper::Internal::Type::Enum
177
+
178
+ CURSOR_FAILURE: :cursor_failure
179
+ DEADLINE: :deadline
180
+ EXHAUSTED: :exhausted
181
+ FAILED: :failed
182
+ PAGE_LIMIT: :page_limit
183
+ RESULT_LIMIT: :result_limit
184
+ STALLED: :stalled
185
+
186
+ def self?.values: -> ::Array[XTwitterScraper::Models::X::UserRetrieveVerifiedFollowersResponse::UserListCoverageResponse::Diagnostic::Strategy::stop_reason]
187
+ end
188
+ end
189
+ end
190
+
191
+ type has_next_page = false
192
+
193
+ module HasNextPage
194
+ extend XTwitterScraper::Internal::Type::Enum
195
+
196
+ FALSE: false
197
+
198
+ def self?.values: -> ::Array[XTwitterScraper::Models::X::UserRetrieveVerifiedFollowersResponse::UserListCoverageResponse::has_next_page]
199
+ end
200
+
201
+ type next_cursor = :""
202
+
203
+ module NextCursor
204
+ extend XTwitterScraper::Internal::Type::Enum
205
+
206
+ EMPTY: :""
207
+
208
+ def self?.values: -> ::Array[XTwitterScraper::Models::X::UserRetrieveVerifiedFollowersResponse::UserListCoverageResponse::next_cursor]
209
+ end
210
+ end
211
+
212
+ def self?.variants: -> ::Array[XTwitterScraper::Models::X::user_retrieve_verified_followers_response]
213
+ end
214
+ end
215
+ end
216
+ end
@@ -13,6 +13,7 @@ module XTwitterScraper
13
13
  def list: (
14
14
  ?cursor: String,
15
15
  ?event_type: XTwitterScraper::Models::event_type,
16
+ ?keyword_monitor_id: String,
16
17
  ?limit: Integer,
17
18
  ?monitor_id: String,
18
19
  ?request_options: XTwitterScraper::request_opts
@@ -8,7 +8,11 @@ module XTwitterScraper
8
8
  def retrieve: (
9
9
  String id,
10
10
  ?cursor: String,
11
+ ?field_style: XTwitterScraper::Models::ExtractionRetrieveParams::field_style,
12
+ ?include_raw: bool,
11
13
  ?limit: Integer,
14
+ ?output_mode: XTwitterScraper::Models::ExtractionRetrieveParams::output_mode,
15
+ ?output_preset: XTwitterScraper::Models::ExtractionRetrieveParams::output_preset,
12
16
  ?request_options: XTwitterScraper::request_opts
13
17
  ) -> XTwitterScraper::Models::ExtractionRetrieveResponse
14
18
 
@@ -24,91 +28,224 @@ module XTwitterScraper
24
28
  tool_type: XTwitterScraper::Models::ExtractionEstimateCostParams::tool_type,
25
29
  ?advanced_query: String,
26
30
  ?any_words: String,
31
+ ?bio_contains: String,
32
+ ?blue_verified_only: bool,
27
33
  ?bounding_box: String,
34
+ ?card_name: String,
28
35
  ?cashtags: String,
36
+ ?collection_strategy: XTwitterScraper::Models::ExtractionEstimateCostParams::collection_strategy,
29
37
  ?conversation_id: String,
38
+ ?dedupe_across_targets: bool,
39
+ ?dedupe_mode: XTwitterScraper::Models::ExtractionEstimateCostParams::dedupe_mode,
30
40
  ?exact_phrase: String,
41
+ ?exclude_original_author: bool,
42
+ ?exclude_source: String,
31
43
  ?exclude_words: String,
32
44
  ?from_user: String,
45
+ ?geocode: String,
33
46
  ?hashtags: String,
47
+ ?has_location: bool,
48
+ ?has_media_only: bool,
49
+ ?has_website: bool,
50
+ ?include_original_post: bool,
51
+ ?include_search_terms: bool,
52
+ ?include_target_metadata: bool,
34
53
  ?in_reply_to_tweet_id: String,
35
54
  ?language: String,
36
55
  ?list_id: String,
56
+ ?location_contains: String,
57
+ ?max_depth: Integer,
58
+ ?max_followers: Integer,
59
+ ?max_following: Integer,
60
+ ?max_id: String,
61
+ ?max_items_per_target: Integer,
62
+ ?max_likes: Integer,
63
+ ?max_pages_per_target: Integer,
64
+ ?max_posts: Integer,
65
+ ?max_quotes: Integer,
66
+ ?max_replies: Integer,
67
+ ?max_retweets: Integer,
37
68
  ?media_type: XTwitterScraper::Models::ExtractionEstimateCostParams::media_type,
38
69
  ?mentioning: String,
70
+ ?min_account_age_days: Integer,
71
+ ?min_bookmarks: Integer,
39
72
  ?min_faves: Integer,
73
+ ?min_followers: Integer,
74
+ ?min_following: Integer,
75
+ ?min_posts: Integer,
40
76
  ?min_quotes: Integer,
41
77
  ?min_replies: Integer,
42
78
  ?min_retweets: Integer,
79
+ ?min_views: Integer,
80
+ ?native_retweets: bool,
81
+ ?near: String,
82
+ ?news: bool,
83
+ ?overlap_mode: bool,
43
84
  ?place: String,
44
85
  ?place_country: String,
45
86
  ?point_radius: String,
87
+ ?query_type: XTwitterScraper::Models::ExtractionEstimateCostParams::query_type,
46
88
  ?quotes: XTwitterScraper::Models::ExtractionEstimateCostParams::quotes,
47
89
  ?quotes_of_tweet_id: String,
90
+ ?relation_targets: ::Array[XTwitterScraper::ExtractionEstimateCostParams::RelationTarget],
48
91
  ?replies: XTwitterScraper::Models::ExtractionEstimateCostParams::replies,
49
92
  ?results_limit: Integer,
50
93
  ?retweets: XTwitterScraper::Models::ExtractionEstimateCostParams::retweets,
51
94
  ?retweets_of_tweet_id: String,
95
+ ?safe: bool,
96
+ ?scope: XTwitterScraper::Models::ExtractionEstimateCostParams::scope,
97
+ ?search_queries: ::Array[String],
52
98
  ?search_query: String,
53
99
  ?since_date: Date,
100
+ ?since_id: String,
101
+ ?since_time: XTwitterScraper::Models::ExtractionEstimateCostParams::since_time,
102
+ ?sort: XTwitterScraper::Models::ExtractionEstimateCostParams::sort,
103
+ ?source: String,
104
+ ?start_cursor: String,
54
105
  ?target_community_id: String,
106
+ ?target_community_ids: ::Array[String],
55
107
  ?target_list_id: String,
108
+ ?target_list_ids: ::Array[String],
109
+ ?targets: ::Array[XTwitterScraper::Models::ExtractionEstimateCostParams::target],
56
110
  ?target_space_id: String,
57
111
  ?target_tweet_id: String,
112
+ ?target_tweet_ids: ::Array[String],
58
113
  ?target_username: String,
114
+ ?target_usernames: ::Array[String],
59
115
  ?to_user: String,
60
116
  ?until_date: Date,
117
+ ?until_time: XTwitterScraper::Models::ExtractionEstimateCostParams::until_time,
61
118
  ?url: String,
119
+ ?username_contains: String,
62
120
  ?verified_only: bool,
121
+ ?verified_type: String,
122
+ ?within: String,
123
+ ?within_time: String,
63
124
  ?request_options: XTwitterScraper::request_opts
64
125
  ) -> XTwitterScraper::Models::ExtractionEstimateCostResponse
65
126
 
66
127
  def export_results: (
67
128
  String id,
68
129
  format_: XTwitterScraper::Models::ExtractionExportResultsParams::format_,
130
+ ?has_description: bool,
131
+ ?has_location: bool,
132
+ ?has_media: bool,
133
+ ?lang: String,
134
+ ?max_followers: Integer,
135
+ ?max_following: Integer,
136
+ ?max_posts: Integer,
137
+ ?min_followers: Integer,
138
+ ?min_following: Integer,
139
+ ?min_likes: Integer,
140
+ ?min_posts: Integer,
141
+ ?min_replies: Integer,
142
+ ?min_retweets: Integer,
143
+ ?min_views: Integer,
144
+ ?search: String,
145
+ ?since_date: Date,
146
+ ?until_date: Date,
147
+ ?verified: bool,
69
148
  ?request_options: XTwitterScraper::request_opts
70
149
  ) -> StringIO
71
150
 
72
151
  def run: (
73
152
  tool_type: XTwitterScraper::Models::ExtractionRunParams::tool_type,
153
+ ?dry_run: bool,
74
154
  ?advanced_query: String,
75
155
  ?any_words: String,
156
+ ?bio_contains: String,
157
+ ?blue_verified_only: bool,
76
158
  ?bounding_box: String,
159
+ ?card_name: String,
77
160
  ?cashtags: String,
161
+ ?collection_strategy: XTwitterScraper::Models::ExtractionRunParams::collection_strategy,
78
162
  ?conversation_id: String,
163
+ ?dedupe_across_targets: bool,
164
+ ?dedupe_mode: XTwitterScraper::Models::ExtractionRunParams::dedupe_mode,
79
165
  ?exact_phrase: String,
166
+ ?exclude_original_author: bool,
167
+ ?exclude_source: String,
80
168
  ?exclude_words: String,
81
169
  ?from_user: String,
170
+ ?geocode: String,
82
171
  ?hashtags: String,
172
+ ?has_location: bool,
173
+ ?has_media_only: bool,
174
+ ?has_website: bool,
175
+ ?include_original_post: bool,
176
+ ?include_search_terms: bool,
177
+ ?include_target_metadata: bool,
83
178
  ?in_reply_to_tweet_id: String,
84
179
  ?language: String,
85
180
  ?list_id: String,
181
+ ?location_contains: String,
182
+ ?max_depth: Integer,
183
+ ?max_followers: Integer,
184
+ ?max_following: Integer,
185
+ ?max_id: String,
186
+ ?max_items_per_target: Integer,
187
+ ?max_likes: Integer,
188
+ ?max_pages_per_target: Integer,
189
+ ?max_posts: Integer,
190
+ ?max_quotes: Integer,
191
+ ?max_replies: Integer,
192
+ ?max_retweets: Integer,
86
193
  ?media_type: XTwitterScraper::Models::ExtractionRunParams::media_type,
87
194
  ?mentioning: String,
195
+ ?min_account_age_days: Integer,
196
+ ?min_bookmarks: Integer,
88
197
  ?min_faves: Integer,
198
+ ?min_followers: Integer,
199
+ ?min_following: Integer,
200
+ ?min_posts: Integer,
89
201
  ?min_quotes: Integer,
90
202
  ?min_replies: Integer,
91
203
  ?min_retweets: Integer,
204
+ ?min_views: Integer,
205
+ ?native_retweets: bool,
206
+ ?near: String,
207
+ ?news: bool,
208
+ ?overlap_mode: bool,
92
209
  ?place: String,
93
210
  ?place_country: String,
94
211
  ?point_radius: String,
212
+ ?query_type: XTwitterScraper::Models::ExtractionRunParams::query_type,
95
213
  ?quotes: XTwitterScraper::Models::ExtractionRunParams::quotes,
96
214
  ?quotes_of_tweet_id: String,
215
+ ?relation_targets: ::Array[XTwitterScraper::ExtractionRunParams::RelationTarget],
97
216
  ?replies: XTwitterScraper::Models::ExtractionRunParams::replies,
98
217
  ?results_limit: Integer,
99
218
  ?retweets: XTwitterScraper::Models::ExtractionRunParams::retweets,
100
219
  ?retweets_of_tweet_id: String,
220
+ ?safe: bool,
221
+ ?scope: XTwitterScraper::Models::ExtractionRunParams::scope,
222
+ ?search_queries: ::Array[String],
101
223
  ?search_query: String,
102
224
  ?since_date: Date,
225
+ ?since_id: String,
226
+ ?since_time: XTwitterScraper::Models::ExtractionRunParams::since_time,
227
+ ?sort: XTwitterScraper::Models::ExtractionRunParams::sort,
228
+ ?source: String,
229
+ ?start_cursor: String,
103
230
  ?target_community_id: String,
231
+ ?target_community_ids: ::Array[String],
104
232
  ?target_list_id: String,
233
+ ?target_list_ids: ::Array[String],
234
+ ?targets: ::Array[XTwitterScraper::Models::ExtractionRunParams::target],
105
235
  ?target_space_id: String,
106
236
  ?target_tweet_id: String,
237
+ ?target_tweet_ids: ::Array[String],
107
238
  ?target_username: String,
239
+ ?target_usernames: ::Array[String],
108
240
  ?to_user: String,
109
241
  ?until_date: Date,
242
+ ?until_time: XTwitterScraper::Models::ExtractionRunParams::until_time,
110
243
  ?url: String,
244
+ ?username_contains: String,
111
245
  ?verified_only: bool,
246
+ ?verified_type: String,
247
+ ?within: String,
248
+ ?within_time: String,
112
249
  ?request_options: XTwitterScraper::request_opts
113
250
  ) -> XTwitterScraper::Models::ExtractionRunResponse
114
251
 
@@ -0,0 +1,15 @@
1
+ module XTwitterScraper
2
+ module Resources
3
+ class Support
4
+ class Attachments
5
+ def download: (
6
+ String id,
7
+ ?range: String,
8
+ ?request_options: XTwitterScraper::request_opts
9
+ ) -> StringIO
10
+
11
+ def initialize: (client: XTwitterScraper::Client) -> void
12
+ end
13
+ end
14
+ end
15
+ end
@@ -5,6 +5,8 @@
5
5
  module XTwitterScraper
6
6
  module Resources
7
7
  class Support
8
+ attr_reader attachments: XTwitterScraper::Resources::Support::Attachments
9
+
8
10
  attr_reader tickets: XTwitterScraper::Resources::Support::Tickets
9
11
 
10
12
  def initialize: (client: XTwitterScraper::Client) -> void