twitter-snap 0.0.27 → 0.0.29

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 CHANGED
@@ -4,14 +4,15 @@ Create beautiful Tweet images fast.
4
4
  Fast, good design, Browser is not a dependency.
5
5
 
6
6
  ```shell
7
- npx twitter-snap@latest https://twitter.com/elonmusk/status/15186239970549186570
7
+ npx twitter-snap@latest https://twitter.com/elonmusk/status/1770222178279252062
8
8
  ```
9
9
 
10
- ```shell
11
- npx twitter-snap 1518623997054918657
12
- ```
13
-
14
- ![image](./docs/img/output.png)
10
+ <p float="left">
11
+ <img src="./docs/img/output-1.png" width="49%" />
12
+ <img src="./docs/img/output-2.png" width="49%" />
13
+ <img src="./docs/img/output-3.png" width="49%" />
14
+ <img src="./docs/img/output-4.png" width="49%" />
15
+ </p>
15
16
 
16
17
  ## Install
17
18
 
@@ -24,8 +25,10 @@ $ bin/run --help
24
25
  Create beautiful Tweet images fast
25
26
 
26
27
  USAGE
27
- $ twitter-snap ID [--api getTweetResultByRestId|getTweetDetail|getSearchTimeline|getHomeTimeline|getHomeLatestTimeline|getListLatestTweetsTimeline|getUserTweets|getUserTweetsAndReplies|getUserMedia|getLikes|getBookmarks] [--browserHeadless] [--browserProfile <value>] [--cookiesFile
28
- <value>] [--debug] [--limit <value>] [--noCleanup] [-o <value>] [--sessionType <value>] [--simpleLog] [--sleep <value>] [--theme RenderBasic] [--ffmpegAdditonalOption <value>] [--ffmpegPath <value>] [--ffprobePath <value>]
28
+ $ twitter-snap ID [--api getTweetResultByRestId|getTweetDetail|getSearchTimeline|getHomeTimeline|getHomeLatestTimeline|getListLatestTweetsTimeline|getUserTweets|getUserTweetsAndReplies|getUserMedia|getLikes|getBookmarks] [--browserHeadless] [--browserProfile <value>]
29
+ [--cookiesFile <value>] [--debug] [--ffmpegAdditonalOption <value>] [--ffmpegPath <value>] [--ffprobePath <value>] [--fontPath <value>] [--limit <value>] [--noCleanup] [-o <value>] [--sessionType <value>] [--simpleLog] [--sleep <value>] [--theme
30
+ RenderOceanBlueColor|RenderOceanBlueDarkColor|RenderSunsetGardenColor|RenderSunsetGardenDarkColor|RenderDawnBlossomColor|RenderDawnBlossomDarkColor|RenderFierySunsetColor|RenderFierySunsetDarkColor|RenderTwilightSkyColor|RenderTwilightSkyDarkColor|RenderPlainColor|RenderPlainDarkColor|RenderTransp
31
+ arent|RenderTransparentDark|RenderTransparentShadow|RenderTransparentDarkShadow|RenderMakeItAQuote]
29
32
 
30
33
  ARGUMENTS
31
34
  ID Twitter status id
@@ -41,13 +44,15 @@ FLAGS
41
44
  --ffmpegAdditonalOption=<value> FFmpeg additonal option
42
45
  --ffmpegPath=<value> [default: ffmpeg] FFmpeg path
43
46
  --ffprobePath=<value> [default: ffprobe] FFprobe path
47
+ --fontPath=<value> [default: C:\Users\yuki/.cache/twitter-snap/fonts] Font path
44
48
  --limit=<value> [default: 30] Limit count
45
49
  --noCleanup Cleanup
46
50
  --sessionType=<value> [default: guest] Session type
47
51
  --simpleLog Simple log
48
52
  --sleep=<value> Sleep (ms)
49
- --theme=<option> [default: RenderBasic] Theme type
50
- <options: RenderBasic>
53
+ --theme=<option> [default: RenderOceanBlueColor] Theme type
54
+ <options: RenderOceanBlueColor|RenderOceanBlueDarkColor|RenderSunsetGardenColor|RenderSunsetGardenDarkColor|RenderDawnBlossomColor|RenderDawnBlossomDarkColor|RenderFierySunsetColor|RenderFierySunsetDarkColor|RenderTwilightSkyColor|RenderTwilightSkyDarkColor|Rende
55
+ rPlainColor|RenderPlainDarkColor|RenderTransparent|RenderTransparentDark|RenderTransparentShadow|RenderTransparentDarkShadow|RenderMakeItAQuote>
51
56
 
52
57
  DESCRIPTION
53
58
  Create beautiful Tweet images fast
@@ -56,6 +61,8 @@ DESCRIPTION
56
61
  EXAMPLES
57
62
  $ twitter-snap 1349129669258448897
58
63
 
64
+ $ twitter-snap 1349129669258448897 --theme RenderMakeItAQuote
65
+
59
66
  $ twitter-snap 1349129669258448897 --session-type browser
60
67
 
61
68
  $ twitter-snap 1349129669258448897 --session-type file --cookies-file cookies.json
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
 
@@ -6,6 +6,7 @@ export default class Default extends Command {
6
6
  static browserProfile: string;
7
7
  static description: string;
8
8
  static examples: string[];
9
+ static fontPath: string;
9
10
  static flags: {
10
11
  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>;
11
12
  browserHeadless: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
@@ -15,13 +16,15 @@ export default class Default extends Command {
15
16
  ffmpegAdditonalOption: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
16
17
  ffmpegPath: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
17
18
  ffprobePath: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
19
+ fontPath: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
18
20
  limit: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<number, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
19
21
  noCleanup: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
20
22
  output: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
21
- sessionType: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<"browser" | "file" | "guest", import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
23
+ sessionType: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<"file" | "browser" | "guest", import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
22
24
  simpleLog: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
23
25
  sleep: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<number, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
24
- theme: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<"RenderBasic", import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
26
+ 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>;
27
+ width: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<number, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
25
28
  };
26
29
  main(): Promise<void>;
27
30
  run(): Promise<void>;
@@ -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;AAShD,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,OAAO;IAC1C,MAAM,CAAC,IAAI;;MAEV;IAED,MAAM,CAAC,cAAc,SAAiD;IACtE,MAAM,CAAC,WAAW,SAA8F;IAEhH,MAAM,CAAC,QAAQ,WAUd;IAED,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;MAwEX;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgFrB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAa3B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,OAAO,EAAQ,MAAM,aAAa,CAAA;AAWhD,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,OAAO;IAC1C,MAAM,CAAC,IAAI;;MAEV;IAED,MAAM,CAAC,cAAc,SAAiD;IAEtE,MAAM,CAAC,WAAW,SAA8F;IAEhH,MAAM,CAAC,QAAQ,WAWd;IAED,MAAM,CAAC,QAAQ,SAA8C;IAG7D,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;;;MAiFX;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAwGrB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAa3B"}
@@ -1,9 +1,11 @@
1
1
  var _a;
2
2
  import { Args, Command, Flags } from '@oclif/core';
3
3
  import os from 'node:os';
4
+ import { TwitterOpenApi } from 'twitter-openapi-typescript';
4
5
  import { FFmpegInfrastructure, themeList } from 'twitter-snap-core';
5
- import { twitterSnapCookies, twitterSnapGuest, twitterSnapPuppeteer } from '../core/core.js';
6
+ import { getFonts, twitterSnapCookies, twitterSnapGuest, twitterSnapPuppeteer } from '../core/core.js';
6
7
  import { Logger, LoggerSimple } from '../utils/logger.js';
8
+ import { sleepLoop } from '../utils/sleep.js';
7
9
  import { twitterUrlConvert } from '../utils/url.js';
8
10
  import { getTweetList } from './../utils/types.js';
9
11
  class Default extends Command {
@@ -14,6 +16,24 @@ class Default extends Command {
14
16
  console.debug = flags.debug ? logger.log.bind(logger) : (_) => { };
15
17
  console.warn = logger.warn.bind(logger);
16
18
  console.error = logger.error.bind(logger);
19
+ TwitterOpenApi.fetchApi = async (...args) => {
20
+ let res;
21
+ while (res === undefined || res.status === 429) {
22
+ if (res?.status === 429) {
23
+ const wait = Number(res.headers.get('X-Rate-Limit-Reset')) * 1000 - Date.now();
24
+ await sleepLoop(wait, async (count) => {
25
+ logger.update(`Rate limit exceeded, wait ${count} seconds`);
26
+ });
27
+ }
28
+ console.debug(`http request: ${args[0]}`);
29
+ res = await fetch(...args);
30
+ console.debug(`http response: ${res.status}`);
31
+ if (!res.ok) {
32
+ console.error(`Return http status: ${res.status}`);
33
+ }
34
+ }
35
+ return res;
36
+ };
17
37
  const getClient = (() => {
18
38
  switch (flags.sessionType) {
19
39
  case 'guest':
@@ -47,7 +67,7 @@ class Default extends Command {
47
67
  return logger.update(`Rendering video ${user}/${id}`);
48
68
  }
49
69
  };
50
- const sleep = async (ms) => new Promise((resolve) => setTimeout(resolve, ms));
70
+ const fonts = await getFonts(flags.fontPath);
51
71
  const render = client({ id, limit: flags.limit, type }, async (render) => {
52
72
  try {
53
73
  const finalize = await render({
@@ -60,7 +80,8 @@ class Default extends Command {
60
80
  ffprobePath: flags.ffprobePath,
61
81
  }),
62
82
  ffmpegAdditonalOption: flags.ffmpegAdditonalOption?.split(' ') ?? [],
63
- width: 600,
83
+ fonts,
84
+ width: flags.width,
64
85
  },
65
86
  });
66
87
  await finalize({
@@ -71,7 +92,9 @@ class Default extends Command {
71
92
  catch (error) {
72
93
  logger.catchFail(error);
73
94
  }
74
- await sleep(flags.sleep);
95
+ await sleepLoop(flags.sleep, async (count) => {
96
+ logger.update(`Sleeping ${count} seconds`);
97
+ });
75
98
  });
76
99
  await logger.guardProgress({ max: flags.limit, text: 'Rendering tweet' }, render);
77
100
  }
@@ -100,6 +123,7 @@ Default.browserProfile = `${os.homedir()}/.cache/twitter-snap/profiles`;
100
123
  Default.description = ['Create beautiful Tweet images fast', 'https://github.com/fa0311/twitter-snap'].join('\n');
101
124
  Default.examples = [
102
125
  'twitter-snap 1349129669258448897',
126
+ 'twitter-snap 1349129669258448897 --theme RenderMakeItAQuote',
103
127
  'twitter-snap 1349129669258448897 --session-type browser',
104
128
  'twitter-snap 1349129669258448897 --session-type file --cookies-file cookies.json',
105
129
  'twitter-snap 44196397 --api getUserTweets --limit 10',
@@ -109,6 +133,8 @@ Default.examples = [
109
133
  'twitter-snap 44196397 --api getUserTweets -o "{user-screen-name}/{count}.png"',
110
134
  'twitter-snap 44196397 --api getUserTweets -o "{time-tweet-yyyy}-{time-tweet-mm}-{time-tweet-dd}/{id}.png"',
111
135
  ];
136
+ Default.fontPath = `${os.homedir()}/.cache/twitter-snap/fonts`;
137
+ // eslint-disable-next-line perfectionist/sort-classes
112
138
  Default.flags = {
113
139
  api: Flags.custom({
114
140
  default: 'getTweetResultByRestId',
@@ -148,6 +174,11 @@ Default.flags = {
148
174
  default: 'ffprobe',
149
175
  description: 'FFprobe path',
150
176
  }),
177
+ fontPath: Flags.string({
178
+ aliases: ['font-path'],
179
+ default: _a.fontPath,
180
+ description: 'Font path',
181
+ }),
151
182
  limit: Flags.integer({
152
183
  default: 30,
153
184
  description: 'Limit count',
@@ -177,10 +208,14 @@ Default.flags = {
177
208
  description: 'Sleep (ms)',
178
209
  }),
179
210
  theme: Flags.custom({
180
- default: 'RenderBasic',
211
+ default: 'RenderOceanBlueColor',
181
212
  description: 'Theme type',
182
213
  options: Object.keys(themeList),
183
214
  })(),
215
+ width: Flags.integer({
216
+ default: 650,
217
+ description: 'Width',
218
+ }),
184
219
  };
185
220
  export default Default;
186
221
  //# sourceMappingURL=index.js.map
@@ -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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"}
@@ -1,9 +1,12 @@
1
+ import { ImageResponse } from '@vercel/og';
1
2
  import { TweetApiUtilsData, TwitterOpenApiClient } from 'twitter-openapi-typescript';
2
3
  import { ThemeNameType } from 'twitter-snap-core';
3
4
  import { GetTweetApi, ThemeParamType } from '../utils/types.js';
4
5
  export declare const twitterSnapGuest: () => Promise<readonly [({ id, limit, type }: tweetApiSnapParam, handler: handlerType) => Promise<void>, TwitterOpenApiClient]>;
5
6
  export declare const twitterSnapPuppeteer: (headless?: boolean, userDataDir?: string) => Promise<readonly [({ id, limit, type }: tweetApiSnapParam, handler: handlerType) => Promise<void>, TwitterOpenApiClient]>;
6
7
  export declare const twitterSnapCookies: (path: string) => Promise<readonly [({ id, limit, type }: tweetApiSnapParam, handler: handlerType) => Promise<void>, TwitterOpenApiClient]>;
8
+ type Fonts = NonNullable<NonNullable<ConstructorParameters<typeof ImageResponse>[1]>['fonts']>[0];
9
+ export declare const getFonts: (fontPath: string) => Promise<Fonts[]>;
7
10
  type tweetApiSnapParam = {
8
11
  id: string;
9
12
  limit: number;
@@ -20,7 +23,9 @@ type twitterRenderParam = {
20
23
  handler?: (e: HandlerType) => void;
21
24
  output: string;
22
25
  themeName: ThemeNameType;
23
- themeParam: ThemeParamType;
26
+ themeParam: ThemeParamType & {
27
+ fonts: Fonts[];
28
+ };
24
29
  };
25
30
  declare const twitterRender: (data: TweetApiUtilsData, count: number) => ({ handler, output, themeName, themeParam }: twitterRenderParam) => Promise<({ cleanup }: FinalizeParam) => Promise<void>>;
26
31
  type FinalizeParam = {
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/core/core.ts"],"names":[],"mappings":"AAGA,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,gDA6CM,iBAAiB,WAAW,WAAW,0CAzCzE,CAAA;AAED,eAAO,MAAM,oBAAoB,cAAqB,OAAO,gBAAgB,MAAM,6CAuChD,iBAAiB,WAAW,WAAW,0CAnBzE,CAAA;AAED,eAAO,MAAM,kBAAkB,SAAgB,MAAM,6CAiBlB,iBAAiB,WAAW,WAAW,0CAXzE,CAAA;AAED,KAAK,iBAAiB,GAAG;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,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;AAyCzE,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,CAAA;CAC3B,CAAA;AAED,QAAA,MAAM,aAAa,SAAU,iBAAiB,SAAS,MAAM,kDAMH,kBAAkB,2BAqExD,aAAa,mBAPhC,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,gDA4EM,iBAAiB,WAAW,WAAW,0CAxEzE,CAAA;AAED,eAAO,MAAM,oBAAoB,cAAqB,OAAO,gBAAgB,MAAM,6CAsEhD,iBAAiB,WAAW,WAAW,0CAlDzE,CAAA;AAED,eAAO,MAAM,kBAAkB,SAAgB,MAAM,6CAgDlB,iBAAiB,WAAW,WAAW,0CA1CzE,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,CA2B3D,CAAA;AAED,KAAK,iBAAiB,GAAG;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,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;AAgDzE,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"}
package/dist/core/core.js CHANGED
@@ -34,6 +34,31 @@ export const twitterSnapCookies = async (path) => {
34
34
  const api = await twitter.getClientFromCookies(Object.fromEntries(cookies.map((e) => [e.name, e.value])));
35
35
  return [tweetApiSnap(api), api];
36
36
  };
37
+ export const getFonts = async (fontPath) => {
38
+ const base = 'https://github.com/fa0311/twitter-snap-core/releases/download/assets-fonts/';
39
+ const list = [
40
+ ['SEGOEUISL.TTF', 'segoeui', 500, 'normal'],
41
+ ['SEGOEUIB.TTF', 'segoeui', 700, 'normal'],
42
+ ['SEGUISLI.TTF', 'segoeui', 500, 'italic'],
43
+ ['SEGOEUIZ.TTF', 'segoeui', 700, 'italic'],
44
+ ];
45
+ fs.mkdir(fontPath, { recursive: true });
46
+ const fonts = list.map(async ([file, name, weight, style]) => {
47
+ const path = `${fontPath}/${file}`;
48
+ try {
49
+ const data = await fs.readFile(path);
50
+ return { data, name, style, weight };
51
+ }
52
+ catch {
53
+ const url = `${base}${file}`;
54
+ const res = await fetch(url);
55
+ const data = await res.arrayBuffer();
56
+ await fs.writeFile(path, Buffer.from(data));
57
+ return { data, name, style, weight };
58
+ }
59
+ });
60
+ return Promise.all(fonts);
61
+ };
37
62
  const tweetApiSnap = (client) => {
38
63
  return async ({ id, limit, type }, handler) => {
39
64
  const key = getTweetList.find((k) => k === type);
@@ -41,10 +66,10 @@ const tweetApiSnap = (client) => {
41
66
  const that = client.getTweetApi();
42
67
  const api = that[key].bind(that);
43
68
  let count = 0;
44
- const cursor = [];
69
+ let cursor;
45
70
  while (count < limit) {
46
71
  const res = await api({
47
- cursor: cursor.length > 0 ? cursor.pop() : undefined,
72
+ cursor,
48
73
  focalTweetId: id,
49
74
  listId: id,
50
75
  rawQuery: id,
@@ -58,8 +83,11 @@ const tweetApiSnap = (client) => {
58
83
  await handler(twitterRender(e, count));
59
84
  count++;
60
85
  }
86
+ if (res.data.data.length === 0) {
87
+ return;
88
+ }
61
89
  if (res.data.cursor.bottom) {
62
- cursor.push(res.data.cursor.bottom?.value);
90
+ cursor = res.data.cursor.bottom.value;
63
91
  }
64
92
  else {
65
93
  return;
@@ -70,8 +98,9 @@ const tweetApiSnap = (client) => {
70
98
  const res = await client.getDefaultApi().getTweetResultByRestId({
71
99
  tweetId: id,
72
100
  });
73
- if (res.data)
101
+ if (res.data) {
74
102
  await handler(twitterRender(res.data, 0));
103
+ }
75
104
  }
76
105
  };
77
106
  };
@@ -79,41 +108,46 @@ const twitterRender = (data, count) => {
79
108
  const legacy = data.tweet.legacy;
80
109
  const extEntities = data.tweet.legacy?.extendedEntities;
81
110
  const extMedia = extEntities?.media ?? [];
82
- const isVideoData = extMedia.some((e) => e.type !== 'photo');
111
+ const isVideo = extMedia.some((e) => e.type !== 'photo');
83
112
  return async ({ handler, output, themeName, themeParam }) => {
84
113
  handler && handler({ id: data.tweet.restId, type: 'start', user: data.user.legacy.screenName });
85
114
  const Theme = Object.entries(themeList).find(([k, _]) => k === themeName)[1];
86
- const replaceData = [
87
- ['{id}', data.tweet.restId],
88
- ['{user-screen-name}', data.user.legacy.screenName],
89
- ['{if-photo:(?<true>.+?):(?<false>.+?)}', isVideoData ? '$2' : '$1'],
90
- ['{count}', count.toString()],
91
- ['{time-now-yyyy}', new Date().getFullYear().toString().padStart(4, '0')],
92
- ['{time-now-mm}', (new Date().getMonth() + 1).toString().padStart(2, '0')],
93
- ['{time-now-dd}', new Date().getDate().toString().padStart(2, '0')],
94
- ['{time-now-hh}', new Date().getHours().toString().padStart(2, '0')],
95
- ['{time-now-mi}', new Date().getMinutes().toString().padStart(2, '0')],
96
- ['{time-now-ss}', new Date().getSeconds().toString().padStart(2, '0')],
97
- ['{time-tweet-yyyy}', new Date(legacy.createdAt).getFullYear().toString().padStart(4, '0')],
98
- ['{time-tweet-mm}', (new Date(legacy.createdAt).getMonth() + 1).toString().padStart(2, '0')],
99
- ['{time-tweet-dd}', new Date(legacy.createdAt).getDate().toString().padStart(2, '0')],
100
- ['{time-tweet-hh}', new Date(legacy.createdAt).getHours().toString().padStart(2, '0')],
101
- ['{time-tweet-mi}', new Date(legacy.createdAt).getMinutes().toString().padStart(2, '0')],
102
- ['{time-tweet-ss}', new Date(legacy.createdAt).getSeconds().toString().padStart(2, '0')],
103
- ];
104
- const repOutput = replaceData.reduce((acc, [k, v]) => acc.replaceAll(new RegExp(k, 'g'), v), output);
105
- const video = repOutput.split('.').pop() !== 'png';
106
- const pngOutput = video ? repOutput.split('.').slice(0, -1).join('.') + '.png' : repOutput;
115
+ const getFileName = (isVideo) => {
116
+ const replaceData = [
117
+ ['{id}', data.tweet.restId],
118
+ ['{user-screen-name}', data.user.legacy.screenName],
119
+ ['{if-photo:(?<true>.+?):(?<false>.+?)}', isVideo ? '$2' : '$1'],
120
+ ['{count}', count.toString()],
121
+ ['{time-now-yyyy}', new Date().getFullYear().toString().padStart(4, '0')],
122
+ ['{time-now-mm}', (new Date().getMonth() + 1).toString().padStart(2, '0')],
123
+ ['{time-now-dd}', new Date().getDate().toString().padStart(2, '0')],
124
+ ['{time-now-hh}', new Date().getHours().toString().padStart(2, '0')],
125
+ ['{time-now-mi}', new Date().getMinutes().toString().padStart(2, '0')],
126
+ ['{time-now-ss}', new Date().getSeconds().toString().padStart(2, '0')],
127
+ ['{time-tweet-yyyy}', new Date(legacy.createdAt).getFullYear().toString().padStart(4, '0')],
128
+ ['{time-tweet-mm}', (new Date(legacy.createdAt).getMonth() + 1).toString().padStart(2, '0')],
129
+ ['{time-tweet-dd}', new Date(legacy.createdAt).getDate().toString().padStart(2, '0')],
130
+ ['{time-tweet-hh}', new Date(legacy.createdAt).getHours().toString().padStart(2, '0')],
131
+ ['{time-tweet-mi}', new Date(legacy.createdAt).getMinutes().toString().padStart(2, '0')],
132
+ ['{time-tweet-ss}', new Date(legacy.createdAt).getSeconds().toString().padStart(2, '0')],
133
+ ];
134
+ const repOutput = replaceData.reduce((acc, [k, v]) => acc.replaceAll(new RegExp(k, 'g'), v), output);
135
+ const video = repOutput.split('.').pop() !== 'png';
136
+ const pngOutput = video ? repOutput.split('.').slice(0, -1).join('.') + '.png' : repOutput;
137
+ return { pngOutput, repOutput, video };
138
+ };
107
139
  const render = new Theme({
108
140
  ...themeParam,
109
- video,
141
+ video: getFileName(isVideo).video,
110
142
  });
143
+ const { pngOutput, repOutput, video } = getFileName(isVideo && render.videoRender !== undefined);
111
144
  handler && handler({ id: data.tweet.restId, type: 'image', user: data.user.legacy.screenName });
112
145
  const element = render.imageRender({
113
146
  data,
114
147
  });
115
148
  const img = new ImageResponse(element, {
116
149
  emoji: 'twemoji',
150
+ fonts: themeParam.fonts,
117
151
  height: undefined,
118
152
  width: themeParam.width,
119
153
  });
@@ -129,14 +163,16 @@ const twitterRender = (data, count) => {
129
163
  image: pngOutput,
130
164
  output: repOutput,
131
165
  });
132
- return finalize(res.temp);
166
+ return finalize([pngOutput, ...res.temp]);
133
167
  }
134
168
  return finalize([]);
135
169
  };
136
170
  };
137
- const finalize = async (temp) => async ({ cleanup }) => {
138
- if (cleanup) {
139
- await Promise.all(temp.map((e) => fs.rm(e)));
140
- }
171
+ const finalize = async (temp) => {
172
+ return async ({ cleanup }) => {
173
+ if (cleanup) {
174
+ await Promise.all(temp.map((e) => fs.rm(e)));
175
+ }
176
+ };
141
177
  };
142
178
  //# sourceMappingURL=core.js.map
@@ -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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"}