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