x-twitter-scraper 0.6.1 → 0.7.2

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 (106) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +20 -0
  3. data/README.md +1 -1
  4. data/lib/x_twitter_scraper/internal/type/union.rb +25 -9
  5. data/lib/x_twitter_scraper/models/content_disclosure.rb +1 -9
  6. data/lib/x_twitter_scraper/models/embedded_tweet.rb +389 -1
  7. data/lib/x_twitter_scraper/models/paginated_tweets.rb +4 -5
  8. data/lib/x_twitter_scraper/models/search_tweet.rb +371 -1
  9. data/lib/x_twitter_scraper/models/support/ticket_list_response.rb +30 -17
  10. data/lib/x_twitter_scraper/models/support/ticket_retrieve_response.rb +49 -24
  11. data/lib/x_twitter_scraper/models/support/ticket_update_response.rb +18 -6
  12. data/lib/x_twitter_scraper/models/trend_list_response.rb +28 -1
  13. data/lib/x_twitter_scraper/models/tweet_media.rb +213 -1
  14. data/lib/x_twitter_scraper/models/user_profile.rb +211 -21
  15. data/lib/x_twitter_scraper/models/x/account_connection_attempt_retrieve_response.rb +60 -26
  16. data/lib/x_twitter_scraper/models/x/account_connection_challenge_submit_response.rb +4 -4
  17. data/lib/x_twitter_scraper/models/x/account_create_response.rb +149 -2
  18. data/lib/x_twitter_scraper/models/x/account_reauth_response.rb +4 -4
  19. data/lib/x_twitter_scraper/models/x/communities/tweet_list_by_community_params.rb +3 -5
  20. data/lib/x_twitter_scraper/models/x/communities/tweet_list_params.rb +3 -5
  21. data/lib/x_twitter_scraper/models/x/community_retrieve_info_response.rb +1 -17
  22. data/lib/x_twitter_scraper/models/x/community_retrieve_search_params.rb +3 -5
  23. data/lib/x_twitter_scraper/models/x/list_retrieve_tweets_params.rb +3 -5
  24. data/lib/x_twitter_scraper/models/x/tweet_author.rb +14 -1
  25. data/lib/x_twitter_scraper/models/x/tweet_detail.rb +373 -1
  26. data/lib/x_twitter_scraper/models/x/tweet_get_quotes_params.rb +3 -5
  27. data/lib/x_twitter_scraper/models/x/tweet_get_replies_params.rb +34 -6
  28. data/lib/x_twitter_scraper/models/x/tweet_get_replies_response.rb +345 -0
  29. data/lib/x_twitter_scraper/models/x/tweet_get_thread_params.rb +3 -5
  30. data/lib/x_twitter_scraper/models/x/user_retrieve_likes_params.rb +3 -5
  31. data/lib/x_twitter_scraper/models/x/user_retrieve_media_params.rb +3 -5
  32. data/lib/x_twitter_scraper/models/x/user_retrieve_mentions_params.rb +3 -5
  33. data/lib/x_twitter_scraper/models/x/user_retrieve_replies_params.rb +3 -5
  34. data/lib/x_twitter_scraper/models/x/user_retrieve_tweets_params.rb +3 -5
  35. data/lib/x_twitter_scraper/models/x_get_article_response.rb +1 -7
  36. data/lib/x_twitter_scraper/models/x_get_trends_response.rb +28 -1
  37. data/lib/x_twitter_scraper/resources/x/account_connection_attempts.rb +1 -1
  38. data/lib/x_twitter_scraper/resources/x/accounts.rb +2 -2
  39. data/lib/x_twitter_scraper/resources/x/communities/tweets.rb +2 -2
  40. data/lib/x_twitter_scraper/resources/x/communities.rb +1 -1
  41. data/lib/x_twitter_scraper/resources/x/lists.rb +1 -1
  42. data/lib/x_twitter_scraper/resources/x/tweets.rb +14 -11
  43. data/lib/x_twitter_scraper/resources/x/users.rb +5 -5
  44. data/lib/x_twitter_scraper/version.rb +1 -1
  45. data/lib/x_twitter_scraper.rb +2 -1
  46. data/rbi/x_twitter_scraper/models/content_disclosure.rbi +1 -15
  47. data/rbi/x_twitter_scraper/models/embedded_tweet.rbi +708 -3
  48. data/rbi/x_twitter_scraper/models/paginated_tweets.rbi +4 -5
  49. data/rbi/x_twitter_scraper/models/search_tweet.rbi +674 -3
  50. data/rbi/x_twitter_scraper/models/support/ticket_list_response.rbi +75 -55
  51. data/rbi/x_twitter_scraper/models/support/ticket_retrieve_response.rbi +129 -87
  52. data/rbi/x_twitter_scraper/models/support/ticket_update_response.rbi +62 -13
  53. data/rbi/x_twitter_scraper/models/trend_list_response.rbi +40 -3
  54. data/rbi/x_twitter_scraper/models/tweet_media.rbi +313 -3
  55. data/rbi/x_twitter_scraper/models/user_profile.rbi +340 -29
  56. data/rbi/x_twitter_scraper/models/x/account_connection_attempt_retrieve_response.rbi +61 -83
  57. data/rbi/x_twitter_scraper/models/x/account_connection_challenge_submit_response.rbi +6 -6
  58. data/rbi/x_twitter_scraper/models/x/account_create_response.rbi +264 -2
  59. data/rbi/x_twitter_scraper/models/x/account_reauth_response.rbi +6 -6
  60. data/rbi/x_twitter_scraper/models/x/communities/tweet_list_by_community_params.rbi +4 -8
  61. data/rbi/x_twitter_scraper/models/x/communities/tweet_list_params.rbi +4 -8
  62. data/rbi/x_twitter_scraper/models/x/community_retrieve_info_response.rbi +0 -22
  63. data/rbi/x_twitter_scraper/models/x/community_retrieve_search_params.rbi +4 -8
  64. data/rbi/x_twitter_scraper/models/x/list_retrieve_tweets_params.rbi +4 -8
  65. data/rbi/x_twitter_scraper/models/x/tweet_author.rbi +13 -3
  66. data/rbi/x_twitter_scraper/models/x/tweet_detail.rbi +690 -3
  67. data/rbi/x_twitter_scraper/models/x/tweet_get_quotes_params.rbi +4 -8
  68. data/rbi/x_twitter_scraper/models/x/tweet_get_replies_params.rbi +68 -8
  69. data/rbi/x_twitter_scraper/models/x/tweet_get_replies_response.rbi +527 -0
  70. data/rbi/x_twitter_scraper/models/x/tweet_get_thread_params.rbi +4 -8
  71. data/rbi/x_twitter_scraper/models/x/user_retrieve_likes_params.rbi +4 -8
  72. data/rbi/x_twitter_scraper/models/x/user_retrieve_media_params.rbi +4 -8
  73. data/rbi/x_twitter_scraper/models/x/user_retrieve_mentions_params.rbi +4 -8
  74. data/rbi/x_twitter_scraper/models/x/user_retrieve_replies_params.rbi +4 -8
  75. data/rbi/x_twitter_scraper/models/x/user_retrieve_tweets_params.rbi +4 -8
  76. data/rbi/x_twitter_scraper/models/x_get_article_response.rbi +0 -9
  77. data/rbi/x_twitter_scraper/models/x_get_trends_response.rbi +40 -3
  78. data/rbi/x_twitter_scraper/resources/x/accounts.rbi +1 -1
  79. data/rbi/x_twitter_scraper/resources/x/communities/tweets.rbi +4 -8
  80. data/rbi/x_twitter_scraper/resources/x/communities.rbi +2 -4
  81. data/rbi/x_twitter_scraper/resources/x/lists.rbi +2 -4
  82. data/rbi/x_twitter_scraper/resources/x/tweets.rbi +20 -18
  83. data/rbi/x_twitter_scraper/resources/x/users.rbi +10 -20
  84. data/sig/x_twitter_scraper/models/content_disclosure.rbs +1 -11
  85. data/sig/x_twitter_scraper/models/embedded_tweet.rbs +343 -62
  86. data/sig/x_twitter_scraper/models/search_tweet.rbs +333 -70
  87. data/sig/x_twitter_scraper/models/support/ticket_list_response.rbs +29 -32
  88. data/sig/x_twitter_scraper/models/support/ticket_retrieve_response.rbs +49 -48
  89. data/sig/x_twitter_scraper/models/support/ticket_update_response.rbs +25 -7
  90. data/sig/x_twitter_scraper/models/trend_list_response.rbs +16 -20
  91. data/sig/x_twitter_scraper/models/tweet_media.rbs +146 -15
  92. data/sig/x_twitter_scraper/models/user_profile.rbs +164 -86
  93. data/sig/x_twitter_scraper/models/x/account_connection_attempt_retrieve_response.rbs +50 -33
  94. data/sig/x_twitter_scraper/models/x/account_connection_challenge_submit_response.rbs +5 -5
  95. data/sig/x_twitter_scraper/models/x/account_create_response.rbs +147 -1
  96. data/sig/x_twitter_scraper/models/x/account_reauth_response.rbs +5 -5
  97. data/sig/x_twitter_scraper/models/x/community_retrieve_info_response.rbs +0 -14
  98. data/sig/x_twitter_scraper/models/x/tweet_author.rbs +11 -3
  99. data/sig/x_twitter_scraper/models/x/tweet_detail.rbs +333 -70
  100. data/sig/x_twitter_scraper/models/x/tweet_get_replies_params.rbs +26 -0
  101. data/sig/x_twitter_scraper/models/x/tweet_get_replies_response.rbs +274 -0
  102. data/sig/x_twitter_scraper/models/x_get_article_response.rbs +0 -7
  103. data/sig/x_twitter_scraper/models/x_get_trends_response.rbs +25 -3
  104. data/sig/x_twitter_scraper/resources/x/accounts.rbs +1 -1
  105. data/sig/x_twitter_scraper/resources/x/tweets.rbs +3 -1
  106. metadata +4 -1
@@ -9,19 +9,22 @@ module XTwitterScraper
9
9
  module AccountConnectionAttemptRetrieveResponse
10
10
  extend XTwitterScraper::Internal::Type::Union
11
11
 
12
+ discriminator :status
13
+
12
14
  # The connection is still in progress.
13
- variant -> { XTwitterScraper::Models::X::AccountConnectionAttemptRetrieveResponse::XAccountConnectionAttemptPending }
15
+ variant :pending, -> { XTwitterScraper::Models::X::AccountConnectionAttemptRetrieveResponse::Pending }
14
16
 
15
17
  # The account connected successfully.
16
- variant -> { XTwitterScraper::Models::X::AccountConnectionAttemptRetrieveResponse::XAccountConnectionAttemptSuccess }
18
+ variant :success, -> { XTwitterScraper::Models::X::AccountConnectionAttemptRetrieveResponse::Success }
17
19
 
18
20
  # The connection reached a final failure.
19
- variant -> { XTwitterScraper::Models::X::AccountConnectionAttemptRetrieveResponse::XAccountConnectionAttemptFailed }
21
+ variant :failed, -> { XTwitterScraper::Models::X::AccountConnectionAttemptRetrieveResponse::Failed }
20
22
 
21
23
  # Resumable account connection challenge. Submit the email code to finish the same connection attempt.
22
- variant -> { XTwitterScraper::Models::X::AccountConnectionAttemptRetrieveResponse::XAccountConnectionChallenge }
24
+ variant :requires_email_code,
25
+ -> { XTwitterScraper::Models::X::AccountConnectionAttemptRetrieveResponse::RequiresEmailCode }
23
26
 
24
- class XAccountConnectionAttemptPending < XTwitterScraper::Internal::Type::BaseModel
27
+ class Pending < XTwitterScraper::Internal::Type::BaseModel
25
28
  # @!attribute id
26
29
  #
27
30
  # @return [String]
@@ -49,9 +52,21 @@ module XTwitterScraper
49
52
  # @param poll_after_ms [Integer]
50
53
  # @param object [Symbol, :x_account_connection_attempt]
51
54
  # @param status [Symbol, :pending]
55
+
56
+ module Object
57
+ extend XTwitterScraper::Internal::Type::Enum
58
+
59
+ X_ACCOUNT_CONNECTION_ATTEMPT = :x_account_connection_attempt
60
+ end
61
+
62
+ module Status
63
+ extend XTwitterScraper::Internal::Type::Enum
64
+
65
+ PENDING = :pending
66
+ end
52
67
  end
53
68
 
54
- class XAccountConnectionAttemptSuccess < XTwitterScraper::Internal::Type::BaseModel
69
+ class Success < XTwitterScraper::Internal::Type::BaseModel
55
70
  # @!attribute id
56
71
  #
57
72
  # @return [String]
@@ -73,9 +88,21 @@ module XTwitterScraper
73
88
  # @param id [String]
74
89
  # @param object [Symbol, :x_account_connection_attempt]
75
90
  # @param status [Symbol, :success]
91
+
92
+ module Object
93
+ extend XTwitterScraper::Internal::Type::Enum
94
+
95
+ X_ACCOUNT_CONNECTION_ATTEMPT = :x_account_connection_attempt
96
+ end
97
+
98
+ module Status
99
+ extend XTwitterScraper::Internal::Type::Enum
100
+
101
+ SUCCESS = :success
102
+ end
76
103
  end
77
104
 
78
- class XAccountConnectionAttemptFailed < XTwitterScraper::Internal::Type::BaseModel
105
+ class Failed < XTwitterScraper::Internal::Type::BaseModel
79
106
  # @!attribute id
80
107
  #
81
108
  # @return [String]
@@ -115,9 +142,21 @@ module XTwitterScraper
115
142
  # @param reason [String]
116
143
  # @param object [Symbol, :x_account_connection_attempt]
117
144
  # @param status [Symbol, :failed]
145
+
146
+ module Object
147
+ extend XTwitterScraper::Internal::Type::Enum
148
+
149
+ X_ACCOUNT_CONNECTION_ATTEMPT = :x_account_connection_attempt
150
+ end
151
+
152
+ module Status
153
+ extend XTwitterScraper::Internal::Type::Enum
154
+
155
+ FAILED = :failed
156
+ end
118
157
  end
119
158
 
120
- class XAccountConnectionChallenge < XTwitterScraper::Internal::Type::BaseModel
159
+ class RequiresEmailCode < XTwitterScraper::Internal::Type::BaseModel
121
160
  # @!attribute id
122
161
  #
123
162
  # @return [String]
@@ -135,55 +174,50 @@ module XTwitterScraper
135
174
 
136
175
  # @!attribute object
137
176
  #
138
- # @return [Symbol, XTwitterScraper::Models::X::AccountConnectionAttemptRetrieveResponse::XAccountConnectionChallenge::Object]
139
- required :object,
140
- enum: -> { XTwitterScraper::Models::X::AccountConnectionAttemptRetrieveResponse::XAccountConnectionChallenge::Object }
177
+ # @return [Symbol, :x_account_connection_challenge]
178
+ required :object, const: :x_account_connection_challenge
141
179
 
142
180
  # @!attribute status
143
181
  #
144
- # @return [Symbol, XTwitterScraper::Models::X::AccountConnectionAttemptRetrieveResponse::XAccountConnectionChallenge::Status]
145
- required :status,
146
- enum: -> { XTwitterScraper::Models::X::AccountConnectionAttemptRetrieveResponse::XAccountConnectionChallenge::Status }
182
+ # @return [Symbol, :requires_email_code]
183
+ required :status, const: :requires_email_code
147
184
 
148
185
  # @!attribute username
149
186
  #
150
187
  # @return [String]
151
188
  required :username, String
152
189
 
153
- # @!method initialize(id:, expires_at:, message:, object:, status:, username:)
190
+ # @!method initialize(id:, expires_at:, message:, username:, object: :x_account_connection_challenge, status: :requires_email_code)
154
191
  # Resumable account connection challenge. Submit the email code to finish the same
155
192
  # connection attempt.
156
193
  #
157
194
  # @param id [String]
158
195
  # @param expires_at [Time]
159
196
  # @param message [String]
160
- # @param object [Symbol, XTwitterScraper::Models::X::AccountConnectionAttemptRetrieveResponse::XAccountConnectionChallenge::Object]
161
- # @param status [Symbol, XTwitterScraper::Models::X::AccountConnectionAttemptRetrieveResponse::XAccountConnectionChallenge::Status]
162
197
  # @param username [String]
198
+ # @param object [Symbol, :x_account_connection_challenge]
199
+ # @param status [Symbol, :requires_email_code]
163
200
 
164
- # @see XTwitterScraper::Models::X::AccountConnectionAttemptRetrieveResponse::XAccountConnectionChallenge#object
165
201
  module Object
166
202
  extend XTwitterScraper::Internal::Type::Enum
167
203
 
168
204
  X_ACCOUNT_CONNECTION_CHALLENGE = :x_account_connection_challenge
169
-
170
- # @!method self.values
171
- # @return [Array<Symbol>]
172
205
  end
173
206
 
174
- # @see XTwitterScraper::Models::X::AccountConnectionAttemptRetrieveResponse::XAccountConnectionChallenge#status
175
207
  module Status
176
208
  extend XTwitterScraper::Internal::Type::Enum
177
209
 
178
210
  REQUIRES_EMAIL_CODE = :requires_email_code
179
-
180
- # @!method self.values
181
- # @return [Array<Symbol>]
182
211
  end
183
212
  end
184
213
 
214
+ XAccountConnectionAttemptPending = Pending
215
+ XAccountConnectionAttemptSuccess = Success
216
+ XAccountConnectionAttemptFailed = Failed
217
+ XAccountConnectionChallenge = RequiresEmailCode
218
+
185
219
  # @!method self.variants
186
- # @return [Array(XTwitterScraper::Models::X::AccountConnectionAttemptRetrieveResponse::XAccountConnectionAttemptPending, XTwitterScraper::Models::X::AccountConnectionAttemptRetrieveResponse::XAccountConnectionAttemptSuccess, XTwitterScraper::Models::X::AccountConnectionAttemptRetrieveResponse::XAccountConnectionAttemptFailed, XTwitterScraper::Models::X::AccountConnectionAttemptRetrieveResponse::XAccountConnectionChallenge)]
220
+ # @return [Array(XTwitterScraper::Models::X::AccountConnectionAttemptRetrieveResponse::Pending, XTwitterScraper::Models::X::AccountConnectionAttemptRetrieveResponse::Success, XTwitterScraper::Models::X::AccountConnectionAttemptRetrieveResponse::Failed, XTwitterScraper::Models::X::AccountConnectionAttemptRetrieveResponse::RequiresEmailCode)]
187
221
  end
188
222
  end
189
223
  end
@@ -27,8 +27,8 @@ module XTwitterScraper
27
27
 
28
28
  # @!attribute status
29
29
  #
30
- # @return [String]
31
- required :status, String
30
+ # @return [Symbol, :active]
31
+ required :status, const: :active
32
32
 
33
33
  # @!attribute x_user_id
34
34
  #
@@ -40,15 +40,15 @@ module XTwitterScraper
40
40
  # @return [String]
41
41
  required :x_username, String, api_name: :xUsername
42
42
 
43
- # @!method initialize(id:, created_at:, health:, status:, x_user_id:, x_username:)
43
+ # @!method initialize(id:, created_at:, health:, x_user_id:, x_username:, status: :active)
44
44
  # Sanitized X account summary returned by connect and reauth.
45
45
  #
46
46
  # @param id [String]
47
47
  # @param created_at [Time]
48
48
  # @param health [Symbol, XTwitterScraper::Models::X::AccountConnectionChallengeSubmitResponse::Health]
49
- # @param status [String]
50
49
  # @param x_user_id [String]
51
50
  # @param x_username [String]
51
+ # @param status [Symbol, :active]
52
52
 
53
53
  # @see XTwitterScraper::Models::X::AccountConnectionChallengeSubmitResponse#health
54
54
  module Health
@@ -7,8 +7,155 @@
7
7
  module XTwitterScraper
8
8
  module Models
9
9
  module X
10
- # @type [XTwitterScraper::Internal::Type::Converter]
11
- AccountCreateResponse = XTwitterScraper::Internal::Type::Unknown
10
+ # Sanitized X account summary returned by connect and reauth.
11
+ #
12
+ # @see XTwitterScraper::Resources::X::Accounts#create
13
+ module AccountCreateResponse
14
+ extend XTwitterScraper::Internal::Type::Union
15
+
16
+ # Sanitized X account summary returned by connect and reauth.
17
+ variant -> { XTwitterScraper::Models::X::AccountCreateResponse::SanitizedXAccount }
18
+
19
+ # The connection is still in progress.
20
+ variant -> { XTwitterScraper::Models::X::AccountCreateResponse::XAccountConnectionAttemptPending }
21
+
22
+ # Resumable account connection challenge. Submit the email code to finish the same connection attempt.
23
+ variant -> { XTwitterScraper::Models::X::AccountCreateResponse::XAccountConnectionChallenge }
24
+
25
+ class SanitizedXAccount < XTwitterScraper::Internal::Type::BaseModel
26
+ # @!attribute id
27
+ #
28
+ # @return [String]
29
+ required :id, String
30
+
31
+ # @!attribute created_at
32
+ #
33
+ # @return [Time]
34
+ required :created_at, Time, api_name: :createdAt
35
+
36
+ # @!attribute health
37
+ #
38
+ # @return [Symbol, XTwitterScraper::Models::X::AccountCreateResponse::SanitizedXAccount::Health]
39
+ required :health,
40
+ enum: -> { XTwitterScraper::Models::X::AccountCreateResponse::SanitizedXAccount::Health }
41
+
42
+ # @!attribute status
43
+ #
44
+ # @return [Symbol, :active]
45
+ required :status, const: :active
46
+
47
+ # @!attribute x_user_id
48
+ #
49
+ # @return [String]
50
+ required :x_user_id, String, api_name: :xUserId
51
+
52
+ # @!attribute x_username
53
+ #
54
+ # @return [String]
55
+ required :x_username, String, api_name: :xUsername
56
+
57
+ # @!method initialize(id:, created_at:, health:, x_user_id:, x_username:, status: :active)
58
+ # Sanitized X account summary returned by connect and reauth.
59
+ #
60
+ # @param id [String]
61
+ # @param created_at [Time]
62
+ # @param health [Symbol, XTwitterScraper::Models::X::AccountCreateResponse::SanitizedXAccount::Health]
63
+ # @param x_user_id [String]
64
+ # @param x_username [String]
65
+ # @param status [Symbol, :active]
66
+
67
+ # @see XTwitterScraper::Models::X::AccountCreateResponse::SanitizedXAccount#health
68
+ module Health
69
+ extend XTwitterScraper::Internal::Type::Enum
70
+
71
+ HEALTHY = :healthy
72
+ LOCKED = :locked
73
+ NEEDS_REAUTH = :needsReauth
74
+ RECOVERING = :recovering
75
+ SUSPENDED = :suspended
76
+ TEMPORARY_ISSUE = :temporaryIssue
77
+
78
+ # @!method self.values
79
+ # @return [Array<Symbol>]
80
+ end
81
+ end
82
+
83
+ class XAccountConnectionAttemptPending < XTwitterScraper::Internal::Type::BaseModel
84
+ # @!attribute id
85
+ #
86
+ # @return [String]
87
+ required :id, String
88
+
89
+ # @!attribute object
90
+ #
91
+ # @return [Symbol, :x_account_connection_attempt]
92
+ required :object, const: :x_account_connection_attempt
93
+
94
+ # @!attribute poll_after_ms
95
+ #
96
+ # @return [Integer]
97
+ required :poll_after_ms, Integer, api_name: :pollAfterMs
98
+
99
+ # @!attribute status
100
+ #
101
+ # @return [Symbol, :pending]
102
+ required :status, const: :pending
103
+
104
+ # @!method initialize(id:, poll_after_ms:, object: :x_account_connection_attempt, status: :pending)
105
+ # The connection is still in progress.
106
+ #
107
+ # @param id [String]
108
+ # @param poll_after_ms [Integer]
109
+ # @param object [Symbol, :x_account_connection_attempt]
110
+ # @param status [Symbol, :pending]
111
+ end
112
+
113
+ class XAccountConnectionChallenge < XTwitterScraper::Internal::Type::BaseModel
114
+ # @!attribute id
115
+ #
116
+ # @return [String]
117
+ required :id, String
118
+
119
+ # @!attribute expires_at
120
+ #
121
+ # @return [Time]
122
+ required :expires_at, Time, api_name: :expiresAt
123
+
124
+ # @!attribute message
125
+ #
126
+ # @return [String]
127
+ required :message, String
128
+
129
+ # @!attribute object
130
+ #
131
+ # @return [Symbol, :x_account_connection_challenge]
132
+ required :object, const: :x_account_connection_challenge
133
+
134
+ # @!attribute status
135
+ #
136
+ # @return [Symbol, :requires_email_code]
137
+ required :status, const: :requires_email_code
138
+
139
+ # @!attribute username
140
+ #
141
+ # @return [String]
142
+ required :username, String
143
+
144
+ # @!method initialize(id:, expires_at:, message:, username:, object: :x_account_connection_challenge, status: :requires_email_code)
145
+ # Resumable account connection challenge. Submit the email code to finish the same
146
+ # connection attempt.
147
+ #
148
+ # @param id [String]
149
+ # @param expires_at [Time]
150
+ # @param message [String]
151
+ # @param username [String]
152
+ # @param object [Symbol, :x_account_connection_challenge]
153
+ # @param status [Symbol, :requires_email_code]
154
+ end
155
+
156
+ # @!method self.variants
157
+ # @return [Array(XTwitterScraper::Models::X::AccountCreateResponse::SanitizedXAccount, XTwitterScraper::Models::X::AccountCreateResponse::XAccountConnectionAttemptPending, XTwitterScraper::Models::X::AccountCreateResponse::XAccountConnectionChallenge)]
158
+ end
12
159
  end
13
160
  end
14
161
  end
@@ -26,8 +26,8 @@ module XTwitterScraper
26
26
 
27
27
  # @!attribute status
28
28
  #
29
- # @return [String]
30
- required :status, String
29
+ # @return [Symbol, :active]
30
+ required :status, const: :active
31
31
 
32
32
  # @!attribute x_user_id
33
33
  #
@@ -39,15 +39,15 @@ module XTwitterScraper
39
39
  # @return [String]
40
40
  required :x_username, String, api_name: :xUsername
41
41
 
42
- # @!method initialize(id:, created_at:, health:, status:, x_user_id:, x_username:)
42
+ # @!method initialize(id:, created_at:, health:, x_user_id:, x_username:, status: :active)
43
43
  # Sanitized X account summary returned by connect and reauth.
44
44
  #
45
45
  # @param id [String]
46
46
  # @param created_at [Time]
47
47
  # @param health [Symbol, XTwitterScraper::Models::X::AccountReauthResponse::Health]
48
- # @param status [String]
49
48
  # @param x_user_id [String]
50
49
  # @param x_username [String]
50
+ # @param status [Symbol, :active]
51
51
 
52
52
  # @see XTwitterScraper::Models::X::AccountReauthResponse#health
53
53
  module Health
@@ -25,10 +25,8 @@ module XTwitterScraper
25
25
  optional :cursor, String
26
26
 
27
27
  # @!attribute page_size
28
- # Maximum items requested from this page (1-100, default 20). The response can
29
- # contain fewer items because the source returned fewer, filters removed items, or
30
- # remaining credits cover fewer results. Keep requesting next_cursor while
31
- # has_next_page is true, even when a page is empty. The deprecated limit and count
28
+ # Maximum page items (1-100, default 20). Source, filters, or credits can reduce
29
+ # results. Continue while has_next_page is true. Deprecated limit and count
32
30
  # aliases remain accepted.
33
31
  #
34
32
  # @return [Integer, nil]
@@ -43,7 +41,7 @@ module XTwitterScraper
43
41
  #
44
42
  # @param cursor [String] Pagination cursor for community tweets
45
43
  #
46
- # @param page_size [Integer] Maximum items requested from this page (1-100, default 20). The response can con
44
+ # @param page_size [Integer] Maximum page items (1-100, default 20). Source, filters, or credits can reduce r
47
45
  #
48
46
  # @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}]
49
47
  end
@@ -32,10 +32,8 @@ module XTwitterScraper
32
32
  optional :cursor, String
33
33
 
34
34
  # @!attribute page_size
35
- # Maximum items requested from this page (1-100, default 20). The response can
36
- # contain fewer items because the source returned fewer, filters removed items, or
37
- # remaining credits cover fewer results. Keep requesting next_cursor while
38
- # has_next_page is true, even when a page is empty. The deprecated limit and count
35
+ # Maximum page items (1-100, default 20). Source, filters, or credits can reduce
36
+ # results. Continue while has_next_page is true. Deprecated limit and count
39
37
  # aliases remain accepted.
40
38
  #
41
39
  # @return [Integer, nil]
@@ -57,7 +55,7 @@ module XTwitterScraper
57
55
  #
58
56
  # @param cursor [String] Pagination cursor for community results
59
57
  #
60
- # @param page_size [Integer] Maximum items requested from this page (1-100, default 20). The response can con
58
+ # @param page_size [Integer] Maximum page items (1-100, default 20). Source, filters, or credits can reduce r
61
59
  #
62
60
  # @param query_type [Symbol, XTwitterScraper::Models::X::Communities::TweetListParams::QueryType] Sort order for community results (Latest or Top)
63
61
  #
@@ -55,12 +55,6 @@ module XTwitterScraper
55
55
  # @return [String, nil]
56
56
  optional :invites_policy, String
57
57
 
58
- # @!attribute is_member
59
- # Whether the authenticated viewer is a member
60
- #
61
- # @return [Boolean, nil]
62
- optional :is_member, XTwitterScraper::Internal::Type::Boolean
63
-
64
58
  # @!attribute is_nsfw
65
59
  # Whether the community is marked sensitive
66
60
  #
@@ -98,12 +92,6 @@ module XTwitterScraper
98
92
  optional :primary_topic,
99
93
  -> { XTwitterScraper::Models::X::CommunityRetrieveInfoResponse::Community::PrimaryTopic }
100
94
 
101
- # @!attribute role
102
- # Authenticated viewer's community role
103
- #
104
- # @return [String, nil]
105
- optional :role, String
106
-
107
95
  # @!attribute rules
108
96
  # Community rules
109
97
  #
@@ -111,7 +99,7 @@ module XTwitterScraper
111
99
  optional :rules,
112
100
  -> { XTwitterScraper::Internal::Type::ArrayOf[XTwitterScraper::Models::X::CommunityRetrieveInfoResponse::Community::Rule] }
113
101
 
114
- # @!method initialize(id:, banner_url: nil, created_at: nil, creator: nil, description: nil, invites_policy: nil, is_member: nil, is_nsfw: nil, join_policy: nil, member_count: nil, moderator_count: nil, name: nil, primary_topic: nil, role: nil, rules: nil)
102
+ # @!method initialize(id:, banner_url: nil, created_at: nil, creator: nil, description: nil, invites_policy: nil, is_nsfw: nil, join_policy: nil, member_count: nil, moderator_count: nil, name: nil, primary_topic: nil, rules: nil)
115
103
  # Community info object
116
104
  #
117
105
  # @param id [String] Unique community identifier
@@ -126,8 +114,6 @@ module XTwitterScraper
126
114
  #
127
115
  # @param invites_policy [String] Invitation policy
128
116
  #
129
- # @param is_member [Boolean] Whether the authenticated viewer is a member
130
- #
131
117
  # @param is_nsfw [Boolean] Whether the community is marked sensitive
132
118
  #
133
119
  # @param join_policy [String] Join policy (open or restricted)
@@ -140,8 +126,6 @@ module XTwitterScraper
140
126
  #
141
127
  # @param primary_topic [XTwitterScraper::Models::X::CommunityRetrieveInfoResponse::Community::PrimaryTopic] Primary topic
142
128
  #
143
- # @param role [String] Authenticated viewer's community role
144
- #
145
129
  # @param rules [Array<XTwitterScraper::Models::X::CommunityRetrieveInfoResponse::Community::Rule>] Community rules
146
130
 
147
131
  # @see XTwitterScraper::Models::X::CommunityRetrieveInfoResponse::Community#creator
@@ -31,10 +31,8 @@ module XTwitterScraper
31
31
  optional :cursor, String
32
32
 
33
33
  # @!attribute page_size
34
- # Maximum items requested from this page (1-100, default 20). The response can
35
- # contain fewer items because the source returned fewer, filters removed items, or
36
- # remaining credits cover fewer results. Keep requesting next_cursor while
37
- # has_next_page is true, even when a page is empty. The deprecated limit and count
34
+ # Maximum page items (1-100, default 20). Source, filters, or credits can reduce
35
+ # results. Continue while has_next_page is true. Deprecated limit and count
38
36
  # aliases remain accepted.
39
37
  #
40
38
  # @return [Integer, nil]
@@ -56,7 +54,7 @@ module XTwitterScraper
56
54
  #
57
55
  # @param cursor [String] Pagination cursor for community search
58
56
  #
59
- # @param page_size [Integer] Maximum items requested from this page (1-100, default 20). The response can con
57
+ # @param page_size [Integer] Maximum page items (1-100, default 20). Source, filters, or credits can reduce r
60
58
  #
61
59
  # @param query_type [Symbol, XTwitterScraper::Models::X::CommunityRetrieveSearchParams::QueryType] Sort order (Latest or Top)
62
60
  #
@@ -30,10 +30,8 @@ module XTwitterScraper
30
30
  optional :include_replies, XTwitterScraper::Internal::Type::Boolean
31
31
 
32
32
  # @!attribute page_size
33
- # Maximum items requested from this page (1-100, default 20). The response can
34
- # contain fewer items because the source returned fewer, filters removed items, or
35
- # remaining credits cover fewer results. Keep requesting next_cursor while
36
- # has_next_page is true, even when a page is empty. The deprecated limit and count
33
+ # Maximum page items (1-100, default 20). Source, filters, or credits can reduce
34
+ # results. Continue while has_next_page is true. Deprecated limit and count
37
35
  # aliases remain accepted.
38
36
  #
39
37
  # @return [Integer, nil]
@@ -61,7 +59,7 @@ module XTwitterScraper
61
59
  #
62
60
  # @param include_replies [Boolean] Include replies (default false)
63
61
  #
64
- # @param page_size [Integer] Maximum items requested from this page (1-100, default 20). The response can con
62
+ # @param page_size [Integer] Maximum page items (1-100, default 20). Source, filters, or credits can reduce r
65
63
  #
66
64
  # @param since_time [String] Unix timestamp - filter after
67
65
  #
@@ -8,9 +8,22 @@ module XTwitterScraper
8
8
  module Models
9
9
  module X
10
10
  class TweetAuthor < XTwitterScraper::Models::UserProfile
11
- # @!method initialize
11
+ # @!attribute followers
12
+ #
13
+ # @return [Integer]
14
+ required :followers, Integer
15
+
16
+ # @!attribute verified
17
+ #
18
+ # @return [Boolean]
19
+ required :verified, XTwitterScraper::Internal::Type::Boolean
20
+
21
+ # @!method initialize(followers:, verified:)
12
22
  # Tweet author profile. The lookup route always includes follower count and
13
23
  # verification state. Other profile fields appear when available.
24
+ #
25
+ # @param followers [Integer]
26
+ # @param verified [Boolean]
14
27
  end
15
28
  end
16
29
  end