x-twitter-scraper 0.6.0 → 0.7.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +12 -0
- data/README.md +1 -1
- data/lib/x_twitter_scraper/internal/type/union.rb +25 -9
- data/lib/x_twitter_scraper/models/content_disclosure.rb +1 -9
- data/lib/x_twitter_scraper/models/embedded_tweet.rb +389 -1
- data/lib/x_twitter_scraper/models/paginated_tweets.rb +4 -5
- data/lib/x_twitter_scraper/models/search_tweet.rb +371 -1
- data/lib/x_twitter_scraper/models/support/ticket_list_response.rb +30 -17
- data/lib/x_twitter_scraper/models/support/ticket_retrieve_response.rb +49 -24
- data/lib/x_twitter_scraper/models/support/ticket_update_response.rb +18 -6
- data/lib/x_twitter_scraper/models/trend_list_response.rb +28 -1
- data/lib/x_twitter_scraper/models/tweet_media.rb +213 -1
- data/lib/x_twitter_scraper/models/user_profile.rb +211 -21
- data/lib/x_twitter_scraper/models/x/account_connection_attempt_retrieve_response.rb +60 -26
- data/lib/x_twitter_scraper/models/x/account_connection_challenge_submit_response.rb +4 -4
- data/lib/x_twitter_scraper/models/x/account_create_response.rb +149 -2
- data/lib/x_twitter_scraper/models/x/account_reauth_response.rb +4 -4
- data/lib/x_twitter_scraper/models/x/communities/tweet_list_by_community_params.rb +3 -5
- data/lib/x_twitter_scraper/models/x/communities/tweet_list_params.rb +3 -5
- data/lib/x_twitter_scraper/models/x/community_retrieve_info_response.rb +1 -17
- data/lib/x_twitter_scraper/models/x/community_retrieve_search_params.rb +3 -5
- data/lib/x_twitter_scraper/models/x/list_retrieve_tweets_params.rb +3 -5
- data/lib/x_twitter_scraper/models/x/tweet_author.rb +14 -1
- data/lib/x_twitter_scraper/models/x/tweet_detail.rb +373 -1
- data/lib/x_twitter_scraper/models/x/tweet_get_quotes_params.rb +3 -5
- data/lib/x_twitter_scraper/models/x/tweet_get_replies_params.rb +34 -6
- data/lib/x_twitter_scraper/models/x/tweet_get_replies_response.rb +345 -0
- data/lib/x_twitter_scraper/models/x/tweet_get_thread_params.rb +3 -5
- data/lib/x_twitter_scraper/models/x/user_retrieve_likes_params.rb +3 -5
- data/lib/x_twitter_scraper/models/x/user_retrieve_media_params.rb +3 -5
- data/lib/x_twitter_scraper/models/x/user_retrieve_mentions_params.rb +3 -5
- data/lib/x_twitter_scraper/models/x/user_retrieve_replies_params.rb +3 -5
- data/lib/x_twitter_scraper/models/x/user_retrieve_tweets_params.rb +3 -5
- data/lib/x_twitter_scraper/models/x_get_article_response.rb +1 -7
- data/lib/x_twitter_scraper/models/x_get_trends_response.rb +28 -1
- data/lib/x_twitter_scraper/resources/x/account_connection_attempts.rb +1 -1
- data/lib/x_twitter_scraper/resources/x/accounts.rb +2 -2
- data/lib/x_twitter_scraper/resources/x/communities/tweets.rb +2 -2
- data/lib/x_twitter_scraper/resources/x/communities.rb +1 -1
- data/lib/x_twitter_scraper/resources/x/lists.rb +1 -1
- data/lib/x_twitter_scraper/resources/x/tweets.rb +14 -11
- data/lib/x_twitter_scraper/resources/x/users.rb +5 -5
- data/lib/x_twitter_scraper/version.rb +1 -1
- data/lib/x_twitter_scraper.rb +2 -1
- data/rbi/x_twitter_scraper/models/content_disclosure.rbi +1 -15
- data/rbi/x_twitter_scraper/models/embedded_tweet.rbi +708 -3
- data/rbi/x_twitter_scraper/models/paginated_tweets.rbi +4 -5
- data/rbi/x_twitter_scraper/models/search_tweet.rbi +674 -3
- data/rbi/x_twitter_scraper/models/support/ticket_list_response.rbi +75 -55
- data/rbi/x_twitter_scraper/models/support/ticket_retrieve_response.rbi +129 -87
- data/rbi/x_twitter_scraper/models/support/ticket_update_response.rbi +62 -13
- data/rbi/x_twitter_scraper/models/trend_list_response.rbi +40 -3
- data/rbi/x_twitter_scraper/models/tweet_media.rbi +313 -3
- data/rbi/x_twitter_scraper/models/user_profile.rbi +340 -29
- data/rbi/x_twitter_scraper/models/x/account_connection_attempt_retrieve_response.rbi +61 -83
- data/rbi/x_twitter_scraper/models/x/account_connection_challenge_submit_response.rbi +6 -6
- data/rbi/x_twitter_scraper/models/x/account_create_response.rbi +264 -2
- data/rbi/x_twitter_scraper/models/x/account_reauth_response.rbi +6 -6
- data/rbi/x_twitter_scraper/models/x/communities/tweet_list_by_community_params.rbi +4 -8
- data/rbi/x_twitter_scraper/models/x/communities/tweet_list_params.rbi +4 -8
- data/rbi/x_twitter_scraper/models/x/community_retrieve_info_response.rbi +0 -22
- data/rbi/x_twitter_scraper/models/x/community_retrieve_search_params.rbi +4 -8
- data/rbi/x_twitter_scraper/models/x/list_retrieve_tweets_params.rbi +4 -8
- data/rbi/x_twitter_scraper/models/x/tweet_author.rbi +13 -3
- data/rbi/x_twitter_scraper/models/x/tweet_detail.rbi +690 -3
- data/rbi/x_twitter_scraper/models/x/tweet_get_quotes_params.rbi +4 -8
- data/rbi/x_twitter_scraper/models/x/tweet_get_replies_params.rbi +68 -8
- data/rbi/x_twitter_scraper/models/x/tweet_get_replies_response.rbi +527 -0
- data/rbi/x_twitter_scraper/models/x/tweet_get_thread_params.rbi +4 -8
- data/rbi/x_twitter_scraper/models/x/user_retrieve_likes_params.rbi +4 -8
- data/rbi/x_twitter_scraper/models/x/user_retrieve_media_params.rbi +4 -8
- data/rbi/x_twitter_scraper/models/x/user_retrieve_mentions_params.rbi +4 -8
- data/rbi/x_twitter_scraper/models/x/user_retrieve_replies_params.rbi +4 -8
- data/rbi/x_twitter_scraper/models/x/user_retrieve_tweets_params.rbi +4 -8
- data/rbi/x_twitter_scraper/models/x_get_article_response.rbi +0 -9
- data/rbi/x_twitter_scraper/models/x_get_trends_response.rbi +40 -3
- data/rbi/x_twitter_scraper/resources/x/accounts.rbi +1 -1
- data/rbi/x_twitter_scraper/resources/x/communities/tweets.rbi +4 -8
- data/rbi/x_twitter_scraper/resources/x/communities.rbi +2 -4
- data/rbi/x_twitter_scraper/resources/x/lists.rbi +2 -4
- data/rbi/x_twitter_scraper/resources/x/tweets.rbi +20 -18
- data/rbi/x_twitter_scraper/resources/x/users.rbi +10 -20
- data/sig/x_twitter_scraper/models/content_disclosure.rbs +1 -11
- data/sig/x_twitter_scraper/models/embedded_tweet.rbs +343 -62
- data/sig/x_twitter_scraper/models/search_tweet.rbs +333 -70
- data/sig/x_twitter_scraper/models/support/ticket_list_response.rbs +29 -32
- data/sig/x_twitter_scraper/models/support/ticket_retrieve_response.rbs +49 -48
- data/sig/x_twitter_scraper/models/support/ticket_update_response.rbs +25 -7
- data/sig/x_twitter_scraper/models/trend_list_response.rbs +16 -20
- data/sig/x_twitter_scraper/models/tweet_media.rbs +146 -15
- data/sig/x_twitter_scraper/models/user_profile.rbs +164 -86
- data/sig/x_twitter_scraper/models/x/account_connection_attempt_retrieve_response.rbs +50 -33
- data/sig/x_twitter_scraper/models/x/account_connection_challenge_submit_response.rbs +5 -5
- data/sig/x_twitter_scraper/models/x/account_create_response.rbs +147 -1
- data/sig/x_twitter_scraper/models/x/account_reauth_response.rbs +5 -5
- data/sig/x_twitter_scraper/models/x/community_retrieve_info_response.rbs +0 -14
- data/sig/x_twitter_scraper/models/x/tweet_author.rbs +11 -3
- data/sig/x_twitter_scraper/models/x/tweet_detail.rbs +333 -70
- data/sig/x_twitter_scraper/models/x/tweet_get_replies_params.rbs +26 -0
- data/sig/x_twitter_scraper/models/x/tweet_get_replies_response.rbs +274 -0
- data/sig/x_twitter_scraper/models/x_get_article_response.rbs +0 -7
- data/sig/x_twitter_scraper/models/x_get_trends_response.rbs +25 -3
- data/sig/x_twitter_scraper/resources/x/accounts.rbs +1 -1
- data/sig/x_twitter_scraper/resources/x/tweets.rbs +3 -1
- metadata +4 -1
|
@@ -48,6 +48,12 @@ module XTwitterScraper
|
|
|
48
48
|
# @return [Integer]
|
|
49
49
|
required :view_count, Integer, api_name: :viewCount
|
|
50
50
|
|
|
51
|
+
# @!attribute article
|
|
52
|
+
# Article metadata attached to a tweet.
|
|
53
|
+
#
|
|
54
|
+
# @return [XTwitterScraper::Models::X::TweetDetail::Article, nil]
|
|
55
|
+
optional :article, -> { XTwitterScraper::X::TweetDetail::Article }
|
|
56
|
+
|
|
51
57
|
# @!attribute author
|
|
52
58
|
# Tweet author profile. The lookup route always includes follower count and
|
|
53
59
|
# verification state. Other profile fields appear when available.
|
|
@@ -55,6 +61,22 @@ module XTwitterScraper
|
|
|
55
61
|
# @return [XTwitterScraper::Models::X::TweetAuthor, nil]
|
|
56
62
|
optional :author, -> { XTwitterScraper::X::TweetAuthor }
|
|
57
63
|
|
|
64
|
+
# @!attribute card
|
|
65
|
+
# Public card metadata attached to a tweet.
|
|
66
|
+
#
|
|
67
|
+
# @return [XTwitterScraper::Models::X::TweetDetail::Card, nil]
|
|
68
|
+
optional :card, -> { XTwitterScraper::X::TweetDetail::Card }
|
|
69
|
+
|
|
70
|
+
# @!attribute community_note
|
|
71
|
+
# Community Note presentation metadata returned by X.
|
|
72
|
+
#
|
|
73
|
+
# @return [XTwitterScraper::Models::X::TweetDetail::CommunityNote, nil]
|
|
74
|
+
optional :community_note,
|
|
75
|
+
-> {
|
|
76
|
+
XTwitterScraper::X::TweetDetail::CommunityNote
|
|
77
|
+
},
|
|
78
|
+
api_name: :communityNote
|
|
79
|
+
|
|
58
80
|
# @!attribute content_disclosure
|
|
59
81
|
# Content disclosure metadata shown by X when a tweet is labeled as paid
|
|
60
82
|
# partnership content or AI-generated media.
|
|
@@ -81,6 +103,12 @@ module XTwitterScraper
|
|
|
81
103
|
XTwitterScraper::Internal::Type::ArrayOf[Integer],
|
|
82
104
|
api_name: :displayTextRange
|
|
83
105
|
|
|
106
|
+
# @!attribute edit
|
|
107
|
+
# Edit history metadata returned by X.
|
|
108
|
+
#
|
|
109
|
+
# @return [XTwitterScraper::Models::X::TweetDetail::Edit, nil]
|
|
110
|
+
optional :edit, -> { XTwitterScraper::X::TweetDetail::Edit }
|
|
111
|
+
|
|
84
112
|
# @!attribute entities
|
|
85
113
|
# Parsed entities from the tweet text (URLs, mentions, hashtags, media)
|
|
86
114
|
#
|
|
@@ -129,6 +157,11 @@ module XTwitterScraper
|
|
|
129
157
|
# @return [Boolean, nil]
|
|
130
158
|
optional :is_reply, XTwitterScraper::Internal::Type::Boolean, api_name: :isReply
|
|
131
159
|
|
|
160
|
+
# @!attribute is_translatable
|
|
161
|
+
#
|
|
162
|
+
# @return [Boolean, nil]
|
|
163
|
+
optional :is_translatable, XTwitterScraper::Internal::Type::Boolean, api_name: :isTranslatable
|
|
164
|
+
|
|
132
165
|
# @!attribute lang
|
|
133
166
|
# Tweet language code
|
|
134
167
|
#
|
|
@@ -141,6 +174,31 @@ module XTwitterScraper
|
|
|
141
174
|
# @return [Array<XTwitterScraper::Models::TweetMedia>, nil]
|
|
142
175
|
optional :media, -> { XTwitterScraper::Internal::Type::ArrayOf[XTwitterScraper::TweetMedia] }
|
|
143
176
|
|
|
177
|
+
# @!attribute note_tweet
|
|
178
|
+
# Complete Note Tweet content and rich-text metadata.
|
|
179
|
+
#
|
|
180
|
+
# @return [XTwitterScraper::Models::X::TweetDetail::NoteTweet, nil]
|
|
181
|
+
optional :note_tweet, -> { XTwitterScraper::X::TweetDetail::NoteTweet }, api_name: :noteTweet
|
|
182
|
+
|
|
183
|
+
# @!attribute place
|
|
184
|
+
# Public place metadata attached to a tweet.
|
|
185
|
+
#
|
|
186
|
+
# @return [XTwitterScraper::Models::X::TweetDetail::Place, nil]
|
|
187
|
+
optional :place, -> { XTwitterScraper::X::TweetDetail::Place }
|
|
188
|
+
|
|
189
|
+
# @!attribute possibly_sensitive
|
|
190
|
+
#
|
|
191
|
+
# @return [Boolean, nil]
|
|
192
|
+
optional :possibly_sensitive, XTwitterScraper::Internal::Type::Boolean, api_name: :possiblySensitive
|
|
193
|
+
|
|
194
|
+
# @!attribute previous_counts
|
|
195
|
+
# Engagement counts retained from a prior tweet edit.
|
|
196
|
+
#
|
|
197
|
+
# @return [XTwitterScraper::Models::X::TweetDetail::PreviousCounts, nil]
|
|
198
|
+
optional :previous_counts,
|
|
199
|
+
-> { XTwitterScraper::X::TweetDetail::PreviousCounts },
|
|
200
|
+
api_name: :previousCounts
|
|
201
|
+
|
|
144
202
|
# @!attribute quoted_tweet
|
|
145
203
|
# Quoted or retweeted tweet context. Every object includes id, text, and
|
|
146
204
|
# engagement metrics. A zero metric can mean X did not report the count. Author,
|
|
@@ -175,7 +233,12 @@ module XTwitterScraper
|
|
|
175
233
|
# @return [String, nil]
|
|
176
234
|
optional :url, String
|
|
177
235
|
|
|
178
|
-
# @!
|
|
236
|
+
# @!attribute view_state
|
|
237
|
+
#
|
|
238
|
+
# @return [String, nil]
|
|
239
|
+
optional :view_state, String, api_name: :viewState
|
|
240
|
+
|
|
241
|
+
# @!method initialize(id:, bookmark_count:, like_count:, quote_count:, reply_count:, retweet_count:, text:, view_count:, article: nil, author: nil, card: nil, community_note: nil, content_disclosure: nil, conversation_id: nil, created_at: nil, display_text_range: nil, edit: nil, entities: nil, in_reply_to_id: nil, in_reply_to_user_id: nil, in_reply_to_username: nil, is_limited_reply: nil, is_note_tweet: nil, is_quote_status: nil, is_reply: nil, is_translatable: nil, lang: nil, media: nil, note_tweet: nil, place: nil, possibly_sensitive: nil, previous_counts: nil, quoted_tweet: nil, retweeted_tweet: nil, source: nil, type: nil, url: nil, view_state: nil)
|
|
179
242
|
# Some parameter documentations has been truncated, see
|
|
180
243
|
# {XTwitterScraper::Models::X::TweetDetail} for more details.
|
|
181
244
|
#
|
|
@@ -198,8 +261,14 @@ module XTwitterScraper
|
|
|
198
261
|
#
|
|
199
262
|
# @param view_count [Integer]
|
|
200
263
|
#
|
|
264
|
+
# @param article [XTwitterScraper::Models::X::TweetDetail::Article] Article metadata attached to a tweet.
|
|
265
|
+
#
|
|
201
266
|
# @param author [XTwitterScraper::Models::X::TweetAuthor] Tweet author profile. The lookup route always includes follower count and verifi
|
|
202
267
|
#
|
|
268
|
+
# @param card [XTwitterScraper::Models::X::TweetDetail::Card] Public card metadata attached to a tweet.
|
|
269
|
+
#
|
|
270
|
+
# @param community_note [XTwitterScraper::Models::X::TweetDetail::CommunityNote] Community Note presentation metadata returned by X.
|
|
271
|
+
#
|
|
203
272
|
# @param content_disclosure [XTwitterScraper::Models::ContentDisclosure] Content disclosure metadata shown by X when a tweet is labeled as paid partnersh
|
|
204
273
|
#
|
|
205
274
|
# @param conversation_id [String] ID of the root tweet in the conversation thread
|
|
@@ -208,6 +277,8 @@ module XTwitterScraper
|
|
|
208
277
|
#
|
|
209
278
|
# @param display_text_range [Array<Integer>] Start and end offsets for rendered tweet text
|
|
210
279
|
#
|
|
280
|
+
# @param edit [XTwitterScraper::Models::X::TweetDetail::Edit] Edit history metadata returned by X.
|
|
281
|
+
#
|
|
211
282
|
# @param entities [Hash{Symbol=>Object}] Parsed entities from the tweet text (URLs, mentions, hashtags, media)
|
|
212
283
|
#
|
|
213
284
|
# @param in_reply_to_id [String] Tweet ID being replied to
|
|
@@ -224,10 +295,20 @@ module XTwitterScraper
|
|
|
224
295
|
#
|
|
225
296
|
# @param is_reply [Boolean] Whether this tweet is a reply to another tweet
|
|
226
297
|
#
|
|
298
|
+
# @param is_translatable [Boolean]
|
|
299
|
+
#
|
|
227
300
|
# @param lang [String] Tweet language code
|
|
228
301
|
#
|
|
229
302
|
# @param media [Array<XTwitterScraper::Models::TweetMedia>] Attached media items, omitted when the tweet has no media
|
|
230
303
|
#
|
|
304
|
+
# @param note_tweet [XTwitterScraper::Models::X::TweetDetail::NoteTweet] Complete Note Tweet content and rich-text metadata.
|
|
305
|
+
#
|
|
306
|
+
# @param place [XTwitterScraper::Models::X::TweetDetail::Place] Public place metadata attached to a tweet.
|
|
307
|
+
#
|
|
308
|
+
# @param possibly_sensitive [Boolean]
|
|
309
|
+
#
|
|
310
|
+
# @param previous_counts [XTwitterScraper::Models::X::TweetDetail::PreviousCounts] Engagement counts retained from a prior tweet edit.
|
|
311
|
+
#
|
|
231
312
|
# @param quoted_tweet [XTwitterScraper::Models::EmbeddedTweet] Quoted or retweeted tweet context. Every object includes id, text, and engagemen
|
|
232
313
|
#
|
|
233
314
|
# @param retweeted_tweet [XTwitterScraper::Models::EmbeddedTweet] Quoted or retweeted tweet context. Every object includes id, text, and engagemen
|
|
@@ -237,6 +318,297 @@ module XTwitterScraper
|
|
|
237
318
|
# @param type [String] Tweet result type
|
|
238
319
|
#
|
|
239
320
|
# @param url [String] Tweet permalink URL
|
|
321
|
+
#
|
|
322
|
+
# @param view_state [String]
|
|
323
|
+
|
|
324
|
+
# @see XTwitterScraper::Models::X::TweetDetail#article
|
|
325
|
+
class Article < XTwitterScraper::Internal::Type::BaseModel
|
|
326
|
+
# @!attribute id
|
|
327
|
+
#
|
|
328
|
+
# @return [String, nil]
|
|
329
|
+
optional :id, String
|
|
330
|
+
|
|
331
|
+
# @!attribute cover_media_url
|
|
332
|
+
#
|
|
333
|
+
# @return [String, nil]
|
|
334
|
+
optional :cover_media_url, String, api_name: :coverMediaUrl
|
|
335
|
+
|
|
336
|
+
# @!attribute preview_text
|
|
337
|
+
#
|
|
338
|
+
# @return [String, nil]
|
|
339
|
+
optional :preview_text, String, api_name: :previewText
|
|
340
|
+
|
|
341
|
+
# @!attribute title
|
|
342
|
+
#
|
|
343
|
+
# @return [String, nil]
|
|
344
|
+
optional :title, String
|
|
345
|
+
|
|
346
|
+
# @!method initialize(id: nil, cover_media_url: nil, preview_text: nil, title: nil)
|
|
347
|
+
# Article metadata attached to a tweet.
|
|
348
|
+
#
|
|
349
|
+
# @param id [String]
|
|
350
|
+
# @param cover_media_url [String]
|
|
351
|
+
# @param preview_text [String]
|
|
352
|
+
# @param title [String]
|
|
353
|
+
end
|
|
354
|
+
|
|
355
|
+
# @see XTwitterScraper::Models::X::TweetDetail#card
|
|
356
|
+
class Card < XTwitterScraper::Internal::Type::BaseModel
|
|
357
|
+
# @!attribute id
|
|
358
|
+
#
|
|
359
|
+
# @return [String, nil]
|
|
360
|
+
optional :id, String
|
|
361
|
+
|
|
362
|
+
# @!attribute binding_values
|
|
363
|
+
#
|
|
364
|
+
# @return [Hash{Symbol=>Object}, nil]
|
|
365
|
+
optional :binding_values,
|
|
366
|
+
XTwitterScraper::Internal::Type::HashOf[XTwitterScraper::Internal::Type::Unknown],
|
|
367
|
+
api_name: :bindingValues
|
|
368
|
+
|
|
369
|
+
# @!attribute name
|
|
370
|
+
#
|
|
371
|
+
# @return [String, nil]
|
|
372
|
+
optional :name, String
|
|
373
|
+
|
|
374
|
+
# @!attribute url
|
|
375
|
+
#
|
|
376
|
+
# @return [String, nil]
|
|
377
|
+
optional :url, String
|
|
378
|
+
|
|
379
|
+
# @!method initialize(id: nil, binding_values: nil, name: nil, url: nil)
|
|
380
|
+
# Public card metadata attached to a tweet.
|
|
381
|
+
#
|
|
382
|
+
# @param id [String]
|
|
383
|
+
# @param binding_values [Hash{Symbol=>Object}]
|
|
384
|
+
# @param name [String]
|
|
385
|
+
# @param url [String]
|
|
386
|
+
end
|
|
387
|
+
|
|
388
|
+
# @see XTwitterScraper::Models::X::TweetDetail#community_note
|
|
389
|
+
class CommunityNote < XTwitterScraper::Internal::Type::BaseModel
|
|
390
|
+
# @!attribute id
|
|
391
|
+
#
|
|
392
|
+
# @return [String, nil]
|
|
393
|
+
optional :id, String
|
|
394
|
+
|
|
395
|
+
# @!attribute destination_url
|
|
396
|
+
#
|
|
397
|
+
# @return [String, nil]
|
|
398
|
+
optional :destination_url, String, api_name: :destinationUrl
|
|
399
|
+
|
|
400
|
+
# @!attribute footer
|
|
401
|
+
#
|
|
402
|
+
# @return [String, nil]
|
|
403
|
+
optional :footer, String
|
|
404
|
+
|
|
405
|
+
# @!attribute short_title
|
|
406
|
+
#
|
|
407
|
+
# @return [String, nil]
|
|
408
|
+
optional :short_title, String, api_name: :shortTitle
|
|
409
|
+
|
|
410
|
+
# @!attribute subtitle
|
|
411
|
+
#
|
|
412
|
+
# @return [String, nil]
|
|
413
|
+
optional :subtitle, String
|
|
414
|
+
|
|
415
|
+
# @!attribute title
|
|
416
|
+
#
|
|
417
|
+
# @return [String, nil]
|
|
418
|
+
optional :title, String
|
|
419
|
+
|
|
420
|
+
# @!attribute visual_style
|
|
421
|
+
#
|
|
422
|
+
# @return [String, nil]
|
|
423
|
+
optional :visual_style, String, api_name: :visualStyle
|
|
424
|
+
|
|
425
|
+
# @!method initialize(id: nil, destination_url: nil, footer: nil, short_title: nil, subtitle: nil, title: nil, visual_style: nil)
|
|
426
|
+
# Community Note presentation metadata returned by X.
|
|
427
|
+
#
|
|
428
|
+
# @param id [String]
|
|
429
|
+
# @param destination_url [String]
|
|
430
|
+
# @param footer [String]
|
|
431
|
+
# @param short_title [String]
|
|
432
|
+
# @param subtitle [String]
|
|
433
|
+
# @param title [String]
|
|
434
|
+
# @param visual_style [String]
|
|
435
|
+
end
|
|
436
|
+
|
|
437
|
+
# @see XTwitterScraper::Models::X::TweetDetail#edit
|
|
438
|
+
class Edit < XTwitterScraper::Internal::Type::BaseModel
|
|
439
|
+
# @!attribute editable_until_msecs
|
|
440
|
+
#
|
|
441
|
+
# @return [String, nil]
|
|
442
|
+
optional :editable_until_msecs, String, api_name: :editableUntilMsecs
|
|
443
|
+
|
|
444
|
+
# @!attribute edit_tweet_ids
|
|
445
|
+
#
|
|
446
|
+
# @return [Array<String>, nil]
|
|
447
|
+
optional :edit_tweet_ids, XTwitterScraper::Internal::Type::ArrayOf[String], api_name: :editTweetIds
|
|
448
|
+
|
|
449
|
+
# @!method initialize(editable_until_msecs: nil, edit_tweet_ids: nil)
|
|
450
|
+
# Edit history metadata returned by X.
|
|
451
|
+
#
|
|
452
|
+
# @param editable_until_msecs [String]
|
|
453
|
+
# @param edit_tweet_ids [Array<String>]
|
|
454
|
+
end
|
|
455
|
+
|
|
456
|
+
# @see XTwitterScraper::Models::X::TweetDetail#note_tweet
|
|
457
|
+
class NoteTweet < XTwitterScraper::Internal::Type::BaseModel
|
|
458
|
+
# @!attribute text
|
|
459
|
+
#
|
|
460
|
+
# @return [String]
|
|
461
|
+
required :text, String
|
|
462
|
+
|
|
463
|
+
# @!attribute id
|
|
464
|
+
#
|
|
465
|
+
# @return [String, nil]
|
|
466
|
+
optional :id, String
|
|
467
|
+
|
|
468
|
+
# @!attribute entities
|
|
469
|
+
#
|
|
470
|
+
# @return [Hash{Symbol=>Object}, nil]
|
|
471
|
+
optional :entities, XTwitterScraper::Internal::Type::HashOf[XTwitterScraper::Internal::Type::Unknown]
|
|
472
|
+
|
|
473
|
+
# @!attribute is_expandable
|
|
474
|
+
#
|
|
475
|
+
# @return [Boolean, nil]
|
|
476
|
+
optional :is_expandable, XTwitterScraper::Internal::Type::Boolean, api_name: :isExpandable
|
|
477
|
+
|
|
478
|
+
# @!attribute richtext_tags
|
|
479
|
+
#
|
|
480
|
+
# @return [Array<XTwitterScraper::Models::X::TweetDetail::NoteTweet::RichtextTag>, nil]
|
|
481
|
+
optional :richtext_tags,
|
|
482
|
+
-> {
|
|
483
|
+
XTwitterScraper::Internal::Type::ArrayOf[XTwitterScraper::X::TweetDetail::NoteTweet::RichtextTag]
|
|
484
|
+
},
|
|
485
|
+
api_name: :richtextTags
|
|
486
|
+
|
|
487
|
+
# @!method initialize(text:, id: nil, entities: nil, is_expandable: nil, richtext_tags: nil)
|
|
488
|
+
# Complete Note Tweet content and rich-text metadata.
|
|
489
|
+
#
|
|
490
|
+
# @param text [String]
|
|
491
|
+
# @param id [String]
|
|
492
|
+
# @param entities [Hash{Symbol=>Object}]
|
|
493
|
+
# @param is_expandable [Boolean]
|
|
494
|
+
# @param richtext_tags [Array<XTwitterScraper::Models::X::TweetDetail::NoteTweet::RichtextTag>]
|
|
495
|
+
|
|
496
|
+
class RichtextTag < XTwitterScraper::Internal::Type::BaseModel
|
|
497
|
+
# @!attribute from_index
|
|
498
|
+
#
|
|
499
|
+
# @return [Integer]
|
|
500
|
+
required :from_index, Integer, api_name: :fromIndex
|
|
501
|
+
|
|
502
|
+
# @!attribute to_index
|
|
503
|
+
#
|
|
504
|
+
# @return [Integer]
|
|
505
|
+
required :to_index, Integer, api_name: :toIndex
|
|
506
|
+
|
|
507
|
+
# @!attribute types
|
|
508
|
+
#
|
|
509
|
+
# @return [Array<String>]
|
|
510
|
+
required :types, XTwitterScraper::Internal::Type::ArrayOf[String]
|
|
511
|
+
|
|
512
|
+
# @!method initialize(from_index:, to_index:, types:)
|
|
513
|
+
# @param from_index [Integer]
|
|
514
|
+
# @param to_index [Integer]
|
|
515
|
+
# @param types [Array<String>]
|
|
516
|
+
end
|
|
517
|
+
end
|
|
518
|
+
|
|
519
|
+
# @see XTwitterScraper::Models::X::TweetDetail#place
|
|
520
|
+
class Place < XTwitterScraper::Internal::Type::BaseModel
|
|
521
|
+
# @!attribute id
|
|
522
|
+
#
|
|
523
|
+
# @return [String, nil]
|
|
524
|
+
optional :id, String
|
|
525
|
+
|
|
526
|
+
# @!attribute bounding_box
|
|
527
|
+
#
|
|
528
|
+
# @return [Hash{Symbol=>Object}, nil]
|
|
529
|
+
optional :bounding_box,
|
|
530
|
+
XTwitterScraper::Internal::Type::HashOf[XTwitterScraper::Internal::Type::Unknown],
|
|
531
|
+
api_name: :boundingBox
|
|
532
|
+
|
|
533
|
+
# @!attribute country
|
|
534
|
+
#
|
|
535
|
+
# @return [String, nil]
|
|
536
|
+
optional :country, String
|
|
537
|
+
|
|
538
|
+
# @!attribute country_code
|
|
539
|
+
#
|
|
540
|
+
# @return [String, nil]
|
|
541
|
+
optional :country_code, String, api_name: :countryCode
|
|
542
|
+
|
|
543
|
+
# @!attribute full_name
|
|
544
|
+
#
|
|
545
|
+
# @return [String, nil]
|
|
546
|
+
optional :full_name, String, api_name: :fullName
|
|
547
|
+
|
|
548
|
+
# @!attribute name
|
|
549
|
+
#
|
|
550
|
+
# @return [String, nil]
|
|
551
|
+
optional :name, String
|
|
552
|
+
|
|
553
|
+
# @!attribute place_type
|
|
554
|
+
#
|
|
555
|
+
# @return [String, nil]
|
|
556
|
+
optional :place_type, String, api_name: :placeType
|
|
557
|
+
|
|
558
|
+
# @!attribute url
|
|
559
|
+
#
|
|
560
|
+
# @return [String, nil]
|
|
561
|
+
optional :url, String
|
|
562
|
+
|
|
563
|
+
# @!method initialize(id: nil, bounding_box: nil, country: nil, country_code: nil, full_name: nil, name: nil, place_type: nil, url: nil)
|
|
564
|
+
# Public place metadata attached to a tweet.
|
|
565
|
+
#
|
|
566
|
+
# @param id [String]
|
|
567
|
+
# @param bounding_box [Hash{Symbol=>Object}]
|
|
568
|
+
# @param country [String]
|
|
569
|
+
# @param country_code [String]
|
|
570
|
+
# @param full_name [String]
|
|
571
|
+
# @param name [String]
|
|
572
|
+
# @param place_type [String]
|
|
573
|
+
# @param url [String]
|
|
574
|
+
end
|
|
575
|
+
|
|
576
|
+
# @see XTwitterScraper::Models::X::TweetDetail#previous_counts
|
|
577
|
+
class PreviousCounts < XTwitterScraper::Internal::Type::BaseModel
|
|
578
|
+
# @!attribute bookmark_count
|
|
579
|
+
#
|
|
580
|
+
# @return [Integer, nil]
|
|
581
|
+
optional :bookmark_count, Integer, api_name: :bookmarkCount
|
|
582
|
+
|
|
583
|
+
# @!attribute like_count
|
|
584
|
+
#
|
|
585
|
+
# @return [Integer, nil]
|
|
586
|
+
optional :like_count, Integer, api_name: :likeCount
|
|
587
|
+
|
|
588
|
+
# @!attribute quote_count
|
|
589
|
+
#
|
|
590
|
+
# @return [Integer, nil]
|
|
591
|
+
optional :quote_count, Integer, api_name: :quoteCount
|
|
592
|
+
|
|
593
|
+
# @!attribute reply_count
|
|
594
|
+
#
|
|
595
|
+
# @return [Integer, nil]
|
|
596
|
+
optional :reply_count, Integer, api_name: :replyCount
|
|
597
|
+
|
|
598
|
+
# @!attribute retweet_count
|
|
599
|
+
#
|
|
600
|
+
# @return [Integer, nil]
|
|
601
|
+
optional :retweet_count, Integer, api_name: :retweetCount
|
|
602
|
+
|
|
603
|
+
# @!method initialize(bookmark_count: nil, like_count: nil, quote_count: nil, reply_count: nil, retweet_count: nil)
|
|
604
|
+
# Engagement counts retained from a prior tweet edit.
|
|
605
|
+
#
|
|
606
|
+
# @param bookmark_count [Integer]
|
|
607
|
+
# @param like_count [Integer]
|
|
608
|
+
# @param quote_count [Integer]
|
|
609
|
+
# @param reply_count [Integer]
|
|
610
|
+
# @param retweet_count [Integer]
|
|
611
|
+
end
|
|
240
612
|
end
|
|
241
613
|
end
|
|
242
614
|
end
|
|
@@ -121,10 +121,8 @@ module XTwitterScraper
|
|
|
121
121
|
optional :min_retweets, Integer
|
|
122
122
|
|
|
123
123
|
# @!attribute page_size
|
|
124
|
-
# Maximum items
|
|
125
|
-
#
|
|
126
|
-
# remaining credits cover fewer results. Keep requesting next_cursor while
|
|
127
|
-
# has_next_page is true, even when a page is empty. The deprecated limit and count
|
|
124
|
+
# Maximum page items (1-100, default 20). Source, filters, or credits can reduce
|
|
125
|
+
# results. Continue while has_next_page is true. Deprecated limit and count
|
|
128
126
|
# aliases remain accepted.
|
|
129
127
|
#
|
|
130
128
|
# @return [Integer, nil]
|
|
@@ -242,7 +240,7 @@ module XTwitterScraper
|
|
|
242
240
|
#
|
|
243
241
|
# @param min_retweets [Integer] Minimum retweets threshold.
|
|
244
242
|
#
|
|
245
|
-
# @param page_size [Integer] Maximum items
|
|
243
|
+
# @param page_size [Integer] Maximum page items (1-100, default 20). Source, filters, or credits can reduce r
|
|
246
244
|
#
|
|
247
245
|
# @param quotes [Symbol, XTwitterScraper::Models::X::TweetGetQuotesParams::Quotes] Quote mode.
|
|
248
246
|
#
|
|
@@ -78,6 +78,14 @@ module XTwitterScraper
|
|
|
78
78
|
# @return [String, nil]
|
|
79
79
|
optional :language, String
|
|
80
80
|
|
|
81
|
+
# @!attribute limit
|
|
82
|
+
# With mode=complete, maximum combined direct and nested reply rows (1-25000).
|
|
83
|
+
# Without complete mode, this is the deprecated pageSize alias and uses the normal
|
|
84
|
+
# 1-100 page range.
|
|
85
|
+
#
|
|
86
|
+
# @return [Integer, nil]
|
|
87
|
+
optional :limit, Integer
|
|
88
|
+
|
|
81
89
|
# @!attribute media_type
|
|
82
90
|
# Filter by media type.
|
|
83
91
|
#
|
|
@@ -114,11 +122,16 @@ module XTwitterScraper
|
|
|
114
122
|
# @return [Integer, nil]
|
|
115
123
|
optional :min_retweets, Integer
|
|
116
124
|
|
|
125
|
+
# @!attribute mode
|
|
126
|
+
# Set complete for maximum-coverage collection. Complete mode accepts only limit.
|
|
127
|
+
# Remove cursor, pageSize, count, time ranges, and tweet filters.
|
|
128
|
+
#
|
|
129
|
+
# @return [Symbol, XTwitterScraper::Models::X::TweetGetRepliesParams::Mode, nil]
|
|
130
|
+
optional :mode, enum: -> { XTwitterScraper::X::TweetGetRepliesParams::Mode }
|
|
131
|
+
|
|
117
132
|
# @!attribute page_size
|
|
118
|
-
# Maximum items
|
|
119
|
-
#
|
|
120
|
-
# remaining credits cover fewer results. Keep requesting next_cursor while
|
|
121
|
-
# has_next_page is true, even when a page is empty. The deprecated limit and count
|
|
133
|
+
# Maximum page items (1-100, default 20). Source, filters, or credits can reduce
|
|
134
|
+
# results. Continue while has_next_page is true. Deprecated limit and count
|
|
122
135
|
# aliases remain accepted.
|
|
123
136
|
#
|
|
124
137
|
# @return [Integer, nil]
|
|
@@ -196,7 +209,7 @@ module XTwitterScraper
|
|
|
196
209
|
# @return [Boolean, nil]
|
|
197
210
|
optional :verified_only, XTwitterScraper::Internal::Type::Boolean
|
|
198
211
|
|
|
199
|
-
# @!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, since_time: nil, to_user: nil, until_date: nil, until_time: nil, url: nil, verified_only: nil, request_options: {})
|
|
212
|
+
# @!method initialize(id:, any_words: nil, cashtags: nil, conversation_id: nil, cursor: nil, exact_phrase: nil, exclude_words: nil, from_user: nil, hashtags: nil, in_reply_to_tweet_id: nil, language: nil, limit: nil, media_type: nil, mentioning: nil, min_faves: nil, min_quotes: nil, min_replies: nil, min_retweets: nil, mode: nil, page_size: nil, quotes: nil, quotes_of_tweet_id: nil, replies: nil, retweets: nil, retweets_of_tweet_id: nil, since_date: nil, since_time: nil, to_user: nil, until_date: nil, until_time: nil, url: nil, verified_only: nil, request_options: {})
|
|
200
213
|
# Some parameter documentations has been truncated, see
|
|
201
214
|
# {XTwitterScraper::Models::X::TweetGetRepliesParams} for more details.
|
|
202
215
|
#
|
|
@@ -222,6 +235,8 @@ module XTwitterScraper
|
|
|
222
235
|
#
|
|
223
236
|
# @param language [String] Language code filter, e.g. en or tr.
|
|
224
237
|
#
|
|
238
|
+
# @param limit [Integer] With mode=complete, maximum combined direct and nested reply rows (1-25000). Wit
|
|
239
|
+
#
|
|
225
240
|
# @param media_type [Symbol, XTwitterScraper::Models::X::TweetGetRepliesParams::MediaType] Filter by media type.
|
|
226
241
|
#
|
|
227
242
|
# @param mentioning [String] Filter tweets mentioning a username.
|
|
@@ -234,7 +249,9 @@ module XTwitterScraper
|
|
|
234
249
|
#
|
|
235
250
|
# @param min_retweets [Integer] Minimum retweets threshold.
|
|
236
251
|
#
|
|
237
|
-
# @param
|
|
252
|
+
# @param mode [Symbol, XTwitterScraper::Models::X::TweetGetRepliesParams::Mode] Set complete for maximum-coverage collection. Complete mode accepts only limit.
|
|
253
|
+
#
|
|
254
|
+
# @param page_size [Integer] Maximum page items (1-100, default 20). Source, filters, or credits can reduce r
|
|
238
255
|
#
|
|
239
256
|
# @param quotes [Symbol, XTwitterScraper::Models::X::TweetGetRepliesParams::Quotes] Quote mode.
|
|
240
257
|
#
|
|
@@ -277,6 +294,17 @@ module XTwitterScraper
|
|
|
277
294
|
# @return [Array<Symbol>]
|
|
278
295
|
end
|
|
279
296
|
|
|
297
|
+
# Set complete for maximum-coverage collection. Complete mode accepts only limit.
|
|
298
|
+
# Remove cursor, pageSize, count, time ranges, and tweet filters.
|
|
299
|
+
module Mode
|
|
300
|
+
extend XTwitterScraper::Internal::Type::Enum
|
|
301
|
+
|
|
302
|
+
COMPLETE = :complete
|
|
303
|
+
|
|
304
|
+
# @!method self.values
|
|
305
|
+
# @return [Array<Symbol>]
|
|
306
|
+
end
|
|
307
|
+
|
|
280
308
|
# Quote mode.
|
|
281
309
|
module Quotes
|
|
282
310
|
extend XTwitterScraper::Internal::Type::Enum
|