@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,208 @@
1
+ /* eslint-disable */
2
+
3
+ /**
4
+ * The raw data received when fetching the retweets of a given tweet.
5
+ *
6
+ * @public
7
+ */
8
+ export interface ITweetRetweetersResponse {
9
+ data: Data;
10
+ }
11
+
12
+ interface Data {
13
+ retweeters_timeline: RetweetersTimeline;
14
+ }
15
+
16
+ interface RetweetersTimeline {
17
+ timeline: Timeline;
18
+ }
19
+
20
+ interface Timeline {
21
+ instructions: Instruction[];
22
+ responseObjects: ResponseObjects;
23
+ }
24
+
25
+ interface Instruction {
26
+ type: string;
27
+ entries: Entry[];
28
+ }
29
+
30
+ interface Entry {
31
+ entryId: string;
32
+ sortIndex: string;
33
+ content: Content;
34
+ }
35
+
36
+ interface Content {
37
+ entryType: string;
38
+ itemContent?: ItemContent;
39
+ value?: string;
40
+ cursorType?: string;
41
+ stopOnEmptyResponse?: boolean;
42
+ }
43
+
44
+ interface ItemContent {
45
+ itemType: string;
46
+ user_results: UserResults;
47
+ userDisplayType: string;
48
+ }
49
+
50
+ interface UserResults {
51
+ result: Result;
52
+ }
53
+
54
+ interface Result {
55
+ __typename: string;
56
+ id?: string;
57
+ rest_id?: string;
58
+ affiliates_highlighted_label?: AffiliatesHighlightedLabel;
59
+ has_nft_avatar?: boolean;
60
+ legacy?: Legacy;
61
+ super_follow_eligible?: boolean;
62
+ super_followed_by?: boolean;
63
+ super_following?: boolean;
64
+ professional?: Professional;
65
+ reason?: string;
66
+ }
67
+
68
+ interface AffiliatesHighlightedLabel {}
69
+
70
+ interface Legacy {
71
+ blocked_by: boolean;
72
+ blocking: boolean;
73
+ can_dm: boolean;
74
+ can_media_tag: boolean;
75
+ created_at: string;
76
+ default_profile: boolean;
77
+ default_profile_image: boolean;
78
+ description: string;
79
+ entities: Entities;
80
+ fast_followers_count: number;
81
+ favourites_count: number;
82
+ follow_request_sent: boolean;
83
+ followed_by: boolean;
84
+ followers_count: number;
85
+ following: boolean;
86
+ friends_count: number;
87
+ has_custom_timelines: boolean;
88
+ is_translator: boolean;
89
+ listed_count: number;
90
+ location: string;
91
+ media_count: number;
92
+ muting: boolean;
93
+ name: string;
94
+ normal_followers_count: number;
95
+ notifications: boolean;
96
+ pinned_tweet_ids_str: string[];
97
+ possibly_sensitive: boolean;
98
+ profile_banner_extensions?: ProfileBannerExtensions;
99
+ profile_banner_url?: string;
100
+ profile_image_extensions: ProfileImageExtensions;
101
+ profile_image_url_https: string;
102
+ profile_interstitial_type: string;
103
+ protected: boolean;
104
+ screen_name: string;
105
+ statuses_count: number;
106
+ translator_type: string;
107
+ verified: boolean;
108
+ want_retweets: boolean;
109
+ withheld_in_countries: any[];
110
+ url?: string;
111
+ }
112
+
113
+ interface Entities {
114
+ description: Description;
115
+ url?: Url2;
116
+ }
117
+
118
+ interface Description {
119
+ urls: Url[];
120
+ }
121
+
122
+ interface Url {
123
+ display_url: string;
124
+ expanded_url: string;
125
+ url: string;
126
+ indices: number[];
127
+ }
128
+
129
+ interface Url2 {
130
+ urls: Url3[];
131
+ }
132
+
133
+ interface Url3 {
134
+ display_url: string;
135
+ expanded_url: string;
136
+ url: string;
137
+ indices: number[];
138
+ }
139
+
140
+ interface ProfileBannerExtensions {
141
+ mediaColor: MediaColor;
142
+ }
143
+
144
+ interface MediaColor {
145
+ r: R;
146
+ }
147
+
148
+ interface R {
149
+ ok: Ok;
150
+ }
151
+
152
+ interface Ok {
153
+ palette: Palette[];
154
+ }
155
+
156
+ interface Palette {
157
+ percentage: number;
158
+ rgb: Rgb;
159
+ }
160
+
161
+ interface Rgb {
162
+ blue: number;
163
+ green: number;
164
+ red: number;
165
+ }
166
+
167
+ interface ProfileImageExtensions {
168
+ mediaColor: MediaColor2;
169
+ }
170
+
171
+ interface MediaColor2 {
172
+ r: R2;
173
+ }
174
+
175
+ interface R2 {
176
+ ok: Ok2;
177
+ }
178
+
179
+ interface Ok2 {
180
+ palette: Palette2[];
181
+ }
182
+
183
+ interface Palette2 {
184
+ percentage: number;
185
+ rgb: Rgb2;
186
+ }
187
+
188
+ interface Rgb2 {
189
+ blue: number;
190
+ green: number;
191
+ red: number;
192
+ }
193
+
194
+ interface Professional {
195
+ rest_id: string;
196
+ professional_type: string;
197
+ category: Category[];
198
+ }
199
+
200
+ interface Category {
201
+ id: number;
202
+ name: string;
203
+ }
204
+
205
+ interface ResponseObjects {
206
+ feedbackActions: any[];
207
+ immediateReactions: any[];
208
+ }
@@ -0,0 +1,18 @@
1
+ /* eslint-disable */
2
+
3
+ /**
4
+ * The raw data received after scheduling a tweet.
5
+ *
6
+ * @public
7
+ */
8
+ export interface ITweetScheduleResponse {
9
+ data: Data;
10
+ }
11
+
12
+ interface Data {
13
+ tweet: Tweet;
14
+ }
15
+
16
+ interface Tweet {
17
+ rest_id: string;
18
+ }