twitter-snap 0.0.42 → 0.0.44
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/bin/run.js +1 -1
- package/dist/commands/index.d.ts +33 -2
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +16 -41
- package/dist/commands/index.js.map +1 -1
- package/dist/core/core.d.ts +4 -2
- package/dist/core/core.d.ts.map +1 -1
- package/dist/core/core.js +122 -54
- package/dist/core/core.js.map +1 -1
- package/dist/core/main.d.ts +2 -30
- package/dist/core/main.d.ts.map +1 -1
- package/dist/core/main.js +25 -8
- package/dist/core/main.js.map +1 -1
- package/dist/hooks/interactive.d.ts +4 -0
- package/dist/hooks/interactive.d.ts.map +1 -0
- package/dist/hooks/interactive.js +176 -0
- package/dist/hooks/interactive.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utils/logger.d.ts +1 -0
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +5 -1
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/oclif.d.ts +2 -0
- package/dist/utils/oclif.d.ts.map +1 -0
- package/dist/utils/oclif.js +6 -0
- package/dist/utils/oclif.js.map +1 -0
- package/dist/utils/url.d.ts +1 -1
- package/oclif.manifest.json +17 -42
- package/package.json +5 -1
package/bin/run.js
CHANGED
package/dist/commands/index.d.ts
CHANGED
|
@@ -1,4 +1,33 @@
|
|
|
1
1
|
import { Command } from '@oclif/core';
|
|
2
|
+
export declare abstract class DefaultCommand extends Command {
|
|
3
|
+
getDefault(): Promise<import("@oclif/core/lib/interfaces/parser.js").ParserOutput<{
|
|
4
|
+
api: "getTweetDetail" | "getSearchTimeline" | "getHomeTimeline" | "getHomeLatestTimeline" | "getListLatestTweetsTimeline" | "getUserTweets" | "getUserTweetsAndReplies" | "getUserMedia" | "getLikes" | "getBookmarks" | "getTweetResultByRestId";
|
|
5
|
+
browserHeadless: boolean;
|
|
6
|
+
browserProfile: string;
|
|
7
|
+
cookiesFile: string;
|
|
8
|
+
debug: boolean;
|
|
9
|
+
interactive: boolean;
|
|
10
|
+
ffmpegAdditonalOption: string | undefined;
|
|
11
|
+
ffmpegPath: string;
|
|
12
|
+
ffprobePath: string;
|
|
13
|
+
fontPath: string;
|
|
14
|
+
limit: number;
|
|
15
|
+
noCleanup: boolean;
|
|
16
|
+
output: string;
|
|
17
|
+
sessionType: "file" | "browser" | "guest";
|
|
18
|
+
simpleLog: boolean;
|
|
19
|
+
sleep: number;
|
|
20
|
+
theme: "RenderOceanBlueColor" | "RenderOceanBlueDarkColor" | "RenderSunsetGardenColor" | "RenderSunsetGardenDarkColor" | "RenderDawnBlossomColor" | "RenderDawnBlossomDarkColor" | "RenderFierySunsetColor" | "RenderFierySunsetDarkColor" | "RenderTwilightSkyColor" | "RenderTwilightSkyDarkColor" | "RenderPlainColor" | "RenderPlainDarkColor" | "RenderTransparent" | "RenderTransparentDark" | "RenderTransparentShadow" | "RenderTransparentDarkShadow" | "RenderMakeItAQuote" | "MediaOnly" | "Json";
|
|
21
|
+
width: number;
|
|
22
|
+
scale: number;
|
|
23
|
+
}, {
|
|
24
|
+
[flag: string]: any;
|
|
25
|
+
}, {
|
|
26
|
+
id: string;
|
|
27
|
+
}>>;
|
|
28
|
+
}
|
|
29
|
+
type PromiseType<T extends Promise<any>> = T extends Promise<infer U> ? U : never;
|
|
30
|
+
export type DefaultCommandType = PromiseType<ReturnType<typeof DefaultCommand.prototype.getDefault>>;
|
|
2
31
|
export default class Default extends Command {
|
|
3
32
|
static args: {
|
|
4
33
|
id: import("@oclif/core/lib/interfaces/parser.js").Arg<string, Record<string, unknown>>;
|
|
@@ -9,11 +38,12 @@ export default class Default extends Command {
|
|
|
9
38
|
description: string;
|
|
10
39
|
}[];
|
|
11
40
|
static flags: {
|
|
12
|
-
api: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<"getTweetDetail" | "getSearchTimeline" | "getHomeTimeline" | "
|
|
41
|
+
api: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<"getTweetDetail" | "getSearchTimeline" | "getHomeTimeline" | "getHomeLatestTimeline" | "getListLatestTweetsTimeline" | "getUserTweets" | "getUserTweetsAndReplies" | "getUserMedia" | "getLikes" | "getBookmarks" | "getTweetResultByRestId", import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
13
42
|
browserHeadless: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
14
43
|
browserProfile: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
15
44
|
cookiesFile: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
16
45
|
debug: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
46
|
+
interactive: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
17
47
|
ffmpegAdditonalOption: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
18
48
|
ffmpegPath: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
19
49
|
ffprobePath: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
@@ -24,11 +54,12 @@ export default class Default extends Command {
|
|
|
24
54
|
sessionType: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<"file" | "browser" | "guest", import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
25
55
|
simpleLog: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
26
56
|
sleep: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<number, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
27
|
-
theme: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<"RenderOceanBlueColor" | "RenderOceanBlueDarkColor" | "RenderSunsetGardenColor" | "RenderSunsetGardenDarkColor" | "RenderDawnBlossomColor" | "RenderDawnBlossomDarkColor" | "RenderFierySunsetColor" | "RenderFierySunsetDarkColor" | "RenderTwilightSkyColor" | "RenderTwilightSkyDarkColor" | "RenderPlainColor" | "RenderPlainDarkColor" | "RenderTransparent" | "RenderTransparentDark" | "RenderTransparentShadow" | "RenderTransparentDarkShadow" | "RenderMakeItAQuote", import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
57
|
+
theme: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<"RenderOceanBlueColor" | "RenderOceanBlueDarkColor" | "RenderSunsetGardenColor" | "RenderSunsetGardenDarkColor" | "RenderDawnBlossomColor" | "RenderDawnBlossomDarkColor" | "RenderFierySunsetColor" | "RenderFierySunsetDarkColor" | "RenderTwilightSkyColor" | "RenderTwilightSkyDarkColor" | "RenderPlainColor" | "RenderPlainDarkColor" | "RenderTransparent" | "RenderTransparentDark" | "RenderTransparentShadow" | "RenderTransparentDarkShadow" | "RenderMakeItAQuote" | "MediaOnly" | "Json", import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
28
58
|
width: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<number, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
29
59
|
scale: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<number, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
30
60
|
};
|
|
31
61
|
constructor(argv: string[], config: any);
|
|
32
62
|
run(): Promise<void>;
|
|
33
63
|
}
|
|
64
|
+
export {};
|
|
34
65
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,OAAO,EAAQ,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,OAAO,EAAQ,MAAM,aAAa,CAAA;AAQhD,8BAAsB,cAAe,SAAQ,OAAO;IAC3C,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;CAGlB;AACD,KAAK,WAAW,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AACjF,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,cAAc,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAA;AAEpG,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,OAAO;IAC1C,MAAM,CAAC,IAAI;;MAEV;IAED,MAAM,CAAC,WAAW,SAA8F;IAEhH,MAAM,CAAC,QAAQ;;;QASd;IAED,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;;;;;MA0FX;gBAGW,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG;IAIjC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAsB3B"}
|
package/dist/commands/index.js
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
import { Args, Command, Flags } from '@oclif/core';
|
|
2
2
|
import { themeList } from 'twitter-snap-core';
|
|
3
|
+
import { additonalTheme } from '../core/core.js';
|
|
3
4
|
import { TwitterSnap } from '../core/main.js';
|
|
4
5
|
import { Logger, LoggerSimple } from '../utils/logger.js';
|
|
5
6
|
import { getTweetList } from './../utils/types.js';
|
|
7
|
+
export class DefaultCommand extends Command {
|
|
8
|
+
getDefault() {
|
|
9
|
+
return this.parse(Default);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
6
12
|
class Default extends Command {
|
|
7
13
|
// eslint-disable-next-line @typescript-eslint/no-useless-constructor
|
|
8
14
|
constructor(argv, config) {
|
|
@@ -37,49 +43,13 @@ Default.args = {
|
|
|
37
43
|
};
|
|
38
44
|
Default.description = ['Create beautiful Tweet images fast', 'https://github.com/fa0311/twitter-snap'].join('\n');
|
|
39
45
|
Default.examples = [
|
|
40
|
-
{
|
|
41
|
-
command: 'twitter-snap 1349129669258448897',
|
|
42
|
-
description: 'Create a snap from tweet id with minimal commands.',
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
command: 'twitter-snap 1349129669258448897 --theme RenderMakeItAQuote',
|
|
46
|
-
description: 'Create a snap using the RenderMakeItAQuote theme.',
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
command: 'twitter-snap 1349129669258448897 --session-type browser',
|
|
50
|
-
description: 'Create a snap using the browser session.',
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
command: 'twitter-snap 1349129669258448897 --session-type file --cookies-file cookies.json',
|
|
54
|
-
description: 'Create a snap using the file session.',
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
command: 'twitter-snap 44196397 --api getUserTweets --limit 10',
|
|
58
|
-
description: 'Create snaps of 10 tweets from a user ID for that user.',
|
|
59
|
-
},
|
|
60
|
-
{
|
|
61
|
-
command: 'twitter-snap https://twitter.com/elonmusk',
|
|
62
|
-
description: 'Create snaps from a user profile URL.',
|
|
63
|
-
},
|
|
64
46
|
{
|
|
65
47
|
command: 'twitter-snap https://twitter.com/elonmusk/status/1349129669258448897',
|
|
66
|
-
description: 'Create a snap from
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
command: 'twitter-snap 44196397 --api getUserTweets -o "{user-screen-name}/{count}.png"',
|
|
70
|
-
description: 'Create snaps from a user ID and save them with the count number.',
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
command: 'twitter-snap 44196397 --api getUserTweets -o "data/{user-screen-name}/{id}.{if-photo:png:mp4}"',
|
|
74
|
-
description: 'Create snaps from a user ID and save them in a data folder.',
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
command: 'twitter-snap 44196397 --api getUserTweets -o "{time-tweet-yyyy}-{time-tweet-mm}-{time-tweet-dd}/{id}.png"',
|
|
78
|
-
description: 'Create snaps from a user ID and save them with the tweet date.',
|
|
48
|
+
description: 'Create a snap from tweet id with minimal commands.',
|
|
79
49
|
},
|
|
80
50
|
{
|
|
81
|
-
command: 'twitter-snap
|
|
82
|
-
description: '
|
|
51
|
+
command: 'twitter-snap --interactive',
|
|
52
|
+
description: 'Enable interactive mode.',
|
|
83
53
|
},
|
|
84
54
|
];
|
|
85
55
|
Default.flags = {
|
|
@@ -107,6 +77,11 @@ Default.flags = {
|
|
|
107
77
|
default: false,
|
|
108
78
|
description: 'Debug',
|
|
109
79
|
}),
|
|
80
|
+
interactive: Flags.boolean({
|
|
81
|
+
default: false,
|
|
82
|
+
description: 'Enable interactive mode',
|
|
83
|
+
aliases: ['i'],
|
|
84
|
+
}),
|
|
110
85
|
ffmpegAdditonalOption: Flags.string({
|
|
111
86
|
aliases: ['ffmpeg-additonal-option'],
|
|
112
87
|
description: 'FFmpeg additonal option',
|
|
@@ -137,7 +112,7 @@ Default.flags = {
|
|
|
137
112
|
}),
|
|
138
113
|
output: Flags.string({
|
|
139
114
|
char: 'o',
|
|
140
|
-
default: '{id}.{if-photo:png:mp4}',
|
|
115
|
+
default: '{if-media-only:{id}-{media-id}:{id}}.{if-photo:png:mp4}',
|
|
141
116
|
description: 'Output file name',
|
|
142
117
|
}),
|
|
143
118
|
sessionType: Flags.custom({
|
|
@@ -157,7 +132,7 @@ Default.flags = {
|
|
|
157
132
|
theme: Flags.custom({
|
|
158
133
|
default: 'RenderOceanBlueColor',
|
|
159
134
|
description: 'Theme type',
|
|
160
|
-
options: Object.keys(themeList),
|
|
135
|
+
options: [...Object.keys(themeList), ...additonalTheme],
|
|
161
136
|
})(),
|
|
162
137
|
width: Flags.integer({
|
|
163
138
|
default: 650,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAC,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"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"}
|
package/dist/core/core.d.ts
CHANGED
|
@@ -3,7 +3,9 @@ import { TweetApiUtilsData, TwitterOpenApiClient } from 'twitter-openapi-typescr
|
|
|
3
3
|
import { ThemeNameType } from 'twitter-snap-core';
|
|
4
4
|
import { GetTweetApi, ThemeParamType } from '../utils/types.js';
|
|
5
5
|
export declare const twitterSnapGuest: () => Promise<readonly [({ id, limit, type, startId }: tweetApiSnapParam, handler: handlerType) => Promise<void>, TwitterOpenApiClient]>;
|
|
6
|
-
export declare const twitterDomains:
|
|
6
|
+
export declare const twitterDomains: readonly ["twitter.com", "x.com"];
|
|
7
|
+
export declare const additonalTheme: readonly ["MediaOnly", "Json"];
|
|
8
|
+
export type AdditonalThemeType = (typeof additonalTheme)[number];
|
|
7
9
|
export declare const twitterSnapPuppeteer: (headless?: boolean, userDataDir?: string) => Promise<readonly [({ id, limit, type, startId }: tweetApiSnapParam, handler: handlerType) => Promise<void>, TwitterOpenApiClient]>;
|
|
8
10
|
export declare const twitterSnapCookies: (path: string) => Promise<readonly [({ id, limit, type, startId }: tweetApiSnapParam, handler: handlerType) => Promise<void>, TwitterOpenApiClient]>;
|
|
9
11
|
type Fonts = NonNullable<NonNullable<ConstructorParameters<typeof ImageResponse>[1]>['fonts']>[0];
|
|
@@ -24,7 +26,7 @@ export type HandlerType = {
|
|
|
24
26
|
type twitterRenderParam = {
|
|
25
27
|
handler?: (e: HandlerType) => void;
|
|
26
28
|
output: string;
|
|
27
|
-
themeName: ThemeNameType;
|
|
29
|
+
themeName: ThemeNameType | AdditonalThemeType;
|
|
28
30
|
themeParam: ThemeParamType & {
|
|
29
31
|
fonts: Fonts[];
|
|
30
32
|
};
|
package/dist/core/core.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/core/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,YAAY,CAAA;AAGxC,OAAO,EAAC,iBAAiB,EAAkB,oBAAoB,EAAC,MAAM,4BAA4B,CAAA;AAClG,OAAO,EAAC,aAAa,EAAY,MAAM,mBAAmB,CAAA;AAE1D,OAAO,EAAC,WAAW,EAAE,cAAc,EAAe,MAAM,mBAAmB,CAAA;AAE3E,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/core/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,YAAY,CAAA;AAGxC,OAAO,EAAC,iBAAiB,EAAkB,oBAAoB,EAAC,MAAM,4BAA4B,CAAA;AAClG,OAAO,EAAC,aAAa,EAAY,MAAM,mBAAmB,CAAA;AAE1D,OAAO,EAAC,WAAW,EAAE,cAAc,EAAe,MAAM,mBAAmB,CAAA;AAE3E,eAAO,MAAM,gBAAgB,yDAwGe,iBAAiB,WAAW,WAAW,0CApGlF,CAAA;AAED,eAAO,MAAM,cAAc,mCAAoC,CAAA;AAI/D,eAAO,MAAM,cAAc,gCAAiC,CAAA;AAC5D,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAA;AAEhE,eAAO,MAAM,oBAAoB,cAAqB,OAAO,gBAAgB,MAAM,sDA2FvC,iBAAiB,WAAW,WAAW,0CArElF,CAAA;AAED,eAAO,MAAM,kBAAkB,SAAgB,MAAM,sDAmET,iBAAiB,WAAW,WAAW,0CA/ClF,CAAA;AAED,KAAK,KAAK,GAAG,WAAW,CAAC,WAAW,CAAC,qBAAqB,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAEjG,eAAO,MAAM,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,KAAK,EAAE,CA+B3D,CAAA;AAED,KAAK,iBAAiB,GAAG;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,wBAAwB,GAAG,MAAM,WAAW,CAAA;CACpD,CAAA;AAED,KAAK,WAAW,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAuHzE,KAAK,kBAAkB,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAA;AACrD,MAAM,MAAM,WAAW,GAAG;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,kBAAkB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,CAAA;AAE9E,KAAK,kBAAkB,GAAG;IACxB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,KAAK,IAAI,CAAA;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,aAAa,GAAG,kBAAkB,CAAA;IAC7C,UAAU,EAAE,cAAc,GAAG;QAAC,KAAK,EAAE,KAAK,EAAE,CAAA;KAAC,CAAA;CAC9C,CAAA;AAED,QAAA,MAAM,aAAa,SAAU,iBAAiB,SAAS,MAAM,kDAIH,kBAAkB,2BA6EjD,aAAa,mBANvC,CAAA;AAED,KAAK,aAAa,GAAG;IACnB,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA"}
|
package/dist/core/core.js
CHANGED
|
@@ -10,8 +10,9 @@ export const twitterSnapGuest = async () => {
|
|
|
10
10
|
return [tweetApiSnap(api), api];
|
|
11
11
|
};
|
|
12
12
|
export const twitterDomains = ['twitter.com', 'x.com'];
|
|
13
|
-
const twitterDomainsPattern = new RegExp(twitterDomains.join('|'));
|
|
13
|
+
const twitterDomainsPattern = new RegExp(`(${twitterDomains.join('|')})`);
|
|
14
14
|
const allowDomains = twitterDomains.map((e) => `.${e}`);
|
|
15
|
+
export const additonalTheme = ['MediaOnly', 'Json'];
|
|
15
16
|
export const twitterSnapPuppeteer = async (headless, userDataDir) => {
|
|
16
17
|
const browser = await launch({
|
|
17
18
|
headless,
|
|
@@ -123,66 +124,133 @@ const tweetApiSnap = (client) => {
|
|
|
123
124
|
}
|
|
124
125
|
};
|
|
125
126
|
};
|
|
127
|
+
const getFileNameInit = ({ output, data, count }) => {
|
|
128
|
+
return (media, outputType) => {
|
|
129
|
+
const legacy = data.tweet.legacy;
|
|
130
|
+
const mediaData = media === undefined ? undefined : legacy.extendedEntities.media[media];
|
|
131
|
+
const videoInfo = (() => {
|
|
132
|
+
const a = [...(mediaData?.videoInfo?.variants ?? [])].sort((a, b) => {
|
|
133
|
+
if (a.bitrate === undefined)
|
|
134
|
+
return 1;
|
|
135
|
+
if (b.bitrate === undefined)
|
|
136
|
+
return -1;
|
|
137
|
+
return b.bitrate - a.bitrate;
|
|
138
|
+
});
|
|
139
|
+
return a.length === 0 ? undefined : a[0];
|
|
140
|
+
})();
|
|
141
|
+
const if2 = (e) => `{${e}:(?<a>[^{}]*?):(?<b>[^{}]*?)}`;
|
|
142
|
+
const replaceData = [
|
|
143
|
+
['{id}', data.tweet.restId],
|
|
144
|
+
['{user-screen-name}', data.user.legacy.screenName],
|
|
145
|
+
['{user-id}', data.user.restId],
|
|
146
|
+
[if2('if-photo'), outputType === 'image' ? '$1' : '$2'],
|
|
147
|
+
[if2('if-video'), outputType === 'video' ? '$1' : '$2'],
|
|
148
|
+
[if2('if-other'), outputType === 'other' ? '$1' : '$2'],
|
|
149
|
+
['{count}', count.toString()],
|
|
150
|
+
[if2('if-media-only'), media === undefined ? '$2' : '$1'],
|
|
151
|
+
['{media-count}', media],
|
|
152
|
+
['{media-id}', mediaData?.idStr],
|
|
153
|
+
['{media-video-variants-id}', videoInfo?.url.split('/').pop().split('.')[0]],
|
|
154
|
+
['{media-video-bitrate}', videoInfo?.bitrate],
|
|
155
|
+
['{time-now-yyyy}', new Date().getFullYear().toString().padStart(4, '0')],
|
|
156
|
+
['{time-now-mm}', (new Date().getMonth() + 1).toString().padStart(2, '0')],
|
|
157
|
+
['{time-now-dd}', new Date().getDate().toString().padStart(2, '0')],
|
|
158
|
+
['{time-now-hh}', new Date().getHours().toString().padStart(2, '0')],
|
|
159
|
+
['{time-now-mi}', new Date().getMinutes().toString().padStart(2, '0')],
|
|
160
|
+
['{time-now-ss}', new Date().getSeconds().toString().padStart(2, '0')],
|
|
161
|
+
['{time-tweet-yyyy}', new Date(legacy.createdAt).getFullYear().toString().padStart(4, '0')],
|
|
162
|
+
['{time-tweet-mm}', (new Date(legacy.createdAt).getMonth() + 1).toString().padStart(2, '0')],
|
|
163
|
+
['{time-tweet-dd}', new Date(legacy.createdAt).getDate().toString().padStart(2, '0')],
|
|
164
|
+
['{time-tweet-hh}', new Date(legacy.createdAt).getHours().toString().padStart(2, '0')],
|
|
165
|
+
['{time-tweet-mi}', new Date(legacy.createdAt).getMinutes().toString().padStart(2, '0')],
|
|
166
|
+
['{time-tweet-ss}', new Date(legacy.createdAt).getSeconds().toString().padStart(2, '0')],
|
|
167
|
+
];
|
|
168
|
+
const replaceLast = [
|
|
169
|
+
['{curly-brace-open}', '{'],
|
|
170
|
+
['{curly-brace-close}', '}'],
|
|
171
|
+
];
|
|
172
|
+
const repOutput = (() => {
|
|
173
|
+
const s = (e) => (e === undefined ? '' : e.toString());
|
|
174
|
+
const list = ['', output];
|
|
175
|
+
while (list[list.length - 1] !== list[list.length - 2]) {
|
|
176
|
+
list.push(replaceData.reduce((acc, [k, v]) => acc.replaceAll(new RegExp(k, 'g'), s(v)), list[list.length - 1]));
|
|
177
|
+
}
|
|
178
|
+
return replaceLast.reduce((acc, [k, v]) => acc.replaceAll(new RegExp(k, 'g'), s(v)), list[list.length - 1]);
|
|
179
|
+
})();
|
|
180
|
+
const video = repOutput.split('.').pop() !== 'png';
|
|
181
|
+
const nameOutput = repOutput.split('.').slice(0, -1).join('.');
|
|
182
|
+
const pngOutput = video ? nameOutput + '.png' : repOutput;
|
|
183
|
+
return { pngOutput, repOutput, nameOutput, video };
|
|
184
|
+
};
|
|
185
|
+
};
|
|
126
186
|
const twitterRender = (data, count) => {
|
|
127
|
-
const legacy = data.tweet.legacy;
|
|
128
187
|
const extEntities = data.tweet.legacy?.extendedEntities;
|
|
129
188
|
const extMedia = extEntities?.media ?? [];
|
|
130
|
-
const isVideo = extMedia.some((e) => e.type !== 'photo');
|
|
131
189
|
return async ({ handler, output, themeName, themeParam }) => {
|
|
132
190
|
handler && handler({ id: data.tweet.restId, type: 'start', user: data.user.legacy.screenName });
|
|
133
|
-
const
|
|
134
|
-
const getFileName = (
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
video: getFileName(isVideo).video,
|
|
161
|
-
});
|
|
162
|
-
const { pngOutput, repOutput, video } = getFileName(isVideo && render.videoRender !== undefined);
|
|
163
|
-
handler && handler({ id: data.tweet.restId, type: 'image', user: data.user.legacy.screenName });
|
|
164
|
-
const element = render.imageRender({
|
|
165
|
-
data,
|
|
166
|
-
});
|
|
167
|
-
const img = new ImageResponse(element, {
|
|
168
|
-
emoji: 'twemoji',
|
|
169
|
-
fonts: themeParam.fonts,
|
|
170
|
-
height: undefined,
|
|
171
|
-
width: themeParam.width,
|
|
172
|
-
});
|
|
173
|
-
const png = Buffer.from(await img.arrayBuffer());
|
|
174
|
-
if (pngOutput.split('/').length > 1) {
|
|
175
|
-
await fs.mkdir(pngOutput.split('/').slice(0, -1).join('/'), { recursive: true });
|
|
191
|
+
const out = output.includes('.') ? output : `${output}.{if-photo:png:mp4}`;
|
|
192
|
+
const getFileName = getFileNameInit({ output: out, data, count });
|
|
193
|
+
if (themeName === 'MediaOnly') {
|
|
194
|
+
const downloader = extMedia.map(async (e, count) => {
|
|
195
|
+
const isVideo = e.type !== 'photo';
|
|
196
|
+
const { pngOutput, repOutput, video } = getFileName(count, isVideo ? 'video' : 'image');
|
|
197
|
+
const url = (() => {
|
|
198
|
+
if (!isVideo && !video) {
|
|
199
|
+
return e.mediaUrlHttps;
|
|
200
|
+
}
|
|
201
|
+
else if (isVideo && video) {
|
|
202
|
+
return [...e.videoInfo.variants].sort((a, b) => {
|
|
203
|
+
if (a.bitrate === undefined)
|
|
204
|
+
return 1;
|
|
205
|
+
if (b.bitrate === undefined)
|
|
206
|
+
return -1;
|
|
207
|
+
return b.bitrate - a.bitrate;
|
|
208
|
+
})[0].url;
|
|
209
|
+
}
|
|
210
|
+
})();
|
|
211
|
+
if (url) {
|
|
212
|
+
const res = await fetch(url);
|
|
213
|
+
const buffer = await res.arrayBuffer();
|
|
214
|
+
await fs.writeFile(repOutput, Buffer.from(buffer));
|
|
215
|
+
}
|
|
216
|
+
});
|
|
217
|
+
await Promise.all(downloader);
|
|
176
218
|
}
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
219
|
+
else if (themeName === 'Json') {
|
|
220
|
+
const { nameOutput } = getFileName(undefined, 'other');
|
|
221
|
+
await fs.writeFile(nameOutput + '.json', JSON.stringify(data, null, 2));
|
|
222
|
+
}
|
|
223
|
+
else {
|
|
224
|
+
const Theme = Object.entries(themeList).find(([k, _]) => k === themeName)[1];
|
|
225
|
+
const isVideo = extMedia.some((e) => e.type !== 'photo');
|
|
226
|
+
const render = new Theme({
|
|
227
|
+
...themeParam,
|
|
228
|
+
video: getFileName(undefined, isVideo ? 'video' : 'image').video,
|
|
229
|
+
});
|
|
230
|
+
const videoRend = isVideo && render.videoRender !== undefined;
|
|
231
|
+
const { pngOutput, repOutput, video } = getFileName(undefined, videoRend ? 'video' : 'image');
|
|
232
|
+
handler && handler({ id: data.tweet.restId, type: 'image', user: data.user.legacy.screenName });
|
|
233
|
+
const element = render.imageRender({ data });
|
|
234
|
+
const img = new ImageResponse(element, {
|
|
235
|
+
emoji: 'twemoji',
|
|
236
|
+
fonts: themeParam.fonts,
|
|
237
|
+
height: undefined,
|
|
238
|
+
width: themeParam.width,
|
|
184
239
|
});
|
|
185
|
-
|
|
240
|
+
const png = Buffer.from(await img.arrayBuffer());
|
|
241
|
+
if (pngOutput.split('/').length > 1) {
|
|
242
|
+
await fs.mkdir(pngOutput.split('/').slice(0, -1).join('/'), { recursive: true });
|
|
243
|
+
}
|
|
244
|
+
await fs.writeFile(pngOutput, png);
|
|
245
|
+
if (video) {
|
|
246
|
+
handler && handler({ id: data.tweet.restId, type: 'video', user: data.user.legacy.screenName });
|
|
247
|
+
const res = await render.videoRender({
|
|
248
|
+
data,
|
|
249
|
+
image: pngOutput,
|
|
250
|
+
output: repOutput,
|
|
251
|
+
});
|
|
252
|
+
return finalize([pngOutput, ...res.temp]);
|
|
253
|
+
}
|
|
186
254
|
}
|
|
187
255
|
return finalize([]);
|
|
188
256
|
};
|
package/dist/core/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/core/core.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/core/core.ts"],"names":[],"mappings":"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"}
|
package/dist/core/main.d.ts
CHANGED
|
@@ -1,34 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DefaultCommandType } from '../commands/index.js';
|
|
2
2
|
import { Logger } from '../utils/logger.js';
|
|
3
3
|
import { HandlerType } from './core.js';
|
|
4
|
-
declare abstract class CommandType extends Command {
|
|
5
|
-
getDefault(): Promise<import("@oclif/core/lib/interfaces/parser.js").ParserOutput<{
|
|
6
|
-
api: "getTweetDetail" | "getSearchTimeline" | "getHomeTimeline" | "getListLatestTweetsTimeline" | "getUserTweetsAndReplies" | "getUserMedia" | "getLikes" | "getUserTweets" | "getBookmarks" | "getTweetResultByRestId" | "getHomeLatestTimeline";
|
|
7
|
-
browserHeadless: boolean;
|
|
8
|
-
browserProfile: string;
|
|
9
|
-
cookiesFile: string;
|
|
10
|
-
debug: boolean;
|
|
11
|
-
ffmpegAdditonalOption: string | undefined;
|
|
12
|
-
ffmpegPath: string;
|
|
13
|
-
ffprobePath: string;
|
|
14
|
-
fontPath: string;
|
|
15
|
-
limit: number;
|
|
16
|
-
noCleanup: boolean;
|
|
17
|
-
output: string;
|
|
18
|
-
sessionType: "file" | "browser" | "guest";
|
|
19
|
-
simpleLog: boolean;
|
|
20
|
-
sleep: number;
|
|
21
|
-
theme: "RenderOceanBlueColor" | "RenderOceanBlueDarkColor" | "RenderSunsetGardenColor" | "RenderSunsetGardenDarkColor" | "RenderDawnBlossomColor" | "RenderDawnBlossomDarkColor" | "RenderFierySunsetColor" | "RenderFierySunsetDarkColor" | "RenderTwilightSkyColor" | "RenderTwilightSkyDarkColor" | "RenderPlainColor" | "RenderPlainDarkColor" | "RenderTransparent" | "RenderTransparentDark" | "RenderTransparentShadow" | "RenderTransparentDarkShadow" | "RenderMakeItAQuote";
|
|
22
|
-
width: number;
|
|
23
|
-
scale: number;
|
|
24
|
-
}, {
|
|
25
|
-
[flag: string]: any;
|
|
26
|
-
}, {
|
|
27
|
-
id: string;
|
|
28
|
-
}>>;
|
|
29
|
-
}
|
|
30
|
-
type PromiseType<T extends Promise<any>> = T extends Promise<infer U> ? U : never;
|
|
31
|
-
export type TwitterSnapRunParam = PromiseType<ReturnType<typeof CommandType.prototype.getDefault>>;
|
|
32
4
|
type TwitterSnapParam = {
|
|
33
5
|
logger?: Logger;
|
|
34
6
|
};
|
|
@@ -37,7 +9,7 @@ export declare class TwitterSnap {
|
|
|
37
9
|
constructor(param?: TwitterSnapParam);
|
|
38
10
|
logHandler({ id, type, user }: HandlerType): Promise<void>;
|
|
39
11
|
req(...args: Parameters<typeof fetch>): Promise<Response>;
|
|
40
|
-
run({ args, flags }:
|
|
12
|
+
run({ args, flags }: DefaultCommandType): Promise<void>;
|
|
41
13
|
}
|
|
42
14
|
export {};
|
|
43
15
|
//# sourceMappingURL=main.d.ts.map
|
package/dist/core/main.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/core/main.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/core/main.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAC,MAAM,EAAe,MAAM,oBAAoB,CAAA;AAKvD,OAAO,EACL,WAAW,EAMZ,MAAM,WAAW,CAAA;AAElB,KAAK,gBAAgB,GAAG;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,qBAAa,WAAW;IACtB,MAAM,EAAE,WAAW,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAA;gBAEnC,KAAK,CAAC,EAAE,gBAAgB;IAI9B,UAAU,CAAC,EAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAC,EAAE,WAAW;IAWxC,GAAG,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,OAAO,KAAK,CAAC;IAcrC,GAAG,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,EAAE,kBAAkB;CAwG5C"}
|
package/dist/core/main.js
CHANGED
|
@@ -1,17 +1,11 @@
|
|
|
1
|
-
import { Command } from '@oclif/core';
|
|
2
1
|
import { TwitterOpenApi } from 'twitter-openapi-typescript';
|
|
3
2
|
import { FFmpegInfrastructure } from 'twitter-snap-core';
|
|
4
|
-
import Default from '../commands/index.js';
|
|
5
3
|
import { LoggerSimple } from '../utils/logger.js';
|
|
4
|
+
import { isDefaultOption } from '../utils/oclif.js';
|
|
6
5
|
import { normalizePath } from '../utils/path.js';
|
|
7
6
|
import { sleepLoop } from '../utils/sleep.js';
|
|
8
7
|
import { getForceStartIdList, twitterUrlConvert } from '../utils/url.js';
|
|
9
8
|
import { getFonts, twitterDomains, twitterSnapCookies, twitterSnapGuest, twitterSnapPuppeteer, } from './core.js';
|
|
10
|
-
class CommandType extends Command {
|
|
11
|
-
getDefault() {
|
|
12
|
-
return this.parse(Default);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
9
|
export class TwitterSnap {
|
|
16
10
|
constructor(param) {
|
|
17
11
|
this.logger = param?.logger ?? new LoggerSimple(console.log.bind(console));
|
|
@@ -50,6 +44,29 @@ export class TwitterSnap {
|
|
|
50
44
|
}
|
|
51
45
|
return res;
|
|
52
46
|
};
|
|
47
|
+
if (flags.sessionType !== 'guest' && flags.api === 'getTweetResultByRestId') {
|
|
48
|
+
this.logger.hint('getTweetDetail is executed as getTweetResultByRestId because you are logged in');
|
|
49
|
+
}
|
|
50
|
+
if (flags.theme === 'Json' || flags.theme === 'MediaOnly') {
|
|
51
|
+
if (isDefaultOption(flags, 'width')) {
|
|
52
|
+
this.logger.hint('Width is not supported in Json theme');
|
|
53
|
+
}
|
|
54
|
+
if (isDefaultOption(flags, 'scale')) {
|
|
55
|
+
this.logger.hint('Scale is not supported in Json theme');
|
|
56
|
+
}
|
|
57
|
+
if (isDefaultOption(flags, 'fontPath')) {
|
|
58
|
+
this.logger.hint('Font is not supported in Json theme');
|
|
59
|
+
}
|
|
60
|
+
if (isDefaultOption(flags, 'ffmpegPath')) {
|
|
61
|
+
this.logger.hint('FFmpeg options is not supported in Json theme');
|
|
62
|
+
}
|
|
63
|
+
if (isDefaultOption(flags, 'ffprobePath')) {
|
|
64
|
+
this.logger.hint('FFmpeg options is not supported in Json theme');
|
|
65
|
+
}
|
|
66
|
+
if (isDefaultOption(flags, 'ffmpegAdditonalOption')) {
|
|
67
|
+
this.logger.hint('FFmpeg options is not supported in Json theme');
|
|
68
|
+
}
|
|
69
|
+
}
|
|
53
70
|
const getClient = (() => {
|
|
54
71
|
switch (flags.sessionType) {
|
|
55
72
|
case 'guest':
|
|
@@ -75,7 +92,7 @@ export class TwitterSnap {
|
|
|
75
92
|
})();
|
|
76
93
|
const startId = getForceStartIdList(type) ? id : undefined;
|
|
77
94
|
const fontClient = getFonts(normalizePath(flags.fontPath));
|
|
78
|
-
const fonts = await this.logger.guard({ text: 'Loading
|
|
95
|
+
const fonts = await this.logger.guard({ text: 'Loading font' }, fontClient);
|
|
79
96
|
const render = client({ id, limit: flags.limit, type, startId }, async (render) => {
|
|
80
97
|
try {
|
|
81
98
|
const finalize = await render({
|