upload-post 2.12.0 → 2.14.0
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 +111 -9
- package/index.d.ts +368 -17
- package/index.js +375 -16
- package/package.json +2 -2
package/index.d.ts
CHANGED
|
@@ -56,6 +56,8 @@ declare module 'upload-post' {
|
|
|
56
56
|
user: string;
|
|
57
57
|
/** First comment to post after publishing */
|
|
58
58
|
firstComment?: string;
|
|
59
|
+
/** Reply to an existing post (X: tweet ID; Bluesky: post URL or AT-URI). */
|
|
60
|
+
replyToId?: string;
|
|
59
61
|
/** Alt text for accessibility */
|
|
60
62
|
altText?: string;
|
|
61
63
|
/** ISO date for scheduling (e.g., "2024-12-25T10:00:00Z") */
|
|
@@ -136,12 +138,23 @@ declare module 'upload-post' {
|
|
|
136
138
|
tiktokCoverTimestamp?: number;
|
|
137
139
|
/** AI-generated content flag */
|
|
138
140
|
tiktokIsAigc?: boolean;
|
|
139
|
-
/**
|
|
141
|
+
/**
|
|
142
|
+
* Post mode. `MEDIA_UPLOAD` is the same draft as {@link TikTokVideoOptions.tiktokUploadToDraft}.
|
|
143
|
+
* Alias: `postMode` / `post_mode`.
|
|
144
|
+
*/
|
|
140
145
|
tiktokPostMode?: TikTokPostMode;
|
|
146
|
+
/** Alias of {@link TikTokVideoOptions.tiktokPostMode}. */
|
|
147
|
+
postMode?: TikTokPostMode;
|
|
148
|
+
/** Alias of {@link TikTokVideoOptions.tiktokPostMode}. */
|
|
149
|
+
post_mode?: TikTokPostMode;
|
|
141
150
|
/** Branded content toggle */
|
|
142
151
|
brandContentToggle?: boolean;
|
|
143
152
|
/** Brand organic toggle */
|
|
144
153
|
brandOrganicToggle?: boolean;
|
|
154
|
+
/** Only show the video in ads */
|
|
155
|
+
tiktokIsAdsOnly?: boolean;
|
|
156
|
+
/** TikTok One invite link. Requires branded content. */
|
|
157
|
+
tiktokTtoInviteLink?: string;
|
|
145
158
|
|
|
146
159
|
// ---- Music, location, cover and draft ----
|
|
147
160
|
// Available on connections that declare the matching capability (`music`,
|
|
@@ -169,8 +182,18 @@ declare module 'upload-post' {
|
|
|
169
182
|
tiktokCoverImageUrl?: string;
|
|
170
183
|
/** AI-generated content disclosure */
|
|
171
184
|
tiktokIsAiGenerated?: boolean;
|
|
172
|
-
/**
|
|
185
|
+
/**
|
|
186
|
+
* Publish to drafts. Same draft as `tiktokPostMode: 'MEDIA_UPLOAD'` /
|
|
187
|
+
* `postMode: 'MEDIA_UPLOAD'`. Aliases: `uploadToDraft`, `tiktok_upload_to_draft`,
|
|
188
|
+
* `upload_to_draft`. When true TikTok ignores the rest of the post settings.
|
|
189
|
+
*/
|
|
173
190
|
tiktokUploadToDraft?: boolean;
|
|
191
|
+
/** Alias of {@link TikTokVideoOptions.tiktokUploadToDraft}. */
|
|
192
|
+
uploadToDraft?: boolean;
|
|
193
|
+
/** Alias of {@link TikTokVideoOptions.tiktokUploadToDraft}. */
|
|
194
|
+
tiktok_upload_to_draft?: boolean;
|
|
195
|
+
/** Alias of {@link TikTokVideoOptions.tiktokUploadToDraft}. */
|
|
196
|
+
upload_to_draft?: boolean;
|
|
174
197
|
}
|
|
175
198
|
|
|
176
199
|
export interface TikTokPhotoOptions {
|
|
@@ -188,20 +211,27 @@ declare module 'upload-post' {
|
|
|
188
211
|
* ones.
|
|
189
212
|
*/
|
|
190
213
|
tiktokPrivacyLevel?: TikTokPrivacyLevel;
|
|
191
|
-
/**
|
|
192
|
-
|
|
214
|
+
/**
|
|
215
|
+
* Post mode. `MEDIA_UPLOAD` is the same draft as {@link TikTokPhotoOptions.tiktokUploadToDraft}.
|
|
216
|
+
* Alias: `postMode` / `post_mode`.
|
|
217
|
+
*/
|
|
218
|
+
tiktokPostMode?: TikTokPostMode;
|
|
219
|
+
/** Alias of {@link TikTokPhotoOptions.tiktokPostMode}. */
|
|
220
|
+
postMode?: TikTokPostMode;
|
|
221
|
+
/** Alias of {@link TikTokPhotoOptions.tiktokPostMode}. */
|
|
222
|
+
post_mode?: TikTokPostMode;
|
|
193
223
|
/** Branded content toggle */
|
|
194
224
|
brandContentToggle?: boolean;
|
|
195
225
|
/** Brand organic toggle */
|
|
196
226
|
brandOrganicToggle?: boolean;
|
|
197
227
|
|
|
198
|
-
// ---- Music, location
|
|
199
|
-
// Photo posts accept the track id, the location pair
|
|
200
|
-
// not the volume/trim
|
|
201
|
-
// Available on connections that declare the matching capability
|
|
202
|
-
// `location`) — see `capabilities` on the TikTok account
|
|
203
|
-
// listUsers(). Without it the field is ignored, the post still
|
|
204
|
-
// the response includes a per-field `warnings` entry.
|
|
228
|
+
// ---- Music, location, AI disclosure and draft ----
|
|
229
|
+
// Photo posts accept the track id, the location pair, the AI disclosure and
|
|
230
|
+
// the draft switch — not the volume/trim or cover-image fields, which are
|
|
231
|
+
// video-only. Available on connections that declare the matching capability
|
|
232
|
+
// (`music`, `location`, `draft`) — see `capabilities` on the TikTok account
|
|
233
|
+
// returned by listUsers(). Without it the field is ignored, the post still
|
|
234
|
+
// publishes, and the response includes a per-field `warnings` entry.
|
|
205
235
|
|
|
206
236
|
/** Commercial Music Library track id (see getTiktokTrendingMusic) */
|
|
207
237
|
tiktokMusicId?: string;
|
|
@@ -211,6 +241,18 @@ declare module 'upload-post' {
|
|
|
211
241
|
tiktokLocationName?: string;
|
|
212
242
|
/** AI-generated content disclosure */
|
|
213
243
|
tiktokIsAiGenerated?: boolean;
|
|
244
|
+
/**
|
|
245
|
+
* Publish to drafts. Same draft as `tiktokPostMode: 'MEDIA_UPLOAD'` /
|
|
246
|
+
* `postMode: 'MEDIA_UPLOAD'`. Aliases: `uploadToDraft`, `tiktok_upload_to_draft`,
|
|
247
|
+
* `upload_to_draft`.
|
|
248
|
+
*/
|
|
249
|
+
tiktokUploadToDraft?: boolean;
|
|
250
|
+
/** Alias of {@link TikTokPhotoOptions.tiktokUploadToDraft}. */
|
|
251
|
+
uploadToDraft?: boolean;
|
|
252
|
+
/** Alias of {@link TikTokPhotoOptions.tiktokUploadToDraft}. */
|
|
253
|
+
tiktok_upload_to_draft?: boolean;
|
|
254
|
+
/** Alias of {@link TikTokPhotoOptions.tiktokUploadToDraft}. */
|
|
255
|
+
upload_to_draft?: boolean;
|
|
214
256
|
}
|
|
215
257
|
|
|
216
258
|
// ==================== Instagram Options ====================
|
|
@@ -243,6 +285,8 @@ declare module 'upload-post' {
|
|
|
243
285
|
instagramUserTags?: string;
|
|
244
286
|
/** Location ID */
|
|
245
287
|
instagramLocationId?: string;
|
|
288
|
+
/** Alt text: string (applied to every item) or list of strings, ≤1000 chars each */
|
|
289
|
+
instagramAltText?: string | string[];
|
|
246
290
|
}
|
|
247
291
|
|
|
248
292
|
// ==================== YouTube Options ====================
|
|
@@ -278,6 +322,10 @@ declare module 'upload-post' {
|
|
|
278
322
|
youtubeHasPaidProductPlacement?: boolean;
|
|
279
323
|
/** Recording date (ISO 8601) */
|
|
280
324
|
youtubeRecordingDate?: string;
|
|
325
|
+
/** Notify subscribers. Default true; send false to suppress the notification */
|
|
326
|
+
youtubeNotifySubscribers?: boolean;
|
|
327
|
+
/** RFC3339 time. Uploads the video as private until this instant (Studio: Scheduled) */
|
|
328
|
+
youtubePublishAt?: string;
|
|
281
329
|
/** Playlist ID(s) to add the uploaded video to — one ID, an array, or a comma-separated list */
|
|
282
330
|
youtubePlaylistId?: string | string[];
|
|
283
331
|
/** Subtitle/caption files to upload. Each entry needs a language code and either a file path or URL. */
|
|
@@ -300,6 +348,36 @@ declare module 'upload-post' {
|
|
|
300
348
|
linkedinVisibility?: LinkedInVisibility;
|
|
301
349
|
/** Page ID for organization posts */
|
|
302
350
|
targetLinkedinPageId?: string;
|
|
351
|
+
/** Alt text per image (string, JSON list, or repeated). Default = title */
|
|
352
|
+
linkedinAltText?: string | string[];
|
|
353
|
+
/** Disable reshare by others */
|
|
354
|
+
linkedinDisableReshare?: boolean;
|
|
355
|
+
/** Override the scraped link-share title (< 400 chars) */
|
|
356
|
+
linkedinLinkTitle?: string;
|
|
357
|
+
/** Override the scraped link-share description (< 4086 chars) */
|
|
358
|
+
linkedinLinkDescription?: string;
|
|
359
|
+
/** Alt text for the link-share thumbnail */
|
|
360
|
+
linkedinThumbnailAltText?: string;
|
|
361
|
+
/** Organic Page targeting: geo locations (CSV, JSON list, URN or numeric id) */
|
|
362
|
+
linkedinTargetGeoLocations?: string | string[];
|
|
363
|
+
linkedinTargetIndustries?: string | string[];
|
|
364
|
+
linkedinTargetSeniorities?: string | string[];
|
|
365
|
+
linkedinTargetJobFunctions?: string | string[];
|
|
366
|
+
linkedinTargetStaffCountRanges?: string | string[];
|
|
367
|
+
linkedinTargetInterfaceLocales?: string | string[];
|
|
368
|
+
linkedinTargetDegrees?: string | string[];
|
|
369
|
+
linkedinTargetFieldsOfStudy?: string | string[];
|
|
370
|
+
linkedinTargetOrganizations?: string | string[];
|
|
371
|
+
/** Raw LinkedIn targetEntities facets JSON */
|
|
372
|
+
linkedinTargetEntities?: Record<string, unknown> | string;
|
|
373
|
+
/** Reject the post if LinkedIn reports audience < 300 */
|
|
374
|
+
linkedinTargetCheckAudience?: boolean;
|
|
375
|
+
/** English SRT captions: local path, stream, or file */
|
|
376
|
+
linkedinSubtitles?: string | Buffer | NodeJS.ReadableStream;
|
|
377
|
+
/** Public URL of an English SRT file */
|
|
378
|
+
linkedinSubtitlesUrl?: string;
|
|
379
|
+
/** Inline English SRT text */
|
|
380
|
+
linkedinSubtitlesText?: string;
|
|
303
381
|
}
|
|
304
382
|
|
|
305
383
|
// ==================== Facebook Options ====================
|
|
@@ -313,11 +391,35 @@ declare module 'upload-post' {
|
|
|
313
391
|
facebookMediaType?: FacebookMediaType;
|
|
314
392
|
/** Thumbnail URL for normal page videos (only when facebookMediaType is 'VIDEO') */
|
|
315
393
|
thumbnailUrl?: string;
|
|
394
|
+
/** Facebook Place ID */
|
|
395
|
+
facebookPlaceId?: string;
|
|
396
|
+
/** Geographic/age/language targeting */
|
|
397
|
+
facebookTargeting?: Record<string, unknown> | string;
|
|
398
|
+
/** Feed targeting */
|
|
399
|
+
facebookFeedTargeting?: Record<string, unknown> | string;
|
|
400
|
+
/** AI-generated disclosure on Reels */
|
|
401
|
+
facebookIsAiGenerated?: boolean;
|
|
402
|
+
/** Unpublished type for page video: DRAFT, INLINE_CREATED, ADS_POST, PUBLISHED. Do not send SCHEDULED — use scheduledDate. */
|
|
403
|
+
facebookUnpublishedContentType?: 'DRAFT' | 'INLINE_CREATED' | 'ADS_POST' | 'PUBLISHED' | string;
|
|
404
|
+
/** Hide the video from the Page story */
|
|
405
|
+
facebookNoStory?: boolean;
|
|
406
|
+
/** Secret/unpublished video */
|
|
407
|
+
facebookSecret?: boolean;
|
|
408
|
+
/** Page IDs to invite as Reel collaborators (max 10 / 24h) */
|
|
409
|
+
facebookCollaborators?: string | string[];
|
|
316
410
|
}
|
|
317
411
|
|
|
318
412
|
export interface FacebookPhotoOptions {
|
|
319
413
|
/** Facebook Page ID */
|
|
320
414
|
facebookPageId?: string;
|
|
415
|
+
/** Alt text per photo */
|
|
416
|
+
facebookAltText?: string | string[];
|
|
417
|
+
/** Facebook Place ID */
|
|
418
|
+
facebookPlaceId?: string;
|
|
419
|
+
/** Geographic/age/language targeting */
|
|
420
|
+
facebookTargeting?: Record<string, unknown> | string;
|
|
421
|
+
/** Feed targeting */
|
|
422
|
+
facebookFeedTargeting?: Record<string, unknown> | string;
|
|
321
423
|
}
|
|
322
424
|
|
|
323
425
|
export interface FacebookTextOptions {
|
|
@@ -325,6 +427,18 @@ declare module 'upload-post' {
|
|
|
325
427
|
facebookPageId?: string;
|
|
326
428
|
/** URL to attach as link preview */
|
|
327
429
|
facebookLinkUrl?: string;
|
|
430
|
+
/** Facebook Place ID */
|
|
431
|
+
facebookPlaceId?: string;
|
|
432
|
+
/** Geographic/age/language targeting */
|
|
433
|
+
facebookTargeting?: Record<string, unknown> | string;
|
|
434
|
+
/** Feed targeting */
|
|
435
|
+
facebookFeedTargeting?: Record<string, unknown> | string;
|
|
436
|
+
/** Link-post CTA, e.g. { type: 'LEARN_MORE', link: 'https://…' } */
|
|
437
|
+
facebookCallToAction?: Record<string, unknown> | string;
|
|
438
|
+
/** Link carousel (2–5 objects with `link`) */
|
|
439
|
+
facebookChildAttachments?: Array<Record<string, unknown>> | string;
|
|
440
|
+
/** Show the multi-share end card (requires child attachments) */
|
|
441
|
+
facebookMultiShareEndCard?: boolean;
|
|
328
442
|
}
|
|
329
443
|
|
|
330
444
|
// ==================== Pinterest Options ====================
|
|
@@ -340,8 +454,12 @@ declare module 'upload-post' {
|
|
|
340
454
|
pinterestCoverImageContentType?: string;
|
|
341
455
|
/** Base64-encoded cover image data */
|
|
342
456
|
pinterestCoverImageData?: string;
|
|
343
|
-
/** Key frame time in
|
|
457
|
+
/** Key frame time in seconds (values larger than the video duration are treated as milliseconds) */
|
|
344
458
|
pinterestCoverImageKeyFrameTime?: number;
|
|
459
|
+
/** Board section ID */
|
|
460
|
+
pinterestBoardSectionId?: string;
|
|
461
|
+
/** AI disclosures: AI_MODIFIED and/or SYNTHETIC_PERFORMER */
|
|
462
|
+
pinterestAiDisclosures?: string | string[];
|
|
345
463
|
}
|
|
346
464
|
|
|
347
465
|
export interface PinterestPhotoOptions {
|
|
@@ -351,6 +469,18 @@ declare module 'upload-post' {
|
|
|
351
469
|
pinterestAltText?: string;
|
|
352
470
|
/** Destination link */
|
|
353
471
|
pinterestLink?: string;
|
|
472
|
+
/** Board section ID */
|
|
473
|
+
pinterestBoardSectionId?: string;
|
|
474
|
+
/** AI disclosures: AI_MODIFIED and/or SYNTHETIC_PERFORMER */
|
|
475
|
+
pinterestAiDisclosures?: string | string[];
|
|
476
|
+
/** Per-slide titles on a 2–5 photo carousel */
|
|
477
|
+
pinterestCarouselTitles?: string | string[];
|
|
478
|
+
/** Per-slide descriptions on a 2–5 photo carousel */
|
|
479
|
+
pinterestCarouselDescriptions?: string | string[];
|
|
480
|
+
/** Per-slide links on a 2–5 photo carousel */
|
|
481
|
+
pinterestCarouselLinks?: string | string[];
|
|
482
|
+
/** 0-based cover index on a carousel */
|
|
483
|
+
pinterestCarouselIndex?: number;
|
|
354
484
|
}
|
|
355
485
|
|
|
356
486
|
// ==================== X (Twitter) Options ====================
|
|
@@ -372,6 +502,10 @@ declare module 'upload-post' {
|
|
|
372
502
|
xDirectMessageDeepLink?: string;
|
|
373
503
|
/** Post long text as single post */
|
|
374
504
|
xLongTextAsPost?: boolean;
|
|
505
|
+
/** Paid partnership label on the first post */
|
|
506
|
+
xPaidPartnership?: boolean;
|
|
507
|
+
/** ID of the tweet to reply to (alias of the generic replyToId). */
|
|
508
|
+
xReplyToId?: string;
|
|
375
509
|
}
|
|
376
510
|
|
|
377
511
|
export interface XMediaOptions extends XBaseOptions {
|
|
@@ -381,12 +515,22 @@ declare module 'upload-post' {
|
|
|
381
515
|
xPlaceId?: string;
|
|
382
516
|
/** Comma-separated image layout for thread (e.g. "4,4" or "2,3,1"). Each value 1-4, total must equal image count. */
|
|
383
517
|
xThreadImageLayout?: string;
|
|
518
|
+
/** Alt text (≤1000 chars). String for video; string, list or `x_alt_text[]` for photos */
|
|
519
|
+
xAltText?: string | string[];
|
|
520
|
+
/** Public URL of a .srt file (≤1 MB) */
|
|
521
|
+
xSubtitlesUrl?: string;
|
|
522
|
+
/** Inline SRT text, or a URL if the value starts with http(s) */
|
|
523
|
+
xSubtitles?: string;
|
|
524
|
+
/** 2-letter language code (default EN) */
|
|
525
|
+
xSubtitlesLanguage?: string;
|
|
526
|
+
/** Subtitle track name shown on X (≤150 chars) */
|
|
527
|
+
xSubtitlesName?: string;
|
|
384
528
|
}
|
|
385
529
|
|
|
386
530
|
export interface XTextOptions extends XBaseOptions {
|
|
387
531
|
/** URL to attach */
|
|
388
532
|
xPostUrl?: string;
|
|
389
|
-
/** Tweet ID to quote */
|
|
533
|
+
/** Tweet ID to quote. Quote posts require an X API Enterprise plan. */
|
|
390
534
|
xQuoteTweetId?: string;
|
|
391
535
|
/** Poll options (2-4 options) */
|
|
392
536
|
xPollOptions?: string | string[];
|
|
@@ -396,6 +540,16 @@ declare module 'upload-post' {
|
|
|
396
540
|
xPollReplySettings?: XReplySettings;
|
|
397
541
|
/** Card URI for Twitter Cards */
|
|
398
542
|
xCardUri?: string;
|
|
543
|
+
/** X Article title (≤100 chars, Premium) */
|
|
544
|
+
xArticleTitle?: string;
|
|
545
|
+
/** X Article body (plain text / light Markdown) */
|
|
546
|
+
xArticleBody?: string;
|
|
547
|
+
/** DraftJS content_state JSON */
|
|
548
|
+
xArticleContentState?: Record<string, unknown> | string;
|
|
549
|
+
/** Create the Article as a draft only */
|
|
550
|
+
xArticleDraft?: boolean;
|
|
551
|
+
/** Article cover: local file, public URL, or X media_id */
|
|
552
|
+
xArticleCoverMedia?: string | Buffer | NodeJS.ReadableStream;
|
|
399
553
|
}
|
|
400
554
|
|
|
401
555
|
// ==================== Threads Options ====================
|
|
@@ -403,19 +557,182 @@ declare module 'upload-post' {
|
|
|
403
557
|
export interface ThreadsOptions {
|
|
404
558
|
/** Post long text as single post (vs thread) */
|
|
405
559
|
threadsLongTextAsPost?: boolean;
|
|
406
|
-
/** Comma-separated list of how many media items per Threads post (e.g. "5,5"). Each value 1-
|
|
560
|
+
/** Comma-separated list of how many media items per Threads post (e.g. "5,5"). Each value 1-20, total must equal file count. */
|
|
407
561
|
threadsThreadMediaLayout?: string;
|
|
408
562
|
/** Topic tag for the Threads post */
|
|
409
563
|
threadsTopicTag?: string;
|
|
564
|
+
/** Who can reply: everyone, accounts_you_follow, mentioned_only, parent_post_author_only, followers_only */
|
|
565
|
+
threadsReplyControl?: 'everyone' | 'accounts_you_follow' | 'mentioned_only' | 'parent_post_author_only' | 'followers_only' | 'followers' | string;
|
|
566
|
+
/** Alt text per image/video (≤1000 chars) */
|
|
567
|
+
threadsAltText?: string | string[];
|
|
568
|
+
/** Publish as a reply to this Threads post id */
|
|
569
|
+
threadsReplyToId?: string;
|
|
570
|
+
/** Quote this Threads post id */
|
|
571
|
+
threadsQuotePostId?: string;
|
|
572
|
+
/** Force a link preview (text posts) */
|
|
573
|
+
threadsLinkAttachment?: string;
|
|
574
|
+
/** Poll options, 2–4 strings of 1–25 chars (text posts) */
|
|
575
|
+
threadsPollOptions?: string | string[];
|
|
576
|
+
/** Publish a text container without the second threads_publish call */
|
|
577
|
+
threadsAutoPublishText?: boolean;
|
|
410
578
|
}
|
|
411
579
|
|
|
412
580
|
// ==================== Reddit Options ====================
|
|
413
581
|
|
|
582
|
+
/**
|
|
583
|
+
* Reddit is currently unavailable. Uploads, OAuth and comments return HTTP 503
|
|
584
|
+
* with `error_code=reddit_unavailable`. Fields are still accepted and forwarded.
|
|
585
|
+
*/
|
|
414
586
|
export interface RedditOptions {
|
|
415
587
|
/** Subreddit name (without r/) */
|
|
416
588
|
redditSubreddit?: string;
|
|
417
589
|
/** Flair template ID */
|
|
418
590
|
redditFlairId?: string;
|
|
591
|
+
redditNsfw?: boolean;
|
|
592
|
+
redditSpoiler?: boolean;
|
|
593
|
+
redditResubmit?: boolean;
|
|
594
|
+
redditSendReplies?: boolean;
|
|
595
|
+
/** Custom text for editable flairs */
|
|
596
|
+
redditFlairText?: string;
|
|
597
|
+
/** Per-image captions (JSON array or `||`-separated) */
|
|
598
|
+
redditGalleryCaptions?: string | string[];
|
|
599
|
+
/** Per-image outbound URLs (JSON array or `||`-separated) */
|
|
600
|
+
redditGalleryUrls?: string | string[];
|
|
601
|
+
}
|
|
602
|
+
|
|
603
|
+
// ==================== Bluesky Options ====================
|
|
604
|
+
|
|
605
|
+
export interface BlueskyOptions {
|
|
606
|
+
/** Alt text per image/video (string, JSON array or `||`-separated) */
|
|
607
|
+
blueskyAltText?: string | string[];
|
|
608
|
+
/** Up to 3 BCP-47 language codes, comma-separated */
|
|
609
|
+
blueskyLangs?: string | string[];
|
|
610
|
+
/** Content labels: porn, sexual, nudity, graphic-media */
|
|
611
|
+
blueskyLabels?: string | string[];
|
|
612
|
+
/** Publish up to 20 images as a gallery (default: first 4) */
|
|
613
|
+
blueskyGallery?: boolean;
|
|
614
|
+
/** Who can reply: everyone, nobody, mention, following, followers, list:<at://uri> */
|
|
615
|
+
blueskyThreadgate?: string;
|
|
616
|
+
/** Alias of blueskyThreadgate */
|
|
617
|
+
blueskyReplySettings?: string;
|
|
618
|
+
/** `disable_quotes` or `true` to block quotes */
|
|
619
|
+
blueskyPostgate?: string | boolean;
|
|
620
|
+
/** Alias of blueskyPostgate */
|
|
621
|
+
blueskyQuoteSettings?: string | boolean;
|
|
622
|
+
/** Quote a post (bsky.app URL or at:// URI) */
|
|
623
|
+
blueskyQuoteUri?: string;
|
|
624
|
+
blueskyQuoteId?: string;
|
|
625
|
+
blueskyQuoteUrl?: string;
|
|
626
|
+
}
|
|
627
|
+
|
|
628
|
+
export interface DiscordOptions {
|
|
629
|
+
discordThreadId?: string;
|
|
630
|
+
discordThreadName?: string;
|
|
631
|
+
discordAppliedTags?: string | string[];
|
|
632
|
+
discordEmbeds?: Array<Record<string, unknown>> | string;
|
|
633
|
+
discordUsername?: string;
|
|
634
|
+
discordAvatarUrl?: string;
|
|
635
|
+
discordAllowedMentions?: Record<string, unknown> | string;
|
|
636
|
+
discordAltText?: string | string[];
|
|
637
|
+
discordFlags?: number;
|
|
638
|
+
discordTts?: boolean;
|
|
639
|
+
discordPoll?: Record<string, unknown> | string;
|
|
640
|
+
discordMaxFileMb?: number;
|
|
641
|
+
}
|
|
642
|
+
|
|
643
|
+
export interface TelegramOptions {
|
|
644
|
+
telegramParseMode?: 'MarkdownV2' | 'HTML' | string;
|
|
645
|
+
telegramMessageThreadId?: number | string;
|
|
646
|
+
telegramDisableNotification?: boolean;
|
|
647
|
+
telegramProtectContent?: boolean;
|
|
648
|
+
telegramHasSpoiler?: boolean;
|
|
649
|
+
telegramLinkPreview?: boolean;
|
|
650
|
+
telegramReplyMarkup?: Record<string, unknown> | string;
|
|
651
|
+
telegramCaptionOverflow?: 'truncate' | 'split';
|
|
652
|
+
telegramAsDocument?: boolean;
|
|
653
|
+
telegramMediaUrls?: string | string[];
|
|
654
|
+
}
|
|
655
|
+
|
|
656
|
+
export interface MastodonOptions {
|
|
657
|
+
mastodonVisibility?: 'public' | 'unlisted' | 'private' | 'direct';
|
|
658
|
+
mastodonSensitive?: boolean;
|
|
659
|
+
mastodonSpoilerText?: string;
|
|
660
|
+
mastodonLanguage?: string;
|
|
661
|
+
mastodonAltText?: string | string[];
|
|
662
|
+
mastodonPollOptions?: string | string[];
|
|
663
|
+
mastodonPollExpiresIn?: number;
|
|
664
|
+
mastodonPollMultiple?: boolean;
|
|
665
|
+
mastodonScheduledAt?: string;
|
|
666
|
+
}
|
|
667
|
+
|
|
668
|
+
export interface WordpressOptions {
|
|
669
|
+
wordpressStatus?: 'publish' | 'draft' | 'pending' | 'future';
|
|
670
|
+
wordpressDate?: string;
|
|
671
|
+
wordpressCategories?: string | string[];
|
|
672
|
+
wordpressTags?: string | string[];
|
|
673
|
+
wordpressExcerpt?: string;
|
|
674
|
+
wordpressSlug?: string;
|
|
675
|
+
wordpressAltText?: string;
|
|
676
|
+
wordpressMediaCaption?: string;
|
|
677
|
+
wordpressBlockFormat?: boolean;
|
|
678
|
+
}
|
|
679
|
+
|
|
680
|
+
export interface LemmyOptions {
|
|
681
|
+
lemmyUrl?: string;
|
|
682
|
+
lemmyCommunity?: string;
|
|
683
|
+
lemmyNsfw?: boolean;
|
|
684
|
+
lemmyLanguageId?: number | string;
|
|
685
|
+
lemmyAltText?: string;
|
|
686
|
+
}
|
|
687
|
+
|
|
688
|
+
export interface SlackOptions {
|
|
689
|
+
slackMarkdown?: boolean;
|
|
690
|
+
slackBlocks?: Array<Record<string, unknown>> | string;
|
|
691
|
+
slackMrkdwn?: boolean;
|
|
692
|
+
slackAltText?: string;
|
|
693
|
+
slackFirstCommentMode?: 'separate' | 'inline';
|
|
694
|
+
}
|
|
695
|
+
|
|
696
|
+
export interface NostrOptions {
|
|
697
|
+
nostrKind?: 1 | 20 | 22 | 34235 | 30023 | number;
|
|
698
|
+
nostrLongForm?: boolean;
|
|
699
|
+
}
|
|
700
|
+
|
|
701
|
+
export interface DevtoOptions {
|
|
702
|
+
devtoTags?: string | string[];
|
|
703
|
+
devtoCanonicalUrl?: string;
|
|
704
|
+
devtoDescription?: string;
|
|
705
|
+
devtoMainImage?: string;
|
|
706
|
+
devtoSeries?: string;
|
|
707
|
+
devtoPublished?: boolean;
|
|
708
|
+
}
|
|
709
|
+
|
|
710
|
+
export interface HashnodeOptions {
|
|
711
|
+
hashnodeTags?: string | string[];
|
|
712
|
+
hashnodeOriginalArticleUrl?: string;
|
|
713
|
+
hashnodeSubtitle?: string;
|
|
714
|
+
hashnodeCoverImageUrl?: string;
|
|
715
|
+
hashnodeDraft?: boolean;
|
|
716
|
+
hashnodeBody?: string;
|
|
717
|
+
/** Alias of hashnodeBody */
|
|
718
|
+
content?: string;
|
|
719
|
+
}
|
|
720
|
+
|
|
721
|
+
export interface WhopOptions {
|
|
722
|
+
whopBody?: string;
|
|
723
|
+
whopPinned?: boolean;
|
|
724
|
+
whopIsMention?: boolean;
|
|
725
|
+
whopPaywallAmount?: number;
|
|
726
|
+
whopPaywallCurrency?: string;
|
|
727
|
+
whopAttachmentIds?: string | string[];
|
|
728
|
+
}
|
|
729
|
+
|
|
730
|
+
export interface ListmonkOptions {
|
|
731
|
+
listmonkContentType?: 'richtext' | 'markdown' | 'html' | 'plain';
|
|
732
|
+
listmonkSendAt?: string;
|
|
733
|
+
listmonkLists?: string | string[];
|
|
734
|
+
listmonkTemplateId?: string | number;
|
|
735
|
+
listmonkMediaIds?: string | string[];
|
|
419
736
|
}
|
|
420
737
|
|
|
421
738
|
// ==================== Combined Upload Options ====================
|
|
@@ -468,6 +785,14 @@ declare module 'upload-post' {
|
|
|
468
785
|
gbpOfferRedeemUrl?: string;
|
|
469
786
|
/** Offer terms and conditions */
|
|
470
787
|
gbpOfferTerms?: string;
|
|
788
|
+
/** BCP-47 language code. Default "en" */
|
|
789
|
+
gbpLanguageCode?: string;
|
|
790
|
+
/** Alias of gbpOfferCoupon */
|
|
791
|
+
gbpCouponCode?: string;
|
|
792
|
+
/** Alias of gbpOfferRedeemUrl */
|
|
793
|
+
gbpRedeemUrl?: string;
|
|
794
|
+
/** Alias of gbpOfferTerms */
|
|
795
|
+
gbpTerms?: string;
|
|
471
796
|
}
|
|
472
797
|
|
|
473
798
|
export interface UploadVideoOptions extends CommonUploadOptions,
|
|
@@ -480,7 +805,12 @@ declare module 'upload-post' {
|
|
|
480
805
|
XMediaOptions,
|
|
481
806
|
ThreadsOptions,
|
|
482
807
|
RedditOptions,
|
|
483
|
-
GoogleBusinessOptions
|
|
808
|
+
GoogleBusinessOptions,
|
|
809
|
+
BlueskyOptions,
|
|
810
|
+
DiscordOptions,
|
|
811
|
+
TelegramOptions,
|
|
812
|
+
MastodonOptions,
|
|
813
|
+
WordpressOptions {
|
|
484
814
|
/** Target platforms */
|
|
485
815
|
platforms: VideoPlatform[];
|
|
486
816
|
}
|
|
@@ -494,7 +824,13 @@ declare module 'upload-post' {
|
|
|
494
824
|
XMediaOptions,
|
|
495
825
|
ThreadsOptions,
|
|
496
826
|
RedditOptions,
|
|
497
|
-
GoogleBusinessOptions
|
|
827
|
+
GoogleBusinessOptions,
|
|
828
|
+
BlueskyOptions,
|
|
829
|
+
DiscordOptions,
|
|
830
|
+
TelegramOptions,
|
|
831
|
+
MastodonOptions,
|
|
832
|
+
LemmyOptions,
|
|
833
|
+
WordpressOptions {
|
|
498
834
|
/** Target platforms */
|
|
499
835
|
platforms: PhotoPlatform[];
|
|
500
836
|
}
|
|
@@ -515,7 +851,19 @@ declare module 'upload-post' {
|
|
|
515
851
|
ThreadsOptions,
|
|
516
852
|
RedditOptions,
|
|
517
853
|
LinkPreviewOptions,
|
|
518
|
-
GoogleBusinessOptions
|
|
854
|
+
GoogleBusinessOptions,
|
|
855
|
+
BlueskyOptions,
|
|
856
|
+
DiscordOptions,
|
|
857
|
+
TelegramOptions,
|
|
858
|
+
SlackOptions,
|
|
859
|
+
MastodonOptions,
|
|
860
|
+
NostrOptions,
|
|
861
|
+
LemmyOptions,
|
|
862
|
+
DevtoOptions,
|
|
863
|
+
HashnodeOptions,
|
|
864
|
+
WordpressOptions,
|
|
865
|
+
WhopOptions,
|
|
866
|
+
ListmonkOptions {
|
|
519
867
|
/** Target platforms */
|
|
520
868
|
platforms: TextPlatform[];
|
|
521
869
|
}
|
|
@@ -531,6 +879,9 @@ declare module 'upload-post' {
|
|
|
531
879
|
linkedinVisibility?: LinkedInVisibility;
|
|
532
880
|
/** Page ID for organization posts */
|
|
533
881
|
targetLinkedinPageId?: string;
|
|
882
|
+
linkedinAltText?: string | string[];
|
|
883
|
+
linkedinDisableReshare?: boolean;
|
|
884
|
+
linkedinTargetCheckAudience?: boolean;
|
|
534
885
|
/** ISO date for scheduling */
|
|
535
886
|
scheduledDate?: string;
|
|
536
887
|
/** Timezone for scheduled date */
|