@glagan/rettiwt-api 7.0.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 (165) hide show
  1. package/.eslintrc.js +166 -0
  2. package/.gitattributes +3 -0
  3. package/.github/FUNDING.yml +4 -0
  4. package/.github/ISSUE_TEMPLATE/bug-report.yml +57 -0
  5. package/.github/ISSUE_TEMPLATE/feature-request.yml +20 -0
  6. package/.github/ISSUE_TEMPLATE/question.yml +15 -0
  7. package/.github/PULL_REQUEST_TEMPLATE.md +32 -0
  8. package/.github/workflows/ci.yml +32 -0
  9. package/.github/workflows/publish.yml +23 -0
  10. package/.nvmrc +1 -0
  11. package/.prettierignore +3 -0
  12. package/.prettierrc +13 -0
  13. package/LICENSE +21 -0
  14. package/README.md +566 -0
  15. package/dist/cli.js +43 -0
  16. package/eslint.config.mjs +17 -0
  17. package/package.json +50 -0
  18. package/src/Rettiwt.ts +97 -0
  19. package/src/cli.ts +48 -0
  20. package/src/collections/Extractors.ts +155 -0
  21. package/src/collections/Groups.ts +81 -0
  22. package/src/collections/Requests.ts +89 -0
  23. package/src/collections/Tweet.ts +17 -0
  24. package/src/commands/DirectMessage.ts +62 -0
  25. package/src/commands/List.ts +90 -0
  26. package/src/commands/Tweet.ts +437 -0
  27. package/src/commands/User.ts +367 -0
  28. package/src/enums/Api.ts +10 -0
  29. package/src/enums/Authentication.ts +10 -0
  30. package/src/enums/Data.ts +13 -0
  31. package/src/enums/Logging.ts +14 -0
  32. package/src/enums/Media.ts +10 -0
  33. package/src/enums/Notification.ts +12 -0
  34. package/src/enums/Resource.ts +69 -0
  35. package/src/enums/Tweet.ts +8 -0
  36. package/src/enums/raw/Analytics.ts +32 -0
  37. package/src/enums/raw/Media.ts +10 -0
  38. package/src/enums/raw/Notification.ts +11 -0
  39. package/src/enums/raw/Tweet.ts +20 -0
  40. package/src/helper/CliUtils.ts +17 -0
  41. package/src/helper/JsonUtils.ts +70 -0
  42. package/src/index.ts +128 -0
  43. package/src/models/RettiwtConfig.ts +101 -0
  44. package/src/models/args/FetchArgs.ts +169 -0
  45. package/src/models/args/PostArgs.ts +93 -0
  46. package/src/models/args/ProfileArgs.ts +68 -0
  47. package/src/models/auth/AuthCookie.ts +58 -0
  48. package/src/models/auth/AuthCredential.ts +83 -0
  49. package/src/models/data/Analytics.ts +97 -0
  50. package/src/models/data/BookmarkFolder.ts +73 -0
  51. package/src/models/data/Conversation.ts +344 -0
  52. package/src/models/data/CursoredData.ts +64 -0
  53. package/src/models/data/DirectMessage.ts +335 -0
  54. package/src/models/data/Inbox.ts +124 -0
  55. package/src/models/data/List.ts +113 -0
  56. package/src/models/data/Notification.ts +84 -0
  57. package/src/models/data/Tweet.ts +388 -0
  58. package/src/models/data/User.ts +187 -0
  59. package/src/models/errors/TwitterError.ts +65 -0
  60. package/src/models/params/Variables.ts +62 -0
  61. package/src/requests/DirectMessage.ts +229 -0
  62. package/src/requests/List.ts +203 -0
  63. package/src/requests/Media.ts +67 -0
  64. package/src/requests/Tweet.ts +607 -0
  65. package/src/requests/User.ts +1191 -0
  66. package/src/services/internal/AuthService.ts +115 -0
  67. package/src/services/internal/ErrorService.ts +41 -0
  68. package/src/services/internal/LogService.ts +34 -0
  69. package/src/services/public/DirectMessageService.ts +159 -0
  70. package/src/services/public/FetcherService.ts +366 -0
  71. package/src/services/public/ListService.ts +241 -0
  72. package/src/services/public/TweetService.ts +886 -0
  73. package/src/services/public/UserService.ts +1154 -0
  74. package/src/types/ErrorHandler.ts +13 -0
  75. package/src/types/Fetch.ts +3 -0
  76. package/src/types/RettiwtConfig.ts +48 -0
  77. package/src/types/args/FetchArgs.ts +233 -0
  78. package/src/types/args/PostArgs.ts +142 -0
  79. package/src/types/args/ProfileArgs.ts +33 -0
  80. package/src/types/auth/AuthCookie.ts +22 -0
  81. package/src/types/auth/AuthCredential.ts +28 -0
  82. package/src/types/auth/TransactionHeader.ts +8 -0
  83. package/src/types/data/Analytics.ts +58 -0
  84. package/src/types/data/BookmarkFolder.ts +12 -0
  85. package/src/types/data/Conversation.ts +44 -0
  86. package/src/types/data/CursoredData.ts +24 -0
  87. package/src/types/data/DirectMessage.ts +33 -0
  88. package/src/types/data/Inbox.ts +23 -0
  89. package/src/types/data/List.ts +33 -0
  90. package/src/types/data/Notification.ts +26 -0
  91. package/src/types/data/Tweet.ts +99 -0
  92. package/src/types/data/User.ts +54 -0
  93. package/src/types/errors/TwitterError.ts +37 -0
  94. package/src/types/params/Variables.ts +41 -0
  95. package/src/types/raw/base/Analytic.ts +32 -0
  96. package/src/types/raw/base/BookmarkFolder.ts +12 -0
  97. package/src/types/raw/base/Cursor.ts +13 -0
  98. package/src/types/raw/base/Error.ts +38 -0
  99. package/src/types/raw/base/LimitedVisibilityTweet.ts +40 -0
  100. package/src/types/raw/base/List.ts +50 -0
  101. package/src/types/raw/base/Media.ts +53 -0
  102. package/src/types/raw/base/Message.ts +22 -0
  103. package/src/types/raw/base/Notification.ts +66 -0
  104. package/src/types/raw/base/Space.ts +35 -0
  105. package/src/types/raw/base/Tweet.ts +139 -0
  106. package/src/types/raw/base/User.ts +182 -0
  107. package/src/types/raw/composite/DataResult.ts +8 -0
  108. package/src/types/raw/composite/TimelineList.ts +10 -0
  109. package/src/types/raw/composite/TimelineTweet.ts +14 -0
  110. package/src/types/raw/composite/TimelineUser.ts +13 -0
  111. package/src/types/raw/dm/Conversation.ts +59 -0
  112. package/src/types/raw/dm/InboxInitial.ts +155 -0
  113. package/src/types/raw/dm/InboxTimeline.ts +301 -0
  114. package/src/types/raw/dm/UserUpdates.ts +46 -0
  115. package/src/types/raw/generic/Response.ts +10 -0
  116. package/src/types/raw/list/AddMember.ts +175 -0
  117. package/src/types/raw/list/Details.ts +176 -0
  118. package/src/types/raw/list/Members.ts +154 -0
  119. package/src/types/raw/list/RemoveMember.ts +174 -0
  120. package/src/types/raw/list/Tweets.ts +2296 -0
  121. package/src/types/raw/media/FinalizeUpload.ts +20 -0
  122. package/src/types/raw/media/InitalizeUpload.ts +12 -0
  123. package/src/types/raw/media/LiveVideoStream.ts +21 -0
  124. package/src/types/raw/space/Details.ts +359 -0
  125. package/src/types/raw/tweet/Bookmark.ts +14 -0
  126. package/src/types/raw/tweet/Details.ts +210 -0
  127. package/src/types/raw/tweet/DetailsBulk.ts +338 -0
  128. package/src/types/raw/tweet/Like.ts +14 -0
  129. package/src/types/raw/tweet/Likers.ts +200 -0
  130. package/src/types/raw/tweet/Post.ts +150 -0
  131. package/src/types/raw/tweet/Replies.ts +539 -0
  132. package/src/types/raw/tweet/Retweet.ts +31 -0
  133. package/src/types/raw/tweet/Retweeters.ts +208 -0
  134. package/src/types/raw/tweet/Schedule.ts +18 -0
  135. package/src/types/raw/tweet/Search.ts +597 -0
  136. package/src/types/raw/tweet/Unbookmark.ts +14 -0
  137. package/src/types/raw/tweet/Unlike.ts +14 -0
  138. package/src/types/raw/tweet/Unpost.ts +20 -0
  139. package/src/types/raw/tweet/Unretweet.ts +31 -0
  140. package/src/types/raw/tweet/Unschedule.ts +14 -0
  141. package/src/types/raw/user/Affiliates.ts +179 -0
  142. package/src/types/raw/user/Analytics.ts +23 -0
  143. package/src/types/raw/user/BookmarkFolderTweets.ts +53 -0
  144. package/src/types/raw/user/BookmarkFolders.ts +41 -0
  145. package/src/types/raw/user/Bookmarks.ts +637 -0
  146. package/src/types/raw/user/Details.ts +185 -0
  147. package/src/types/raw/user/DetailsBulk.ts +104 -0
  148. package/src/types/raw/user/Follow.ts +280 -0
  149. package/src/types/raw/user/Followed.ts +1942 -0
  150. package/src/types/raw/user/Followers.ts +215 -0
  151. package/src/types/raw/user/Following.ts +215 -0
  152. package/src/types/raw/user/Highlights.ts +1287 -0
  153. package/src/types/raw/user/Likes.ts +1254 -0
  154. package/src/types/raw/user/Lists.ts +378 -0
  155. package/src/types/raw/user/Media.ts +1738 -0
  156. package/src/types/raw/user/Notifications.ts +499 -0
  157. package/src/types/raw/user/ProfileUpdate.ts +80 -0
  158. package/src/types/raw/user/Recommended.ts +2319 -0
  159. package/src/types/raw/user/Scheduled.ts +37 -0
  160. package/src/types/raw/user/Search.ts +230 -0
  161. package/src/types/raw/user/Subscriptions.ts +176 -0
  162. package/src/types/raw/user/Tweets.ts +1254 -0
  163. package/src/types/raw/user/TweetsAndReplies.ts +1254 -0
  164. package/src/types/raw/user/Unfollow.ts +280 -0
  165. package/tsconfig.json +97 -0
@@ -0,0 +1,1254 @@
1
+ /* eslint-disable */
2
+
3
+ /**
4
+ * The raw data received when fetching the liked tweets of the given user.
5
+ *
6
+ * @public
7
+ */
8
+ export interface IUserLikesResponse {
9
+ data: Data;
10
+ }
11
+
12
+ interface Data {
13
+ user: User;
14
+ }
15
+
16
+ interface User {
17
+ result: Result;
18
+ }
19
+
20
+ interface Result {
21
+ __typename: string;
22
+ timeline_v2: TimelineV2;
23
+ }
24
+
25
+ interface TimelineV2 {
26
+ timeline: Timeline;
27
+ }
28
+
29
+ interface Timeline {
30
+ instructions: Instruction[];
31
+ responseObjects: ResponseObjects;
32
+ }
33
+
34
+ interface Instruction {
35
+ type: string;
36
+ entries: Entry[];
37
+ }
38
+
39
+ interface Entry {
40
+ entryId: string;
41
+ sortIndex: string;
42
+ content: Content;
43
+ }
44
+
45
+ interface Content {
46
+ entryType: string;
47
+ itemContent?: ItemContent;
48
+ value?: string;
49
+ cursorType?: string;
50
+ stopOnEmptyResponse?: boolean;
51
+ }
52
+
53
+ interface ItemContent {
54
+ itemType: string;
55
+ tweet_results: TweetResults;
56
+ tweetDisplayType: string;
57
+ }
58
+
59
+ interface TweetResults {
60
+ result: Result2;
61
+ }
62
+
63
+ interface Result2 {
64
+ __typename: string;
65
+ rest_id: string;
66
+ core: Core;
67
+ legacy: Legacy2;
68
+ card?: Card;
69
+ quoted_status_result?: QuotedStatusResult;
70
+ }
71
+
72
+ interface Core {
73
+ user_results: UserResults;
74
+ }
75
+
76
+ interface UserResults {
77
+ result: Result3;
78
+ }
79
+
80
+ interface Result3 {
81
+ __typename: string;
82
+ id: string;
83
+ rest_id: string;
84
+ affiliates_highlighted_label: AffiliatesHighlightedLabel;
85
+ has_nft_avatar: boolean;
86
+ legacy: Legacy;
87
+ professional?: Professional;
88
+ }
89
+
90
+ interface AffiliatesHighlightedLabel {}
91
+
92
+ interface Legacy {
93
+ blocked_by: boolean;
94
+ blocking: boolean;
95
+ can_dm: boolean;
96
+ can_media_tag: boolean;
97
+ created_at: string;
98
+ default_profile: boolean;
99
+ default_profile_image: boolean;
100
+ description: string;
101
+ entities: Entities;
102
+ fast_followers_count: number;
103
+ favourites_count: number;
104
+ follow_request_sent: boolean;
105
+ followed_by: boolean;
106
+ followers_count: number;
107
+ following: boolean;
108
+ friends_count: number;
109
+ has_custom_timelines: boolean;
110
+ is_translator: boolean;
111
+ listed_count: number;
112
+ location: string;
113
+ media_count: number;
114
+ muting: boolean;
115
+ name: string;
116
+ normal_followers_count: number;
117
+ notifications: boolean;
118
+ pinned_tweet_ids_str: string[];
119
+ profile_banner_extensions: ProfileBannerExtensions;
120
+ profile_banner_url: string;
121
+ profile_image_extensions: ProfileImageExtensions;
122
+ profile_image_url_https: string;
123
+ profile_interstitial_type: string;
124
+ protected: boolean;
125
+ screen_name: string;
126
+ statuses_count: number;
127
+ translator_type: string;
128
+ verified: boolean;
129
+ want_retweets: boolean;
130
+ withheld_in_countries: any[];
131
+ url?: string;
132
+ }
133
+
134
+ interface Entities {
135
+ description: Description;
136
+ url?: Url2;
137
+ }
138
+
139
+ interface Description {
140
+ urls: Url[];
141
+ }
142
+
143
+ interface Url {
144
+ display_url: string;
145
+ expanded_url: string;
146
+ url: string;
147
+ indices: number[];
148
+ }
149
+
150
+ interface Url2 {
151
+ urls: Url3[];
152
+ }
153
+
154
+ interface Url3 {
155
+ display_url: string;
156
+ expanded_url: string;
157
+ url: string;
158
+ indices: number[];
159
+ }
160
+
161
+ interface ProfileBannerExtensions {
162
+ mediaColor: MediaColor;
163
+ }
164
+
165
+ interface MediaColor {
166
+ r: R;
167
+ }
168
+
169
+ interface R {
170
+ ok: Ok;
171
+ }
172
+
173
+ interface Ok {
174
+ palette: Palette[];
175
+ }
176
+
177
+ interface Palette {
178
+ percentage: number;
179
+ rgb: Rgb;
180
+ }
181
+
182
+ interface Rgb {
183
+ blue: number;
184
+ green: number;
185
+ red: number;
186
+ }
187
+
188
+ interface ProfileImageExtensions {
189
+ mediaColor: MediaColor2;
190
+ }
191
+
192
+ interface MediaColor2 {
193
+ r: R2;
194
+ }
195
+
196
+ interface R2 {
197
+ ok: Ok2;
198
+ }
199
+
200
+ interface Ok2 {
201
+ palette: Palette2[];
202
+ }
203
+
204
+ interface Palette2 {
205
+ percentage: number;
206
+ rgb: Rgb2;
207
+ }
208
+
209
+ interface Rgb2 {
210
+ blue: number;
211
+ green: number;
212
+ red: number;
213
+ }
214
+
215
+ interface Professional {
216
+ rest_id: string;
217
+ professional_type: string;
218
+ category: Category[];
219
+ }
220
+
221
+ interface Category {
222
+ id: number;
223
+ name: string;
224
+ }
225
+
226
+ interface Legacy2 {
227
+ created_at: string;
228
+ conversation_id_str: string;
229
+ display_text_range: number[];
230
+ entities: Entities2;
231
+ extended_entities?: ExtendedEntities;
232
+ favorite_count: number;
233
+ favorited: boolean;
234
+ full_text: string;
235
+ is_quote_status: boolean;
236
+ lang: string;
237
+ possibly_sensitive?: boolean;
238
+ possibly_sensitive_editable?: boolean;
239
+ quote_count: number;
240
+ reply_count: number;
241
+ retweet_count: number;
242
+ retweeted: boolean;
243
+ source: string;
244
+ user_id_str: string;
245
+ id_str: string;
246
+ in_reply_to_screen_name?: string;
247
+ in_reply_to_status_id_str?: string;
248
+ in_reply_to_user_id_str?: string;
249
+ quoted_status_id_str?: string;
250
+ quoted_status_permalink?: QuotedStatusPermalink;
251
+ self_thread?: SelfThread;
252
+ }
253
+
254
+ interface Entities2 {
255
+ media?: Medum[];
256
+ user_mentions: UserMention[];
257
+ urls: Url4[];
258
+ hashtags: Hashtag[];
259
+ symbols: any[];
260
+ }
261
+
262
+ interface Medum {
263
+ display_url: string;
264
+ expanded_url: string;
265
+ id_str: string;
266
+ indices: number[];
267
+ media_url_https: string;
268
+ type: string;
269
+ url: string;
270
+ features: Features;
271
+ sizes: Sizes;
272
+ original_info: OriginalInfo;
273
+ source_status_id_str?: string;
274
+ source_user_id_str?: string;
275
+ }
276
+
277
+ interface Features {
278
+ large?: Large;
279
+ medium?: Medium;
280
+ small?: Small;
281
+ orig?: Orig;
282
+ all?: All;
283
+ }
284
+
285
+ interface Large {
286
+ faces: Face[];
287
+ }
288
+
289
+ interface Face {
290
+ x: number;
291
+ y: number;
292
+ h: number;
293
+ w: number;
294
+ }
295
+
296
+ interface Medium {
297
+ faces: Face2[];
298
+ }
299
+
300
+ interface Face2 {
301
+ x: number;
302
+ y: number;
303
+ h: number;
304
+ w: number;
305
+ }
306
+
307
+ interface Small {
308
+ faces: Face3[];
309
+ }
310
+
311
+ interface Face3 {
312
+ x: number;
313
+ y: number;
314
+ h: number;
315
+ w: number;
316
+ }
317
+
318
+ interface Orig {
319
+ faces: Face4[];
320
+ }
321
+
322
+ interface Face4 {
323
+ x: number;
324
+ y: number;
325
+ h: number;
326
+ w: number;
327
+ }
328
+
329
+ interface All {
330
+ tags: Tag[];
331
+ }
332
+
333
+ interface Tag {
334
+ user_id: string;
335
+ name: string;
336
+ screen_name: string;
337
+ type: string;
338
+ }
339
+
340
+ interface Sizes {
341
+ large: Large2;
342
+ medium: Medium2;
343
+ small: Small2;
344
+ thumb: Thumb;
345
+ }
346
+
347
+ interface Large2 {
348
+ h: number;
349
+ w: number;
350
+ resize: string;
351
+ }
352
+
353
+ interface Medium2 {
354
+ h: number;
355
+ w: number;
356
+ resize: string;
357
+ }
358
+
359
+ interface Small2 {
360
+ h: number;
361
+ w: number;
362
+ resize: string;
363
+ }
364
+
365
+ interface Thumb {
366
+ h: number;
367
+ w: number;
368
+ resize: string;
369
+ }
370
+
371
+ interface OriginalInfo {
372
+ height: number;
373
+ width: number;
374
+ focus_rects?: FocusRect[];
375
+ }
376
+
377
+ interface FocusRect {
378
+ x: number;
379
+ y: number;
380
+ w: number;
381
+ h: number;
382
+ }
383
+
384
+ interface UserMention {
385
+ id_str: string;
386
+ name: string;
387
+ screen_name: string;
388
+ indices: number[];
389
+ }
390
+
391
+ interface Url4 {
392
+ display_url: string;
393
+ expanded_url: string;
394
+ url: string;
395
+ indices: number[];
396
+ }
397
+
398
+ interface Hashtag {
399
+ indices: number[];
400
+ text: string;
401
+ }
402
+
403
+ interface ExtendedEntities {
404
+ media: Medum2[];
405
+ }
406
+
407
+ interface Medum2 {
408
+ display_url: string;
409
+ expanded_url: string;
410
+ id_str: string;
411
+ indices: number[];
412
+ media_key: string;
413
+ media_url_https: string;
414
+ type: string;
415
+ url: string;
416
+ ext_media_color: ExtMediaColor;
417
+ ext_media_availability: ExtMediaAvailability;
418
+ features: Features2;
419
+ sizes: Sizes2;
420
+ original_info: OriginalInfo2;
421
+ additional_media_info?: AdditionalMediaInfo;
422
+ mediaStats?: MediaStats;
423
+ video_info?: VideoInfo;
424
+ source_status_id_str?: string;
425
+ source_user_id_str?: string;
426
+ }
427
+
428
+ interface ExtMediaColor {
429
+ palette: Palette3[];
430
+ }
431
+
432
+ interface Palette3 {
433
+ percentage: number;
434
+ rgb: Rgb3;
435
+ }
436
+
437
+ interface Rgb3 {
438
+ blue: number;
439
+ green: number;
440
+ red: number;
441
+ }
442
+
443
+ interface ExtMediaAvailability {
444
+ status: string;
445
+ }
446
+
447
+ interface Features2 {
448
+ large?: Large3;
449
+ medium?: Medium3;
450
+ small?: Small3;
451
+ orig?: Orig2;
452
+ all?: All2;
453
+ }
454
+
455
+ interface Large3 {
456
+ faces: Face5[];
457
+ }
458
+
459
+ interface Face5 {
460
+ x: number;
461
+ y: number;
462
+ h: number;
463
+ w: number;
464
+ }
465
+
466
+ interface Medium3 {
467
+ faces: Face6[];
468
+ }
469
+
470
+ interface Face6 {
471
+ x: number;
472
+ y: number;
473
+ h: number;
474
+ w: number;
475
+ }
476
+
477
+ interface Small3 {
478
+ faces: Face7[];
479
+ }
480
+
481
+ interface Face7 {
482
+ x: number;
483
+ y: number;
484
+ h: number;
485
+ w: number;
486
+ }
487
+
488
+ interface Orig2 {
489
+ faces: Face8[];
490
+ }
491
+
492
+ interface Face8 {
493
+ x: number;
494
+ y: number;
495
+ h: number;
496
+ w: number;
497
+ }
498
+
499
+ interface All2 {
500
+ tags: Tag2[];
501
+ }
502
+
503
+ interface Tag2 {
504
+ user_id: string;
505
+ name: string;
506
+ screen_name: string;
507
+ type: string;
508
+ }
509
+
510
+ interface Sizes2 {
511
+ large: Large4;
512
+ medium: Medium4;
513
+ small: Small4;
514
+ thumb: Thumb2;
515
+ }
516
+
517
+ interface Large4 {
518
+ h: number;
519
+ w: number;
520
+ resize: string;
521
+ }
522
+
523
+ interface Medium4 {
524
+ h: number;
525
+ w: number;
526
+ resize: string;
527
+ }
528
+
529
+ interface Small4 {
530
+ h: number;
531
+ w: number;
532
+ resize: string;
533
+ }
534
+
535
+ interface Thumb2 {
536
+ h: number;
537
+ w: number;
538
+ resize: string;
539
+ }
540
+
541
+ interface OriginalInfo2 {
542
+ height: number;
543
+ width: number;
544
+ focus_rects?: FocusRect2[];
545
+ }
546
+
547
+ interface FocusRect2 {
548
+ x: number;
549
+ y: number;
550
+ w: number;
551
+ h: number;
552
+ }
553
+
554
+ interface AdditionalMediaInfo {
555
+ monetizable: boolean;
556
+ source_user?: SourceUser;
557
+ }
558
+
559
+ interface SourceUser {
560
+ user_results: UserResults2;
561
+ }
562
+
563
+ interface UserResults2 {
564
+ result: Result4;
565
+ }
566
+
567
+ interface Result4 {
568
+ __typename: string;
569
+ id: string;
570
+ rest_id: string;
571
+ affiliates_highlighted_label: AffiliatesHighlightedLabel2;
572
+ has_nft_avatar: boolean;
573
+ legacy: Legacy3;
574
+ }
575
+
576
+ interface AffiliatesHighlightedLabel2 {}
577
+
578
+ interface Legacy3 {
579
+ blocked_by: boolean;
580
+ blocking: boolean;
581
+ can_dm: boolean;
582
+ can_media_tag: boolean;
583
+ created_at: string;
584
+ default_profile: boolean;
585
+ default_profile_image: boolean;
586
+ description: string;
587
+ entities: Entities3;
588
+ fast_followers_count: number;
589
+ favourites_count: number;
590
+ follow_request_sent: boolean;
591
+ followed_by: boolean;
592
+ followers_count: number;
593
+ following: boolean;
594
+ friends_count: number;
595
+ has_custom_timelines: boolean;
596
+ is_translator: boolean;
597
+ listed_count: number;
598
+ location: string;
599
+ media_count: number;
600
+ muting: boolean;
601
+ name: string;
602
+ normal_followers_count: number;
603
+ notifications: boolean;
604
+ pinned_tweet_ids_str: string[];
605
+ profile_banner_extensions: ProfileBannerExtensions2;
606
+ profile_banner_url: string;
607
+ profile_image_extensions: ProfileImageExtensions2;
608
+ profile_image_url_https: string;
609
+ profile_interstitial_type: string;
610
+ protected: boolean;
611
+ screen_name: string;
612
+ statuses_count: number;
613
+ translator_type: string;
614
+ verified: boolean;
615
+ want_retweets: boolean;
616
+ withheld_in_countries: any[];
617
+ }
618
+
619
+ interface Entities3 {
620
+ description: Description2;
621
+ }
622
+
623
+ interface Description2 {
624
+ urls: any[];
625
+ }
626
+
627
+ interface ProfileBannerExtensions2 {
628
+ mediaColor: MediaColor3;
629
+ }
630
+
631
+ interface MediaColor3 {
632
+ r: R3;
633
+ }
634
+
635
+ interface R3 {
636
+ ok?: Ok3;
637
+ }
638
+
639
+ interface Ok3 {
640
+ palette: Palette4[];
641
+ }
642
+
643
+ interface Palette4 {
644
+ percentage: number;
645
+ rgb: Rgb4;
646
+ }
647
+
648
+ interface Rgb4 {
649
+ blue: number;
650
+ green: number;
651
+ red: number;
652
+ }
653
+
654
+ interface ProfileImageExtensions2 {
655
+ mediaColor: MediaColor4;
656
+ }
657
+
658
+ interface MediaColor4 {
659
+ r: R4;
660
+ }
661
+
662
+ interface R4 {
663
+ ok: Ok4;
664
+ }
665
+
666
+ interface Ok4 {
667
+ palette: Palette5[];
668
+ }
669
+
670
+ interface Palette5 {
671
+ percentage: number;
672
+ rgb: Rgb5;
673
+ }
674
+
675
+ interface Rgb5 {
676
+ blue: number;
677
+ green: number;
678
+ red: number;
679
+ }
680
+
681
+ interface MediaStats {
682
+ viewCount: number;
683
+ }
684
+
685
+ interface VideoInfo {
686
+ aspect_ratio: number[];
687
+ duration_millis: number;
688
+ variants: Variant[];
689
+ }
690
+
691
+ interface Variant {
692
+ bitrate?: number;
693
+ content_type: string;
694
+ url: string;
695
+ }
696
+
697
+ interface QuotedStatusPermalink {
698
+ url: string;
699
+ expanded: string;
700
+ display: string;
701
+ }
702
+
703
+ interface SelfThread {
704
+ id_str: string;
705
+ }
706
+
707
+ interface Card {
708
+ rest_id: string;
709
+ legacy: Legacy4;
710
+ }
711
+
712
+ interface Legacy4 {
713
+ binding_values: BindingValue[];
714
+ card_platform: CardPlatform;
715
+ name: string;
716
+ url: string;
717
+ user_refs: UserRef[];
718
+ }
719
+
720
+ interface BindingValue {
721
+ key: string;
722
+ value: Value;
723
+ }
724
+
725
+ interface Value {
726
+ image_value?: ImageValue;
727
+ type: string;
728
+ string_value?: string;
729
+ scribe_key?: string;
730
+ user_value?: UserValue;
731
+ image_color_value?: ImageColorValue;
732
+ }
733
+
734
+ interface ImageValue {
735
+ alt: string;
736
+ height: number;
737
+ width: number;
738
+ url: string;
739
+ }
740
+
741
+ interface UserValue {
742
+ id_str: string;
743
+ path: any[];
744
+ }
745
+
746
+ interface ImageColorValue {
747
+ palette: Palette6[];
748
+ }
749
+
750
+ interface Palette6 {
751
+ rgb: Rgb6;
752
+ percentage: number;
753
+ }
754
+
755
+ interface Rgb6 {
756
+ blue: number;
757
+ green: number;
758
+ red: number;
759
+ }
760
+
761
+ interface CardPlatform {
762
+ platform: Platform;
763
+ }
764
+
765
+ interface Platform {
766
+ audience: Audience;
767
+ device: Device;
768
+ }
769
+
770
+ interface Audience {
771
+ name: string;
772
+ }
773
+
774
+ interface Device {
775
+ name: string;
776
+ version: string;
777
+ }
778
+
779
+ interface UserRef {
780
+ id: string;
781
+ rest_id: string;
782
+ affiliates_highlighted_label: AffiliatesHighlightedLabel3;
783
+ has_nft_avatar: boolean;
784
+ legacy: Legacy5;
785
+ }
786
+
787
+ interface AffiliatesHighlightedLabel3 {}
788
+
789
+ interface Legacy5 {
790
+ blocked_by: boolean;
791
+ blocking: boolean;
792
+ can_dm: boolean;
793
+ can_media_tag: boolean;
794
+ created_at: string;
795
+ default_profile: boolean;
796
+ default_profile_image: boolean;
797
+ description: string;
798
+ entities: Entities4;
799
+ fast_followers_count: number;
800
+ favourites_count: number;
801
+ follow_request_sent: boolean;
802
+ followed_by: boolean;
803
+ followers_count: number;
804
+ following: boolean;
805
+ friends_count: number;
806
+ has_custom_timelines: boolean;
807
+ is_translator: boolean;
808
+ listed_count: number;
809
+ location: string;
810
+ media_count: number;
811
+ muting: boolean;
812
+ name: string;
813
+ normal_followers_count: number;
814
+ notifications: boolean;
815
+ pinned_tweet_ids_str: any[];
816
+ profile_banner_extensions: ProfileBannerExtensions3;
817
+ profile_banner_url: string;
818
+ profile_image_extensions: ProfileImageExtensions3;
819
+ profile_image_url_https: string;
820
+ profile_interstitial_type: string;
821
+ protected: boolean;
822
+ screen_name: string;
823
+ statuses_count: number;
824
+ translator_type: string;
825
+ url: string;
826
+ verified: boolean;
827
+ want_retweets: boolean;
828
+ withheld_in_countries: any[];
829
+ }
830
+
831
+ interface Entities4 {
832
+ description: Description3;
833
+ url: Url5;
834
+ }
835
+
836
+ interface Description3 {
837
+ urls: any[];
838
+ }
839
+
840
+ interface Url5 {
841
+ urls: Url6[];
842
+ }
843
+
844
+ interface Url6 {
845
+ display_url: string;
846
+ expanded_url: string;
847
+ url: string;
848
+ indices: number[];
849
+ }
850
+
851
+ interface ProfileBannerExtensions3 {
852
+ mediaColor: MediaColor5;
853
+ }
854
+
855
+ interface MediaColor5 {
856
+ r: R5;
857
+ }
858
+
859
+ interface R5 {
860
+ ok: Ok5;
861
+ }
862
+
863
+ interface Ok5 {
864
+ palette: Palette7[];
865
+ }
866
+
867
+ interface Palette7 {
868
+ percentage: number;
869
+ rgb: Rgb7;
870
+ }
871
+
872
+ interface Rgb7 {
873
+ blue: number;
874
+ green: number;
875
+ red: number;
876
+ }
877
+
878
+ interface ProfileImageExtensions3 {
879
+ mediaColor: MediaColor6;
880
+ }
881
+
882
+ interface MediaColor6 {
883
+ r: R6;
884
+ }
885
+
886
+ interface R6 {
887
+ ok: Ok6;
888
+ }
889
+
890
+ interface Ok6 {
891
+ palette: Palette8[];
892
+ }
893
+
894
+ interface Palette8 {
895
+ percentage: number;
896
+ rgb: Rgb8;
897
+ }
898
+
899
+ interface Rgb8 {
900
+ blue: number;
901
+ green: number;
902
+ red: number;
903
+ }
904
+
905
+ interface QuotedStatusResult {
906
+ result: Result5;
907
+ }
908
+
909
+ interface Result5 {
910
+ __typename: string;
911
+ rest_id: string;
912
+ core: Core2;
913
+ legacy: Legacy7;
914
+ }
915
+
916
+ interface Core2 {
917
+ user_results: UserResults3;
918
+ }
919
+
920
+ interface UserResults3 {
921
+ result: Result6;
922
+ }
923
+
924
+ interface Result6 {
925
+ __typename: string;
926
+ id: string;
927
+ rest_id: string;
928
+ affiliates_highlighted_label: AffiliatesHighlightedLabel4;
929
+ has_nft_avatar: boolean;
930
+ legacy: Legacy6;
931
+ professional?: Professional2;
932
+ }
933
+
934
+ interface AffiliatesHighlightedLabel4 {}
935
+
936
+ interface Legacy6 {
937
+ blocked_by: boolean;
938
+ blocking: boolean;
939
+ can_dm: boolean;
940
+ can_media_tag: boolean;
941
+ created_at: string;
942
+ default_profile: boolean;
943
+ default_profile_image: boolean;
944
+ description: string;
945
+ entities: Entities5;
946
+ fast_followers_count: number;
947
+ favourites_count: number;
948
+ follow_request_sent: boolean;
949
+ followed_by: boolean;
950
+ followers_count: number;
951
+ following: boolean;
952
+ friends_count: number;
953
+ has_custom_timelines: boolean;
954
+ is_translator: boolean;
955
+ listed_count: number;
956
+ location: string;
957
+ media_count: number;
958
+ muting: boolean;
959
+ name: string;
960
+ normal_followers_count: number;
961
+ notifications: boolean;
962
+ pinned_tweet_ids_str: string[];
963
+ profile_banner_extensions: ProfileBannerExtensions4;
964
+ profile_banner_url: string;
965
+ profile_image_extensions: ProfileImageExtensions4;
966
+ profile_image_url_https: string;
967
+ profile_interstitial_type: string;
968
+ protected: boolean;
969
+ screen_name: string;
970
+ statuses_count: number;
971
+ translator_type: string;
972
+ url: string;
973
+ verified: boolean;
974
+ want_retweets: boolean;
975
+ withheld_in_countries: any[];
976
+ }
977
+
978
+ interface Entities5 {
979
+ description: Description4;
980
+ url: Url7;
981
+ }
982
+
983
+ interface Description4 {
984
+ urls: any[];
985
+ }
986
+
987
+ interface Url7 {
988
+ urls: Url8[];
989
+ }
990
+
991
+ interface Url8 {
992
+ display_url: string;
993
+ expanded_url: string;
994
+ url: string;
995
+ indices: number[];
996
+ }
997
+
998
+ interface ProfileBannerExtensions4 {
999
+ mediaColor: MediaColor7;
1000
+ }
1001
+
1002
+ interface MediaColor7 {
1003
+ r: R7;
1004
+ }
1005
+
1006
+ interface R7 {
1007
+ ok: Ok7;
1008
+ }
1009
+
1010
+ interface Ok7 {
1011
+ palette: Palette9[];
1012
+ }
1013
+
1014
+ interface Palette9 {
1015
+ percentage: number;
1016
+ rgb: Rgb9;
1017
+ }
1018
+
1019
+ interface Rgb9 {
1020
+ blue: number;
1021
+ green: number;
1022
+ red: number;
1023
+ }
1024
+
1025
+ interface ProfileImageExtensions4 {
1026
+ mediaColor: MediaColor8;
1027
+ }
1028
+
1029
+ interface MediaColor8 {
1030
+ r: R8;
1031
+ }
1032
+
1033
+ interface R8 {
1034
+ ok: Ok8;
1035
+ }
1036
+
1037
+ interface Ok8 {
1038
+ palette: Palette10[];
1039
+ }
1040
+
1041
+ interface Palette10 {
1042
+ percentage: number;
1043
+ rgb: Rgb10;
1044
+ }
1045
+
1046
+ interface Rgb10 {
1047
+ blue: number;
1048
+ green: number;
1049
+ red: number;
1050
+ }
1051
+
1052
+ interface Professional2 {
1053
+ rest_id: string;
1054
+ professional_type: string;
1055
+ category: Category2[];
1056
+ }
1057
+
1058
+ interface Category2 {
1059
+ id: number;
1060
+ name: string;
1061
+ }
1062
+
1063
+ interface Legacy7 {
1064
+ created_at: string;
1065
+ conversation_id_str: string;
1066
+ display_text_range: number[];
1067
+ entities: Entities6;
1068
+ extended_entities?: ExtendedEntities2;
1069
+ favorite_count: number;
1070
+ favorited: boolean;
1071
+ full_text: string;
1072
+ is_quote_status: boolean;
1073
+ lang: string;
1074
+ possibly_sensitive?: boolean;
1075
+ possibly_sensitive_editable?: boolean;
1076
+ quote_count: number;
1077
+ reply_count: number;
1078
+ retweet_count: number;
1079
+ retweeted: boolean;
1080
+ source: string;
1081
+ user_id_str: string;
1082
+ id_str: string;
1083
+ }
1084
+
1085
+ interface Entities6 {
1086
+ media?: Medum3[];
1087
+ user_mentions: UserMention2[];
1088
+ urls: any[];
1089
+ hashtags: any[];
1090
+ symbols: any[];
1091
+ }
1092
+
1093
+ interface Medum3 {
1094
+ display_url: string;
1095
+ expanded_url: string;
1096
+ id_str: string;
1097
+ indices: number[];
1098
+ media_url_https: string;
1099
+ type: string;
1100
+ url: string;
1101
+ features: Features3;
1102
+ sizes: Sizes3;
1103
+ original_info: OriginalInfo3;
1104
+ }
1105
+
1106
+ interface Features3 {}
1107
+
1108
+ interface Sizes3 {
1109
+ large: Large5;
1110
+ medium: Medium5;
1111
+ small: Small5;
1112
+ thumb: Thumb3;
1113
+ }
1114
+
1115
+ interface Large5 {
1116
+ h: number;
1117
+ w: number;
1118
+ resize: string;
1119
+ }
1120
+
1121
+ interface Medium5 {
1122
+ h: number;
1123
+ w: number;
1124
+ resize: string;
1125
+ }
1126
+
1127
+ interface Small5 {
1128
+ h: number;
1129
+ w: number;
1130
+ resize: string;
1131
+ }
1132
+
1133
+ interface Thumb3 {
1134
+ h: number;
1135
+ w: number;
1136
+ resize: string;
1137
+ }
1138
+
1139
+ interface OriginalInfo3 {
1140
+ height: number;
1141
+ width: number;
1142
+ }
1143
+
1144
+ interface UserMention2 {
1145
+ id_str: string;
1146
+ name: string;
1147
+ screen_name: string;
1148
+ indices: number[];
1149
+ }
1150
+
1151
+ interface ExtendedEntities2 {
1152
+ media: Medum4[];
1153
+ }
1154
+
1155
+ interface Medum4 {
1156
+ display_url: string;
1157
+ expanded_url: string;
1158
+ id_str: string;
1159
+ indices: number[];
1160
+ media_key: string;
1161
+ media_url_https: string;
1162
+ type: string;
1163
+ url: string;
1164
+ additional_media_info: AdditionalMediaInfo2;
1165
+ ext_media_color: ExtMediaColor2;
1166
+ mediaStats: MediaStats2;
1167
+ ext_media_availability: ExtMediaAvailability2;
1168
+ features: Features4;
1169
+ sizes: Sizes4;
1170
+ original_info: OriginalInfo4;
1171
+ video_info: VideoInfo2;
1172
+ }
1173
+
1174
+ interface AdditionalMediaInfo2 {
1175
+ monetizable: boolean;
1176
+ }
1177
+
1178
+ interface ExtMediaColor2 {
1179
+ palette: Palette11[];
1180
+ }
1181
+
1182
+ interface Palette11 {
1183
+ percentage: number;
1184
+ rgb: Rgb11;
1185
+ }
1186
+
1187
+ interface Rgb11 {
1188
+ blue: number;
1189
+ green: number;
1190
+ red: number;
1191
+ }
1192
+
1193
+ interface MediaStats2 {
1194
+ viewCount: number;
1195
+ }
1196
+
1197
+ interface ExtMediaAvailability2 {
1198
+ status: string;
1199
+ }
1200
+
1201
+ interface Features4 {}
1202
+
1203
+ interface Sizes4 {
1204
+ large: Large6;
1205
+ medium: Medium6;
1206
+ small: Small6;
1207
+ thumb: Thumb4;
1208
+ }
1209
+
1210
+ interface Large6 {
1211
+ h: number;
1212
+ w: number;
1213
+ resize: string;
1214
+ }
1215
+
1216
+ interface Medium6 {
1217
+ h: number;
1218
+ w: number;
1219
+ resize: string;
1220
+ }
1221
+
1222
+ interface Small6 {
1223
+ h: number;
1224
+ w: number;
1225
+ resize: string;
1226
+ }
1227
+
1228
+ interface Thumb4 {
1229
+ h: number;
1230
+ w: number;
1231
+ resize: string;
1232
+ }
1233
+
1234
+ interface OriginalInfo4 {
1235
+ height: number;
1236
+ width: number;
1237
+ }
1238
+
1239
+ interface VideoInfo2 {
1240
+ aspect_ratio: number[];
1241
+ duration_millis: number;
1242
+ variants: Variant2[];
1243
+ }
1244
+
1245
+ interface Variant2 {
1246
+ bitrate?: number;
1247
+ content_type: string;
1248
+ url: string;
1249
+ }
1250
+
1251
+ interface ResponseObjects {
1252
+ feedbackActions: any[];
1253
+ immediateReactions: any[];
1254
+ }