x-twitter-scraper 0.5.5 → 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.
Files changed (129) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +34 -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/compose_create_response.rb +62 -1
  6. data/lib/x_twitter_scraper/models/content_disclosure.rb +1 -9
  7. data/lib/x_twitter_scraper/models/embedded_tweet.rb +389 -1
  8. data/lib/x_twitter_scraper/models/paginated_tweets.rb +4 -5
  9. data/lib/x_twitter_scraper/models/radar_item.rb +144 -7
  10. data/lib/x_twitter_scraper/models/search_tweet.rb +371 -1
  11. data/lib/x_twitter_scraper/models/support/ticket_list_response.rb +30 -17
  12. data/lib/x_twitter_scraper/models/support/ticket_retrieve_response.rb +49 -24
  13. data/lib/x_twitter_scraper/models/support/ticket_update_response.rb +18 -6
  14. data/lib/x_twitter_scraper/models/trend_list_response.rb +28 -1
  15. data/lib/x_twitter_scraper/models/tweet_media.rb +213 -1
  16. data/lib/x_twitter_scraper/models/user_profile.rb +211 -21
  17. data/lib/x_twitter_scraper/models/x/account_connection_attempt_retrieve_params.rb +22 -0
  18. data/lib/x_twitter_scraper/models/x/account_connection_attempt_retrieve_response.rb +224 -0
  19. data/lib/x_twitter_scraper/models/x/account_connection_challenge_submit_response.rb +4 -4
  20. data/lib/x_twitter_scraper/models/x/account_create_params.rb +9 -9
  21. data/lib/x_twitter_scraper/models/x/account_create_response.rb +146 -54
  22. data/lib/x_twitter_scraper/models/x/account_reauth_params.rb +2 -2
  23. data/lib/x_twitter_scraper/models/x/account_reauth_response.rb +4 -4
  24. data/lib/x_twitter_scraper/models/x/communities/tweet_list_by_community_params.rb +3 -5
  25. data/lib/x_twitter_scraper/models/x/communities/tweet_list_params.rb +3 -5
  26. data/lib/x_twitter_scraper/models/x/community_retrieve_info_response.rb +1 -17
  27. data/lib/x_twitter_scraper/models/x/community_retrieve_search_params.rb +3 -5
  28. data/lib/x_twitter_scraper/models/x/list_retrieve_tweets_params.rb +3 -5
  29. data/lib/x_twitter_scraper/models/x/tweet_author.rb +14 -1
  30. data/lib/x_twitter_scraper/models/x/tweet_detail.rb +373 -1
  31. data/lib/x_twitter_scraper/models/x/tweet_get_quotes_params.rb +3 -5
  32. data/lib/x_twitter_scraper/models/x/tweet_get_replies_params.rb +34 -6
  33. data/lib/x_twitter_scraper/models/x/tweet_get_replies_response.rb +345 -0
  34. data/lib/x_twitter_scraper/models/x/tweet_get_thread_params.rb +3 -5
  35. data/lib/x_twitter_scraper/models/x/user_retrieve_likes_params.rb +3 -5
  36. data/lib/x_twitter_scraper/models/x/user_retrieve_media_params.rb +3 -5
  37. data/lib/x_twitter_scraper/models/x/user_retrieve_mentions_params.rb +3 -5
  38. data/lib/x_twitter_scraper/models/x/user_retrieve_replies_params.rb +3 -5
  39. data/lib/x_twitter_scraper/models/x/user_retrieve_tweets_params.rb +3 -5
  40. data/lib/x_twitter_scraper/models/x/x_account.rb +9 -9
  41. data/lib/x_twitter_scraper/models/x_get_article_response.rb +1 -7
  42. data/lib/x_twitter_scraper/models/x_get_trends_response.rb +28 -1
  43. data/lib/x_twitter_scraper/resources/compose.rb +4 -4
  44. data/lib/x_twitter_scraper/resources/x/account_connection_attempts.rb +37 -0
  45. data/lib/x_twitter_scraper/resources/x/accounts.rb +5 -5
  46. data/lib/x_twitter_scraper/resources/x/communities/tweets.rb +2 -2
  47. data/lib/x_twitter_scraper/resources/x/communities.rb +1 -1
  48. data/lib/x_twitter_scraper/resources/x/lists.rb +1 -1
  49. data/lib/x_twitter_scraper/resources/x/tweets.rb +14 -11
  50. data/lib/x_twitter_scraper/resources/x/users.rb +5 -5
  51. data/lib/x_twitter_scraper/resources/x.rb +6 -0
  52. data/lib/x_twitter_scraper/version.rb +1 -1
  53. data/lib/x_twitter_scraper.rb +5 -1
  54. data/rbi/x_twitter_scraper/models/compose_create_response.rbi +142 -0
  55. data/rbi/x_twitter_scraper/models/content_disclosure.rbi +1 -15
  56. data/rbi/x_twitter_scraper/models/embedded_tweet.rbi +708 -3
  57. data/rbi/x_twitter_scraper/models/paginated_tweets.rbi +4 -5
  58. data/rbi/x_twitter_scraper/models/radar_item.rbi +245 -8
  59. data/rbi/x_twitter_scraper/models/search_tweet.rbi +674 -3
  60. data/rbi/x_twitter_scraper/models/support/ticket_list_response.rbi +75 -55
  61. data/rbi/x_twitter_scraper/models/support/ticket_retrieve_response.rbi +129 -87
  62. data/rbi/x_twitter_scraper/models/support/ticket_update_response.rbi +62 -13
  63. data/rbi/x_twitter_scraper/models/trend_list_response.rbi +40 -3
  64. data/rbi/x_twitter_scraper/models/tweet_media.rbi +313 -3
  65. data/rbi/x_twitter_scraper/models/user_profile.rbi +340 -29
  66. data/rbi/x_twitter_scraper/models/x/account_connection_attempt_retrieve_params.rbi +40 -0
  67. data/rbi/x_twitter_scraper/models/x/account_connection_attempt_retrieve_response.rbi +295 -0
  68. data/rbi/x_twitter_scraper/models/x/account_connection_challenge_submit_response.rbi +6 -6
  69. data/rbi/x_twitter_scraper/models/x/account_create_params.rbi +8 -11
  70. data/rbi/x_twitter_scraper/models/x/account_create_response.rbi +232 -91
  71. data/rbi/x_twitter_scraper/models/x/account_reauth_params.rbi +2 -2
  72. data/rbi/x_twitter_scraper/models/x/account_reauth_response.rbi +6 -6
  73. data/rbi/x_twitter_scraper/models/x/communities/tweet_list_by_community_params.rbi +4 -8
  74. data/rbi/x_twitter_scraper/models/x/communities/tweet_list_params.rbi +4 -8
  75. data/rbi/x_twitter_scraper/models/x/community_retrieve_info_response.rbi +0 -22
  76. data/rbi/x_twitter_scraper/models/x/community_retrieve_search_params.rbi +4 -8
  77. data/rbi/x_twitter_scraper/models/x/list_retrieve_tweets_params.rbi +4 -8
  78. data/rbi/x_twitter_scraper/models/x/tweet_author.rbi +13 -3
  79. data/rbi/x_twitter_scraper/models/x/tweet_detail.rbi +690 -3
  80. data/rbi/x_twitter_scraper/models/x/tweet_get_quotes_params.rbi +4 -8
  81. data/rbi/x_twitter_scraper/models/x/tweet_get_replies_params.rbi +68 -8
  82. data/rbi/x_twitter_scraper/models/x/tweet_get_replies_response.rbi +527 -0
  83. data/rbi/x_twitter_scraper/models/x/tweet_get_thread_params.rbi +4 -8
  84. data/rbi/x_twitter_scraper/models/x/user_retrieve_likes_params.rbi +4 -8
  85. data/rbi/x_twitter_scraper/models/x/user_retrieve_media_params.rbi +4 -8
  86. data/rbi/x_twitter_scraper/models/x/user_retrieve_mentions_params.rbi +4 -8
  87. data/rbi/x_twitter_scraper/models/x/user_retrieve_replies_params.rbi +4 -8
  88. data/rbi/x_twitter_scraper/models/x/user_retrieve_tweets_params.rbi +4 -8
  89. data/rbi/x_twitter_scraper/models/x/x_account.rbi +12 -12
  90. data/rbi/x_twitter_scraper/models/x_get_article_response.rbi +0 -9
  91. data/rbi/x_twitter_scraper/models/x_get_trends_response.rbi +40 -3
  92. data/rbi/x_twitter_scraper/resources/compose.rbi +4 -4
  93. data/rbi/x_twitter_scraper/resources/x/account_connection_attempts.rbi +33 -0
  94. data/rbi/x_twitter_scraper/resources/x/accounts.rbi +5 -5
  95. data/rbi/x_twitter_scraper/resources/x/communities/tweets.rbi +4 -8
  96. data/rbi/x_twitter_scraper/resources/x/communities.rbi +2 -4
  97. data/rbi/x_twitter_scraper/resources/x/lists.rbi +2 -4
  98. data/rbi/x_twitter_scraper/resources/x/tweets.rbi +20 -18
  99. data/rbi/x_twitter_scraper/resources/x/users.rbi +10 -20
  100. data/rbi/x_twitter_scraper/resources/x.rbi +4 -0
  101. data/sig/x_twitter_scraper/models/compose_create_response.rbs +60 -0
  102. data/sig/x_twitter_scraper/models/content_disclosure.rbs +1 -11
  103. data/sig/x_twitter_scraper/models/embedded_tweet.rbs +343 -62
  104. data/sig/x_twitter_scraper/models/radar_item.rbs +100 -4
  105. data/sig/x_twitter_scraper/models/search_tweet.rbs +333 -70
  106. data/sig/x_twitter_scraper/models/support/ticket_list_response.rbs +29 -32
  107. data/sig/x_twitter_scraper/models/support/ticket_retrieve_response.rbs +49 -48
  108. data/sig/x_twitter_scraper/models/support/ticket_update_response.rbs +25 -7
  109. data/sig/x_twitter_scraper/models/trend_list_response.rbs +16 -20
  110. data/sig/x_twitter_scraper/models/tweet_media.rbs +146 -15
  111. data/sig/x_twitter_scraper/models/user_profile.rbs +164 -86
  112. data/sig/x_twitter_scraper/models/x/account_connection_attempt_retrieve_params.rbs +25 -0
  113. data/sig/x_twitter_scraper/models/x/account_connection_attempt_retrieve_response.rbs +199 -0
  114. data/sig/x_twitter_scraper/models/x/account_connection_challenge_submit_response.rbs +5 -5
  115. data/sig/x_twitter_scraper/models/x/account_create_params.rbs +6 -8
  116. data/sig/x_twitter_scraper/models/x/account_create_response.rbs +144 -59
  117. data/sig/x_twitter_scraper/models/x/account_reauth_response.rbs +5 -5
  118. data/sig/x_twitter_scraper/models/x/community_retrieve_info_response.rbs +0 -14
  119. data/sig/x_twitter_scraper/models/x/tweet_author.rbs +11 -3
  120. data/sig/x_twitter_scraper/models/x/tweet_detail.rbs +333 -70
  121. data/sig/x_twitter_scraper/models/x/tweet_get_replies_params.rbs +26 -0
  122. data/sig/x_twitter_scraper/models/x/tweet_get_replies_response.rbs +274 -0
  123. data/sig/x_twitter_scraper/models/x_get_article_response.rbs +0 -7
  124. data/sig/x_twitter_scraper/models/x_get_trends_response.rbs +25 -3
  125. data/sig/x_twitter_scraper/resources/x/account_connection_attempts.rbs +14 -0
  126. data/sig/x_twitter_scraper/resources/x/accounts.rbs +2 -2
  127. data/sig/x_twitter_scraper/resources/x/tweets.rbs +3 -1
  128. data/sig/x_twitter_scraper/resources/x.rbs +2 -0
  129. metadata +14 -2
@@ -10,7 +10,7 @@ module XTwitterScraper
10
10
  category: XTwitterScraper::Models::RadarItem::category,
11
11
  created_at: Time,
12
12
  language: String,
13
- metadata: ::Hash[Symbol, top],
13
+ metadata: XTwitterScraper::RadarItem::Metadata,
14
14
  published_at: Time,
15
15
  region: String,
16
16
  score: Float,
@@ -31,7 +31,7 @@ module XTwitterScraper
31
31
 
32
32
  attr_accessor language: String
33
33
 
34
- attr_accessor metadata: ::Hash[Symbol, top]
34
+ attr_accessor metadata: XTwitterScraper::RadarItem::Metadata
35
35
 
36
36
  attr_accessor published_at: Time
37
37
 
@@ -62,7 +62,7 @@ module XTwitterScraper
62
62
  category: XTwitterScraper::Models::RadarItem::category,
63
63
  created_at: Time,
64
64
  language: String,
65
- metadata: ::Hash[Symbol, top],
65
+ metadata: XTwitterScraper::RadarItem::Metadata,
66
66
  published_at: Time,
67
67
  region: String,
68
68
  score: Float,
@@ -79,7 +79,7 @@ module XTwitterScraper
79
79
  category: XTwitterScraper::Models::RadarItem::category,
80
80
  created_at: Time,
81
81
  language: String,
82
- metadata: ::Hash[Symbol, top],
82
+ metadata: XTwitterScraper::RadarItem::Metadata,
83
83
  published_at: Time,
84
84
  region: String,
85
85
  score: Float,
@@ -116,6 +116,102 @@ module XTwitterScraper
116
116
  def self?.values: -> ::Array[XTwitterScraper::Models::RadarItem::category]
117
117
  end
118
118
 
119
+ type metadata =
120
+ {
121
+ author: String,
122
+ content_url: String,
123
+ estimated_downvotes: Integer,
124
+ estimated_upvotes: Integer,
125
+ number_comments: Integer,
126
+ score: Integer,
127
+ selftext: String,
128
+ source_format: XTwitterScraper::Models::RadarItem::Metadata::source_format,
129
+ subreddit: String,
130
+ upvote_ratio: Float
131
+ }
132
+
133
+ class Metadata < XTwitterScraper::Internal::Type::BaseModel
134
+ attr_reader author: String?
135
+
136
+ def author=: (String) -> String
137
+
138
+ attr_reader content_url: String?
139
+
140
+ def content_url=: (String) -> String
141
+
142
+ attr_reader estimated_downvotes: Integer?
143
+
144
+ def estimated_downvotes=: (Integer) -> Integer
145
+
146
+ attr_reader estimated_upvotes: Integer?
147
+
148
+ def estimated_upvotes=: (Integer) -> Integer
149
+
150
+ attr_reader number_comments: Integer?
151
+
152
+ def number_comments=: (Integer) -> Integer
153
+
154
+ attr_reader score: Integer?
155
+
156
+ def score=: (Integer) -> Integer
157
+
158
+ attr_reader selftext: String?
159
+
160
+ def selftext=: (String) -> String
161
+
162
+ attr_reader source_format: XTwitterScraper::Models::RadarItem::Metadata::source_format?
163
+
164
+ def source_format=: (
165
+ XTwitterScraper::Models::RadarItem::Metadata::source_format
166
+ ) -> XTwitterScraper::Models::RadarItem::Metadata::source_format
167
+
168
+ attr_reader subreddit: String?
169
+
170
+ def subreddit=: (String) -> String
171
+
172
+ attr_reader upvote_ratio: Float?
173
+
174
+ def upvote_ratio=: (Float) -> Float
175
+
176
+ def initialize: (
177
+ ?author: String,
178
+ ?content_url: String,
179
+ ?estimated_downvotes: Integer,
180
+ ?estimated_upvotes: Integer,
181
+ ?number_comments: Integer,
182
+ ?score: Integer,
183
+ ?selftext: String,
184
+ ?source_format: XTwitterScraper::Models::RadarItem::Metadata::source_format,
185
+ ?subreddit: String,
186
+ ?upvote_ratio: Float
187
+ ) -> void
188
+
189
+ def to_hash: -> {
190
+ author: String,
191
+ content_url: String,
192
+ estimated_downvotes: Integer,
193
+ estimated_upvotes: Integer,
194
+ number_comments: Integer,
195
+ score: Integer,
196
+ selftext: String,
197
+ source_format: XTwitterScraper::Models::RadarItem::Metadata::source_format,
198
+ subreddit: String,
199
+ upvote_ratio: Float
200
+ }
201
+
202
+ type source_format = :html | :json | :rss
203
+
204
+ module SourceFormat
205
+ extend XTwitterScraper::Internal::Type::Enum
206
+
207
+ HTML: :html
208
+ JSON: :json
209
+ RSS: :rss
210
+
211
+ def self?.values: -> ::Array[XTwitterScraper::Models::RadarItem::Metadata::source_format]
212
+ end
213
+ end
214
+
119
215
  type source =
120
216
  :github
121
217
  | :google_trends
@@ -4,37 +4,7 @@
4
4
 
5
5
  module XTwitterScraper
6
6
  module Models
7
- type search_tweet =
8
- {
9
- id: String,
10
- bookmark_count: Integer,
11
- like_count: Integer,
12
- quote_count: Integer,
13
- reply_count: Integer,
14
- retweet_count: Integer,
15
- text: String,
16
- view_count: Integer,
17
- author: XTwitterScraper::UserProfile,
18
- content_disclosure: XTwitterScraper::ContentDisclosure,
19
- conversation_id: String,
20
- created_at: String,
21
- display_text_range: ::Array[Integer],
22
- entities: ::Hash[Symbol, top],
23
- in_reply_to_id: String,
24
- in_reply_to_user_id: String,
25
- in_reply_to_username: String,
26
- is_limited_reply: bool,
27
- is_note_tweet: bool,
28
- is_quote_status: bool,
29
- is_reply: bool,
30
- lang: String,
31
- media: ::Array[XTwitterScraper::TweetMedia],
32
- quoted_tweet: XTwitterScraper::EmbeddedTweet,
33
- retweeted_tweet: XTwitterScraper::EmbeddedTweet,
34
- source: String,
35
- type: String,
36
- url: String
37
- }
7
+ type search_tweet = ::Hash[Symbol, top]
38
8
 
39
9
  class SearchTweet < XTwitterScraper::Internal::Type::BaseModel
40
10
  attr_accessor id: String
@@ -53,16 +23,34 @@ module XTwitterScraper
53
23
 
54
24
  attr_accessor view_count: Integer
55
25
 
26
+ attr_reader article: XTwitterScraper::SearchTweet::Article?
27
+
28
+ def article=: (
29
+ XTwitterScraper::SearchTweet::Article | ::Hash[Symbol, top]
30
+ ) -> XTwitterScraper::SearchTweet::Article
31
+
56
32
  attr_reader author: XTwitterScraper::UserProfile?
57
33
 
58
34
  def author=: (
59
- XTwitterScraper::UserProfile
35
+ XTwitterScraper::UserProfile | ::Hash[Symbol, top]
60
36
  ) -> XTwitterScraper::UserProfile
61
37
 
38
+ attr_reader card: XTwitterScraper::SearchTweet::Card?
39
+
40
+ def card=: (
41
+ XTwitterScraper::SearchTweet::Card | ::Hash[Symbol, top]
42
+ ) -> XTwitterScraper::SearchTweet::Card
43
+
44
+ attr_reader community_note: XTwitterScraper::SearchTweet::CommunityNote?
45
+
46
+ def community_note=: (
47
+ XTwitterScraper::SearchTweet::CommunityNote | ::Hash[Symbol, top]
48
+ ) -> XTwitterScraper::SearchTweet::CommunityNote
49
+
62
50
  attr_reader content_disclosure: XTwitterScraper::ContentDisclosure?
63
51
 
64
52
  def content_disclosure=: (
65
- XTwitterScraper::ContentDisclosure
53
+ XTwitterScraper::ContentDisclosure | ::Hash[Symbol, top]
66
54
  ) -> XTwitterScraper::ContentDisclosure
67
55
 
68
56
  attr_reader conversation_id: String?
@@ -77,6 +65,12 @@ module XTwitterScraper
77
65
 
78
66
  def display_text_range=: (::Array[Integer]) -> ::Array[Integer]
79
67
 
68
+ attr_reader edit: XTwitterScraper::SearchTweet::Edit?
69
+
70
+ def edit=: (
71
+ XTwitterScraper::SearchTweet::Edit | ::Hash[Symbol, top]
72
+ ) -> XTwitterScraper::SearchTweet::Edit
73
+
80
74
  attr_reader entities: ::Hash[Symbol, top]?
81
75
 
82
76
  def entities=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top]
@@ -109,6 +103,10 @@ module XTwitterScraper
109
103
 
110
104
  def is_reply=: (bool) -> bool
111
105
 
106
+ attr_reader is_translatable: bool?
107
+
108
+ def is_translatable=: (bool) -> bool
109
+
112
110
  attr_reader lang: String?
113
111
 
114
112
  def lang=: (String) -> String
@@ -119,16 +117,38 @@ module XTwitterScraper
119
117
  ::Array[XTwitterScraper::TweetMedia]
120
118
  ) -> ::Array[XTwitterScraper::TweetMedia]
121
119
 
120
+ attr_reader note_tweet: XTwitterScraper::SearchTweet::NoteTweet?
121
+
122
+ def note_tweet=: (
123
+ XTwitterScraper::SearchTweet::NoteTweet | ::Hash[Symbol, top]
124
+ ) -> XTwitterScraper::SearchTweet::NoteTweet
125
+
126
+ attr_reader place: XTwitterScraper::SearchTweet::Place?
127
+
128
+ def place=: (
129
+ XTwitterScraper::SearchTweet::Place | ::Hash[Symbol, top]
130
+ ) -> XTwitterScraper::SearchTweet::Place
131
+
132
+ attr_reader possibly_sensitive: bool?
133
+
134
+ def possibly_sensitive=: (bool) -> bool
135
+
136
+ attr_reader previous_counts: XTwitterScraper::SearchTweet::PreviousCounts?
137
+
138
+ def previous_counts=: (
139
+ XTwitterScraper::SearchTweet::PreviousCounts | ::Hash[Symbol, top]
140
+ ) -> XTwitterScraper::SearchTweet::PreviousCounts
141
+
122
142
  attr_reader quoted_tweet: XTwitterScraper::EmbeddedTweet?
123
143
 
124
144
  def quoted_tweet=: (
125
- XTwitterScraper::EmbeddedTweet
145
+ XTwitterScraper::EmbeddedTweet | ::Hash[Symbol, top]
126
146
  ) -> XTwitterScraper::EmbeddedTweet
127
147
 
128
148
  attr_reader retweeted_tweet: XTwitterScraper::EmbeddedTweet?
129
149
 
130
150
  def retweeted_tweet=: (
131
- XTwitterScraper::EmbeddedTweet
151
+ XTwitterScraper::EmbeddedTweet | ::Hash[Symbol, top]
132
152
  ) -> XTwitterScraper::EmbeddedTweet
133
153
 
134
154
  attr_reader source: String?
@@ -143,6 +163,10 @@ module XTwitterScraper
143
163
 
144
164
  def url=: (String) -> String
145
165
 
166
+ attr_reader view_state: String?
167
+
168
+ def view_state=: (String) -> String
169
+
146
170
  def initialize: (
147
171
  id: String,
148
172
  bookmark_count: Integer,
@@ -152,11 +176,15 @@ module XTwitterScraper
152
176
  retweet_count: Integer,
153
177
  text: String,
154
178
  view_count: Integer,
155
- ?author: XTwitterScraper::UserProfile,
156
- ?content_disclosure: XTwitterScraper::ContentDisclosure,
179
+ ?article: XTwitterScraper::SearchTweet::Article | ::Hash[Symbol, top],
180
+ ?author: XTwitterScraper::UserProfile | ::Hash[Symbol, top],
181
+ ?card: XTwitterScraper::SearchTweet::Card | ::Hash[Symbol, top],
182
+ ?community_note: XTwitterScraper::SearchTweet::CommunityNote | ::Hash[Symbol, top],
183
+ ?content_disclosure: XTwitterScraper::ContentDisclosure | ::Hash[Symbol, top],
157
184
  ?conversation_id: String,
158
185
  ?created_at: String,
159
186
  ?display_text_range: ::Array[Integer],
187
+ ?edit: XTwitterScraper::SearchTweet::Edit | ::Hash[Symbol, top],
160
188
  ?entities: ::Hash[Symbol, top],
161
189
  ?in_reply_to_id: String,
162
190
  ?in_reply_to_user_id: String,
@@ -165,45 +193,280 @@ module XTwitterScraper
165
193
  ?is_note_tweet: bool,
166
194
  ?is_quote_status: bool,
167
195
  ?is_reply: bool,
196
+ ?is_translatable: bool,
168
197
  ?lang: String,
169
198
  ?media: ::Array[XTwitterScraper::TweetMedia],
170
- ?quoted_tweet: XTwitterScraper::EmbeddedTweet,
171
- ?retweeted_tweet: XTwitterScraper::EmbeddedTweet,
199
+ ?note_tweet: XTwitterScraper::SearchTweet::NoteTweet | ::Hash[Symbol, top],
200
+ ?place: XTwitterScraper::SearchTweet::Place | ::Hash[Symbol, top],
201
+ ?possibly_sensitive: bool,
202
+ ?previous_counts: XTwitterScraper::SearchTweet::PreviousCounts | ::Hash[Symbol, top],
203
+ ?quoted_tweet: XTwitterScraper::EmbeddedTweet | ::Hash[Symbol, top],
204
+ ?retweeted_tweet: XTwitterScraper::EmbeddedTweet | ::Hash[Symbol, top],
172
205
  ?source: String,
173
206
  ?type: String,
174
- ?url: String
207
+ ?url: String,
208
+ ?view_state: String
175
209
  ) -> void
176
210
 
177
- def to_hash: -> {
178
- id: String,
179
- bookmark_count: Integer,
180
- like_count: Integer,
181
- quote_count: Integer,
182
- reply_count: Integer,
183
- retweet_count: Integer,
184
- text: String,
185
- view_count: Integer,
186
- author: XTwitterScraper::UserProfile,
187
- content_disclosure: XTwitterScraper::ContentDisclosure,
188
- conversation_id: String,
189
- created_at: String,
190
- display_text_range: ::Array[Integer],
191
- entities: ::Hash[Symbol, top],
192
- in_reply_to_id: String,
193
- in_reply_to_user_id: String,
194
- in_reply_to_username: String,
195
- is_limited_reply: bool,
196
- is_note_tweet: bool,
197
- is_quote_status: bool,
198
- is_reply: bool,
199
- lang: String,
200
- media: ::Array[XTwitterScraper::TweetMedia],
201
- quoted_tweet: XTwitterScraper::EmbeddedTweet,
202
- retweeted_tweet: XTwitterScraper::EmbeddedTweet,
203
- source: String,
204
- type: String,
205
- url: String
206
- }
211
+ def to_hash: -> ::Hash[Symbol, top]
212
+
213
+ type article = ::Hash[Symbol, top]
214
+
215
+ class Article < XTwitterScraper::Internal::Type::BaseModel
216
+ attr_reader id: String?
217
+
218
+ def id=: (String) -> String
219
+
220
+ attr_reader cover_media_url: String?
221
+
222
+ def cover_media_url=: (String) -> String
223
+
224
+ attr_reader preview_text: String?
225
+
226
+ def preview_text=: (String) -> String
227
+
228
+ attr_reader title: String?
229
+
230
+ def title=: (String) -> String
231
+
232
+ def initialize: (
233
+ ?id: String,
234
+ ?cover_media_url: String,
235
+ ?preview_text: String,
236
+ ?title: String
237
+ ) -> void
238
+
239
+ def to_hash: -> ::Hash[Symbol, top]
240
+ end
241
+
242
+ type card = ::Hash[Symbol, top]
243
+
244
+ class Card < XTwitterScraper::Internal::Type::BaseModel
245
+ attr_reader id: String?
246
+
247
+ def id=: (String) -> String
248
+
249
+ attr_reader binding_values: ::Hash[Symbol, top]?
250
+
251
+ def binding_values=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top]
252
+
253
+ attr_reader name: String?
254
+
255
+ def name=: (String) -> String
256
+
257
+ attr_reader url: String?
258
+
259
+ def url=: (String) -> String
260
+
261
+ def initialize: (
262
+ ?id: String,
263
+ ?binding_values: ::Hash[Symbol, top],
264
+ ?name: String,
265
+ ?url: String
266
+ ) -> void
267
+
268
+ def to_hash: -> ::Hash[Symbol, top]
269
+ end
270
+
271
+ type community_note = ::Hash[Symbol, top]
272
+
273
+ class CommunityNote < XTwitterScraper::Internal::Type::BaseModel
274
+ attr_reader id: String?
275
+
276
+ def id=: (String) -> String
277
+
278
+ attr_reader destination_url: String?
279
+
280
+ def destination_url=: (String) -> String
281
+
282
+ attr_reader footer: String?
283
+
284
+ def footer=: (String) -> String
285
+
286
+ attr_reader short_title: String?
287
+
288
+ def short_title=: (String) -> String
289
+
290
+ attr_reader subtitle: String?
291
+
292
+ def subtitle=: (String) -> String
293
+
294
+ attr_reader title: String?
295
+
296
+ def title=: (String) -> String
297
+
298
+ attr_reader visual_style: String?
299
+
300
+ def visual_style=: (String) -> String
301
+
302
+ def initialize: (
303
+ ?id: String,
304
+ ?destination_url: String,
305
+ ?footer: String,
306
+ ?short_title: String,
307
+ ?subtitle: String,
308
+ ?title: String,
309
+ ?visual_style: String
310
+ ) -> void
311
+
312
+ def to_hash: -> ::Hash[Symbol, top]
313
+ end
314
+
315
+ type edit =
316
+ { editable_until_msecs: String, edit_tweet_ids: ::Array[String] }
317
+
318
+ class Edit < XTwitterScraper::Internal::Type::BaseModel
319
+ attr_reader editable_until_msecs: String?
320
+
321
+ def editable_until_msecs=: (String) -> String
322
+
323
+ attr_reader edit_tweet_ids: ::Array[String]?
324
+
325
+ def edit_tweet_ids=: (::Array[String]) -> ::Array[String]
326
+
327
+ def initialize: (
328
+ ?editable_until_msecs: String,
329
+ ?edit_tweet_ids: ::Array[String]
330
+ ) -> void
331
+
332
+ def to_hash: -> ::Hash[Symbol, top]
333
+ end
334
+
335
+ type note_tweet = ::Hash[Symbol, top]
336
+
337
+ class NoteTweet < XTwitterScraper::Internal::Type::BaseModel
338
+ attr_accessor text: String
339
+
340
+ attr_reader id: String?
341
+
342
+ def id=: (String) -> String
343
+
344
+ attr_reader entities: ::Hash[Symbol, top]?
345
+
346
+ def entities=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top]
347
+
348
+ attr_reader is_expandable: bool?
349
+
350
+ def is_expandable=: (bool) -> bool
351
+
352
+ attr_reader richtext_tags: ::Array[XTwitterScraper::SearchTweet::NoteTweet::RichtextTag]?
353
+
354
+ def richtext_tags=: (
355
+ ::Array[XTwitterScraper::SearchTweet::NoteTweet::RichtextTag]
356
+ ) -> ::Array[XTwitterScraper::SearchTweet::NoteTweet::RichtextTag]
357
+
358
+ def initialize: (
359
+ text: String,
360
+ ?id: String,
361
+ ?entities: ::Hash[Symbol, top],
362
+ ?is_expandable: bool,
363
+ ?richtext_tags: ::Array[XTwitterScraper::SearchTweet::NoteTweet::RichtextTag]
364
+ ) -> void
365
+
366
+ def to_hash: -> ::Hash[Symbol, top]
367
+
368
+ type richtext_tag =
369
+ { from_index: Integer, to_index: Integer, types: ::Array[String] }
370
+
371
+ class RichtextTag < XTwitterScraper::Internal::Type::BaseModel
372
+ attr_accessor from_index: Integer
373
+
374
+ attr_accessor to_index: Integer
375
+
376
+ attr_accessor types: ::Array[String]
377
+
378
+ def initialize: (
379
+ from_index: Integer,
380
+ to_index: Integer,
381
+ types: ::Array[String]
382
+ ) -> void
383
+
384
+ def to_hash: -> ::Hash[Symbol, top]
385
+ end
386
+ end
387
+
388
+ type place = ::Hash[Symbol, top]
389
+
390
+ class Place < XTwitterScraper::Internal::Type::BaseModel
391
+ attr_reader id: String?
392
+
393
+ def id=: (String) -> String
394
+
395
+ attr_reader bounding_box: ::Hash[Symbol, top]?
396
+
397
+ def bounding_box=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top]
398
+
399
+ attr_reader country: String?
400
+
401
+ def country=: (String) -> String
402
+
403
+ attr_reader country_code: String?
404
+
405
+ def country_code=: (String) -> String
406
+
407
+ attr_reader full_name: String?
408
+
409
+ def full_name=: (String) -> String
410
+
411
+ attr_reader name: String?
412
+
413
+ def name=: (String) -> String
414
+
415
+ attr_reader place_type: String?
416
+
417
+ def place_type=: (String) -> String
418
+
419
+ attr_reader url: String?
420
+
421
+ def url=: (String) -> String
422
+
423
+ def initialize: (
424
+ ?id: String,
425
+ ?bounding_box: ::Hash[Symbol, top],
426
+ ?country: String,
427
+ ?country_code: String,
428
+ ?full_name: String,
429
+ ?name: String,
430
+ ?place_type: String,
431
+ ?url: String
432
+ ) -> void
433
+
434
+ def to_hash: -> ::Hash[Symbol, top]
435
+ end
436
+
437
+ type previous_counts = ::Hash[Symbol, top]
438
+
439
+ class PreviousCounts < XTwitterScraper::Internal::Type::BaseModel
440
+ attr_reader bookmark_count: Integer?
441
+
442
+ def bookmark_count=: (Integer) -> Integer
443
+
444
+ attr_reader like_count: Integer?
445
+
446
+ def like_count=: (Integer) -> Integer
447
+
448
+ attr_reader quote_count: Integer?
449
+
450
+ def quote_count=: (Integer) -> Integer
451
+
452
+ attr_reader reply_count: Integer?
453
+
454
+ def reply_count=: (Integer) -> Integer
455
+
456
+ attr_reader retweet_count: Integer?
457
+
458
+ def retweet_count=: (Integer) -> Integer
459
+
460
+ def initialize: (
461
+ ?bookmark_count: Integer,
462
+ ?like_count: Integer,
463
+ ?quote_count: Integer,
464
+ ?reply_count: Integer,
465
+ ?retweet_count: Integer
466
+ ) -> void
467
+
468
+ def to_hash: -> ::Hash[Symbol, top]
469
+ end
207
470
  end
208
471
  end
209
472
  end