@youmind-openlab/rettiwt-api 1.0.3 → 1.0.4

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 (61) hide show
  1. package/.devcontainer/devcontainer.json +20 -0
  2. package/README.md +326 -256
  3. package/dist/collections/Extractors.d.ts +9 -2
  4. package/dist/collections/Extractors.js +8 -1
  5. package/dist/collections/Extractors.js.map +1 -1
  6. package/dist/collections/Groups.js +5 -0
  7. package/dist/collections/Groups.js.map +1 -1
  8. package/dist/collections/Requests.js +5 -0
  9. package/dist/collections/Requests.js.map +1 -1
  10. package/dist/commands/User.js +126 -0
  11. package/dist/commands/User.js.map +1 -1
  12. package/dist/enums/Resource.d.ts +6 -1
  13. package/dist/enums/Resource.js +5 -0
  14. package/dist/enums/Resource.js.map +1 -1
  15. package/dist/index.d.ts +2 -0
  16. package/dist/index.js.map +1 -1
  17. package/dist/models/args/PostArgs.d.ts +16 -1
  18. package/dist/models/args/PostArgs.js +44 -1
  19. package/dist/models/args/PostArgs.js.map +1 -1
  20. package/dist/requests/Tweet.d.ts +4 -0
  21. package/dist/requests/Tweet.js +57 -0
  22. package/dist/requests/Tweet.js.map +1 -1
  23. package/dist/requests/User.d.ts +25 -0
  24. package/dist/requests/User.js +59 -0
  25. package/dist/requests/User.js.map +1 -1
  26. package/dist/services/public/FetcherService.d.ts +14 -2
  27. package/dist/services/public/FetcherService.js +21 -6
  28. package/dist/services/public/FetcherService.js.map +1 -1
  29. package/dist/services/public/TweetService.js +9 -6
  30. package/dist/services/public/TweetService.js.map +1 -1
  31. package/dist/services/public/UserService.d.ts +45 -0
  32. package/dist/services/public/UserService.js +211 -0
  33. package/dist/services/public/UserService.js.map +1 -1
  34. package/dist/types/args/PostArgs.d.ts +44 -1
  35. package/dist/types/raw/tweet/Post.d.ts +16 -1
  36. package/dist/types/raw/user/ChangePassword.d.ts +8 -0
  37. package/dist/types/raw/user/ChangePassword.js +3 -0
  38. package/dist/types/raw/user/ChangePassword.js.map +1 -0
  39. package/dist/types/raw/user/ProfileUpdate.d.ts +1 -0
  40. package/dist/types/raw/user/Settings.d.ts +21 -0
  41. package/dist/types/raw/user/Settings.js +4 -0
  42. package/dist/types/raw/user/Settings.js.map +1 -0
  43. package/package.json +4 -2
  44. package/src/collections/Extractors.ts +15 -3
  45. package/src/collections/Groups.ts +5 -0
  46. package/src/collections/Requests.ts +6 -0
  47. package/src/commands/User.ts +146 -0
  48. package/src/enums/Resource.ts +5 -0
  49. package/src/index.ts +2 -0
  50. package/src/models/args/PostArgs.ts +49 -1
  51. package/src/requests/Tweet.ts +59 -0
  52. package/src/requests/User.ts +63 -0
  53. package/src/services/public/FetcherService.ts +27 -7
  54. package/src/services/public/TweetService.ts +10 -7
  55. package/src/services/public/UserService.ts +265 -0
  56. package/src/types/args/PostArgs.ts +50 -1
  57. package/src/types/raw/tweet/Post.ts +19 -1
  58. package/src/types/raw/user/ChangePassword.ts +8 -0
  59. package/src/types/raw/user/ProfileUpdate.ts +1 -0
  60. package/src/types/raw/user/Settings.ts +23 -0
  61. package/.claude/settings.local.json +0 -9
@@ -1,10 +1,17 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.UserService = void 0;
7
+ const axios_1 = __importDefault(require("axios"));
8
+ const cookiejar_1 = require("cookiejar");
4
9
  const Extractors_1 = require("../../collections/Extractors");
5
10
  const Analytics_1 = require("../../enums/raw/Analytics");
6
11
  const Resource_1 = require("../../enums/Resource");
7
12
  const ProfileArgs_1 = require("../../models/args/ProfileArgs");
13
+ const AuthCredential_1 = require("../../models/auth/AuthCredential");
14
+ const AuthService_1 = require("../internal/AuthService");
8
15
  const FetcherService_1 = require("./FetcherService");
9
16
  /**
10
17
  * Handles interacting with resources related to user account
@@ -20,6 +27,119 @@ class UserService extends FetcherService_1.FetcherService {
20
27
  constructor(config) {
21
28
  super(config);
22
29
  }
30
+ _base64ByteSize(base64Data) {
31
+ const paddingMatch = base64Data.match(/=+$/);
32
+ const paddingLength = paddingMatch ? paddingMatch[0].length : 0;
33
+ return (base64Data.length * 3) / 4 - paddingLength;
34
+ }
35
+ _normalizeBase64(payload) {
36
+ const trimmedPayload = payload.trim();
37
+ const lowerCasePayload = trimmedPayload.toLowerCase();
38
+ const base64Marker = ';base64,';
39
+ if (lowerCasePayload.startsWith('data:')) {
40
+ const markerIndex = lowerCasePayload.indexOf(base64Marker);
41
+ if (markerIndex !== -1) {
42
+ return trimmedPayload.slice(markerIndex + base64Marker.length).trim();
43
+ }
44
+ }
45
+ return trimmedPayload;
46
+ }
47
+ _refreshApiKeyFromResponseCookies(setCookieHeader) {
48
+ if (!this.config.apiKey || !setCookieHeader) {
49
+ return;
50
+ }
51
+ const requiredCookieNames = new Set(['auth_token', 'ct0', 'kdt', 'twid']);
52
+ const currentCookieString = AuthService_1.AuthService.decodeCookie(this.config.apiKey);
53
+ const cookiePairs = this._splitSetCookieHeader(setCookieHeader);
54
+ const cookiesMap = new Map();
55
+ for (const cookieEntry of currentCookieString.split(';')) {
56
+ const trimmedEntry = cookieEntry.trim();
57
+ const separatorIndex = trimmedEntry.indexOf('=');
58
+ if (!trimmedEntry || separatorIndex < 1) {
59
+ continue;
60
+ }
61
+ const key = trimmedEntry.slice(0, separatorIndex).trim();
62
+ const value = trimmedEntry.slice(separatorIndex + 1).trim();
63
+ if (!key || !value || !requiredCookieNames.has(key)) {
64
+ continue;
65
+ }
66
+ cookiesMap.set(key, value);
67
+ }
68
+ let hasUpdate = false;
69
+ for (const cookiePair of cookiePairs) {
70
+ const cookieValuePair = cookiePair.split(';', 1)[0]?.trim();
71
+ const separatorIndex = cookieValuePair?.indexOf('=') ?? -1;
72
+ if (!cookieValuePair || separatorIndex < 1) {
73
+ continue;
74
+ }
75
+ const key = cookieValuePair.slice(0, separatorIndex).trim();
76
+ const value = cookieValuePair.slice(separatorIndex + 1).trim();
77
+ if (!key || !value || !requiredCookieNames.has(key)) {
78
+ continue;
79
+ }
80
+ cookiesMap.set(key, value);
81
+ hasUpdate = true;
82
+ }
83
+ if (!hasUpdate || !cookiesMap.has('twid')) {
84
+ return;
85
+ }
86
+ let mergedCookieString = '';
87
+ for (const [key, value] of cookiesMap.entries()) {
88
+ mergedCookieString += `${key}=${value};`;
89
+ }
90
+ if (!mergedCookieString) {
91
+ return;
92
+ }
93
+ try {
94
+ this.config.apiKey = AuthService_1.AuthService.encodeCookie(mergedCookieString);
95
+ }
96
+ catch {
97
+ // Ignore cookie rotation errors and leave existing apiKey unchanged.
98
+ }
99
+ }
100
+ /**
101
+ * Fetches a fresh ct0 (CSRF token) from Twitter by making a lightweight
102
+ * authenticated request, then rotates the apiKey with the updated cookie.
103
+ */
104
+ async _refreshCsrfToken() {
105
+ if (!this.config.apiKey) {
106
+ return;
107
+ }
108
+ try {
109
+ const cred = new AuthCredential_1.AuthCredential(AuthService_1.AuthService.decodeCookie(this.config.apiKey)
110
+ .split(';')
111
+ .map((item) => new cookiejar_1.Cookie(item)));
112
+ const refreshResponse = await axios_1.default.get('https://x.com/i/api/1.1/account/verify_credentials.json', {
113
+ headers: {
114
+ ...cred.toHeader(),
115
+ authorization: 'Bearer AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA',
116
+ },
117
+ httpAgent: this.config.httpsAgent,
118
+ httpsAgent: this.config.httpsAgent,
119
+ validateStatus: () => true,
120
+ });
121
+ this._refreshApiKeyFromResponseCookies(refreshResponse.headers['set-cookie']);
122
+ }
123
+ catch {
124
+ // Best-effort: if ct0 refresh fails, leave apiKey as-is
125
+ }
126
+ }
127
+ _splitSetCookieHeader(setCookieHeader) {
128
+ if (Array.isArray(setCookieHeader)) {
129
+ return setCookieHeader;
130
+ }
131
+ return setCookieHeader.split(/,(?=\s*[^;,]+=)/g);
132
+ }
133
+ _validateBase64Payload(payload, fieldName) {
134
+ const normalizedPayload = this._normalizeBase64(payload).replace(/\s+/g, '');
135
+ if (normalizedPayload.length === 0) {
136
+ throw new Error(`${fieldName} cannot be empty`);
137
+ }
138
+ if (!/^[A-Za-z0-9+/]*={0,2}$/.test(normalizedPayload)) {
139
+ throw new Error(`${fieldName} must be valid base64`);
140
+ }
141
+ return normalizedPayload;
142
+ }
23
143
  /**
24
144
  * Get the about profile of a user.
25
145
  *
@@ -253,6 +373,57 @@ class UserService extends FetcherService_1.FetcherService {
253
373
  const data = Extractors_1.Extractors[resource](response);
254
374
  return data;
255
375
  }
376
+ /**
377
+ * Changes the password of the authenticated user.
378
+ *
379
+ * @param currentPassword - The current account password.
380
+ * @param newPassword - The new password to set.
381
+ * @returns Whether the password was changed successfully.
382
+ *
383
+ * @remarks
384
+ * After a successful password change, this method attempts to rotate the current
385
+ * `apiKey` using cookies returned by Twitter. If rotation is not possible, you
386
+ * must re-authenticate and obtain a new `apiKey` to continue making authenticated
387
+ * requests.
388
+ */
389
+ async changePassword(currentPassword, newPassword) {
390
+ const resource = Resource_1.ResourceType.USER_PASSWORD_CHANGE;
391
+ const response = await this.requestWithResponse(resource, {
392
+ changePassword: { currentPassword, newPassword },
393
+ });
394
+ const data = Extractors_1.Extractors[resource](response.data) ?? false;
395
+ if (data) {
396
+ this._refreshApiKeyFromResponseCookies(response.headers['set-cookie']);
397
+ await this._refreshCsrfToken();
398
+ }
399
+ return data;
400
+ }
401
+ /**
402
+ * Changes the username (screen_name) of the authenticated user.
403
+ *
404
+ * @param newUsername - The new username (with or without `@`).
405
+ * @returns Whether the username was changed successfully.
406
+ */
407
+ async changeUsername(newUsername) {
408
+ const resource = Resource_1.ResourceType.USER_USERNAME_CHANGE;
409
+ // Strip @ prefix if present
410
+ const username = newUsername.startsWith('@') ? newUsername.slice(1) : newUsername;
411
+ // Username validation
412
+ if (username.length < 4) {
413
+ throw new Error('Username must be at least 4 characters long');
414
+ }
415
+ if (username.length > 15) {
416
+ throw new Error('Username cannot exceed 15 characters');
417
+ }
418
+ if (!/^[A-Za-z0-9_]+$/.test(username)) {
419
+ throw new Error('Username can only contain letters, numbers, and underscores');
420
+ }
421
+ const response = await this.request(resource, {
422
+ username,
423
+ });
424
+ const updatedUsername = Extractors_1.Extractors[resource](response);
425
+ return updatedUsername?.toLowerCase() === username.toLowerCase();
426
+ }
256
427
  async details(id) {
257
428
  let resource;
258
429
  // If details of multiple users required
@@ -951,6 +1122,46 @@ class UserService extends FetcherService_1.FetcherService {
951
1122
  const data = Extractors_1.Extractors[resource](response) ?? false;
952
1123
  return data;
953
1124
  }
1125
+ /**
1126
+ * Updates the profile banner of the authenticated user.
1127
+ *
1128
+ * @param bannerBase64 - The base64-encoded banner image data.
1129
+ * @returns Whether the profile banner was updated successfully.
1130
+ */
1131
+ async updateProfileBanner(bannerBase64) {
1132
+ const resource = Resource_1.ResourceType.USER_PROFILE_BANNER_UPDATE;
1133
+ const validatedBanner = this._validateBase64Payload(bannerBase64, 'Profile banner');
1134
+ // Banner size validation (max 5 MB)
1135
+ const bannerSizeBytes = this._base64ByteSize(validatedBanner);
1136
+ if (bannerSizeBytes > 5 * 1024 * 1024) {
1137
+ throw new Error('Profile banner cannot exceed 5 MB');
1138
+ }
1139
+ const response = await this.request(resource, {
1140
+ profileBanner: validatedBanner,
1141
+ });
1142
+ const data = Extractors_1.Extractors[resource](response) ?? false;
1143
+ return data;
1144
+ }
1145
+ /**
1146
+ * Updates the profile image of the authenticated user.
1147
+ *
1148
+ * @param imageBase64 - The base64-encoded image data.
1149
+ * @returns Whether the profile image was updated successfully.
1150
+ */
1151
+ async updateProfileImage(imageBase64) {
1152
+ const resource = Resource_1.ResourceType.USER_PROFILE_IMAGE_UPDATE;
1153
+ const validatedImage = this._validateBase64Payload(imageBase64, 'Profile image');
1154
+ // Image size validation (max 2 MB)
1155
+ const imageSizeBytes = this._base64ByteSize(validatedImage);
1156
+ if (imageSizeBytes > 2 * 1024 * 1024) {
1157
+ throw new Error('Profile image cannot exceed 2 MB');
1158
+ }
1159
+ const response = await this.request(resource, {
1160
+ profileImage: validatedImage,
1161
+ });
1162
+ const data = Extractors_1.Extractors[resource](response) ?? false;
1163
+ return data;
1164
+ }
954
1165
  }
955
1166
  exports.UserService = UserService;
956
1167
  //# sourceMappingURL=UserService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UserService.js","sourceRoot":"","sources":["../../../src/services/public/UserService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UserService.js","sourceRoot":"","sources":["../../../src/services/public/UserService.ts"],"names":[],"mappings":"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"}
@@ -19,8 +19,18 @@ export interface IPostArgs {
19
19
  * - {@link ResourceType.TWEET_UNRETWEET}
20
20
  * - {@link ResourceType.USER_FOLLOW}
21
21
  * - {@link ResourceType.USER_UNFOLLOW}
22
+ *
23
+ * For {@link ResourceType.USER_USERNAME_CHANGE}, use {@link IPostArgs.username}.
24
+ * `id` is still accepted for backward compatibility.
22
25
  */
23
26
  id?: string;
27
+ /**
28
+ * The new username to set.
29
+ *
30
+ * @remarks
31
+ * Required only when changing username using {@link ResourceType.USER_USERNAME_CHANGE}.
32
+ */
33
+ username?: string;
24
34
  /**
25
35
  * The tweet that is to be posted.
26
36
  *
@@ -61,6 +71,27 @@ export interface IPostArgs {
61
71
  * Required only when updating user profile using {@link ResourceType.USER_PROFILE_UPDATE}
62
72
  */
63
73
  profileOptions?: IProfileUpdateOptions;
74
+ /**
75
+ * Base64-encoded profile image data.
76
+ *
77
+ * @remarks
78
+ * Required only when updating profile image using {@link ResourceType.USER_PROFILE_IMAGE_UPDATE}.
79
+ */
80
+ profileImage?: string;
81
+ /**
82
+ * Base64-encoded profile banner data.
83
+ *
84
+ * @remarks
85
+ * Required only when updating profile banner using {@link ResourceType.USER_PROFILE_BANNER_UPDATE}.
86
+ */
87
+ profileBanner?: string;
88
+ /**
89
+ * Password change arguments.
90
+ *
91
+ * @remarks
92
+ * Required only when changing password using {@link ResourceType.USER_PASSWORD_CHANGE}.
93
+ */
94
+ changePassword?: IChangePasswordArgs;
64
95
  }
65
96
  /**
66
97
  * Configuration for the new tweet to be posted.
@@ -87,7 +118,8 @@ export interface INewTweet {
87
118
  * The text for the tweet to be created.
88
119
  *
89
120
  * @remarks
90
- * Length of the tweet must be \<= 280 characters.
121
+ * Length of the tweet must be \<= 280 characters for non-premium accounts.
122
+ * X Premium (Blue) accounts can post longer tweets (up to 25,000 characters).
91
123
  */
92
124
  text?: string;
93
125
  }
@@ -127,3 +159,14 @@ export interface IUploadArgs {
127
159
  */
128
160
  size?: number;
129
161
  }
162
+ /**
163
+ * Arguments for changing the account password.
164
+ *
165
+ * @public
166
+ */
167
+ export interface IChangePasswordArgs {
168
+ /** The current account password. */
169
+ currentPassword: string;
170
+ /** The new password to set. */
171
+ newPassword: string;
172
+ }
@@ -7,7 +7,8 @@ export interface ITweetPostResponse {
7
7
  data: Data;
8
8
  }
9
9
  interface Data {
10
- create_tweet: CreateTweet;
10
+ create_tweet?: CreateTweet;
11
+ create_note_tweet?: CreateTweet;
11
12
  }
12
13
  interface CreateTweet {
13
14
  tweet_results: TweetResults;
@@ -130,4 +131,18 @@ interface UserMention {
130
131
  }
131
132
  interface UnmentionInfo {
132
133
  }
134
+ /**
135
+ * The raw data received after creating a note tweet (long-form tweet for X Premium accounts).
136
+ *
137
+ * @public
138
+ */
139
+ export interface ITweetPostNoteResponse {
140
+ data: NoteTweetData;
141
+ }
142
+ interface NoteTweetData {
143
+ notetweet_create: NoteTweetCreate;
144
+ }
145
+ interface NoteTweetCreate {
146
+ tweet_results: TweetResults;
147
+ }
133
148
  export {};
@@ -0,0 +1,8 @@
1
+ /**
2
+ * The raw data received when changing the account password.
3
+ *
4
+ * @public
5
+ */
6
+ export interface IUserChangePasswordResponse {
7
+ status: string;
8
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ChangePassword.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChangePassword.js","sourceRoot":"","sources":["../../../../src/types/raw/user/ChangePassword.ts"],"names":[],"mappings":""}
@@ -37,6 +37,7 @@ export interface IUserProfileUpdateResponse {
37
37
  profile_image_url: string;
38
38
  profile_image_url_https: string;
39
39
  profile_banner_url: string;
40
+ profile_banner_url_https?: string;
40
41
  profile_link_color: string;
41
42
  profile_sidebar_border_color: string;
42
43
  profile_sidebar_fill_color: string;
@@ -0,0 +1,21 @@
1
+ /**
2
+ * The raw data received from the account settings endpoint.
3
+ *
4
+ * @public
5
+ */
6
+ export interface IUserSettingsResponse {
7
+ screen_name: string;
8
+ protected: boolean;
9
+ language: string;
10
+ geo_enabled: boolean;
11
+ discoverable_by_email: boolean;
12
+ discoverable_by_mobile_phone: boolean;
13
+ use_cookie_personalization: boolean;
14
+ sleep_time: {
15
+ enabled: boolean;
16
+ end_time: any;
17
+ start_time: any;
18
+ };
19
+ display_sensitive_media: boolean;
20
+ allow_media_tagging: string;
21
+ }
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ /* eslint-disable @typescript-eslint/naming-convention, @typescript-eslint/no-explicit-any */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ //# sourceMappingURL=Settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Settings.js","sourceRoot":"","sources":["../../../../src/types/raw/user/Settings.ts"],"names":[],"mappings":";AAAA,6FAA6F"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@youmind-openlab/rettiwt-api",
3
- "version": "1.0.3",
3
+ "version": "1.0.4",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "description": "YouMind Open Lab fork - An API for fetching data from TwitterAPI, with browser extension support!",
@@ -64,10 +64,12 @@
64
64
  "chalk": "^5.4.1",
65
65
  "commander": "^11.1.0",
66
66
  "cookiejar": "^2.1.4",
67
+ "form-data": "^4.0.4",
67
68
  "https-proxy-agent": "^7.0.6",
68
69
  "jsdom": "^27.2.0",
70
+ "linkedom": "^0.18.12",
69
71
  "node-html-parser": "^7.0.1",
70
- "x-client-transaction-id": "^0.1.9"
72
+ "x-client-transaction-id": "^0.2.0"
71
73
  },
72
74
  "packageManager": "pnpm@9.15.9"
73
75
  }
@@ -25,7 +25,7 @@ import { ITweetDetailsResponse } from '../types/raw/tweet/Details';
25
25
  import { ITweetDetailsBulkResponse } from '../types/raw/tweet/DetailsBulk';
26
26
  import { ITweetLikeResponse } from '../types/raw/tweet/Like';
27
27
  import { ITweetLikersResponse } from '../types/raw/tweet/Likers';
28
- import { ITweetPostResponse } from '../types/raw/tweet/Post';
28
+ import { ITweetPostNoteResponse, ITweetPostResponse } from '../types/raw/tweet/Post';
29
29
  import { ITweetRepliesResponse } from '../types/raw/tweet/Replies';
30
30
  import { ITweetRetweetResponse } from '../types/raw/tweet/Retweet';
31
31
  import { ITweetRetweetersResponse } from '../types/raw/tweet/Retweeters';
@@ -42,6 +42,7 @@ import { IUserAnalyticsResponse } from '../types/raw/user/Analytics';
42
42
  import { IUserBookmarkFoldersResponse } from '../types/raw/user/BookmarkFolders';
43
43
  import { IUserBookmarkFolderTweetsResponse } from '../types/raw/user/BookmarkFolderTweets';
44
44
  import { IUserBookmarksResponse } from '../types/raw/user/Bookmarks';
45
+ import { IUserChangePasswordResponse } from '../types/raw/user/ChangePassword';
45
46
  import { IUserDetailsResponse } from '../types/raw/user/Details';
46
47
  import { IUserDetailsBulkResponse } from '../types/raw/user/DetailsBulk';
47
48
  import { IUserFollowResponse } from '../types/raw/user/Follow';
@@ -56,6 +57,7 @@ import { IUserNotificationsResponse } from '../types/raw/user/Notifications';
56
57
  import { IUserProfileUpdateResponse } from '../types/raw/user/ProfileUpdate';
57
58
  import { IUserRecommendedResponse } from '../types/raw/user/Recommended';
58
59
  import { IUserSearchResponse } from '../types/raw/user/Search';
60
+ import { IUserSettingsResponse } from '../types/raw/user/Settings';
59
61
  import { IUserSubscriptionsResponse } from '../types/raw/user/Subscriptions';
60
62
  import { IUserTweetsResponse } from '../types/raw/user/Tweets';
61
63
  import { IUserTweetsAndRepliesResponse } from '../types/raw/user/TweetsAndReplies';
@@ -98,8 +100,12 @@ export const Extractors = {
98
100
  TWEET_LIKE: (response: ITweetLikeResponse): boolean => (response?.data?.favorite_tweet ? true : false),
99
101
  TWEET_LIKERS: (response: ITweetLikersResponse): CursoredData<User> =>
100
102
  new CursoredData<User>(response, BaseType.USER),
101
- TWEET_POST: (response: ITweetPostResponse): string =>
102
- response?.data?.create_tweet?.tweet_results?.result?.rest_id ?? undefined,
103
+ TWEET_POST: (response: ITweetPostResponse): string | undefined =>
104
+ response?.data?.create_tweet?.tweet_results?.result?.rest_id ??
105
+ response?.data?.create_note_tweet?.tweet_results?.result?.rest_id ??
106
+ undefined,
107
+ TWEET_POST_NOTE: (response: ITweetPostNoteResponse): string | undefined =>
108
+ response?.data?.notetweet_create?.tweet_results?.result?.rest_id ?? undefined,
103
109
  TWEET_REPLIES: (response: ITweetDetailsResponse): CursoredData<Tweet> =>
104
110
  new CursoredData<Tweet>(response, BaseType.TWEET),
105
111
  TWEET_RETWEET: (response: ITweetRetweetResponse): boolean => (response?.data?.create_retweet ? true : false),
@@ -157,6 +163,12 @@ export const Extractors = {
157
163
  new CursoredData<Tweet>(response, BaseType.TWEET),
158
164
  USER_UNFOLLOW: (response: IUserUnfollowResponse): boolean => (response?.id ? true : false),
159
165
  USER_PROFILE_UPDATE: (response: IUserProfileUpdateResponse): boolean => (response?.name ? true : false),
166
+ USER_PROFILE_IMAGE_UPDATE: (response: IUserProfileUpdateResponse): boolean =>
167
+ response?.profile_image_url || response?.profile_image_url_https ? true : false,
168
+ USER_PROFILE_BANNER_UPDATE: (response: IUserProfileUpdateResponse): boolean =>
169
+ !response || response?.profile_banner_url || response?.profile_banner_url_https ? true : false,
170
+ USER_USERNAME_CHANGE: (response: IUserSettingsResponse): string | undefined => response?.screen_name ?? undefined,
171
+ USER_PASSWORD_CHANGE: (response: IUserChangePasswordResponse): boolean => response?.status === 'ok',
160
172
 
161
173
  /* eslint-enable @typescript-eslint/naming-convention */
162
174
  };
@@ -71,6 +71,7 @@ export const PostResourcesGroup = [
71
71
  ResourceType.TWEET_BOOKMARK,
72
72
  ResourceType.TWEET_LIKE,
73
73
  ResourceType.TWEET_POST,
74
+ ResourceType.TWEET_POST_NOTE,
74
75
  ResourceType.TWEET_RETWEET,
75
76
  ResourceType.TWEET_SCHEDULE,
76
77
  ResourceType.TWEET_UNBOOKMARK,
@@ -81,4 +82,8 @@ export const PostResourcesGroup = [
81
82
  ResourceType.USER_FOLLOW,
82
83
  ResourceType.USER_UNFOLLOW,
83
84
  ResourceType.USER_PROFILE_UPDATE,
85
+ ResourceType.USER_PROFILE_IMAGE_UPDATE,
86
+ ResourceType.USER_PROFILE_BANNER_UPDATE,
87
+ ResourceType.USER_USERNAME_CHANGE,
88
+ ResourceType.USER_PASSWORD_CHANGE,
84
89
  ];
@@ -45,6 +45,7 @@ export const Requests: { [key in keyof typeof ResourceType]: (args: IFetchArgs |
45
45
  TWEET_LIKE: (args: IPostArgs) => TweetRequests.like(args.id!),
46
46
  TWEET_LIKERS: (args: IFetchArgs) => TweetRequests.likers(args.id!, args.count, args.cursor),
47
47
  TWEET_POST: (args: IPostArgs) => TweetRequests.post(args.tweet!),
48
+ TWEET_POST_NOTE: (args: IPostArgs) => TweetRequests.postNote(args.tweet!),
48
49
  TWEET_REPLIES: (args: IFetchArgs) =>
49
50
  TweetRequests.replies(args.id!, args.cursor, args.sortBy ? TweetRepliesSortTypeMap[args.sortBy] : undefined),
50
51
  TWEET_RETWEET: (args: IPostArgs) => TweetRequests.retweet(args.id!),
@@ -90,6 +91,11 @@ export const Requests: { [key in keyof typeof ResourceType]: (args: IFetchArgs |
90
91
  USER_TIMELINE_AND_REPLIES: (args: IFetchArgs) => UserRequests.tweetsAndReplies(args.id!, args.count, args.cursor),
91
92
  USER_UNFOLLOW: (args: IPostArgs) => UserRequests.unfollow(args.id!),
92
93
  USER_PROFILE_UPDATE: (args: IPostArgs) => UserRequests.updateProfile(args.profileOptions!),
94
+ USER_PROFILE_IMAGE_UPDATE: (args: IPostArgs) => UserRequests.updateProfileImage(args.profileImage!),
95
+ USER_PROFILE_BANNER_UPDATE: (args: IPostArgs) => UserRequests.updateProfileBanner(args.profileBanner!),
96
+ USER_USERNAME_CHANGE: (args: IPostArgs) => UserRequests.changeUsername(args.username!),
97
+ USER_PASSWORD_CHANGE: (args: IPostArgs) =>
98
+ UserRequests.changePassword(args.changePassword!.currentPassword, args.changePassword!.newPassword),
93
99
 
94
100
  /* eslint-enable @typescript-eslint/naming-convention */
95
101
  };