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 CHANGED
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env node
2
2
 
3
3
  import {execute} from '@oclif/core'
4
4
 
@@ -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" | "getListLatestTweetsTimeline" | "getUserTweetsAndReplies" | "getUserMedia" | "getLikes" | "getUserTweets" | "getBookmarks" | "getTweetResultByRestId" | "getHomeLatestTimeline", import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
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;AAOhD,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,OAAO;IAC1C,MAAM,CAAC,IAAI;;MAEV;IAED,MAAM,CAAC,WAAW,SAA8F;IAEhH,MAAM,CAAC,QAAQ;;;QA8Cd;IAED,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;;;;MAqFX;gBAGW,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG;IAIjC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAsB3B"}
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"}
@@ -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 a tweet URL.',
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 1349129669258448897 --width 1280 --scale 2',
82
- description: 'Create snaps from a tweet id with a width of 1280 and a scale of 2.',
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":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"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"}
@@ -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: string[];
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
  };
@@ -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,yDAqGe,iBAAiB,WAAW,WAAW,0CAjGlF,CAAA;AAED,eAAO,MAAM,cAAc,UAA2B,CAAA;AAItD,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;AAiDzE,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,CAAA;IACxB,UAAU,EAAE,cAAc,GAAG;QAAC,KAAK,EAAE,KAAK,EAAE,CAAA;KAAC,CAAA;CAC9C,CAAA;AAED,QAAA,MAAM,aAAa,SAAU,iBAAiB,SAAS,MAAM,kDAMH,kBAAkB,2BA0EjD,aAAa,mBANvC,CAAA;AAED,KAAK,aAAa,GAAG;IACnB,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA"}
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 Theme = Object.entries(themeList).find(([k, _]) => k === themeName)[1];
134
- const getFileName = (isVideo) => {
135
- const replaceData = [
136
- ['{id}', data.tweet.restId],
137
- ['{user-screen-name}', data.user.legacy.screenName],
138
- ['{if-photo:(?<true>.+?):(?<false>.+?)}', isVideo ? '$2' : '$1'],
139
- ['{count}', count.toString()],
140
- ['{time-now-yyyy}', new Date().getFullYear().toString().padStart(4, '0')],
141
- ['{time-now-mm}', (new Date().getMonth() + 1).toString().padStart(2, '0')],
142
- ['{time-now-dd}', new Date().getDate().toString().padStart(2, '0')],
143
- ['{time-now-hh}', new Date().getHours().toString().padStart(2, '0')],
144
- ['{time-now-mi}', new Date().getMinutes().toString().padStart(2, '0')],
145
- ['{time-now-ss}', new Date().getSeconds().toString().padStart(2, '0')],
146
- ['{time-tweet-yyyy}', new Date(legacy.createdAt).getFullYear().toString().padStart(4, '0')],
147
- ['{time-tweet-mm}', (new Date(legacy.createdAt).getMonth() + 1).toString().padStart(2, '0')],
148
- ['{time-tweet-dd}', new Date(legacy.createdAt).getDate().toString().padStart(2, '0')],
149
- ['{time-tweet-hh}', new Date(legacy.createdAt).getHours().toString().padStart(2, '0')],
150
- ['{time-tweet-mi}', new Date(legacy.createdAt).getMinutes().toString().padStart(2, '0')],
151
- ['{time-tweet-ss}', new Date(legacy.createdAt).getSeconds().toString().padStart(2, '0')],
152
- ];
153
- const repOutput = replaceData.reduce((acc, [k, v]) => acc.replaceAll(new RegExp(k, 'g'), v), output);
154
- const video = repOutput.split('.').pop() !== 'png';
155
- const pngOutput = video ? repOutput.split('.').slice(0, -1).join('.') + '.png' : repOutput;
156
- return { pngOutput, repOutput, video };
157
- };
158
- const render = new Theme({
159
- ...themeParam,
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
- await fs.writeFile(pngOutput, png);
178
- if (video) {
179
- handler && handler({ id: data.tweet.restId, type: 'video', user: data.user.legacy.screenName });
180
- const res = await render.videoRender({
181
- data,
182
- image: pngOutput,
183
- output: repOutput,
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
- return finalize([pngOutput, ...res.temp]);
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
  };
@@ -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":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,YAAY,CAAA;AACxC,OAAO,EAAC,QAAQ,IAAI,EAAE,EAAC,MAAM,SAAS,CAAA;AACtC,OAAO,EAAS,MAAM,EAAC,MAAM,WAAW,CAAA;AACxC,OAAO,EAAoB,cAAc,EAAuB,MAAM,4BAA4B,CAAA;AAClG,OAAO,EAAgB,SAAS,EAAC,MAAM,mBAAmB,CAAA;AAE1D,OAAO,EAA8B,YAAY,EAAC,MAAM,mBAAmB,CAAA;AAE3E,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,IAAI,EAAE;IACzC,MAAM,OAAO,GAAG,IAAI,cAAc,EAAE,CAAA;IACpC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,cAAc,EAAE,CAAA;IAC1C,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,GAAG,CAAU,CAAA;AAC1C,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,aAAa,EAAE,OAAO,CAAU,CAAA;AAC/D,MAAM,qBAAqB,GAAG,IAAI,MAAM,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AACzE,MAAM,YAAY,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAEvD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,WAAW,EAAE,MAAM,CAAU,CAAA;AAG5D,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,QAAkB,EAAE,WAAoB,EAAE,EAAE;IACrF,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC;QAC3B,QAAQ;QACR,OAAO,EAAE,CAAC;QACV,WAAW;KACZ,CAAC,CAAA;IACF,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;IACpC,MAAM,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;IAEtC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAA;IACnC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAA;IAEzB,MAAM,OAAO,GAAG,WAAW,qBAAqB,CAAC,MAAM,+CAA+C,CAAA;IAEtG,MAAM,IAAI,CAAC,eAAe,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;IACxE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;IACpC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;IACrB,MAAM,OAAO,GAAG,IAAI,cAAc,EAAE,CAAA;IACpC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,oBAAoB,CAC5C,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CACzG,CAAA;IACD,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,GAAG,CAAU,CAAA;AAC1C,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;IACvD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC5C,MAAM,OAAO,GAAG,IAAI,cAAc,EAAE,CAAA;IAEpC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,MAAkB,CAAA;YAClC,OAAO,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACjH,CAAC;QAED,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,MAAiC,CAAA;QAC1C,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;IACpC,CAAC,CAAC,EAAE,CAAA;IAEJ,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAA;IACvD,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,GAAG,CAAU,CAAA;AAC1C,CAAC,CAAA;AAID,MAAM,CAAC,MAAM,QAAQ,GAA2C,KAAK,EAAE,QAAQ,EAAE,EAAE;IACjF,MAAM,IAAI,GAAG,6EAA6E,CAAA;IAE1F,MAAM,IAAI,GAAG;QACX,CAAC,eAAe,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,CAAU;QACrD,CAAC,cAAc,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,CAAU;QACpD,CAAC,cAAc,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,CAAU;QACpD,CAAC,cAAc,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,CAAU;QACpD,CAAC,YAAY,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,CAAU;QAChD,CAAC,iBAAiB,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,CAAU;QACrD,CAAC,mBAAmB,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,CAAU;QACvD,CAAC,uBAAuB,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,CAAU;KAC5D,CAAA;IAED,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAA;IAErC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE;QAC3D,MAAM,IAAI,GAAG,GAAG,QAAQ,IAAI,IAAI,EAAE,CAAA;QAClC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;YACpC,OAAO,EAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAC,CAAA;QACpC,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,EAAE,CAAA;YAC5B,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;YAC5B,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,WAAW,EAAE,CAAA;YACpC,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;YAC3C,OAAO,EAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAC,CAAA;QACpC,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;AAC3B,CAAC,CAAA;AAWD,MAAM,YAAY,GAAG,CAAC,MAA4B,EAAE,EAAE;IACpD,OAAO,KAAK,EAAE,EAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAoB,EAAE,OAAoB,EAAE,EAAE;QACnF,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAA;QAEhD,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,EAAE,CAAA;YACjC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAChC,IAAI,KAAK,GAAG,CAAC,CAAA;YACb,IAAI,MAA0B,CAAA;YAC9B,OAAO,KAAK,GAAG,KAAK,EAAE,CAAC;gBACrB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC;oBACpB,MAAM;oBACN,YAAY,EAAE,EAAE;oBAChB,MAAM,EAAE,EAAE;oBACV,QAAQ,EAAE,EAAE;oBACZ,MAAM,EAAE,EAAE;iBACX,CAAC,CAAA;gBAEF,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC9B,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,OAAO,IAAI,OAAO;wBAAE,SAAQ;oBACjE,IAAI,CAAC,CAAC,gBAAgB;wBAAE,SAAQ;oBAChC,IAAI,KAAK,IAAI,KAAK;wBAAE,OAAM;oBAC1B,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAA;oBACtC,KAAK,EAAE,CAAA;gBACT,CAAC;gBAED,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC/B,OAAM;gBACR,CAAC;gBAED,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC3B,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAA;gBACvC,CAAC;qBAAM,CAAC;oBACN,OAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,aAAa,EAAE,CAAC,sBAAsB,CAAC;gBAC9D,OAAO,EAAE,EAAE;aACZ,CAAC,CAAA;YACF,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;gBACb,MAAM,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;YAC3C,CAAC;QACH,CAAC;IACH,CAAC,CAAA;AACH,CAAC,CAAA;AAUD,MAAM,eAAe,GAAG,CAAC,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAmB,EAAE,EAAE;IAClE,OAAO,CAAC,KAAyB,EAAE,UAAsB,EAAE,EAAE;QAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAO,CAAA;QACjC,MAAM,SAAS,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACzF,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE;YACtB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAClE,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS;oBAAE,OAAO,CAAC,CAAA;gBACrC,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS;oBAAE,OAAO,CAAC,CAAC,CAAA;gBACtC,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAA;YAC9B,CAAC,CAAC,CAAA;YACF,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC1C,CAAC,CAAC,EAAE,CAAA;QACJ,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,+BAA+B,CAAA;QAE/D,MAAM,WAAW,GAAG;YAClB,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YAC3B,CAAC,oBAAoB,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;YACnD,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YAC/B,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YACvD,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YACvD,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YACvD,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC7B,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YACzD,CAAC,eAAe,EAAE,KAAK,CAAC;YACxB,CAAC,YAAY,EAAE,SAAS,EAAE,KAAK,CAAC;YAChC,CAAC,2BAA2B,EAAE,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7E,CAAC,uBAAuB,EAAE,SAAS,EAAE,OAAO,CAAC;YAC7C,CAAC,iBAAiB,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACzE,CAAC,eAAe,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC1E,CAAC,eAAe,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACnE,CAAC,eAAe,EAAE,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACpE,CAAC,eAAe,EAAE,IAAI,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACtE,CAAC,eAAe,EAAE,IAAI,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACtE,CAAC,mBAAmB,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC3F,CAAC,iBAAiB,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC5F,CAAC,iBAAiB,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACrF,CAAC,iBAAiB,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACtF,CAAC,iBAAiB,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACxF,CAAC,iBAAiB,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SAC9C,CAAA;QAE5C,MAAM,WAAW,GAAG;YAClB,CAAC,oBAAoB,EAAE,GAAG,CAAC;YAC3B,CAAC,qBAAqB,EAAE,GAAG,CAAC;SAC7B,CAAA;QAED,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE;YACtB,MAAM,CAAC,GAAG,CAAC,CAA8B,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;YACnF,MAAM,IAAI,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;YACzB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;gBACvD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;YACjH,CAAC;YACD,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;QAC7G,CAAC,CAAC,EAAE,CAAA;QAEJ,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,KAAK,CAAA;QAClD,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC9D,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;QACzD,OAAO,EAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAC,CAAA;IAClD,CAAC,CAAA;AACH,CAAC,CAAA;AAYD,MAAM,aAAa,GAAG,CAAC,IAAuB,EAAE,KAAa,EAAE,EAAE;IAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,gBAAgB,CAAA;IACvD,MAAM,QAAQ,GAAG,WAAW,EAAE,KAAK,IAAI,EAAE,CAAA;IAEzC,OAAO,KAAK,EAAE,EAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAqB,EAAE,EAAE;QAC5E,OAAO,IAAI,OAAO,CAAC,EAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAC,CAAC,CAAA;QAC7F,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,qBAAqB,CAAA;QAE1E,MAAM,WAAW,GAAG,eAAe,CAAC,EAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAC,CAAC,CAAA;QAC/D,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;YAC9B,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE;gBACjD,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,KAAK,OAAO,CAAA;gBAClC,MAAM,EAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAC,GAAG,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;gBACrF,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE;oBAChB,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;wBACvB,OAAO,CAAC,CAAC,aAAa,CAAA;oBACxB,CAAC;yBAAM,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;wBAC5B,OAAO,CAAC,GAAG,CAAC,CAAC,SAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;4BAC9C,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS;gCAAE,OAAO,CAAC,CAAA;4BACrC,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS;gCAAE,OAAO,CAAC,CAAC,CAAA;4BACtC,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAA;wBAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;oBACX,CAAC;gBACH,CAAC,CAAC,EAAE,CAAA;gBACJ,IAAI,GAAG,EAAE,CAAC;oBACR,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;oBAC5B,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,WAAW,EAAE,CAAA;oBACtC,MAAM,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;gBACpD,CAAC;YACH,CAAC,CAAC,CAAA;YACF,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAC/B,CAAC;aAAM,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YAChC,MAAM,EAAC,UAAU,EAAC,GAAG,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;YACpD,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,GAAG,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;QACzE,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAE,CAAC,CAAC,CAAC,CAAA;YAC7E,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAA;YAExD,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC;gBACvB,GAAG,UAAU;gBACb,KAAK,EAAE,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK;aACjE,CAAC,CAAA;YAEF,MAAM,SAAS,GAAG,OAAO,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,CAAA;YAC7D,MAAM,EAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAC,GAAG,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;YAE3F,OAAO,IAAI,OAAO,CAAC,EAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAC,CAAC,CAAA;YAC7F,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,EAAC,IAAI,EAAC,CAAC,CAAA;YAE1C,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC,OAAO,EAAE;gBACrC,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,UAAU,CAAC,KAAK;gBACvB,MAAM,EAAE,SAAS;gBACjB,KAAK,EAAE,UAAU,CAAC,KAAK;aACxB,CAAC,CAAA;YAEF,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC,CAAA;YAChD,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpC,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAA;YAChF,CAAC;YAED,MAAM,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;YAElC,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,IAAI,OAAO,CAAC,EAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAC,CAAC,CAAA;gBAC7F,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,WAAY,CAAC;oBACpC,IAAI;oBACJ,KAAK,EAAE,SAAS;oBAChB,MAAM,EAAE,SAAS;iBAClB,CAAC,CAAA;gBACF,OAAO,QAAQ,CAAC,CAAC,SAAS,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;YAC3C,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAC,EAAE,CAAC,CAAA;IACrB,CAAC,CAAA;AACH,CAAC,CAAA;AAKD,MAAM,QAAQ,GAAG,KAAK,EAAE,IAAc,EAAE,EAAE;IACxC,OAAO,KAAK,EAAE,EAAC,OAAO,EAAgB,EAAE,EAAE;QACxC,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9C,CAAC;IACH,CAAC,CAAA;AACH,CAAC,CAAA"}
@@ -1,34 +1,6 @@
1
- import { Command } from '@oclif/core';
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 }: TwitterSnapRunParam): Promise<void>;
12
+ run({ args, flags }: DefaultCommandType): Promise<void>;
41
13
  }
42
14
  export {};
43
15
  //# sourceMappingURL=main.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/core/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,aAAa,CAAA;AAKnC,OAAO,EAAC,MAAM,EAAe,MAAM,oBAAoB,CAAA;AAIvD,OAAO,EACL,WAAW,EAMZ,MAAM,WAAW,CAAA;AAElB,uBAAe,WAAY,SAAQ,OAAO;IACjC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;CAGlB;AAED,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,mBAAmB,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAA;AAElG,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,mBAAmB;CAgF7C"}
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 Font' }, fontClient);
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({