x-twitter-scraper 0.9.0 → 0.10.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 +16 -0
- data/README.md +1 -1
- data/lib/x_twitter_scraper/models/error.rb +12 -0
- data/lib/x_twitter_scraper/models/x/tweet_get_quotes_params.rb +2 -2
- data/lib/x_twitter_scraper/models/x/tweet_get_replies_params.rb +2 -2
- data/lib/x_twitter_scraper/models/x/tweet_get_thread_params.rb +309 -1
- data/lib/x_twitter_scraper/models/x/tweet_search_params.rb +2 -2
- data/lib/x_twitter_scraper/models/x/user_retrieve_likes_params.rb +2 -2
- data/lib/x_twitter_scraper/models/x/user_retrieve_media_params.rb +2 -2
- data/lib/x_twitter_scraper/models/x/user_retrieve_mentions_params.rb +2 -2
- data/lib/x_twitter_scraper/models/x/user_retrieve_replies_params.rb +2 -2
- data/lib/x_twitter_scraper/models/x/user_retrieve_tweets_params.rb +2 -2
- data/lib/x_twitter_scraper/resources/guest_wallets.rb +1 -1
- data/lib/x_twitter_scraper/resources/x/tweets.rb +98 -6
- data/lib/x_twitter_scraper/resources/x/users.rb +5 -5
- data/lib/x_twitter_scraper/version.rb +1 -1
- data/rbi/x_twitter_scraper/models/error.rbi +60 -0
- data/rbi/x_twitter_scraper/models/x/tweet_get_quotes_params.rbi +2 -2
- data/rbi/x_twitter_scraper/models/x/tweet_get_replies_params.rbi +2 -2
- data/rbi/x_twitter_scraper/models/x/tweet_get_thread_params.rbi +566 -0
- data/rbi/x_twitter_scraper/models/x/tweet_search_params.rbi +2 -2
- data/rbi/x_twitter_scraper/models/x/user_retrieve_likes_params.rbi +2 -2
- data/rbi/x_twitter_scraper/models/x/user_retrieve_media_params.rbi +2 -2
- data/rbi/x_twitter_scraper/models/x/user_retrieve_mentions_params.rbi +2 -2
- data/rbi/x_twitter_scraper/models/x/user_retrieve_replies_params.rbi +2 -2
- data/rbi/x_twitter_scraper/models/x/user_retrieve_tweets_params.rbi +2 -2
- data/rbi/x_twitter_scraper/resources/guest_wallets.rbi +1 -1
- data/rbi/x_twitter_scraper/resources/x/tweets.rbi +106 -4
- data/rbi/x_twitter_scraper/resources/x/users.rbi +5 -5
- data/sig/x_twitter_scraper/models/error.rbs +24 -0
- data/sig/x_twitter_scraper/models/x/tweet_get_thread_params.rbs +288 -1
- data/sig/x_twitter_scraper/resources/x/tweets.rbs +32 -0
- metadata +1 -1
|
@@ -22,6 +22,35 @@ module XTwitterScraper
|
|
|
22
22
|
sig { returns(String) }
|
|
23
23
|
attr_accessor :id
|
|
24
24
|
|
|
25
|
+
# Words or quoted phrases where any one can match. Separate with spaces, commas,
|
|
26
|
+
# or lines.
|
|
27
|
+
sig { returns(T.nilable(String)) }
|
|
28
|
+
attr_reader :any_words
|
|
29
|
+
|
|
30
|
+
sig { params(any_words: String).void }
|
|
31
|
+
attr_writer :any_words
|
|
32
|
+
|
|
33
|
+
# Only return tweets from Blue-verified authors.
|
|
34
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
35
|
+
attr_reader :blue_verified_only
|
|
36
|
+
|
|
37
|
+
sig { params(blue_verified_only: T::Boolean).void }
|
|
38
|
+
attr_writer :blue_verified_only
|
|
39
|
+
|
|
40
|
+
# Cashtags separated by spaces, commas, or lines.
|
|
41
|
+
sig { returns(T.nilable(String)) }
|
|
42
|
+
attr_reader :cashtags
|
|
43
|
+
|
|
44
|
+
sig { params(cashtags: String).void }
|
|
45
|
+
attr_writer :cashtags
|
|
46
|
+
|
|
47
|
+
# Conversation ID filter.
|
|
48
|
+
sig { returns(T.nilable(String)) }
|
|
49
|
+
attr_reader :conversation_id
|
|
50
|
+
|
|
51
|
+
sig { params(conversation_id: String).void }
|
|
52
|
+
attr_writer :conversation_id
|
|
53
|
+
|
|
25
54
|
# Pagination cursor for thread tweets
|
|
26
55
|
sig { returns(T.nilable(String)) }
|
|
27
56
|
attr_reader :cursor
|
|
@@ -29,6 +58,143 @@ module XTwitterScraper
|
|
|
29
58
|
sig { params(cursor: String).void }
|
|
30
59
|
attr_writer :cursor
|
|
31
60
|
|
|
61
|
+
# Exact phrase to match.
|
|
62
|
+
sig { returns(T.nilable(String)) }
|
|
63
|
+
attr_reader :exact_phrase
|
|
64
|
+
|
|
65
|
+
sig { params(exact_phrase: String).void }
|
|
66
|
+
attr_writer :exact_phrase
|
|
67
|
+
|
|
68
|
+
# Words or quoted phrases to exclude. Separate with spaces, commas, or lines.
|
|
69
|
+
sig { returns(T.nilable(String)) }
|
|
70
|
+
attr_reader :exclude_words
|
|
71
|
+
|
|
72
|
+
sig { params(exclude_words: String).void }
|
|
73
|
+
attr_writer :exclude_words
|
|
74
|
+
|
|
75
|
+
# Filter by author username.
|
|
76
|
+
sig { returns(T.nilable(String)) }
|
|
77
|
+
attr_reader :from_user
|
|
78
|
+
|
|
79
|
+
sig { params(from_user: String).void }
|
|
80
|
+
attr_writer :from_user
|
|
81
|
+
|
|
82
|
+
# Hashtags separated by spaces, commas, or lines.
|
|
83
|
+
sig { returns(T.nilable(String)) }
|
|
84
|
+
attr_reader :hashtags
|
|
85
|
+
|
|
86
|
+
sig { params(hashtags: String).void }
|
|
87
|
+
attr_writer :hashtags
|
|
88
|
+
|
|
89
|
+
# Only replies to this tweet ID.
|
|
90
|
+
sig { returns(T.nilable(String)) }
|
|
91
|
+
attr_reader :in_reply_to_tweet_id
|
|
92
|
+
|
|
93
|
+
sig { params(in_reply_to_tweet_id: String).void }
|
|
94
|
+
attr_writer :in_reply_to_tweet_id
|
|
95
|
+
|
|
96
|
+
# Language code filter, e.g. en or tr.
|
|
97
|
+
sig { returns(T.nilable(String)) }
|
|
98
|
+
attr_reader :language
|
|
99
|
+
|
|
100
|
+
sig { params(language: String).void }
|
|
101
|
+
attr_writer :language
|
|
102
|
+
|
|
103
|
+
# Maximum likes threshold. maxLikes is also accepted.
|
|
104
|
+
sig { returns(T.nilable(Integer)) }
|
|
105
|
+
attr_reader :max_faves
|
|
106
|
+
|
|
107
|
+
sig { params(max_faves: Integer).void }
|
|
108
|
+
attr_writer :max_faves
|
|
109
|
+
|
|
110
|
+
# Maximum quotes threshold.
|
|
111
|
+
sig { returns(T.nilable(Integer)) }
|
|
112
|
+
attr_reader :max_quotes
|
|
113
|
+
|
|
114
|
+
sig { params(max_quotes: Integer).void }
|
|
115
|
+
attr_writer :max_quotes
|
|
116
|
+
|
|
117
|
+
# Maximum replies threshold.
|
|
118
|
+
sig { returns(T.nilable(Integer)) }
|
|
119
|
+
attr_reader :max_replies
|
|
120
|
+
|
|
121
|
+
sig { params(max_replies: Integer).void }
|
|
122
|
+
attr_writer :max_replies
|
|
123
|
+
|
|
124
|
+
# Maximum retweets threshold.
|
|
125
|
+
sig { returns(T.nilable(Integer)) }
|
|
126
|
+
attr_reader :max_retweets
|
|
127
|
+
|
|
128
|
+
sig { params(max_retweets: Integer).void }
|
|
129
|
+
attr_writer :max_retweets
|
|
130
|
+
|
|
131
|
+
# Filter by media type.
|
|
132
|
+
sig do
|
|
133
|
+
returns(
|
|
134
|
+
T.nilable(
|
|
135
|
+
XTwitterScraper::X::TweetGetThreadParams::MediaType::OrSymbol
|
|
136
|
+
)
|
|
137
|
+
)
|
|
138
|
+
end
|
|
139
|
+
attr_reader :media_type
|
|
140
|
+
|
|
141
|
+
sig do
|
|
142
|
+
params(
|
|
143
|
+
media_type:
|
|
144
|
+
XTwitterScraper::X::TweetGetThreadParams::MediaType::OrSymbol
|
|
145
|
+
).void
|
|
146
|
+
end
|
|
147
|
+
attr_writer :media_type
|
|
148
|
+
|
|
149
|
+
# Filter tweets mentioning a username.
|
|
150
|
+
sig { returns(T.nilable(String)) }
|
|
151
|
+
attr_reader :mentioning
|
|
152
|
+
|
|
153
|
+
sig { params(mentioning: String).void }
|
|
154
|
+
attr_writer :mentioning
|
|
155
|
+
|
|
156
|
+
# Minimum bookmark count threshold.
|
|
157
|
+
sig { returns(T.nilable(Integer)) }
|
|
158
|
+
attr_reader :min_bookmarks
|
|
159
|
+
|
|
160
|
+
sig { params(min_bookmarks: Integer).void }
|
|
161
|
+
attr_writer :min_bookmarks
|
|
162
|
+
|
|
163
|
+
# Minimum likes threshold. minLikes is also accepted.
|
|
164
|
+
sig { returns(T.nilable(Integer)) }
|
|
165
|
+
attr_reader :min_faves
|
|
166
|
+
|
|
167
|
+
sig { params(min_faves: Integer).void }
|
|
168
|
+
attr_writer :min_faves
|
|
169
|
+
|
|
170
|
+
# Minimum quote count threshold.
|
|
171
|
+
sig { returns(T.nilable(Integer)) }
|
|
172
|
+
attr_reader :min_quotes
|
|
173
|
+
|
|
174
|
+
sig { params(min_quotes: Integer).void }
|
|
175
|
+
attr_writer :min_quotes
|
|
176
|
+
|
|
177
|
+
# Minimum replies threshold.
|
|
178
|
+
sig { returns(T.nilable(Integer)) }
|
|
179
|
+
attr_reader :min_replies
|
|
180
|
+
|
|
181
|
+
sig { params(min_replies: Integer).void }
|
|
182
|
+
attr_writer :min_replies
|
|
183
|
+
|
|
184
|
+
# Minimum retweets threshold.
|
|
185
|
+
sig { returns(T.nilable(Integer)) }
|
|
186
|
+
attr_reader :min_retweets
|
|
187
|
+
|
|
188
|
+
sig { params(min_retweets: Integer).void }
|
|
189
|
+
attr_writer :min_retweets
|
|
190
|
+
|
|
191
|
+
# Minimum view count threshold.
|
|
192
|
+
sig { returns(T.nilable(Integer)) }
|
|
193
|
+
attr_reader :min_views
|
|
194
|
+
|
|
195
|
+
sig { params(min_views: Integer).void }
|
|
196
|
+
attr_writer :min_views
|
|
197
|
+
|
|
32
198
|
# Maximum page items (1-100, default 20). Source, filters, or credits can reduce
|
|
33
199
|
# results. Continue while has_next_page is true. Deprecated limit and count
|
|
34
200
|
# aliases remain accepted.
|
|
@@ -38,22 +204,223 @@ module XTwitterScraper
|
|
|
38
204
|
sig { params(page_size: Integer).void }
|
|
39
205
|
attr_writer :page_size
|
|
40
206
|
|
|
207
|
+
# Quote mode.
|
|
208
|
+
sig do
|
|
209
|
+
returns(
|
|
210
|
+
T.nilable(
|
|
211
|
+
XTwitterScraper::X::TweetGetThreadParams::Quotes::OrSymbol
|
|
212
|
+
)
|
|
213
|
+
)
|
|
214
|
+
end
|
|
215
|
+
attr_reader :quotes
|
|
216
|
+
|
|
217
|
+
sig do
|
|
218
|
+
params(
|
|
219
|
+
quotes: XTwitterScraper::X::TweetGetThreadParams::Quotes::OrSymbol
|
|
220
|
+
).void
|
|
221
|
+
end
|
|
222
|
+
attr_writer :quotes
|
|
223
|
+
|
|
224
|
+
# Only quotes of this tweet ID.
|
|
225
|
+
sig { returns(T.nilable(String)) }
|
|
226
|
+
attr_reader :quotes_of_tweet_id
|
|
227
|
+
|
|
228
|
+
sig { params(quotes_of_tweet_id: String).void }
|
|
229
|
+
attr_writer :quotes_of_tweet_id
|
|
230
|
+
|
|
231
|
+
# Reply mode.
|
|
232
|
+
sig do
|
|
233
|
+
returns(
|
|
234
|
+
T.nilable(
|
|
235
|
+
XTwitterScraper::X::TweetGetThreadParams::Replies::OrSymbol
|
|
236
|
+
)
|
|
237
|
+
)
|
|
238
|
+
end
|
|
239
|
+
attr_reader :replies
|
|
240
|
+
|
|
241
|
+
sig do
|
|
242
|
+
params(
|
|
243
|
+
replies: XTwitterScraper::X::TweetGetThreadParams::Replies::OrSymbol
|
|
244
|
+
).void
|
|
245
|
+
end
|
|
246
|
+
attr_writer :replies
|
|
247
|
+
|
|
248
|
+
# Retweet mode.
|
|
249
|
+
sig do
|
|
250
|
+
returns(
|
|
251
|
+
T.nilable(
|
|
252
|
+
XTwitterScraper::X::TweetGetThreadParams::Retweets::OrSymbol
|
|
253
|
+
)
|
|
254
|
+
)
|
|
255
|
+
end
|
|
256
|
+
attr_reader :retweets
|
|
257
|
+
|
|
258
|
+
sig do
|
|
259
|
+
params(
|
|
260
|
+
retweets:
|
|
261
|
+
XTwitterScraper::X::TweetGetThreadParams::Retweets::OrSymbol
|
|
262
|
+
).void
|
|
263
|
+
end
|
|
264
|
+
attr_writer :retweets
|
|
265
|
+
|
|
266
|
+
# Only retweets of this tweet ID.
|
|
267
|
+
sig { returns(T.nilable(String)) }
|
|
268
|
+
attr_reader :retweets_of_tweet_id
|
|
269
|
+
|
|
270
|
+
sig { params(retweets_of_tweet_id: String).void }
|
|
271
|
+
attr_writer :retweets_of_tweet_id
|
|
272
|
+
|
|
273
|
+
# Start date in YYYY-MM-DD format.
|
|
274
|
+
sig { returns(T.nilable(Date)) }
|
|
275
|
+
attr_reader :since_date
|
|
276
|
+
|
|
277
|
+
sig { params(since_date: Date).void }
|
|
278
|
+
attr_writer :since_date
|
|
279
|
+
|
|
280
|
+
# Filter replies sent to a username.
|
|
281
|
+
sig { returns(T.nilable(String)) }
|
|
282
|
+
attr_reader :to_user
|
|
283
|
+
|
|
284
|
+
sig { params(to_user: String).void }
|
|
285
|
+
attr_writer :to_user
|
|
286
|
+
|
|
287
|
+
# End date in YYYY-MM-DD format.
|
|
288
|
+
sig { returns(T.nilable(Date)) }
|
|
289
|
+
attr_reader :until_date
|
|
290
|
+
|
|
291
|
+
sig { params(until_date: Date).void }
|
|
292
|
+
attr_writer :until_date
|
|
293
|
+
|
|
294
|
+
# URL substring or domain filter.
|
|
295
|
+
sig { returns(T.nilable(String)) }
|
|
296
|
+
attr_reader :url
|
|
297
|
+
|
|
298
|
+
sig { params(url: String).void }
|
|
299
|
+
attr_writer :url
|
|
300
|
+
|
|
301
|
+
# Only return tweets from verified authors.
|
|
302
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
303
|
+
attr_reader :verified_only
|
|
304
|
+
|
|
305
|
+
sig { params(verified_only: T::Boolean).void }
|
|
306
|
+
attr_writer :verified_only
|
|
307
|
+
|
|
41
308
|
sig do
|
|
42
309
|
params(
|
|
43
310
|
id: String,
|
|
311
|
+
any_words: String,
|
|
312
|
+
blue_verified_only: T::Boolean,
|
|
313
|
+
cashtags: String,
|
|
314
|
+
conversation_id: String,
|
|
44
315
|
cursor: String,
|
|
316
|
+
exact_phrase: String,
|
|
317
|
+
exclude_words: String,
|
|
318
|
+
from_user: String,
|
|
319
|
+
hashtags: String,
|
|
320
|
+
in_reply_to_tweet_id: String,
|
|
321
|
+
language: String,
|
|
322
|
+
max_faves: Integer,
|
|
323
|
+
max_quotes: Integer,
|
|
324
|
+
max_replies: Integer,
|
|
325
|
+
max_retweets: Integer,
|
|
326
|
+
media_type:
|
|
327
|
+
XTwitterScraper::X::TweetGetThreadParams::MediaType::OrSymbol,
|
|
328
|
+
mentioning: String,
|
|
329
|
+
min_bookmarks: Integer,
|
|
330
|
+
min_faves: Integer,
|
|
331
|
+
min_quotes: Integer,
|
|
332
|
+
min_replies: Integer,
|
|
333
|
+
min_retweets: Integer,
|
|
334
|
+
min_views: Integer,
|
|
45
335
|
page_size: Integer,
|
|
336
|
+
quotes: XTwitterScraper::X::TweetGetThreadParams::Quotes::OrSymbol,
|
|
337
|
+
quotes_of_tweet_id: String,
|
|
338
|
+
replies:
|
|
339
|
+
XTwitterScraper::X::TweetGetThreadParams::Replies::OrSymbol,
|
|
340
|
+
retweets:
|
|
341
|
+
XTwitterScraper::X::TweetGetThreadParams::Retweets::OrSymbol,
|
|
342
|
+
retweets_of_tweet_id: String,
|
|
343
|
+
since_date: Date,
|
|
344
|
+
to_user: String,
|
|
345
|
+
until_date: Date,
|
|
346
|
+
url: String,
|
|
347
|
+
verified_only: T::Boolean,
|
|
46
348
|
request_options: XTwitterScraper::RequestOptions::OrHash
|
|
47
349
|
).returns(T.attached_class)
|
|
48
350
|
end
|
|
49
351
|
def self.new(
|
|
50
352
|
id:,
|
|
353
|
+
# Words or quoted phrases where any one can match. Separate with spaces, commas,
|
|
354
|
+
# or lines.
|
|
355
|
+
any_words: nil,
|
|
356
|
+
# Only return tweets from Blue-verified authors.
|
|
357
|
+
blue_verified_only: nil,
|
|
358
|
+
# Cashtags separated by spaces, commas, or lines.
|
|
359
|
+
cashtags: nil,
|
|
360
|
+
# Conversation ID filter.
|
|
361
|
+
conversation_id: nil,
|
|
51
362
|
# Pagination cursor for thread tweets
|
|
52
363
|
cursor: nil,
|
|
364
|
+
# Exact phrase to match.
|
|
365
|
+
exact_phrase: nil,
|
|
366
|
+
# Words or quoted phrases to exclude. Separate with spaces, commas, or lines.
|
|
367
|
+
exclude_words: nil,
|
|
368
|
+
# Filter by author username.
|
|
369
|
+
from_user: nil,
|
|
370
|
+
# Hashtags separated by spaces, commas, or lines.
|
|
371
|
+
hashtags: nil,
|
|
372
|
+
# Only replies to this tweet ID.
|
|
373
|
+
in_reply_to_tweet_id: nil,
|
|
374
|
+
# Language code filter, e.g. en or tr.
|
|
375
|
+
language: nil,
|
|
376
|
+
# Maximum likes threshold. maxLikes is also accepted.
|
|
377
|
+
max_faves: nil,
|
|
378
|
+
# Maximum quotes threshold.
|
|
379
|
+
max_quotes: nil,
|
|
380
|
+
# Maximum replies threshold.
|
|
381
|
+
max_replies: nil,
|
|
382
|
+
# Maximum retweets threshold.
|
|
383
|
+
max_retweets: nil,
|
|
384
|
+
# Filter by media type.
|
|
385
|
+
media_type: nil,
|
|
386
|
+
# Filter tweets mentioning a username.
|
|
387
|
+
mentioning: nil,
|
|
388
|
+
# Minimum bookmark count threshold.
|
|
389
|
+
min_bookmarks: nil,
|
|
390
|
+
# Minimum likes threshold. minLikes is also accepted.
|
|
391
|
+
min_faves: nil,
|
|
392
|
+
# Minimum quote count threshold.
|
|
393
|
+
min_quotes: nil,
|
|
394
|
+
# Minimum replies threshold.
|
|
395
|
+
min_replies: nil,
|
|
396
|
+
# Minimum retweets threshold.
|
|
397
|
+
min_retweets: nil,
|
|
398
|
+
# Minimum view count threshold.
|
|
399
|
+
min_views: nil,
|
|
53
400
|
# Maximum page items (1-100, default 20). Source, filters, or credits can reduce
|
|
54
401
|
# results. Continue while has_next_page is true. Deprecated limit and count
|
|
55
402
|
# aliases remain accepted.
|
|
56
403
|
page_size: nil,
|
|
404
|
+
# Quote mode.
|
|
405
|
+
quotes: nil,
|
|
406
|
+
# Only quotes of this tweet ID.
|
|
407
|
+
quotes_of_tweet_id: nil,
|
|
408
|
+
# Reply mode.
|
|
409
|
+
replies: nil,
|
|
410
|
+
# Retweet mode.
|
|
411
|
+
retweets: nil,
|
|
412
|
+
# Only retweets of this tweet ID.
|
|
413
|
+
retweets_of_tweet_id: nil,
|
|
414
|
+
# Start date in YYYY-MM-DD format.
|
|
415
|
+
since_date: nil,
|
|
416
|
+
# Filter replies sent to a username.
|
|
417
|
+
to_user: nil,
|
|
418
|
+
# End date in YYYY-MM-DD format.
|
|
419
|
+
until_date: nil,
|
|
420
|
+
# URL substring or domain filter.
|
|
421
|
+
url: nil,
|
|
422
|
+
# Only return tweets from verified authors.
|
|
423
|
+
verified_only: nil,
|
|
57
424
|
request_options: {}
|
|
58
425
|
)
|
|
59
426
|
end
|
|
@@ -62,14 +429,213 @@ module XTwitterScraper
|
|
|
62
429
|
override.returns(
|
|
63
430
|
{
|
|
64
431
|
id: String,
|
|
432
|
+
any_words: String,
|
|
433
|
+
blue_verified_only: T::Boolean,
|
|
434
|
+
cashtags: String,
|
|
435
|
+
conversation_id: String,
|
|
65
436
|
cursor: String,
|
|
437
|
+
exact_phrase: String,
|
|
438
|
+
exclude_words: String,
|
|
439
|
+
from_user: String,
|
|
440
|
+
hashtags: String,
|
|
441
|
+
in_reply_to_tweet_id: String,
|
|
442
|
+
language: String,
|
|
443
|
+
max_faves: Integer,
|
|
444
|
+
max_quotes: Integer,
|
|
445
|
+
max_replies: Integer,
|
|
446
|
+
max_retweets: Integer,
|
|
447
|
+
media_type:
|
|
448
|
+
XTwitterScraper::X::TweetGetThreadParams::MediaType::OrSymbol,
|
|
449
|
+
mentioning: String,
|
|
450
|
+
min_bookmarks: Integer,
|
|
451
|
+
min_faves: Integer,
|
|
452
|
+
min_quotes: Integer,
|
|
453
|
+
min_replies: Integer,
|
|
454
|
+
min_retweets: Integer,
|
|
455
|
+
min_views: Integer,
|
|
66
456
|
page_size: Integer,
|
|
457
|
+
quotes:
|
|
458
|
+
XTwitterScraper::X::TweetGetThreadParams::Quotes::OrSymbol,
|
|
459
|
+
quotes_of_tweet_id: String,
|
|
460
|
+
replies:
|
|
461
|
+
XTwitterScraper::X::TweetGetThreadParams::Replies::OrSymbol,
|
|
462
|
+
retweets:
|
|
463
|
+
XTwitterScraper::X::TweetGetThreadParams::Retweets::OrSymbol,
|
|
464
|
+
retweets_of_tweet_id: String,
|
|
465
|
+
since_date: Date,
|
|
466
|
+
to_user: String,
|
|
467
|
+
until_date: Date,
|
|
468
|
+
url: String,
|
|
469
|
+
verified_only: T::Boolean,
|
|
67
470
|
request_options: XTwitterScraper::RequestOptions
|
|
68
471
|
}
|
|
69
472
|
)
|
|
70
473
|
end
|
|
71
474
|
def to_hash
|
|
72
475
|
end
|
|
476
|
+
|
|
477
|
+
# Filter by media type.
|
|
478
|
+
module MediaType
|
|
479
|
+
extend XTwitterScraper::Internal::Type::Enum
|
|
480
|
+
|
|
481
|
+
TaggedSymbol =
|
|
482
|
+
T.type_alias do
|
|
483
|
+
T.all(Symbol, XTwitterScraper::X::TweetGetThreadParams::MediaType)
|
|
484
|
+
end
|
|
485
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
486
|
+
|
|
487
|
+
IMAGES =
|
|
488
|
+
T.let(
|
|
489
|
+
:images,
|
|
490
|
+
XTwitterScraper::X::TweetGetThreadParams::MediaType::TaggedSymbol
|
|
491
|
+
)
|
|
492
|
+
VIDEOS =
|
|
493
|
+
T.let(
|
|
494
|
+
:videos,
|
|
495
|
+
XTwitterScraper::X::TweetGetThreadParams::MediaType::TaggedSymbol
|
|
496
|
+
)
|
|
497
|
+
GIFS =
|
|
498
|
+
T.let(
|
|
499
|
+
:gifs,
|
|
500
|
+
XTwitterScraper::X::TweetGetThreadParams::MediaType::TaggedSymbol
|
|
501
|
+
)
|
|
502
|
+
MEDIA =
|
|
503
|
+
T.let(
|
|
504
|
+
:media,
|
|
505
|
+
XTwitterScraper::X::TweetGetThreadParams::MediaType::TaggedSymbol
|
|
506
|
+
)
|
|
507
|
+
LINKS =
|
|
508
|
+
T.let(
|
|
509
|
+
:links,
|
|
510
|
+
XTwitterScraper::X::TweetGetThreadParams::MediaType::TaggedSymbol
|
|
511
|
+
)
|
|
512
|
+
NONE =
|
|
513
|
+
T.let(
|
|
514
|
+
:none,
|
|
515
|
+
XTwitterScraper::X::TweetGetThreadParams::MediaType::TaggedSymbol
|
|
516
|
+
)
|
|
517
|
+
|
|
518
|
+
sig do
|
|
519
|
+
override.returns(
|
|
520
|
+
T::Array[
|
|
521
|
+
XTwitterScraper::X::TweetGetThreadParams::MediaType::TaggedSymbol
|
|
522
|
+
]
|
|
523
|
+
)
|
|
524
|
+
end
|
|
525
|
+
def self.values
|
|
526
|
+
end
|
|
527
|
+
end
|
|
528
|
+
|
|
529
|
+
# Quote mode.
|
|
530
|
+
module Quotes
|
|
531
|
+
extend XTwitterScraper::Internal::Type::Enum
|
|
532
|
+
|
|
533
|
+
TaggedSymbol =
|
|
534
|
+
T.type_alias do
|
|
535
|
+
T.all(Symbol, XTwitterScraper::X::TweetGetThreadParams::Quotes)
|
|
536
|
+
end
|
|
537
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
538
|
+
|
|
539
|
+
INCLUDE =
|
|
540
|
+
T.let(
|
|
541
|
+
:include,
|
|
542
|
+
XTwitterScraper::X::TweetGetThreadParams::Quotes::TaggedSymbol
|
|
543
|
+
)
|
|
544
|
+
EXCLUDE =
|
|
545
|
+
T.let(
|
|
546
|
+
:exclude,
|
|
547
|
+
XTwitterScraper::X::TweetGetThreadParams::Quotes::TaggedSymbol
|
|
548
|
+
)
|
|
549
|
+
ONLY =
|
|
550
|
+
T.let(
|
|
551
|
+
:only,
|
|
552
|
+
XTwitterScraper::X::TweetGetThreadParams::Quotes::TaggedSymbol
|
|
553
|
+
)
|
|
554
|
+
|
|
555
|
+
sig do
|
|
556
|
+
override.returns(
|
|
557
|
+
T::Array[
|
|
558
|
+
XTwitterScraper::X::TweetGetThreadParams::Quotes::TaggedSymbol
|
|
559
|
+
]
|
|
560
|
+
)
|
|
561
|
+
end
|
|
562
|
+
def self.values
|
|
563
|
+
end
|
|
564
|
+
end
|
|
565
|
+
|
|
566
|
+
# Reply mode.
|
|
567
|
+
module Replies
|
|
568
|
+
extend XTwitterScraper::Internal::Type::Enum
|
|
569
|
+
|
|
570
|
+
TaggedSymbol =
|
|
571
|
+
T.type_alias do
|
|
572
|
+
T.all(Symbol, XTwitterScraper::X::TweetGetThreadParams::Replies)
|
|
573
|
+
end
|
|
574
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
575
|
+
|
|
576
|
+
INCLUDE =
|
|
577
|
+
T.let(
|
|
578
|
+
:include,
|
|
579
|
+
XTwitterScraper::X::TweetGetThreadParams::Replies::TaggedSymbol
|
|
580
|
+
)
|
|
581
|
+
EXCLUDE =
|
|
582
|
+
T.let(
|
|
583
|
+
:exclude,
|
|
584
|
+
XTwitterScraper::X::TweetGetThreadParams::Replies::TaggedSymbol
|
|
585
|
+
)
|
|
586
|
+
ONLY =
|
|
587
|
+
T.let(
|
|
588
|
+
:only,
|
|
589
|
+
XTwitterScraper::X::TweetGetThreadParams::Replies::TaggedSymbol
|
|
590
|
+
)
|
|
591
|
+
|
|
592
|
+
sig do
|
|
593
|
+
override.returns(
|
|
594
|
+
T::Array[
|
|
595
|
+
XTwitterScraper::X::TweetGetThreadParams::Replies::TaggedSymbol
|
|
596
|
+
]
|
|
597
|
+
)
|
|
598
|
+
end
|
|
599
|
+
def self.values
|
|
600
|
+
end
|
|
601
|
+
end
|
|
602
|
+
|
|
603
|
+
# Retweet mode.
|
|
604
|
+
module Retweets
|
|
605
|
+
extend XTwitterScraper::Internal::Type::Enum
|
|
606
|
+
|
|
607
|
+
TaggedSymbol =
|
|
608
|
+
T.type_alias do
|
|
609
|
+
T.all(Symbol, XTwitterScraper::X::TweetGetThreadParams::Retweets)
|
|
610
|
+
end
|
|
611
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
612
|
+
|
|
613
|
+
INCLUDE =
|
|
614
|
+
T.let(
|
|
615
|
+
:include,
|
|
616
|
+
XTwitterScraper::X::TweetGetThreadParams::Retweets::TaggedSymbol
|
|
617
|
+
)
|
|
618
|
+
EXCLUDE =
|
|
619
|
+
T.let(
|
|
620
|
+
:exclude,
|
|
621
|
+
XTwitterScraper::X::TweetGetThreadParams::Retweets::TaggedSymbol
|
|
622
|
+
)
|
|
623
|
+
ONLY =
|
|
624
|
+
T.let(
|
|
625
|
+
:only,
|
|
626
|
+
XTwitterScraper::X::TweetGetThreadParams::Retweets::TaggedSymbol
|
|
627
|
+
)
|
|
628
|
+
|
|
629
|
+
sig do
|
|
630
|
+
override.returns(
|
|
631
|
+
T::Array[
|
|
632
|
+
XTwitterScraper::X::TweetGetThreadParams::Retweets::TaggedSymbol
|
|
633
|
+
]
|
|
634
|
+
)
|
|
635
|
+
end
|
|
636
|
+
def self.values
|
|
637
|
+
end
|
|
638
|
+
end
|
|
73
639
|
end
|
|
74
640
|
end
|
|
75
641
|
end
|
|
@@ -220,7 +220,7 @@ module XTwitterScraper
|
|
|
220
220
|
sig { params(min_bookmarks: Integer).void }
|
|
221
221
|
attr_writer :min_bookmarks
|
|
222
222
|
|
|
223
|
-
# Minimum likes threshold.
|
|
223
|
+
# Minimum likes threshold. minLikes is also accepted.
|
|
224
224
|
sig { returns(T.nilable(Integer)) }
|
|
225
225
|
attr_reader :min_faves
|
|
226
226
|
|
|
@@ -597,7 +597,7 @@ module XTwitterScraper
|
|
|
597
597
|
mentioning: nil,
|
|
598
598
|
# Minimum bookmark count threshold.
|
|
599
599
|
min_bookmarks: nil,
|
|
600
|
-
# Minimum likes threshold.
|
|
600
|
+
# Minimum likes threshold. minLikes is also accepted.
|
|
601
601
|
min_faves: nil,
|
|
602
602
|
# Minimum quote count threshold.
|
|
603
603
|
min_quotes: nil,
|
|
@@ -188,7 +188,7 @@ module XTwitterScraper
|
|
|
188
188
|
sig { params(min_bookmarks: Integer).void }
|
|
189
189
|
attr_writer :min_bookmarks
|
|
190
190
|
|
|
191
|
-
# Minimum likes threshold.
|
|
191
|
+
# Minimum likes threshold. minLikes is also accepted.
|
|
192
192
|
sig { returns(T.nilable(Integer)) }
|
|
193
193
|
attr_reader :min_faves
|
|
194
194
|
|
|
@@ -494,7 +494,7 @@ module XTwitterScraper
|
|
|
494
494
|
mentioning: nil,
|
|
495
495
|
# Minimum bookmark count threshold.
|
|
496
496
|
min_bookmarks: nil,
|
|
497
|
-
# Minimum likes threshold.
|
|
497
|
+
# Minimum likes threshold. minLikes is also accepted.
|
|
498
498
|
min_faves: nil,
|
|
499
499
|
# Minimum quote count threshold.
|
|
500
500
|
min_quotes: nil,
|
|
@@ -188,7 +188,7 @@ module XTwitterScraper
|
|
|
188
188
|
sig { params(min_bookmarks: Integer).void }
|
|
189
189
|
attr_writer :min_bookmarks
|
|
190
190
|
|
|
191
|
-
# Minimum likes threshold.
|
|
191
|
+
# Minimum likes threshold. minLikes is also accepted.
|
|
192
192
|
sig { returns(T.nilable(Integer)) }
|
|
193
193
|
attr_reader :min_faves
|
|
194
194
|
|
|
@@ -494,7 +494,7 @@ module XTwitterScraper
|
|
|
494
494
|
mentioning: nil,
|
|
495
495
|
# Minimum bookmark count threshold.
|
|
496
496
|
min_bookmarks: nil,
|
|
497
|
-
# Minimum likes threshold.
|
|
497
|
+
# Minimum likes threshold. minLikes is also accepted.
|
|
498
498
|
min_faves: nil,
|
|
499
499
|
# Minimum quote count threshold.
|
|
500
500
|
min_quotes: nil,
|
|
@@ -188,7 +188,7 @@ module XTwitterScraper
|
|
|
188
188
|
sig { params(min_bookmarks: Integer).void }
|
|
189
189
|
attr_writer :min_bookmarks
|
|
190
190
|
|
|
191
|
-
# Minimum likes threshold.
|
|
191
|
+
# Minimum likes threshold. minLikes is also accepted.
|
|
192
192
|
sig { returns(T.nilable(Integer)) }
|
|
193
193
|
attr_reader :min_faves
|
|
194
194
|
|
|
@@ -510,7 +510,7 @@ module XTwitterScraper
|
|
|
510
510
|
mentioning: nil,
|
|
511
511
|
# Minimum bookmark count threshold.
|
|
512
512
|
min_bookmarks: nil,
|
|
513
|
-
# Minimum likes threshold.
|
|
513
|
+
# Minimum likes threshold. minLikes is also accepted.
|
|
514
514
|
min_faves: nil,
|
|
515
515
|
# Minimum quote count threshold.
|
|
516
516
|
min_quotes: nil,
|
|
@@ -196,7 +196,7 @@ module XTwitterScraper
|
|
|
196
196
|
sig { params(min_bookmarks: Integer).void }
|
|
197
197
|
attr_writer :min_bookmarks
|
|
198
198
|
|
|
199
|
-
# Minimum likes threshold.
|
|
199
|
+
# Minimum likes threshold. minLikes is also accepted.
|
|
200
200
|
sig { returns(T.nilable(Integer)) }
|
|
201
201
|
attr_reader :min_faves
|
|
202
202
|
|
|
@@ -505,7 +505,7 @@ module XTwitterScraper
|
|
|
505
505
|
mentioning: nil,
|
|
506
506
|
# Minimum bookmark count threshold.
|
|
507
507
|
min_bookmarks: nil,
|
|
508
|
-
# Minimum likes threshold.
|
|
508
|
+
# Minimum likes threshold. minLikes is also accepted.
|
|
509
509
|
min_faves: nil,
|
|
510
510
|
# Minimum quote count threshold.
|
|
511
511
|
min_quotes: nil,
|