@the-convocation/twitter-scraper 0.7.0 → 0.8.1
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.
- package/README.md +34 -1
- package/dist/api-data.d.ts +44 -0
- package/dist/api-data.d.ts.map +1 -0
- package/dist/api-data.js +81 -0
- package/dist/api-data.js.map +1 -0
- package/dist/api.d.ts +0 -42
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +1 -4
- package/dist/api.js.map +1 -1
- package/dist/relationships.d.ts +8 -0
- package/dist/relationships.d.ts.map +1 -0
- package/dist/relationships.js +93 -0
- package/dist/relationships.js.map +1 -0
- package/dist/scraper.d.ts +30 -6
- package/dist/scraper.d.ts.map +1 -1
- package/dist/scraper.js +45 -1
- package/dist/scraper.js.map +1 -1
- package/dist/search.js +1 -1
- package/dist/search.js.map +1 -1
- package/dist/timeline-relationship.d.ts +39 -0
- package/dist/timeline-relationship.d.ts.map +1 -0
- package/dist/timeline-relationship.js +46 -0
- package/dist/timeline-relationship.js.map +1 -0
- package/dist/timeline-tweet-util.js.map +1 -1
- package/dist/timeline-v2.d.ts +9 -5
- package/dist/timeline-v2.d.ts.map +1 -1
- package/dist/timeline-v2.js +7 -7
- package/dist/timeline-v2.js.map +1 -1
- package/dist/tweets.d.ts +1 -0
- package/dist/tweets.d.ts.map +1 -1
- package/dist/tweets.js +26 -70
- package/dist/tweets.js.map +1 -1
- package/package.json +5 -1
- package/typedoc.json +0 -6
package/README.md
CHANGED
|
@@ -149,4 +149,37 @@ const scraper = new Scraper({
|
|
|
149
149
|
```
|
|
150
150
|
|
|
151
151
|
## Contributing
|
|
152
|
-
|
|
152
|
+
|
|
153
|
+
### Setup
|
|
154
|
+
This project currently targets Node 16.x and uses Yarn for package management. [Corepack](https://nodejs.org/dist/latest-v16.x/docs/api/corepack.html)
|
|
155
|
+
is configured for this project, so you don't need to install a particular package manager version manually.
|
|
156
|
+
|
|
157
|
+
Just run `corepack enable` to turn on the shims, then run `yarn` to install the dependencies.
|
|
158
|
+
|
|
159
|
+
#### Basic scripts
|
|
160
|
+
* `yarn build`: Builds the project into the `dist` folder
|
|
161
|
+
* `yarn test`: Runs the package tests (see [Testing](#testing) first)
|
|
162
|
+
|
|
163
|
+
Run `yarn help` for general `yarn` usage information.
|
|
164
|
+
|
|
165
|
+
### Testing
|
|
166
|
+
This package includes unit tests for all major functionality. Given the speed at which Twitter's private API
|
|
167
|
+
changes, failing tests are to be expected.
|
|
168
|
+
|
|
169
|
+
```sh
|
|
170
|
+
yarn test
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
Before running tests, you should configure environment variables for authentication.
|
|
174
|
+
|
|
175
|
+
```
|
|
176
|
+
TWITTER_USERNAME= # Account username
|
|
177
|
+
TWITTER_PASSWORD= # Account password
|
|
178
|
+
TWITTER_EMAIL= # Account email
|
|
179
|
+
TWITTER_COOKIES= # JSON-serialized array of cookies of an authenticated session
|
|
180
|
+
PROXY_URL= # HTTP(s) proxy for requests (optional)
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
### Commit message format
|
|
184
|
+
We use [Conventional Commits](https://www.conventionalcommits.org), and enforce this with precommit checks.
|
|
185
|
+
Please refer to the Git history for real examples of the commit message format.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export interface EndpointFieldInfo {
|
|
2
|
+
/**
|
|
3
|
+
* Request variables, used for providing arguments such as user IDs or result counts.
|
|
4
|
+
*/
|
|
5
|
+
variables: Record<string, unknown>;
|
|
6
|
+
/**
|
|
7
|
+
* Request features, used for encoding feature flags into the request. These may either be
|
|
8
|
+
* boolean values or numerically-encoded booleans (1 or 0). It is possible this may change
|
|
9
|
+
* to include other representations of booleans as Twitter's backend evolves.
|
|
10
|
+
*/
|
|
11
|
+
features: Record<string, unknown>;
|
|
12
|
+
/**
|
|
13
|
+
* Request field toggles, used for limiting how returned fields are represented. This is
|
|
14
|
+
* rarely used.
|
|
15
|
+
*/
|
|
16
|
+
fieldToggles: Record<string, unknown>;
|
|
17
|
+
}
|
|
18
|
+
type SomePartial<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
|
|
19
|
+
type EndpointVersion = string;
|
|
20
|
+
type EndpointName = string;
|
|
21
|
+
type EncodedVariables = string;
|
|
22
|
+
type EncodedFeatures = string;
|
|
23
|
+
type EncodedFieldToggles = string;
|
|
24
|
+
type EndpointFields<EndpointUrl> = EndpointUrl extends `https://twitter.com/i/api/graphql/${EndpointVersion}/${EndpointName}?variables=${EncodedVariables}&features=${EncodedFeatures}&fieldToggles=${EncodedFieldToggles}` ? EndpointFieldInfo : EndpointUrl extends `https://twitter.com/i/api/graphql/${EndpointVersion}/${EndpointName}?variables=${EncodedVariables}&features=${EncodedFeatures}` ? SomePartial<EndpointFieldInfo, 'fieldToggles'> : EndpointUrl extends `https://twitter.com/i/api/graphql/${EndpointVersion}/${EndpointName}?variables=${EncodedVariables}` ? SomePartial<EndpointFieldInfo, 'features' | 'fieldToggles'> : Partial<EndpointFieldInfo>;
|
|
25
|
+
export type ApiRequestInfo<EndpointUrl> = EndpointFields<EndpointUrl> & {
|
|
26
|
+
/**
|
|
27
|
+
* The URL, without any GraphQL query parameters.
|
|
28
|
+
*/
|
|
29
|
+
url: string;
|
|
30
|
+
/**
|
|
31
|
+
* Converts the request back into a URL to be sent to the Twitter API.
|
|
32
|
+
*/
|
|
33
|
+
toRequestUrl(): string;
|
|
34
|
+
};
|
|
35
|
+
type ApiRequestFactory<Endpoints> = {
|
|
36
|
+
[Endpoint in keyof Endpoints as `create${string & Endpoint}Request`]: () => ApiRequestInfo<Endpoints[Endpoint]>;
|
|
37
|
+
};
|
|
38
|
+
export declare const apiRequestFactory: ApiRequestFactory<{
|
|
39
|
+
readonly UserTweets: "https://twitter.com/i/api/graphql/H8OOoI-5ZE4NxgRr8lfyWg/UserTweets?variables=%7B%22userId%22%3A%2244196397%22%2C%22count%22%3A20%2C%22includePromotedContent%22%3Atrue%2C%22withQuickPromoteEligibilityTweetFields%22%3Atrue%2C%22withVoice%22%3Atrue%2C%22withV2Timeline%22%3Atrue%7D&features=%7B%22responsive_web_graphql_exclude_directive_enabled%22%3Atrue%2C%22verified_phone_label_enabled%22%3Afalse%2C%22creator_subscriptions_tweet_preview_api_enabled%22%3Atrue%2C%22responsive_web_graphql_timeline_navigation_enabled%22%3Atrue%2C%22responsive_web_graphql_skip_user_profile_image_extensions_enabled%22%3Afalse%2C%22tweetypie_unmention_optimization_enabled%22%3Atrue%2C%22responsive_web_edit_tweet_api_enabled%22%3Atrue%2C%22graphql_is_translatable_rweb_tweet_is_translatable_enabled%22%3Atrue%2C%22view_counts_everywhere_api_enabled%22%3Atrue%2C%22longform_notetweets_consumption_enabled%22%3Atrue%2C%22responsive_web_twitter_article_tweet_consumption_enabled%22%3Afalse%2C%22tweet_awards_web_tipping_enabled%22%3Afalse%2C%22freedom_of_speech_not_reach_fetch_enabled%22%3Atrue%2C%22standardized_nudges_misinfo%22%3Atrue%2C%22tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled%22%3Atrue%2C%22longform_notetweets_rich_text_read_enabled%22%3Atrue%2C%22longform_notetweets_inline_media_enabled%22%3Atrue%2C%22responsive_web_media_download_video_enabled%22%3Afalse%2C%22responsive_web_enhance_cards_enabled%22%3Afalse%7D";
|
|
40
|
+
readonly TweetDetail: "https://twitter.com/i/api/graphql/xOhkmRac04YFZmOzU9PJHg/TweetDetail?variables=%7B%22focalTweetId%22%3A%221237110546383724547%22%2C%22with_rux_injections%22%3Afalse%2C%22includePromotedContent%22%3Atrue%2C%22withCommunity%22%3Atrue%2C%22withQuickPromoteEligibilityTweetFields%22%3Atrue%2C%22withBirdwatchNotes%22%3Atrue%2C%22withVoice%22%3Atrue%2C%22withV2Timeline%22%3Atrue%7D&features=%7B%22responsive_web_graphql_exclude_directive_enabled%22%3Atrue%2C%22verified_phone_label_enabled%22%3Afalse%2C%22creator_subscriptions_tweet_preview_api_enabled%22%3Atrue%2C%22responsive_web_graphql_timeline_navigation_enabled%22%3Atrue%2C%22responsive_web_graphql_skip_user_profile_image_extensions_enabled%22%3Afalse%2C%22tweetypie_unmention_optimization_enabled%22%3Atrue%2C%22responsive_web_edit_tweet_api_enabled%22%3Atrue%2C%22graphql_is_translatable_rweb_tweet_is_translatable_enabled%22%3Atrue%2C%22view_counts_everywhere_api_enabled%22%3Atrue%2C%22longform_notetweets_consumption_enabled%22%3Atrue%2C%22responsive_web_twitter_article_tweet_consumption_enabled%22%3Afalse%2C%22tweet_awards_web_tipping_enabled%22%3Afalse%2C%22freedom_of_speech_not_reach_fetch_enabled%22%3Atrue%2C%22standardized_nudges_misinfo%22%3Atrue%2C%22tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled%22%3Atrue%2C%22longform_notetweets_rich_text_read_enabled%22%3Atrue%2C%22longform_notetweets_inline_media_enabled%22%3Atrue%2C%22responsive_web_media_download_video_enabled%22%3Afalse%2C%22responsive_web_enhance_cards_enabled%22%3Afalse%7D&fieldToggles=%7B%22withArticleRichContentState%22%3Afalse%7D";
|
|
41
|
+
readonly TweetResultByRestId: "https://twitter.com/i/api/graphql/DJS3BdhUhcaEpZ7B7irJDg/TweetResultByRestId?variables=%7B%22tweetId%22%3A%221237110546383724547%22%2C%22withCommunity%22%3Afalse%2C%22includePromotedContent%22%3Afalse%2C%22withVoice%22%3Afalse%7D&features=%7B%22creator_subscriptions_tweet_preview_api_enabled%22%3Atrue%2C%22tweetypie_unmention_optimization_enabled%22%3Atrue%2C%22responsive_web_edit_tweet_api_enabled%22%3Atrue%2C%22graphql_is_translatable_rweb_tweet_is_translatable_enabled%22%3Atrue%2C%22view_counts_everywhere_api_enabled%22%3Atrue%2C%22longform_notetweets_consumption_enabled%22%3Atrue%2C%22responsive_web_twitter_article_tweet_consumption_enabled%22%3Afalse%2C%22tweet_awards_web_tipping_enabled%22%3Afalse%2C%22freedom_of_speech_not_reach_fetch_enabled%22%3Atrue%2C%22standardized_nudges_misinfo%22%3Atrue%2C%22tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled%22%3Atrue%2C%22longform_notetweets_rich_text_read_enabled%22%3Atrue%2C%22longform_notetweets_inline_media_enabled%22%3Atrue%2C%22responsive_web_graphql_exclude_directive_enabled%22%3Atrue%2C%22verified_phone_label_enabled%22%3Afalse%2C%22responsive_web_media_download_video_enabled%22%3Afalse%2C%22responsive_web_graphql_skip_user_profile_image_extensions_enabled%22%3Afalse%2C%22responsive_web_graphql_timeline_navigation_enabled%22%3Atrue%2C%22responsive_web_enhance_cards_enabled%22%3Afalse%7D";
|
|
42
|
+
}>;
|
|
43
|
+
export {};
|
|
44
|
+
//# sourceMappingURL=api-data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-data.d.ts","sourceRoot":"","sources":["../src/api-data.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnC;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAElC;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC;AAED,KAAK,WAAW,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAE1E,KAAK,eAAe,GAAG,MAAM,CAAC;AAC9B,KAAK,YAAY,GAAG,MAAM,CAAC;AAC3B,KAAK,gBAAgB,GAAG,MAAM,CAAC;AAC/B,KAAK,eAAe,GAAG,MAAM,CAAC;AAC9B,KAAK,mBAAmB,GAAG,MAAM,CAAC;AAGlC,KAAK,cAAc,CAAC,WAAW,IAC7B,WAAW,SAAS,qCAAqC,eAAe,IAAI,YAAY,cAAc,gBAAgB,aAAa,eAAe,iBAAiB,mBAAmB,EAAE,GACpL,iBAAiB,GACjB,WAAW,SAAS,qCAAqC,eAAe,IAAI,YAAY,cAAc,gBAAgB,aAAa,eAAe,EAAE,GACpJ,WAAW,CAAC,iBAAiB,EAAE,cAAc,CAAC,GAC9C,WAAW,SAAS,qCAAqC,eAAe,IAAI,YAAY,cAAc,gBAAgB,EAAE,GACxH,WAAW,CAAC,iBAAiB,EAAE,UAAU,GAAG,cAAc,CAAC,GAC3D,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEjC,MAAM,MAAM,cAAc,CAAC,WAAW,IAAI,cAAc,CAAC,WAAW,CAAC,GAAG;IACtE;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,YAAY,IAAI,MAAM,CAAC;CACxB,CAAC;AAiEF,KAAK,iBAAiB,CAAC,SAAS,IAAI;KACjC,QAAQ,IAAI,MAAM,SAAS,IAAI,SAAS,MAAM,GAC7C,QAAQ,SAAS,GAAG,MAAM,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;CAChE,CAAC;AAwBF,eAAO,MAAM,iBAAiB;;;;EAAqC,CAAC"}
|
package/dist/api-data.js
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.apiRequestFactory = void 0;
|
|
7
|
+
const json_stable_stringify_1 = __importDefault(require("json-stable-stringify"));
|
|
8
|
+
/**
|
|
9
|
+
* Examples of requests to API endpoints. These are parsed at runtime and used
|
|
10
|
+
* as templates for requests to a particular endpoint. Please ensure these do
|
|
11
|
+
* not contain any information that you do not want published to NPM.
|
|
12
|
+
*/
|
|
13
|
+
const endpoints = {
|
|
14
|
+
// TODO: Migrate other endpoint URLs here
|
|
15
|
+
UserTweets: 'https://twitter.com/i/api/graphql/H8OOoI-5ZE4NxgRr8lfyWg/UserTweets?variables=%7B%22userId%22%3A%2244196397%22%2C%22count%22%3A20%2C%22includePromotedContent%22%3Atrue%2C%22withQuickPromoteEligibilityTweetFields%22%3Atrue%2C%22withVoice%22%3Atrue%2C%22withV2Timeline%22%3Atrue%7D&features=%7B%22responsive_web_graphql_exclude_directive_enabled%22%3Atrue%2C%22verified_phone_label_enabled%22%3Afalse%2C%22creator_subscriptions_tweet_preview_api_enabled%22%3Atrue%2C%22responsive_web_graphql_timeline_navigation_enabled%22%3Atrue%2C%22responsive_web_graphql_skip_user_profile_image_extensions_enabled%22%3Afalse%2C%22tweetypie_unmention_optimization_enabled%22%3Atrue%2C%22responsive_web_edit_tweet_api_enabled%22%3Atrue%2C%22graphql_is_translatable_rweb_tweet_is_translatable_enabled%22%3Atrue%2C%22view_counts_everywhere_api_enabled%22%3Atrue%2C%22longform_notetweets_consumption_enabled%22%3Atrue%2C%22responsive_web_twitter_article_tweet_consumption_enabled%22%3Afalse%2C%22tweet_awards_web_tipping_enabled%22%3Afalse%2C%22freedom_of_speech_not_reach_fetch_enabled%22%3Atrue%2C%22standardized_nudges_misinfo%22%3Atrue%2C%22tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled%22%3Atrue%2C%22longform_notetweets_rich_text_read_enabled%22%3Atrue%2C%22longform_notetweets_inline_media_enabled%22%3Atrue%2C%22responsive_web_media_download_video_enabled%22%3Afalse%2C%22responsive_web_enhance_cards_enabled%22%3Afalse%7D',
|
|
16
|
+
TweetDetail: 'https://twitter.com/i/api/graphql/xOhkmRac04YFZmOzU9PJHg/TweetDetail?variables=%7B%22focalTweetId%22%3A%221237110546383724547%22%2C%22with_rux_injections%22%3Afalse%2C%22includePromotedContent%22%3Atrue%2C%22withCommunity%22%3Atrue%2C%22withQuickPromoteEligibilityTweetFields%22%3Atrue%2C%22withBirdwatchNotes%22%3Atrue%2C%22withVoice%22%3Atrue%2C%22withV2Timeline%22%3Atrue%7D&features=%7B%22responsive_web_graphql_exclude_directive_enabled%22%3Atrue%2C%22verified_phone_label_enabled%22%3Afalse%2C%22creator_subscriptions_tweet_preview_api_enabled%22%3Atrue%2C%22responsive_web_graphql_timeline_navigation_enabled%22%3Atrue%2C%22responsive_web_graphql_skip_user_profile_image_extensions_enabled%22%3Afalse%2C%22tweetypie_unmention_optimization_enabled%22%3Atrue%2C%22responsive_web_edit_tweet_api_enabled%22%3Atrue%2C%22graphql_is_translatable_rweb_tweet_is_translatable_enabled%22%3Atrue%2C%22view_counts_everywhere_api_enabled%22%3Atrue%2C%22longform_notetweets_consumption_enabled%22%3Atrue%2C%22responsive_web_twitter_article_tweet_consumption_enabled%22%3Afalse%2C%22tweet_awards_web_tipping_enabled%22%3Afalse%2C%22freedom_of_speech_not_reach_fetch_enabled%22%3Atrue%2C%22standardized_nudges_misinfo%22%3Atrue%2C%22tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled%22%3Atrue%2C%22longform_notetweets_rich_text_read_enabled%22%3Atrue%2C%22longform_notetweets_inline_media_enabled%22%3Atrue%2C%22responsive_web_media_download_video_enabled%22%3Afalse%2C%22responsive_web_enhance_cards_enabled%22%3Afalse%7D&fieldToggles=%7B%22withArticleRichContentState%22%3Afalse%7D',
|
|
17
|
+
TweetResultByRestId: 'https://twitter.com/i/api/graphql/DJS3BdhUhcaEpZ7B7irJDg/TweetResultByRestId?variables=%7B%22tweetId%22%3A%221237110546383724547%22%2C%22withCommunity%22%3Afalse%2C%22includePromotedContent%22%3Afalse%2C%22withVoice%22%3Afalse%7D&features=%7B%22creator_subscriptions_tweet_preview_api_enabled%22%3Atrue%2C%22tweetypie_unmention_optimization_enabled%22%3Atrue%2C%22responsive_web_edit_tweet_api_enabled%22%3Atrue%2C%22graphql_is_translatable_rweb_tweet_is_translatable_enabled%22%3Atrue%2C%22view_counts_everywhere_api_enabled%22%3Atrue%2C%22longform_notetweets_consumption_enabled%22%3Atrue%2C%22responsive_web_twitter_article_tweet_consumption_enabled%22%3Afalse%2C%22tweet_awards_web_tipping_enabled%22%3Afalse%2C%22freedom_of_speech_not_reach_fetch_enabled%22%3Atrue%2C%22standardized_nudges_misinfo%22%3Atrue%2C%22tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled%22%3Atrue%2C%22longform_notetweets_rich_text_read_enabled%22%3Atrue%2C%22longform_notetweets_inline_media_enabled%22%3Atrue%2C%22responsive_web_graphql_exclude_directive_enabled%22%3Atrue%2C%22verified_phone_label_enabled%22%3Afalse%2C%22responsive_web_media_download_video_enabled%22%3Afalse%2C%22responsive_web_graphql_skip_user_profile_image_extensions_enabled%22%3Afalse%2C%22responsive_web_graphql_timeline_navigation_enabled%22%3Atrue%2C%22responsive_web_enhance_cards_enabled%22%3Afalse%7D',
|
|
18
|
+
};
|
|
19
|
+
/** Wrapper class for API request information. */
|
|
20
|
+
class ApiRequest {
|
|
21
|
+
constructor(info) {
|
|
22
|
+
this.url = info.url;
|
|
23
|
+
this.variables = info.variables;
|
|
24
|
+
this.features = info.features;
|
|
25
|
+
this.fieldToggles = info.fieldToggles;
|
|
26
|
+
}
|
|
27
|
+
toRequestUrl() {
|
|
28
|
+
const params = new URLSearchParams();
|
|
29
|
+
// Only include query parameters with values
|
|
30
|
+
if (this.variables) {
|
|
31
|
+
// Stringify with the query keys in sorted order like the Go package
|
|
32
|
+
params.set('variables', (0, json_stable_stringify_1.default)(this.variables));
|
|
33
|
+
}
|
|
34
|
+
if (this.features) {
|
|
35
|
+
params.set('features', (0, json_stable_stringify_1.default)(this.features));
|
|
36
|
+
}
|
|
37
|
+
if (this.fieldToggles) {
|
|
38
|
+
params.set('fieldToggles', (0, json_stable_stringify_1.default)(this.fieldToggles));
|
|
39
|
+
}
|
|
40
|
+
return `${this.url}?${params.toString()}`;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Parses information from a Twitter API endpoint using an example request
|
|
45
|
+
* URL against that endpoint. This can be used to extract GraphQL parameters
|
|
46
|
+
* in order to easily reuse and/or override them later.
|
|
47
|
+
* @param example An example of the endpoint to analyze.
|
|
48
|
+
* @returns The parsed endpoint information.
|
|
49
|
+
*/
|
|
50
|
+
function parseEndpointExample(example) {
|
|
51
|
+
const { protocol, host, pathname, searchParams: query } = new URL(example);
|
|
52
|
+
const base = `${protocol}//${host}${pathname}`;
|
|
53
|
+
const variables = query.get('variables');
|
|
54
|
+
const features = query.get('features');
|
|
55
|
+
const fieldToggles = query.get('fieldToggles');
|
|
56
|
+
return new ApiRequest({
|
|
57
|
+
url: base,
|
|
58
|
+
variables: variables ? JSON.parse(variables) : undefined,
|
|
59
|
+
features: features ? JSON.parse(features) : undefined,
|
|
60
|
+
fieldToggles: fieldToggles ? JSON.parse(fieldToggles) : undefined,
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
function createApiRequestFactory(endpoints) {
|
|
64
|
+
return Object.entries(endpoints)
|
|
65
|
+
.map(([endpointName, endpointExample]) => {
|
|
66
|
+
// Create a partial factory for only one endpoint
|
|
67
|
+
return {
|
|
68
|
+
[`create${endpointName}Request`]: () => {
|
|
69
|
+
// Create a new instance on each invocation so that we can safely
|
|
70
|
+
// mutate requests before sending them off
|
|
71
|
+
return parseEndpointExample(endpointExample);
|
|
72
|
+
},
|
|
73
|
+
};
|
|
74
|
+
})
|
|
75
|
+
.reduce((agg, next) => {
|
|
76
|
+
// Merge all of our factories into one that includes every endpoint
|
|
77
|
+
return Object.assign(agg, next);
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
exports.apiRequestFactory = createApiRequestFactory(endpoints);
|
|
81
|
+
//# sourceMappingURL=api-data.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-data.js","sourceRoot":"","sources":["../src/api-data.ts"],"names":[],"mappings":"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"}
|
package/dist/api.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { TwitterAuth } from './auth';
|
|
2
1
|
type FetchParameters = [input: RequestInfo | URL, init?: RequestInit];
|
|
3
2
|
export interface FetchTransformOptions {
|
|
4
3
|
/**
|
|
@@ -28,47 +27,6 @@ export type RequestApiResult<T> = {
|
|
|
28
27
|
success: false;
|
|
29
28
|
err: Error;
|
|
30
29
|
};
|
|
31
|
-
/**
|
|
32
|
-
* Used internally to send HTTP requests to the Twitter API.
|
|
33
|
-
* @internal
|
|
34
|
-
*
|
|
35
|
-
* @param url - The URL to send the request to.
|
|
36
|
-
* @param auth - The instance of {@link TwitterAuth} that will be used to authorize this request.
|
|
37
|
-
* @param method - The HTTP method used when sending this request.
|
|
38
|
-
*/
|
|
39
|
-
export declare function requestApi<T>(url: string, auth: TwitterAuth, method?: 'GET' | 'POST'): Promise<RequestApiResult<T>>;
|
|
40
|
-
/**
|
|
41
|
-
* @internal
|
|
42
|
-
*/
|
|
43
|
-
export declare function addApiFeatures(o: object): {
|
|
44
|
-
rweb_lists_timeline_redesign_enabled: boolean;
|
|
45
|
-
responsive_web_graphql_exclude_directive_enabled: boolean;
|
|
46
|
-
verified_phone_label_enabled: boolean;
|
|
47
|
-
creator_subscriptions_tweet_preview_api_enabled: boolean;
|
|
48
|
-
responsive_web_graphql_timeline_navigation_enabled: boolean;
|
|
49
|
-
responsive_web_graphql_skip_user_profile_image_extensions_enabled: boolean;
|
|
50
|
-
tweetypie_unmention_optimization_enabled: boolean;
|
|
51
|
-
responsive_web_edit_tweet_api_enabled: boolean;
|
|
52
|
-
graphql_is_translatable_rweb_tweet_is_translatable_enabled: boolean;
|
|
53
|
-
view_counts_everywhere_api_enabled: boolean;
|
|
54
|
-
longform_notetweets_consumption_enabled: boolean;
|
|
55
|
-
tweet_awards_web_tipping_enabled: boolean;
|
|
56
|
-
freedom_of_speech_not_reach_fetch_enabled: boolean;
|
|
57
|
-
standardized_nudges_misinfo: boolean;
|
|
58
|
-
longform_notetweets_rich_text_read_enabled: boolean;
|
|
59
|
-
responsive_web_enhance_cards_enabled: boolean;
|
|
60
|
-
subscriptions_verification_info_enabled: boolean;
|
|
61
|
-
subscriptions_verification_info_reason_enabled: boolean;
|
|
62
|
-
subscriptions_verification_info_verified_since_enabled: boolean;
|
|
63
|
-
super_follow_badge_privacy_enabled: boolean;
|
|
64
|
-
super_follow_exclusive_tweet_notifications_enabled: boolean;
|
|
65
|
-
super_follow_tweet_api_enabled: boolean;
|
|
66
|
-
super_follow_user_api_enabled: boolean;
|
|
67
|
-
android_graphql_skip_api_media_color_palette: boolean;
|
|
68
|
-
creator_subscriptions_subscription_count_enabled: boolean;
|
|
69
|
-
blue_business_profile_image_shape_enabled: boolean;
|
|
70
|
-
unified_cards_ad_metadata_container_dynamic_card_content_query_enabled: boolean;
|
|
71
|
-
};
|
|
72
30
|
export declare function addApiParams(params: URLSearchParams, includeTweetReplies: boolean): URLSearchParams;
|
|
73
31
|
export {};
|
|
74
32
|
//# sourceMappingURL=api.d.ts.map
|
package/dist/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAOA,KAAK,eAAe,GAAG,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC;AAEtE,MAAM,WAAW,qBAAqB;IACpC;;;;;;OAMG;IACH,OAAO,EAAE,CACP,GAAG,IAAI,EAAE,eAAe,KACrB,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAEhD;;;;;OAKG;IACH,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CAChE;AAED,eAAO,MAAM,WAAW,qHAC4F,CAAC;AAErH;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAC1B;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAC3B;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,KAAK,CAAA;CAAE,CAAC;AA2GnC,wBAAgB,YAAY,CAC1B,MAAM,EAAE,eAAe,EACvB,mBAAmB,EAAE,OAAO,GAC3B,eAAe,CAoCjB"}
|
package/dist/api.js
CHANGED
|
@@ -8,7 +8,6 @@ exports.bearerToken = 'AAAAAAAAAAAAAAAAAAAAAFQODgEAAAAAVHTp76lzh3rFzcHbmHVvQxYYp
|
|
|
8
8
|
/**
|
|
9
9
|
* Used internally to send HTTP requests to the Twitter API.
|
|
10
10
|
* @internal
|
|
11
|
-
*
|
|
12
11
|
* @param url - The URL to send the request to.
|
|
13
12
|
* @param auth - The instance of {@link TwitterAuth} that will be used to authorize this request.
|
|
14
13
|
* @param method - The HTTP method used when sending this request.
|
|
@@ -67,9 +66,7 @@ async function requestApi(url, auth, method = 'GET') {
|
|
|
67
66
|
}
|
|
68
67
|
}
|
|
69
68
|
exports.requestApi = requestApi;
|
|
70
|
-
/**
|
|
71
|
-
* @internal
|
|
72
|
-
*/
|
|
69
|
+
/** @internal */
|
|
73
70
|
function addApiFeatures(o) {
|
|
74
71
|
return {
|
|
75
72
|
...o,
|
package/dist/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":";;;AACA,qCAAoC;AACpC,yCAA6C;AAC7C,uDAA2C;AA2B9B,QAAA,WAAW,GACtB,kHAAkH,CAAC;AASrH
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TwitterAuth } from './auth';
|
|
2
|
+
import { Profile } from './profile';
|
|
3
|
+
import { QueryProfilesResponse } from './timeline-v1';
|
|
4
|
+
export declare function getFollowing(userId: string, maxProfiles: number, auth: TwitterAuth): AsyncGenerator<Profile, void>;
|
|
5
|
+
export declare function getFollowers(userId: string, maxProfiles: number, auth: TwitterAuth): AsyncGenerator<Profile, void>;
|
|
6
|
+
export declare function fetchProfileFollowing(userId: string, maxProfiles: number, auth: TwitterAuth, cursor?: string): Promise<QueryProfilesResponse>;
|
|
7
|
+
export declare function fetchProfileFollowers(userId: string, maxProfiles: number, auth: TwitterAuth, cursor?: string): Promise<QueryProfilesResponse>;
|
|
8
|
+
//# sourceMappingURL=relationships.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relationships.d.ts","sourceRoot":"","sources":["../src/relationships.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,OAAO,EAAyB,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAQtD,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,WAAW,GAChB,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAI/B;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,WAAW,GAChB,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAI/B;AAED,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,WAAW,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,qBAAqB,CAAC,CAShC;AAED,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,WAAW,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,qBAAqB,CAAC,CAShC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.fetchProfileFollowers = exports.fetchProfileFollowing = exports.getFollowers = exports.getFollowing = void 0;
|
|
7
|
+
const api_1 = require("./api");
|
|
8
|
+
const timeline_async_1 = require("./timeline-async");
|
|
9
|
+
const timeline_relationship_1 = require("./timeline-relationship");
|
|
10
|
+
const json_stable_stringify_1 = __importDefault(require("json-stable-stringify"));
|
|
11
|
+
function getFollowing(userId, maxProfiles, auth) {
|
|
12
|
+
return (0, timeline_async_1.getUserTimeline)(userId, maxProfiles, (q, mt, c) => {
|
|
13
|
+
return fetchProfileFollowing(q, mt, auth, c);
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
exports.getFollowing = getFollowing;
|
|
17
|
+
function getFollowers(userId, maxProfiles, auth) {
|
|
18
|
+
return (0, timeline_async_1.getUserTimeline)(userId, maxProfiles, (q, mt, c) => {
|
|
19
|
+
return fetchProfileFollowers(q, mt, auth, c);
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
exports.getFollowers = getFollowers;
|
|
23
|
+
async function fetchProfileFollowing(userId, maxProfiles, auth, cursor) {
|
|
24
|
+
const timeline = await getFollowingTimeline(userId, maxProfiles, auth, cursor);
|
|
25
|
+
return (0, timeline_relationship_1.parseRelationshipTimeline)(timeline);
|
|
26
|
+
}
|
|
27
|
+
exports.fetchProfileFollowing = fetchProfileFollowing;
|
|
28
|
+
async function fetchProfileFollowers(userId, maxProfiles, auth, cursor) {
|
|
29
|
+
const timeline = await getFollowersTimeline(userId, maxProfiles, auth, cursor);
|
|
30
|
+
return (0, timeline_relationship_1.parseRelationshipTimeline)(timeline);
|
|
31
|
+
}
|
|
32
|
+
exports.fetchProfileFollowers = fetchProfileFollowers;
|
|
33
|
+
async function getFollowingTimeline(userId, maxItems, auth, cursor) {
|
|
34
|
+
if (!auth.isLoggedIn()) {
|
|
35
|
+
throw new Error('Scraper is not logged-in for profile following.');
|
|
36
|
+
}
|
|
37
|
+
if (maxItems > 50) {
|
|
38
|
+
maxItems = 50;
|
|
39
|
+
}
|
|
40
|
+
const variables = {
|
|
41
|
+
userId,
|
|
42
|
+
count: maxItems,
|
|
43
|
+
includePromotedContent: false,
|
|
44
|
+
};
|
|
45
|
+
const features = (0, api_1.addApiFeatures)({
|
|
46
|
+
responsive_web_twitter_article_tweet_consumption_enabled: false,
|
|
47
|
+
tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled: true,
|
|
48
|
+
longform_notetweets_inline_media_enabled: true,
|
|
49
|
+
responsive_web_media_download_video_enabled: false,
|
|
50
|
+
});
|
|
51
|
+
if (cursor != null && cursor != '') {
|
|
52
|
+
variables['cursor'] = cursor;
|
|
53
|
+
}
|
|
54
|
+
const params = new URLSearchParams();
|
|
55
|
+
params.set('features', (0, json_stable_stringify_1.default)(features));
|
|
56
|
+
params.set('variables', (0, json_stable_stringify_1.default)(variables));
|
|
57
|
+
const res = await (0, api_1.requestApi)(`https://twitter.com/i/api/graphql/iSicc7LrzWGBgDPL0tM_TQ/Following?${params.toString()}`, auth);
|
|
58
|
+
if (!res.success) {
|
|
59
|
+
throw res.err;
|
|
60
|
+
}
|
|
61
|
+
return res.value;
|
|
62
|
+
}
|
|
63
|
+
async function getFollowersTimeline(userId, maxItems, auth, cursor) {
|
|
64
|
+
if (!auth.isLoggedIn()) {
|
|
65
|
+
throw new Error('Scraper is not logged-in for profile followers.');
|
|
66
|
+
}
|
|
67
|
+
if (maxItems > 50) {
|
|
68
|
+
maxItems = 50;
|
|
69
|
+
}
|
|
70
|
+
const variables = {
|
|
71
|
+
userId,
|
|
72
|
+
count: maxItems,
|
|
73
|
+
includePromotedContent: false,
|
|
74
|
+
};
|
|
75
|
+
const features = (0, api_1.addApiFeatures)({
|
|
76
|
+
responsive_web_twitter_article_tweet_consumption_enabled: false,
|
|
77
|
+
tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled: true,
|
|
78
|
+
longform_notetweets_inline_media_enabled: true,
|
|
79
|
+
responsive_web_media_download_video_enabled: false,
|
|
80
|
+
});
|
|
81
|
+
if (cursor != null && cursor != '') {
|
|
82
|
+
variables['cursor'] = cursor;
|
|
83
|
+
}
|
|
84
|
+
const params = new URLSearchParams();
|
|
85
|
+
params.set('features', (0, json_stable_stringify_1.default)(features));
|
|
86
|
+
params.set('variables', (0, json_stable_stringify_1.default)(variables));
|
|
87
|
+
const res = await (0, api_1.requestApi)(`https://twitter.com/i/api/graphql/rRXFSG5vR6drKr5M37YOTw/Followers?${params.toString()}`, auth);
|
|
88
|
+
if (!res.success) {
|
|
89
|
+
throw res.err;
|
|
90
|
+
}
|
|
91
|
+
return res.value;
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=relationships.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relationships.js","sourceRoot":"","sources":["../src/relationships.ts"],"names":[],"mappings":"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"}
|
package/dist/scraper.d.ts
CHANGED
|
@@ -32,12 +32,6 @@ export declare class Scraper {
|
|
|
32
32
|
* - Reusing Scraper objects is recommended to minimize the time spent authenticating unnecessarily.
|
|
33
33
|
*/
|
|
34
34
|
constructor(options?: Partial<ScraperOptions> | undefined);
|
|
35
|
-
/**
|
|
36
|
-
* Initializes auth properties using a guest token.
|
|
37
|
-
* Used when creating a new instance of this class, and when logging out.
|
|
38
|
-
* @internal
|
|
39
|
-
*/
|
|
40
|
-
private useGuestAuth;
|
|
41
35
|
/**
|
|
42
36
|
* Fetches a Twitter profile.
|
|
43
37
|
* @param username The Twitter username of the profile to fetch, without an `@` at the beginning.
|
|
@@ -84,6 +78,36 @@ export declare class Scraper {
|
|
|
84
78
|
* @returns A page of results, containing a cursor that can be used in further requests.
|
|
85
79
|
*/
|
|
86
80
|
fetchSearchProfiles(query: string, maxProfiles: number, cursor?: string): Promise<QueryProfilesResponse>;
|
|
81
|
+
/**
|
|
82
|
+
* Fetch the profiles a user is following
|
|
83
|
+
* @param userId The user whose following should be returned
|
|
84
|
+
* @param maxProfiles The maximum number of profiles to return.
|
|
85
|
+
* @returns An {@link AsyncGenerator} of following profiles for the provided user.
|
|
86
|
+
*/
|
|
87
|
+
getFollowing(userId: string, maxProfiles: number): AsyncGenerator<Profile, void>;
|
|
88
|
+
/**
|
|
89
|
+
* Fetch the profiles that follow a user
|
|
90
|
+
* @param userId The user whose followers should be returned
|
|
91
|
+
* @param maxProfiles The maximum number of profiles to return.
|
|
92
|
+
* @returns An {@link AsyncGenerator} of profiles following the provided user.
|
|
93
|
+
*/
|
|
94
|
+
getFollowers(userId: string, maxProfiles: number): AsyncGenerator<Profile, void>;
|
|
95
|
+
/**
|
|
96
|
+
* Fetches following profiles from Twitter.
|
|
97
|
+
* @param userId The user whose following should be returned
|
|
98
|
+
* @param maxProfiles The maximum number of profiles to return.
|
|
99
|
+
* @param cursor The search cursor, which can be passed into further requests for more results.
|
|
100
|
+
* @returns A page of results, containing a cursor that can be used in further requests.
|
|
101
|
+
*/
|
|
102
|
+
fetchProfileFollowing(userId: string, maxProfiles: number, cursor?: string): Promise<QueryProfilesResponse>;
|
|
103
|
+
/**
|
|
104
|
+
* Fetches profile followers from Twitter.
|
|
105
|
+
* @param userId The user whose following should be returned
|
|
106
|
+
* @param maxProfiles The maximum number of profiles to return.
|
|
107
|
+
* @param cursor The search cursor, which can be passed into further requests for more results.
|
|
108
|
+
* @returns A page of results, containing a cursor that can be used in further requests.
|
|
109
|
+
*/
|
|
110
|
+
fetchProfileFollowers(userId: string, maxProfiles: number, cursor?: string): Promise<QueryProfilesResponse>;
|
|
87
111
|
/**
|
|
88
112
|
* Fetches the current trends from Twitter.
|
|
89
113
|
* @returns The current list of trends.
|
package/dist/scraper.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scraper.d.ts","sourceRoot":"","sources":["../src/scraper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAe,qBAAqB,EAAoB,MAAM,OAAO,CAAC;AAG7E,OAAO,EAAqC,OAAO,EAAE,MAAM,WAAW,CAAC;AACvE,OAAO,EAGL,UAAU,EAGX,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"scraper.d.ts","sourceRoot":"","sources":["../src/scraper.ts"],"names":[],"mappings":"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"}
|
package/dist/scraper.js
CHANGED
|
@@ -6,6 +6,7 @@ const auth_1 = require("./auth");
|
|
|
6
6
|
const auth_user_1 = require("./auth-user");
|
|
7
7
|
const profile_1 = require("./profile");
|
|
8
8
|
const search_1 = require("./search");
|
|
9
|
+
const relationships_1 = require("./relationships");
|
|
9
10
|
const trends_1 = require("./trends");
|
|
10
11
|
const tweets_1 = require("./tweets");
|
|
11
12
|
const twUrl = 'https://twitter.com';
|
|
@@ -93,6 +94,44 @@ class Scraper {
|
|
|
93
94
|
fetchSearchProfiles(query, maxProfiles, cursor) {
|
|
94
95
|
return (0, search_1.fetchSearchProfiles)(query, maxProfiles, this.auth, cursor);
|
|
95
96
|
}
|
|
97
|
+
/**
|
|
98
|
+
* Fetch the profiles a user is following
|
|
99
|
+
* @param userId The user whose following should be returned
|
|
100
|
+
* @param maxProfiles The maximum number of profiles to return.
|
|
101
|
+
* @returns An {@link AsyncGenerator} of following profiles for the provided user.
|
|
102
|
+
*/
|
|
103
|
+
getFollowing(userId, maxProfiles) {
|
|
104
|
+
return (0, relationships_1.getFollowing)(userId, maxProfiles, this.auth);
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Fetch the profiles that follow a user
|
|
108
|
+
* @param userId The user whose followers should be returned
|
|
109
|
+
* @param maxProfiles The maximum number of profiles to return.
|
|
110
|
+
* @returns An {@link AsyncGenerator} of profiles following the provided user.
|
|
111
|
+
*/
|
|
112
|
+
getFollowers(userId, maxProfiles) {
|
|
113
|
+
return (0, relationships_1.getFollowers)(userId, maxProfiles, this.auth);
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Fetches following profiles from Twitter.
|
|
117
|
+
* @param userId The user whose following should be returned
|
|
118
|
+
* @param maxProfiles The maximum number of profiles to return.
|
|
119
|
+
* @param cursor The search cursor, which can be passed into further requests for more results.
|
|
120
|
+
* @returns A page of results, containing a cursor that can be used in further requests.
|
|
121
|
+
*/
|
|
122
|
+
fetchProfileFollowing(userId, maxProfiles, cursor) {
|
|
123
|
+
return (0, relationships_1.fetchProfileFollowing)(userId, maxProfiles, this.auth, cursor);
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Fetches profile followers from Twitter.
|
|
127
|
+
* @param userId The user whose following should be returned
|
|
128
|
+
* @param maxProfiles The maximum number of profiles to return.
|
|
129
|
+
* @param cursor The search cursor, which can be passed into further requests for more results.
|
|
130
|
+
* @returns A page of results, containing a cursor that can be used in further requests.
|
|
131
|
+
*/
|
|
132
|
+
fetchProfileFollowers(userId, maxProfiles, cursor) {
|
|
133
|
+
return (0, relationships_1.fetchProfileFollowers)(userId, maxProfiles, this.auth, cursor);
|
|
134
|
+
}
|
|
96
135
|
/**
|
|
97
136
|
* Fetches the current trends from Twitter.
|
|
98
137
|
* @returns The current list of trends.
|
|
@@ -171,7 +210,12 @@ class Scraper {
|
|
|
171
210
|
* @returns The {@link Tweet} object, or `null` if it couldn't be fetched.
|
|
172
211
|
*/
|
|
173
212
|
getTweet(id) {
|
|
174
|
-
|
|
213
|
+
if (this.auth instanceof auth_user_1.TwitterUserAuth) {
|
|
214
|
+
return (0, tweets_1.getTweet)(id, this.auth);
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
return (0, tweets_1.getTweetAnonymous)(id, this.auth);
|
|
218
|
+
}
|
|
175
219
|
}
|
|
176
220
|
/**
|
|
177
221
|
* Returns if the scraper has a guest token. The token may not be valid.
|
package/dist/scraper.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scraper.js","sourceRoot":"","sources":["../src/scraper.ts"],"names":[],"mappings":";;;AACA,+BAA6E;AAC7E,iCAA2E;AAC3E,2CAA8C;AAC9C,uCAAuE;AACvE,qCAMkB;
|
|
1
|
+
{"version":3,"file":"scraper.js","sourceRoot":"","sources":["../src/scraper.ts"],"names":[],"mappings":"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"}
|
package/dist/search.js
CHANGED
|
@@ -18,7 +18,7 @@ var SearchMode;
|
|
|
18
18
|
SearchMode[SearchMode["Photos"] = 2] = "Photos";
|
|
19
19
|
SearchMode[SearchMode["Videos"] = 3] = "Videos";
|
|
20
20
|
SearchMode[SearchMode["Users"] = 4] = "Users";
|
|
21
|
-
})(SearchMode
|
|
21
|
+
})(SearchMode || (exports.SearchMode = SearchMode = {}));
|
|
22
22
|
function searchTweets(query, maxTweets, searchMode, auth) {
|
|
23
23
|
return (0, timeline_async_1.getTweetTimeline)(query, maxTweets, (q, mt, c) => {
|
|
24
24
|
return fetchSearchTweets(q, mt, searchMode, auth, c);
|
package/dist/search.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":";;;;;;AAAA,+BAAmD;AAInD,qDAAqE;AAErE,uDAI2B;AAC3B,kFAA8C;AAE9C;;GAEG;AACH,IAAY,UAMX;AAND,WAAY,UAAU;IACpB,yCAAG,CAAA;IACH,+CAAM,CAAA;IACN,+CAAM,CAAA;IACN,+CAAM,CAAA;IACN,6CAAK,CAAA;AACP,CAAC,EANW,UAAU,
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { QueryProfilesResponse } from './timeline-v1';
|
|
2
|
+
import { TimelineUserResultRaw } from './timeline-v2';
|
|
3
|
+
export interface RelationshipEntryItemContentRaw {
|
|
4
|
+
itemType?: string;
|
|
5
|
+
userDisplayType?: string;
|
|
6
|
+
user_results?: {
|
|
7
|
+
result?: TimelineUserResultRaw;
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
export interface RelationshipEntryRaw {
|
|
11
|
+
entryId: string;
|
|
12
|
+
sortIndex: string;
|
|
13
|
+
content?: {
|
|
14
|
+
cursorType?: string;
|
|
15
|
+
entryType?: string;
|
|
16
|
+
__typename?: string;
|
|
17
|
+
value?: string;
|
|
18
|
+
itemContent?: RelationshipEntryItemContentRaw;
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export interface RelationshipTimeline {
|
|
22
|
+
data?: {
|
|
23
|
+
user?: {
|
|
24
|
+
result?: {
|
|
25
|
+
timeline?: {
|
|
26
|
+
timeline?: {
|
|
27
|
+
instructions?: {
|
|
28
|
+
entries?: RelationshipEntryRaw[];
|
|
29
|
+
entry?: RelationshipEntryRaw;
|
|
30
|
+
type?: string;
|
|
31
|
+
}[];
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
export declare function parseRelationshipTimeline(timeline: RelationshipTimeline): QueryProfilesResponse;
|
|
39
|
+
//# sourceMappingURL=timeline-relationship.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeline-relationship.d.ts","sourceRoot":"","sources":["../src/timeline-relationship.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE;QACb,MAAM,CAAC,EAAE,qBAAqB,CAAC;KAChC,CAAC;CACH;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,+BAA+B,CAAC;KAC/C,CAAC;CACH;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE;QACL,IAAI,CAAC,EAAE;YACL,MAAM,CAAC,EAAE;gBACP,QAAQ,CAAC,EAAE;oBACT,QAAQ,CAAC,EAAE;wBACT,YAAY,CAAC,EAAE;4BACb,OAAO,CAAC,EAAE,oBAAoB,EAAE,CAAC;4BACjC,KAAK,CAAC,EAAE,oBAAoB,CAAC;4BAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;yBACf,EAAE,CAAC;qBACL,CAAC;iBACH,CAAC;aACH,CAAC;SACH,CAAC;KACH,CAAC;CACH;AAED,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,oBAAoB,GAC7B,qBAAqB,CAkDvB"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseRelationshipTimeline = void 0;
|
|
4
|
+
const profile_1 = require("./profile");
|
|
5
|
+
function parseRelationshipTimeline(timeline) {
|
|
6
|
+
let bottomCursor;
|
|
7
|
+
let topCursor;
|
|
8
|
+
const profiles = [];
|
|
9
|
+
const instructions = timeline.data?.user?.result?.timeline?.timeline?.instructions ?? [];
|
|
10
|
+
for (const instruction of instructions) {
|
|
11
|
+
if (instruction.type === 'TimelineAddEntries' ||
|
|
12
|
+
instruction.type === 'TimelineReplaceEntry') {
|
|
13
|
+
if (instruction.entry?.content?.cursorType === 'Bottom') {
|
|
14
|
+
bottomCursor = instruction.entry.content.value;
|
|
15
|
+
continue;
|
|
16
|
+
}
|
|
17
|
+
if (instruction.entry?.content?.cursorType === 'Top') {
|
|
18
|
+
topCursor = instruction.entry.content.value;
|
|
19
|
+
continue;
|
|
20
|
+
}
|
|
21
|
+
const entries = instruction.entries ?? [];
|
|
22
|
+
for (const entry of entries) {
|
|
23
|
+
const itemContent = entry.content?.itemContent;
|
|
24
|
+
if (itemContent?.userDisplayType === 'User') {
|
|
25
|
+
const userResultRaw = itemContent.user_results?.result;
|
|
26
|
+
if (userResultRaw?.legacy) {
|
|
27
|
+
const profile = (0, profile_1.parseProfile)(userResultRaw.legacy, userResultRaw.is_blue_verified);
|
|
28
|
+
if (!profile.userId) {
|
|
29
|
+
profile.userId = userResultRaw.rest_id;
|
|
30
|
+
}
|
|
31
|
+
profiles.push(profile);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
else if (entry.content?.cursorType === 'Bottom') {
|
|
35
|
+
bottomCursor = entry.content.value;
|
|
36
|
+
}
|
|
37
|
+
else if (entry.content?.cursorType === 'Top') {
|
|
38
|
+
topCursor = entry.content.value;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return { profiles, next: bottomCursor, previous: topCursor };
|
|
44
|
+
}
|
|
45
|
+
exports.parseRelationshipTimeline = parseRelationshipTimeline;
|
|
46
|
+
//# sourceMappingURL=timeline-relationship.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeline-relationship.js","sourceRoot":"","sources":["../src/timeline-relationship.ts"],"names":[],"mappings":";;;AAAA,uCAAkD;AA0ClD,SAAgB,yBAAyB,CACvC,QAA8B;IAE9B,IAAI,YAAgC,CAAC;IACrC,IAAI,SAA6B,CAAC;IAClC,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,MAAM,YAAY,GAChB,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,IAAI,EAAE,CAAC;IAEtE,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE;QACtC,IACE,WAAW,CAAC,IAAI,KAAK,oBAAoB;YACzC,WAAW,CAAC,IAAI,KAAK,sBAAsB,EAC3C;YACA,IAAI,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,KAAK,QAAQ,EAAE;gBACvD,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC/C,SAAS;aACV;YAED,IAAI,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,KAAK,KAAK,EAAE;gBACpD,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC5C,SAAS;aACV;YAED,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,IAAI,EAAE,CAAC;YAC1C,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;gBAC3B,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC;gBAC/C,IAAI,WAAW,EAAE,eAAe,KAAK,MAAM,EAAE;oBAC3C,MAAM,aAAa,GAAG,WAAW,CAAC,YAAY,EAAE,MAAM,CAAC;oBAEvD,IAAI,aAAa,EAAE,MAAM,EAAE;wBACzB,MAAM,OAAO,GAAG,IAAA,sBAAY,EAC1B,aAAa,CAAC,MAAM,EACpB,aAAa,CAAC,gBAAgB,CAC/B,CAAC;wBAEF,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;4BACnB,OAAO,CAAC,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC;yBACxC;wBAED,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;qBACxB;iBACF;qBAAM,IAAI,KAAK,CAAC,OAAO,EAAE,UAAU,KAAK,QAAQ,EAAE;oBACjD,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;iBACpC;qBAAM,IAAI,KAAK,CAAC,OAAO,EAAE,UAAU,KAAK,KAAK,EAAE;oBAC9C,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;iBACjC;aACF;SACF;KACF;IAED,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AAC/D,CAAC;AApDD,8DAoDC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeline-tweet-util.js","sourceRoot":"","sources":["../src/timeline-tweet-util.ts"],"names":[],"mappings":";;;AAEA,2CAA+D;AAE/D,MAAM,SAAS,GAAG,cAAc,CAAC;AACjC,MAAM,SAAS,GAAG,cAAc,CAAC;AACjC,MAAM,YAAY,GAAG,gDAAgD,CAAC;AACtE,MAAM,UAAU,GAAG,mBAAmB,CAAC;AAEvC,SAAgB,gBAAgB,CAAC,KAAiC;IAKhE,MAAM,MAAM,GAAY,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAY,EAAE,CAAC;IAC3B,IAAI,gBAAgB,GAAwB,SAAS,CAAC;IAEtD,KAAK,MAAM,CAAC,IAAI,KAAK;SAClB,MAAM,CAAC,IAAA,0BAAc,EAAC,QAAQ,CAAC,CAAC;SAChC,MAAM,CAAC,IAAA,0BAAc,EAAC,iBAAiB,CAAC,CAAC,EAAE;QAC5C,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE;YACtB,MAAM,CAAC,IAAI,CAAC;gBACV,EAAE,EAAE,CAAC,CAAC,MAAM;gBACZ,GAAG,EAAE,CAAC,CAAC,eAAe;gBACtB,QAAQ,EAAE,CAAC,CAAC,YAAY;aACzB,CAAC,CAAC;SACJ;aAAM,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE;YAC7B,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;SAC5B;QAED,MAAM,SAAS,GAAG,CAAC,CAAC,2BAA2B,CAAC;QAChD,IAAI,SAAS,IAAI,IAAI,EAAE;YACrB,gBAAgB;gBACd,SAAS,CAAC,aAAa;oBACvB,SAAS,CAAC,gBAAgB;oBAC1B,SAAS,CAAC,KAAK,CAAC;SACnB;KACF;IAED,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC9C,CAAC;AAhCD,4CAgCC;AAED,SAAS,UAAU,CACjB,CAA2E;IAE3E,MAAM,KAAK,GAAU;QACnB,EAAE,EAAE,CAAC,CAAC,MAAM;QACZ,OAAO,EAAE,CAAC,CAAC,eAAe;KAC3B,CAAC;IAEF,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,MAAM,QAAQ,GAAG,CAAC,CAAC,UAAU,EAAE,QAAQ,IAAI,EAAE,CAAC;IAC9C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;QAC9B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,GAAG,UAAU,IAAI,OAAO,CAAC,GAAG,IAAI,IAAI,EAAE;YAClE,IAAI,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC;YAC7B,MAAM,WAAW,GAAG,CAAC,CAAC;YACtB,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACnD,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE;gBACvB,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,WAAW,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC;aAClE;YAED,KAAK,CAAC,GAAG,GAAG,UAAU,CAAC;YACvB,UAAU,GAAG,OAAO,CAAC;SACtB;KACF;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAgB,oBAAoB,CAClC,KAAqB,EACrB,MAAe,EACf,MAAe;IAEf,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,6BAA6B;IAC7B,IAAI,IAAI,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;IAEjC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IAChD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IAChD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IAClD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAElE,KAAK,MAAM,EAAE,GAAG,EAAE,IAAI,MAAM,EAAE;QAC5B,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;YAC7B,SAAS;SACV;QAED,IAAI,IAAI,iBAAiB,GAAG,KAAK,CAAC;KACnC;IAED,KAAK,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,MAAM,EAAE;QACrC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;YAC7B,SAAS;SACV;QAED,IAAI,IAAI,iBAAiB,GAAG,KAAK,CAAC;KACnC;IAED,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAEnC,OAAO,IAAI,CAAC;AACd,CAAC;AAlCD,oDAkCC;AAED,SAAS,eAAe,CAAC,OAAe;IACtC,OAAO,wCAAwC,OAAO,CAAC,OAAO,CAC5D,GAAG,EACH,EAAE,CACH,KAAK,OAAO,MAAM,CAAC;AACtB,CAAC;AAED,SAAS,eAAe,CAAC,OAAe;IACtC,OAAO,4CAA4C,OAAO,CAAC,OAAO,CAChE,GAAG,EACH,EAAE,CACH,KAAK,OAAO,MAAM,CAAC;AACtB,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAgB;IACxC,OAAO,gCAAgC,QAAQ,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"timeline-tweet-util.js","sourceRoot":"","sources":["../src/timeline-tweet-util.ts"],"names":[],"mappings":"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"}
|
package/dist/timeline-v2.d.ts
CHANGED
|
@@ -7,10 +7,14 @@ export interface TimelineUserResultRaw {
|
|
|
7
7
|
is_blue_verified?: boolean;
|
|
8
8
|
}
|
|
9
9
|
export interface TimelineEntryItemContentRaw {
|
|
10
|
+
itemType?: string;
|
|
10
11
|
tweetDisplayType?: string;
|
|
11
12
|
tweetResult?: {
|
|
12
13
|
result?: TimelineResultRaw;
|
|
13
14
|
};
|
|
15
|
+
tweet_results?: {
|
|
16
|
+
result?: TimelineResultRaw;
|
|
17
|
+
};
|
|
14
18
|
userDisplayType?: string;
|
|
15
19
|
user_results?: {
|
|
16
20
|
result?: TimelineUserResultRaw;
|
|
@@ -26,7 +30,7 @@ export interface TimelineEntryRaw {
|
|
|
26
30
|
content?: TimelineEntryItemContentRaw;
|
|
27
31
|
};
|
|
28
32
|
}[];
|
|
29
|
-
|
|
33
|
+
itemContent?: TimelineEntryItemContentRaw;
|
|
30
34
|
};
|
|
31
35
|
}
|
|
32
36
|
export interface SearchEntryItemContentRaw {
|
|
@@ -56,7 +60,7 @@ export interface SearchEntryRaw {
|
|
|
56
60
|
};
|
|
57
61
|
}
|
|
58
62
|
export interface TimelineInstruction {
|
|
59
|
-
entries
|
|
63
|
+
entries?: TimelineEntryRaw[];
|
|
60
64
|
entry?: TimelineEntryRaw;
|
|
61
65
|
type?: string;
|
|
62
66
|
}
|
|
@@ -64,9 +68,9 @@ export interface TimelineV2 {
|
|
|
64
68
|
data?: {
|
|
65
69
|
user?: {
|
|
66
70
|
result?: {
|
|
67
|
-
|
|
71
|
+
timeline_v2?: {
|
|
68
72
|
timeline?: {
|
|
69
|
-
instructions
|
|
73
|
+
instructions?: TimelineInstruction[];
|
|
70
74
|
};
|
|
71
75
|
};
|
|
72
76
|
};
|
|
@@ -75,7 +79,7 @@ export interface TimelineV2 {
|
|
|
75
79
|
}
|
|
76
80
|
export interface ThreadedConversation {
|
|
77
81
|
data?: {
|
|
78
|
-
|
|
82
|
+
threaded_conversation_with_injections_v2?: {
|
|
79
83
|
instructions?: TimelineInstruction[];
|
|
80
84
|
};
|
|
81
85
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeline-v2.d.ts","sourceRoot":"","sources":["../src/timeline-v2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EAClB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAGjC,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,2BAA2B;IAC1C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE;QACZ,MAAM,CAAC,EAAE,iBAAiB,CAAC;KAC5B,CAAC;IACF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE;QACb,MAAM,CAAC,EAAE,qBAAqB,CAAC;KAChC,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE;YACN,IAAI,CAAC,EAAE;gBACL,OAAO,CAAC,EAAE,2BAA2B,CAAC;aACvC,CAAC;SACH,EAAE,CAAC;QACJ,
|
|
1
|
+
{"version":3,"file":"timeline-v2.d.ts","sourceRoot":"","sources":["../src/timeline-v2.ts"],"names":[],"mappings":"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"}
|
package/dist/timeline-v2.js
CHANGED
|
@@ -138,8 +138,7 @@ function parseTimelineTweetsV2(timeline) {
|
|
|
138
138
|
let bottomCursor;
|
|
139
139
|
let topCursor;
|
|
140
140
|
const tweets = [];
|
|
141
|
-
const instructions = timeline.data?.user?.result?.
|
|
142
|
-
[];
|
|
141
|
+
const instructions = timeline.data?.user?.result?.timeline_v2?.timeline?.instructions ?? [];
|
|
143
142
|
for (const instruction of instructions) {
|
|
144
143
|
const entries = instruction.entries ?? [];
|
|
145
144
|
for (const entry of entries) {
|
|
@@ -158,8 +157,8 @@ function parseTimelineTweetsV2(timeline) {
|
|
|
158
157
|
if (!idStr.startsWith('tweet')) {
|
|
159
158
|
continue;
|
|
160
159
|
}
|
|
161
|
-
if (entryContent.
|
|
162
|
-
parseAndPush(tweets, entryContent.
|
|
160
|
+
if (entryContent.itemContent) {
|
|
161
|
+
parseAndPush(tweets, entryContent.itemContent, idStr);
|
|
163
162
|
}
|
|
164
163
|
}
|
|
165
164
|
}
|
|
@@ -167,7 +166,7 @@ function parseTimelineTweetsV2(timeline) {
|
|
|
167
166
|
}
|
|
168
167
|
exports.parseTimelineTweetsV2 = parseTimelineTweetsV2;
|
|
169
168
|
function parseTimelineEntryItemContentRaw(content, entryId, isConversation = false) {
|
|
170
|
-
const result = content.tweetResult?.result;
|
|
169
|
+
const result = content.tweet_results?.result ?? content.tweetResult?.result;
|
|
171
170
|
if (result?.__typename === 'Tweet') {
|
|
172
171
|
if (result.legacy) {
|
|
173
172
|
result.legacy.id_str = entryId
|
|
@@ -195,11 +194,12 @@ function parseAndPush(tweets, content, entryId, isConversation = false) {
|
|
|
195
194
|
}
|
|
196
195
|
function parseThreadedConversation(conversation) {
|
|
197
196
|
const tweets = [];
|
|
198
|
-
const instructions = conversation.data?.
|
|
197
|
+
const instructions = conversation.data?.threaded_conversation_with_injections_v2?.instructions ??
|
|
198
|
+
[];
|
|
199
199
|
for (const instruction of instructions) {
|
|
200
200
|
const entries = instruction.entries ?? [];
|
|
201
201
|
for (const entry of entries) {
|
|
202
|
-
const entryContent = entry.content?.
|
|
202
|
+
const entryContent = entry.content?.itemContent;
|
|
203
203
|
if (entryContent) {
|
|
204
204
|
parseAndPush(tweets, entryContent, entry.entryId, true);
|
|
205
205
|
}
|
package/dist/timeline-v2.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeline-v2.js","sourceRoot":"","sources":["../src/timeline-v2.ts"],"names":[],"mappings":";;;AACA,+DAA+E;AAS/E,2CAA6C;
|
|
1
|
+
{"version":3,"file":"timeline-v2.js","sourceRoot":"","sources":["../src/timeline-v2.ts"],"names":[],"mappings":"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"}
|
package/dist/tweets.d.ts
CHANGED
|
@@ -106,4 +106,5 @@ export interface TweetResultByRestId {
|
|
|
106
106
|
data?: TimelineEntryItemContentRaw;
|
|
107
107
|
}
|
|
108
108
|
export declare function getTweet(id: string, auth: TwitterAuth): Promise<Tweet | null>;
|
|
109
|
+
export declare function getTweetAnonymous(id: string, auth: TwitterAuth): Promise<Tweet | null>;
|
|
109
110
|
//# sourceMappingURL=tweets.d.ts.map
|
package/dist/tweets.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tweets.d.ts","sourceRoot":"","sources":["../src/tweets.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAGL,2BAA2B,
|
|
1
|
+
{"version":3,"file":"tweets.d.ts","sourceRoot":"","sources":["../src/tweets.ts"],"names":[],"mappings":"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"}
|
package/dist/tweets.js
CHANGED
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getTweet = exports.getLatestTweet = exports.getTweetsWhere = exports.getTweetWhere = exports.getTweetsByUserId = exports.getTweets = exports.fetchTweets = exports.features = void 0;
|
|
3
|
+
exports.getTweetAnonymous = exports.getTweet = exports.getLatestTweet = exports.getTweetsWhere = exports.getTweetWhere = exports.getTweetsByUserId = exports.getTweets = exports.fetchTweets = exports.features = void 0;
|
|
7
4
|
const api_1 = require("./api");
|
|
8
5
|
const profile_1 = require("./profile");
|
|
9
6
|
const timeline_v2_1 = require("./timeline-v2");
|
|
10
7
|
const timeline_async_1 = require("./timeline-async");
|
|
11
|
-
const
|
|
8
|
+
const api_data_1 = require("./api-data");
|
|
12
9
|
exports.features = (0, api_1.addApiFeatures)({
|
|
13
10
|
interactive_text_enabled: true,
|
|
14
11
|
longform_notetweets_inline_media_enabled: false,
|
|
@@ -20,42 +17,14 @@ async function fetchTweets(userId, maxTweets, cursor, auth) {
|
|
|
20
17
|
if (maxTweets > 200) {
|
|
21
18
|
maxTweets = 200;
|
|
22
19
|
}
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
withQuickPromoteEligibilityTweetFields: true,
|
|
28
|
-
withVoice: true,
|
|
29
|
-
withV2Timeline: true,
|
|
30
|
-
};
|
|
20
|
+
const userTweetsRequest = api_data_1.apiRequestFactory.createUserTweetsRequest();
|
|
21
|
+
userTweetsRequest.variables.userId = userId;
|
|
22
|
+
userTweetsRequest.variables.count = maxTweets;
|
|
23
|
+
userTweetsRequest.variables.includePromotedContent = false; // true on the website
|
|
31
24
|
if (cursor != null && cursor != '') {
|
|
32
|
-
variables['cursor'] = cursor;
|
|
25
|
+
userTweetsRequest.variables['cursor'] = cursor;
|
|
33
26
|
}
|
|
34
|
-
const
|
|
35
|
-
params.set('variables', (0, json_stable_stringify_1.default)(variables));
|
|
36
|
-
params.set('features', (0, json_stable_stringify_1.default)({
|
|
37
|
-
rweb_lists_timeline_redesign_enabled: true,
|
|
38
|
-
responsive_web_graphql_exclude_directive_enabled: true,
|
|
39
|
-
verified_phone_label_enabled: false,
|
|
40
|
-
creator_subscriptions_tweet_preview_api_enabled: true,
|
|
41
|
-
responsive_web_graphql_timeline_navigation_enabled: true,
|
|
42
|
-
responsive_web_graphql_skip_user_profile_image_extensions_enabled: false,
|
|
43
|
-
tweetypie_unmention_optimization_enabled: true,
|
|
44
|
-
responsive_web_edit_tweet_api_enabled: true,
|
|
45
|
-
graphql_is_translatable_rweb_tweet_is_translatable_enabled: true,
|
|
46
|
-
view_counts_everywhere_api_enabled: true,
|
|
47
|
-
longform_notetweets_consumption_enabled: true,
|
|
48
|
-
responsive_web_twitter_article_tweet_consumption_enabled: false,
|
|
49
|
-
tweet_awards_web_tipping_enabled: false,
|
|
50
|
-
freedom_of_speech_not_reach_fetch_enabled: true,
|
|
51
|
-
standardized_nudges_misinfo: true,
|
|
52
|
-
tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled: true,
|
|
53
|
-
longform_notetweets_rich_text_read_enabled: true,
|
|
54
|
-
longform_notetweets_inline_media_enabled: true,
|
|
55
|
-
responsive_web_media_download_video_enabled: false,
|
|
56
|
-
responsive_web_enhance_cards_enabled: false,
|
|
57
|
-
}));
|
|
58
|
-
const res = await (0, api_1.requestApi)(`https://twitter.com/i/api/graphql/XicnWRbyQ3WgVY__VataBQ/UserTweets?${params.toString()}`, auth);
|
|
27
|
+
const res = await (0, api_1.requestApi)(userTweetsRequest.toRequestUrl(), auth);
|
|
59
28
|
if (!res.success) {
|
|
60
29
|
throw res.err;
|
|
61
30
|
}
|
|
@@ -119,36 +88,23 @@ async function getLatestTweet(user, includeRetweets, max, auth) {
|
|
|
119
88
|
}
|
|
120
89
|
exports.getLatestTweet = getLatestTweet;
|
|
121
90
|
async function getTweet(id, auth) {
|
|
122
|
-
const
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
standardized_nudges_misinfo: true,
|
|
140
|
-
tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled: true,
|
|
141
|
-
longform_notetweets_rich_text_read_enabled: true,
|
|
142
|
-
longform_notetweets_inline_media_enabled: true,
|
|
143
|
-
responsive_web_graphql_exclude_directive_enabled: true,
|
|
144
|
-
verified_phone_label_enabled: false,
|
|
145
|
-
responsive_web_media_download_video_enabled: false,
|
|
146
|
-
responsive_web_graphql_skip_user_profile_image_extensions_enabled: false,
|
|
147
|
-
responsive_web_graphql_timeline_navigation_enabled: true,
|
|
148
|
-
responsive_web_enhance_cards_enabled: false,
|
|
149
|
-
}));
|
|
150
|
-
params.set('variables', (0, json_stable_stringify_1.default)(variables));
|
|
151
|
-
const res = await (0, api_1.requestApi)(`https://twitter.com/i/api/graphql/0hWvDhmW8YQ-S_ib3azIrw/TweetResultByRestId?${params.toString()}`, auth);
|
|
91
|
+
const tweetDetailRequest = api_data_1.apiRequestFactory.createTweetDetailRequest();
|
|
92
|
+
tweetDetailRequest.variables.focalTweetId = id;
|
|
93
|
+
const res = await (0, api_1.requestApi)(tweetDetailRequest.toRequestUrl(), auth);
|
|
94
|
+
if (!res.success) {
|
|
95
|
+
throw res.err;
|
|
96
|
+
}
|
|
97
|
+
if (!res.value) {
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
100
|
+
const tweets = (0, timeline_v2_1.parseThreadedConversation)(res.value);
|
|
101
|
+
return tweets.find((tweet) => tweet.id === id) ?? null;
|
|
102
|
+
}
|
|
103
|
+
exports.getTweet = getTweet;
|
|
104
|
+
async function getTweetAnonymous(id, auth) {
|
|
105
|
+
const tweetResultByRestIdRequest = api_data_1.apiRequestFactory.createTweetResultByRestIdRequest();
|
|
106
|
+
tweetResultByRestIdRequest.variables.tweetId = id;
|
|
107
|
+
const res = await (0, api_1.requestApi)(tweetResultByRestIdRequest.toRequestUrl(), auth);
|
|
152
108
|
if (!res.success) {
|
|
153
109
|
throw res.err;
|
|
154
110
|
}
|
|
@@ -157,5 +113,5 @@ async function getTweet(id, auth) {
|
|
|
157
113
|
}
|
|
158
114
|
return (0, timeline_v2_1.parseTimelineEntryItemContentRaw)(res.value.data, id);
|
|
159
115
|
}
|
|
160
|
-
exports.
|
|
116
|
+
exports.getTweetAnonymous = getTweetAnonymous;
|
|
161
117
|
//# sourceMappingURL=tweets.js.map
|
package/dist/tweets.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tweets.js","sourceRoot":"","sources":["../src/tweets.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tweets.js","sourceRoot":"","sources":["../src/tweets.ts"],"names":[],"mappings":";;;AAAA,+BAAmD;AAEnD,uCAAkD;AAElD,+CAOuB;AACvB,qDAAoD;AAEpD,yCAA+C;AA4ElC,QAAA,QAAQ,GAAG,IAAA,oBAAc,EAAC;IACrC,wBAAwB,EAAE,IAAI;IAC9B,wCAAwC,EAAE,KAAK;IAC/C,yCAAyC,EAAE,KAAK;IAChD,uEAAuE,EACrE,KAAK;IACP,gBAAgB,EAAE,KAAK;CACxB,CAAC,CAAC;AAEI,KAAK,UAAU,WAAW,CAC/B,MAAc,EACd,SAAiB,EACjB,MAA0B,EAC1B,IAAiB;IAEjB,IAAI,SAAS,GAAG,GAAG,EAAE;QACnB,SAAS,GAAG,GAAG,CAAC;KACjB;IAED,MAAM,iBAAiB,GAAG,4BAAiB,CAAC,uBAAuB,EAAE,CAAC;IACtE,iBAAiB,CAAC,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC;IAC5C,iBAAiB,CAAC,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC;IAC9C,iBAAiB,CAAC,SAAS,CAAC,sBAAsB,GAAG,KAAK,CAAC,CAAC,sBAAsB;IAElF,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,IAAI,EAAE,EAAE;QAClC,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;KAChD;IAED,MAAM,GAAG,GAAG,MAAM,IAAA,gBAAU,EAC1B,iBAAiB,CAAC,YAAY,EAAE,EAChC,IAAI,CACL,CAAC;IAEF,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;QAChB,MAAM,GAAG,CAAC,GAAG,CAAC;KACf;IAED,OAAO,IAAA,mCAAqB,EAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC1C,CAAC;AA7BD,kCA6BC;AAED,SAAgB,SAAS,CACvB,IAAY,EACZ,SAAiB,EACjB,IAAiB;IAEjB,OAAO,IAAA,iCAAgB,EAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE;QAC1D,MAAM,SAAS,GAAG,MAAM,IAAA,+BAAqB,EAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAEvD,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;YACtB,MAAM,SAAS,CAAC,GAAG,CAAC;SACrB;QAED,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QAEpC,OAAO,WAAW,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC;AAhBD,8BAgBC;AAED,SAAgB,iBAAiB,CAC/B,MAAc,EACd,SAAiB,EACjB,IAAiB;IAEjB,OAAO,IAAA,iCAAgB,EAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE;QACtD,OAAO,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC;AARD,8CAQC;AAEM,KAAK,UAAU,aAAa,CACjC,MAA4B,EAC5B,KAAiB;IAEjB,MAAM,UAAU,GAAG,OAAO,KAAK,KAAK,UAAU,CAAC;IAE/C,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE;QAChC,MAAM,OAAO,GAAG,UAAU;YACxB,CAAC,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC;YACpB,CAAC,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAEpC,IAAI,OAAO,EAAE;YACX,OAAO,KAAK,CAAC;SACd;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAjBD,sCAiBC;AAEM,KAAK,UAAU,cAAc,CAClC,MAA4B,EAC5B,KAAiB;IAEjB,MAAM,UAAU,GAAG,OAAO,KAAK,KAAK,UAAU,CAAC;IAC/C,MAAM,QAAQ,GAAG,EAAE,CAAC;IAEpB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE;QAChC,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAE5E,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACtB;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAfD,wCAeC;AAED,SAAS,iBAAiB,CAAC,KAAY,EAAE,OAAuB;IAC9D,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QACtC,MAAM,GAAG,GAAG,CAAgB,CAAC;QAC7B,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,cAAc,CAClC,IAAY,EACZ,eAAwB,EACxB,GAAW,EACX,IAAiB;IAEjB,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAE5C,sDAAsD;IACtD,OAAO,GAAG,KAAK,CAAC;QACd,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK;QAC/B,CAAC,CAAC,MAAM,aAAa,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;AACpE,CAAC;AAZD,wCAYC;AAMM,KAAK,UAAU,QAAQ,CAC5B,EAAU,EACV,IAAiB;IAEjB,MAAM,kBAAkB,GAAG,4BAAiB,CAAC,wBAAwB,EAAE,CAAC;IACxE,kBAAkB,CAAC,SAAS,CAAC,YAAY,GAAG,EAAE,CAAC;IAE/C,MAAM,GAAG,GAAG,MAAM,IAAA,gBAAU,EAC1B,kBAAkB,CAAC,YAAY,EAAE,EACjC,IAAI,CACL,CAAC;IAEF,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;QAChB,MAAM,GAAG,CAAC,GAAG,CAAC;KACf;IAED,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE;QACd,OAAO,IAAI,CAAC;KACb;IAED,MAAM,MAAM,GAAG,IAAA,uCAAyB,EAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC;AACzD,CAAC;AAtBD,4BAsBC;AAEM,KAAK,UAAU,iBAAiB,CACrC,EAAU,EACV,IAAiB;IAEjB,MAAM,0BAA0B,GAC9B,4BAAiB,CAAC,gCAAgC,EAAE,CAAC;IACvD,0BAA0B,CAAC,SAAS,CAAC,OAAO,GAAG,EAAE,CAAC;IAElD,MAAM,GAAG,GAAG,MAAM,IAAA,gBAAU,EAC1B,0BAA0B,CAAC,YAAY,EAAE,EACzC,IAAI,CACL,CAAC;IAEF,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;QAChB,MAAM,GAAG,CAAC,GAAG,CAAC;KACf;IAED,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE;QACnB,OAAO,IAAI,CAAC;KACb;IAED,OAAO,IAAA,8CAAgC,EAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAC9D,CAAC;AAtBD,8CAsBC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@the-convocation/twitter-scraper",
|
|
3
|
-
"
|
|
3
|
+
"description": "A port of n0madic/twitter-scraper to Node.js.",
|
|
4
|
+
"keywords": ["x", "twitter", "scraper"],
|
|
5
|
+
"version": "0.8.1",
|
|
4
6
|
"main": "dist/_module.js",
|
|
5
7
|
"repository": "https://github.com/the-convocation/twitter-scraper.git",
|
|
6
8
|
"author": "karashiiro <49822414+karashiiro@users.noreply.github.com>",
|
|
@@ -8,6 +10,7 @@
|
|
|
8
10
|
"engines": {
|
|
9
11
|
"node": ">=16"
|
|
10
12
|
},
|
|
13
|
+
"packageManager": "yarn@1.22.19",
|
|
11
14
|
"scripts": {
|
|
12
15
|
"build": "tsc",
|
|
13
16
|
"commit": "cz",
|
|
@@ -41,6 +44,7 @@
|
|
|
41
44
|
"eslint-config-prettier": "^8.8.0",
|
|
42
45
|
"eslint-plugin-prettier": "^4.2.1",
|
|
43
46
|
"gh-pages": "^5.0.0",
|
|
47
|
+
"https-proxy-agent": "^7.0.2",
|
|
44
48
|
"husky": "^8.0.3",
|
|
45
49
|
"jest": "^29.5.0",
|
|
46
50
|
"lint-staged": "^13.2.2",
|