rettiwt-api 6.0.7 → 6.1.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 (220) hide show
  1. package/.github/ISSUE_TEMPLATE/bug-report.yml +57 -0
  2. package/.github/ISSUE_TEMPLATE/feature-request.yml +20 -0
  3. package/.github/ISSUE_TEMPLATE/question.yml +15 -0
  4. package/.github/PULL_REQUEST_TEMPLATE.md +32 -0
  5. package/.github/workflows/ci.yml +33 -0
  6. package/.nvmrc +1 -0
  7. package/README.md +30 -6
  8. package/dist/Rettiwt.d.ts +3 -0
  9. package/dist/Rettiwt.js +4 -0
  10. package/dist/Rettiwt.js.map +1 -1
  11. package/dist/cli.js +2 -0
  12. package/dist/cli.js.map +1 -1
  13. package/dist/collections/Extractors.d.ts +24 -0
  14. package/dist/collections/Extractors.js +14 -0
  15. package/dist/collections/Extractors.js.map +1 -1
  16. package/dist/collections/Groups.js +11 -0
  17. package/dist/collections/Groups.js.map +1 -1
  18. package/dist/collections/Requests.js +12 -0
  19. package/dist/collections/Requests.js.map +1 -1
  20. package/dist/commands/DirectMessage.d.ts +10 -0
  21. package/dist/commands/DirectMessage.js +57 -0
  22. package/dist/commands/DirectMessage.js.map +1 -0
  23. package/dist/commands/List.js +44 -3
  24. package/dist/commands/List.js.map +1 -1
  25. package/dist/commands/Tweet.js +29 -1
  26. package/dist/commands/Tweet.js.map +1 -1
  27. package/dist/commands/User.js +39 -1
  28. package/dist/commands/User.js.map +1 -1
  29. package/dist/enums/Data.d.ts +3 -1
  30. package/dist/enums/Data.js +2 -0
  31. package/dist/enums/Data.js.map +1 -1
  32. package/dist/enums/Resource.d.ts +11 -0
  33. package/dist/enums/Resource.js +12 -0
  34. package/dist/enums/Resource.js.map +1 -1
  35. package/dist/enums/raw/Analytics.d.ts +6 -3
  36. package/dist/enums/raw/Analytics.js +5 -2
  37. package/dist/enums/raw/Analytics.js.map +1 -1
  38. package/dist/index.d.ts +15 -0
  39. package/dist/index.js +8 -0
  40. package/dist/index.js.map +1 -1
  41. package/dist/models/args/FetchArgs.d.ts +9 -0
  42. package/dist/models/args/FetchArgs.js +16 -0
  43. package/dist/models/args/FetchArgs.js.map +1 -1
  44. package/dist/models/args/PostArgs.d.ts +1 -0
  45. package/dist/models/args/PostArgs.js +2 -0
  46. package/dist/models/args/PostArgs.js.map +1 -1
  47. package/dist/models/data/Analytics.d.ts +43 -0
  48. package/dist/models/data/Analytics.js +92 -0
  49. package/dist/models/data/Analytics.js.map +1 -0
  50. package/dist/models/data/Conversation.d.ts +93 -0
  51. package/dist/models/data/Conversation.js +293 -0
  52. package/dist/models/data/Conversation.js.map +1 -0
  53. package/dist/models/data/CursoredData.d.ts +2 -1
  54. package/dist/models/data/CursoredData.js +6 -1
  55. package/dist/models/data/CursoredData.js.map +1 -1
  56. package/dist/models/data/DirectMessage.d.ts +105 -0
  57. package/dist/models/data/DirectMessage.js +284 -0
  58. package/dist/models/data/DirectMessage.js.map +1 -0
  59. package/dist/models/data/Inbox.d.ts +44 -0
  60. package/dist/models/data/Inbox.js +106 -0
  61. package/dist/models/data/Inbox.js.map +1 -0
  62. package/dist/models/data/List.d.ts +20 -0
  63. package/dist/models/data/List.js +50 -1
  64. package/dist/models/data/List.js.map +1 -1
  65. package/dist/models/data/Tweet.d.ts +6 -6
  66. package/dist/models/data/Tweet.js +4 -2
  67. package/dist/models/data/Tweet.js.map +1 -1
  68. package/dist/models/data/User.d.ts +2 -0
  69. package/dist/models/data/User.js +6 -0
  70. package/dist/models/data/User.js.map +1 -1
  71. package/dist/requests/DirectMessage.d.ts +28 -0
  72. package/dist/requests/DirectMessage.js +149 -0
  73. package/dist/requests/DirectMessage.js.map +1 -0
  74. package/dist/requests/List.d.ts +10 -0
  75. package/dist/requests/List.js +52 -0
  76. package/dist/requests/List.js.map +1 -1
  77. package/dist/requests/Tweet.d.ts +8 -0
  78. package/dist/requests/Tweet.js +30 -0
  79. package/dist/requests/Tweet.js.map +1 -1
  80. package/dist/requests/User.d.ts +8 -1
  81. package/dist/requests/User.js +67 -8
  82. package/dist/requests/User.js.map +1 -1
  83. package/dist/services/public/DirectMessageService.d.ts +100 -0
  84. package/dist/services/public/DirectMessageService.js +143 -0
  85. package/dist/services/public/DirectMessageService.js.map +1 -0
  86. package/dist/services/public/FetcherService.d.ts +3 -2
  87. package/dist/services/public/FetcherService.js +64 -3
  88. package/dist/services/public/FetcherService.js.map +1 -1
  89. package/dist/services/public/ListService.d.ts +85 -0
  90. package/dist/services/public/ListService.js +111 -0
  91. package/dist/services/public/ListService.js.map +1 -1
  92. package/dist/services/public/TweetService.d.ts +56 -0
  93. package/dist/services/public/TweetService.js +72 -0
  94. package/dist/services/public/TweetService.js.map +1 -1
  95. package/dist/services/public/UserService.d.ts +61 -2
  96. package/dist/services/public/UserService.js +89 -0
  97. package/dist/services/public/UserService.js.map +1 -1
  98. package/dist/types/args/FetchArgs.d.ts +69 -12
  99. package/dist/types/args/PostArgs.d.ts +29 -11
  100. package/dist/types/data/Analytics.d.ts +42 -0
  101. package/dist/types/data/Analytics.js +3 -0
  102. package/dist/types/data/Analytics.js.map +1 -0
  103. package/dist/types/data/Conversation.d.ts +32 -0
  104. package/dist/types/data/Conversation.js +3 -0
  105. package/dist/types/data/Conversation.js.map +1 -0
  106. package/dist/types/data/CursoredData.d.ts +4 -1
  107. package/dist/types/data/DirectMessage.d.ts +25 -0
  108. package/dist/types/data/DirectMessage.js +3 -0
  109. package/dist/types/data/DirectMessage.js.map +1 -0
  110. package/dist/types/data/Inbox.d.ts +18 -0
  111. package/dist/types/data/Inbox.js +3 -0
  112. package/dist/types/data/Inbox.js.map +1 -0
  113. package/dist/types/data/List.d.ts +5 -1
  114. package/dist/types/data/Tweet.d.ts +6 -6
  115. package/dist/types/data/User.d.ts +4 -0
  116. package/dist/types/raw/base/Analytic.d.ts +6 -1
  117. package/dist/types/raw/base/Message.d.ts +16 -0
  118. package/dist/types/raw/base/Message.js +4 -0
  119. package/dist/types/raw/base/Message.js.map +1 -0
  120. package/dist/types/raw/base/Tweet.d.ts +6 -6
  121. package/dist/types/raw/base/User.d.ts +2 -1
  122. package/dist/types/raw/composite/TimelineList.d.ts +9 -0
  123. package/dist/types/raw/composite/TimelineList.js +3 -0
  124. package/dist/types/raw/composite/TimelineList.js.map +1 -0
  125. package/dist/types/raw/dm/Conversation.d.ts +55 -0
  126. package/dist/types/raw/dm/Conversation.js +4 -0
  127. package/dist/types/raw/dm/Conversation.js.map +1 -0
  128. package/dist/types/raw/dm/InboxInitial.d.ts +137 -0
  129. package/dist/types/raw/dm/InboxInitial.js +4 -0
  130. package/dist/types/raw/dm/InboxInitial.js.map +1 -0
  131. package/dist/types/raw/dm/InboxTimeline.d.ts +287 -0
  132. package/dist/types/raw/dm/InboxTimeline.js +4 -0
  133. package/dist/types/raw/dm/InboxTimeline.js.map +1 -0
  134. package/dist/types/raw/dm/UserUpdates.d.ts +41 -0
  135. package/dist/types/raw/dm/UserUpdates.js +4 -0
  136. package/dist/types/raw/dm/UserUpdates.js.map +1 -0
  137. package/dist/types/raw/list/AddMember.d.ts +151 -0
  138. package/dist/types/raw/list/AddMember.js +4 -0
  139. package/dist/types/raw/list/AddMember.js.map +1 -0
  140. package/dist/types/raw/list/Details.d.ts +44 -13
  141. package/dist/types/raw/list/RemoveMember.d.ts +150 -0
  142. package/dist/types/raw/list/RemoveMember.js +4 -0
  143. package/dist/types/raw/list/RemoveMember.js.map +1 -0
  144. package/dist/types/raw/tweet/Bookmark.d.ts +12 -0
  145. package/dist/types/raw/tweet/Bookmark.js +4 -0
  146. package/dist/types/raw/tweet/Bookmark.js.map +1 -0
  147. package/dist/types/raw/tweet/Unbookmark.d.ts +11 -0
  148. package/dist/types/raw/tweet/Unbookmark.js +4 -0
  149. package/dist/types/raw/tweet/Unbookmark.js.map +1 -0
  150. package/dist/types/raw/user/Analytics.d.ts +6 -18
  151. package/dist/types/raw/user/Analytics.js +0 -1
  152. package/dist/types/raw/user/Analytics.js.map +1 -1
  153. package/dist/types/raw/user/Lists.d.ts +319 -0
  154. package/dist/types/raw/user/Lists.js +4 -0
  155. package/dist/types/raw/user/Lists.js.map +1 -0
  156. package/eslint.config.mjs +1 -1
  157. package/package.json +13 -6
  158. package/playground/.env.example +1 -0
  159. package/playground/README.md +53 -0
  160. package/playground/index.js +15 -0
  161. package/playground/package.json +15 -0
  162. package/src/Rettiwt.ts +5 -0
  163. package/src/cli.ts +2 -0
  164. package/src/collections/Extractors.ts +29 -0
  165. package/src/collections/Groups.ts +11 -0
  166. package/src/collections/Requests.ts +20 -0
  167. package/src/commands/DirectMessage.ts +62 -0
  168. package/src/commands/List.ts +44 -3
  169. package/src/commands/Tweet.ts +29 -1
  170. package/src/commands/User.ts +65 -1
  171. package/src/enums/Data.ts +2 -0
  172. package/src/enums/Resource.ts +13 -0
  173. package/src/enums/raw/Analytics.ts +5 -2
  174. package/src/index.ts +15 -0
  175. package/src/models/args/FetchArgs.ts +17 -0
  176. package/src/models/args/PostArgs.ts +2 -0
  177. package/src/models/data/Analytics.ts +97 -0
  178. package/src/models/data/Conversation.ts +344 -0
  179. package/src/models/data/CursoredData.ts +7 -2
  180. package/src/models/data/DirectMessage.ts +335 -0
  181. package/src/models/data/Inbox.ts +124 -0
  182. package/src/models/data/List.ts +60 -1
  183. package/src/models/data/Tweet.ts +10 -8
  184. package/src/models/data/User.ts +6 -0
  185. package/src/requests/DirectMessage.ts +233 -0
  186. package/src/requests/List.ts +58 -0
  187. package/src/requests/Tweet.ts +32 -0
  188. package/src/requests/User.ts +70 -7
  189. package/src/services/public/DirectMessageService.ts +159 -0
  190. package/src/services/public/FetcherService.ts +86 -4
  191. package/src/services/public/ListService.ts +127 -0
  192. package/src/services/public/TweetService.ts +82 -0
  193. package/src/services/public/UserService.ts +110 -2
  194. package/src/types/args/FetchArgs.ts +77 -12
  195. package/src/types/args/PostArgs.ts +31 -11
  196. package/src/types/data/Analytics.ts +58 -0
  197. package/src/types/data/Conversation.ts +44 -0
  198. package/src/types/data/CursoredData.ts +4 -1
  199. package/src/types/data/DirectMessage.ts +33 -0
  200. package/src/types/data/Inbox.ts +23 -0
  201. package/src/types/data/List.ts +7 -1
  202. package/src/types/data/Tweet.ts +6 -6
  203. package/src/types/data/User.ts +6 -0
  204. package/src/types/raw/base/Analytic.ts +7 -1
  205. package/src/types/raw/base/Message.ts +22 -0
  206. package/src/types/raw/base/Tweet.ts +6 -6
  207. package/src/types/raw/base/User.ts +2 -1
  208. package/src/types/raw/composite/TimelineList.ts +10 -0
  209. package/src/types/raw/dm/Conversation.ts +59 -0
  210. package/src/types/raw/dm/InboxInitial.ts +155 -0
  211. package/src/types/raw/dm/InboxTimeline.ts +301 -0
  212. package/src/types/raw/dm/UserUpdates.ts +46 -0
  213. package/src/types/raw/list/AddMember.ts +175 -0
  214. package/src/types/raw/list/Details.ts +52 -13
  215. package/src/types/raw/list/RemoveMember.ts +174 -0
  216. package/src/types/raw/tweet/Bookmark.ts +14 -0
  217. package/src/types/raw/tweet/Unbookmark.ts +14 -0
  218. package/src/types/raw/user/Analytics.ts +6 -22
  219. package/src/types/raw/user/Lists.ts +378 -0
  220. package/tsconfig.json +1 -1
@@ -0,0 +1,301 @@
1
+ /* eslint-disable */
2
+
3
+ import { Users, Conversations } from './InboxInitial';
4
+
5
+ /**
6
+ * The raw data received when fetching the inbox timeline.
7
+ *
8
+ * @public
9
+ */
10
+ export interface IInboxTimelineResponse {
11
+ inbox_timeline: InboxTimeline;
12
+ }
13
+
14
+ interface InboxTimeline {
15
+ status: 'HAS_MORE' | 'AT_END';
16
+ min_entry_id: string;
17
+ entries: TimelineEntry[];
18
+ users: Users;
19
+ conversations: Conversations;
20
+ }
21
+
22
+ type TimelineEntry =
23
+ | { trust_conversation: TrustConversation }
24
+ | { message: TimelineMessage }
25
+ | { participants_leave: ParticipantsLeave };
26
+
27
+ interface TrustConversation {
28
+ id: string;
29
+ time: string;
30
+ affects_sort: boolean;
31
+ request_id: string;
32
+ conversation_id: string;
33
+ reason: string; // e.g., "accept"
34
+ }
35
+
36
+ export interface TimelineMessage {
37
+ id: string;
38
+ time: string;
39
+ affects_sort: boolean;
40
+ request_id: string;
41
+ conversation_id: string;
42
+ message_data: TimelineMessageData;
43
+ }
44
+
45
+ interface TimelineMessageData {
46
+ id: string;
47
+ time: string;
48
+ recipient_id?: string;
49
+ sender_id: string;
50
+ conversation_id?: string;
51
+ text: string;
52
+ edit_count: number;
53
+ entities?: MessageEntities;
54
+ reply_data?: ReplyData;
55
+ attachment?: MessageAttachment;
56
+ }
57
+
58
+ interface MessageEntities {
59
+ hashtags: any[];
60
+ symbols: any[];
61
+ user_mentions: UserMention[];
62
+ urls: UrlEntity[];
63
+ }
64
+
65
+ interface UserMention {
66
+ screen_name: string;
67
+ name: string;
68
+ id: number;
69
+ id_str: string;
70
+ indices: [number, number];
71
+ }
72
+
73
+ interface UrlEntity {
74
+ url: string;
75
+ expanded_url: string;
76
+ display_url: string;
77
+ indices: [number, number];
78
+ }
79
+
80
+ interface ReplyData {
81
+ id: string;
82
+ time: string;
83
+ recipient_id: string;
84
+ sender_id: string;
85
+ text: string;
86
+ edit_count: number;
87
+ entities?: MessageEntities;
88
+ }
89
+
90
+ interface MessageAttachment {
91
+ card?: CardAttachment;
92
+ tweet?: TweetAttachment;
93
+ }
94
+
95
+ interface CardAttachment {
96
+ name: string;
97
+ url: string;
98
+ card_type_url: string;
99
+ binding_values: CardBindingValues;
100
+ }
101
+
102
+ interface CardBindingValues {
103
+ vanity_url?: StringValue;
104
+ domain?: StringValue;
105
+ title?: StringValue;
106
+ description?: StringValue;
107
+ thumbnail_image_small?: ImageValue;
108
+ thumbnail_image?: ImageValue;
109
+ thumbnail_image_large?: ImageValue;
110
+ thumbnail_image_x_large?: ImageValue;
111
+ thumbnail_image_color?: ImageColorValue;
112
+ thumbnail_image_original?: ImageValue;
113
+ summary_photo_image_small?: ImageValue;
114
+ summary_photo_image?: ImageValue;
115
+ summary_photo_image_large?: ImageValue;
116
+ summary_photo_image_x_large?: ImageValue;
117
+ summary_photo_image_color?: ImageColorValue;
118
+ summary_photo_image_original?: ImageValue;
119
+ photo_image_full_size_small?: ImageValue;
120
+ photo_image_full_size?: ImageValue;
121
+ photo_image_full_size_large?: ImageValue;
122
+ photo_image_full_size_x_large?: ImageValue;
123
+ photo_image_full_size_color?: ImageColorValue;
124
+ photo_image_full_size_original?: ImageValue;
125
+ card_url?: StringValue;
126
+ }
127
+
128
+ interface StringValue {
129
+ type: 'STRING';
130
+ string_value: string;
131
+ scribe_key?: string;
132
+ }
133
+
134
+ interface ImageValue {
135
+ type: 'IMAGE';
136
+ image_value: {
137
+ url: string;
138
+ width: number;
139
+ height: number;
140
+ alt: string | null;
141
+ };
142
+ }
143
+
144
+ interface ImageColorValue {
145
+ type: 'IMAGE_COLOR';
146
+ image_color_value: {
147
+ palette: ColorPalette[];
148
+ };
149
+ }
150
+
151
+ interface ColorPalette {
152
+ percentage: number;
153
+ rgb: {
154
+ red: number;
155
+ green: number;
156
+ blue: number;
157
+ };
158
+ }
159
+
160
+ interface TweetAttachment {
161
+ id: string;
162
+ url: string;
163
+ display_url: string;
164
+ expanded_url: string;
165
+ indices: [number, number];
166
+ status: TwitterStatus;
167
+ }
168
+
169
+ interface TwitterStatus {
170
+ created_at: string;
171
+ id: number;
172
+ id_str: string;
173
+ full_text: string;
174
+ truncated: boolean;
175
+ display_text_range: [number, number];
176
+ entities: MessageEntities;
177
+ source: string;
178
+ in_reply_to_status_id: number | null;
179
+ in_reply_to_status_id_str: string | null;
180
+ in_reply_to_user_id: number | null;
181
+ in_reply_to_user_id_str: string | null;
182
+ in_reply_to_screen_name: string | null;
183
+ user: TwitterUser;
184
+ geo: any;
185
+ coordinates: any;
186
+ place: any;
187
+ contributors: any;
188
+ is_quote_status: boolean;
189
+ retweet_count: number;
190
+ favorite_count: number;
191
+ reply_count: number;
192
+ quote_count: number;
193
+ favorited: boolean;
194
+ retweeted: boolean;
195
+ lang: string;
196
+ supplemental_language: string | null;
197
+ ext: TwitterExtensions;
198
+ }
199
+
200
+ interface TwitterUser {
201
+ id: number;
202
+ id_str: string;
203
+ name: string;
204
+ screen_name: string;
205
+ location: string;
206
+ description: string;
207
+ url: string;
208
+ entities: UserEntityInfo;
209
+ protected: boolean;
210
+ followers_count: number;
211
+ fast_followers_count: number;
212
+ normal_followers_count: number;
213
+ friends_count: number;
214
+ listed_count: number;
215
+ created_at: string;
216
+ favourites_count: number;
217
+ utc_offset: any;
218
+ time_zone: any;
219
+ geo_enabled: boolean;
220
+ verified: boolean;
221
+ statuses_count: number;
222
+ media_count: number;
223
+ lang: any;
224
+ contributors_enabled: boolean;
225
+ is_translator: boolean;
226
+ is_translation_enabled: boolean;
227
+ profile_background_color: string;
228
+ profile_background_image_url: string | null;
229
+ profile_background_image_url_https: string | null;
230
+ profile_background_tile: boolean;
231
+ profile_image_url: string;
232
+ profile_image_url_https: string;
233
+ profile_banner_url: string;
234
+ profile_link_color: string;
235
+ profile_sidebar_border_color: string;
236
+ profile_sidebar_fill_color: string;
237
+ profile_text_color: string;
238
+ profile_use_background_image: boolean;
239
+ default_profile: boolean;
240
+ default_profile_image: boolean;
241
+ pinned_tweet_ids: number[];
242
+ pinned_tweet_ids_str: string[];
243
+ has_custom_timelines: boolean;
244
+ can_dm: any;
245
+ can_media_tag: boolean;
246
+ following: boolean;
247
+ follow_request_sent: boolean;
248
+ notifications: boolean;
249
+ muting: any;
250
+ blocking: boolean;
251
+ blocked_by: boolean;
252
+ want_retweets: boolean;
253
+ advertiser_account_type: string;
254
+ advertiser_account_service_levels: any[];
255
+ business_profile_state: string;
256
+ translator_type: string;
257
+ withheld_in_countries: any[];
258
+ followed_by: boolean;
259
+ ext: TwitterExtensions;
260
+ require_some_consent: boolean;
261
+ }
262
+
263
+ interface UserEntityInfo {
264
+ url: {
265
+ urls: UrlEntity[];
266
+ };
267
+ description: {
268
+ urls: UrlEntity[];
269
+ };
270
+ }
271
+
272
+ interface TwitterExtensions {
273
+ businessAffiliationsLabel?: {
274
+ r: { ok: any };
275
+ ttl: number;
276
+ };
277
+ superFollowMetadata?: {
278
+ r: { ok: any };
279
+ ttl: number;
280
+ };
281
+ parodyCommentaryFanLabel?: {
282
+ r: { ok: string };
283
+ ttl: number;
284
+ };
285
+ highlightedLabel?: {
286
+ r: { ok: any };
287
+ ttl: number;
288
+ };
289
+ }
290
+
291
+ interface ParticipantsLeave {
292
+ id: string;
293
+ time: string;
294
+ affects_sort: boolean;
295
+ conversation_id: string;
296
+ participants: ParticipantInfo[];
297
+ }
298
+
299
+ interface ParticipantInfo {
300
+ user_id: string;
301
+ }
@@ -0,0 +1,46 @@
1
+ /* eslint-disable */
2
+
3
+ import { Users, Conversations, InboxInitialState } from './InboxInitial';
4
+
5
+ /**
6
+ * The raw data received when fetching user updates from the DM system.
7
+ * The response structure varies based on query parameters.
8
+ *
9
+ * @public
10
+ */
11
+ export interface IUserUpdatesResponse {
12
+ user_events?: UserEvents;
13
+ inbox_initial_state?: InboxInitialState;
14
+ }
15
+
16
+ /**
17
+ * User events can have different structures based on the request type:
18
+ * - With active_conversation_id + cursor: Full data with users and conversations
19
+ * - Without active_conversation_id and cursor: Same as inbox initial (see IInboxInitialResponse)
20
+ * - With cursor only: Minimal data with just event IDs and cursor
21
+ */
22
+ type UserEvents = UserEventsWithData | UserEventsMinimal;
23
+
24
+ /**
25
+ * Full user events data returned when requesting with active_conversation_id and cursor.
26
+ * Used for conversation-specific updates with user and conversation context.
27
+ */
28
+ interface UserEventsWithData {
29
+ cursor: string;
30
+ last_seen_event_id: string;
31
+ trusted_last_seen_event_id: string;
32
+ untrusted_last_seen_event_id: string;
33
+ users: Users;
34
+ conversations: Conversations;
35
+ }
36
+
37
+ /**
38
+ * Minimal user events data returned when requesting with cursor only (no active_conversation_id).
39
+ * Used for lightweight polling of event state without full data.
40
+ */
41
+ interface UserEventsMinimal {
42
+ cursor: string;
43
+ last_seen_event_id: string;
44
+ trusted_last_seen_event_id: string;
45
+ untrusted_last_seen_event_id: string;
46
+ }
@@ -0,0 +1,175 @@
1
+ /* eslint-disable */
2
+
3
+ /**
4
+ * The raw data received after adding a member to a tweet list.
5
+ *
6
+ * @public
7
+ */
8
+ export interface IListMemberAddResponse {
9
+ data: Data;
10
+ }
11
+
12
+ export interface Data {
13
+ list: List;
14
+ }
15
+
16
+ export interface List {
17
+ created_at: number;
18
+ default_banner_media: DefaultBannerMedia;
19
+ default_banner_media_results: DefaultBannerMediaResults;
20
+ description: string;
21
+ facepile_urls: any[];
22
+ following: boolean;
23
+ id: string;
24
+ id_str: string;
25
+ is_member: boolean;
26
+ member_count: number;
27
+ members_context: string;
28
+ mode: string;
29
+ muting: boolean;
30
+ name: string;
31
+ pinning: boolean;
32
+ subscriber_count: number;
33
+ user_results: UserResults;
34
+ }
35
+
36
+ export interface DefaultBannerMedia {
37
+ media_info: MediaInfo;
38
+ }
39
+
40
+ export interface MediaInfo {
41
+ original_img_url: string;
42
+ original_img_width: number;
43
+ original_img_height: number;
44
+ salient_rect: SalientRect;
45
+ }
46
+
47
+ export interface SalientRect {
48
+ left: number;
49
+ top: number;
50
+ width: number;
51
+ height: number;
52
+ }
53
+
54
+ export interface DefaultBannerMediaResults {
55
+ result: Result;
56
+ }
57
+
58
+ export interface Result {
59
+ id: string;
60
+ media_key: string;
61
+ media_id: string;
62
+ media_info: MediaInfo2;
63
+ __typename: string;
64
+ }
65
+
66
+ export interface MediaInfo2 {
67
+ __typename: string;
68
+ original_img_height: number;
69
+ original_img_width: number;
70
+ original_img_url: string;
71
+ salient_rect: SalientRect2;
72
+ }
73
+
74
+ export interface SalientRect2 {
75
+ height: number;
76
+ left: number;
77
+ top: number;
78
+ width: number;
79
+ }
80
+
81
+ export interface UserResults {
82
+ result: Result2;
83
+ }
84
+
85
+ export interface Result2 {
86
+ __typename: string;
87
+ id: string;
88
+ rest_id: string;
89
+ affiliates_highlighted_label: AffiliatesHighlightedLabel;
90
+ avatar: Avatar;
91
+ core: Core;
92
+ dm_permissions: DmPermissions;
93
+ has_graduated_access: boolean;
94
+ is_blue_verified: boolean;
95
+ legacy: Legacy;
96
+ location: Location;
97
+ media_permissions: MediaPermissions;
98
+ parody_commentary_fan_label: string;
99
+ profile_image_shape: string;
100
+ privacy: Privacy;
101
+ relationship_perspectives: RelationshipPerspectives;
102
+ tipjar_settings: TipjarSettings;
103
+ verification: Verification;
104
+ verified_phone_status: boolean;
105
+ }
106
+
107
+ export interface AffiliatesHighlightedLabel {}
108
+
109
+ export interface Avatar {
110
+ image_url: string;
111
+ }
112
+
113
+ export interface Core {
114
+ created_at: string;
115
+ name: string;
116
+ screen_name: string;
117
+ }
118
+
119
+ export interface DmPermissions {
120
+ can_dm: boolean;
121
+ }
122
+
123
+ export interface Legacy {
124
+ default_profile: boolean;
125
+ default_profile_image: boolean;
126
+ description: string;
127
+ entities: Entities;
128
+ fast_followers_count: number;
129
+ favourites_count: number;
130
+ followers_count: number;
131
+ friends_count: number;
132
+ has_custom_timelines: boolean;
133
+ is_translator: boolean;
134
+ listed_count: number;
135
+ media_count: number;
136
+ needs_phone_verification: boolean;
137
+ normal_followers_count: number;
138
+ pinned_tweet_ids_str: any[];
139
+ possibly_sensitive: boolean;
140
+ profile_interstitial_type: string;
141
+ statuses_count: number;
142
+ translator_type: string;
143
+ want_retweets: boolean;
144
+ withheld_in_countries: any[];
145
+ }
146
+
147
+ export interface Entities {
148
+ description: Description;
149
+ }
150
+
151
+ export interface Description {
152
+ urls: any[];
153
+ }
154
+
155
+ export interface Location {
156
+ location: string;
157
+ }
158
+
159
+ export interface MediaPermissions {
160
+ can_media_tag: boolean;
161
+ }
162
+
163
+ export interface Privacy {
164
+ protected: boolean;
165
+ }
166
+
167
+ export interface RelationshipPerspectives {
168
+ following: boolean;
169
+ }
170
+
171
+ export interface TipjarSettings {}
172
+
173
+ export interface Verification {
174
+ verified: boolean;
175
+ }
@@ -18,19 +18,20 @@ interface List {
18
18
  default_banner_media: DefaultBannerMedia;
19
19
  default_banner_media_results: DefaultBannerMediaResults;
20
20
  description: string;
21
+ facepile_urls: string[];
22
+ followers_context: string;
21
23
  following: boolean;
22
24
  id: string;
23
25
  id_str: string;
24
26
  is_member: boolean;
25
27
  member_count: number;
28
+ members_context: string;
26
29
  mode: string;
27
30
  muting: boolean;
28
31
  name: string;
32
+ pinning: boolean;
29
33
  subscriber_count: number;
30
34
  user_results: UserResults;
31
- facepile_urls: string[];
32
- followers_context: string;
33
- members_context: string;
34
35
  }
35
36
 
36
37
  interface DefaultBannerMedia {
@@ -87,19 +88,40 @@ interface Result2 {
87
88
  id: string;
88
89
  rest_id: string;
89
90
  affiliates_highlighted_label: AffiliatesHighlightedLabel;
91
+ avatar: Avatar;
92
+ core: Core;
93
+ dm_permissions: DmPermissions;
90
94
  has_graduated_access: boolean;
91
95
  is_blue_verified: boolean;
92
- profile_image_shape: string;
93
96
  legacy: Legacy;
97
+ location: Location;
98
+ media_permissions: MediaPermissions;
99
+ parody_commentary_fan_label: string;
100
+ profile_image_shape: string;
101
+ privacy: Privacy;
102
+ relationship_perspectives: RelationshipPerspectives;
103
+ tipjar_settings: TipjarSettings;
104
+ verification: Verification;
94
105
  verified_phone_status: boolean;
95
106
  }
96
107
 
97
108
  interface AffiliatesHighlightedLabel {}
98
109
 
99
- interface Legacy {
100
- can_dm: boolean;
101
- can_media_tag: boolean;
110
+ interface Avatar {
111
+ image_url: string;
112
+ }
113
+
114
+ interface Core {
102
115
  created_at: string;
116
+ name: string;
117
+ screen_name: string;
118
+ }
119
+
120
+ interface DmPermissions {
121
+ can_dm: boolean;
122
+ }
123
+
124
+ interface Legacy {
103
125
  default_profile: boolean;
104
126
  default_profile_image: boolean;
105
127
  description: string;
@@ -111,19 +133,14 @@ interface Legacy {
111
133
  has_custom_timelines: boolean;
112
134
  is_translator: boolean;
113
135
  listed_count: number;
114
- location: string;
115
136
  media_count: number;
116
- name: string;
117
137
  normal_followers_count: number;
118
- pinned_tweet_ids_str: any[];
138
+ pinned_tweet_ids_str: string[];
119
139
  possibly_sensitive: boolean;
120
140
  profile_banner_url: string;
121
- profile_image_url_https: string;
122
141
  profile_interstitial_type: string;
123
- screen_name: string;
124
142
  statuses_count: number;
125
143
  translator_type: string;
126
- verified: boolean;
127
144
  want_retweets: boolean;
128
145
  withheld_in_countries: any[];
129
146
  }
@@ -135,3 +152,25 @@ interface Entities {
135
152
  interface Description {
136
153
  urls: any[];
137
154
  }
155
+
156
+ interface Location {
157
+ location: string;
158
+ }
159
+
160
+ interface MediaPermissions {
161
+ can_media_tag: boolean;
162
+ }
163
+
164
+ interface Privacy {
165
+ protected: boolean;
166
+ }
167
+
168
+ interface RelationshipPerspectives {
169
+ following: boolean;
170
+ }
171
+
172
+ interface TipjarSettings {}
173
+
174
+ interface Verification {
175
+ verified: boolean;
176
+ }