@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,499 @@
1
+ /* eslint-disable */
2
+
3
+ /**
4
+ * The raw data received when fetching the notifications of the given user.
5
+ *
6
+ * @public
7
+ */
8
+ export interface IUserNotificationsResponse {
9
+ data: Data;
10
+ }
11
+
12
+ interface Data {
13
+ viewer_v2: ViewerV2;
14
+ }
15
+
16
+ interface ViewerV2 {
17
+ user_results: UserResults;
18
+ }
19
+
20
+ interface UserResults {
21
+ result: Result;
22
+ }
23
+
24
+ interface Result {
25
+ __typename: string;
26
+ rest_id: string;
27
+ notification_timeline: NotificationTimeline;
28
+ }
29
+
30
+ interface NotificationTimeline {
31
+ id: string;
32
+ timeline: Timeline;
33
+ }
34
+
35
+ interface Timeline {
36
+ instructions: Instruction[];
37
+ }
38
+
39
+ interface Instruction {
40
+ type: string;
41
+ entries?: Entry[];
42
+ sort_index?: string;
43
+ }
44
+
45
+ interface Entry {
46
+ entryId: string;
47
+ sortIndex: string;
48
+ content: Content;
49
+ }
50
+
51
+ interface Content {
52
+ entryType: string;
53
+ __typename: string;
54
+ value?: string;
55
+ cursorType?: string;
56
+ itemContent?: ItemContent;
57
+ clientEventInfo?: ClientEventInfo;
58
+ }
59
+
60
+ interface ItemContent {
61
+ itemType: string;
62
+ __typename: string;
63
+ id: string;
64
+ notification_icon: string;
65
+ rich_message: RichMessage;
66
+ notification_url: NotificationUrl;
67
+ template: Template;
68
+ timestamp_ms: string;
69
+ }
70
+
71
+ interface RichMessage {
72
+ rtl: boolean;
73
+ text: string;
74
+ entities: Entity[];
75
+ }
76
+
77
+ interface Entity {
78
+ fromIndex: number;
79
+ toIndex: number;
80
+ ref: Ref;
81
+ }
82
+
83
+ interface Ref {
84
+ type: string;
85
+ user_results: UserResults2;
86
+ }
87
+
88
+ interface UserResults2 {
89
+ result: Result2;
90
+ }
91
+
92
+ interface Result2 {
93
+ __typename: string;
94
+ id: string;
95
+ rest_id: string;
96
+ affiliates_highlighted_label: AffiliatesHighlightedLabel;
97
+ avatar: Avatar;
98
+ core: Core;
99
+ dm_permissions: DmPermissions;
100
+ follow_request_sent: boolean;
101
+ has_graduated_access: boolean;
102
+ is_blue_verified: boolean;
103
+ legacy: Legacy;
104
+ location: Location;
105
+ media_permissions: MediaPermissions;
106
+ parody_commentary_fan_label: string;
107
+ profile_image_shape: string;
108
+ profile_bio: ProfileBio;
109
+ privacy: Privacy;
110
+ relationship_perspectives: RelationshipPerspectives;
111
+ tipjar_settings: TipjarSettings;
112
+ verification: Verification;
113
+ verified_phone_status: boolean;
114
+ }
115
+
116
+ interface AffiliatesHighlightedLabel {}
117
+
118
+ interface Avatar {
119
+ image_url: string;
120
+ }
121
+
122
+ interface Core {
123
+ created_at: string;
124
+ name: string;
125
+ screen_name: string;
126
+ }
127
+
128
+ interface DmPermissions {
129
+ can_dm: boolean;
130
+ }
131
+
132
+ interface Legacy {
133
+ default_profile: boolean;
134
+ default_profile_image: boolean;
135
+ description: string;
136
+ entities: Entities;
137
+ fast_followers_count: number;
138
+ favourites_count: number;
139
+ followers_count: number;
140
+ friends_count: number;
141
+ has_custom_timelines: boolean;
142
+ is_translator: boolean;
143
+ listed_count: number;
144
+ media_count: number;
145
+ normal_followers_count: number;
146
+ notifications: boolean;
147
+ pinned_tweet_ids_str: any[];
148
+ possibly_sensitive: boolean;
149
+ profile_interstitial_type: string;
150
+ statuses_count: number;
151
+ translator_type: string;
152
+ want_retweets: boolean;
153
+ withheld_in_countries: any[];
154
+ }
155
+
156
+ interface Entities {
157
+ description: Description;
158
+ }
159
+
160
+ interface Description {
161
+ urls: any[];
162
+ }
163
+
164
+ interface Location {
165
+ location: string;
166
+ }
167
+
168
+ interface MediaPermissions {
169
+ can_media_tag: boolean;
170
+ }
171
+
172
+ interface ProfileBio {
173
+ description: string;
174
+ }
175
+
176
+ interface Privacy {
177
+ protected: boolean;
178
+ }
179
+
180
+ interface RelationshipPerspectives {
181
+ followed_by: boolean;
182
+ following: boolean;
183
+ }
184
+
185
+ interface TipjarSettings {}
186
+
187
+ interface Verification {
188
+ verified: boolean;
189
+ }
190
+
191
+ interface NotificationUrl {
192
+ url: string;
193
+ urlType: string;
194
+ urtEndpointOptions?: UrtEndpointOptions;
195
+ }
196
+
197
+ interface UrtEndpointOptions {
198
+ cacheId: string;
199
+ title: string;
200
+ }
201
+
202
+ interface Template {
203
+ __typename: string;
204
+ target_objects: TargetObject[];
205
+ from_users: FromUser[];
206
+ }
207
+
208
+ interface TargetObject {
209
+ __typename: string;
210
+ tweet_results: TweetResults;
211
+ }
212
+
213
+ interface TweetResults {
214
+ result: Result3;
215
+ }
216
+
217
+ interface Result3 {
218
+ __typename: string;
219
+ rest_id: string;
220
+ core: Core2;
221
+ unmention_data: UnmentionData;
222
+ edit_control: EditControl;
223
+ is_translatable: boolean;
224
+ views: Views;
225
+ source: string;
226
+ grok_analysis_button: boolean;
227
+ legacy: Legacy3;
228
+ }
229
+
230
+ interface Core2 {
231
+ user_results: UserResults3;
232
+ }
233
+
234
+ interface UserResults3 {
235
+ result: Result4;
236
+ }
237
+
238
+ interface Result4 {
239
+ __typename: string;
240
+ id: string;
241
+ rest_id: string;
242
+ affiliates_highlighted_label: AffiliatesHighlightedLabel2;
243
+ avatar: Avatar2;
244
+ core: Core3;
245
+ dm_permissions: DmPermissions2;
246
+ follow_request_sent: boolean;
247
+ has_graduated_access: boolean;
248
+ is_blue_verified: boolean;
249
+ legacy: Legacy2;
250
+ location: Location2;
251
+ media_permissions: MediaPermissions2;
252
+ parody_commentary_fan_label: string;
253
+ profile_image_shape: string;
254
+ profile_bio: ProfileBio2;
255
+ privacy: Privacy2;
256
+ relationship_perspectives: RelationshipPerspectives2;
257
+ tipjar_settings: TipjarSettings2;
258
+ verification: Verification2;
259
+ verified_phone_status: boolean;
260
+ }
261
+
262
+ interface AffiliatesHighlightedLabel2 {}
263
+
264
+ interface Avatar2 {
265
+ image_url: string;
266
+ }
267
+
268
+ interface Core3 {
269
+ created_at: string;
270
+ name: string;
271
+ screen_name: string;
272
+ }
273
+
274
+ interface DmPermissions2 {
275
+ can_dm: boolean;
276
+ }
277
+
278
+ interface Legacy2 {
279
+ default_profile: boolean;
280
+ default_profile_image: boolean;
281
+ description: string;
282
+ entities: Entities2;
283
+ fast_followers_count: number;
284
+ favourites_count: number;
285
+ followers_count: number;
286
+ friends_count: number;
287
+ has_custom_timelines: boolean;
288
+ is_translator: boolean;
289
+ listed_count: number;
290
+ media_count: number;
291
+ needs_phone_verification: boolean;
292
+ normal_followers_count: number;
293
+ pinned_tweet_ids_str: any[];
294
+ possibly_sensitive: boolean;
295
+ profile_interstitial_type: string;
296
+ statuses_count: number;
297
+ translator_type: string;
298
+ want_retweets: boolean;
299
+ withheld_in_countries: any[];
300
+ }
301
+
302
+ interface Entities2 {
303
+ description: Description2;
304
+ }
305
+
306
+ interface Description2 {
307
+ urls: any[];
308
+ }
309
+
310
+ interface Location2 {
311
+ location: string;
312
+ }
313
+
314
+ interface MediaPermissions2 {
315
+ can_media_tag: boolean;
316
+ }
317
+
318
+ interface ProfileBio2 {
319
+ description: string;
320
+ }
321
+
322
+ interface Privacy2 {
323
+ protected: boolean;
324
+ }
325
+
326
+ interface RelationshipPerspectives2 {
327
+ following: boolean;
328
+ }
329
+
330
+ interface TipjarSettings2 {}
331
+
332
+ interface Verification2 {
333
+ verified: boolean;
334
+ }
335
+
336
+ interface UnmentionData {}
337
+
338
+ interface EditControl {
339
+ edit_tweet_ids: string[];
340
+ editable_until_msecs: string;
341
+ is_edit_eligible: boolean;
342
+ edits_remaining: string;
343
+ }
344
+
345
+ interface Views {
346
+ count: string;
347
+ state: string;
348
+ }
349
+
350
+ interface Legacy3 {
351
+ bookmark_count: number;
352
+ bookmarked: boolean;
353
+ created_at: string;
354
+ conversation_id_str: string;
355
+ display_text_range: number[];
356
+ entities: Entities3;
357
+ favorite_count: number;
358
+ favorited: boolean;
359
+ full_text: string;
360
+ is_quote_status: boolean;
361
+ lang: string;
362
+ quote_count: number;
363
+ reply_count: number;
364
+ retweet_count: number;
365
+ retweeted: boolean;
366
+ user_id_str: string;
367
+ id_str: string;
368
+ }
369
+
370
+ interface Entities3 {
371
+ hashtags: any[];
372
+ symbols: any[];
373
+ timestamps: any[];
374
+ urls: any[];
375
+ user_mentions: any[];
376
+ }
377
+
378
+ interface FromUser {
379
+ __typename: string;
380
+ user_results: UserResults4;
381
+ }
382
+
383
+ interface UserResults4 {
384
+ result: Result5;
385
+ }
386
+
387
+ interface Result5 {
388
+ __typename: string;
389
+ id: string;
390
+ rest_id: string;
391
+ affiliates_highlighted_label: AffiliatesHighlightedLabel3;
392
+ avatar: Avatar3;
393
+ core: Core4;
394
+ dm_permissions: DmPermissions3;
395
+ follow_request_sent: boolean;
396
+ has_graduated_access: boolean;
397
+ is_blue_verified: boolean;
398
+ legacy: Legacy4;
399
+ location: Location3;
400
+ media_permissions: MediaPermissions3;
401
+ parody_commentary_fan_label: string;
402
+ profile_image_shape: string;
403
+ profile_bio: ProfileBio3;
404
+ privacy: Privacy3;
405
+ relationship_perspectives: RelationshipPerspectives3;
406
+ tipjar_settings: TipjarSettings3;
407
+ verification: Verification3;
408
+ verified_phone_status: boolean;
409
+ }
410
+
411
+ interface AffiliatesHighlightedLabel3 {}
412
+
413
+ interface Avatar3 {
414
+ image_url: string;
415
+ }
416
+
417
+ interface Core4 {
418
+ created_at: string;
419
+ name: string;
420
+ screen_name: string;
421
+ }
422
+
423
+ interface DmPermissions3 {
424
+ can_dm: boolean;
425
+ }
426
+
427
+ interface Legacy4 {
428
+ default_profile: boolean;
429
+ default_profile_image: boolean;
430
+ description: string;
431
+ entities: Entities4;
432
+ fast_followers_count: number;
433
+ favourites_count: number;
434
+ followers_count: number;
435
+ friends_count: number;
436
+ has_custom_timelines: boolean;
437
+ is_translator: boolean;
438
+ listed_count: number;
439
+ media_count: number;
440
+ normal_followers_count: number;
441
+ notifications: boolean;
442
+ pinned_tweet_ids_str: any[];
443
+ possibly_sensitive: boolean;
444
+ profile_interstitial_type: string;
445
+ statuses_count: number;
446
+ translator_type: string;
447
+ want_retweets: boolean;
448
+ withheld_in_countries: any[];
449
+ }
450
+
451
+ interface Entities4 {
452
+ description: Description3;
453
+ }
454
+
455
+ interface Description3 {
456
+ urls: any[];
457
+ }
458
+
459
+ interface Location3 {
460
+ location: string;
461
+ }
462
+
463
+ interface MediaPermissions3 {
464
+ can_media_tag: boolean;
465
+ }
466
+
467
+ interface ProfileBio3 {
468
+ description: string;
469
+ }
470
+
471
+ interface Privacy3 {
472
+ protected: boolean;
473
+ }
474
+
475
+ interface RelationshipPerspectives3 {
476
+ followed_by: boolean;
477
+ following: boolean;
478
+ }
479
+
480
+ interface TipjarSettings3 {}
481
+
482
+ interface Verification3 {
483
+ verified: boolean;
484
+ }
485
+
486
+ interface ClientEventInfo {
487
+ component: string;
488
+ element: string;
489
+ details: Details;
490
+ }
491
+
492
+ interface Details {
493
+ notificationDetails: NotificationDetails;
494
+ }
495
+
496
+ interface NotificationDetails {
497
+ impressionId: string;
498
+ metadata: string;
499
+ }
@@ -0,0 +1,80 @@
1
+ /* eslint-disable */
2
+
3
+ /**
4
+ * The raw data received when updating user profile.
5
+ *
6
+ * @public
7
+ */
8
+ export interface IUserProfileUpdateResponse {
9
+ id: number;
10
+ id_str: string;
11
+ name: string;
12
+ screen_name: string;
13
+ location: string;
14
+ description: string;
15
+ url: string | null;
16
+ entities: Entities;
17
+ protected: boolean;
18
+ followers_count: number;
19
+ fast_followers_count: number;
20
+ normal_followers_count: number;
21
+ friends_count: number;
22
+ listed_count: number;
23
+ created_at: string;
24
+ favourites_count: number;
25
+ utc_offset: any;
26
+ time_zone: any;
27
+ geo_enabled: boolean;
28
+ verified: boolean;
29
+ statuses_count: number;
30
+ media_count: number;
31
+ lang: any;
32
+ contributors_enabled: boolean;
33
+ is_translator: boolean;
34
+ is_translation_enabled: boolean;
35
+ profile_background_color: string;
36
+ profile_background_image_url: string;
37
+ profile_background_image_url_https: string;
38
+ profile_background_tile: boolean;
39
+ profile_image_url: string;
40
+ profile_image_url_https: string;
41
+ profile_banner_url: string;
42
+ profile_link_color: string;
43
+ profile_sidebar_border_color: string;
44
+ profile_sidebar_fill_color: string;
45
+ profile_text_color: string;
46
+ profile_use_background_image: boolean;
47
+ has_extended_profile: boolean;
48
+ default_profile: boolean;
49
+ default_profile_image: boolean;
50
+ pinned_tweet_ids: number[];
51
+ pinned_tweet_ids_str: string[];
52
+ has_custom_timelines: boolean;
53
+ can_media_tag: boolean;
54
+ advertiser_account_type: string;
55
+ advertiser_account_service_levels: any[];
56
+ business_profile_state: string;
57
+ translator_type: string;
58
+ withheld_in_countries: any[];
59
+ require_some_consent: boolean;
60
+ }
61
+
62
+ interface Entities {
63
+ description: Description;
64
+ url?: Url;
65
+ }
66
+
67
+ interface Description {
68
+ urls: any[];
69
+ }
70
+
71
+ interface Url {
72
+ urls: UrlDetail[];
73
+ }
74
+
75
+ interface UrlDetail {
76
+ url: string;
77
+ expanded_url: string;
78
+ display_url: string;
79
+ indices: number[];
80
+ }